Ako zostavíte robota ROS?
Aby systém fungoval dobre a aby ste mohli sledovať, čo zariadenie urobí v určitých situáciách, potrebujete pre každú časť štandardné definície. V systéme ROS sú to komponenty uzly, služby a témy. Stručne povedané, vytvoríte jeden uzol pre každú hlavnú potrebu. Napríklad pohyb je jeden uzol, vízia ďalší uzol a plánovanie tretí uzol. Uzly obsahujú služby, ktoré môžu posielať informácie do ďalších uzlov, a služby tiež môžu spracovávať požiadavky a odpovede. Téma môže vysielať hodnoty do mnohých ďalších uzlov. Osvojenie si týchto pojmov a spôsobu, akým by ste ich mali používať, je prvým kľúčom k zvládnutiu vývoja systému ROS2.
Napodobnite navigáciu pomocou korytnačky
Ak začínate v ROS, pravdepodobne si kúpite robota, ktorý chodí alebo sa váľa po vašom dome. Aby to bolo možné, musí mať robot výhľad na oblasť, v ktorej sa pohybuje. Ak to chcete urobiť, môžete pomocou aplikácie podobnej mape otestovať správanie vášho robota. Dizajnéri stojaci za Turtlebotom prišli s aplikáciou zvanou turtlesim, ktorá to dokáže za vás. Rovnako ako vo všetkých ostatných častiach systému ROS2, aj tieto nástroje môžete spustiť pomocným príkazom z príkazového riadku. Potom máte aktivity pre rôzne funkcie. Prvá časť je spustenie okna, kde môžete vidieť simuláciu, ktorá sa nazýva uzol.
$ ros2 spustiť turtlesim turtlesimnodeZobrazí sa okno s korytnačkou v strede. Ak chcete korytnačku ovládať pomocou klávesnice, musíte spustiť druhý príkaz, ktorý zostane otvorený a stále stláčať určité klávesy. Toto je druhý uzol, ktorý komunikuje s prvým.
$ ros2 spustiť turtlesim turtleteleopkeyTeraz môžete korytnačku pohybovať a vidieť, ako sa pohybuje. Môžete tiež dostať chyby, napríklad naraziť do steny. Tieto chyby sa objavujú v termináli, kde beží turtlesimnode. Toto je najjednoduchšie použitie simulačného modulu. Môžete tiež spustiť dané tvary, je k dispozícii štvorec a môžete pridať ďalšie korytnačky. Ak chcete pridať ďalšie korytnačky, môžete použiť príkaz rqt.
Definujte služby pomocou aplikácie rqt
Program rqt poskytuje služby pre simuláciu. Q je skratka pre Qt, ktorá slúži na prácu s rozhraním. V tomto príklade ste vytvorili novú korytnačku.
$ rqtRozhranie rqt je dlhý zoznam služieb pre spustenú simuláciu. Ak chcete vytvoriť novú korytnačku, vyberte rozbaľovaciu ponuku „spawn“, dajte korytnačke nový názov a kliknite na „volať“.„Hneď vedľa prvej uvidíš novú korytnačku. Ak kliknete na rozbaľovaciu ponuku „umiestniť“, zobrazí sa vám tiež nový zväzok položiek týkajúcich sa novootvorenej korytnačky.
Môžete tiež premapovať príkazy na spustenie novej korytnačky. Príkaz je nasledovný:
$ ros2 run turtlesim turtleteleopkey -ros-args -remap turtle1 / cmdvel: = korytnačka2 / cmdvelNastavte názov „korytnačka2“ podľa vášho skoršieho výberu.
Pokročilé sledovanie pomocou Rviz
Pre pokročilejšie a 3D prezeranie použite rviz. Tento balík simuluje všetky uzly vo vašom dizajne.
$ ros2 spustiť rviz2 rviz2V grafickom rozhraní máte tri panely s výhľadom v strede. Prostredie môžete vytvárať pomocou panela „Displeje“. Môžete pridať steny, sily vetra a ďalšie fyzikálne vlastnosti. Tu tiež pridávate svojich robotov.
Uvedomte si, že skôr ako sa dostanete k tomuto bodu, budete musieť pochopiť, ako používať formát URDF. Formát URDF definuje robota, ktorý vám umožňuje nastaviť telo, ruky, nohy a predovšetkým kolízne zóny. Kolízne zóny sú tu, takže simulácia môže rozhodnúť, či došlo ku kolízii robota.
Učenie sa o vytváraní robota vo formáte URDF je veľký projekt, takže na experimentovanie s emulátormi použite existujúci otvorený zdrojový kód.
Simulujte fyziku pomocou altánu
V altánku môžete simulovať fyziku prostredia obklopujúceho vášho robota. Altánok je doplnkový program, ktorý dobre spolupracuje s rviz. Pomocou altánu môžete vidieť, čo sa vlastne deje; s rviz sledujete, čo robot detekuje. Keď váš softvér zistí stenu, ktorá tam nie je, altánok sa zobrazí prázdny a rviz zobrazí, kde v kóde bola stena vytvorená.
Záver
Simulácia vášho robota a jeho prostredí je nevyhnutná na nájdenie chýb a poskytnutie potrebných zlepšení v prevádzke vášho robota skôr, ako ho vydáte do divočiny. Toto je zdĺhavý proces, ktorý pokračuje dlho potom, ako začnete testovať robota, a to v kontrolovanom prostredí aj v skutočnom živote. Vďaka primeraným znalostiam o infraštruktúre vnútorných systémov vášho robota môžete pochopiť, čo ste urobili dobre a čo zle. Naučte sa rýchlo oceniť všetky chyby, ktoré nájdete, pretože z dlhodobého hľadiska môžu spôsobiť, že bude váš systém robustnejší.