arj3_ea080512.pdf

17
Intelligens robotok Előadás vázlat 1 előadás Összeállította: Harmati István Ph.D., egyetemi adjunktus Felhasznált Irodalom: K. Skrzypczyk: Game thory based target following by a team of robots. Fourth International Workshop on Robot Motion Control, pp. 91-96, 2004. Horváth Ernő Gábor: Multi-ágensű robotrendszer mozgástervezése együttes stratégiai cél eléréséhez. Diplomaterv, BMe, 2005.

Upload: idosebbmint-szlovakia

Post on 07-Dec-2015

219 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: ARJ3_ea080512.pdf

Intelligens robotok

Előadás vázlat

1 előadás

Összeállította: Harmati István Ph.D., egyetemi adjunktus

Felhasznált Irodalom:

K. Skrzypczyk: Game thory based target following by a team of robots. Fourth International Workshop on Robot Motion Control, pp. 91-96, 2004.

Horváth Ernő Gábor: Multi-ágensű robotrendszer mozgástervezése együttes stratégiai cél eléréséhez. Diplomaterv, BMe, 2005.

Page 2: ARJ3_ea080512.pdf

Multiágens rendszerek kooperációja

Cél: Több robot mozgásának hatékony összehangolása egy közös cél érdekében

Kooperáció lehet: • Centralizált

Egy központi egység (“főnök”) mondja meg az ágenseknek, hogy hova mozogjanak.

• Elosztott.

Minden ágens önmaga dönt, de figyelembe veszi valamilyen mértékben a többi robot helyzetét is.

Sokszor csak attól függ, hogy az algoritmust hol implementáljuk.

Az előadás anyaga:

1. Multiágens rendszerek kooperációja statikus célpont bekerítésére

2. Multiágens rendszerek kooperációja dinamikus célpont követésére

3. Robotfoci stratégiák

Page 3: ARJ3_ea080512.pdf

[DCK]. Multiágens rendszerek kooperációja dinamikus célpont követésére

[DCK].1. Feladat specifikáció Adottak:

1. Az N darab Differenciális meghajtású anholonom mobil robotból álló csapat tagjainak pozíciója, orientációja a a diszkrét időpontban: nt

Az orientációt a mért pozíciókból származtatjuk:

pi(tn) =h ixi yi Θi i = 1, 2, · · ·Npi(tn) = xi yi Θi i = 1, 2, · · ·Nh i

Θi = arctan

µyi(tn)− yi(tn−1)xi(tn)− xi(tn−1)

¶Θi = arctan

µyi(tn)− yi(tn−1)xi(tn)− xi(tn−1)

¶2. Statikus (álló) akadályok pozíciója a terepen

[ ]jjj yxo = Mj ,,1…=

3. Dinamikus (mozgó) célpont pozíciója a diszkrét időpontban: nt

g(tn) = [xg yg ]g(tn) = [xg yg ]

Page 4: ARJ3_ea080512.pdf

Beavatkozás (döntések): Az N csapattag mozgását előíró sebességek: i = 1, . . . , Ni = 1, . . . , Nui = [wi vi]ui = [wi vi] iω Az . robot szögsebessége i Az robot iránymenti sebessége iv .i Cél: Az N csapattag mozgását illetően olyan döntések kialakítása, amely biztosítja, hogy

