background image

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

background image

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

background image

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

background image

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

background image

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

background image

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ę

background image

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

background image

MSI-w6/8

Zadania wykonywane przez 

roboty (3)

• Zadania wymagające mobilności

– Kurierzy (szpitale, biura, poczta)
– Straż bezpieczeństwa
– AUV=autonomous underwater vehicle

background image

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) 

background image

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

background image

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

background image

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

)

background image

MSI-w6/13

Lokomocja

• Roboty kroczące
• Roboty jeżdżące

background image

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

background image

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

background image

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

background image

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

background image

MSI-w6/18

Manipulowanie (1)

• Realizowane przez 

manipulatory

• Większość manipulatorów wykonuje

– albo 

ruch obrotowy

(R)

– albo 

ruch postępowy

(P)

background image

MSI-w6/19

Manipulowanie (2)

background image

MSI-w6/20

Manipulowanie (3)

background image

MSI-w6/21

Manipulowanie:

Końcowy mechanizm wykonawczy

• Oddziałuje 

bezpośrednio na 

obiekty otoczenia

• Narzędzia

:

– Śrubokręt
– Spawarka
– Pistolet malarski
– . . .

• Chwytaki

background image

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

background image

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

background image

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

background image

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)

background image

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

background image

MSI-w6/27

Sensory i systemy wizyjne (2)

background image

MSI-w6/28

Sensory i systemy wizyjne (3)

background image

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 

background image

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

background image

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

background image

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

background image

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

background image

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ć

background image

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 

background image

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

background image

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

background image

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

background image

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ń