arj3_ea080512.pdf
Post on 07-Dec-2015
219 Views
Preview:
TRANSCRIPT
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.
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
[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 ]
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.
[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
[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)
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”.
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
[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))
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
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)
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
[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 , · · · dNk101 , dk202 , · · · dkNN
´, d2 , · · · dN
k101 , dk202 , · · · dkNN
´
[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.
[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? →
[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.
[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
top related