4. a csapattagok „tömegközéppontja ” kövesse a )( nm tC g célpontot. 5. A csapattagok a tömegközépponttól egy suarú körön belül legyenek. )( nm tC 0R

6. Az ütközést elkerülendő bármely két csapattag ne legyen közelebb egymáshoz, mint egy előírt 0rD .

7. A csapattagok előírt formációban legyenek.

8. A csapattagok ne ütközzenek akadályokba.

Page 5: ARJ3_ea080512.pdf

[DCK].2. Az irányítás blokkdiagrammja

gop ji ,,

The game model

iI

0S 1S

Noncooperative solution

Min-Max Nash Eq. Stackelberg Eq.

2S Sensors Arbiter Selection

R

Position Tracking

1u Nu 1u

creteria

obot 1 Robot N

World

Page 6: ARJ3_ea080512.pdf

[DCK].3. A feladat leírása

[DCK].3.1. Diszkretizálás Cél: A problématér dimenziójának szűkítése. Játékelméleti szempontból csak így lesz kezelhető a megoldás számítása. Diszkretizálandók: A robotok döntései (a “beavatkozó jelek”) Az robot szögsebességének diszkretizálása: h ih i.i

Ωi = ω1i ,ω2i , · · ·ωKi

i i = 1, 2, · · ·NΩi = ω1i ,ω2i , · · ·ωKi

i i = 1, 2, · · ·N Praktikus: Ha , azaz ,egengedünk 3=iK

• egy jobbrafordulást (negatív előjel), • egy 0 szögsebességet és • egy balrafordulást (pozitív előjel)

Az robot iránysebessége nagyon durva felbontást eredményezne Nem diszkretizáljuk. .i →

Ehelyett: egzaktul számítunk egy célpontkövető sebeséget, amely • célpont irányába mutat

• nagységa a célponttól való távolságtól függ

vi,g = vg,est +di,g(vg,est)

∆t

1

1 + e−α(di,g(vg,est)−R0)vi,g = vg,est +

di,g(vg,est)

∆t

1

1 + e−α(di,g(vg,est)−R0)

Page 7: ARJ3_ea080512.pdf

vi,g = vg,est +di,g(vg,est)

∆t

1

1 + e−α(di,g(vg,est)−R0)vi,g = vg,est +

di,g(vg,est)

∆t

1

1 + e−α(di,g(vg,est)−R0) Az iránymenti sebesség komponensei:

• A a célpont becsült sebessége, amelyet a célpont előző mintavételben felvett sebességeinek estgv , F

átlaga adja:

vg,est =1

F

FXk=1

vg(tn−k)vg,est =1

F

FXk=1

vg(tn−k)

• : Az . robot és a célpont közötti jósolt távolság a )( ,, estggi vd i 1+nt mintavételben (ha feltesszük, hogy a célpont sebességgel mozog tovább estgv ,

• α : A célpontkövető együttható. Ő határozza meg, hogy a tvd estggi ∆/)( ,, célpontkövető

sebességkomponens milyen mértékben befolyásolja a robot sebességét. Meghatározza, hogy a célpontkövetés mennyire legyen “sima”.

Page 8: ARJ3_ea080512.pdf

Az robot iránysebességének végső alakjához csapattulajdonságot kell megvalósítani: .i A lemaradó robotok gyorsuljanak, a célhoz közeli robotok lassuljanak →

ξi =ρc,i

maxi=1,2,···N ρc,iξi =

ρc,i

maxi=1,2,···N ρc,i Csillapítási tényező:

Ahol

ρc,i =

½dc,i/R0 if dc,i > R01 otherwise

ρc,i =

½dc,i/R0 if dc,i > R01 otherwise

az robot és a tömegközéppont közötti távolság icd , .i

Az robot iránysebességének végső alakja: .i

vi = ξivi,g i = 1, 2, · · ·Nvi = ξivi,g i = 1, 2, · · ·N

Az robot döntési halmaza (lehetséges beavatkozások halmaza): .i Ui = (ωi, vi) : ωi ∈ Ωi ∪ viUi = (ωi, vi) : ωi ∈ Ωi ∪ vi

Page 9: ARJ3_ea080512.pdf

[DCK].3.2. Költségfüggvények Cél: Kifejezni, hogy egy adott állapot mennyire jó a célkövetés és formáció szempontjából A kifejezéshez szükséges definíciók: A robotcsapat középpontjának jósolt pozíciója: h

Ahol az robot döntése az halmazból ii Kd ,,2,1 …= .i iU

ii di

di yx ˆ,ˆ az . robot előre számított pozíciója a robot döntésének következtében i id →

ii d

idi yx ˆ,ˆ az . robot előre számított pozíciója a robot döntésének következtében: i id

Ahol 0 a késleltetés. (A szenzorinformációk fogadása és a döntés továbbküldése közötti idő) T t∆ a mintavétel az előző mintevételben kiadott döntés 11 , −− t

iti vω

a becsült orientáció. Számítását lásd korábban iΘ

c(d1, d2, · · · dN ) = 1N

Ni=1 x

dii ,

1PN

PNi=1 y

dii

ic(d1, d2, · · · dN ) = 1

hN

Ni=1 x

dii ,

1N

PNi=1 y

dii

iP

xdii = xi + vt−1i T0 cos(Θi + ωt−1i T0) +

+ vi(∆t− T0) cos(Θi + ωt−1i T0 + ωdii (∆t− T0))

ydii = yi + vt−1i T0 sin(Θi + ωt−1i T0) +

+ vi(∆t− T0) sin(Θi + ωt−1i T0 + ωdii (∆t− T0))

xdii = xi + vt−1i T0 cos(Θi + ωt−1i T0) +

+ vi(∆t− T0) cos(Θi + ωt−1i T0 + ωdii (∆t− T0))

ydii = yi + vt−1i T0 sin(Θi + ωt−1i T0) +

+ vi(∆t− T0) sin(Θi + ωt−1i T0 + ωdii (∆t− T0))

Page 10: ARJ3_ea080512.pdf

Az robot költségfüggvényének általános alakja: .i Ii(d1, d2, · · · , dN ) = fi(d1, · · · dN , o1, · · · , oM , g)Ii(d1, d2, · · · , dN ) = fi(d1, · · · dN , o1, · · · , oM , g) Az robot költségfüggvényének komponensei: .i Ii(Ii(d1, · · · , dN ) = I1i + I2i + I3i + I4id1, · · · , dN ) = I1i + I2i + I3i + I4i Az ütközés büntetése:

I1i = (d1, · · · , dN ) = k11

min j = 1, · · · , Nk = 1, · · · ,M

j 6= i

(dr,i,j , do,i,k, di,g)I1i = (d1, · · · , dN ) = k1

1

min j = 1, · · · , Nk = 1, · · · ,M

j 6= i

(dr,i,j , do,i,k, di,g) Ahol

jird ,,ˆ az és .i .j robot közötti jósolt távolság

az robot és kiod ,,

ˆ .i .k akadály közötti jósolt távolság az az . robot és a célpont közötti jósolt távolság gid ,

ˆ i súlyozó tényező 1k

Page 11: ARJ3_ea080512.pdf

A robot és robotcsapat középpontja közöti távolságának büntetése (Manhattan norma):

I2(d1I2(d1i , · · · , dN ) = k2dc,ii , · · · , dN ) = k2dc,i Ahol

icd ,ˆ a robotcsapat tömegközéppontja és az robot közötti jósolt távolság .i

súlyozó tényező 2k

A robotcsapat középpontjának célponttól való távolságának büntetése:

I3i (d1, · · · , dN ) = k3dc,gI3i (d1, · · · , dN ) = k3dc,g Ahol a robotcsapat középpontjának célponttól való távolsága gcd ,

ˆ

súlyozó tényező 3k A célpont jósolt helyzete:

x = 2xg(tn)− xg(tn−1)y = 2yg(tn)− yg(tn−1)

(1)

x = 2xg(tn)− xg(tn−1)y = 2yg(tn)− yg(tn−1)

(1)

Page 12: ARJ3_ea080512.pdf

A robotcsapat előírt formációtól való eltérésének büntetése

estgv ,

)( ntg

)(1 ntp

)(3 ntp

)(1 ntp

)()( 22 nn tptp

)(3 ntp

)(1 ntp

)(2 ntp

)(3 ntp

1) Adott a referencia formációban (ami egy gráf) a

csapattagok relatív helyzete a célponthoz és annak sebességéhez képest. F

2) A referencia formációban a célponthoz legközelebbi robotpozíciót megfeleltetjük annak a robotnak, aki legközelebb van a célponthoz. Ez a leader robot. A referencia távolság és a valódi távolság egy skálázási tényezőt definiál.

