WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA AUTOMATYKI Metody całkowitego pokrycia powierzchni terenu przez robota mobilnego
DEFINICJA POJĘCIA CAŁKOWITEGO POKRYCIA POWIERZCHNI Kolejne odwzorowania powierzchni robota na powierzchnię terenu powstałe w wyniku rzutowania prostopadłego pola powierzchni robota na płaszczyznę XY terenu w każdym punkcie ścieżki ruchu pokrywają całą powierzchnię terenu Robot mobilny Y Robot mobilny Powierzchnia pokrywana Powierzchnia pokrywana Rzut powierzchni robota na powierzchnię terenu (powierzchnia pokryta) Rzut prostopadły X pola powierzchni robota na powierzchnię terenu w każdym punkcie trajektorii ruchu (powierzchnia pokryta)
Pokrycie powierzchni na podstawie znanej mapy środowiska oraz danych sensorycznych POKRYCIE POWIERZCHNI Tworzenie mapy terenu na podstawie danych sensorycznych Pokrycie powierzchni na podstawie utworzonej mapy środowiska oraz danych sensorycznych Pokrycie powierzchni bez znanej a priori mapy środowiska Pokrycie powierzchni tylko na podstawie danych sensorycznych
OGÓLNY PODZIAŁ METOD CAŁKOWITEGO POKRYCIA TERENU Dostępna mapa terenu Metody oparte na planowaniu ścieżki pokrycia Dekompozycja komórkowa Metoda grafów Voronoi a fale ognia Metoda punktów krytycznych funkcji Morse a Metoda pól potencjałów Metody szablonowe Niedostępna mapa terenu Metody behawioralne oparte na zachowaniach Metody wykorzystujące losowy algorytm ruchu Metody wykorzystujące szablonowy algorytm ruchu
CHARAKTERYSTYKA METOD OPARTYCH NA PLANOWANIU Wady Niezbędny model świata zewnętrznego mapa Wysoki stopień skomplikowania algorytmów Trudności w uzyskaniu pracy w czasie rzeczywistym Metody oparte na planowaniu Trudność w uwzględnianiu dynamicznych zmian w środowisku ruchome przeszkody Brak odporności na błędy sensoryczne Zalety Świadomość skutków swoich działań Wysoki stopień pokrycia powierzchni
METODA GRAFÓW VORONOI A Wyznaczenie granic pomiędzy komórkami - określenie wszystkich punktów jednakowo odległych od wszystkich przeszkód Przeszkody nieruchome Komórki Granice komórek
METODA BRUSHFIRE - FAL OGNIA Metoda konstrukcji diagramów Voronoi a - polega na generacji przez wszystkie przeszkody fal ognia o jednakowej prędkości propagacji, a miejsca zderzenia czół fal są liniami diagramu, które zarazem są granicami między komórkami Metoda generuje komórki należące do diagramu Voronoi a oraz takie, które do niego nie należą Komórki należące do diagramu Komórki nie należące do diagramu
METODA PUNKTÓW KRYTYCZNYCH FUNKCJI MORSE A Polega na podziale obszaru na plastry, które rozdzielają się napotykając na swej drodze przeszkody. Miejsca, w których rozdzielają się, czyli następuje topologiczna zmiana ich spójności, są jednocześnie granicami komórek Podział na plastry dokonywany jest za pomocą funkcji tnącej h(x) Funkcja h(x) posiada w punktach zmiany spójności (krytycznych) ekstremum - jej gradient h(x)=0 Punkt krytyczny to taki, w którym normalna do powierzchni przeszkody m(x) jest równoległa do gradientu funkcji tnącej h(x)
METODA PUNKTÓW KRYTYCZNYCH FUNKCJI MORSE A Interpretacja graficzna sposobu wyznaczania punktu krytycznego x 2 CC i = {( x, x ) m( x, x ) 0} 1 2 1 2 = Definicja granicy przeszkody q h( q) h( q) ( ) m q Plaster x 1 q = x x 1 2 Gradient funkcji tnącej Normalna do powierzchni przeszkody
POSTACIE FUNKCJI TNĄCYCH Postacie funkcji tnących determinują kształt komórek oraz ścieżek pokrycia ( x) x1 h = Podział komórkowy Ścieżka pokrycia
POSTACIE FUNKCJI TNĄCYCH ( x) x1 h = Podział komórkowy Ścieżka pokrycia
( ) ( ) 2 x = x ( ) 2 1 x h + POSTACIE FUNKCJI TNĄCYCH 2 Podział komórkowy Ścieżka pokrycia
h ( ) 2 x = tan x 1 POSTACIE FUNKCJI TNĄCYCH x Podział komórkowy Ścieżka pokrycia
ROZKŁAD TRAPEZOIDALNY Rozkład dokonywany za pomocą metody punktów krytycznych funkcji Morse a Granice komórek przebiegają przez punkty wierzchołkowe przeszkody opisanej za pomocą wielokąta Komórka
ROZKŁAD TRAPEZOIDALNY Trzy typy zdarzeń Wewnątrz - jedna komórka dzieli się na dwie Na zewnątrz -dwie komórki łączą się w jedną Stara komórka Nowa komórka Stara komórka Nowa komórka Nowa komórka Stara komórka Plaster Plaster Pomiędzy - bieżąca komórka jest zamykana i formowana jest nowa
ROZKŁAD BOUSTROPHEDON Modyfikacja rozkładu trapezoidalnego polegająca na połączeniu komórek pomiędzy zdarzeniami Wewnątrz i Na zewnątrz Zdarzenie Pomiędzy - oznacza uaktualnienie bieżącej komórki Zmniejszenie liczby nawrotów i jednocześnie skrócenie ścieżki pokrycia Komórka Komórka Komórka
METODA POLA POTENCJAŁÓW Metoda łącząca zmodyfikowaną metodę pola potencjałów z metodą siatki Obszar dzielony jest na komórki o równych wymiarach (kwadraty) Generowana jest fala dystansowa, która propagując się przez całą wolną przestrzeń przyporządkowuje komórkom wartości zależne od odległości od punktu docelowego (im są dalej od niego tym wartość im przypisana jest większa) - utworzenie pola potencjałów Ścieżka całkowitego pokrycia powstaje na podstawie założenia, że robot może przejść do komórki bliżej celu (o mniejszej wartości), jeśli był we wszystkich sąsiadujących z nią, bardziej odległych od punktu końcowego (o większych wartościach), komórkach
Podziału komórkowego i zastosowania fali dystansowej METODA POLA POTENCJAŁÓW Graficzne przedstawienie: Ścieżki całkowitego pokrycia S S G G S - punkt startu robota G - punkt docelowy robota
METODA SZABLONOWA Polega na zastosowaniu opisywanych wcześniej sposobów generacji ścieżki pozwalających wypełnić powierzchnie poszczególnych komórek do bezpośredniego pokrycia całego obszaru powierzchni Metoda oparta jest na wykorzystaniu pewnych elementarnych składowych ruchu zwanych szablonami do planowania trajektorii kompletnego wypełnienia Najważniejsze szablony złożone to: Ruch siewcy Ruch spiralny (trajektoria w kształcie prostokąta, okręgu)
METODA SZABLONOWA Moduł planujący na podstawie mapy powierzchni terenu generuje ścieżkę pokrycia złożoną z predefiniowanych szablonów TM - linia łącząca dwa punkty
METODA SZABLONOWA UT - skręt w kształcie litery U SS - manewr przejścia do następnej równoległej ścieżki, kiedy UT nie jest możliwy do wykonania
METODA SZABLONOWA UTI - sekwencja pięciu szablonów UT - używany, kiedy promień skrętu robota jest zbyt duży BT - sekwencja dwóch skrętów i trzech linii prostych - pozwala pokryć obszary za przeszkodami
METODA SZABLONOWA Symulacja działania modułu planującego ścieżkę pokrycia złożoną z szablonów
CHARAKTERYSTYKA METOD BEHAWIORALNYCH Wady Brak świadomości skutków swoich działań Niski stopień i efektywność pokrycia powierzchni Metody behawioralne Zalety Nie jest wymagany model sceny mapa (odporność na brak wiedzy, jej nieprecyzyjność) Niski stopień skomplikowania algorytmów Łatwość uzyskania pracy w czasie rzeczywistym Możliwość uwzględnienia dynamicznych zmian w środowisku ruchome przeszkody Ograniczenie wpływu błędów sensorycznych
METODA OPARTA O RUCH LOSOWY Zachowania proste B i B 1 unikanie nieruchomych przeszkód B 2 szum generuje losowy kierunek ruchu B 3 ruch do celu (wykrywanie_brudu) B 4 sondowanie (wykrywanie_bieżącego_kierunku) B 5 odkurzanie B 6,7 nieczynny motor Operatory koordynacji @ 1 -@ 3 Dokonują syntezy prostych zachowań poprzez sumowanie ważonych sygnałów wyjściowych produkowanych przez poszczególne zachowania
METODA OPARTA O RUCH LOSOWY Struktura zachowań zaimplementowanych w metodzie S 1..S n - bodźce A - akcje B 1..B 7 proste zachowania A f forage poszukiwanie A a acquire zdobywanie A v vacuum odkurzanie A dd detect dirt wykrycie brudu A od over dirt nad brudem A vt vacuuming task @ 1..@ 4 operatory koordynujące zachowania
METODA OPARTA O RUCH LOSOWY Wyniki symulacji działania robota z wykorzystaniem opisanej metody pokrycia Ścieżka ruchu robota Wnioski 1. Chaotyczna trajektoria ścieżki pokrycia niski stopień pokrycia powierzchni terenu 2. Kilkukrotne pokrycie tego samego obszaru niska efektywność pokrycia powierzchni terenu
METODA OPARTA O SZABLONOWY ALGORYTM RUCHU Ruch wołu Algorytm ruchu: Zachowania zaimplementowane 1. Ruch na wprost dopóki nie widać przeszkody 2. Skręt o 180 O od ściany, kiedy przeszkoda w odległości 500mm od robota. 3. Ruch na wprost dopóki nie widać przeszkody 4. Skręt o 180 O w kierunku przeciwnym do poprzedniego
METODA OPARTA O SZABLONOWY ALGORYTM RUCHU Ruch wołu złożenie zachowań sensomotorycznych Ruch na wprost Skręt, kiedy przeszkoda jest blisko przed robotem działa konkurencyjnie do ruchu na wprost Zachowania dodatkowe Wykrywanie przeszkody w czasie skrętu Skręt w przeciwnym kierunku niż poprzedni Ruch wzdłuż ścian zachowanie wykorzystywane przy wykonywaniu zachowania na wprost w celu niedopuszczenia do zboczenia z kursu
METODA OPARTA O SZABLONOWY ALGORYTM RUCHU Zachowania nie zaimplementowane Początek wolnego obszaru zachowanie inicjowane po pojawieniu się sygnału nie wykonania skrętu 1 2 3 4 5 1. Ruch z powrotem po wykonanej już ścieżce pokrycia 2. Wykrycie nie pokrytego obszaru przez sensory boczne 3. Skręt o 90 O w kierunku nie pokrytego obszaru 4. Skręt o 90 O w kierunku przeciwnym 5. Inicjalizacja zachowania ruch wołu
METODA OPARTA O SZABLONOWY ALGORYTM RUCHU Wykrycie opuszczonego obszaru zachowanie monitorujące i zapisujące obecność opuszczonych obszarów na podstawie porównania długości obecnej (linia zielona) i poprzedniej (linia czerwona) ścieżki pokrycia oraz odczytów sensorów bocznych W przypadku wykrycia opuszczonego obszaru wystawiana jest flaga opuszczonego obszaru
METODA OPARTA O SZABLONOWY ALGORYTM RUCHU Opuszczony obszar 1 zachowanie umożliwiające pokrycie terenu po obu stronach przeszkody wolnostojącej. Zachowanie zostaje zainicjowane, kiedy robot zakończył ścieżkę pokrycia z jednej strony przeszkody, a flaga opuszczonego obszaru jest aktywna Robot porusza się wzdłuż ściany przeszkody do początku obszaru opuszczonego (linia żółta), po czym rozpoczyna egzekucję ścieżki pokrycia
METODA OPARTA O SZABLONOWY ALGORYTM RUCHU Opuszczony obszar 2 zachowanie umożliwiające pokrycie terenu z obu stron przeszkody przylegającej do ściany (linia żółta). Zachowanie inicjowane, kiedy zachowanie początek wolnego obszaru jest wykonane, a flaga opuszczonego obszaru jest aktywna. Robot porusza się wzdłuż ściany przeszkody do początku obszaru opuszczonego (linia żółta), po czym rozpoczyna egzekucję ścieżki pokrycia
METODA OPARTA O SZABLONOWY ALGORYTM RUCHU Wyniki symulacji pokrycia powierzchni terenu A,B,C obszary nie pokryte Minimalny zasięg sensorów bocznych - ~200 mm Ograniczenia ruchowe wynikające z budowy robota ~60 mm Minimalny zasięg sensorów przednich - ~200 mm
Założenia METODA ŁĄCZĄCA ALGORYTM RUCHU LOSOWEGO I SZABLONOWEGO Teren całkowicie nieznany W terenie występują obiekty nieruchome Tryby pracy ŚMIAŁY tryb odczytów z sensorów zbliżeniowych niskiej czułości NIEŚMIAŁY tryb odczytów z sensorów zbliżeniowych wysokiej czułości
METODA ŁĄCZĄCA ALGORYTM RUCHU LOSOWEGO I SZABLONOWEGO Zaimplementowane zachowania Unikanie kolizji na podstawie danych z sensorów zbliżeniowych niskiej i wysokiej czułości Losowy ruch prostoliniowy ruch po skręcie w prawo lub w lewo o kąt z zakresu (0 180 0 ) Poruszanie się wzdłuż ściany okrążanie przeszkód na podstawie odczytów z sensorów bocznych Ruch wołu złożenie ruchu prostoliniowego ze skrętem o 180 0 w przypadku napotkania przeszkody Klaustrofobia pozwala na nawigację w wąskich przejściach utworzonych przez 5 lub więcej przeszkód
METODA ŁĄCZĄCA ALGORYTM RUCHU LOSOWEGO I SZABLONOWEGO Symulacje trzech typów kombinacji zachowań Losowy ruch prostoliniowy z poruszaniem się wzdłuż ściany Losowy ruch prostoliniowy alternatywnie do poruszania się wzdłuż ściany w trybach nieśmiały, i śmiały Losowy ruch prostoliniowy alternatywnie do: a) zachowania klaustrofobii w połączeniu z trybem nieśmiały i b) ruchu wzdłuż ściany w połączeniu z trybem śmiały Wyniki symulacji Pierwsza misja stopień pokrycia 35% Najlepsza misja po obniżeniu czułości sensorów 70%
METODY KOORDYNACJI ZACHOWAŃ Konkurencyjna W danej chwili aktywne jest tylko jedno zachowanie, które przejmuje kontrolę nad układami wykonawczymi robota. Metoda nie daje możliwości wzięcia pod uwagę różnych kryteriów. Kooperacyjna Wszystkie zachowania są ciągle aktywne i biorą udział w generacji sygnału sterującego układami wykonawczymi zgodnie z przypisanymi im wagami. Metoda pozwala uwzględniać również sprzeczne cele.
KOORDYNACJA ZACHOWAŃ ROBOTA Schemat blokowy układu sterowania rozmytego autonomicznego robota mobilnego Dane sensoryczne Zachowanie 1 Zachowanie 2 Zachowanie 3... Zachowanie n Defuzyfikacja Sygnał sterujący Metareguły
SCHEMAT ZACHOWANIA PSEUDOREAKTYWNEGO Bodźce zewnętrzne Wektor flag i wartości liczników F n Sensory Blok przetwarzający 1 Blok pamięci Blok przetwarzający 2 Blok pamięci... Blok przetwarzający n Zachowanie pseudoreaktywne Wektor sygnałów sensorycznych S Wektor sygnałów sterujących U Akcje Blok wykonawczy Otoczenie
SCHEMAT ZACHOWANIA REAKTYWNEGO (SENSOMOTORYCZNEGO) Bodźce zewnętrzne Wektor sygnałów sensorycznych S Wektor sygnałów sterujących U Akcje Otoczenie Sensory Moduł przetwarzający Układy wykonawcze Zachowanie sensomotoryczne
STRUKTURA MODUŁU PRZETWARZAJĄCEGO Moduł przetwarzający ma za zadanie na podstawie danych sensorycznych generować sygnały sterujące układami wykonawczymi Moduł przetwarzający zbudowany jest z pojedynczej reguły bądź zbioru reguł Wektor sygnałów sensorycznych S Moduł przetwarzający JEŚLI S TO U Wektor sygnałów sterujących U
ROZMYTA KOORDYNACJA ZACHOWAŃ ROBOTA METODA CDB gdzie: Wybór zachowania zdefiniowanie metareguł sytuacyjnych JEŚLI A i TO C i A i rozmyta formuła zbudowana z rozmytych przesłanek na podstawie wektora sygnałów sensorycznych S przy użyciu operatorów min, max lub dopełnienia do 1 C i zbiór rozmyty opisujący sygnały sterujące U napędem robota Baza reguł przyporządkowanych danemu zachowaniu R= {R 1,...,R n } Synteza reguł przeprowadzana jest na podstawie zależności gdzie: DES R (s,u) = (A 1 (s) C 1 (u))... (A n (s) C n (u)) DES R funkcja użyteczności poszczególnych zachowań
Synteza zachowań generacja sygnału sterującego Przyporządkowanie każdemu zachowaniu kontekstu zastosowania wyrażonego jako rozmyta formuła Cxt B Dla danego zbioru zachowań B={B 1,...,B k } gdzie: DES B (s,u) = (Cxt 1 (s) DES 1 (s,u))... (Cxt k (s) DES k (s,u)) DES B wypadkowa funkcja użyteczności Sygnał sterujący U wyraża się zależnością U = u* DES DES (s,u)du (s,u)du B Sygnał sterujący U może być wektorem zawierającym wiele zmiennych np.: prędkość, przyspieszenie, kąt skrętu B