Robotika

Jak naplánovat jednoduchého robota pomocí Linuxu

Jak naplánovat jednoduchého robota pomocí Linuxu
Jakmile máte nainstalovaný ROS, možná budete chtít postavit robota. Dobrým způsobem, jak uspět v tomto projektu, je naplánovat si, co chcete dělat. V tomto případě přijde na pomoc ROS. S ROS můžete nastavit, co jste vytvořili, a vizualizovat celou věc. Při práci s roboty budete muset zvážit mnoho scénářů. Robot musí interagovat s prostředím, například vyhnout se pohovce a najít cestu zpět z kuchyně. Robot by měl mít také ruce a nohy, pokud to vaše potřeby vyžadují. To vše můžete simulovat pomocí ROS a pro kódovací část můžete také simulovat vnitřní součásti vašeho systému.

Jak stavíte robota ROS?

Aby systém fungoval dobře a abyste mohli sledovat, co zařízení v určitých situacích udělá, potřebujete standardní definice pro každou část. V systému ROS jsou tyto komponenty uzly, služby a témata. Stručně řečeno, vytvoříte jeden uzel pro každou hlavní potřebu. Například pohyb je jeden uzel, vidění je jiný uzel a plánování je třetí uzel. Uzly obsahují služby, které mohou odesílat informace do dalších uzlů, a služby mohou také zpracovávat požadavky a odpovědi. Téma může vysílat hodnoty do mnoha dalších uzlů. Zvládnutí těchto pojmů a toho, jak byste je měli používat, je prvním klíčem k zvládnutí vývoje systému ROS2.

Napodobujte navigaci pomocí želvy

Když začínáte v ROS, pravděpodobně si koupíte robota, který chodí nebo se váhá po vašem domě. Aby to bylo možné, musí mít robot výhled na oblast, kde se pohybuje. K tomu můžete použít mapovou aplikaci k otestování chování vašeho robota. Návrháři za Turtlebotem přišli s aplikací zvanou turtlesim, která to může udělat za vás. Stejně jako u všech ostatních částí systému ROS2 můžete tyto nástroje spustit pomocí dílčího příkazu z příkazového řádku. Pak máte aktivity pro různé funkce. První částí je spuštění okna, kde můžete vidět simulaci, a to se nazývá uzel.

$ ros2 spustit turtlesim turtlesimnode

Objeví se okno s želvou uprostřed. Chcete-li ovládat želvu pomocí klávesnice, musíte spustit druhý příkaz, který zůstane otevřený a stále stisknete určité klávesy. Toto je druhý uzel, který komunikuje s prvním.

$ ros2 spustit turtlesim turtleteleopkey

Nyní můžete želvou pohybovat a sledovat, jak se pohybuje. Mohou také nastat chyby, například náraz do zdi. Tyto chyby se objevují v terminálu, kde běží turtlesimnode. Toto je nejjednodušší použití simulačního modulu. Můžete také spustit dané tvary, je k dispozici čtverec a přidat další želvy. Chcete-li přidat další želvy, můžete použít příkaz rqt.

Definujte služby pomocí rqt

Program rqt poskytuje služby pro simulaci. Q znamená Qt, což je pro manipulaci s rozhraním. V tomto příkladu vytvoříte novou želvu.

$ rqt

Rozhraní rqt je dlouhý seznam služeb pro simulaci, kterou používáte. Chcete-li vytvořit novou želvu, vyberte rozevírací nabídku „spawn“, dejte želvě nové jméno a klikněte na „zavolat“."Okamžitě uvidíte novou želvu vedle první.". Pokud kliknete na rozevírací nabídku „založit“, zobrazí se také nová skupina položek souvisejících s nově vytvořenou želvou.

Můžete také přemapovat příkazy pro spuštění nové želvy. Příkaz je následující:

$ ros2 run turtlesim turtleteleopkey -ros-args -remap turtle1 / cmdvel: = turtle2 / cmdvel

Nastavte název „želva2“ podle svého dřívějšího výběru.

Pokročilé prohlížení pomocí Rviz

Pro pokročilejší a 3D prohlížení použijte rviz. Tento balíček simuluje všechny uzly ve vašem návrhu.

$ ros2 spustit rviz2 rviz2

V grafickém rozhraní máte tři panely s výhledem uprostřed. Prostřednictvím panelu „Displeje“ můžete vytvářet prostředí. Můžete přidat stěny, síly větru a další fyzikální vlastnosti. Zde také přidáváte své roboty.

Uvědomte si, že než se dostanete do tohoto bodu, budete muset pochopit, jak používat formát URDF. Formát URDF definuje robota, který umožňuje nastavit tělo, paže, nohy a především kolizní zóny. Kolizní zóny jsou zde, takže simulace může rozhodnout, zda došlo ke kolizi robota.

Učení o vytváření robota ve formátu URDF je velký projekt, takže k experimentování s emulátory použijte existující otevřený zdrojový kód.

Simulujte fyziku pomocí altánu

V altánu můžete simulovat fyziku prostředí obklopujícího vašeho robota. Altán je doplňkový program, který dobře funguje společně s rviz. S altánem můžete vidět, co se ve skutečnosti děje; s rviz sledujete, co robot detekuje. Když váš software detekuje zeď, která tam není, altán se zobrazí prázdný a rviz ukáže, kde ve vašem kódu byla zeď vytvořena.

Závěr

Simulace robota a jeho prostředí je nezbytná k nalezení chyb a poskytnutí potřebných vylepšení v provozu robota, než ho vydáte do divočiny. Jedná se o zdlouhavý proces, který pokračuje dlouho poté, co začnete testovat robota, a to jak v kontrolovaných prostředích, tak v reálném životě. S odpovídající znalostí infrastruktury vnitřních systémů vašeho robota můžete pochopit, co jste udělali správně a co špatně. Naučte se rychle ocenit všechny nalezené chyby, protože mohou z dlouhodobého hlediska posílit váš systém.

Hry Výukový program OpenTTD
Výukový program OpenTTD
OpenTTD je jednou z nejpopulárnějších her pro obchodní simulaci. V této hře musíte vytvořit skvělé dopravní podnikání. Začnete však na začátku kolem r...
Hry SuperTuxKart pro Linux
SuperTuxKart pro Linux
SuperTuxKart je skvělý titul navržený tak, aby vám ve vašem systému Linux přinesl zážitek Mario Kart zdarma. Je to docela náročné a zábavné hrát, je n...
Hry Výukový program Battle for Wesnoth
Výukový program Battle for Wesnoth
The Battle for Wesnoth je jednou z nejpopulárnějších strategických her s otevřeným zdrojovým kódem, které si v tuto chvíli můžete zahrát. Tato hra se ...