Webots-Projekt

Diese Seite enthält die Details zu einem Projekt für technisches Schreiben, das für die Google-Produktsaison von Google Docs akzeptiert wurde.

Projektzusammenfassung

Open-Source-Organisation:
Webots
Technischer Redakteur:
Soft Illusion-Kanal
Projektname:
Videotutorials für Webots (Integration mit ROS2)
Projektdauer:
Standarddauer (3 Monate)

Projektbeschreibung

Erkenntnisse:

In dieser Videoreihe von Videoanleitungen erfahren neue Nutzer, wie sie Webots optimal einsetzen können, und bietet Zuschauern klare Schritt-für-Schritt-Lösungen für bestimmte Simulationen.

Ziel:

Am Ende dieser Reihe können die Zuschauer grundlegende ROS2-Knoten erstellen und mit Webots interagieren. Außerdem lernen sie, an erweiterten Projekten in mobilen Robotern zu arbeiten. Diese Videoserie enthält außerdem gute theoretische Erklärungen zu einigen wichtigen Konzepten im Bereich der Robotik.

Details zur Videoreihe:

  1. ROS 2-Installation und Einrichten eines Repositorys in Visual Studio Code Dazu gehört die befehlsspezifische Installation von ROS2 und die Grundlagen der Funktionsweise. Zweitens umfasst es auch die Einrichtung des ROS-Arbeitsbereichs in VS-Code und die Funktionalität der grundlegenden Tabs in VS-Code.

  2. Grundlegendes ROS2- und Webots-Beispiel. Einige Beispiele von Webots ROS2 werden verwendet, um den Zuschauern zu vermitteln, was Wunder bewirken können, wenn wir ROS2 mit Webots für die Simulation verwenden. Dazu gehören auch grundlegende Kommunikationstheorien zwischen ROS2 und Webots.

  3. ROS2-Dienste zur Interaktion mit Webots verwenden Erklären der Grundlagen des ROS-Dienstes, in denen der Unterschied zwischen den Diensten in ROS und ROS2 erklärt wird. Zweitens: Schrittweise Anleitungen zum Aufrufen von Diensten und Aktivieren des Sensorthemas für Messungen und Bedienelemente für Bewegungssensoren.

  4. Benutzerdefinierten Roboter mit ROS2 Publisher steuern. Informationen zum Veröffentlichen von Nachrichten mit ROS2-Publishern bei Webots Wir können ein Beispiel für die Steuerung der Roboterbewegung implementieren, indem wir die Tastaturausgabe zu einem Thema veröffentlichen, das dann von ROS-Diensten für Bewegungen in Webots verwendet werden kann.

  5. Feedback von Robot mit ROS2-Abonnent erhalten. In diesem Video werden die Sensordaten der Entfernungssensoren erfasst und der Roboter bei einer Kollision angehalten. Im Grunde ist dies ein Knoten zur Hindernisvermeidung mit interaktiven Nachrichten, die veröffentlicht werden.

  6. Master(Publisher) Slave(Abonnent)-Roboter mit ROS2. In diesem Video steuern wir einen Roboter mit einer Tastatur und lassen einen anderen vor dem manuellen Roboter weglaufen. Ähnlich wie im Szenario „Dieb und Cops“ :) [Dies ist eine Fortsetzung von 3,4,5 Videos]. Auf diese Weise können die Zuschauer die Kommunikation testen. Wenn ein Problem in ROS auftritt, können in der Simulation Fehler auftreten.

  7. Einrichten von Rviz (Darstellung unterschiedlicher Sensorausgabe). In diesem Video fügen wir einige weitere Sensoren hinzu und veröffentlichen ihre Daten auf Rviz. Am Ende dieses Videos kann der Zuschauer Rviz einrichten (d. h. Sensoren wie Lidar, Kamera usw. zur Visualisierung hinzufügen), die Konfiguration speichern und beim nächsten Mal eine gespeicherte Konfiguration erzeugen.

  8. Debugging-Video (Rostopic-Echo, Rostopic-Informationen, RQT_graph) In diesem Video werden bewusst falsche Funktionen einiger Themen gezeigt, um die Debugging-Technik besser zu verstehen. Wir werden einen Prozess verfolgen, bei dem wir die RQT-Grafik ansehen und wissen, welche Themen für das Problem verantwortlich sind. Prüfen Sie mit Rostopic-Echo, ob das Thema veröffentlicht wird, und prüfen Sie am Ende die Rostopic-Informationen, um unser Problem zu ermitteln. Beheben Sie das Problem und funktionieren wieder wie gewohnt.

  9. Video zur Fehlerbehebung(rqt_console, rqt_gui) In diesem Video werden Ros-Nachrichten(info, debug, error, etc) im Knoten verwendet und die Verwendung von „rqt_console“ untersucht. Dieses Video wird auch erweitert, um mit rqt_gui Testnachrichten zu veröffentlichen, um die erforderliche Funktionalität zu erhalten. Dies kann ein alternativer Ansatz zur Behebung einiger Fehler sein.

  10. Videos für Fortgeschrittene: Zur Integration der SLAM-Bibliothek in einer unbekannten Umgebung (SLAM-Toolbox oder LaMa) [Teil 1] Dieses Video beginnt mit der grundlegenden Theorie der SLAM-Probleme. Anschließend verwenden wir die oben behandelten Konzepte, um den Kern des Projekts zu verstehen. Zum Schluss erstellen wir die erforderlichen Knoten über das Terminal und sehen die Zuordnungsausgabe in Rviz.

  11. Videos für Fortgeschrittene: Zur Integration der SLAM-Bibliothek in eine unbekannte Umgebung (SLAM-Toolbox oder LaMa) [Teil 2] In Fortsetzung des 10. Videos zeige ich Ihnen, wie Sie eine Startdatei erstellen, um alle Knoten zusammen zu starten, und „rqt_graph“ prüfen, um die Konzepte im ROS-Framework richtig zu verstehen. Zum Schluss speichern wir die vom -Paket generierte Karte mithilfe eines Kartenservers.

  12. Videos für Fortgeschrittene: Zur Einbindung von OpenCV (AR-Tag-Erkennung, Ar_track_alvar-Paket) [Teil 1] Zu Beginn des Videos wird erklärt, was AR-Tags sind und welche Bedeutung sie für die Lokalisierung durch maschinelles Sehen haben. Dann bauen wir darauf auf, wie das Alvar-Paket mit AR-Verfolgung funktioniert. Dies wird dazu beitragen, eine Gesamtperspektive des Projekts zu vermitteln. Schließlich wird ein Dienst eingerichtet, mit dem Videoframes von Webots zu einem ROS-Thema gestreamt werden können.

  13. Videos zu Themen für Fortgeschrittene: Zur Integration von OpenCV (AR-Tag-Erkennung, Ar_track_alvar-Paket) [Teil 2] Dieses Video ist eine Fortsetzung des 12. Videos, in dem der obige Bildstream vom Paket verwendet wird und ein Transformationsthema zwischen dem Robot und dem AR-Tag veröffentlicht wird, das auf Rviz angesehen werden kann. Wenn wir schließlich den Roboter bewegen, sehen wir, wie verschiedene Tags gefunden werden und sich ihre Position in Rviz- und Rostopic-Nachrichten ändert.

Conclusion:

Dieses GSOD-Projekt ist ein eigenständiges Paket, das ein grundlegendes Verständnis der Integration von ROS2 in Webots vermittelt. Dieses Paket umfasst auch die praktische Implementierung der Konzepte in ROS2 wie Themen, Dienste, Knoten, Startdateien, Publisher, Abonnent, verschiedene Debugging-Tools und die Verwendung von VS-Code. Dazu gehören auch fortgeschrittene Themenprojekte wie SLAM und OpenCV. So erhalten die Zuschauer ein Paradigma einer End-to-End-Arbeit mit ROS2 und Webots.