3) A célpont és az előző lépésben definiált leader robot közötti szöggel elforgatjuk a referencia formáció alakzatát.

4) Az elforgatott, skálázott referencia formáció segítségével megmondható, hogy a robotcsapat tagjainak hol kellene lenni a döntésük után.

5) A döntés utáni kívánt és valódi robothelyzetek közötti távolság minden robot számára definiál egy költséget ( súlyozási tényezővel). 4k

Page 13: ARJ3_ea080512.pdf

[DCK].3. A játékelméleti probléma megoldása Cél: Minden tnt ∆= , időben olyan döntéseket talalni a robotcsapat tagjainak számára, hogy a formációban való követést megvalósítsák. Ehhez a költségfüggvényeiket kell minimalizálni.

…,2,1=n

Q: Feltétlen létezik olyan döntéscsoport, ami minden robotnak jó? A: NEM! Könnyen lehet, hogy egy robot döntése, ami önmagának jó, az másik robotnak rossz (mert pl közel kerül hozzá). → A robotok egymással versengenek. Milyen döntést fogadjunk el jó döntésnek? Játékelméleti eredmények (“Nem kooperáló” ágensek) →

[DCK].3.1. Nash egyensúly A Nash egyensúlyt valósítanak meg a robotok azon döntései, amelytől egyik robotnak sem érdemes eltérnie, mert rosszabbul jár. A robotok ( )010 ,,1

