AUTONOMICZNY ROBOT DO MAPOWANIA KSZTAŁTÓW AUTONOMOUS ROBOT FOR MAPPING FLOOR PLANE SHAPE. Bartosz MARTYNIUK 1. Opiekun naukowy: Grzegorz BUDZYŃ 2

Podobne dokumenty
PRACA DYPLOMOWA MAGISTERSKA

2.2 Opis części programowej

ROBOT MOBILNY ZBIERAJĄCY INFORMACJE O POMIESZCZENIU

WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA AUTOMATYKI. Robot do pokrycia powierzchni terenu

Projekt i wykonanie robota klasy Micromouse

Ćw. 18: Pomiary wielkości nieelektrycznych II

Raport Robot mobilny klasy micromouse. Adrian Gałęziowski Paweł Urbaniak

Politechnika Poznańska Instytut Technologii Mechanicznej. Laboratorium MASZYN I URZĄDZEŃ TECHNOLOGICZNYCH. Nr 2

Laboratorium Podstaw Robotyki I Ćwiczenie Khepera dwukołowy robot mobilny

PR kwietnia 2012 Mechanika Strona 1 z 5. XTS (extended Transport System) Rozszerzony System Transportowy: nowatorska technologia napędów

Raport z budowy robota Krzysio

Kinematyka manipulatora równoległego typu DELTA 106 Kinematyka manipulatora równoległego hexapod 110 Kinematyka robotów mobilnych 113

Metoda określania pozycji wodnicy statków na podstawie pomiarów odległości statku od głowic laserowych

Aplikacje Systemów. Nawigacja inercyjna. Gdańsk, 2016

Raport z budowy robota typu Linefollower Mały. Marcin Węgrzyn

ZESZYTY NAUKOWE POLITECHNIKI ŚLĄSKIEJ 2014 Seria: TRANSPORT z. 82 Nr kol. 1903

Projekt rejestratora obiektów trójwymiarowych na bazie frezarki CNC. The project of the scanner for three-dimensional objects based on the CNC

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Ćw. 18: Pomiary wielkości nieelektrycznych II

- WALKER Czteronożny robot kroczący

PRACA PRZEJŚCIOWA SYMULACYJNA. Zadania projektowe

Napędy urządzeń mechatronicznych - projektowanie. Ćwiczenie 3 Dobór silnika skokowego do pracy w obszarze rozruchowym

Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A

Wyznaczanie współczynnika załamania światła

Automatyka i Robotyka studia stacjonarne drugiego stopnia

PL B1. Mechanizm pedipulatora do ustawiania pozycji modułu napędowego, zwłaszcza robota mobilnego

Automatyka i Robotyka Opracowanie systemu gromadzącego i przetwarzającego wyniki zawodów robotów.

POLITECHNIKA OPOLSKA WYDZIAŁ MECHANICZNY Katedra Technologii Maszyn i Automatyzacji Produkcji POMIARY KĄTÓW I STOŻKÓW

Konstrukcja Micro Mouse

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Układy zasilania samochodowych silników spalinowych. Bartosz Ponczek AiR W10

ĆWICZENIE NR.6. Temat : Wyznaczanie drgań mechanicznych przekładni zębatych podczas badań odbiorczych

1 105,07 PLN brutto 898,43 PLN netto

Ruch jednostajnie przyspieszony wyznaczenie przyspieszenia

Sensory i systemy pomiarowe Prezentacja Projektu SYNERIFT. Michał Stempkowski Tomasz Tworek AiR semestr letni

BEZDOTYKOWY CZUJNIK ULTRADŹWIĘKOWY POŁOŻENIA LINIOWEGO

PRZETWORNIKI POMIAROWE

Mechatronika i inteligentne systemy produkcyjne. Aktory

Temat: Zaprojektowanie procesu kontroli jakości wymiarów geometrycznych na przykładzie obudowy.

Problematyka budowy skanera 3D doświadczenia własne

Obliczenia polowe silnika przełączalnego reluktancyjnego (SRM) w celu jego optymalizacji

Planowanie przejazdu przez zbiór punktów. zadania zrobotyzowanej inspekcji

