Projekt RoboComp

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ą

    1. Organizowanie cotygodniowych spotkań w celu określenia zakresów projektów oraz oczekiwania ze strony autora tekstu i mentorów.
    2. 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.