Roboty Funkcje Motoryczne

Slides:



Advertisements
Podobne prezentacje
Poland - DAPHNE subproject
Advertisements

Session 6 Case Study – Elektrim SA Saturday, January 15, 2011 SAL Wroclaw Lectures on Corporate Governance Geoffrey Mazullo Principal Emerging Markets.
G.Broda Helsinki 20-22, September 2010
Projekt Do kariery na skrzydłach – studiuj Aviation Management Projekt współfinansowany ze ś rodków Europejskiego Funduszu Społecznego. Biuro projektu:
Usługi sieciowe Wykład 9 VPN
Statistics – what is that? Statystyka dla gimnazjalistów.
Projekt Do kariery na skrzydłach – studiuj Aviation Management Projekt współfinansowany ze ś rodków Europejskiego Funduszu Społecznego. Biuro projektu:
Projekt Do kariery na skrzydłach – studiuj Aviation Management Projekt współfinansowany ze ś rodków Europejskiego Funduszu Społecznego. Biuro projektu:
Projekt Do kariery na skrzydłach – studiuj Aviation Management Projekt współfinansowany ze ś rodków Europejskiego Funduszu Społecznego. Biuro projektu:
Projekt Do kariery na skrzydłach – studiuj Aviation Management Projekt współfinansowany ze ś rodków Europejskiego Funduszu Społecznego. Biuro projektu:
Wstęp do geofizycznej dynamiki płynów. Semestr VI. Wykład
POLISH FOLK DANCE - KUJAWIAK
Saint Nicolaus.
Moja przyszłość Whom am I supposed to be? When everything deceptive? To the destination the long road, but difficult tasks... Kim mam być? Gdy wszystko.
Copyright for librarians - a presentation of new education offer for librarians Agenda: The idea of the project Course content How to use an e-learning.
Materiały pochodzą z Platformy Edukacyjnej Portalu Wszelkie treści i zasoby edukacyjne publikowane na łamach Portalu
Software Engineering 0. Information on the Course Leszek J Chmielewski Faculty of Applied Informatics and Mathematics (WZIM) Warsaw University of Life.
Team Building Copyright, 2003 © Jerzy R. Nawrocki Requirements Engineering Lecture.
Dzielenie relacyjne / Relational Division
Parallel Processing, Pipelining, Flynn’s taxonomy
JET PUMPS introduction POMPY STRUMIENIOWE wstęp
Ministerstwo Gospodarki Poland'sexperience Waldemar Pawlak Deputy Prime Minister, Minister of Economy March 2010.
Polaryzacja światła.
Współprogramy Plan: Motywacja Składnia Scenariusz obiektu współprogramu Przykłady Producent – konsument ( instrukcja attach ) Czytelnik -pisarze ( instukcja.
Creating Public Value Lazarski School of Commerce and Law May, 2011 Edward T. Jennings, Jr. University of Kentucky Martin School of Public Policy and Administration.
„Accidentally in love”
Przykłady sieci obiektowych
„Tworzenie aplikacji sieciowych w języku Java”
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Tworzenie aplikacji sieciowych w języku Java Threads Prezentacja.
POLSKA SZKOŁA PODSTAWOWA IM. LECHA BĄDKOWSKIEGO W LUZINIE
MS SQL SERVER udział w rynku. Source: Gartner Dataquest (May 2006) Company Market Share (%) Market Share (%) Growth (%) Oracle6, ,
DIRECT &INDIRECT QUESTIONS
Testy. Test I 1. You dont have to watch the move if you dont want to. 2. How old is your sister? 3. We are going to meet Tom next week. 4. They live in.
Projekt "Zagraniczna mobilność szkolnej kadry edukacyjnej w ramach projektów indywidualnych współfinansowany przez Unię Europejską w ramach środków Europejskiego.
1 Building Integration System - Training Internal | ST-IST/PRM1 | 02/2008 | © Robert Bosch GmbH All rights reserved, also regarding any disposal,
16 maja Zaproszenie Serdecznie zapraszamy na II Festiwal Piosenki Angielskiej dla Przedszkolaków który odbędzie się w Przedszkolu Nr 14 dnia 16.
Do you know who I am? Czy wiesz kim ja jestem Soy alguien con quien convives a diario Im somebody you live with every day.. Jestem kims z kim żyjesz.
Contents About Kujawiak dance About Kuyavia S. Strzeleckis Kujawiak notes Kuyavias coat of arms Song Quiz.
Trade unions - how to avoid problems ? Kancelaria Prawna Bujakiewicz & Sancewicz 1.
Kosmologia realistyczna Marek Kutschera 05 V 2009 IPJ.
______________________________________ TARGU-JIU 2010.
Theory of Computer Science - Basic information
Comenius The Great Wonders of Europe The Polish school is called … is called …
About a risk in our area, do we know enough ?
- For students (12 questions) - For parents (6 questions) - For grandparents (6 questions)
BLOOD DONATION.
POLAND. we will take you on a journey during which you will learn something about us.
Writing about my new house
Stakeholder Analysis Lazarski University May, 2011 Edward T. Jennings, Jr. University of Kentucky Martin School of Public Policy and Administration.
Uczenie w sieciach Bayesa
Struktury Sieci Neuronowych
Teksty prymarne (original texts) to teksty autentyczne, nie są przeznaczone dla celów dydaktycznych; teksty adaptowane (simplified/adapted texts)są przystosowane.
Instrukcja switch switch (wyrażenie) { case wart_1 : { instr_1; break; } case wart_2 : { instr_2; break; } … case wart_n : { instr_n; break; } default.
NEW MODEL OF SCHOOL HEADS PREPARATION, INDUCTION AND CONTINUING PROFESSIONAL DEVELOPMENT IN POLAND Roman Dorczak, Grzegorz Mazurkiewicz   Jagiellonian.
1.
I am sorry, but I can’t go out with you
legend
The legend of amber Reda, Poland 2010.
NIEPUBLICZNA SZKOŁA PODSTAWOWA
What comes to your mind when you think about WATERFALLS? *** Co Ci się przypomina gdy myślisz o WODOSPADACH?
POLISH FOR BEGINNERS.
Janusz A. Starzyk Wyzsza Szkola Informatyki i Zarzadzania w Rzeszowie W oparciu o wykład Dr. Hadi Moradi University of Southern California Roboty Funkcje.
2 Review What is bionomial nomenclature Explain What is a genus
Wydział Elektroniki Kierunek: AiR Zaawansowane metody programowania Wykład 6.
Rights of the child. Kliknij, aby edytować format tekstu konspektu Drugi poziom konspektu  Trzeci poziom konspektu Czwarty poziom konspektu  Piąty poziom.
Connecticut Core Standards for English Language Arts & Literacy
Previously discusses: different kinds of variables
1.2.4 Hess’s Law.
By John Greifzu and Grant Abella Advised by Aleksander Malinowski
Zapis prezentacji:

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

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, 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. 1 2 3 4 15 14 13 12 Przykład Zachary Dodds

Przykład 0: Owady Pajak robot Insekt 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 „funkcjonalna” dekompozycja zadania modelowanie świata wykonanie zadania kontrola motoru działanie percepcja planowanie 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

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

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

Przykład 2: Arbitraż Zadanie: Pewne problemy przechodzą z jednego zadania do drugiego (sterowanie silnikiem). 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ż Image courtesy of Boulette’s robotics

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 Szpara Jasno s Ciemno s Do góry s brak wody nogami +woda Jasno s Ciemno s Do góry s pełzanie

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)

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

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

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

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

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

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

Pytania?

Roboty Funkcje Motoryczne Uzupełnienia

Example 5: Brook’s 3 Layer

Another Example runaway behavior

Another Example wander behavior runaway behavior

Another Example navigate behavior wander behavior runaway behavior

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

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.

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

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

Reactive Control Motivated by animal behavior Advantages: Real-time Less sensitive to imperfect data No need for internal representation Disadvantage: Hard to achieve goal-oriented tasks Limited intelligence No learning World and goal must not change

Designing in Subsumption Qualitatively specify the overall behavior needed for the task Decompose that into specific and independent behaviors (layers) The layers should be bottom-up and consisting of disjoint actions Ground low-level behaviors in the robot’s sensors and effectors Incrementally build, test, and add

World is its own best model Base for reactive systems Use the world as its own best model! Its complete No need for internal representation Large Slow Expensive Static Can we always do this? i.e. using world rather than an internal representation.

Subsumption Conclusion Advantages: Reactivity Speed Real-time (while upper layers do long range planning) Parallelism Incremental design Robustness Generality Disadvantages: Inflexibility at run-time Expertise needed in design Can result in spaghetti control system

Reactive control: Programming Hints DO NOT HACK AIMLESSLY Before you do any coding: Think about the problem. Decompose the necessary actions into behaviors. Understand how those behaviors relate to one another and under what conditions they should be active. Design a method for selecting and executing appropriate behaviors. Completely record your ideas in your notebook before you code. Even bad ideas are "good" if you gain experience from their failure. Be sure to keep good notes so that experience isn't lost.

Reactive control: Programming Hints KEEP IT SIMPLE Reactive controllers can get out of hand quickly. Become hard to debug. Keep your solution as simple as possible. A solution based on three basic behaviors/competencies, for example, is better than one with six. Clean flow of control is superior to a rat's nest of callbacks and dependencies. Remember all that advice about avoiding spaghetti code? It holds here ten fold.

Reactive control: Programming Hints TEST, TEST, AND TEST AGAIN Test your solutions. Not only simple examples. Design your own test example. Don't select your tests randomly. Consider your solution and try to predict if there are any situations that may be difficult for it to deal with. Design a test to exercise the controllers in any scenarios that concern you. Be sure to record your speculations as well as the results of any tests you do in your notebook. Trade tests and scenarios with other students in the class.

Reactive control: Programming Hints CONSTANTS AREN'T -- VARIABLES WON'T Noise in sensors. Sample sensors for a short period of time and averaging them to get "real" values. Check sensors against ranges of values, rather than against specific numbers Checking a noisy sensor with an equality relation is a recipe for disaster if the sensor is noisy Commands are not performed exactly wheels can slip Avoid commanding large motions.

Practice Example: Subsumption Design A robot capable of moving forward while not colliding with anything could be represented with a single layer, Level 0. The robot has multiple sonars, each pointing in a different direction. The robot has two actuators, one for driving forward and one for turning.

Practice Example: Subsumption Design

Practice Example: Subsumption Design Consider building a robot which actually wandered around instead of sitting motionless, but was still able to avoid obstacles. Under subsumption, a second layer of competence (Level 1) would be added. Level 1 consists of a WANDER module which computes a random heading every n seconds. Adding a new avoid module offers an opportunity to create a more sophisticated response to obstacles.

Practice Example: Subsumption Design When to accept the heading vector from which layer?

Practice Example: Subsumption Design The issue now appears to be when to accept the heading vector from which layer. Subsumption makes it simple: the output from the higher level subsumes the output from the lower level. Subsumption is done in one of two ways: Inhibition Suppression

Practice Example: Subsumption Design Now consider adding a third layer to permit the robot to move down corridors. The LOOK module examines the sonar polar plot and identifies a corridor. The STAYINMIDDLE subsumes the WANDER module.

Practice Example: Subsumption Design