Zagadnienia egzaminacyjne AUTOMATYKA I ROBOTYKA. Stacjonarne I-go stopnia TYP STUDIÓW STOPIEŃ STUDIÓW SPECJALNOŚĆ

WIZUALIZACJA I STEROWANIE ROBOTEM

MODEL STANOWISKA DO BADANIA OPTYCZNEJ GŁOWICY ŚLEDZĄCEJ

Autonomiczny robot mobilny LF3 klasy linefollower. Jacek Jankowski

Analogowy sterownik silnika krokowego oparty na układzie avt 1314

MODEL MANIPULATORA O DWÓCH STOPNIACH SWOBODY

Cel ćwiczenia. Przetwornik elektromagnetyczny. Silniki krokowe. Układ sterowania napędu mechatronicznego z silnikiem krokowym.

Próby ruchowe dźwigu osobowego

dr inż. Tomasz Krzeszowski

Szybkie prototypowanie w projektowaniu mechatronicznym

1. Cel ćwiczenia. 2. Podłączenia urządzeń zewnętrznych w sterowniku VersaMax Micro

CHŁOPCZYK Robot typu Line Follower

Ultrasonograficzne mierniki grubości materiału. Seria MTG & PTG

1. Opis aplikacji. 2. Przeprowadzanie pomiarów. 3. Tworzenie sprawozdania

WPROWADZENIE Mikrosterownik mikrokontrolery

Zjawisko Halla Referujący: Tomasz Winiarski

