KNR Bionik

Projekty

BallCollector

Autonomiczny robot operujacy w przestrzeni hali sportowej



Robot i jego system sterowania

System do zbierania piłeczek, opisany w artykule, został stworzony na bazie Modułowego Robota Mobilngo Elektron [1]. Aplikacja ta została stworzona na bazie wcześniejszych rozwiązań dotyczących zaawansowanych algorytmów nawigacji robota mobilnego [2], a jej najistotniejsza część, czyli podsystem wizyjny, zostanie opisana w dalszej części artykułu.

Algorytm działania robota został opisany za pomocą automatu przedstawionego na rysunku 1a. Po uruchomieniu robota koordynator przekazuje sterowanie do zadania eksploracji. Zadanie eksploracji otoczenia jest realizowane dopóki w wyniku eksploracji jakaś piłka nie znajdzie się w polu widzenia robota lub robot ulegnie zakleszczeniu. Zadania eksploracji oraz zbierania piłki mogą być przerwane w dowolnym momencie, jeśli koordynator uzna, że robot uległ zakleszczeniu. Następuje wówczas przekazanie sterowania do zadania obsługi zakleszczenia. Zadanie obsługi zakleszczenia nie może zostać przerwane. Koordynator czeka na zakończenie obsługi zakleszczenia a następnie przekazuje sterowanie do zadania eksploracji. Koordynator przekazuje sterowanie do zadania zbierania piłek w chwili gdy jakaś piłka lub wiele piłek znajdzie się w polu widzenia robota. Realizacja zadania zbierania piłek podzielona została na kilka etapów przedstawionych na rysunku 1b.

a)b)
Rys. 1. Automat opisujący algorytm działania robota (a) oraz etapy zbierania piłeczek (b)


Identyfikacja położenia piłek, które znajdują się w polu widzenia robota podzielona jest na 4 etapy. Przebieg tego procesu rozpoczyna się od akwizycji obrazu za pomocą sensora Microsoft Kinect. Wynikiem zaś są współrzędne piłek, które znajdują się w polu widzenia robota oraz są dostępne do zebrania. Pierwszym etapem identyfikacji położenia piłek w polu widzenia robota jest przetworzenie obrazu głębi, którego najważniejsze kroki przedstawiono na rysunku 2.

a)b)
Rys. 2. Przetwarzanie obrazu głębi. (a) filtr krawędziowy na obrazie głębi (b) wykryte piłeczki


Po wyznaczeniu położeń piłeczek w przestrzeni i przekształceniu ich do globalnego układu współrzędnych możliwe jest zaplanowanie trajektorii dojazdu do wybranych piłeczek. Piłeczki umieszczane są na mapie kosztu (rys. 3), z której korzysta planer ścieżki lokalnej.


Rys. 3. Piłeczka umieszczona na mapie kosztu wykorzystywanej przez system nawigacji

Eksperymenty

W celu weryfikacji działania aplikacji przeprowadzone zostało kilka eksperymentów, podczas których zostały zasymulowane różne warunki pracy oraz ułożenia piłeczek. W szczególności przetestowane zostały różne sytuacje wyjątkowe, obsługa zakleszczeń oraz przeszkadzanie w pracy robota przez osoby trzecie. We wszystkich przypadkach robot poradził sobie z zadaniem bez błędów. Jedyną wadą stworzonej aplikacji jest jej szybkość działania – robot Elektron porusza się dość powoli, więc uprzątnięcie całej sali z piłeczek zajmuje od kilkunastu do kilkudziesięciu minut.


Rys. 4. Widok z przebiegu jednego ze scenariuszy testowych

Wnioski

Opisana aplikacja, mająca na celu stworzenie robota mogącego operować w przestrzeni hali sportowej, dowiodła zasadności projektu. Prototypowa konstrukcja, oparta o istniejącą bazę mobilną, pozwala na prowadzenie wielu badań z zakresu różnych strategii eksploracji, dojścia do piłeczki, czy chociaż testowania rozwiązań sprzętowych. Opracowane algorytmy i zdobyte doświadczenia mogą być bazą do konstrukcji robota dedykowanego do opisywanego zadania, mogącego wykonać je w czasie znacznie krótszym niż kilkanaście minut.

Bibliografia

  1. W. Szynkiewicz, R. Chojecki, A. Rydzewski, M. Majchrowski, P. Trojanek. Modułowy robot mobilny Elektron. Postępy Robotyki: Sterowanie, percepcja i komunikacja, wolumen 1, strony 265–274. Wydawnictwa Komunikacji i Łączności, Warszawa, 2006.
  2. M. Stefańczyk, T. Winiarski, M. Walęcki, K. Banachowicz. Nawigacja robotem Elektron z wykorzystaniem kamery 3D i lidaru. Prace Naukowe Politechniki Warszawskiej. Elektronika, strony 265-274, 2012.

Autorzy

Kamil Drożdżał
Konrad Banachowicz
Maciej Stefańczyk
Michał Walęcki
Piotr Majcher
Tomasz Ferens
Wojciech Węclewski