Damian Baraniak

Praca inżynierska

Nawigacja sześcionożnym robotem kroczącym Elkapod w ROS2

Rozpoczęcie: 20 listopada 2024
Obrona: 13 lutego 2026
Promotor: Dawid Seredyński

Celem niniejszej pracy było zaprojektowanie i opracowanie zaawansowanego systemu nawigacji dla robota kroczącego, zdolnego do autonomicznego poruszania się w nieznanych pomieszczeniach. Nawigacja tego typu robotów stanowi istotne wyzwanie ze względu na specyfikę ich kinematyki oraz zwiększone wymagania dotyczące percepcji otoczenia. Opracowywanie rozwiązania podzielono na dwa etapy. Pierwszy z nich dotyczy reprezentacji oraz percepcji otoczenia robota z wykorzystaniem czujnika LiDAR 3D i obejmuje zagadnienia między innymi odometrii oraz jednoczesnej lokalizacji i mapowania. Drugi etap skupia się na wykorzystaniu zgromadzonych danych środowiskowych do planowania oraz realizacji ścieżki prowadzącej do zadanego celu. W ramach pracy zaimplementowano autorski kontroler odpowiedzialny za egzekwowanie wyznaczonej trajektorii, uwzględniający ograniczenia kinematyczne robota kroczącego. System nawigacji został zintegrowany w środowisku ROS 2, zapewniając współpracę modułów percepcji, planowania i sterowania. Proces projektowania, implementacji oraz konfiguracji przeprowadzono w dostarczonym środowisku symulacyjnym. Do realizacji zadań związanych z percepcją otoczenia wykorzystano pakiet RTAB-Map, natomiast do planowania i realizacji nawigacji zastosowano pakiet Nav2. Poprawność działania opracowanego systemu zweryfikowano poprzez serię eksperymentów symulacyjnych. Badania obejmowały analizę działania systemu percepcji otoczenia, w szczególności wpływu doboru parametrów algorytmu ICP na jakość estymacji odometrii, porównanie różnych źródeł odometrii oraz ocenę jakości konstruowanej mapy środowiska. Dodatkowo przeprowadzono testy systemu nawigacji w środowiskach o zróżnicowanym stopniu skomplikowania, pozwalające ocenić skuteczność planowania i realizacji trajektorii. Uzyskane wyniki umożliwiły ocenę jakości działania całego systemu oraz analizę jego obciążenia obliczeniowego, stanowiąc podstawę do dalszych prac nad doborem docelowej platformy sprzętowej robota.