Ta strona zawiera szczegóły projektu technicznego do pisania w sezonie Dokumentów Google.
Podsumowanie projektu
- Organizacja open source:
- Robotyka zapłonowa
- Pisarz techniczny:
- An Thai Le
- Nazwa projektu:
- Samouczki Ignition Physics i dokumentacja API
- Długość projektu:
- Standardowa długość (3 miesiące)
Opis projektu
Motywacja
Biblioteka Ignition Physics umożliwia elastyczne korzystanie z silników fizyki przenoszonych na backend symulacji Ignition Gazebo. Wiele zewnętrznych silników fizycznych można zaadaptować do biblioteki jako wtyczki składające się z różnych zestawów funkcji zależnie od ich możliwości i kontekstu aplikacji, aby zapewnić symulację altany. Jednak na obecnym etapie biblioteka nie zapewnia:
- kompleksowe samouczki dotyczące tworzenia niestandardowych wtyczek fizyki, które korzystają z niestandardowych silników fizyki do obsługi symulacji;
- spójna dokumentacja interfejsu API,
Celem tej propozycji jest rozwiązanie tych problemów, aby ułatwić utrzymanie projektu oraz zapewnić nowo dołączającym uczestnikom i użytkownikom bardziej przejrzyste zasady. Szczegóły procesu dokumentowania omówimy w następnej sekcji, a potem przejdziemy do sekcji dotyczącej kamieni milowych, w której zaplanowamy ramy czasowe realizacji projektu. Na koniec wspomnimy o kilku uwagach na temat bieżącej dokumentacji.
Opis
Ten projekt ma 2 główne cele:
- Twórz szczegółowe samouczki na temat tworzenia niestandardowego wtyczka do fizyki, który będzie współpracował z obecną biblioteką API.
- Ulepszenie dokumentacji interfejsu API obecnej biblioteki na potrzeby konserwacji i współpracy.
Obecnie DART jest jedynym obsługiwanym silnikiem fizyki w tej bibliotece. Dlatego samouczki będą dotyczyć DART. Rozważymy te samouczki:
- Wprowadzenie: opis ogólnej architektury biblioteki Ignition Physics, obsługiwanych silników fizyki i celów.
- Instalacja: prowadzi użytkownika, aby opcjonalnie zainstalował niezbędne silniki fizyczne w zależności od kontekstu aplikacji. W tym samouczku znajdziesz też przykładowe konfiguracje każdego wtyczki silnika fizycznego, które pozwolą dostosować konkretną symulację.
- Użycie wtyczki DART: opisuje przykład użycia 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 Gazebo w określonym przykładowym środowisku.
- Tworzenie niestandardowego wtyczka: przewodnik dla nowych użytkowników i programistów, który pomaga tworzyć niestandardowy wtyczek na podstawie niestandardowego silnika fizycznego za pomocą niektórych form plików konfiguracyjnych (np. szablonów klas) oraz tworzyć interfejs między interfejsem API silnika fizycznego a interfejsem API tej biblioteki. Niektóre testy poprawności można znaleźć na końcu samouczka.
- Korzystanie z wielu wtyczek w symulacji (potrzebna dyskusja): opis sposobu jednoczesnego używania wielu wtyczek w ramach przykładowej symulacji.
Dalsze planowanie dotyczące struktury, opisów i treści samouczników zostanie omówione w okresie budowania więzi ze społecznością. Rzeczywiście, autor tych samouczków musi sprawdzić poprawność kroków samouczka przed scaleniem z repozytorium.
W przypadku dokumentacji interfejsu API można dostosować styl dokumentacji Google C++ dla tej biblioteki. Na przykład wszystkie zajęcia muszą mieć opis na poziomie zajęć. Ponadto wszystkie funkcje publiczne muszą być udokumentowane, a ich opisy muszą zawierać wszystkie argumenty oraz możliwe wartości i wyjątki zwracane. Dobrze jest najpierw udokumentować najważniejsze klasy (np.dartsim::retrieveWorld, Feature itp.) w formie łatwiejszej procedury odgórnej. Kolejnym stylem dokumentacji będziemy omawiać ważne kwestie związane z identyfikacją klasy podczas okresu budowania relacji.
Milestones
W tej sekcji planujesz wstępny harmonogram realizacji wspomnianych celów projektu. Planowanie czasu wygląda tak:
17 sierpnia – 13 września: integracja społeczności:
- Umawiaj się na spotkania, aby ustalić zakres projektu i planowanie samouczka, a także oczekiwania zarówno autora, jak i mentora.
- Poznaj ogólny zarys kodu źródłowego Ignition Physics.
14 września–31 października: przygotowanie wersji roboczych wspomnianych samouczków z kolejkowymi ulepszeniami przez mentorów i pisarza podczas spotkań.
1–30 listopada: opisanie dokumentacji API dotyczącej najważniejszych klas i skompilowanie jej za pomocą Doxygen.
1–5 grudnia: napisz raport z projektu.
Po GSoD 2020: Chcę pozostać w kontakcie z Ignition Robotics, aby dalej ulepszać i utrzymywać swoje prace.
Uwagi końcowe
Należy zaktualizować plik README.md na stronie głównej Ignition Physics, ponieważ instalacja binarna za pomocą apt-get nie działa w Ubuntu 18.04. Sekcja instalacji źródła również wymaga poprawy ze względu na nieprawidłowe formatowanie.