Präsentationen des zweiten ROS Meetups zu den Themen: Pavillon und Werkzeuge für Roboter


Am 18. April findet das nächste Online-ROS-Meetup statt . Wir veröffentlichen weiterhin Aufzeichnungen von Berichten des vergangenen ROS-Meetups, das am 30. November 2019 in Moskau stattfand und an dem mehr als 200 ROS-Amateure teilnahmen, die ihre Erfahrungen und Kenntnisse austauschten.

In dieser Veröffentlichung können Sie eine Auswahl von Reden über den
Gazebo- Robotersimulator, das Roboterverhalten und Datensätze kennenlernen.

So lass uns gehen!

Verwenden des Pavillonsimulators in der Robotik


Verfasser des Berichts: Alexander Bogoslovsky

Präsentationsfolien
Manchmal ist es nicht möglich, "live" mit dem Roboter zu interagieren. In diesem Fall müssen Sie sich an Simulatoren wenden. Und wenn es um ROS geht, dann vor allem um den Gazebo-Simulator, da er ursprünglich für die Verwendung mit ROS erstellt wurde. Gazebo veranstaltet viele Roboterwettbewerbe, unter anderem in so bedeutenden Organisationen wie DARPA und NASA. Dieser Simulator hilft bei der Implementierung nahezu aller Festkörperroboter, z. B. eines Humanoiden, eines Radroboters, eines Hubschraubers, eines Unterwasserroboters usw.

Roboter für Pavillons werden im URDF-Format (Unified Robotic Description Format) erstellt - XML-Markup, das die Roboterverbindungen und die Kommunikationsknoten zwischen ihnen beschreibt. Da es sich um ein universelles Format handelt, das auch zum Positionieren realer Roboter auf ROS erforderlich ist (z. B. die Pakete robot_state_publisher und Joint_state_publisher), sollte ursprünglich nicht der gesamte Roboter beschrieben werden. Daher wird beim Importieren eines Modells in Gazebo das URDF-Format in SDF (Simulation Description Format) konvertiert, das möglicherweise bereits alle für die Modellierung erforderlichen Informationen enthält, einschließlich Oberflächenmaterialien, Farben, Sensoren usw. Die Welt der Simulation, in der wir den Roboter weiter platzieren, hat im Wesentlichen das gleiche SDF-Format. Und die Erweiterungen der Namen solcher Dateien zur Beschreibung der Welt haben die Form ".world".

Gazebo verdankt seine Vielseitigkeit einer Vielzahl von Plugins, die von der Community erstellt wurden, sowie Open Source. Wenn Aufgaben zu spezifisch werden, können Sie Ihr eigenes Plugin basierend auf der bereitgestellten API schreiben, um sie abzuschließen. Eine große Benutzergemeinschaft wird beim Schreiben helfen, sowie eine große Anzahl von Lehrartikeln über Gazebo auf der offiziellen Website des Simulators. Es ist jedoch keineswegs immer notwendig, ein eigenes Plugin zu schreiben - die Grundfunktionen des Simulators sind sehr umfangreich.

In diesem Bericht werden die Funktionen und Merkmale von Gazebo sowie seine Stärken und Schwächen erläutert, die bei der Entscheidung über die Verwendung dieses Simulators in Ihrem Projekt hilfreich sein können.

Verhaltensbaum zum Definieren eines Roboteraktionsskripts


Verfasser des Berichts: Evgeny Safronov

Präsentationsfolien
In vielen Fällen sollte das Verhalten des Roboters nicht nur komplex und vielfältig sein, sondern auch so vorhersehbar wie möglich (vorzugsweise 100%). Statistische Verhaltensmodelle, die auf ML-Methoden basieren, ermöglichen die Simulation sehr komplexer Aktionen, es ist jedoch immer noch schwierig, die Sicherheit und Transparenz des Roboterverhaltens zu gewährleisten. In solchen Fällen greifen Ingenieure auf verschiedene Zustandsmaschinen zurück. Eine Alternative zu ihnen sind Behavior Trees / BT-Bäume, die aus der Spielebranche in die Robotik kamen.

In diesem Video beginnen wir mit den Grundlagen des Verhaltensbaums - wir betrachten die Arten von Knoten und Blättern, die Regeln für das Durchlaufen (Ausführen) eines Baums, analysieren die beiden Hauptstile der Erstellung von BT - imperativ und reaktiv - und stellen sicher, dass sie selten in ihrer reinen Form verwendet werden. Wir werden diskutieren, was BT unter dem Gesichtspunkt des maschinellen Lernens sein kann und wie ML-Methoden in eine von Hand erstellte Baumstruktur integriert werden können. Wir werden sehen, dass Knotenvorlagen wie Klassen in OOP dazu beitragen, das Verhalten zu kapseln, die Lesbarkeit der Baumlogik zu verbessern und separate Bibliotheken zu erstellen. Zum Schluss noch ein kurzer Überblick über vorgefertigte Frameworks für die Arbeit mit ROS. Es gibt keinen klaren Führer, jeder hat unterschiedliche Ansätze für viele Schlüsselaspekte, von der grundlegenden Semantik bis zur Interaktion mit ROS. Jetzt können Sie jedoch BT herunterladen und versuchen, es mit Ihrem Roboter / Simulator zu verbinden!

Was ist in deiner Tasche? Wie man mit Bag-Dateien arbeitet und nicht in Daten ertrinkt


