janusz a. starzyk wyzsza szkola informatyki i zarzadzania w rzeszowie
DESCRIPTION
Roboty Funkcje Motoryczne. W oparciu o wykład Dr. Hadi Moradi University of Southern California. Janusz A. Starzyk Wyzsza Szkola Informatyki i Zarzadzania w Rzeszowie. Zakres wykładu. Proste sterowanie reakcyjne Sterowanie reakcyjne (reactive control) Arbitraż - PowerPoint PPT PresentationTRANSCRIPT
Janusz A. Starzyk Wyzsza Szkola Informatyki i Zarzadzania w Rzeszowie
W oparciu o wykład Dr. Hadi Moradi
University of Southern California
Roboty Funkcje Motoryczne
Zakres wykładu Zakres wykładu
• Proste sterowanie reakcyjne• Sterowanie reakcyjne (reactive control)• Arbitraż• Przejmowanie cech (Subsumption)• Rozszerzone Automaty Skończone –
(AFSM: Augmented Finite State Machine)• Pola potencjałów• Trochę sugestii na temat programowania
kontrolerów reakcyjnych
Proste sterowanie reakcyjneProste sterowanie reakcyjne
• Zamknięta pętla pomiędzy sensorami a efektorami robota• Brak wewnętrznej reprezentacji dla zwykłego sterowania
reakcyjnego• Składa się z:
– Sytuacji (bodźce)– Akcji (reakcja)
• Najprostsza forma: sytuacje wykluczające się wzajemnie lub unikalne– Jedna akcja w odpowiedzi na każdą sytuacje:
• If( bumper == 1) && (timer < 10 ) then avoid()• If( bumper == 0) && (timer==10) then seek_light()
– Zwane niezależnymi regułami zachowania
Proste sterowanie reakcyjneProste sterowanie reakcyjne
• Najprostsza forma:– Podzielić postrzegany świat na zbiory wzajemnie
wykluczających się sytuacji– Rozpoznać sytuację w której się jest– Zareagować na nią
• Ruch weza:
Przykład: Sterowanie jako funkcja postrzeganych danych
Przypadek 1: Jeśli sonary 12,13 lub 14 to skręć w lewo o 20 st/sec.
•Spójrz na 9 wartości zewnętrznych sonaru – które są najbliższe?
Przypadek 2: Jeśli sonary 15, 0, lub 1 skręć w lewo o 40 st./sec.Przypadek 3: Jeśli sonary 2, 3, lub 4 skręć w prawo o 20 st./sec.
012
3
4
1514
13
12
Przykład Zachary Dodds
Przykład 0: Owady
Rodney Brooks @ MIT (1985)
unikanie przedmiotów
eksploracja
poznawanie
zbudowanie mapy
identyfikacja obiektu
planowanie i rozumowanie
wycz
uw
ani
e
dzi
ała
nie„behawioralna” dekompozycja zadania
Zauważ: równoległe operacje
Insekt robot
Pajak robot
Metoda Celowa
Metoda reakcyjna
Przypomnienie: Celowość
wycz
uw
an
ie
dzi
ała
nie
perc
epcj
a
modelo
wanie
św
iata
pla
now
anie
wyko
nanie
za
dania
kontr
ola
m
oto
ru
„funkcjonalna” dekompozycja zadania
unikanie przedmiotu
eksploracja
poznawanie
zbudowanie mapy
identyfikacja obiektu
planowanie i rozumowanie
wycz
uw
ani
e
dzi
ała
nie
„behawioralna” dekompozycja zadania
Proste reagowanie: Przykład 1
• Unikanie przeszkód– Ruchome przeszkody– Stałe przeszkody
• Przeszkody:– Prawa strona
• Ruch w lewo po zakrzywionej ścieżce
– Lewa strona• Ruch w prawo po
zakrzywionej ścieżce
Proste sterowanie reakcyjneProste sterowanie reakcyjne
• Zadanie: Potrzebujemy kombinację wszystkich możliwych czuciowych sytuacji.
• Pytanie: Ile wynosi liczba kombinacji dla ‘n’ czujników?
• Odpowiedz: Jeśli czujniki binarne: 2n
• Planowanie uniwersalny lub całkowite odwzorowanie: Wszystkie możliwe sposoby + optymalne akcje dla każdego sposobu
• Planowanie reakcyjne jest w czasie kompilacji, nie w czasie wykonywania
Proste sterowanie reakcyjneProste sterowanie reakcyjne
• Wady:
– Trudno określić wszystkie możliwe sytuacje
– Ogromna przestrzeń czuciowa/wejsciowa
– Ogromna tabela relacji sytuacji do akcji• Wolniejsze wyszukiwanie
• Większe zapotrzebowanie na pamięć
• Rozwiązanie:
– Mały wybrany zbiór specyficznych sytuacji i akcji
– Automatyczne akcje pokrywające resztę
Zachowanie zależneZachowanie zależne
• Automatyczne ogólne akcje pokrywające większość sytuacji– Dopóki (prawda) jedz_naprzód ()
• Wyspecjalizowane reguły dla szczególnych sytuacji– jeśli(zderzak==1) wtedy unikaj()
• Zauważ: Wiele reguł może być wywołanych jednocześnie.
• Q: Która określa wyjście?
Trochę pytańTrochę pytań
• Jak uczyć się automatycznie? – Wygeneruj pary sytuacyjno-akcyjne
• Jak automatycznie zmniejszać przestrzeń wejść?
• Autonomia działania– Tokyo Lecture 3 time 1:24:00-1:32:00
Przykład 2: Arbitraż
• Chcemy zaprogramować mobilnego robota który będzie:– Poruszał się do przodu aż
uderzy w przeszkodę– Następnie ominie przeszkodę
i będzie kontynuował ruch
Image courtesy of Boulette’s robotics
Wykonane jako jedno zadanie
ArbitrażArbitraż
• Wiele reguł może być wywołanych jednocześnie– Reguły mogą wygenerować kolidujące rozkazy dla
efektorów.– Jak zdecydować którą regułę wykonać?
• Rozwiązanie:– Ustalona hierarchia priorytetów– Hierarchia dynamiczna (zmienia się w czasie działania)– Uczenie (priorytety są poznawane w trakcie działania)– Pole potencjału (suma wektorów)
Przykład 2: Arbitraż
• Zadanie arbitra: rozdział zadań• Tylko podprogram sterujący
silnikiem ma bezpośredni dostęp do silnika.– Jeśli rozkaz_silnika =
rozkaz_naprzód wtedy włącza ruch naprzód
• Anulowanie ma najwyższy priorytet
Przykład 2: Arbitraż
• Zalety– Nie ma konfliktu dostępu do silnika– Dostęp przekazany do najwyższych
priorytetów– Złożoność programu nie rośnie gwałtownie
wraz ze wzrostem liczby zadań• Jest to nazywane architekturą
podporządkowaną (subsumption).
Przykład 2+1: Ślimak
• Wyjada glony ze skał– Na skałach blisko wody
• Idzie wyżej ponad wodę
• Pozostaje żywy:– Pozostaje w szczelinach
• Szuka ciemności
• Jeśli jest do góry nogami w wodzie– Szuka światła
• Zmienia położenie z prądem fal
Przykład 2+1: Ślimak
Do góry
Ciemno
Jasno
Szparabrak wody
do góry nogami+woda
s
s
s
pełzanie
Architektura Podporządkowana (Subsumption)
• Architektura Podporządkowana jest metodologią rozwoju robotów ze sztuczną inteligencją.
• Jest ona w dużym stopniu związana z robotyką bazującą na zachowaniu.
• Termin został wprowadzony przez Rodney Brooks i jego kolegów w 1986.
• Architektura Podporządkowana była szeroko stosowana w autonomicznych robotach i w innych zastosowaniach sztucznej Inteligencji czasu rzeczywistego.
• Architektura podporzadkowana– Tokyo Lecture 5 time 1:10:50-1:18:00
Przykład 3: Subsumption
• Zbuduj robota unikającego przeszkód przy poszukiwaniu światła:– Dwa silniki: napęd i
sterowanie– 4 czujniki odległości
• Dleft, Dright, Dfront, Drear
– Jedna fotokomórka: • Kieruje do źródła światła Przeszkoda
Drear Dfront
Dleft
Dright
Ładowanie
Przykład 3: Subsumption
• Wędrowanie dookoła:– Nieprzerwany ruch
Wędrowanie Silniki
Przykład 3: Subsumption
• Unikanie przeszkody:– Unikanie w określonej odległości– Obrót w prawo jeśli przeszkoda z lewej strony– Obrót w lewo jeśli z prawej
• Żadnego ustalonego kierunku, tylko w prawo albo w lewo
OmijanieCzujniki Silniki
Przykład 3: Subsumption
• Łączenie dwóch pierwszych warstw
OmijanieCzujniki
Wędrowanie SilnikiS
Przykład 3: Subsumption
• Szukanie światła w celu podładowania– Jeśli baterie są słabe, – Idź w kierunku światła (wykorzystaj
fotokomórkę)
ŁadowanieBateria Silniki
Fotokom.
Przykład 3: Subsumption
• Łączenie warstw
ŁadowanieBateria
Fotokom.
UnikanieCzujniki S
Wędrowanie SilnikiS
Przykład 3: Subsumption
• Łączenie warstw (lepszy model)
ŁadowanieBateria
Fotokom.
UnikanieCzujniki S
Wędrowanie SilnikiS
• Hierarchia warstw kontrolnych– Najniższe warstwy zajmują się najbardziej podstawowymi
zadaniami– Ostatnio dodane warstwy wykorzystują już istniejące.– Każdy komponent sprzyja i nie przeszkadza silnemu
powiązaniu między wyczuwaniem i działaniem.• Motywowana przez rozwój• Budowana od podstaw• Komponenty wykonują zadania (bez planowania)• Zadania równoległe• Żadnych potrzeb dla wewnętrznych modeli
Architektura Podporządkowana
Architektura Podporządkowana : WarstwyArchitektura Podporządkowana : Warstwy
• Rozpoczynamy od podstawowych funkcji motorycznych• Budujemy nowe warstwy na starych• Istniejące warstwy niższego poziomu pozostają bez zmian• Rozwój przyrostowy:
– Buduj– Testuj– Dodaj
• Niższe warstwy kontynuują działanie niezależnie do wyższych warstw
• Jeśli zachowania wyższego poziomu zawiodą, wówczas powrót do poziomu podstawowego. Tolerancja błędu.
Współdziałanie WarstwWspółdziałanie Warstw
• Wyższe warstwy zakładają istnienie niższych
– Odbierają sygnały sensoryczne z niższych warstw
– Hamują wyjścia niższych warstw
– Blokują wejścia niższych warstw
• Wyjście z wyższej warstwy może podporządkować wyjścia niższych warstw
– Podporządkowanie wyjścia = arbitraż reguł
– Wyjścia kontrolowane przez hierarchie zachowań
• Inteligentne roboty (prof. Masayuki Inaba U. Tokyo)– Tokyo Lecture 3 time 1:33:30-1:53:20
Przykład 4: Robot DywanowyPrzykład 4: Robot Dywanowy
• Wiele sensorow:– Swiatla– Odległości na podczerwień– Zderzak– Dźwięku
• Wiele zachowan:– Jazda– Wodzenie za światłem– Odjeżdżanie– Unikanie
Przykład 4: Robot DywanowyPrzykład 4: Robot Dywanowy
Przykład 4: Robot DywanowyPrzykład 4: Robot Dywanowy
• Wyjścia– Motoryczne (różnicowy)– Brzęczyk
• Patynie: Jaka hierarchie działań chciałbyś określić dla tego robota?