Ignition Robotics-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:
Ignitionsroboter
Technischer Redakteur:
Eine thailändische Le
Projektname:
Anleitungen und API-Dokumentation zu Ignition Physics
Projektdauer:
Standarddauer (3 Monate)

Projektbeschreibung

Motivation

Die Ignition Physics-Bibliothek ermöglicht die flexible Nutzung der Physik-Engines, die zum Back-End der Ignition Gazebo-Simulation hinzugefügt werden. Viele externe Physikmodule können als Plug-ins mit unterschiedlichen Funktionen entsprechend ihren Fähigkeiten und Anwendungskontexten an die Bibliothek angepasst werden, um Pavillon-Simulationen zu betreiben. Die aktuelle Phase der Bibliothek enthält jedoch nicht Folgendes:

  • umfassende Tutorials zum Erstellen benutzerdefinierter Physik-Plug-ins, die benutzerdefinierte Physik-Engines für die Simulation verwenden
  • Einheitliche API-Dokumentation

Dieser Vorschlag zielt darauf ab, diese Probleme zu lösen, um die Projektpflege zu verbessern und neue Mitwirkende und Nutzende auf prinzipativere Weise anleiten zu können. Die Details des Dokumentationsprozesses werden im nächsten Abschnitt besprochen, gefolgt vom Abschnitt zum Meilenstein zur Planung des Zeitrahmens für die Projektabwicklung. Abschließend noch einige Hinweise zur aktuellen Dokumentation.

Beschreibung

Dieses Projekt hat zwei Hauptziele:

  • Detaillierte Anleitungen zum Erstellen benutzerdefinierter Physik-Plug-in-Schnittstellen mit aktueller Library API erstellen
  • Die aktuelle Dokumentation der Library API für Wartung und Zusammenarbeit erweitern.

Derzeit ist DART die einzige Support-physik-Engine für diese Bibliothek. Daher konzentrieren sich die Anleitungen auf DART. Diese ersten Tutorials werden behandelt:

  1. Einführung: Hier werden die allgemeine Architektur der Bibliothek „Ignition Physics“, die unterstützten Physikmodule und die Ziele beschrieben.
  2. Installation: Führt den Nutzer je nach Anwendungskontext bei der optionalen Installation der erforderlichen Physik-Engines. In dieser Anleitung werden auch Beispielkonfigurationen für jedes Physik-Engine-Plug-in zur Anpassung einer bestimmten Simulation gezeigt.
  3. Verwendung des DART-Plug-ins: Beschreibt die Verwendung des DART-Physikmoduls in der Gazebo-Simulation. Das Tutorial besteht aus einer Abfolge von Ausführungen und Konfigurationen, um diese Bibliothek als Back-End für die Gazebo-Simulation in einer bestimmten Beispielumgebung zu starten.
  4. Benutzerdefiniertes Plug-in erstellen: Leitet neue Nutzer oder Entwickler an, mithilfe von Konfigurationsdateien (möglicherweise Klassenvorlagen) ein benutzerdefiniertes Plug-in basierend auf einer benutzerdefinierten Physik-Engine zu erstellen und eine Schnittstelle zwischen der Physik Engine-API und dieser Bibliotheks-API zu entwickeln. Am Ende der Anleitung finden Sie einige Pläne zur Plausibilitätsprüfung.
  5. Mehrere Plug-ins in einer Simulation verwenden (weitere Informationen erforderlich): Hier erfahren Sie, wie Sie mehrere Plug-ins zur Laufzeit für eine Beispielsimulation verwenden.

Die weitere Planung von Tutorial-Strukturen, -Beschreibungen und -Inhalten wird in der Community-Bonding-Phase besprochen. Tatsächlich muss der Autor dieser Anleitungen sicherstellen, dass die Anleitungsschritte gültig sind, bevor sie mit dem Repository zusammengeführt werden.

Die API-Dokumentation kann an den Google C++-Dokumentationsstil für diese Bibliothek angepasst werden. Beispielsweise muss für alle Klassen eine Beschreibung auf Klassenebene vorhanden sein. Darüber hinaus müssen alle öffentlichen Funktionen mit einer Beschreibung, allen zugehörigen Argumenten sowie möglichen Rückgabewerten und Ausnahmen dokumentiert werden. Es ist von Vorteil, dass die wichtigsten Klassen (z. B. dartsim::RetrieveWorld, Feature usw.) zuerst als einfacherer Top-Down-Ansatz dokumentiert werden. Der weitere Dokumentationsstil und die Identifizierung wichtiger Klassen werden in der Community-Bonding-Phase besprochen.

Milestones

In diesem Abschnitt ist ein erster Zeitrahmen für die Erreichung der genannten Ziele des Projekts geplant. Die Zeitplanung sieht so aus:

  • 17. Aug.–13. Sept.: Community-Beziehung:

    1. Besprechungen zum Festlegen des Projektumfangs und der Planung von Anleitungen sowie Erwartungen an die schreibende Person und die beratenden Personen ansetzen.
    2. Verschaffen Sie sich einen Überblick über den Quellcode der Ignition Physics.
  • 14. September bis 31. Oktober: Entwirf die erwähnten Tutorials mit iterativen Optimierungen zwischen Mentoren und Autoren in Meetings.

  • 1.–30. Nov.: Schreiben Sie die API-Dokumentation für die wichtigsten Klassen und stellen Sie die Dokumentation mit Doxygen zusammen.

  • 1. Dez. – 5. Dez.: Schreibe den Projektbericht.

  • Nach GSoD 2020: Ich möchte mit Ignition Robotics in Verbindung bleiben, um meine Arbeit weiter zu verbessern und zu warten.

Letzte Hinweise

Da die binäre Installation mit apt-get unter Ubuntu 18.04 nicht funktioniert, müssen Sie die aktuelle Readme.md-Datei auf der Startseite von Ignition Physics überarbeiten. Der Abschnitt zur Installation der Quelle muss wegen falscher Formatierung ebenfalls überarbeitet werden.