Kako zgraditi robot ROS?
Da bo sistem dobro deloval in da boste lahko spremljali, kaj bo naprava počela v določenih situacijah, potrebujete standardne definicije za vsak del. V ROS so te komponente vozlišča, storitve in teme. Skratka, ustvarite eno vozlišče za vsako večjo potrebo. Na primer, gibanje je eno vozlišče, vid je drugo vozlišče, načrtovanje pa tretje vozlišče. Vozlišča vsebujejo storitve, ki lahko pošiljajo informacije drugim vozliščem, storitve pa lahko obdelujejo tudi zahteve in odgovore. Tema lahko oddaja vrednosti številnim drugim vozliščem. Spoznavanje teh izrazov in način njihove uporabe je prvi ključ za obvladovanje razvoja ROS2.
Posnemajte navigacijo z želvami
Ko začnete v ROS, boste verjetno kupili robota, ki se sprehaja ali valja po vaši hiši. Če želite to narediti, mora imeti robot pogled na območje, kjer pluje. Če želite to narediti, lahko z aplikacijo, podobno zemljevidu, preizkusite vedenje svojega robota. Oblikovalci Turtlebota so pripravili aplikacijo, imenovano turtlesim, ki lahko to stori namesto vas. Kot pri vseh drugih delih ROS2 lahko tudi ta orodja zaženete s pod-ukazom iz ukazne vrstice. Nato imate dejavnosti za različne funkcije. Prvi del je, da zaženete okno, kjer lahko vidite simulacijo, in to se imenuje vozlišče.
$ ros2 teči želveim želveimnodePojavilo se bo okno z želvo v sredini. Če želite želvo nadzorovati s tipkovnico, morate zagnati drugi ukaz, ki ostane odprt, in še naprej pritiskati določene tipke. To je drugo vozlišče, ki komunicira s prvim.
$ ros2 vodijo želve, želveZdaj lahko želvo premikate in vidite, kako se premika. Lahko se pojavijo tudi napake, na primer trk v steno. Te napake se prikažejo v terminalu, kjer deluje želva. To je najpreprostejša uporaba simulacijskega modula. Lahko tudi zaženete dane oblike, na voljo je kvadrat in dodate več želv. Če želite dodati več želv, lahko uporabite ukaz rqt.
Določite storitve z rqt
Program rqt ponuja storitve simulacije. Q pomeni Qt, ki je namenjen upravljanju vmesnika. V tem primeru ustvarite novo želvo.
$ rqtVmesnik rqt je dolg seznam storitev za simulacijo, ki jo izvajate. Če želite ustvariti novo želvo, izberite spustni meni 'drstišče', dodajte želvi novo ime in kliknite 'klic.'Takoj boste ob prvi videli novo želvo. Če kliknete spustni meni 'drst', boste videli tudi nov kup vnosov, povezanih z novo drstitvijo želve.
Prav tako lahko preimenujete ukaze za zagon nove želve. Ukaz za to je naslednji:
$ ros2 zaženite želveim želvaoptič -ros-args -remap želva1 / cmdvel: = želva2 / cmdvelNastavite ime "želva2", glede na vašo prejšnjo izbiro.
Napredno gledanje z Rvizom
Za naprednejši in 3D ogled uporabite rviz. Ta paket simulira vsa vozlišča v vaši zasnovi.
$ ros2 zaženi rviz2 rviz2V grafičnem vmesniku imate tri plošče s pogledom v sredini. Okolja lahko gradite s pomočjo plošče »Zasloni«. Dodate lahko stene, silo vetra in druge fizikalne lastnosti. Tukaj dodate tudi svoje robote.
Zavedajte se, da boste morali, preden pridete do te točke, razumeti, kako uporabljati format URDF. Oblika URDF določa robota, ki vam omogoča, da nastavite telo, roke, noge in predvsem cone trkov. Območja trkov so tam, tako da lahko simulacija odloči, ali je robot trčil.
Spoznavanje ustvarjanja robota v formatu URDF je velik projekt, zato za eksperimentiranje z emulatorji uporabite obstoječo odprtokodno kodo.
Simulirajte fiziko z gazebo
V Gazebu lahko simulirate fiziko okolja, ki obkroža vašega robota. Gazebo je dopolnilni program, ki dobro deluje skupaj z rviz. Z Gazebo lahko vidite, kaj se dejansko dogaja; z rviz spremljate, kaj robot zazna. Ko vaša programska oprema zazna steno, ki je ni, bo Gazebo prikazal prazno in rviz bo pokazal, kje v vaši kodi je bil zid ustvarjen.
Zaključek
Simulacija vašega robota in njegovega okolja je potrebna za iskanje napak in zagotovitev potrebnih izboljšav v delovanju vašega robota, preden ga izpustite v naravo. To je dolgočasen postopek, ki se nadaljuje še dolgo po tem, ko začnete testirati bota, tako v nadzorovanih okoljih kot v resničnem življenju. Z ustreznim poznavanjem infrastrukture notranjih sistemov vašega robota lahko razumete, kaj ste storili prav in narobe. Hitro se naučite ceniti vse napake, ki jih najdete, saj lahko dolgoročno izboljšajo vaš sistem.