Roboty funkcje motoryczne
This presentation is the property of its rightful owner.
Sponsored Links
1 / 65

Roboty Funkcje Motoryczne PowerPoint PPT Presentation


  • 98 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


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

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

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 reakcyjne1

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

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

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

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

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 reakcyjne2

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 reakcyjne3

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

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

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

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 arbitra1

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 arbitra2

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 arbitra3

Przykład 2: Arbitraż

  • Zadanie:

    • Pewne problemy przechodzą z jednego zadania do drugiego (sterowanie silnikiem).

Image courtesy of Boulette’s robotics


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 arbitra4

Przykład 2: Arbitraż

Image courtesy of Boulette’s robotics


Przyk ad 2 arbitra5

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 arbitra6

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

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 limak1

Przykład 2+1: Ślimak

brak wody

Szpara

do góry

nogami

+woda

Jasno

s

Ciemno

s

Do góry

s

pełzanie


Arbitra1

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

Architektura Podporządkowana

  • Q: Jak wprowadzić priorytet w sprzęcie?


Architektura podporz dkowana1

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 dkowana2

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

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 subsumption1

Przykład 3: Subsumption

  • Wędrowanie dookoła:

    • Nieprzerwany ruch

Silniki

Wędrowanie


Przyk ad 3 subsumption2

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 subsumption3

Przykład 3: Subsumption

  • Łączenie dwóch pierwszych warstw

Czujniki

Omijanie

Silniki

Wędrowanie

S


Przyk ad 3 subsumption4

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 subsumption5

Przykład 3: Subsumption

  • Łączenie warstw

Fotokom.

Bateria

Ładowanie

Czujniki

Unikanie

S

Silniki

Wędrowanie

S


Przyk ad 3 subsumption6

Przykład 3: Subsumption

  • Łączenie warstw (lepszy model)

Fotokom.

Bateria

Ładowanie

Czujniki

Unikanie

S

Silniki

Wędrowanie

S


Architektura podporz dkowana3

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

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

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

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 dywanowy1

Przykład 4: Robot Dywanowy


Przyk ad 4 robot dywanowy2

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

Pytania?


Roboty funkcje motoryczne1

Roboty Funkcje Motoryczne

Uzupełnienia


Example 5 brook s 3 layer

Example 5: Brook’s 3 Layer


Another example

Another Example

runaway behavior


Another example1

Another Example

wander behavior

runaway behavior


Another example2

Another Example

navigate behavior

wander behavior

runaway behavior


Afsm augmented finite state machine

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

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.


Example 6

Turn Right

Avoid

Wander

Move Forward

Turn Left

Example 6

A robot’s different states and transition between states.


Potential fields

Charger

Dleft

Drear

Dfront

Dright

Obstacle

Potential Fields

  • Vector summation

  • As the battery level drops, the vector toward light gets bigger


Reactive control

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

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

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

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

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 hints1

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 hints2

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 hints3

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

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 design1

Practice Example: Subsumption Design


Practice example subsumption design2

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 design3

Practice Example: Subsumption Design

When to accept the heading vector from which layer?


Practice example subsumption design4

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 design5

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 design6

Practice Example: Subsumption Design


  • Login