Udostępnienie materiałów

Dokumentacja wraz z projektem wytworzone w ramach projektu Robotów Mobilnych będą udostępnione publicznie, chyba, że autorzy nie wyrażą na to zgody w formie pisemnej.

Zasady zaliczenia

Podczas projektu realizowane są projekty zarówno sprzętowe jak i programowe.

Projekt jest realizowany w grupach dwuosobowych przy wykorzystaniu technologii i narzędzi wspomagających pracę zespołową, jak np. git, Latex.

Projekty sprzętowe

  • robot mobilny typu linefollower
  • robot mobilny typu (mini/micro/nano) sumo
  • robot balansujący
  • manipulator
  • manipulator mobilny
  • inne pojazdy, roboty zaproponowane przez grupę

Projekty programistyczne

  • symulacja robota w środowisku wirtualnym
    • Wykorzystanie odpowiedniego środowiska symulacyjnego jak np. Bullet, CoppeliaSim. Modelowanie robota w środowisku. Realizacja projektu w tym zakresie może dotyczyć modelowania dynamiki robota w środowisku symulacyjnym, implementacja sterowników, jak również percepcji robota (lidar, laser, kamery, itp.).
  • planowanie ścieżki dla robota mobilnego
    • Zagadnienie związane z planowaniem ścieżki dla robota mobilnego przy wykorzystaniu popularnych algorytmów, takich jak A*, czy RRT. Uwzględnianie kolizyjności z przeszkodami, dynamiczne replanowanie ścieżki, a także uwzględnienie ograniczeń nieholonomicznych (kinematyki) robota.
  • planowanie trajektorii dla robota mobilnego
    • Zagadnienie powiązane z planowaniem ścieżki, gdzie wejściem do planera ruchu jest ścieżka (krzywa parametryzowana odległością), a wyjściem jest trajektoria (krzywa parametryzowana czasem). Podczas planowania należy uwzględnić rzeczywiste ograniczenia robota, jak np. maksymalna prędkość, czy promień skrętu.
  • implementacja sterownika dla pojazdu
    • Implementacja sterownika dla robota mobilnego w środowisku symulacyjnym, np. CopeliaSim.
  • implementacja protokołów komunikacji bezprzewodowej pomiędzy sterownikami robotów
    • Implementacja i testy protokołu pezprzewodowej komunikacyji. Uwzględnienie ograniczeń protokołu, obecność potwierdzenia doręczenia wiadomości, itp. Implementacja może odbywać się z wykorzystaniem już istniejącego protokołu z tzw. rozgłaszaniem w celu przeprowadzenia implementacji rozwiązania.
  • percepcja robota mobilnego
    • przetwarzanie danych pochodzących z lidarów, laserów, kamer, kamer stereowizyjnych. Zagadnienia z zakresu kalibracji sensorów, estymacja położenia na podstawie sygnałów z czujników, itp.
  • implementacja nowych sensorów
    • implementacja czujników (jak np. lidar Livox) jako rozszerzenie środowiska symulacyjnego LGSVL. Lidary Livox wykorzystują skanowanie przestrzeni za pomocą wzoru w odróżnieniu od technik warstwowej.
  • badanie kolizyjności, kinematyka
    • wykorzystanie modelu Ackermana do modelowania kinematyki samochodu w celu odwzorowania ruchu pojazdu w symulatorze. Wykrywanie kolizyjności w oparciu o model.
  • detekcja obiektów
    • wykrywanie obiektów z strumienia danych, zarówno kamer, kamer stereowizyjnych, lidarów.
  • budowanie mapy dla metody pól potencjałów
    • budowa mapy prawdopodobieństwa w oparciu o mapę bazującą na grafie połączeń, odwzorowanie sieci dróg w mapę prawdopodobieństwa, uwzględnianie obiektów stałych na mapie, parametryzacja rozwiązania.

Przykładowe narzędzia i frameworki

Middleware:

Zbiory danych:

Biblioteki:

Symulatory:

Mapy:

Inne:

Przykładowe opracowanie projektu

