Projekt Ignition Robotics

Ta strona zawiera szczegółowe informacje na temat projektu technicznego przyjęta do programu Sezon Dokumentów Google.

Podsumowanie projektu

Organizacja open source:
Robotyka zapłonu
Pisarz techniczny:
Tajski le
Nazwa projektu:
Samouczki Ignition Physics i dokumentacja interfejsu API
Długość projektu:
Standardowa długość (3 miesiące)

Opis projektu

Motywacja

Biblioteka Ignition Physics umożliwia elastyczne korzystanie z silników fizycznych przenoszonych na zaplecze symulacji Gazebo Ignition. Wiele zewnętrznych silników fizycznych można dostosować do biblioteki jako wtyczki składające się z różnych zestawów funkcji w zależności od ich możliwości i kontekstu aplikacji, aby uruchomić symulację altany. Na obecnym etapie biblioteki nie udostępniamy:

  • wszechstronne samouczki dotyczące tworzenia niestandardowych wtyczek fizycznych, które wykorzystują niestandardowe silniki fizyczne do zasilania symulacji
  • spójna dokumentacja interfejsu API.

Celem tej oferty jest rozwiązanie tych problemów w celu usprawnienia obsługi projektu oraz przekazania nowym współtwórcom i użytkownikom bardziej zasadniczo. Szczegóły procesu dokumentacji zostanie omówione w następnej sekcji. Następnie przejdź do sekcji poświęconej etapom, za pomocą której zaplanujesz ramy czasowe realizacji projektu. Na koniec wspomnieliśmy o uwagach na temat bieżącej dokumentacji.

Opis

Ten projekt ma 2 główne cele:

  • Twórz szczegółowe samouczki dotyczące tworzenia niestandardowej wtyczki fizycznej łączącej się z bieżącym interfejsem API biblioteki.
  • Rozszerz aktualną dokumentację interfejsu API biblioteki na potrzeby konserwacji i współpracy.

Obecnie DART jest jedynym obsługiwanym mechanizmem fizycznym w tej bibliotece. Dlatego samouczki będą dotyczyć DART. Omówimy te wstępne samouczki:

  1. Wprowadzenie: omówienie ogólnej architektury biblioteki Ignition Physics, obsługiwanych silników fizycznych oraz celów.
  2. Instalacja: w zależności od kontekstu aplikacji użytkownik może zainstalować niezbędne silniki fizyczne. Ten samouczek przedstawia również przykładowe konfiguracje każdej wtyczki silnika fizycznego, aby dostosować konkretną symulację.
  3. Użycie wtyczki DART: opisuje przykładowe zastosowanie silnika fizycznego DART w symulacji Gazebo. Samouczek składa się z sekwencji uruchomień i konfiguracji, które umożliwiają uruchomienie tej biblioteki jako backendu dla symulacji Alta w konkretnym przykładowym środowisku.
  4. Utwórz niestandardową wtyczkę: pomaga nowemu użytkownikowi lub deweloperowi utworzyć niestandardową wtyczkę na podstawie niestandardowego silnika fizycznego za pomocą pewnych form plików konfiguracyjnych (prawdopodobnie szablonów klas) oraz stworzyć interfejs między interfejsem API silnika fizycznego a tym interfejsem API biblioteki. Na końcu samouczka można zaznaczyć elementy, które zostały sprawdzone pod kątem tego typu zmian.
  5. Użycie wielu wtyczek w ramach symulacji (wymaga omówienia): opisuje, jak w ramach przykładowej symulacji używać wielu wtyczek w czasie działania.

Dalsze planowanie struktury samouczków, opisów oraz treści zostanie omówione w okresie nawiązywania więzi ze społecznością. Rzeczywiście, przed scaleniem samouczków ich autor musi potwierdzić prawidłowość zawartych w nim kroków.

Dokumentację interfejsu API można dostosować do stylu dokumentacji Google C++ dla tej biblioteki. Na przykład wszystkie klasy muszą mieć opis na poziomie klasy. Poza tym wszystkie funkcje publiczne muszą być udokumentowane w formie opisu, wszystkich argumentów, a także możliwych wartości zwracanych i wyjątków. Warto najpierw udokumentować najważniejsze klasy (np.dartsim::RetrieveWorld, Feature itp.) w pierwszej kolejności, aby ułatwić sobie zadanie w górę. W okresie nawiązywania więzi ze społecznością omówiony zostanie styl dokumentacji, a także ważna identyfikacja zajęć.

Milestones

W tej sekcji zaplanowano początkowy czas realizacji wspomnianych celów projektu. Planowanie czasu wygląda tak:

  • 17 sierpnia – 13 września: więzi ze społecznością

    1. Zorganizuj spotkania, aby ustalić zakresy projektów i planowanie samouczków, a także oczekiwania zarówno od autora, jak i mentorów.
    2. Poznaj szerszy obraz kodu źródłowego Ignition Physics.
  • 14–31 września: opracuj wersję roboczą wspomnianych samouczków z wielokrotnym udoskonalaniem tych samouczków między mentorami a twórcą w ramach spotkań.

  • 1–30 listopada: opracowanie dokumentacji interfejsu API dla najważniejszych klas i skompilowanie dokumentacji przy użyciu Doxygen.

  • 1–5 grudnia: opracowanie raportu dotyczącego projektu.

  • Po GSoD 2020: chcę pozostać w kontakcie z Ignition Robotics, aby nadal ulepszać i utrzymywać moją pracę.

Uwagi końcowe

Konieczne jest poprawienie bieżącej wersji pliku README.md na stronie głównej Ignition Physics, ponieważ instalacja binarna wykorzystująca plik apt-get nie działa w systemie Ubuntu 18.04. Źródłowa sekcja instalacji również wymaga poprawki ze względu na nieprawidłowe formatowanie.