Programiranje z inteligentnimi motorji VEX IQ
Inteligentni motor VEX IQ ponuja številne funkcije, ki jih lahko uporabite pri programiranju v VEXcode IQ. To je zelo koristno pri programiranju rok, klešč in podajalnikov ter pogonskih sistemov in drugih mehanizmov, izdelanih z VEX IQ. Razumevanje načina programiranja motorjev bo pomagalo odpraviti težave, kot so zastajanje projektov ali motorji, ki ne delujejo kot je bilo predvideno.
Dajalnik položaja motorja
Inteligentni motor VEX IQ ne pretvarja samo električne energije v mehansko, kot večina motorjev, temveč ima tudi funkcije, ki jih večina motorjev nima in zaradi katerih je »inteligentn«. Ena od njegovih glavnih funkcij je kvadraturni dajalnik položaja (enkoder). Ta je nameščen v notranjosti motorja in beleži hitrost in/ali položaj osi motorja.
Podatki dajalnika položaja inteligentnega motorja VEX IQ omogočajo, da veste:
Smer vrtenja motorja (naprej/nazaj ali odprto/zaprto)
Položaj motorja ter količino in položaj zasuka motorja (v obratih ali stopinjah)
Hitrost vrtenja motorja (na podlagi položaja dajalnika skozi čas)
Ker dajalnik položaja poroča o stanjih motorja, se ti podatki lahko uporabijo v ozadju za izračune, ki omogočajo delovanje številnih ukazov gibanja in zaznavanja v VEXcode IQ.
Programiranje posameznih motorjev
Preden začnete programirati posamezne inteligentne motorje v VEXcode IQ, morate motor konfigurirati. Posamezni motorji se pogosto uporabljajo za dodatne mehanizme, kot so podajalniki, roke in klešče. Vse navedene informacije pa se vseeno nanašajo tudi na druge mehanizme, ki uporabljajo posamezne motorje.
Sledite korakom v tem članku, da konfigurirate posamezni motor v VEXcode IQ.
Ko je posamezni motor konfiguriran, se v orodjarni prikažejo ukazi za upravljanje tega motorja. Opazili boste, da obstajajo različne vrste ukazov: ukazi s čakanjem in ukazi brez čakanja.
Ukazi s čakanjem in ukazi brez čakanja
Upoštevajte, da vse slike prikazujejo bloke. Vse te projekte je mogoče ustvariti tudi v Python ali C++ in vsebujejo enako funkcionalnost kot bloki.
Ukazi s čakanjem preprečijo nadaljevanje projekta, dokler se izvajanje ukaza ne zaključi. Med te sodijo ukazi, kot sta [Spin for] in [Spin to position].
Prikazani projekt uporablja predlogo Clawbot (2-motorni) in vsi ukazi so ukazi s čakanjem. Motorji se zato izvajajo zaporedno: motor klešč se zapre za 90 stopinj, robot se premakne v vzvratno smer, nato pa se roka zasuka do položaja 180 stopinj.
Nasprotje tega so ukazi brez čakanja. Ukaz brez čakanja izvaja določeno dejanje neskončno dolgo oziroma dokler mu ne ukažemo, naj preide na drugo dejanje. Med te sodijo ukazi, kot je [Spin].
Prikazani projekt uporablja BaseBot z dodanim podajalnikom. Motor podajalnika začne vrtenje. Ukaz [Wait] je ukaz s čakanjem, zato se podajalnik vrti, dokler ne poteče 2 sekundi — nato se projekt premakne na naslednji ukaz [Stop] in motor preneha vrtenje.
Časovne omejitve motorja
Pri programiranju motorja kot dela roke ali klešč je pomembno upoštevati razliko med bloki s čakanjem in bloki brez čakanja ter njihov vpliv na gibanje robota. Časovne omejitve motorja vam omogočajo, da nastavite časovno mejo, v kateri mora motor doseči predvideni ciljni položaj. Če motor tega položaja ne doseže ob izteku časa, motor preneha z vrtenjem in projekt se premakne na naslednji ukaz.
V tem primeru je časovna omejitev motorja nastavljena na 2 sekundi. Če se klešče ne zaprejo do 90 stopinj v 2 sekundah, motor ob izteku 2 sekund preneha vrtenje in projekt se premakne na naslednji ukaz ter robot vozi naprej.
Če niste prepričani, za koliko je treba premakniti motor, uporabite nadzorno ploščo senzorjev. Nadzorna plošča poroča o položaju motorja v stopinjah in obratih, tako da se ob premikanju motorja (na primer odpiranju in zapiranju klešč) vrednosti spremenijo. S to preizkusno metodo ugotovite, koliko stopinj ali obratov je potrebnih za zapiranje klešč, dviganje roke, vrtenje podajalnika ipd.
Za več informacij o uporabi nadzorne plošče senzorjev si oglejte te članke.
Ogled informacij o napravah — VEX IQ (1. generacija)
Programiranje inteligentnih motorjev kot dela pogonskega sistema
Preden začnete programirati pogonski sistem v VEXcode IQ, morate konfigurirati pogonski sistem, vključno z motorji, ki se pri tem uporabljajo. Motorji so konfigurirani znotraj pogonskega sistema, da se zagotovi njihovo upravljanje z enakimi ukazi, kot sta [Drive] in [Drive for].
Oglejte si te članke za več informacij o konfiguriranju pogonskega sistema v VEXcode IQ.
Ukazi s čakanjem in ukazi brez čakanja
Pri programiranju pogonskega sistema so za upravljanje gibanja robota na voljo ukazi s čakanjem in ukazi brez čakanja.
Ukazi s čakanjem preprečijo nadaljevanje projekta, dokler se izvajanje ukaza ne zaključi. Med te sodijo ukazi, kot so [Drive for], [Turn for] in [Turn to heading].
Prikazani projekt uporablja predlogo Clawbot (2-motorni) in vsi ukazi so ukazi s čakanjem. Ukazi se zato izvajajo zaporedno: robot s pogonskim sistemom najprej vozi naprej 200 milimetrov, nato pa zavije desno.
Nasprotje tega so ukazi brez čakanja. Ukaz brez čakanja izvaja določeno dejanje neskončno dolgo oziroma dokler mu ne ukažemo, naj preide na drugo dejanje. Med te sodijo ukazi, kot je [Drive].
Prikazani projekt uporablja BaseBot. Robot vozi naprej neskončno dolgo, dokler se ne pritisne stikalo odbijača. Nato se projekt premakne na naslednji ukaz, robot preneha z vožnjo in zavije desno za 90 stopinj.
Potrebujete dodatne dele?
Originalni VEX deli, razširitveni seti in kompleti — vse za vaš naslednji robotski projekt na trgovina.robotech.si.