You are on page 1of 65

Lekcija 8: Mobilni roboti

Prof.dr.sc.
Prof dr sc Jasmin Velagić
Elektrotehnički fakultet Sarajevo

K l ij M
Kolegij: Mehatronika
h t ik

2012/2013
8. Mobilni roboti
ƒ Mobilni robot: “Robot koji posjeduje mobilnost s
obzirom na svoju okolinu“.
okolinu . 2/65
ƒ Mobilni roboti posjeduju sljedeća svojstva:
ƒ mobilnost – sistem se kreće kroz okolinu,,
ƒ određenu autonomnost – ograničenu ljudskom interakcijom,
ƒ inteligenciju – opaža i reagira na svoju okolinu.
Mobilni roboti
ƒ Mobilna robotika je interdisciplinarno područje koje
uključuje sljedeća znanstvena područja:
3/65
ƒ Strojarstvo – dizajn vozila i mehanizama kretanja.
ƒ Elektroenergetika – sistem napajanja, energetski
pretvarači, pogonski motori.
ƒ Računarske znanosti – predstavljanje znanja, obrada
slike, obrada govora i algoritmi planiranja.
ƒ Elektronika – upravljačka i komunikacijska elektronika.
ƒ Automatika – integracija sistema, planiranje i
upravljanje kretanjem mobilnih robota, senzori i
komunikacije.
komunikacije
ƒ Psihologija, percepcija i znanost o neuronima –
razumijevanje kako biološki organizmi rješavaju
slične probleme.
Mobilni roboti
ƒ Prvi mobilni robot – kreirao Nikola Tesla 1892, koristio je
radio vezu.
4/65
ƒ Proces razvoja mobilnih robota koji posjeduju elemente
inteligentnog ponašanja počinje od 1950. godine kada W.
GRAY WALTER razvija robota kornjača
(SPEKULATRIKS ).

Elektronsko upravljanje kornjače sa elektronskim cijevima,


bilo je u mogućnosti generirati složena i nepredvidiva
Spekulatriks ponašanja prema interakciji njegovih senzora sa okolinom.
Mobilni roboti
Podjela mobilnih robota
ƒ Postoji više podjela mobilnih robota ovisno o vrsti 5/65
pogona, lokomocije, terena, oblika, transportnom
mediju, stupnju autonomnosti, itd.
ƒ Ove značajke u velikoj mjeri određuju koji će se
sistem upravljanja i navigacije primijeniti.
ƒ Jedna od najvažnijih podjela mobilnih robota je s
obzirom na vrstu lokomocije (kretanja):
ƒ Roboti sa kotačima (engl. wheeled).
ƒ Roboti sa nogama
g ((engl.
g legged).
gg )
ƒ Gusjeničari (engl. tracked).
ƒ Zmijoliki (pužući) roboti (engl
(engl. serpentine).
serpentine)
Mobilni roboti
Podjela mobilnih robota
6/65

Robot na kotačima Gusjeničari

Robot sa nogama (hodajući) Pužući (zmijoliki) roboti


Mobilni roboti
Podjela mobilnih robota
ƒ Druga važna podjela mobilnih robota je prema tipu
7/65
pogona koji koristi za kretanja:
ƒ Diferencijalni pogon.
ƒ Sinhroni pogon
pogon.
Neholonomne konfiguracije
ƒ Automobilski ili Ackermanov pogon.
ƒ Bicikl p
pogon,
g ,
ƒ Svesmjerni pogon (omnidirectional). Holonomna konfiguracija.
ƒ Treća važna podjela je s obzirom na medij:
ƒ Zemlja.
ƒ Voda.
ƒ G i
Gorivo.
ƒ Cijev.
ƒ Zrak.
ƒ Svemir.
ƒ Podvodno.
Mobilni roboti
Podjela mobilnih robota
8/65

Robot sa diferencijalnim pogonom Robot s automobilskim pogonom

Robot sa sinhronim pogonom Svesmjerni pogon


Mobilni roboti
Podjela mobilnih robota
9/65

Robot koji se kreće po zraku Podvodni roboti

Roboti za svemirska istraživanja Zemljani roboti (primjer čovjekolikog)


Mobilni roboti
Podjela mobilnih robota
ƒ Postoje
j jjoš i p
podjele
j s obzirom na: 10/65
ƒ Vrstu terena koju savlađuju (unutarnji ili vanjski
prostori).
ƒ Fleksibilnost tijela robota (jedno i višetjelesni roboti,
roboti s elastičnim ili krutim tijelom).
ƒ Oblik tijela
tij l robota
b t (roboti
( b ti s jjednostavnom
d t ili složenom
l ž
strukturom, roboti u obliku insekata, itd.).
ƒ Primjenu (roboti za edukaciju,
edukaciju istraživački roboti
roboti,
roboti za pružanje usluga, roboti za zabavu, itd.).
ƒ Način nastanka (modernizirana stara vozila, nova
vozila)
ƒ Razinu autonomije (Kreću se od teleoperatora do
robota sa punom autonomijom).
autonomijom)
Mobilni roboti
Podjela mobilnih robota
11/65

Robot u obliku insekta Robot za zabavu

Uslužni roboti Istraživačke platforme (npr. turistički vodići)


