Ta strona zawiera szczegółowe informacje o projekcie polegającym na pisaniu tekstów technicznych, który został zaakceptowany w ramach Google Season of Docs.
Podsumowanie projektu
- Organizacja open source:
- RoboComp
- Pisarz techniczny:
- Le Thai An
- Nazwa projektu:
- Podstawowe komponenty RoboComp
- Długość projektu:
- Standardowa długość (3 miesiące)
Opis projektu
Motywacja
RoboComp to jedna z dobrze znanych platform robotycznych do zastosowań praktycznych i badawczych. Repozytorium robocomp zawiera szeroką gamę komponentów (przechowywanych w mniejszym repozytorium o nazwie robocomp-robolab) przeznaczonych do różnych zastosowań robota, takich jak sterowanie silnikiem, lokalizacja i mapowanie, nawigacja, rozpoznawanie itd. W repozytorium tych komponentów brakuje jednak szczegółowej dokumentacji dotyczącej kompilowania lub użycia poszczególnych komponentów, dlatego możliwość wykorzystania ich przez nowych programistów jest ograniczona. Celem tego projektu jest rozwiązanie tego problemu poprzez udokumentowanie kluczowych komponentów RoboComp oraz skompilowanie przykładowego dokumentu dotyczącego korzystania z różnych komponentów w celu wykonania konkretnego zadania związanego z robotyką. 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 procesu dokumentacji.
Opis
Jak już wspomnieliśmy, ten projekt ma 2 główne cele:
- Dokumentacja szczegółowa dotycząca kompilacji i instalacji, konfiguracji, zastosowań oraz znanych problemów dotyczących poszczególnych komponentów w RoboComp
- Napisz przykładowy przewodnik, który wykorzystuje różne komponenty w środowisku RoboComp do wykonania konkretnego zadania związanego z robotyką, np.lokalizacja.
Większość podstawowych komponentów w repozytorium robocomp-robolab nie zawiera obecnie szczegółowych instrukcji kompilowania i używania w różnych konfiguracjach parametrów. Jest to ogromna przeszkoda dla nowych deweloperów, którzy chcą używać komponentów w swoich projektach lub przyczyniać się do rozwoju frameworku. Wynika to z tego, że wiele komponentów to zewnętrzne sterowniki lub biblioteki z wiele zależnościami, co utrudnia kompilację i instalację. Ponadto wiele komponentów opakowuje złożony sterownik urządzenia (np.ogólny hokuyoComp), aby zapewnić interfejs komunikatów w RoboComp, który wymaga wiedzy na temat urządzenia w celu dostrojenia parametrów.
Dlatego w przypadku wkładów typu open source niezbędna jest szczegółowa dokumentacja, która obejmuje opisy urządzeń, rozwiązywanie zależności i zastosowania. Mój przykładowy dokument komponentu hokuyoComp znajduje się w linku:
https://github.com/anindex/robocomp-robolab/tree/master/components/hokuyoComp
Aby przygotować szczegółową i szczegółową dokumentację składową z użyciem podejścia odgórnego, trzeba przynajmniej być w stanie zapoznać się z treścią tego dokumentu, ponieważ ostatecznym celem dokumentacji jest przekazanie praktycznych informacji dziedziczonym deweloperom. Proponowana struktura każdego dokumentu składowego wygląda tak:
- Opis
- Kompilacja i instalacja
- Parametry konfiguracji
- Uruchamianie komponentu (użytkowanie)
- Znane problemy
W tym przykładzie najpierw zbierasz informacje o specyfikacji czujnika Hokuyo, czytasz kod komponentu, aby poznać obraz jego funkcji, a następnie piszesz opisy komponentów. Następnie należy zapoznać się ze środowiskiem RoboComp i poznać parametry specyficzne dla urządzenia oraz zależności bibliotek, aby ułatwić sobie dokumentowanie procesu kompilacji, instalacji i konfiguracji komponentu. Na przykład kompilowanie hokuyoComp wymaga starego pakietu deb liburg0-dev z Ubuntu 14.04, ale ten pakiet deb został usunięty z Ubuntu PPA w nowszej wersji, dlatego musimy zastosować obejście kompilacji zgodnie z opisem w dokumencie. W ramach tego procesu możemy również rejestrować znane problemy, aby przyspieszyć debugowanie dla nowych programistów. Na koniec opisano sposoby wykorzystania komponentów w różnych scenariuszach, aby ułatwić ich integrację z RoboComp w różnych zastosowaniach robotycznych.
Cele
W tej sekcji planujesz wstępny harmonogram realizacji wspomnianych celów projektu. Dokumenty dotyczące komponentów będziemy wybierać na podstawie kategorii (np.komponenty aparatu, komponenty lasera). Obecna szacowana długość czasu potrzebna na wypełnienie dokumentu z komponentami jest oparta na czasie potrzebnym do wypełnienia przykładowych dokumentów hokuyoComp. Tabela czasu wygląda tak:
1 sierpnia – 1 września: integracja z lokalną społecznością:
- Organizowanie cotygodniowych spotkań w celu ustalenia zakresów projektów oraz oczekiwań zarówno pisarzy, jak i mentorów.
- Dogłębne zrozumienie platformy RoboComp.
2 września–2 listopada: pisanie dokumentacji dla każdego komponentu w repozytorium robocomp-robolab z kolejnych ulepszeń między mentorami a autorem podczas spotkań (prace nad większością nieudokumentowanych dokumentów)
2–26 listopada: tworzenie ogólnego dokumentu z przykładem wykorzystania różnych komponentów do wykonania zadania związanego z robotyką.
27–29 listopada: raporty o zakończeniu projektu.
Po GSoD 2019: chcę pozostać w kontakcie z firmą RoboComp, aby dalej ulepszać i utrzymywać moje zadania.
Uwagi końcowe
Należy podać ogólny przykład integracji różnych komponentów w środowisku RoboComp, aby użytkownicy mogli lepiej zrozumieć ogólne funkcje RoboComp. Ten przykładowy dokument zostanie omówiony z mentorami, aby ustalić, jakie zadanie z robotyki jest odpowiednie w zależności od bieżącej implementacji RoboComp.