320 likes | 489 Views
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ż
E N D
Roboty FunkcjeMotoryczne 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ż • 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 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 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:
15 1 14 2 13 3 12 4 Przykład: Sterowanie jako funkcja postrzeganych danych • Spójrz na 9 wartości zewnętrznych sonaru – które są najbliższe? Przypadek 1: Jeśli sonary 12,13 lub 14 to skręć w lewo o 20 st/sec. Przypadek 2: Jeśli sonary 15, 0, lub1 skręć w lewo o 40 st./sec. Przypadek 3: Jeśli sonary 2, 3, lub 4 skręć w prawo o 20 st./sec. 0 Przykład Zachary Dodds
Przykład 0: Owady Pajak robot Rodney Brooks @ MIT (1985) planowanie i rozumowanie „behawioralna” dekompozycja zadania identyfikacja obiektu wyczuwanie zbudowanie mapy działanie poznawanie eksploracja unikanie przedmiotów Insekt robot Zauważ: równoległe operacje
Przypomnienie: Celowość Metoda Celowa kontrola motoru „funkcjonalna” dekompozycja zadania wykonanie zadania modelowanie świata działanie planowanie percepcja wyczuwanie Metoda reakcyjna planowanie i rozumowanie identyfikacja obiektu wyczuwanie zbudowanie mapy działanie „behawioralna” dekompozycja zadania poznawanie eksploracja unikanie przedmiotu
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 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 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ż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ń • 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 Wykonane jako jedno zadanie Image courtesy of Boulette’s robotics
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 brak wody Szpara do góry nogami +woda Jasno s Ciemno s Do góry 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 Ładowanie Dleft Drear Dfront Dright Przeszkoda
Przykład 3: Subsumption • Wędrowanie dookoła: • Nieprzerwany ruch Silniki Wędrowanie
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 Czujniki Silniki Omijanie
Przykład 3: Subsumption • Łączenie dwóch pierwszych warstw Czujniki Omijanie Silniki Wędrowanie S
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ę) Fotokom. Bateria Silniki Ładowanie
Przykład 3: Subsumption • Łączenie warstw Fotokom. Bateria Ładowanie Czujniki Unikanie S Silniki Wędrowanie S
Przykład 3: Subsumption • Łączenie warstw (lepszy model) Fotokom. Bateria Ładowanie Czujniki Unikanie S Silniki Wędrowanie S
Architektura Podporządkowana • 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 : 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 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 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 Dywanowy • Wyjścia • Motoryczne (różnicowy) • Brzęczyk • Patynie: Jaka hierarchie działań chciałbyś określić dla tego robota?