Grupa decyduje się na zadanie związane z kalibracją lidarów.
Celem projektu jest stworzenie oprogramowania, które pozwoli na automatyczną kalibrację lidarów, to jest znalezienie transformaty układu jednego lidara do drugiego. Aby to zrealizować grupa decyduje się, że najlepiej jest znaleźć specyficzny obiekt (najprostsze z rozważanych rozwiązań), który widoczny jest jednocześnie przez oba sensory.
Lidar jako dane wejściowe oferuje chmurę punktów, którą można przetwarzać wykorzystując bibliotekę PCL. Wymagane jest teoretyczne opracowanie problemu, to jest znalezienie transformaty pomiędzy lokalnymi układami współrzędnych.
Dodatkowo należy określić, czy projekt będzie pracował na danych syntetycznych, np. wytworzonych przy pomocy oprogramowania jak np. Unity, Gazeboo, czy może na rzeczywistych danych pochodzących z gotowych zbiorów danych tzw. datasetów.

Oczywiście nie są to jedyne aspekty, na które należy zwrócić uwagę! Wymagane jest rozpoznanie tematu, w stopniu, który pozwoli na całościowe ujęcie jego problematyki.

Ocenie podlegać będzie:

  • zakres zrealizowanych zadań,
  • wykorzystanie narzędzi do wspomagania pracy zespołowej,
  • dokumentacja techniczna,
  • wiedza studenta na temat zrealizowanego projektu,
  • terminowość oddawanych etapów.

Dopuszcza się realizacje projektów zaproponowanych przez studenta. Propozycja ta powinna być zaakceptowana przez prowadzącego oraz uzgodniona odpowiednio wcześniej.

Wytworzone dokumenty, kod programu (odpowiednio dla etapu) powinny być umieszczone na e portalu. Zarówno dokumentacja jak i archiwum powinno posiadać odpowiednią nazwę.

Etapy projektu:

Etap I

Przedstawienie założeń projektowych w formie dokumentu elektronicznego (PDF). Należy umieścić go na eportalu przed oddaniem etapu. Dokument powinien zawierać:

  • opis projektu,
  • założenia projektowe,
  • zakres prac,
  • podział pracy pomiędzy członków zespołu (maksymalnie jedno zadanie na etap może być realizowane wspólnie),
  • wykres Gantta,
  • opis poszczególnych kamieni milowych.

Kurs na eportalu można znaleźć pod nazwą RoMoP (dla projektu, miejsce właściwe wysyłania wytworzonej dokumentacji oraz projektu). Hasło od kursu zostanie podane na pierwszych zajęciach.

Etap II

Raport (PDF) z zrealizowanych prac w ramach projektu oraz procentowe określenie realizacji projektu. Należy umieścić go na eportalu przed oddaniem etapu.

Etap III

Oddanie oraz prezentacja wykonanego projektu.
Dostarczenie dokumentacji technicznej w postaci dokumentu elektronicznego (PDF) wraz z plikami projektu, kodem źródłowym oraz innymi niezbędnymi elementami wymaganymi do odtworzenia projektu (archiwum ZIP). Kompletny projekt wraz z dokumentacją należy umieścić na eportalu przed oddaniem etapu.

Reguły oceniania

Etap I — 20% oceny końcowej

Każdy z członków grupy powinien w każdym etapie mieć wymienione od 2 do 4 zadań. Maksymalnie jedno zadanie na etap może być realizowane jednocześnie przez członków zespołu. Dokument powinien być przygotowany zgodnie z komentarzami z szablonu.

Ocena za etap I
Ocena = k0 + k1 + k2 + k3 + k4 + k5,
gdzie
k1 in [0,1.0] — poprawne opracowanie dokumentu w systemie składania tekstu LaTeX, wykorzystanie dostarczonego szablonu,
k2 in [0,0.5] — przynajmniej dwie pozycje literaturowe traktujące o problematyce projektu,
k3 in [0,0.5] — przynajmniej 2 pozycje ściśle związane z wykorzystanym sprzętem, układami elektronicznymi, modułami, itp.,
k4 in [0,1.5] — merytoryczna część założeń projektowych
k5 in [0,0.5] — podział prac w projekcie na zadania.

Etap II — 30% oceny końcowej

