Robotyka

Jak zaplanować prostego robota przy użyciu Linuksa

Jak zaplanować prostego robota przy użyciu 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 z pomocą przychodzi ROS. Dzięki ROS możesz skonfigurować to, co zbudowałeś i zwizualizować całość. Podczas pracy z robotami będzie wiele scenariuszy, które warto rozważyć. Robot musi wchodzić w interakcję z otoczeniem, na przykład omijać sofę i znajdować drogę powrotną z kuchni. Robot powinien mieć również ręce i nogi, jeśli Twoje potrzeby tego wymagają. Możesz to wszystko zasymulować za pomocą ROS, a dla części kodującej możesz również symulować wnętrze swojego systemu.

Jak zbudować robota ROS??

Aby system działał dobrze i abyś mógł śledzić, co urządzenie zrobi w określonych sytuacjach, potrzebujesz standardowych definicji dla każdej części. W ROS te komponenty 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 to jeden węzeł, wzrok to kolejny 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 transmitować wartości do wielu innych węzłów. Zapoznanie się z tymi terminami i tym, jak ich używać, jest pierwszym kluczem do opanowania rozwoju ROS2.

Emuluj nawigację za pomocą turtlesim

Zaczynając w ROS, prawdopodobnie kupisz robota, który chodzi lub toczy się po twoim domu. Aby to zrobić, robot musi mieć widok na obszar, po którym nawiguje. Aby to zrobić, możesz użyć aplikacji przypominającej mapę, aby przetestować zachowanie swojego robota. Projektanci Turtlebota opracowali 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 za pomocą podkomendy z wiersza poleceń. Następnie masz zajęcia dla różnych funkcji. Pierwszą częścią jest uruchomienie okna, w którym można zobaczyć symulację, a nazywa się to węzłem.

$ ros2 run turtlesim turtlesimnode

Pojawi się okno z Żółwiem pośrodku. Aby sterować żółwiem za pomocą klawiatury, musisz uruchomić drugie polecenie, które pozostaje otwarte i ciągle naciska określone klawisze. To jest drugi węzeł, który komunikuje się z pierwszym.

$ ros2 run turtlesim turtleteleopkey

Teraz możesz poruszać żółwiem i zobaczyć, jak się porusza. Możesz również otrzymać błędy, takie jak uderzenie w ścianę. Te błędy pojawiają się w terminalu, w którym działa turtlesimnode. To najprostsze użycie modułu symulacji. Możesz także uruchomić podane kształty, zapewniony jest kwadrat i dodać więcej żółwi. Aby dodać więcej żółwi, możesz użyć polecenia rqt.

Zdefiniuj usługi za pomocą rqt

Program rqt świadczy usługi w zakresie symulacji. q oznacza Qt, co oznacza obsługę interfejsu. W tym przykładzie odradzasz nowego żółwia.

$ rqt

Interfejs rqt to długa lista usług dla uruchomionej symulacji. Aby utworzyć nowego żółwia, wybierz menu rozwijane „odradzanie”, nadaj żółwiowi nową nazwę i kliknij „zadzwoń.' Od razu zobaczysz nowego żółwia obok pierwszego. Jeśli klikniesz menu rozwijane „odradzanie”, zobaczysz także nowe wpisy dotyczące nowo odrodzonego żółwia.

Możesz także zmienić mapowanie poleceń, aby uruchomić nowego żółwia. Polecenie to jest następujące:

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

Ustaw nazwę „żółw2” zgodnie z wcześniejszym wyborem.

Zaawansowane przeglądanie z Rviz

Aby uzyskać bardziej zaawansowane i trójwymiarowe oglądanie, 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 na środku. Możesz tworzyć środowiska za pomocą panelu „Wyświetlacze”. Możesz dodać ściany, siły wiatru i inne właściwości fizyczne. Tutaj też dodajesz swoje roboty.

Pamiętaj, że zanim dojdziesz do tego punktu, musisz zrozumieć, jak korzystać z formatu URDF. Format URDF definiuje robota, pozwalając na ustawienie ciała, ramion, nóg, a przede wszystkim stref kolizji. Strefy kolizji są tam, więc symulacja może zdecydować, czy robot się zderzył.

Nauka tworzenia robota w formacie URDF to duży projekt, więc użyj istniejącego kodu open-source do eksperymentowania z emulatorami.

Symuluj fizykę za pomocą altanki

W Gazebo możesz symulować fizykę środowiska otaczającego Twojego robota. Gazebo to program uzupełniający, który dobrze współpracuje z rviz. Dzięki Gazebo możesz zobaczyć, co się naprawdę dzieje; dzięki rviz śledzisz, co wykrywa robot. Kiedy twoje oprogramowanie wykryje ścianę, której tam nie ma, Gazebo pokaże pusty, a rviz pokaże, gdzie w twoim kodzie ściana została utworzona.

Wniosek

Symulowanie robota i jego otoczenia jest konieczne, aby znaleźć błędy i zapewnić potrzebne ulepszenia w działaniu robota, zanim wyrzucisz go na wolność. Jest to żmudny proces, który trwa długo po rozpoczęciu testowania bota, zarówno w kontrolowanych środowiskach, jak i w prawdziwym życiu. Mając odpowiednią wiedzę o infrastrukturze systemów wewnętrznych Twojego robota, możesz zrozumieć, co zrobiłeś dobrze, a co źle. Szybko naucz się doceniać wszystkie znalezione usterki, ponieważ mogą one na dłuższą metę zwiększyć niezawodność Twojego systemu.

How to reverse Mouse and Touchpads scrolling direction in Windows 10
Mouse and Touchpads not only make computing easy but more efficient and less time-consuming. We cannot imagine a life without these devices, but still...
How to change Mouse pointer and cursor size, color & scheme on Windows 10
The mouse pointer and cursor in Windows 10 are very important aspects of the operating system. This can be said for other operating systems as well, s...
Gry Darmowe i otwarte silniki gier do tworzenia gier na Linuksa
Darmowe i otwarte silniki gier do tworzenia gier na Linuksa
Ten artykuł zawiera listę darmowych i otwartych silników gier, których można używać do tworzenia gier 2D i 3D w systemie Linux. Istnieje wiele takich ...