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:
- Wprowadzenie: omówienie ogólnej architektury biblioteki Ignition Physics, obsługiwanych silników fizycznych oraz celów.
- 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ę.
- 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.
- 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.
- 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ą
- Zorganizuj spotkania, aby ustalić zakresy projektów i planowanie samouczków, a także oczekiwania zarówno od autora, jak i mentorów.
- 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.