NkN

kk ddd …= döntései a .k diszkrét időpontban Nash egyensúlyt valósítanak meg, ha

I1

³dk101 , dk202 , · · · dkN0

N

´ ³ ´

IN

³dk101 , dk202 , · · · dkN0

N

´I1

³dk101 , dk202 , · · · dkN0

N

´ ³ ´

IN

³dk101 , dk202 , · · · dkN0

N

´

I1 dk1kN0

...

IN

³d

I1 dk1kN0

...

IN

³d

1 k201 k20

, d2 , · · · dN

k101 , dk202 , · · · dkNN

´, d2 , · · · dN

k101 , dk202 , · · · dkNN

´

Page 14: ARJ3_ea080512.pdf

[DCK].3.2. Stackelberg egyensúly A Stackelberg egyensúlynál feltehető, hogy a robotok között egyfajta hierarchia van. Ez azt jelenti, hogy a felsőbb szintjén álló robot (vezető) előre bejelentheti a döntését a hiararchiában alatta lévő robotok számára. Legyen az . robot a vezető, a hierarchiában alatta lévő robotok egyenrangúak. Jelölje az . robot adott

döntése mellett (=”után”) kialakuló szituációban az i i

ikid nii ,,1,1,,2,1 …… +− robotok Nash egyensúlyt

megvalósító döntéseit ( )0,0,10,110 ,,,,: 111Niii k

Nki

ki

kki ddddd …… +−−

+−− = , az ilyen döntések halmazát )( ikii dD−

Akkor ( )010 ,,1

NkN

kk ddd …= döntés Stackelberg egyensúlyt valósít meg, ha

( ) ( )( )iiki

N kii

kii

d

kN

ki dDdIddI −= ,min,, 010

1 …

Vezetőnek mindig a legrosszabb helyzetben található robotot érdemes kinevezni, azaz, akinek az adott szituációban legnagyobb a költsége.

Page 15: ARJ3_ea080512.pdf

[DCK].3.3. Min-max stratégia Minden robot a legrosszabbat, ellenséges viselkedést feltételez a többi robotról és ebben a szituációban alakítja ki a legjobb döntését. Ilyen stratégia mindig létezik. A min-max stratégia döntései: d10 = min

d1maxd2,···dN

I1(d10, d2, · · · , dN )...

dN0 = mindN

maxd1,···dN−1

IN (d1, d2, · · · , dN0)

d10 = mind1

maxd2,···dN

I1(d10, d2, · · · , dN )...

dN0 = mindN

maxd1,···dN−1

IN (d1, d2, · · · , dN0)

Akkor alkalmazható, ha Nash egyensúlynak megfelelő stratégiát szeretnénk megvalósítani, azonban a Nash egyensúly nem létezik. És ha több (Nash) egyensúly is létezik? →

Page 16: ARJ3_ea080512.pdf

[DCK].3.3. Döntések több egyensúly létezése esetén Legyen a (Nash) egyensúlyok halmaza: Ahol

SN =©SN1 , S

N2 , · · · , SNP

ªSN =

©SN1 , S

N2 , · · · , SNP

ª n = 1, 2, · · · , Pn = 1, 2, · · · , P S

Nn = dn10, dn20, · · · , dnN0SNn = dn10, dn20, · · · , dnN0

Akkor a robotok a döntéseikkel a következő lépéseken keresztül választják ki a megvalósítandó ∗S egyensúlyt:

C(Sn) =

NXi=1

¡Ii(Sn) + |Ii(Sn)− I|

¢I =

1

N

NXi=1

Ii(Sn)

C(Sn) =

NXi=1

¡Ii(Sn) + |Ii(Sn)− I|

¢I =

1

N

NXi=1

Ii(Sn)

⇓ S∗ = Sn = min

n=1,2,··· ,P(C(Sn))S∗ = Sn = min

n=1,2,··· ,P(C(Sn))

Az az egyensúly kerül kiválasztásra, amely a lehető legegyenletesebben osztja szét a költségeket a robotok között.

Page 17: ARJ3_ea080512.pdf

[DCK].4. Szimulációs eredmények

Nash egyensúly formációval kép Súlyok hangolása fuzzy szabálybázissal kép