Ta strona zawiera szczegółowe informacje o projekcie polegającym na pisaniu tekstów technicznych, który został zaakceptowany w ramach Google Season of Docs.
Podsumowanie projektu
- Organizacja open source
- Webots
- Pisarz techniczny:
- Soft illusion Channel
- Nazwa projektu:
- Seria samouczków wideo na temat Webots (integracja z ROS2)
- Długość projektu:
- Standardowa długość (3 miesiące)
Opis projektu
Wnioski:
Ta seria samouczków wideo pomoże nowym użytkownikom jak najlepiej rozpocząć pracę z Webots i zapewni widzom szczegółowe rozwiązania dotyczące konkretnych symulacji.
Cel:
Na koniec tej serii widzowie będą w stanie tworzyć podstawowe węzły ROS2 i współdziałać z Webots, a także będą mogli pewnie pracować nad zaawansowanymi projektami w robotyce mobilnej. W tej serii filmów znajdziesz też dobre teoretyczne wyjaśnienia kilku kluczowych pojęć z zakresu robotyki.
Szczegóły serii filmów:
instalacja i konfiguracja repozytorium ROS 2 w kodzie Visual Studio. Obejmuje to instalację ROS2 za pomocą poleceń i podstawowe informacje o jej działaniu. Wprowadzimy też konfigurację obszaru roboczego ROS w kodzie VS oraz funkcje kart podstawowych w kodzie VS.
Podstawowy przykład dotyczący ROS2 i Webots. W filmie wykorzystamy kilka przykładów Webots ROS2, aby zachęcić widzów do zrozumienia, jakie cuda można tworzyć, jeśli używamy ROS2 z Webots do symulacji. Obejmuje to również podstawowe teorie komunikacji między ROS2 a Webots.
Korzystanie z usług ROS2 do interakcji z Webots. Nauka podstaw usługi ROS z wyjaśnieniem różnic między usługami w ROS i ROS2. Po drugie, wyświetlanie samouczków krok po kroku dotyczących wywoływania usług i włączania tematu czujnika dla odczytów oraz aktuatora dla ruchu.
Sterowanie robotem niestandardowym za pomocą Publishera ROS2. Dowiedz się, jak publikować wiadomości za pomocą wydawców ROS2 w Webots. Możemy zaimplementować przykład sterowania ruchem robota, publikując dane z klawiatury do tematu, którego mogą następnie używać usługi ROS do sterowania ruchem w Webots.
Pobieranie opinii od robota za pomocą interfejsu ROS2 Subscriber. W tym filmie zasubskrybujemy odczyty z czujników odległości i zatrzymamy robota, jeśli dojdzie do zderzenia. Będzie to węzeł unikania przeszkód z publikowanymi komunikatami interaktywnymi.
Roboty nadrzędne(wydawcy)-slave(subskrybent) z ROS2. W tym filmie będziemy sterować jednym robotem za pomocą klawiatury, a drugi robot będzie uciekał od robota sterowanego ręcznie. Podobnie jak w przypadku scenariusza Złodzieje i policja :)[To będzie kontynuacja filmów 3, 4 i 5]. Dzięki temu widzowie będą mogli testować komunikację i wykrywać błędy w symulacji, jeśli wystąpi problem w ROS.
Konfigurowanie Rviz (wyświetlanie różnych danych z czujników). 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 (np. dodać czujniki takie jak Lidar, Camera itp. do wizualizacji), zapisać konfigurację i utworzyć zapisaną konfigurację następnym razem.
Debuguję film (echo Rostopic, informacje Rostopic, RQT_graph). Film zawiera celowo nieprawidłowe działanie kilku tematów, aby ułatwić zrozumienie techniki debugowania. Przeanalizujemy wykres RQT, aby dowiedzieć się, które tematy są odpowiedzialne za problem. Użycie echa rostopic w celu sprawdzenia, czy temat został opublikowany, a na końcu sprawdzenie informacji rostopic w celu rozwiązania problemu. rozwiązać problem i wszystko działa normalnie;
Film z debugowaniem(rqt_console, rqt_gui) W tym filmie w węźle będą używane komunikaty ROS(info, debug, error itp.), a także omówione zostanie używanie funkcji rqt_console. W tym filmie zostanie też pokazane, jak za pomocą narzędzia rqt_gui opublikować fikcyjne wiadomości, aby uzyskać wymaganą funkcjonalność. Może to być alternatywny sposób rozwiązywania niektórych problemów.
Zaawansowane filmy na temat: integracja biblioteki SLAM w nieznanym środowisku (SLAM toolbox lub LaMa) [Część 1] Ten film rozpocznie się od podstawowej teorii problemów związanych z SLAM. Następnie użyjemy infrastruktury omawianych wyżej koncepcji, aby zrozumieć sedno projektu. Na koniec odtworzymy niezbędne węzły za pomocą terminala i zobaczymy dane wyjściowe mapowania w Rviz.
Zaawansowane filmy na temat: integracja biblioteki SLAM w nieznanym środowisku (SLAM toolbox lub LaMa) [część 2] W tym filmie, który jest kontynuacją 10. lekcji, pokażę, jak utworzyć plik uruchamiający wszystkie węzły razem, i jak używać narzędzia rqt_graph do lepszego zrozumienia pojęć w ramach frameworku ROS. Na koniec zapiszemy mapę wygenerowaną przez pakiet za pomocą serwera map.
Zaawansowane filmy na tematy: integracja OpenCV (wykrywanie tagów AR, pakiet Ar_track_alvar) [część 1] Film rozpocznie się od omówienia tagów AR i ich znaczenia w lokalizacji z wykorzystaniem widzenia komputerowego. Następnie omówimy działanie pakietu Alvar do śledzenia AR. Pomoże to uzyskać ogólny pogląd na projekt. W ramach usługi umożliwimy strumieniowe przesyłanie klatek wideo z Webots do tematu ROS.
Zaawansowane filmy na temat: integracja OpenCV (wykrywanie znacznika AR, pakiet Ar_track_alvar) [część 2] Ten film jest kontynuacją 12. filmu, w którym pakiet używa strumienia obrazów, a temat transformacji między robotem a znacznikiem AR zostanie opublikowany w Rviz. W końcu, gdy robot się porusza, zobaczymy różne tagi i zmiany ich pozycji w Rviz i w wiadomościach rostopic.
Podsumowanie
Ten projekt GSOD to niezależny pakiet, który umożliwia podstawowe zrozumienie integracji ROS2 z Webots. Pakiet będzie zawierał też praktyczne wdrożenie koncepcji w ROS2, takich jak tematy, usługi, węzły, pliki uruchamiania, wydawca, subskrybent, różne narzędzia do debugowania i używanie VS Code. Dotyczy to również projektów dotyczących zaawansowanych tematów, takich jak SLAM i OpenCV. Dzięki temu widzowie poznają cały proces pracy z wykorzystaniem ROS2 i Webots.