Mobilni roboti
Motivi razvoja i opravdanost korištenja mobilnih robota
ƒ Omogućuju
g j p pristup
p sredinama koje
j su: 12/65
ƒ opasne za čovjeka, npr. eksplozivne i zapaljive
sredine, minska polja,
ƒ bez zraka, sa prevelikim atmosferskim pritiskom, itd,
ƒ jako udaljene i zahtijevaju dosta vremena za
savladavanje
l d j razdaljine
d lji ((npr. M
Mars),
)
ƒ nedostupne, npr. mikroskopski prostori.
ƒ Smanjenje troškova:
ƒ proizvodnje, zbog niske cijene zaposlenih robota,
ƒ općih zbog smanjenja administracije
općih, administracije, potrebnog
prostora, itd.
ƒ održavanja, usljed jednoličnog i umjerenog
tretmana opreme i samog robota.
Mobilni roboti
Motivi razvoja i opravdanost korištenja mobilnih robota
ƒ Povećanje produktivnosti: 13/65
ƒ veća raspoloživost robota, budući da nemaju
propisano radno vrijeme,
ƒ manipuliranje većim teretima i brži rad u odnosu na
čovjeka (rezanje, farbanje, brže kretanje),
ƒ smanjenje upotrebe skupih resursa.
ƒ Povećanje kvalitete proizvoda
ƒ Obavljanje poslova koji su za čovjeka zamorni,
dosadni, itd.
Mobilni roboti
Primjene mobilnih robota
ƒ Medicinske usluge:
14/65
ƒ pomoć bolesnicima: raznošenje (isporuka) hrane, vode,
novina, rublja, itd.,
ƒ pomoć ljekarima: dostava laboratorijskih uzoraka,
uzoraka lijekova,
lijekova
medicinskih dokumenata, specijalnih obroka,
administrativnih izvještaja, opasnih materijala, bioloških
otpadaka,
t d k itd.,
itd
ƒ pomoć apotekarima: farmacijska automatizacija u izdavanju
lijekova.
ƒ Komercijalno čišćenje aerodroma, supermarketa,
šetališta, fabrika, itd.:
ƒ tretman podova: pranje, metenje, brisanje, ribanje,
poliranje, premazivanje, usisavanje, struganje, pranje
šamponom,
p p
podizanjej otpadaka,
p itd.,
ƒ drugi neprijatni poslovi kao što su čišćenje kupatila,
prozora, tapaciranje, itd.
Mobilni roboti
Primjene mobilnih robota
ƒ Servisna industrija:
j 15/65
ƒ prodaja u supermarketima
ƒ usluživanje i naplaćivanje hrane u restoranima,
ƒ punjenje rezervoara automobila.

ƒ Poljoprivreda i šumarstvo:
ƒ plijevljenje korova, rad na plantažama, primjene
herbicida i insekticida, đubrenje, rezanje, košenje trave,
sjetva i žetva
žetva, branje voća i povrća
povrća.
ƒ njegovanje stabala (upotreba herbicida, insekticida,
đubrenje),
ƒ rezanje ili potkresivanje stabala,
ƒ pošumljavanje.

ƒ Održavanje nogometnih i golf terena


Mobilni roboti
Primjene mobilnih robota
ƒ Opasni
p p
poslovi i dodir sa strujom:
j 16/65
ƒ otkrivanje bombi i mina, njihovo vađenje i deaktiviranje,
ƒ pregled nuklearnih centrala, parnih generatora,
ƒ inspekcija uskladištenog opasnog otpada, rezervoara,
ƒ preglad opasnih cijevi i cjevovoda,
ƒ i iti
ispitivanje
j visokonaponskih
i k kih vodova.
d

ƒ Rudarstvo:
ƒ eksploatacija površinskih kopova (bageri, utovarivači),
ƒ prijevoz rude po zonama u rudnicima,
ƒ automatizirano kopanje u rudnicima
rudnicima.

ƒ Građevinski radovi:
ƒ automatizirani
t ti i i kkranovi,
i
ƒ isporuka i ugradnja betona.
Mobilni roboti
Primjene mobilnih robota
ƒ Svemir: 17/65
ƒ kopneno ispitivanje svemirskih vozila,
ƒ satelitsko ispitivanje preko orbita,
ƒ planetarna istraživanja.

ƒ Podvodni
od od ssvijet:
je
ƒ inspekcija bušenja platformi,
ƒ prekookeansko postavljanje kablova i njihovo održavanje,
ƒ istraživanja, npr. pronalaženja Titanica, ili recimo biljnog i
životinjskog svijeta na velikim dubinama.

ƒ Vojne svrhe:
ƒ izviđanje,
ƒ prevoz ranjenika,
ƒ snadbijevanja trupa.
Mobilni roboti
Primjene mobilnih robota
ƒ Prijevoz, skladištenje, rukovanje materijalima:
18/65
ƒ utovar i istovar kamiona, vozova, brodova i aviona,
ƒ održavanje skladišta u fabrikama.
ƒ Osiguranje:
ƒ prismotra velikih skladišta, zgrada, parkirnih garaža,itd.
ƒ Civilni prijevoz:
ƒ inspekcija aviona,
ƒ upravljanje vozilima na autoputu.
ƒ Pružanje pomoći hendikepiranim i starim osobama,
ƒ osobna higijena, rad u kući, rekreacija,
ƒ upravljanje i navigacija invalidskih kolica, gledanje
pomoću robotskog vida.
ƒ Zabava
ƒ robot-pas,
ƒ robotski nogomet.
Mobilni roboti
Zadaci mobilnog robota - navigacija
ƒ Gradnja mape je proces koji uključuje konstrukciju mape
19/65
na temelju mjerenja senzora dobivenih sa različitih
robotskih lokacija. Ispravan tretman senzorskih
informacija j i lokalizacija
j robota su ključne
j tačke u p
procesu
gradnje mape.
ƒ Lokalizacija je proces dobivanja znanja o stvarnoj poziciji
robota
b t ili llokaciji
k iji na ttemelju
lj mjerenja
j j senzora i ttrenutne
t
mape. Tačna mapa i precizni senzori su bitni za
postizanje dobre lokalizacije.
ƒ Planiranje kretanja zahtijeva generiranje izvodivih i
sigurnih trajektorija na temelju važeće trenutne mape iz
trenutne u ciljnu lokaciju robota
robota. Za ovo je potrebna
precizna mapa i dobra lokalizacija.
ƒ Upravljanje
j j kretanjem j generira upravljačke
g j signale
g na
aktuatore koji omogućuju izvršavanje zahtijevanih
kretanja (trajektorija).
Mobilni roboti
Zadaci mobilnog robota - navigacija
20/65
Konstrukcija mape