Ocena za etap II
Ocena = k0 + k1 + k2 + k3,
gdzie
k1 in [0,0.5] — poprawne opracowanie dokumentu w systemie składania tekstu LaTeX, wykorzystanie dostarczonego szablonu,
k2 in [0,1] — wykorzystanie systemu do wspomagania pracy zespołowej — git, każdy z członków grupy projektowej powinien mieć co najmniej 4 commity,
k3 in [0,2.5] — merytoryczna część raportu (realizacja zadań z podziału prac zawartych w założeniach projektowych)

Etap III — 50% oceny końcowej

Ocena za etap III
Ocena = k0 + k1 + k2 + k3
gdzie
k1 in [0,0.5] — poprawne opracowanie dokumentu w systemie składania tekstu LaTeX, wykorzystanie dostarczonego szablonu,
k2 in [0,0.5] — wykorzystanie systemu do wspomagania pracy zespołowej — git, każdy z członków grupy projektowej powinien mieć co najmniej 8 commitów,
k3 in [0,3.0] — merytoryczna część dokumentacji końcowej (realizacja zadań z podziału prac zawartych w założeniach projektowych),

Uwaga — dotyczy wszystkich etapów:

k0 in [0,1] — 1.0 pkt. oddanie pracy w terminie za pośrednictwem eportalu, na zajęciach danej grupy (nie później niż do końca zajęć), 0.5 pkt. opóźnienie oddania dokumentu nie przekraczające 7 dni (7 * 24 * 60 * 60 sekund) liczone od czasu końca zajęć, na które grupa projektowa uczęszcza,

W przypadku, gdy opóźnienie jest większe niż 14 dni (14 * 24 * 60 * 60 sekund) ocena za etap nie może być wyższa niż 3.5.
W przypadku braku merytorycznej zawartości dokumentu składanego w danym etapie ocena za ten etap nie może być wyższa niż 2.0.

Ramowy plan kursu:

Terminy oddania poszczególnych etapów przedstawione są jako zakres dat; dany etap należy oddać w terminie zajęć, na który student jest zapisany.

(28.02):

Szkolenie BHP
Przedstawienie czego będzie dotyczył projekt.
Zaprezentowanie zasad zaliczenia.
Podział na grupy oraz przydzielenie projektów grupom.

Proszę przygotować co najmniej dwie propozycje tematów, jakie będą realizowane w ramach projektu.


(13.03):

Przedstawienie etapu I (założenia projektowe należy złożyć za pośrednictwe eportalu), (obecność obowiązkowa dla wszystkich członków grupy)

(08.05):

Przedstawienie etapu II (obecność obowiązkowa dla wszystkich członków grupy)

(17.06):

Przedstawienie etapu III — oddanie projektu oraz wystawienie oceny (obecność obowiązkowa dla wszystkich członków grupy).

Założenia projektowe, raport, dokumentacja techniczna

Przykładowy szablon dokumentu dla każdego z etapów dostępny jest pod linkiem: sr_szablon_projekt.zip. Zawiera on szczegółowy opis co powinno się znaleźć w dokumencje dla każdego etapu. Do edytowania dokumentu w systemie LaTeX można posłużyć się oprogramowaniem np. TeXstudio.

Nazwa dokumentu musi być następująca:

RoMoP_ROK_Akronim_AABB_n.pdf

gdzie ROK to rok kalendarzowy, w którym odbywają się zajęcia, Akronim to akronim lub skrót utworzony z nazwy projektu, AABB to inicjały autorów, n to numer etapu. Np. zajęcia odbywają się w roku 2018, projekt ma nazwę Mikroprocesorowy system przetwarzania, a więc jego akronim to MSP, Autorzy to Jan Abacki oraz Kamil Babacki, raport dotyczy trzeciego etapu, a więc nazwa pliku to: RoMoP_2018_WSP_JAKB_3.pdf

Również oddając projekt powinien być on spakowany za pomocą archiwizatora zip lub 7-zip. Podczas tworzenia archiwum należy usunąć katalog Debug. Nazwa pliku z archiwum powinna być następująca:

RoMoP_ROK_Akronim_AABB_n_projekt.zip lub RoMoP_ROK_Akronim_AABB_n_projekt.7z