Verfasser des Berichts: Oleg Shipitko

Präsentationsfolien
Es ist kein Geheimnis, dass Bag-Dateien das Hauptformat für die Datenprotokollierung in ROS sind. Die meisten Entwickler, die mindestens einmal auf ROS gestoßen sind, wissen, was Bag-Dateien sind und wie sie damit arbeiten sollen. Allerdings haben nicht alle über folgende Themen nachgedacht:
  • Wie ist die Taschendatei drin?
  • Wie kann man das Volumen reduzieren?
  • Was kann ich mit Bag-Dateien außer Aufnahme und Wiedergabe noch tun?
  • Was kann ich tun, wenn sich der Typ einer der Nachrichten geändert hat, ich aber nicht alle zuvor aufgezeichneten Dateien auswerfen möchte?

Die Antworten auf diese und andere Fragen sind unserer Präsentation gewidmet.

In unserer Rede haben wir versucht, jeden von ihnen zu beantworten.
Der Bericht ist in mehrere Teile gegliedert. Zu Beginn wird das Format zum Speichern von Bag-Dateien und deren interne Struktur berücksichtigt.

Im zweiten Teil des Berichts werden die Funktionen zum Aufzeichnen von Dateien erläutert. Die nicht offensichtlichen und selten verwendeten Argumente des Befehls rosbag record werden hervorgehoben. Merkmale des Schreibens in eine Bag-Image-Datei werden berücksichtigt. Die Algorithmen zum Komprimieren von Beuteldateien werden beschrieben.

In dem Teil, der der Einfachheit und Überprüfung aufgezeichneter Dateien gewidmet ist, werden Befehle berücksichtigt, mit denen Sie den Inhalt einer Beuteldatei anzeigen und herausfinden können, welche Themen darin enthalten sind. Besonderes Augenmerk wird auf das Dateiinspektionstool rqt_bag und seine Hauptfunktionen gelegt.

Die in Bag-Files aufgezeichneten Daten können zum Testen verschiedener Klassifizierungsalgorithmen verwendet werden. In diesem Fall entsteht die Aufgabe, die Daten zu markieren - den Datensatz mit einem bestimmten Tag abzugleichen, das die Klasse definiert, die für den Datensatz korrekt ist. Als Beispiel für ein Tool zur Lösung eines solchen Problems betrachtet der Bericht das Paket Rosbag-Sliding-Windows-Annotator, mit dem Sie Daten aus visuellen Themen als Grundlage für die Annotation numerischer Daten verwenden können. Gleichzeitig werden die für das Markup erforderlichen Klassen aus der Benutzer-json-Datei geladen, wodurch das Paket für viele Markup-Aufgaben konfigurierbar ist.

Beim Speichern einer großen Anzahl von Bag-Dateien entsteht die Aufgabe, schnell eine Datei zu finden, die einige Kriterien erfüllt. Für einen mobilen Roboter können solche Kriterien beispielsweise ein bestimmtes Wetter, eine Bewegungsroute, das Vorhandensein / Fehlen eines bestimmten Ereignisses in einer Datei (z. B. eine Person, die den Weg eines Roboters blockiert) usw. sein. Um schnell nach einer Datei zu suchen, die die erforderlichen Kriterien erfüllt, können die Dateien mit Anmerkungen versehen werden. Ordnen Sie jeder Datei eine bestimmte komprimierte Menge an Informationen zu, die die für eine schnelle Suche erforderlichen Daten enthalten. In dem Bericht wird der Ansatz zur Annotation von Beuteldateien erläutert, der im Unternehmen „Visilelect Service“ verwendet wird. Dabei wird jedes Beuteldateibild zugeordnet, sodass Sie Informationen zu vielen Dateien schnell anzeigen und vergleichen können.

Der letzte Teil des Berichts ist einem Überblick über Standardtools für die Migration von Bag-Dateien nach ROS gewidmet. Die Migration ist erforderlich, wenn sich eine oder mehrere Nachrichten in der Datei geändert haben, Sie jedoch zuvor aufgezeichnete Bag-Dateien speichern und verwenden möchten. In diesem Fall können Sie die alten Dateien überschreiben, indem Sie der alten Nachricht neue Felder hinzufügen (oder vorhandene entfernen). Um diesen Prozess zu vereinfachen, bietet ROS Standardwerkzeuge an, die im Bericht kurz behandelt werden.

Fazit


Bald, am 18. April, findet das nächste ROS MeetUp statt. Erst jetzt werden wir es im Format eines Online-Webinars durchführen. Wir laden alle Kollegen ein, als Zuhörer und Redner teilzunehmen. Die Teilnahme ist kostenlos, die Anzahl der Plätze ist begrenzt, registrieren Sie sich hier .
Und wir werden auch einen Open-Source-Paketwettbewerb auf ROS organisieren!
Und wir erinnern Sie daran, dass Sie in Russland gleichgesinnte ROS-Entwickler finden können. Informieren Sie sich über die neuesten ROS-Nachrichten in unserer Community des Telegrammkanals ROS Russia .

Wenn Sie an der Entwicklung von Robotern, Robotermodulen oder Softwarekomponenten interessiert sind, Ihre Entwicklungen vorführen oder einfach nur mit Gleichgesinnten chatten möchten, begrüßen Sie unser nächstes ROS-Meetup, das am 18. April im Online-Format stattfinden wird !

All Articles