MSI-w6/1
Metody sztucznej inteligencji
Politechnika Śląska
Katedra Podstaw Konstrukcji Maszyn
Rok akademicki 2005/2006
Wykład 6
Elementy robotyki
Prof. dr hab. Wojciech Moczulski
Materiały dydaktyczne (na prawach rękopisu)
dla studentów Wydziału Mechanicznego Technologicznego
Wszystkie ilustracje pochodzą z S. Russel, P. Norvig, Artificial
Intelligence - A modern approach, Prentice Hall, 1995
MSI-w6/2
Pojęcie robota
• Robot to aktywny i sztuczny agent, którego
środowiskiem jest realnie istniejący świat
• Jeśli przyjąć taką definicję, nie jest robotem:
– Kawał skały
– Zwierzę
– Program komputerowy (
→
softbot
)
• Szczególnym przedmiotem zainteresowania będą
roboty autonomiczne
, podejmujące
samodzielnie
decyzje
, bazując na
sprzężeniu z otoczeniem
poprzez
posiadane sensory
MSI-w6/3
Rzeczywisty świat robota (1)
• Niedostępny
– Czujniki niedoskonałe
– Robot może zwykle postrzegać bodźce ze swojego
bliskiego sąsiedztwa
• Niedeterministyczny
– Koła mogą się ślizgać po podłożu
– Akumulatory mogą się rozładować
– Elementy mogą się uszkodzić
– Nie wiadomo, czy dana akcja zakończy się sukcesem
MSI-w6/4
Rzeczywisty świat robota (2)
• Nieepizodyczny
– Wyniki akcji zmieniają się w czasie
– Robot musi rozwiązywać sekwencyjne problemy
decyzyjne i uczyć się
• Dynamiczny
– Co jest lepsze: długo się zastanawiać, czy działać
natychmiast
• Ciągły
– Nieskończenie wiele stanów
– Wymaga modyfikacji algorytmów przeszukiwania i/lub
planowania
MSI-w6/5
Zakres wykładu
• Zadania
, do których realizacji roboty się
nadają
• Niektóre specjalne
układy wykonawcze
(efektory) i
sensory
• Architektura robota
jako autonomicznego
agenta
• Wybór akcji
w ciągłej przestrzeni stanów
MSI-w6/6
Zadania wykonywane przez
roboty (1)
• Procesy wytwórcze
– Tradycyjna dziedzina zastosowania
– W 1985 r 180 000 robotów (150 000 w J, USA, F)
– Przemysł samochodowy, mikroelektronika, ...
– Przemieszczają obiekty o masie do 1 [t] z dokładnością do
2.5 [mm] w przestrzeni roboczej o R=10 [m] (1995 r.)
– Bardzo ograniczone możliwości odczuwania i adaptacji
(proste maszyny najlepiej realizują proste zadania)
– Roboty autonomiczne wciąż walczą o akceptację
MSI-w6/7
Zadania wykonywane przez
roboty (2)
• Gospodarka materiałowa
– Magazynowanie, transport i dostarczanie
– Różne wielkości i masy
– AGV=autonomous guided vehicle
– Wyzwanie przyszłości: obchodzenie się z
żywnością (różne wielkości, kształty, tekstury, )
• Inne
- np. strzyżenie owiec w Australii (140
mln owiec!!)
MSI-w6/8
Zadania wykonywane przez
roboty (3)
• Zadania wymagające mobilności
– Kurierzy (szpitale, biura, poczta)
– Straż bezpieczeństwa
– AUV=autonomous underwater vehicle
MSI-w6/9
Zadania wykonywane przez
roboty (4)
• Niebezpieczne środowisko
– Księżyc, planety i przestrzeń międzyplanetarna
– Środowisko radioaktywne, naprawy w reaktorach
– Naprawy instalacji chemicznych, kotłów
parowych itp.
– Zwykle operowane przez człowieka
– Często posiadają pewną autonomię (zbyt długie
opóźnienia w odpowiedzi operatora - np. Mars)
MSI-w6/10
Zadania wykonywane przez
roboty (5)
• Zdalna obecność
– Robot przedłużeniem organów i zmysłów
człowieka (prace na dnie oceanu, rozbrajanie
bomb)
– Roboty militarne (samoloty, szpiedzy, ...)
• Zwiększenie możliwości człowieka
– Zastąpienie amputowanych organów
– Siatkówka, zmysł dotyku
MSI-w6/11
Najważniejsze podzespoły
• Robot ma:
– Sztywny
korpus
(body)
– Więzy
(links) [sztywne]
– Połączenia
(joints)
– Końcowe elementy wykonawcze
(end effectors)
stosowane do oddziaływania na środowisko
MSI-w6/12
Elementy wykonawcze
• Oddziałują na środowisko
pod kontrolą układu
sterowania robota
• Wyposażone w
siłowniki/serwomechanizmy
(jeden
dla każdego stopnia swobody) zamieniające
komendy programowe w fizyczny ruch
• Stosowane do:
– Zmiany pozycji robota (
lokomocja
)
– Przemieszczania innych obiektów w środowisku
(
manipulacja
)
MSI-w6/13
Lokomocja
• Roboty kroczące
• Roboty jeżdżące
MSI-w6/14
Lokomocja - roboty kroczące
• Stateczne statycznie:
• Można zatrzymać w
każdej chwili (nie
upadną)
• Bardzo wolne
przemieszczanie się
• Zużywają
nieefektywnie energię
• Stateczne dynamicznie
• Skaczące
MSI-w6/15
Lokomocja - roboty jeżdżące (1)
• Podwozie kołowe, gąsienicowe, ...
• Proste w budowie
• Bardziej efektywne niż nogi
• Podparcie statyczne
• Łatwiejsze do sterowania
MSI-w6/16
Lokomocja - roboty jeżdżące (2)
Robot na podwoziu 4-
kołowym ma 3 stopnie
swobody (pozycja x-y,
kierunek), lecz w małej
skali tylko 2!!
MSI-w6/17
Lokomocja - roboty jeżdżące (3)
• Roboty
holonomiczne (układ bez poślizgu)
– Liczba stopni swobody równa sterowalnej liczbie stopni
swobody
– Budowa możliwa, lecz nieopłacalna
• Roboty
nieholonomiczne (auto z przyczepą: 4 d.o.f.; 2
c.d.o.f. – bardzo trudno jest cofać takim zestawem)
– Mniej sterowalnych stopni swobody niż wszystkich stopni
swobody
– Im większa różnica w stopniach swobody, tym trudniej
sterować
– Dużo prostsze z punktu widzenia układu mechanicznego
MSI-w6/18
Manipulowanie (1)
• Realizowane przez
manipulatory
• Większość manipulatorów wykonuje
– albo
ruch obrotowy
(R)
– albo
ruch postępowy
(P)
MSI-w6/19
Manipulowanie (2)
MSI-w6/20
Manipulowanie (3)
MSI-w6/21
Manipulowanie:
Końcowy mechanizm wykonawczy
• Oddziałuje
bezpośrednio na
obiekty otoczenia
• Narzędzia
:
– Śrubokręt
– Spawarka
– Pistolet malarski
– . . .
• Chwytaki
MSI-w6/22
Sensory: Identyfikacja stanu robota
• Do określania położenia więzów:
– Stosowane kodery (encoder)
– Dużo większa dokładność określania położenia
organów roboczych niż w przypadku człowieka
• Do określania zmiany położenia robota
mobilnego:
– Odometria (pomiar kąta obrotu koła;
poślizgi
!!)
– GPS
MSI-w6/23
Pomiar siły
• Stosuje się czujniki siły
• Pomiar dla 6 stopni swobody, pomiędzy
manipulatorem a końcowym układem
wykonawczym
• Umożliwia ruch wzdłuż powierzchni przy
utrzymaniu kontaktu ze stałym naciskiem
(compliant motion = ruch „podatny”)
MSI-w6/24
Odczuwanie dotyku
• „Palce” z elastycznego materiału
• Dokonywany pomiar ugięcia (za pomocą
macierzy czujników)
• Dotyk określany metodami podobnymi do
rozpoznawania obrazów
MSI-w6/25
Sonar
• SOund Navigation and Ranging = nawigacja
i określanie zasięgu za pomocą dźwięku
• Dostarcza użytecznej informacji o obiektach
bardzo blisko robota
• Umożliwia awaryjne zapobieżenie kolizjom
• Efektywny w przypadku omijania przeszkód
• Mało przydatny do opracowywania mapy
(szeroka wiązka dźwięku)
MSI-w6/26
Sensory i systemy wizyjne (1)
• Systemy wizyjne ogólnego przeznaczenia mają
nadal
bardzo ograniczone możliwości
• Skuteczne systemy wizyjne budowane są
gdy jest
ograniczona lista zadań
, które ma wykonywać robot
(np. zakłada się, że przeszkody są płaskie),
• Robot może oświetlać otoczenie światłem o
określonej długości fali (podczerwień, ...)
• Specjalne systemy czujników
mogą być stosowane
do dokładnych pomiarów geometrii obiektów
MSI-w6/27
Sensory i systemy wizyjne (2)
MSI-w6/28
Sensory i systemy wizyjne (3)
MSI-w6/29
Architektury robotów
• Określają sposób organizacji działań,
mających na celu
określanie akcji na
podstawie percepcji
• Podobne do problemu projektowania agenta
w najtrudniejszym wariancie (ze względu
na własności środowiska):
– Duża ilość danych wejściowych
– Potrzeba szybkiej reakcji w niektórych
sytuacjach
MSI-w6/30
Architektura klasyczna
• Poszukiwanie ścieżek i przemieszczanie robota
realizowano przez podprogramy
działań
pośredniego poziomu
(Intermediate-Level
Action=
ILA
)
• ILA składa się ze złożonych procedur
działań
niskiego poziomu
(Low-Level Action=
LLA
)
do sterowania układem robota
• Do planowania zastosowano algorytm
STRIPS
MSI-w6/31
Architektura klasyczna: Przykład
• (ILA): przemieść robota z miejsca X do miejsca Y
– (LLA): zaplanuj ścieżkę stosując algorytm A*
– (LLA): przemieść robota wzdłuż zaplanowanej ścieżki,
korygując tę ścieżkę podczas ruchu
– (LLA): zaktualizuj wewnętrzny model świata
– (LLA): gdy rośnie niepewność położenia, wyślij rozkaz
do systemu wizyjnego w celu określenia nowej pozycji
robota
• System ILA/LLA zapewniał systemowi
planowania stosunkowo jasny i niezawodny ciąg
akcji
MSI-w6/32
System planowania
• Działa wg algorytmu STRIPS
• Układ dowodzenia twierdzeń
efektywnie
generujący
sekwencje akcji
• Wyniki planowania kompilowane do postaci
ogólnych makro-operatorów
(CBR - ułatwia
rozwiązanie podobnych problemów w przyszłości)
• Realizuje
najkrótszą podsekwencję planu
prowadzącą do celu
taką, której warunki wstępne
są spełnione
MSI-w6/33
Automat usytuowany (1)
• Bazuje na koncepcji automatu skończonego:
– Na wejścia podawane sygnały z sensorów,
stosowanych do odbierania bodźców z otoczenia
– Wyjścia podłączone są do układów
wykonawczych robota
• Bardzo efektywna implementacja agenta
odruchowego ze stanem wewnętrznym
MSI-w6/34
Automat usytuowany (2):
Opracowywanie
• Generowanie poprzez
autonomiczny proces
kompilacji
• Manualny proces projektowania oparty na
dekompozycji
zgodnej z różnymi
zachowaniami, którymi robot powinien się
wykazywać
MSI-w6/35
Automat usytuowany (3)
• Sposoby reprezentacji wiedzy:
– Formalna reprezentacja wiedzy przez
projektantów robota
– Wiedza zawarta w architekturze agenta
• Kompilator generuje automat skończony,
którego stany wewnętrzne odpowiadają
zdaniom logicznym dotyczącym środowiska
MSI-w6/36
Automat usytuowany (4)
• Każdy automat skończony można zrealizować jako rejestr stanu
aktualizowany przez układ ze sprzężeniem dodatnim, oraz drugi układ
ze sprzężeniem dodatnim aktualizujący wyjście automatu
• Czas obliczeń bardzo krótki
• Nie wymaga jawnej reprezentacji wiedzy
MSI-w6/37
Bazowanie na zachowaniach (1)
• Dekompozycja na moduły realizujące
odpowiednie zachowania (omijanie
przeszkody, podążanie wzdłuż ściany, ...)
• Każdy moduł ma dostęp do sygnałów z
sensorów i może wysyłać sygnały do
układów wykonawczych
• Zachowania są zorganizowane w hierarchie
MSI-w6/38
Bazowanie na zachowaniach (2)
• Każdy moduł ma
niezależny dostęp do
sensorów i do efektorów
• Moduły zachowań są
zorganizowane
hierarchicznie: moduły
wyższego poziomu mają
dostęp do zasobów
modułów niższego
poziomu i mogą
modyfikować lub
nadpisywać ich wartości
wyjścia
MSI-w6/39
Bazowanie na zachowaniach (3)
• Wyeliminowanie jako podstawy scentralizowanej,
kompletnej reprezentacji stanów otoczenia (co jest
bardzo kosztowne)
• Stan wewnętrzny potrzebny jedynie do śledzenia
tych stanów otoczenia, które są niedostępne dla
czujników, ale są potrzebne do wyboru akcji w
każdym zachowaniu
• Do reprezentowania stanu wewnętrznego czasem
wystarczy mało pamięci, nawet dla złożonych zadań