Lista zadań nr 5. Ścieżka projektowa Realizacja każdego z zadań odbywać się będzie zgodnie z poniższą ścieżką projektową (rys.

Struktura manipulatorów

Algorytmy estymacji stanu (filtry)

KRÓTKA INFORMACJA Czujniki poziomu oleju generacji 2

Serwomechanizm - zamknięty układ sterowania przemieszczeniem, o strukturze typowego układu regulacji. Wartość wzorcowa porównywana jest z

Roboty manipulacyjne i mobilne. Roboty przemysłowe zadania i elementy

Ćw. 18: Pomiary wielkości nieelektrycznych II

Spis treści. Przedmowa... XI. Rozdział 1. Pomiar: jednostki miar Rozdział 2. Pomiar: liczby i obliczenia liczbowe... 16

3. WYNIKI POMIARÓW Z WYKORZYSTANIEM ULTRADŹWIĘKÓW.

Temat: Sterowanie mobilnością robota z wykorzystaniem algorytmu logiki rozmytej

Lista zadań nr 1. Zagadnienia stosowanie sieci Petriego (ang. Petri net) jako narzędzia do modelowania algorytmów sterowania procesami

PL B1. POLITECHNIKA CZĘSTOCHOWSKA, Częstochowa, PL BUP 06/11

Sprawozdanie do zadania numer 2

WYBÓR PUNKTÓW POMIAROWYCH

Co nowego w ZW3D 2015 CAM

Optymalizacja wież stalowych

Opis ultradźwiękowego generatora mocy UG-500

PL B1. POLITECHNIKA WARSZAWSKA, Warszawa, PL INSTYTUT TECHNOLOGII EKSPLOATACJI. PAŃSTWOWY INSTYTUT BADAWCZY, Radom, PL

Planowanie ruchu bryły sztywnej

Planowanie drogi robota, algorytm A*

SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

4/4/2012. CATT-Acoustic v8.0

Ćwiczenie 15. Sprawdzanie watomierza i licznika energii

Temat: SZACOWANIE NIEPEWNOŚCI POMIAROWYCH

IMPLEMENTATION OF THE SPECTRUM ANALYZER ON MICROCONTROLLER WITH ARM7 CORE IMPLEMENTACJA ANALIZATORA WIDMA NA MIKROKONTROLERZE Z RDZENIEM ARM7

Sterowanie układem zawieszenia magnetycznego

Rozproszony system zbierania danych.

Ultrasonograficzne mierniki grubości materiału. Seria MTG & PTG

PhoeniX. Urządzenie do wizyjnej kontroli wymiarów oraz kontroli defektów powierzchni

1 Obsługa aplikacji sonary

Ultrasonograficzne mierniki grubości materiału. Seria MTG & PTG

Nasyp przyrost osiadania w czasie (konsolidacja)

MozhePoyedzye. Robot klasy MiniSumo. Konrad Bednarek Michał Rataj

ScrappiX. Urządzenie do wizyjnej kontroli wymiarów oraz kontroli defektów powierzchni

Informatyka studia stacjonarne pierwszego stopnia


Mechanika Robotów. Wojciech Lisowski. 5 Planowanie trajektorii ruchu efektora w przestrzeni roboczej

Rozszerzony konspekt przedmiotu Inteligentne maszyny i systemy

OKREŚLENIE WPŁYWU WYŁĄCZANIA CYLINDRÓW SILNIKA ZI NA ZMIANY SYGNAŁU WIBROAKUSTYCZNEGO SILNIKA

WYZNACZANIE NIEPEWNOŚCI POMIARU METODAMI SYMULACYJNYMI

BŁĘDY W POMIARACH BEZPOŚREDNICH

Sterowanie napędów maszyn i robotów

Transkrypt:

Bartosz MARTYNIUK 1 Opiekun naukowy: Grzegorz BUDZYŃ 2 AUTONOMICZNY ROBOT DO MAPOWANIA KSZTAŁTÓW POWIERZCHNI PŁASKICH Streszczenie: W artykule przedstawiono projekt autonomicznego robota do mapowania kształtów powierzchni płaskich wraz z testowanymi algorytmami mapowania i uzyskanymi wynikami. Pomiar odległości był realizowany poprzez ultradźwiękowe czujniki odległości. Komunikacja pomiędzy robotem a komputerem odbywała się poprzez moduł Bluetooth. Słowa kluczowe: robot mobilny, algorytmy mapowania, ultradźwiękowe czujniki odległości AUTONOMOUS ROBOT FOR MAPPING FLOOR PLANE SHAPE Summary: In this paper a project of autonomous robot for mapping floor plane shape is described along with tested mapping algorithms and obtained results. Distance measurement was conducted using ultrasonic distance sensors. For communication between the robot and computer a Bluetooth module was used. Keywords: mobile robot, mapping algorithms, ultrasonic distance sensors 1. Wstęp Ciągły rozwój układów elektronicznych i postępujący wraz z nim spadek ich ceny, miniaturyzacja i zwiększanie mocy obliczeniowej umożliwiają powstawanie coraz bardziej dokładnych urządzeń automatyczno-robotycznych. Systemy mapowania, rozpoznawania terenu i omijania przeszkód są ważnymi elementami tych urządzeń, ponieważ pozwalają na prace w niezdefiniowanym wcześniej środowisku. Aby robot mógł się bezpiecznie poruszać i wyznaczać optymalną trasę z jednej pozycji do drugiej musi posiadać wiedzę o otoczeniu. Jednym z rozwiązań służącym do jej pozyskania są algorytmy automatycznego mapowania generujące mapy pozwalające na nawigację robota w przestrzeni roboczej. Największym wyzwaniem dla projektanta robota mobilnego służącego do wykonania dokładnych map terenu było zaprojektowanie układu pomiarowego cechującego się zadawalającą dokładnością uzyskanej wartości mierzonej dla czujników odległości oraz położenia, które są 1 Politechnika Wrocławska, Wydział Mechaniczny, mechanika, bartosz.martyniuk@pwr.edu.pl bartosz.martyniuk@pwr.edu.pl 2 dr inż., Politechnika Wrocławska, Wydział Elektroniki, grzegorz.budzyn@pwr.edu.pl

270 Bartosz MARTYNIUK związane z pomiarem przebytej drogi [1]. W celu opracowania dobrej mapy należy uwzględnić niepewności pomiarowe przy jej generowaniu. 2. Projekt robota Celem projektu było wykonanie robota pozwalającego na implementację oraz testy algorytmów mapowania kształtów powierzchni płaskich. Zdjęcie złożonego robota przedstawia rysunek 1. Rysunek 1. Zdjęcie wykonanego robota do mapowania kształtów powierzchni płaskich 2.1. Część mechaniczna W robocie zastosowano wielokołowy układ napędowy napędzany przez dwa silniki krokowe. Każdy silnik napędzał koła po jednej stronie robota. Aby uzyskać tą samą prędkość obrotową kół po jednej stronie robota zastosowano przekładnię zębatą 1:1 między kołami. Jako napęd zostały wybrane unipolarne silniki krokowe 28BYJ-48-5VDC z wbudowaną przekładnią zębatą 64:1 zwiększającą liczbę kroków wymaganych aby uzyskać jeden obrót wałka silnika do 2048 kroków. Silniki te pozwoliły na dokładne pozycjonowanie robota bez użycia enkoderów. Obudowa robota została zaprojektowana w programie Autodesk Inventor i wycięta ze sklejki o grubości 3,7 mm wykorzystując wycinarkę laserową CO2.

Autonomiczny robot do mapowania kształtów powierzchni płaskich 271 2.2. Część elektroniczna Układ elektroniczny w robocie został oparty na płytce Discovery STM32F411VE zawierającej mikroprocesor Cortex M4. Oprócz mikroprocesora płytka posiada akcelerometr, żyroskop i czujnik pola magnetycznego. Wykorzystano je do pomiaru pozycji kątowej robota. Do pomiaru odległości użyto dwa ultradźwiękowe czujniki odległości US-015 o zasięgu 4 m i dokładności +/- 3mm + 1%. Komunikacja pomiędzy robotem a komputerem PC odbywała się używając modułu Bluetooth. Mikrokontroler sterował silnikami krokowymi poprzez dwa sterowniki ULN2003. Elektronika i silniki były zasilane z dwóch akumulatorów 18650 połączonych szeregowo. 2.3. Weryfikacja układu pomiarowego Aby określić dokładność pozycjonowania robota oraz dokładność pomiaru odległości z czujników przeprowadzono testy tych układów. Dokładność pomiaru przemieszczenia sprawdzono wykonując test polegający na wysłaniu do robota komendy przemieszczenia się o 1000mm a następnie zmierzono o ile robot się przemieścił. Test powtórzono dziesięć razy. Dokładność przemieszczenia wynosiła 1000mm +/- 1,5%. Weryfikację czujników odległości dokonano przez ustawienie czujników w odległości 500mm od przeszkody i wykonano serię dziesięciu pomiarów. Uzyskano dokładność pomiaru odległości 500mm +/- 4mm, czyli mieszczącą się w przedziale jaki podaje producent. 3. Algorytmy mapowania powierzchni płaskich Kod programu był częściowo zapisany na mikrokontrolerze robota oraz na komputerze PC. Było to spowodowane mała ilością pamięci robota. Algorytm autonomicznego mapowania kształtów powierzchni płaskich został przedstawiony na rysunku 2. Robot rozpoczyna pomiar od wykonania obrotu o 360 stopni i pomiaru odległości z dwóch czujników. Następnie wykonywana jest aktualizacja mapy, którą robot wykorzystuje do nawigacji. Na wygenerowanej mapie wyszukiwane są wszystkie punkty, których stan jest jeszcze nie wiadomy i są przyległe do obszarów niezajętych. Następnie algorytm pobiera z listy najbliższy punkt niewiadomy i sprawdza czy istnieje bezkolizyjna droga z pozycji początkowej do wybranego punktu. Jeżeli uda się wyznaczyć bezkolizyjną ścieżkę robot podąża tą trasą i gdy dotrze do punktu końcowego znów wykonuje pomiar poprzez obrót o 360 stopni. W przypadku gdy nie można znaleźć bezkolizyjnej ścieżki, punkt niezbadany jest usuwany z listy i kolejny punkt jest sprawdzany. Algorytm kończy działanie gdy skończą się wszystkie niezbadane punkty na liście. Do wyznaczania drogi pomiędzy aktualną pozycją robota a punktem końcowym został zastosowany algorytm A*. 3.1. Algorytm mapowania z rastrową mapą zajętości Jedną z najczęściej używanych reprezentacji map jest rastrowa mapa zajętości (ang. occupancy grid map) [2],[3]. Przestrzeń wokół robota przedstawiona jest jako siatka metryczna. Komórki w tej siatce reprezentują obszar o wcześniej ustalonej wielkości i zawierają wartość liczbową. Jeden, jeżeli komórka jest zajęta lub zero, gdy jest pusta.

272 Bartosz MARTYNIUK Rozmiar rastrowej mapy zajętości ustalono na 300x300 komórek. Wymiar komórek wynosił 30 mm na 30 mm. Algorytm mapowania z rastrową mapą zajętości jest wykonywany podczas wykonywania przez robota funkcji pomiar 360 stopni. START Pomiar 360 stopni Aktualizacja mapy Dodanie punktów niezbadancyh do listy KONIEC NIE i < długość listy TAK Znalezienie najbliższego punktu niezbadanego i++ Wyznaczenie trasy od aktualnej pozycji do punktu niezbadanego - algorytm A* usuń niezbadany punkt z listy NIE Czy znaleziono trasę? TAK Wyślij trasę do robota Rysunek 2. Algorytm autonomicznego mapowania kształtów powierzchni płaskich Danymi wejściowymi dla algorytmu była pozycja robota oraz odległość z czujników odległości. Algorytm mapowania z rastrową mapą zajętości stosuje odwrotny model pomiarowy. Na podstawie wskazań z czujników na mapie zajętości zmieniane były

Autonomiczny robot do mapowania kształtów powierzchni płaskich 273 wszystkie pola znajdujące się w wycinku koła o kącie 15 stopni i promieniu wynoszącym zmierzoną przez czujnik odległość. Pola znajdujące się w odległości zmierzonej +/- niepewność pomiarowa były uznawane jako zajęte (1) a reszta pól w wycinku jako pola wolne (0). Zamiana wartości komórek w takim obszarze spowodowana jest charakterystyką fali ultradźwiękowych czujników odległości. Odwrotny model pomiarowy dla obu czujników pokazano na rysunku 3. Rysunek 3. Odwrotny model pomiarowy dla obu czujników. Odległość zmierzona 1000 mm W algorytmie tym wyznaczono dwie wartości graniczne odległości z oraz z. max 2 Gdy zmierzona wartość przekroczy próg z pomiar jest uznawany jako błędny max 2 i nie jest uwzględniany. Jest to najczęściej spowodowane zwróceniem wartości maksymalnej przez czujnik. Próg z został wprowadzony aby zwiększyć dokładność otrzymywanych map. Jeżeli wartość odległości jest większa od z a mniejsza od z na mapie jest rysowany pusty wycinek koła o promieniu 100 mm. max 2 3.2. Algorytm wyszukiwania maksimum lokalnego najbardziej prawdopodobnej mapy Algorytm wyszukiwania lokalnego maksimum najbardziej prawdopodobnej mapy jest algorytmem offline wymagającym pobrania danych ze wszystkich pomiarów i pozycji robota w celu wygenerowania mapy. W odróżnieniu od algorytmu z rastrową mapą zajętości stosowany jest tutaj prosty model pomiarowy. Algorytm na początku zeruje mapę a następnie na podstawie danych wylicza prawdopodobieństwo zajętości komórki (1) dla k = 1 lub 0. Po wielokrotnym obliczaniu prawdopodobieństwa dla całej mapy uzyskuje się maksimum lokalne, które jest przybliżeniem najbardziej prawdopodobnej mapy [4].

274 Bartosz MARTYNIUK k m arg max i = ( l0 ) + log ( f ( zt, xt, m dla mi = k )) (1) t gdzie: l jest logitem prawdopodobieństwa wstępnego zajętości pola a, 0 f ( z t, xt, m dla m i = k ) jest modelem pomiarowym. Prosty model pomiarowy na podstawie pozycji oraz mapy zwraca logarytm prawdopodobieństwa pomiaru. Pomiar dzielony jest na serię pomiarów liniowych, których średnia wyznacza prawdopodobieństwo pomiaru. Prawdopodobieństwo pojedynczego pomiaru jest wyznaczane na podstawie prawdopodobieństwa rozkładu normalnego, gdzie jest zmienną losową, m odległość do pierwszego zajętego pola na mapie średnią. 4. Wyniki pomiarów Algorytmy testowano na torze pomiarowym, którego kształt jest pokazany na rysunku 4. Robot był umieszczany wewnątrz toru pomiarowego i algorytm autonomicznego mapowania był uruchamiany. Rysunek 4. Kształt toru pomiarowego Dla algorytmu mapowania z rastrową mapą zajętości testowano dwie odległości graniczne z równe 700 mm oraz 350 mm. Wyniki działania algorytmu pokazano na rysunku 5. Przy nastawie z 700 mm widoczne są częściowo zmapowane ściany. Widać również dużą niedokładność pomiaru w rogach toru pomiarowego spowodowaną wielokrotnym odbiciem się fali od ścian powodującym zawyżenie mierzonej odległości. Przy nastawie 350 mm otrzymywana jest bardziej dokładna mapa. Wyniki pomiarów oraz pozycje robota otrzymane przy z równym 350 mm posłużyły jako dane dla algorytmy wyszukiwania maksimum lokalnego najbardziej prawdopodobnej mapy.

Autonomiczny robot do mapowania kształtów powierzchni płaskich 275 Rysunek 5. Wynik działania algorytmu mapowania z rastrową mapą zajętości dla równego a) 700 mm, b) 350 mm Porównanie wyników dwóch różnych algorytmów zamieszczono w tabeli 1 oraz na rysunku 6. Rysunek 6. Porównanie działania algorytmów. Z lewej strony algorytm mapowania z rastrową mapą zajętości. Z prawej strony algorytm wyszukiwania maksimum lokalnego najbardziej prawdopodobnej mapy. Tabela 1. Różnice pomiędzy algorytmem mapowania z rastrową mapą zajętości (1) z algorytmem wyszukiwania maksimum lokalnego najbardziej prawdopodobnej mapy (2). ALGORYTM 1 ALGORYTM 2 Cieńsze ściany Grubsze ściany Ostre rogi mapy Rogi mapy zaokrąglone Nieciągłe ściany Ciągłe ściany Algorytm online Algorytm offline Krótkie obliczenia Długie obliczenia

