Ta strona zawiera szczegółowe informacje na temat projektu technicznego przyjęta do programu Sezon Dokumentów Google.
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 badań i zastosowań praktycznych. Repozytorium robocomp zawiera szeroką gamę komponentów (utworzonych w mniejszym repozytorium o nazwie robocomp-robolab) do różnych aplikacji z zakresu robotów, takich jak sterowanie motoryzacją, lokalizacja i mapowanie, nawigacja, rozpoznawanie itp. Nie ma jednak w repozytorium komponentów szczegółowych dokumentacji dotyczącej kompilowania lub użytkowania każdego z nich, co sprawia, że jego obsługa jest ograniczona. Celem tej oferty jest rozwiązanie tego problemu przez opisanie kluczowych komponentów RoboComp, a także skompilowanie przykładowego dokumentu użytkowania używanego do łączenia różnych komponentów w celu wykonania określonego zadania związanego z robotyką. Szczegóły procesu tworzenia dokumentacji zostaną omówione w następnej sekcji, po której następuje sekcja dotycząca kamieni milowych, w której zaplanujesz ramy czasowe realizacji projektu. Na koniec wspomnieliśmy o procesie dokumentacji.
Opis
Jak już wspomnieliśmy, ten projekt ma 2 główne cele:
- Szczegółowy opis dokumentu, kompilacja i instalacja, konfiguracja, zastosowania i znane problemy dotyczące każdego komponentu w RoboComp
- Napisz przykładowy przewodnik, który wykorzystuje różne komponenty środowiska RoboComp do wykonania określonego zadania z zakresu robotyki, tj.lokalizacji.
Większości podstawowych komponentów w repozytorium robocomp-robolab brakuje szczegółowych instrukcji kompilowania i używania w różnych konfiguracjach parametrów. Stanowi to ogromną przeszkodę dla nowych deweloperów, którzy chcą wykorzystać komponenty w swoim projekcie lub wnieść wkład w ramę platformy. Wiele komponentów jest kodowaniem zewnętrznych sterowników lub bibliotek, które mają wiele zależności, co utrudnia kompilowanie i instalowanie. Co więcej, wiele komponentów otacza złożony sterownik urządzenia (czyli ogólny hokuyoComp), aby interfejs komunikatów w RoboComp wymagał wiedzy z zakresu konkretnych urządzeń w celu dostrajania parametrów.
Dlatego niezbędna jest szczegółowa dokumentacja, która obejmuje opisy urządzeń, rozwiązywane zależności i zastosowania, co jest niezbędne do działania na licencji open source. Przykładowy dokument komponentu hokuyoComp na temat pracy znajduje się w linku:
https://github.com/anindex/robocomp-robolab/tree/master/components/hokuyoComp
Aby stworzyć dokumentację konkretnych komponentów i szczegółowych elementów w sposób od góry, musisz być w stanie zapoznać się z treścią przedstawioną w tym dokumencie, ponieważ jej ostatnim celem jest przekazanie praktycznych informacji programistom. Proponowana struktura każdego dokumentu składowego jest przedstawiona w następujący sposób:
- Opis
- Kompilacja i instalacja
- Parametry konfiguracji
- Uruchamianie komponentu (użycie)
- Znane problemy
W tym przykładzie najpierw gromadzimy informacje o specyfikacji czujnika Hokuyo, odczytuje kod komponentu, by zrozumieć obraz funkcji komponentu i na tej podstawie piszę jego opisy. Zrozumienie środowiska RoboComp oraz znajomości parametrów dotyczących urządzeń i zależności od bibliotek może pomóc w udokumentowaniu procesu kompilacji, instalacji i konfiguracji komponentu. Na przykład kompilacja hokuyoComp wymaga starego pakietu deb liburg0-dev z Ubuntu 14.04, ale ten pakiet zostaje usunięty z systemu Ubuntu PPA w nowszej wersji, dlatego w przypadku kompilacji trzeba zastosować obejście opisane w dokumencie. W tym procesie możemy także rejestrować znane problemy, aby przyspieszyć debugowanie w przypadku nowych programistów. Na koniec dokumentujemy przypadki użycia komponentów w różnych scenariuszach użycia, co ułatwia integrację komponentu z środowiskiem RoboComp, na potrzeby różnych zadań związanych z robotyką.
Kamienie milowe
W tej sekcji zaplanowano początkowy czas realizacji wspomnianych celów projektu. Wybierzemy dokumenty składowe do napisania na podstawie kategorii (np.komponenty aparatu, komponenty laserowe). Obecny szacowany czas potrzebny na ukończenie pracy z dokumentem o komponentach jest oparty na czasie na ukończenie przykładowych dokumentów hokuyoComp. Tabela czasu wygląda tak:
1 sierpnia – 1 września: więzi ze społecznością
- Organizowanie cotygodniowych spotkań w celu określenia zakresów projektów oraz oczekiwania ze strony autora tekstu i mentorów.
- Dogłębne zrozumienie platformy RoboComp
2 września – 2 listopada: pisanie dokumentów dla każdego komponentu w repozytorium robocomp-robolab z iteratywnym udoskonalaniem w ramach spotkań mentorów i autorów (celem jest uzupełnienie większości nieudokumentowanych dokumentów)
2–26 listopada: pisanie ogólnego dokumentu jako przykładu wykorzystania różnych komponentów do wykonania zadania z zakresu robotyki.
27–29 listopada: koniec raportów dotyczących projektu.
Po GSoD 2019: chcę pozostać w kontakcie z firmą RoboComp, aby dalej ulepszać i utrzymywać moją pracę.
Uwagi końcowe
Należy napisać ogólny przykład integracji różnych komponentów w środowisku RoboComp, aby użytkownicy mogli zrozumieć pełniejszy obraz funkcji RoboComp. Ten przykładowy dokument zostanie szczegółowo omówiony z mentorami, aby określić, jakie zadanie związane z robotyką jest odpowiednie w zależności od obecnej implementacji RoboComp.