očitanja
j
senzora
Percepcija Obrada i fuzija

pozicija
robota mape
p

Navigacija

Upravljanje putanja
Planiranje
kretanjem kretanja
j
8.1. Lokomocija
ƒ Lokomocija je proces u kome se pod djelovanjem sila
pomjera autonomni robot ili neko drugo vozilo.
21/65
ƒ Proučavanje
č kretanja pod djelovanjem navedenih sila je
predmet dinamike, dok kinematika matematički opisuje
kretanje bez promatranja vanjskih sila koje prouzrokuju
kretanje.
ƒ Drugim riječima, kinematika proučava geometrijske
aspekte kretanja, a dinamika uključuje brzine i energije
pridružene kretanju.
ƒ Roboti koji nemaju potpuno neovisno upravljanje svakom
od varijabli položaja, već se mora izvoditi složeno
manevriranje da se dođe u željeni položaj, nazivaju se
neholonomnim.
ƒ Roboti kod kojih se svim varijablama položaja može
neovisno upravljati nazivaju se holonomnim robotima
robotima.
Takvi roboti se mogu kretati u svim pravcima.
Lokomocija
Kinematika robota s diferencijalnim pogonom
ƒ Problem direktne kinematike se sastoji u određivanju
22/65
brzine mobilnog robota v i njegovog položaja
ž ((x, y, θ) za
zadane brzine kotača vR i vL. Pri tome se moraju uzeti u
obzir kinematička ograničenja pogonskog sistema.

y
D 2 Linijske brzine lijevog i desnog kotača:

ω ω ( R + D 2) = v R
vL
ICC ω ( R − D 2) = v L
θ

( x, y ) x U svakom trenutku vrijedi:


vR
D (v R + v L ) vR − vL
R
R= ω=
2 (v R − v L ) D

R – polumjer rotacije robota vR + vL


ICC – trenutni centar zakrivljenosti v = ωR =
2
Lokomocija
Direktna kinematika robota s diferencijalnim pogonom
ƒ Postojanje ICC tačke
23/65
ƒ Tačka oko koje svaki kotač obavlja kružno kretanje.
ƒ Odabire se da leži na osi kotača (da bi klizanje bilo što manje).

Položaj ICC tačke (konstantan):

⎡ ICC x ⎤ ⎡ x − R sin(θ ) ⎤
ICC = ⎢ ⎥=⎢ ⎥
⎣ ICC y ⎦ ⎣ y + R cos(θ ) ⎦
ICC

(a) (b)
Nepostojanje ICC tačke.

U trenutku ((t+∆t)) konfiguracija


g j ⎡ x(t + Δt ) ⎤ ⎡cos((ωΔt ) − sin((ωΔt ) 0 ⎤ ⎡ x(t ) − ICC x ⎤ ⎡ ICC x ⎤
⎢ y (t + Δt )⎥ = ⎢sin(ωΔt ) cos(ωΔt ) 0 ⎥ ⎢ y (t ) − ICC y ⎥ + ⎢ ICCy ⎥
robota će biti: ⎢⎣θ (t + Δt ) ⎥⎦ ⎢⎣ 0 0 1⎥⎦ ⎣⎢ θ (t ) ⎥ ⎢ ω Δt ⎥
⎦ ⎣ ⎦
Lokomocija
Direktna kinematika robota s diferencijalnim pogonom
ƒ Određivanje položaja i orijentacije mobilnog robota
24/65
Konfiguracija robota
ICC (položaj + orijentacija):
( x(t + Δt ),
) y (t + Δt )) t
1

θ
x(t ) = [v R (t ) + v L (t )] cos(θ (t ))dt
2 0
R
t
1

P (t + Δt )
y (t ) = [v R (t ) + v L (t )] sin(θ (t ))dt
θ 20
Δy
D ( x(t ), y (t )) t
Δx 1
P (t )
Δx = R sin θ
Δy = R (1 − sin θ )
θ (t ) =
D0 ∫
[v R (t ) − v L (t )]dt

1 ⎡1 ⎤
v=
2
(v R + v L )
⎢ ( v R + v L ) cos(θ ) ⎥
⎡ x& ⎤ ⎡cos(θ )⎤ ⎡0⎤ 1 ⎡ x& ⎤ ⎢ 2 ⎥
ω = (v R − v L ) ⎢ ⎥ ⎢1
⎢ ⎥ ⎢ ⎥ v + ⎢0⎥ω ⎥
⎢ y& ⎥ = ⎢ 2 (v R + v L ) sin(θ ) ⎥
D
y
&
⎢ ⎥ ⎢ = sin(
(θ ) ⎥ ⎢ ⎥ ⎢θ& ⎥ ⎢
⎣ ⎦ ⎥
⎢θ& ⎥ ⎢ 0 ⎥ ⎢1 ⎥ 1
⎢ (v R − v L ) ⎥
⎣ ⎦ ⎣ ⎦ ⎣ ⎦
⎣⎢ D ⎦⎥
Lokomocija
Dinamika robota s diferencijalnim pogonom
ƒ Određivanjej dinamičkog g modela mobilnog g robota 25/65
bitno je sa stajališta simulacije kretanja i sinteze
algoritma upravljanja.
ƒ Dinamičko ponašanje mobilnog robota dato je u
obliku vremenske promjene konfiguracije robota u
ovisnosti
i ti o momentima
ti kkojiji dj
djeluju
l j na zglobove,
l b a
koji nastaju djelovanjem pogona pridruženih
kotačima mobilnog robota
robota.
ƒ Ova povezanost se može izraziti skupom
diferencijalnih jednadžbi
jednadžbi, tzv
tzv. jednadžbi kretanja
kretanja,
koje određuju odziv robota pod djelovanjem ulaznih
momenata.
Lokomocija
Dinamika robota s diferencijalnim pogonom
ƒ Lagrangeova formulacija:
26/65

L(q,q& ) = T (q,q& ) − U (q)

gdje su T i U kinetička i potencijalna energija.


ƒ Jednadžbe kretanja
j na temelju
j Lagrangeove
g g funkcije:
j

d ∂ ∂
L(q,q) −
& L(q,q& ) = ξ i , i = 1,...,n
dt ∂q& i ∂qi

odnosno (j
(jer se robot kreće u ravnini):
)

d ∂ ∂
T (q,q& ) − T (q,q& ) = ξ i , i = 1,...,n
n
dt ∂q& i ∂q i
Lokomocija
Dinamika robota s diferencijalnim pogonom
ƒ Model se izvodi za robot prikazan na slici [Velagić,
27/65
Lačević i Peruničić, 2005] .
Y ƒ Kinetička energija mobilne platforme:
ym
vc

C
xm
T = Tl + Tr + Tkr
θ

y
A gdje su:
d
D 2r
1
Tl = mv c2 - Kinetička energija linijskog kretanja robota
2
1
Tr = I Aθ& 2 - Kinetička energija rotacije robota
O x X
2
1 1
Kretanje
j centra mase: Tkr = I 0θ&R2 + I 0θ&L2 - Kinetička energija rotacije
2 2 oba kotača
x& C = x& A − dθ& sin θ
m je masa robota, I0 moment inercije kotača i rotora zajedno.
y& = y& + dθ& cos θ
C A

& r (θ&R − θ&L )


θ=
D
Lokomocija
Dinamika robota s diferencijalnim pogonom
ƒ Uvrštavanjem u gornju jednadžbu:
28/65
r &
x& A = (θ R + θ&L ) cos θ
2
r
y& A = (θ&R + θ&L ) sin θ
2
dobiva se:

r &
x& C = (θ R + θ&L ) cos θ − dθ& sin θ
2
r
y& C = (θ&R + θ&L ) sin θ + dθ& cos θ
2

ƒ Uvrštavanjem navedenih izraza u izraze za energije slijedi:


1 m ⎛ r2 & & r 2d 2 & & 2⎞
Tl = m( xC + yC ) = ⎜ (θ R + θ L ) + 2 (θ R − θ L ) ⎟⎟
& 2
& 2
⎜ 2

2 2⎝ 4 D ⎠
Lokomocija
Dinamika robota s diferencijalnim pogonom
r2 & − θ& ) 2 29/65
Tr = I A (θ R L
2D 2
1
Tkr = I 0 (θ&R + θ&L ) 2
2

gdje
g j jje I A = I C + md 2 moment inercije
j oko tačke A.

ƒ Ukupna
p kinetička energija
g j mobilnog
g robota jje:
mr 2 & r 2
( I + md 2
) & & ) 2 + I 0 (θ& + θ& ) 2
T= (θ R + θ&L ) +
2 A
(θ R − θ L R L
8 8R 2 2
odnosno:
& & ⎛ mr 2 ( I A + md 2 )r 2 I 0 ⎞ & 2 ⎛ mr 2 ( I A + md 2 )r 2 I 0 ⎞ & 2 ⎛ mr 2 ( I A + md 2 )r 2 ⎞& &
T = T (θ R , θ L ) = ⎜⎜ + 2
+ ⎟⎟θ R + ⎜⎜ + 2
+ ⎟⎟θ L + ⎜⎜ − ⎟θ Rθ L

⎝ 8 2 D 2 ⎠ ⎝ 8 2 D 2 ⎠ ⎝ 4 D2 ⎠
Lokomocija
Dinamika robota s diferencijalnim pogonom
ƒ Lagrangeove funkcije:
30/65
∂L ⎛ mr 2 ( I A + md 2 )r 2 I 0 ⎞ & ⎛ mr 2 ( I A + md 2 )r 2 ⎞&
= 2⎜⎜ + + ⎟⎟θ R + ⎜⎜ − ⎟θ L

&
∂θ R 8 2 D 2
2 4 D2
⎝ ⎠ ⎝ ⎠
d ⎛⎜ ∂L ⎞ ⎛ mr 2 r 2 I 1 ⎞ && ⎛ mr 2 r 2 I 1
⎟=⎜
⎞ &&
⎟ ⎜ ⎟
dt ⎜⎝ ∂θ&R ⎟ ⎜ 4 − D 2 ⎟θ L + ⎜ 4 + D 2 + I 0 ⎟θ R
⎠ ⎝ ⎠ ⎝ ⎠

∂L ⎛ mr 2 r 2 I 1 I 0 ⎞ & ⎛ mr 2 r 2 I 1 ⎞ &
= 2⎜⎜ + + ⎟⎟θ L + ⎜⎜ − 2 ⎟⎟θ R
&
∂θ L 2
⎝ 8 2D 2⎠ ⎝ 4 D ⎠
d ⎛⎜ ∂L ⎞ ⎛ mr 2 r 2 I 1 ⎞ && ⎛ mr 2 r 2 I 1
⎟=⎜
⎞ &&
− ⎟θ + ⎜ + + I ⎟
0 ⎟θ L
dt ⎜⎝ ∂θ&L ⎟ ⎜ 4 2 ⎟ R ⎜ 2
⎠ ⎝ D ⎠ ⎝ 4 D ⎠

ƒ Za neholonomni mobilni robot


robot:
ξ 1 = τ R − K tr θ& R
ξ 2 = τ L − K tr θ& L

pogonski moment moment usljed viskoznog trenja


Lokomocija
Dinamika robota s diferencijalnim pogonom
ƒ Dinamička jednadžba mobilnog robota:
31/65

Aθ&&R + Bθ&&L = τ R − K tr θ&R


Bθ&&R + Aθ&&L = τ L − K tr θ&L

gdje
g j su:
⎛ mr 2 r 2 I1 ⎞
A = ⎜⎜ + 2 + I 0 ⎟⎟
⎝ 4 D ⎠

⎛ mr 2 r 2 I 1 ⎞
B = ⎜⎜ − 2 ⎟⎟
⎝ 4 D ⎠
Lokomocija
Kinematika robota s automobilskim pogonom
ƒ Direktna kinematika
32/65
Ackermanova jednadžba:
α2 θ
α1
D
y cott α1 − cott α 2 = +
d
P α

α1 = relativni ugao zakreta unutarnjeg kotača,


d α2 = relativni ugao zakreta vanjskog kotača,
D
D = udaljenost između sredina susjednih
kotača,
ICC x
d = udaljenost između osovina prednjih i
R zadnjih kotača.

Stvarni ugao zakreta: D


R+ = d tan(π 2 + α1 )
2
D
cot θ = cot α 2 +
2d D
R− = d tan(π 2 + α 2 )
2
Lokomocija
Kinematika robota s automobilskim pogonom
ƒ Kinematički model:
33/65
⎡ x& ⎤ ⎡ω cos(α ) cos(θ )⎤ ⎡0⎤ ⎡0 ⎤
⎢ y& ⎥ ⎢ ⎥ ⎢ ⎥ ⎢0 ⎥
⎢ ⎥ ⎢ω cos(α ) sin(θ ) ⎥ ⎢0⎥ ⎢ ⎥
⎢θ& ⎥ = ⎢ ω sin(α ) ⎥ + ⎢0⎥u1 + ⎢0⎥u 2
⎢ ⎥ ⎢ Nije jednostavan
⎥ ⎢ ⎥ ⎢ ⎥
⎢ω& ⎥ ⎢ 0 ⎥ ⎢ ⎥1 ⎢0 ⎥ za upravljanje
⎢α& ⎥ ⎢ 0 ⎥ ⎢0 ⎥ ⎢1 ⎥
⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦

ƒ Uzimajuću ω kao upravljačku varijablu dobiva se:

⎡ x& ⎤ ⎡cos(α ) cos(θ )⎤ ⎡0 ⎤


⎢ y& ⎥ ⎢ ⎥ ⎢0 ⎥
⎢ ⎥=⎢ cos(α ) sin(θ ) ⎥ω + ⎢ ⎥u
⎢θ& ⎥ ⎢ sin(α ) ⎥ ⎢0 ⎥ 2
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢⎣α& ⎦⎥ ⎣ 0 ⎦ ⎣1 ⎦
⎡ x& ⎤ ⎡cos(θ )⎤ ⎡0⎤
⎢ ⎥ ⎢ ⎥ v + ⎢0⎥ω
ƒ O j sistem
Ovaj i t jje simetričan
i t ič bez š j ⎢ ⎥ ⎢
b zanošenja: y
& = sin(θ ) ⎥ ⎢ ⎥
⎢ &⎥ ⎢ ⎥ ⎢ ⎥
⎣θ ⎦ ⎣ 0 ⎦ ⎣1 ⎦
8.2. Lokalizacija
ƒ Fundamentalni problem u mobilnoj robotici jest imati
stvarno znanje o poziciji robota u svakom vremenskom
trenutku odnosno znati gdje se on nalazi.
trenutku, nalazi 34/65

ƒ Poznavanje pozicije robota je potrebno radi planiranja


odgovarajućih kretanja.
ƒ Problem pozicioniranja uključuje estimaciju lokacija
robota s obzirom na globalni prikaz prostora.
ƒ Ovakva definicija upućuje na jaku lokalizaciju.
ƒ Za razliku od jake, slaba lokalizacija uključuje samo
poznavanjej dda li jje ttrenutna
t llokacija
k ij ranije
ij posjećivana.
j ći
ƒ Uz ovaj problem je vezano pitanje: «Da li sam bio ovdje
ranije?» Iz postupka slabe lokalizacije mogu se
ranije?».
konstruirati mape.
ƒ Između jake i slabe lokalizacije postoji čitav niz različitih
problema koji uključuju poznavanje gdje je robot ili
estimaciju poze robota.
Lokalizacija
Odometrijska lokalizacija
ƒ U tipičnoj zatvorenoj sredini (engl. indoor) sa ravnom podlogom,
lokalizacija podrazumijeva određivanje pozicije (x (x,y)
y) i orijentacije θ 35/65
robota u dvodimenzionalnom prostoru (ravnini).
ƒ Odometrija mjeri rotaciju kotača kao funkciju vremena.
ƒ Ak su oba
Ako b kkotača
t č mobilnog
bil robota
b t spojena
j preko
k zajedničke
j d ičk osovine,i
tada se pozicija i orijentacija osovine u odnosu na prethodnu poziciju i
orijentaciju može odrediti odometrijskim mjerenjima provedenim na
oba kotača
kotača.
ƒ U praksi, optički enkoderi, ugrađeni na oba pogonska kotača, daju
diskretizirane inkrementalne informacije centralnom procesoru koji po
ustaljenom redoslijedu kontinuirano prepodešava stanje robota robota,
korištenjem geometrijskih jednadžbi.
ƒ Međutim, s vremenom, odometrijska lokalizacija akumulira pogreške
na neograničen
ič način
či zbog
b kliklizanja
j kkotača,
t č h hrapavostiti podloge
dl i
diskretiziranog uzorkovanja pomaka kotača.
ƒ U jednoj od prethodnoj lekcija, u dijelu koji objašnjava
i k
inkrementalne
t l optičke
tičk enkodere,
k d d
detaljno
t lj jej opisan
i postupak
t k
odometrijske lokalizacija.
Lokalizacija
Lokalizacija na temelju orijentira
ƒ Orijentiri predstavljaju posebno istaknute znakove koje
36/65
robot, na temelju mjerenja senzora, može ž prepoznati.
ƒ Orijentiri mogu biti geometrijskog oblika (pravokutnici,
linije krugovi) i mogu uključivati dodatne informacije (npr
linije, (npr.
u obliku bar kodova).
ƒ Općenito,
p , orijentiri
j imaju
j fiksnu i p
poznatu p
poziciju
j u
odnosu na robota, kako bi se on mogao lokalizirati.
ƒ Oni se pažljivo odabiru kako bi se mogli lahko
id tifi i ti npr. moraju
identificirati, j biti u d
dovoljnom
lj kkontrastu
t t sa
podlogom.
ƒ Prije nego što robot može koristiti orijentire za navigaciju
navigaciju,
karakteristike orijentira moraju biti poznate i pohranjene
u memoriju robota.
ƒ Glavni zadatak lokalizacije je pouzdano prepoznavanje
orijentira i na temelju toga računanje pozicije robota.
Lokalizacija
Triangulacija
ƒ Triangulacija se sastoji od rješavanja algebarskih
37/65
jednadžbi
ž ograničenja
č koje povezuju poziciju observera s
pozicijama skupa orijentira.
ƒ Stari egipčani su koristili triangulaciju u kartografiji
kartografiji.
ƒ Triangulacija s dva orijentira.

y
Na temelju udaljenosti robota od
P1 u (0,0) orijentira P1 i P2 određuje se
P2 u (a,0) pozicija robota:
X′

x = (a 2 + d12 − d 22 ) 2a
P2
P1
x y = ± (d12 − x 2 )
d1 d2

X
Na ovaj način se ne može
Robot u lokaciji X odrediti orijentacija robota.
Lokalizacija
Triangulacija
ƒ Slučaj kada se robot nalazi na kružnom luku.
38/65
P3
P2
U slučaju dva orijentira
D2
može se odrediti
D1 orijentacija:
P2
d3
D12 = d12 + d 22 − 2 d1 d 2 cos(α )
P1 d2 D1
d2 β
α
P1 R
d1 α
d1

R Što se tiče pozicije, ona je


negdje na luku promjera R. R
(a) (b)

Robot se nalazi negdje na luku promjera R.

D12 = d12 + d 22 − 2 d1 d 2 cos(α ) Položaj i


orijentacija
Za slučaj s tri orijentira: D22 = d 22 + d 32 − 2 d 2 d 3 cos( β ) jednoznačno
određeni
D32 = d12 + d 32 − 2 d1 d 3 cos(α + β )
8.3. Gradnja mape prostora
ƒ Postupak gradnje mape modela robotske okoline
temelji se na mjerenjima senzora.
39/65
ƒ Sposobnost gradnje mape okoline mobilnog robota
predstavlja važan zahtjev u mnogim primjenama
robota.
b t
ƒ Glavne prednosti upotrebe mapa za navigaciju
mobilnih robota su:
ƒ Koriste prirodne strukture tipične unutrašnje okoline za
dobivanje informacija o poziciji ne mijenjajući okolinu.
ƒ Vremensko ponovno generiranje mape okoline. Mape
okoline su važne za druge zadaće mobilnih robota, kao
što su globalno planiranje putanje ili izbjegavanje zamki
tipa lokalni minimum u nekim postupcima lokalnog
zaobilaženja prepreka.
ƒ M
Mape omogućuju
ć j robotu
b t d da uči
či nove okoline
k li i poboljšava
b ljš
tačnost pozicioniranja tijekom istraživanja.
Gradnja mape prostora
ƒ Podjela mapa:
ƒ Metričke mape, mape koje se temelje na apsolutnom
k di t
koordinatnom sistemu
i t i numeričkoj
ičk j estimaciji
ti iji položaja
l ž j 40/65
objekata u prostoru,
ƒ Topološko
p ili relacijske
j mape,
p odnosno mape p koje j
eksplicitno prikazuju informacije povezivanja, izražene u
obliku grafova.

Metričke mape Topološke mape


prednosti - jednostavna gradnja, prikaz i održavanje, prednosti -omogućuje efikasno planiranje, mala
- prepoznavanje mjesta (temeljeno na složenost prostora (rezolucija ovisi o
geometriji)
iji) nije
ij dvoznačno
d č i neovisno
i je
j o složenosti
l ž i okoline),
k li )
tački pogleda, - ne zahtijeva tačno određivanje robotske
-sposobnost računanja najkraćeg puta. pozicije,
-konvencionalan prikaz za rješavanje
simboličkih problema planiranja,
j prirodni
jezici.
nedostaci -neefikasno planiranje, rezolucija ne ovisi o nedostaci -otežana konstrukcija i održavanje modela
složenosti okoline, velikih okoline,
-ne daje tačnu robotsku poziciju, - prepoznavanje mjesta (temeljeno na
-slabo sučelje sa rješavanjem simboličkih pomočnim objektima (landmarks) nije
problema. jednoznačno, osjetljivo na tačku pogleda,
-može dati neoptimalne putanje.
Gradnja mape prostora
Proces gradnje mrežaste mape zauzeća
ƒ Odrediti koja ćelija u mrežastoj mapi je zauzeta, a koja prazna.
41/65
Modeliranje sonara
Profil područja čitanja sonara
a) Područje I, gdje je R-ε < r < R+ε:
1
2 2
⎛ β −α ⎞ ⎛ε− | R − r |⎞
⎜⎜ ⎟ +⎜ ⎟
⎝ β ⎟⎠ ⎝ ε ⎠
m( Z ) =
2
Rmin Rε
R-ε R R+ε
m( P ) = 0
α
y Profil ugla 15 m({P, Z }) = 1 − m( Z )

r b) Područje II, gdje je Rmin < r < R-ε:


α R 1
β I x m( Z ) = 0
II
ε 2
ε ⎛ β −α ⎞ ⎛ R −ε − r ⎞
2

⎜⎜ ⎟⎟ + ⎜ ⎟
-15 ⎝ β ⎠ ⎝ R −ε ⎠
m( P ) =
2
Gdje su (r,α) koordinate tačke unutar konusa sonara
(pozicija i orijentacija), a ε označava toleranciju za m({P, Z }) = 1 − m( P )
područje zauzeća.
Gradnja mape prostora
Proces gradnje mrežaste mape zauzeća
ƒ Šta se može zaključiti ako sonar očita S=3m?
42/65
Gradnja mape prostora
Proces gradnje mrežaste mape zauzeća
ƒ Stupanj uvjerenja o zauzeća ćelije na temelju mjerenja sonara:
43/65

Područje
najvećeg
uvjerenja.
.45 .48 .49 0.5 0.8

.45
45 .4
4 .38
38 .35
35 .32
32 .31
31 .32
32 .38
38 .41
41 .45
45 09
0.9

NA 0 .01 .02 .05 .09 .14 .22 .25 .3 .35 .4 .44 1

.45 .4 .38 .35 .32 .31 .32 .38 .41 .45 0.9

.45 .48 .49 0.5 0.8


Gradnja mape prostora
Proces gradnje mrežaste mape zauzeća
Iz navigacijskog sistema

44/65
Opažanje okoline
(percepcija)

ri k
T ij
Teorija
uvjerenja
Obrada mjerenja
senzora

Agregacija Teorija
podataka uvjerenja
Fuzija Osvježava se svaka
Osvježavanje ćelija u mreži kada
mape se robot kreće.
mMk ( P), mMk ( Z )
U navigacijski
i ij ki sistem
it

t −1 mMt -1 ( P)mSt ( P) + mMt −1 ( P )mSt ({P, Z }) + mMt −1 ({P, Z }) mSt ( P)


Osvježavanje
j j m ( P) = m
t
M M ⊕ m ( P) =
t
S
1 − mMt −1 ( P)mSt ( Z ) − mMt −1 ( Z )mSt ( P)
sadržaja ćelije: mMt -1 ( Z )mSt ( Z ) + mMt −1 ( Z )mSt ({P, Z }) + mMt −1 ({P, Z })mSt ( Z )
t −1
zauzeta ili prazna. m (Z ) = m
t
M M ⊕ m (Z ) =
t
S
1 − mMt −1 ( P)mSt ( Z ) − mMt −1 ( Z )mSt ( P)
Gradnja mape prostora
Proces gradnje mrežaste mape zauzeća
ƒ Primjer generirane mrežaste mape
45/65
Gradnja mape prostora
Topološke mape
ƒ Čvorovi povezani linijama – grafovi.
46/65
ƒ Povezuju se geometrijske značajke prostora

ƒ Teško ih je skalirati.

ƒ Zahtijevaju
Z h ij j poznavanje j pozicije
i ij robota.
b

Za kretanje po ovim
grafovima mogu se
koristit različiti algoritmi:
Dijkstra,
j , Bellman-Ford,,
Bug, itd.
Gradnja mape prostora
Topološke mape
ƒ Robot mora biti sposoban detektirati presjecišta između
h d ik i iizmeđu
hodnika, đ h hodnika
d ik i soba.
b 47/65
8.4. Planiranje kretanja
ƒ Kada se izvršava neka misija cilj je iz početne tačke doći
do ciljne, izbjegavajući pri tome sve prepreke koje mu se
mogu naći na putu – planiranje kretanja.
kretanja 48/65

ƒ Postoje dvije fundamentalne paradigme za planiranje


putanje s izbjegavanjem prepreka:
ƒ Globalni pristup koji generira putanju off-line
korištenjem poznatih informacija o okolini.
ƒ On zahtijeva precizno specificiran model okoline i znatan
iznos vremena računanja.
ƒ Ovim pristupom nije moguće reagirati na nepredviđene
promjene u okolini.
ƒ Lokalni pristup se obavlja on-line korištenjem malog
broja poznatih informacija o prostoru.
ƒ Moguće je reagirati na nepredviđene promjene i ne
zahtijeva se velik iznos računarskog vremena
vremena.
ƒ Na ovaj način nije moguće dobiti optimalnu putanju.
Planiranje kretanja
ƒ Problem planiranja putanje ili trajektorije sastoji se u
određivanju putanje u konfiguracijskom prostoru između
početne i krajnje konfiguracije,
konfiguracije sa tim da robot ne dolazi 49/65
u dodir s bilo kojom preprekom u okolini i da je planirano
kretanje
j u sukladu sa kinematičkim ograničenjima
g j vozila.

Ulaz p planiranja
j p
putanje:
j
ƒ Geometrijski opis robota
i okruženja.
ƒ Početni
P č t i i kkrajnji
j ji položaj
l ž j
robota.
Izlaz pplaniranja
j pputanje:
j
ƒ Putanje od početnog do
ciljnog položaja.
Planiranje kretanja
ƒ Zahtjevi pri procesu planiranja trajektorije
mogu biti: 50/65
ƒ Minimalna duljina staze.
ƒ Sredina s pokretnim preprekama,
preprekama što predstavlja
dodatni izazov.
ƒ Sredina sa pokretnim ciljem.
ciljem
ƒ Minimalan iznos vremena za prijelaz putanje.
ƒ Utrošak energije.
energije
ƒ Izbor staza koje zadovoljavaju neka druga
ograničenja.
ƒ Planirnje kretanja zahtijeva razmatranje
svojstava robota i strukture okoline
okoline.
Planiranje kretanja
Roadmap algoritmi
ƒ Roadmap – mapa putanja/puteva 51/65
ƒ Spada u globalno planiranje putanje.
ƒ Svojstva:
ƒ Pristupnost: postoji slobodna putanja od
startne pozicije robota do mape putanja
putanja.
ƒ Odstupnost: postoji slobodna putanja od mape
putanje do ciljne pozicije robota.
ƒ Povezanost: postoji slobodna putanja od
uzlazne do silazne tačke na mapi p pputanja.
j
ƒ Primjeri roadmap algoritama:
ƒ Voronoi graf.
g
ƒ Grafovi vidljivih vrhova (Visibility graph).
Planiranje kretanja
Voronoi graf
ƒ Mreža p
putanja
j jjednako udaljenih
j od susjednih
j 52/65
prepreka.

ƒ Generira mapu
putanja koje su
udaljene od prepreka
koliko je maksimalno
moguće.
moguće
ƒ Planiranje putanje se
svodi na pretraživanje
grafa.
grafa
Planiranje kretanja
Voronoi graf
ƒ Planiranje
j pputanje
j na temelju
j topološke
p mape
p 53/65

Topološka mapa okruženja.

Voronoi graf.
Planiranje kretanja
Grafovi vidljivih vrhova
ƒ Dobivaju se međusobnim spajanjem svih 54/65
vidljivih vrhova prepreka, te početne i ciljne
pozicije.
p j
ƒ Dvije tačke su vidljive ako između njih nema
p p
prepreka.
ƒ Postoje putanje oko rubova prepreka ako su
dva susjedna
j vrha iste p
prepreke
p međusobno
vidljiva.
ƒ Ako jje dobiveni g graf p
putanja
j unutar mape
p
prostora, tada je svaka spojna linija potencijalni
dio putanje mobilnog robota od početne do
ciljne pozicije.
Planiranje kretanja
Grafovi vidljivih vrhova
ƒ K1: nacrtaju se spojne linije od početne i ciljne tačke do svih
55/65
vidljivih vrhova i do uglova prostora.
ƒ K2: nacrtaju se spojne linije između svih vidljivih vrhova svih
prepreka
prepreka.
ƒ K3: linije uzduž rubova prepreka su također spojne linije.
ƒ K4: Ponavljati K2 i K3 dok se svi vrhovi ne spoje.
Planiranje kretanja
Metod potencijalnih polja
ƒ Spada
p u lokalne p
postupke
p 56/65
planiranja.
ƒ Osnovna ideja:
ƒ Pridružiti privlačno polje
cilju.
ƒ Pridružiti odbojna polja
preprekama.
k
ƒ Sumirati polja.
ƒ Robot će slijediti putanju
u smjeru najbržeg spusta
(gradijenta polja).

Ekvipotencijalne plohe

Polje sila
Planiranje kretanja
Metod potencijalnih polja
57/65
8.5. Upravljanje kretanjem

ƒ Uloga upravljanja u mobilnoj robotici


58/65

ƒ Upravljanje predstavlja inteligentni spoj percepcije i


akcije (na temelju mjerenja senzora i djelovanja
aktuatora).
Upravljanje kretanjem
ƒ Upravljačke strategije:
ƒ Modelske strukture upravljanja (delibrativo 59/65
upravljanje) (horizontalna dekompozicija
upravljačkog sistema).
Sve isplaniraj (razmišljaj), pa tek zatim djeluj.
ƒ Reaktivno upravljanje (vertikalna
dekompozicija upravljačkog sistema).
Ne razmišlja, odmah djeluj.
ƒ Ponašajno (biheviorističko) upravljanje
Razmišljaj o načinu na koji djeluješ.
ƒ Hibridno upravljanje (kombinacija delibrativnog
i reaktivnog upravljanja).
R
Razmišljaj
išlj j i djeluj
dj l j odvojeno
d j i iistovremeno
t .
Upravljanje kretanjem
Modelske strukture upravljanja
ƒ Delibrativno zaključivanje zahtijeva relativno kompletno 60/65
znanje o okolini, na temelju koga predviđa svoje
buduće akcije (djelovanja) i optimizira svoje
performanse u odnosu na model okoline.

Percepcija Planiranje Percepcija Model Planiranje

opažanje opažanje

djelovanje djelovanje
Upravljanje
p j j Okolina Upravljanje
Okolina

Jednokonturna upravljačka struktura Delibrativna upravljačka struktura


(percepcija-plan-upravljanje) (opažanje-model-plan-djelovanje)
Upravljanje kretanjem
Modelske strukture upravljanja
ƒ Podaci se razlažu u serijski niz funkcionalnih 61/65
slojeva (horizontalno razlaganje sistema
upravljanja), koji se sekvencijalno obrađuju.
ƒ Slično klasičnom pristupu umjetne inteligencije.

ƒ Kvar u jjednom funkcionalnom sloju j dovodi do


kvara čitavog sistema.
Upravljanje kretanjem
Reaktivne strukture upravljanja
ƒ Tehnike upravljanja koje direktno povezuju 62/65
percepciju i aktuaciju (djelovanje).
ƒ Osiguravaju
g j brz odziv u ppromjenjivim,
j j ,
nestrukturiranim okruženjima.
ƒ Prednosti:
ƒ Reagiraju veoma brzo, gotovo trenutačno.
ƒ Reaktivno reagiraju životinje (uglavnom)
ƒ Ograničenja:
ƒ Bez prošlih stanja (memorije),
ƒ B modeliranja
Bez d li j prostora,
t
ƒ Bez mogućnosti planiranja unaprijed,
ƒ Bez sposobnosti učenja.
Upravljanje kretanjem
Ponašajne strukture upravljanja
ƒ Sistem upravljanja se razlaže u vodoravne “module
module 63/65
ponašanja”, koji se izvode paralelno.
ƒ Svaki sloj ima direktan pristup senzorima i mogućnost
direktnog prosljeđivanja komandi pogonima robota.
ƒ Svaki sloj je odgovoran za specifičan zadatak robota.
Upravljanje kretanjem
Hibridne strukture upravljanja
ƒ Kombinacija reaktivnog i modelskog ponašanja
ponašanja. 64/65

ƒ Reaktivni sloj reagira brzo u nepredviđenim


situacijama (najniži sloj)
sloj).
ƒ Modelski sloj generira planove (najviši sloj).

ƒ Srednji
S d ji sloj
l j povezujej i kkoordinira
di i rad
d prethodna
th d
dva sloja (srednji sloj).
ƒ Najveći
N j ći problem
bl jje gradnja
d j srednjeg
d j sloja,
l j
budući da modelski i reaktivni slojevi rade
različitim brzinama i različitim opisima prostora
(modelski – simboli, reaktivni – signali).
Upravljanje kretanjem
Hibridne strukture upravljanja
ƒ Troslojna hibridna struktura 65/65

You might also like