276 Bartosz MARTYNIUK Dzięki algorytmowi mapowania z rastrową mapą zajętości uzyskuje się mapę z cienkimi i ostrymi krawędziami lecz nie pozbawioną błędów takich jak nieciągłości w ścianach. Jest to algorytm online przez co możliwa jest szybka generacja mapy i jej użycie do nawigowania w nieznanym środowisku. Natomiast algorytm wyszukiwania maksimum lokalnego najbardziej prawdopodobnej mapy generuje mapę o grubszych i zaokrąglonych krawędziach wygładzając nieciągłości w ścianach mapy. Algorytm ten może zwrócić mapę lepiej odwzorowującą otoczenie jednakże nie można tworzyć mapy w trakcie pracy robota. 5. Wnioski Ultradźwiękowe czujniki odległości pomimo wad związanych z szerokim stożkiem pomiarowym i problemami wynikającymi z wielokrotnym odbijaniem się fali ultradźwiękowej są ekonomicznym rozwiązaniem do tworzenia map przez autonomiczne roboty. Wraz z zmniejszaniem maksymalnej dopuszczalnej odległości pomiarowej w algorytmie mapowania z rastrową mapą zajętości wzrasta dokładność mapy. Dokładność tworzonych map z użyciem obu algorytmów jest również zależna od ilości dostępnej pamięci. LITERATURA 1. THURN S., BURGARD W., FOX D., Probabilistic Robotics, The MIT Press, 2005. 2. SCHRÖTER C., HANS-JOACHIM B., HORST-MICHAEL G.: Memory- Efficient Gridmaps in Rao-Blackwellized Particle Filters for SLAM using Sonar Range Sensors, Proc. 3rd European Conference on Moblie Robots (ECMR), (2007), 138-143 3. COLLINS T., COLLEENS J.J., RYAN D.Ł Occupancy Grid Mapping: An Empirical Evaluation, Mediterranean Conference on Control and Automation, (2007). 4. THRUN S.Ł Learning Occupancy Grid Maps with Forward Sensor Models, Autonomous Robots, 15(2003) 2, 111-127