Projekt Webots

Ta strona zawiera szczegółowe informacje na temat projektu technicznego przyjęta do programu Sezon Dokumentów Google.

Podsumowanie projektu

Organizacja open source:
Webot
Pisarz techniczny:
Kanał miękkiej iluzji
Nazwa projektu:
Seria samouczków wideo dla Webots (integracja z ROS2)
Długość projektu:
Standardowa długość (3 miesiące)

Opis projektu

Wnioski:

Ta seria samouczków wideo pozwoli nowym użytkownikom jak najlepiej zacząć korzystać z Webots i przedstawi im jasne, krok po kroku rozwiązania umożliwiające wykonanie określonych symulacji.

Cel:

Pod koniec tej serii widzowie będą mogli tworzyć podstawowe węzły ROS2 i wchodzić w interakcje z Webots, a także nabrać pewności w pracy nad zaawansowanymi projektami z wykorzystaniem robotów mobilnych. Ta seria filmów zawiera również teoretyczne wyjaśnienia kilku ważnych pojęć z dziedziny robotyki.

Szczegóły serii filmów:

  1. Instalacja ROS 2 i konfiguracja repozytorium w Visual Studio Code. Dotyczy to m.in. instalacji ROS2 przy użyciu poleceń oraz podstawowych informacji o jego działaniu. Po drugie: konfiguracja obszaru roboczego ROS w kodzie VS oraz funkcje podstawowych kart w kodzie VS.

  2. Przykład podstawowego ROS2 i Webots. Niektóre przykłady Webots ROS2 zostaną wykorzystane, aby zaangażować widzów i dowiedzieć się, jakie cuda można osiągnąć, używając do symulacji ROS2 z Webots. Obejmuje to również podstawowe teorie komunikacji między ROS2 a Webots.

  3. Używanie usług ROS2 do interakcji z Webots. Podstawowe informacje o usłudze ROS – omówienie różnic między usługami w ROS i w ROS2. Po drugie, pokazujemy samouczki krokowe dotyczące dzwonienia do usług i włączania tematów z czujników w odczytywanych danych i ruchu.

  4. Sterowanie niestandardowym robotem za pomocą wydawcy ROS2. Nauka publikowania w Webots wiadomości za pomocą wydawców korzystających z ROS2 Możemy zastosować przykład sterowania ruchem robota, publikując w temacie dane wyjściowe z klawiatury, które mogą być następnie wykorzystywane przez usługi ROS do ruchu w Webots.

  5. Zbieraj opinie od robota dzięki subskrybentom ROS2. W tym filmie zasubskrybujemy odczyty z czujników odległości i zatrzymamy robota, jeśli dojdzie do zderzenia. Ogólnie rzecz biorąc, będzie to węzeł unikania przeszkód z opublikowanymi interaktywnymi wiadomościami.

  6. Roboty nadrzędne(wydawcy) podrzędne(subskrybent) z ROS2. W tym filmie będziemy sterować jednym robotem za pomocą klawiatury i uciekać drugiego robota. Podobnie jak w przypadku złodzieja i policji :) [To będzie kontynuacja 3,4,5 filmów]. Dzięki temu widzowie będą mogli testować komunikację, a jeśli wystąpi problem w ROS, symulacja będzie zawierać błędy.

  7. Konfiguruję Rviz (wyświetlam inne dane wyjściowe z czujnika). W tym filmie dodamy kilka innych czujników i opublikujemy ich dane w Rviz. Na końcu tego filmu widz będzie mógł skonfigurować Rviz (czyli dodać do wizualizacji czujniki takie jak Lidar, Aparat itp.), zapisać konfigurację i wyświetlić zapisaną konfigurację.

  8. Debugowanie filmu wideo (Rostopic Echo, informacje Rostopic, RQT_graph). Ten film będzie zawierać celowe nieprawidłowe działanie kilku tematów, aby pomóc w zrozumieniu techniki debugowania. Przeanalizujemy wykres RQT i sprawdzimy, które tematy powodują problem. Użycie echa rostopic do sprawdzenia, czy temat jest publikowany, a na koniec sprawdzenie informacji rostopic w celu rozwiązania problemu. Rozwiąż problem i zapewnij normalne działanie.

  9. Debugowanie video(rqt_console, rqt_gui) W tym filmie w węźle będą używane komunikaty Ros(informacje, debugowanie, błąd itp.) oraz omówimy użycie rqt_console. Ten film zostanie też rozszerzony do używania rqt_gui do publikowania przykładowych wiadomości, które zapewniają wymagane funkcje. Może to być alternatywne podejście do naprawiania niektórych błędów.

  10. Zaawansowane filmy poświęcone integracji biblioteki SLAM w nieznanym środowisku (zestaw narzędzi SLAM lub LaMa) [część 1] Ten film rozpoczyna się od podstawowej teorii problemów związanych z gwarancją jakości usług. Następnie wykorzystamy omówioną powyżej infrastrukturę, aby zrozumieć sedno projektu. Na koniec utworzymy w terminalu niezbędne węzły i zobaczymy dane wyjściowe mapowania w Rviz.

  11. Zaawansowane filmy tematyczne: o integrowaniu biblioteki SLAM w nieznanym środowisku (zestaw narzędzi SLAM lub LaMa) [część 2] W ramach kontynuacji dziesiątego filmu pokażę, jak utworzyć plik startowy, aby uruchomić wszystkie węzły, i zbadać rqt_graph w celu lepszego zrozumienia pojęć związanych z strukturą ROS. Zapiszemy mapę wygenerowaną przez pakiet na serwerze map.

  12. Zaawansowane filmy na inne tematy: o integracji OpenCV (wykrywania tagów AR, pakietu Ar_track_alvar) [część 1] Film rozpocznie się od informacji, czym są tagi AR i jaka jest ich rola w lokalizacji z wykorzystaniem rozpoznawania obrazów. Następnie dowiemy się, jak działa pakiet ścieżek AR firmy Alvar. Pozwoli to uzyskać ogólny obraz projektu. Na koniec usługa umożliwi przesyłanie strumienia klatek wideo z aplikacji Webot do tematu w ROS.

  13. Wcześniejsze filmy: o integracji OpenCV (wykrywania tagów AR, pakiet Ar_track_alvar) [część 2] Ten film będzie kontynuacją 12. filmu, w którym powyższy strumień obrazu zostanie użyty w pakiecie, a temat przekształcenia między robotem a tagiem AR zostanie opublikowany w Rviz. Gdy ruszamy robotem, widzimy rozmieszczone różne tagi oraz zmiany ich pozycji w wiadomościach w Rviz i rostopic.

Wniosek:

Ten projekt GSOD jest niezależnym pakietem umożliwiającym podstawowe zrozumienie integracji ROS2 z Webots. Ten pakiet obejmuje również praktyczne wdrożenie zagadnień w ROS2, takich jak tematy, usługi, węzły, pliki uruchamiania, wydawca, subskrybent, różne narzędzia do debugowania i użycie kodu VS. Obejmuje to również zaawansowane projekty tematyczne, takie jak SLAM i OpenCV. Dzięki temu widzowie będą mogli uzyskać model kompleksowej pracy przy użyciu ROS2 i Webots.