Professional Documents
Culture Documents
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 ).
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.
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
θ
⎡ ICC x ⎤ ⎡ x − R sin(θ ) ⎤
ICC = ⎢ ⎥=⎢ ⎥
⎣ ICC y ⎦ ⎣ y + R cos(θ ) ⎦
ICC
(a) (b)
Nepostojanje ICC tačke.
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
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 &
x& C = (θ R + θ&L ) cos θ − dθ& sin θ
2
r
y& C = (θ&R + θ&L ) sin θ + dθ& cos θ
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 ⎠
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 α
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
⎜⎜ ⎟⎟ + ⎜ ⎟
-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
.45 .4 .38 .35 .32 .31 .32 .38 .41 .45 0.9
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
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
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
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
opažanje opažanje
djelovanje djelovanje
Upravljanje
p j j Okolina Upravljanje
Okolina
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