janusz a. starzyk wyzsza szkola informatyki i zarzadzania w rzeszowie

32
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

Upload: ayita

Post on 12-Jan-2016

44 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Janusz A. Starzyk  Wyzsza Szkola Informatyki i Zarzadzania w Rzeszowie

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

Page 2: Janusz A. Starzyk  Wyzsza Szkola Informatyki i Zarzadzania w Rzeszowie

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

Page 3: Janusz A. Starzyk  Wyzsza Szkola Informatyki i Zarzadzania w Rzeszowie

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

Page 4: Janusz A. Starzyk  Wyzsza Szkola Informatyki i Zarzadzania w Rzeszowie

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:

Page 5: Janusz A. Starzyk  Wyzsza Szkola Informatyki i Zarzadzania w Rzeszowie

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

Page 6: Janusz A. Starzyk  Wyzsza Szkola Informatyki i Zarzadzania w Rzeszowie

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

Page 7: Janusz A. Starzyk  Wyzsza Szkola Informatyki i Zarzadzania w Rzeszowie

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

Page 8: Janusz A. Starzyk  Wyzsza Szkola Informatyki i Zarzadzania w Rzeszowie

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

Page 9: Janusz A. Starzyk  Wyzsza Szkola Informatyki i Zarzadzania w Rzeszowie

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

Page 10: Janusz A. Starzyk  Wyzsza Szkola Informatyki i Zarzadzania w Rzeszowie

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ę

Page 11: Janusz A. Starzyk  Wyzsza Szkola Informatyki i Zarzadzania w Rzeszowie

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?

Page 12: Janusz A. Starzyk  Wyzsza Szkola Informatyki i Zarzadzania w Rzeszowie

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

Page 13: Janusz A. Starzyk  Wyzsza Szkola Informatyki i Zarzadzania w Rzeszowie

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

Page 14: Janusz A. Starzyk  Wyzsza Szkola Informatyki i Zarzadzania w Rzeszowie

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)

Page 15: Janusz A. Starzyk  Wyzsza Szkola Informatyki i Zarzadzania w Rzeszowie

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

Page 16: Janusz A. Starzyk  Wyzsza Szkola Informatyki i Zarzadzania w Rzeszowie

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).

Page 17: Janusz A. Starzyk  Wyzsza Szkola Informatyki i Zarzadzania w Rzeszowie

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

Page 18: Janusz A. Starzyk  Wyzsza Szkola Informatyki i Zarzadzania w Rzeszowie

Przykład 2+1: Ślimak

Do góry

Ciemno

Jasno

Szparabrak wody

do góry nogami+woda

s

s

s

pełzanie

Page 19: Janusz A. Starzyk  Wyzsza Szkola Informatyki i Zarzadzania w Rzeszowie

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

Page 20: Janusz A. Starzyk  Wyzsza Szkola Informatyki i Zarzadzania w Rzeszowie

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

Page 21: Janusz A. Starzyk  Wyzsza Szkola Informatyki i Zarzadzania w Rzeszowie

Przykład 3: Subsumption

• Wędrowanie dookoła:– Nieprzerwany ruch

Wędrowanie Silniki

Page 22: Janusz A. Starzyk  Wyzsza Szkola Informatyki i Zarzadzania w Rzeszowie

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

Page 23: Janusz A. Starzyk  Wyzsza Szkola Informatyki i Zarzadzania w Rzeszowie

Przykład 3: Subsumption

• Łączenie dwóch pierwszych warstw

OmijanieCzujniki

Wędrowanie SilnikiS

Page 24: Janusz A. Starzyk  Wyzsza Szkola Informatyki i Zarzadzania w Rzeszowie

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.

Page 25: Janusz A. Starzyk  Wyzsza Szkola Informatyki i Zarzadzania w Rzeszowie

Przykład 3: Subsumption

• Łączenie warstw

ŁadowanieBateria

Fotokom.

UnikanieCzujniki S

Wędrowanie SilnikiS

Page 26: Janusz A. Starzyk  Wyzsza Szkola Informatyki i Zarzadzania w Rzeszowie

Przykład 3: Subsumption

• Łączenie warstw (lepszy model)

ŁadowanieBateria

Fotokom.

UnikanieCzujniki S

Wędrowanie SilnikiS

Page 27: Janusz A. Starzyk  Wyzsza Szkola Informatyki i Zarzadzania w Rzeszowie

• 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

Page 28: Janusz A. Starzyk  Wyzsza Szkola Informatyki i Zarzadzania w Rzeszowie

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.

Page 29: Janusz A. Starzyk  Wyzsza Szkola Informatyki i Zarzadzania w Rzeszowie

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

Page 30: Janusz A. Starzyk  Wyzsza Szkola Informatyki i Zarzadzania w Rzeszowie

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

Page 31: Janusz A. Starzyk  Wyzsza Szkola Informatyki i Zarzadzania w Rzeszowie

Przykład 4: Robot DywanowyPrzykład 4: Robot Dywanowy

Page 32: Janusz A. Starzyk  Wyzsza Szkola Informatyki i Zarzadzania w Rzeszowie

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?