Jak zaplanować prostego robota za pomocą Linuksa

Jak zaplanować prostego robota za pomocą Linuksa
Po zainstalowaniu ROS możesz zbudować robota. Dobrym sposobem na odniesienie sukcesu w tym projekcie jest zaplanowanie tego, co chcesz zrobić. W tym przypadku ROS przychodzi na ratunek. Dzięki ROS możesz skonfigurować to, co zbudowałeś i wizualizować wszystko. Podczas pracy z robotami będzie wiele scenariuszy, które może być konieczne rozważenie. Robot musi wchodzić w interakcje ze środowiskiem, takim jak unikanie kanapy i wyszukiwanie drogi z kuchni. Robot powinien również mieć ręce i nogi, jeśli Twoje potrzeby tego wymagają. Możesz symulować to wszystko za pomocą ROS, a dla części kodowania możesz również symulować wewnętrzne elementy systemu.

Jak budować robot ROS?

Aby system działał dobrze i aby móc postępować zgodnie z tym, co urządzenie zrobi w niektórych sytuacjach, potrzebujesz standardowych definicji dla każdej części. W ROS te elementy to węzły, usługi i tematy. Krótko mówiąc, tworzysz jeden węzeł dla każdej głównej potrzeby. Na przykład ruch jest jednym węzłem, widzenie to inny węzeł, a planowanie to trzeci węzeł. Węzły zawierają usługi, które mogą wysyłać informacje do innych węzłów, a usługi mogą również obsługiwać żądania i odpowiedzi. Temat może nadawać wartości do wielu innych węzłów. Poradzenie sobie z tymi terminami i sposobem ich użycia jest pierwszym kluczem do opanowania rozwoju ROS2.

Naśladuj nawigację z Turtlesim

Zaczynając w ROS, prawdopodobnie kupisz robota, który spaceruje lub toczy się w domu. Aby to zrobić, robot musi mieć widok obszaru, w którym się porusza. Aby to zrobić, możesz użyć aplikacji podobnej do mapy, aby przetestować zachowanie robota. Projektanci Turtlebot wymyślili aplikację o nazwie Turtlesim, która może to zrobić za Ciebie. Podobnie jak w przypadku wszystkich innych części ROS2, możesz uruchomić te narzędzia od podkomandu z wiersza poleceń. Następnie masz czynności dla różnych funkcji. Pierwszą częścią jest uruchomienie okna, w którym możesz zobaczyć symulację, a to nazywa się węzłem.

$ ROS2 RUN TURTLESIM TURTLESIMNODE

Pojawi się okno z żółwem pośrodku. Aby kontrolować żółw za pomocą klawiatury, musisz uruchomić drugie polecenie, które pozostaje otwarte i naciskać niektóre klawisze. To drugi węzeł, który komunikuje się z pierwszym.

$ ROS2 RUN TURTLESIM TURTLELELEOPKEY

Teraz możesz poruszać żółwia i zobaczyć, jak się porusza. Możesz także uzyskać błędy, takie jak uderzenie w ścianę. Błędy te pojawiają się w terminalu, w którym działa TurtleSimnode. To najprostsze zastosowanie modułu symulacyjnego. Możesz także uruchomić podane kształty, dostarczany jest kwadrat i dodać więcej żółwi. Aby dodać więcej żółwi, możesz użyć polecenia RQT.

Zdefiniuj usługi z RQT

Program RQT świadczy usługi dla symulacji. Q oznacza QT, która służy do obsługi interfejsu. W tym przykładzie spawnujesz nowego żółwia.

$ rqt

Interfejs RQT to długa lista usług uruchomionej symulacji. Aby utworzyć nowego żółwia, wybierz menu rozwijane „Spawn”, nadaj żółwiowi nową nazwę i kliknij „Zadzwoń.„Natychmiast zobaczysz nowego żółwia obok pierwszego. Jeśli klikniesz menu rozwijane „Spawn”, zobaczysz także nową grupę wpisów związanych z nowo spawanym żółwia.

Możesz także remapować polecenia, aby uruchomić nowy żółw. Poleceniem jest to, że następuje:

$ ROS2 RUN TURTLESIM TURTLELELEPKEY -ROS -Args -ReMap Turtle1/cmdvel: = Turtle2/cmdvel

Ustaw nazwę „Turtle2”, zgodnie z wcześniejszym wyborem.

Zaawansowane oglądanie z RVIZ

Aby uzyskać bardziej zaawansowane i 3D, użyj RVIZ. Ten pakiet symuluje wszystkie węzły w Twoim projekcie.

$ ROS2 RUN RVIZ2 RVIZ2

W interfejsie graficznym masz trzy panele, z widokiem w środku. Możesz budować środowiska za pomocą panelu „Wyświetlacze”. Możesz dodawać ściany, siły wiatrowe i inne właściwości fizyczne. Tutaj dodajesz swoje roboty.

Pamiętaj, że zanim dojdziesz do tego punktu, musisz zrozumieć, jak użyć formatu URDF. Format URDF definiuje robota, umożliwiając ustawienie ciała, ramion, nóg, a przede wszystkim strefę kolizji. Strefy kolizji są tam, aby symulacja mogła zdecydować, czy robot zderzył się.

Uczenie się o tworzeniu robota w formacie URDF to duży projekt, więc użyj istniejącego kodu open source, aby eksperymentować z emulatorami.

Symuluj fizykę za pomocą altany

W altwie możesz symulować fizykę środowiska otaczającego robota. Gaza to program uzupełniający, który działa dobrze z RVIZ. Dzięki altwie możesz zobaczyć, co się naprawdę dzieje; Z RVIZ śledzisz, co wykrywa robot. Kiedy oprogramowanie wykryje ścianę, której nie ma, altana pokaże puste, a RVIZ pokaże, gdzie w kodzie utworzono ścianę.

Wniosek

Symulowanie robota i jego środowiska jest niezbędne do znalezienia błędów i zapewnienia potrzebnych ulepszeń działania robota, zanim go wydasz na wolność. Jest to żmudny proces, który trwa długo po rozpoczęciu testowania bota, zarówno w kontrolowanych środowiskach, jak i prawdziwym życiu. Dzięki odpowiedniej wiedzy na temat infrastruktury wewnętrznych systemów robota, możesz zrozumieć, co zrobiłeś dobrze i źle. Naucz się szybko, aby docenić wszystkie wady, które znajdziesz, ponieważ mogą uczynić Twój system bardziej solidny na dłuższą metę.