Projekt Webots

Ta strona zawiera szczegółowe informacje na temat projektu dotyczącego pisania technicznego zaakceptowanego do udziału w sezonie 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 rozpocząć korzystanie z Webots i przedstawi widzom przejrzyste rozwiązania, które krok po kroku pomogą wykonać określone symulacje.

Cel:

Po zakończeniu 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 zakresu robotów mobilnych. Ta seria filmów zawiera również teoretyczne wyjaśnienia kilku ważnych pojęć z zakresu robotyki.

Szczegóły serii filmów:

  1. Instalacja ROS 2 i konfiguracja repozytorium w Visual Studio Code. Obejmuje to instalację ROS2 zgodnie z poleceniami oraz podstawy jego działania. Po drugie: uwzględnimy też konfigurację obszaru roboczego ROS w kodzie VS oraz podstawowe karty w kodzie VS.

  2. Przykład podstawowego ROS2 i Webots. Kilka przykładów Webots ROS2 zostanie użytych, aby zaangażować widzów i zrozumieć, co można zrobić, jeśli do symulacji wykorzystamy ROS2 z Webots. Omówimy także podstawowe teorie komunikacji między ROS2 a Webots.

  3. Używanie usług ROS2 do interakcji z Webots. Podstawowe informacje na temat usługi ROS wyjaśniające różnice między usługami w ROS i ROS2. Po drugie, przedstawiam samouczki krokowe w zakresie dzwonienia do usług i udostępniamy temat czujnika dla odczytów i działań uruchamiających ruch.

  4. Kontroluj niestandardowego robota za pomocą wydawcy ROS2. Dowiedz się, jak publikować w Webots wiadomości za pomocą wydawców korzystających z ROS2. Możemy zastosować przykład sterowania ruchem robota, publikując dane wyjściowe klawiatury w temacie, co może być wykorzystywane przez usługi ROS do wykrywania ruchu w Webots.

  5. Poproś o opinię robota od subskrybentów ROS2. W tym filmie zapisujemy odczyty z czujników odległości i zatrzymujemy robota, jeśli dojdzie do zderzenia. Zasadniczo będzie to węzeł unikania przeszkód z opublikowanymi interaktywnymi komunikatami.

  6. Roboty nadrzędne(wydawca) podrzędne(subskrybent) z ROS2. W tym filmie poprowadzimy jednego robota za pomocą klawiatury, a drugiego będziemy uciekać przed ruszającym się ręcznie. Podobnie jak w scenariuszu ze złodziejem i gliną :) [To będzie kontynuacja 3,4,5 filmów]. Umożliwi to widzom testowanie komunikacji i poznanie błędów w symulacji, jeśli wystąpi problem z ROS.

  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. Pod koniec tego filmu widz będzie mógł skonfigurować Rviz (czyli dodać czujniki takie jak Lidar, Camera itp.do wizualizacji), aby zapisać konfigurację i następnie wyświetlić zapisaną konfigurację.

  8. Debugowanie filmu wideo (Rostopic Echo, informacje Rostopic, RQT_graph). W tym filmie pokażemy, jak działają nieprawidłowe funkcje w kilku tematach, aby pomóc Ci zrozumieć technikę debugowania. Przeanalizujemy wykres RQT i sprawdzimy, jakie tematy są przyczyną problemu. Użycie echa rostopic do sprawdzenia, czy temat jest publikowany, oraz sprawdzenie informacji rostopic w celu rozwiązania problemu. rozwiązać problem i przywrócić normalne działanie,

  9. Debugowanie video(rqt_console, rqt_gui) W tym filmie w węźle używane będą komunikaty Ros(informacje, debugowanie, błąd itp.) oraz użycie rqt_console. W tym filmie wykorzystamy też rqt_gui do publikowania przykładowych wiadomości, które zapewnią dostęp do wymaganych funkcji. Może to być alternatywne podejście do naprawiania niektórych błędów.

  10. Filmy o odpowiednim temacie: o integrowaniu biblioteki SLAM w nieznanym środowisku (zestaw narzędzi SLAM lub LaMa) [część 1] Ten film zacznie się od podstawowej teorii problemów związanych z SLAM. Następnie użyjemy przedstawionej powyżej infrastruktury, aby zrozumieć sedno projektu. Na koniec utworzymy w terminalu potrzebne węzły i zobaczymy dane wyjściowe mapowania w Rviz.

  11. Zaawansowane filmy tematyczne: o integrowaniu biblioteki SLAM w nieznanym środowisku (narzędzia SLAM, LaMa) [część 2] W ramach 10 filmu pokażę, jak przygotować plik startowy, aby uruchomić wszystkie węzły razem i przeanalizować rqt_graph pod kątem poprawnego zrozumienia koncepcji ROS. Na koniec zapiszemy mapę wygenerowaną przez pakiet na serwerze map.

  12. Filmy o odpowiednim temacie: o integracji OpenCV (wykrywania tagów AR i pakietu Ar_track_alvar) [część 1] Film zacznie się od tego, czym są tagi AR i jaką rolę odgrywają w lokalizacji za pomocą rozpoznawania obrazów. Następnie zajmiemy się działaniem pakietu ścieżek AR Alvar. Dzięki temu uzyskasz ogólny obraz projektu. Na koniec usługa umożliwi przesyłanie strumienia klatek wideo z aplikacji Webots do tematu w całej witrynie.

  13. Filmy z wcześniejszego tematu: 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ń obrazów zostanie użyty przez pakiet i zostanie opublikowany temat przekształcenia między robotem a tagiem AR, który można obejrzeć w Rviz. Gdy poruszamy robotem, zauważymy rozmieszczenie różnych tagów i zmianę ich pozycji w wiadomościach Rviz i rostopic.

Podsumowanie

Ten projekt GSOD jest niezależnym pakietem umożliwiającym poznanie podstawowej integracji ROS2 z Webots. Ten pakiet będzie także zawierał praktyczne zastosowania zagadnień związanych z ROS2, takich jak tematy, usługi, węzły, pliki startowe, wydawca, subskrybent, różne narzędzia do debugowania oraz wykorzystanie kodu VS. Dotyczy to również zaawansowanych projektów tematycznych, takich jak SLAM czy OpenCV. W ten sposób zapewnisz widzom model kompleksowej pracy przy użyciu ROS2 i Webots.