1 / 65

Roboty Funkcje Motoryczne

Roboty Funkcje Motoryczne. Inteligentne Systemy Autonomiczne. 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

yoshi
Télécharger la présentation

Roboty Funkcje Motoryczne

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Roboty Funkcje Motoryczne Inteligentne Systemy Autonomiczne W oparciu o wykład Dr. Hadi Moradi University of Southern California Janusz A. Starzyk Wyzsza Szkola Informatyki i Zarzadzania w Rzeszowie

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

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

  4. 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:

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

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

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

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

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

  10. 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ę

  11. 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?

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

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

  14. 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 dwa zadania Image courtesy of Boulette’s robotics

  15. Przykład 2: Arbitraż • Co będzie jeśli dodamy trzecie zadanie i więcej • Będzie poruszał się do przodu aż uderzy w przeszkodę • Następnie ominie przeszkodę i będzie kontynuował ruch • Podąży w kierunku wskazanym przez kompas

  16. Przykład 2: Arbitraż • Zadanie: • Pewne problemy przechodzą z jednego zadania do drugiego (sterowanie silnikiem). Image courtesy of Boulette’s robotics

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

  18. Przykład 2: Arbitraż Image courtesy of Boulette’s robotics

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

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

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

  22. Przykład 2+1: Ślimak brak wody Szpara do góry nogami +woda Jasno s Ciemno s Do góry s pełzanie

  23. Arbitraż • Arbitration: rozwiązuje kolidujące reakcje bodziec - odpowiedź: • Subsumption: Zwycięzca bierze wszystko (Rodney Brooks, MIT, 1985) • Pola potencjałów: Ważona suma odpowiedzi. Big Dog robot – Boston Dynamics (3min 28 sek)

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

  25. Architektura Podporządkowana • Q: Jak wprowadzić priorytet w sprzęcie?

  26. Architektura Podporządkowana • Wyższy poziom steruje niższymi warstwami: • Hamowanie: powstrzymanie transmisji • Narzucanie: zastępuje wiadomość wiadomością narzuconą • Zerowanie: przywraca zachowanie do stanu pierwotnego

  27. Architektura Podporządkowana • Przykład: • Niższe poziomy: Umiejętności przetrwania i podstawowe funkcje motoryczne • Ruch • Unikanie przeszkód • Złożone zachowania • Szukanie • Zbieranie • Buduj na warstwie poprzedniej (budowa warstwowa) • Wszystkie warstwy są typu bodziec-reakcja, bez planowania

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

  29. Przykład 3: Subsumption • Wędrowanie dookoła: • Nieprzerwany ruch Silniki Wędrowanie

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

  31. Przykład 3: Subsumption • Łączenie dwóch pierwszych warstw Czujniki Omijanie Silniki Wędrowanie S

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

  33. Przykład 3: Subsumption • Łączenie warstw Fotokom. Bateria Ładowanie Czujniki Unikanie S Silniki Wędrowanie S

  34. Przykład 3: Subsumption • Łączenie warstw (lepszy model) Fotokom. Bateria Ładowanie Czujniki Unikanie S Silniki Wędrowanie S

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

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

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

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

  39. Przykład 4: Robot Dywanowy

  40. Przykład 4: Robot Dywanowy • Wyjścia • Motoryczne (różnicowy) • Brzęczyk • Patynie: Jaka hierarchie działań chciałbyś określić dla tego robota?

  41. Pytania?

  42. Roboty Funkcje Motoryczne Uzupełnienia

  43. Example 5: Brook’s 3 Layer

  44. Another Example runaway behavior

  45. Another Example wander behavior runaway behavior

  46. Another Example navigate behavior wander behavior runaway behavior

  47. AFSM: Augmented Finite State Machine • Subsumption composed of networks of finite state machines augmented with timers • Timers allow state change after a predefined period of time • An AFSM can: • be in one state at a time. • Receive one or more inputs • Send one or more outputs

  48. AFSM and Layers • Layers are connected so the higher level can suppress inputs or inhibit the outputs of a lower layer. • Coupling between layers, even AFSMs, can be: • Through wires • Through the world (an action based the output of a lower level) • Idea: Instead of storing the world internally, use it externally.

  49. Turn Right Avoid Wander Move Forward Turn Left Example 6 A robot’s different states and transition between states.

  50. Charger Dleft Drear Dfront Dright Obstacle Potential Fields • Vector summation • As the battery level drops, the vector toward light gets bigger

More Related