Viimase asjana on meil vaja midagi, mis paneks roboti liikuma tuvastatud porgandite juurde.
Selleks kasutame väga väikest ROSi kimpu, mis sisaldab sisuliselt vaid üht Pythoni faili. Selle käivitamisel tellib sõlm üht rubriiki, võtab sealt oranži laigu asukoha ja liigub selle juurde. Siis keerab robot end vastupäeva, leiab järgmise laigu ning sõidab selle juurde.
Navigeeri terminaliga jälle catkini tööruumis kausta src, kuhu paigutatakse ROSi kimpude lähtekood. Vajadusel kontrolli käsuga pwd, et oled õiges asukohas. Sisesta järgmine käsk kimbu lähtekoodi allalaadimiseks:
git clone https://github.com/unitartu-edu/carrot_follower.git
Kompileeri catkini tööruum ja laadi see.
Leia, mis on uues kimbus asuva käivitatava Pythoni-faili nimi (see lõppeb faililaiendiga .py). Käivita see sõlm õige ROSi käsuga (lisaks peab kusagil jooksma laigutuvastaja sõlm).
Kasuta ROSi vahendeid, et leida, mis rubriiki tellib äsja käivitatud sõlm. Näed, et see ei ole täpselt sama, mis rubriik, kuhu kuulutatakse tuvastatud laikude asukohti.
Peata sõlm ja käivita see uuesti, aga seekord nii, et sõlm telliks rubriiki, kus on päriselt oranžide laikude asukohad.
Kui kõik läks õigesti, siis sõidab robot nüüd porgandite vahet.
Midagi on valesti! Mis teha?
Kui midagi on valesti, siis võid kasutada ROSi käsureatööriistu, et leida:
-
Kas kõik vajalikud sõlmed on käivitatud?
-
Kas iga sõlm kuulutab sellesse rubriiki, kuhu peaks, ja tellib seda rubriiki, mida peaks?
-
Kas olulistesse rubriikidesse jõuavad sõnumid?
-
Kas nendes sõnumites sisaldub soovitud info?
Kui soovid näha, mida robotont näeb, siis käivita järgmine käsk:
rviz -d ~/catkin_ws/src/carrot_follower/config/watch_carrots.rviz