Robottechnika Differenciális kinematika és dinamika Magyar Attila Pannon Egyetem Műszaki Informatika Kar Villamosmérnöki és Információs Rendszerek Tanszék
[email protected]
2009 október 8.
Differenciális kinematika
Áttekintés
1
Differenciális kinematika Jacobi számítása
2
Dinamika
Magyar Attila (Pannon Egyetem)
Robottechnika
2009 október
2 / 21
Differenciális kinematika
Differenciális kinematika
A direkt- és inverz kinematika a csuklóváltozók és a végszerszám pozíciója/orientációja között teremt kapcsolatot A differenciális kinematika a csuklósebességek és a végszerszám sebesség/szögsebesség között
Magyar Attila (Pannon Egyetem)
Robottechnika
2009 október
3 / 21
Differenciális kinematika
Geometriai Jacobi mátrix Eml: direkt kinematikai modell T (q) =
R(q)
p(q)
0T
1
q = [q1 , . . . , qn ]T
,
Cél: a csuklósebességek és a végszerszám sebesség/szögsebesség közti kapcsolat felírása a végszerszám egyenes vonalú sebességének (p) ˙ felírása a csuklósebesség (q) ˙ segítségével a következő alakban p˙ = J (q)q˙ P
a végszerszám szögsebességének (ω) felírása a csuklósebesség (q) ˙ segítségével a következő alakban ω = J (q)q˙ O
Kompakt alakban v =
Magyar Attila (Pannon Egyetem)
p˙ ω
"
= J(q)q, ˙
ahol
J=
J P J
# ∈ R6×n
O
Robottechnika
2009 október
4 / 21
Differenciális kinematika
Jacobi számítása
Jacobi számítása Összegezve
j Pi j Oi
Magyar Attila (Pannon Egyetem)
=
z i −1 0
csúszó ízület esetén
z i −1 × (p − p i −1 ) z i −1
forgó ízület esetén
Robottechnika
2009 október
5 / 21
Dinamika
Áttekintés
1
Differenciális kinematika
2
Dinamika Mozgási energia Helyzeti energia Mozgásegyenletek
Magyar Attila (Pannon Egyetem)
Robottechnika
2009 október
6 / 21
Dinamika
Dinamikus modell
Beavatkozó nyomatékok és a manipulátor mozgása közt teremt kapcsolatot Mozgásszimuláció, irányítási algoritmusok tervezése Ízületek, átalakítók, beavatkozók méretezése (erők, nyomatékok kiszámíthatók) Mozgásegyenletek felírása a csuklóváltozók terében Lagrange formalizmus Newton-Euler formalizmus
Magyar Attila (Pannon Egyetem)
Robottechnika
2009 október
7 / 21
Dinamika
Lagrange-formalizmus Szisztematikusan vezetjük le a mozgásegyenleteket Általánosított koordináták: λ1 , . . . , λn Lagrange függvény (L) L = T − U,
ahol
T − kinetikus energia U − potenciális energia
Lagrange egyenletek d ∂L ∂L − = ξi , dt ∂ λ˙i ∂λi
i = 1, . . . , n
ξi a λi -hez tartozó általánosított erő (nyomaték) Nyílt kinematikai lánc esetén az általánosított koordináták legyenek a csuklóváltozók λ=q Kapcsolatot teremt a manipulátorra ható nyomatékok és a csuklópozíciók, -sebességek, és -gyorsulások között Magyar Attila (Pannon Egyetem)
Robottechnika
2009 október
8 / 21
Dinamika
Példa - Meghajtott inga
τ nyomatékkal forgatjuk viszkózus súrlódás a nyomatékot egy motor adja, aminek az áttétele kr > 1, tehetetlenségi nyomatéka Im ϑ szögelfordulás (ϑ = 0, ha lefelé áll) Magyar Attila (Pannon Egyetem)
Robottechnika
2009 október
9 / 21
Dinamika
Példa - Meghajtott inga Általánosított koordináta - ϑ Mozgási energia 1 1 T = I ϑ˙ 2 + Im kr2 ϑ˙ 2 2 2 Helyzeti energia U = mg `(1 − cos(ϑ)) Lagrange függvény 1 1 L = I ϑ˙ 2 + Im kr2 ϑ˙ 2 − mg `(1 − cos(ϑ)) 2 2 Behelyettesítve a Lagrange egyenletbe (I + Im kr2 )ϑ¨ + F ϑ˙ + mg ` sin(ϑ) = τ
Magyar Attila (Pannon Egyetem)
Robottechnika
2009 október
10 / 21
Dinamika
Mozgási energia
Mozgási (kinetikus) energia n merev szegmensből álló manipulátor Teljes kinetikus energia az egyes szegmensek illetve a rájuk erősített motorok mozgási energiájából áll össze n X T = (Tli + Tmi ) i =1
Az i. szegmens mozgási energiája Z 1 Tli = p˙ ∗T p˙ ∗i ρdV 2 Vl i i
p˙ i : egyenesvonalú sebesség Vli : az i. szegmens térfogata Az i. szegmens tömegközéppontja Z 1 pl = p ∗ ρdV i mli Vl i i
A szegmens egy pontjának sebessége p˙ ∗i = p˙ l + ω i × r i = p˙ l + S(ω i ) · r i i
Magyar Attila (Pannon Egyetem)
i
Robottechnika
2009 október
11 / 21
Dinamika
Mozgási energia
Szegmens mozgási energiája Visszahelyettesítve a kinetikus energiába (Tli ) 3 tag adódik: Z 1 1 Egyenes vonalú p˙ T p˙ ρdV = mli p˙ T p˙ li li 2 Vl li li 2 i
Kölcsönös
1 2 2
Z Vl
p˙ T S(ω i )r i ρdV li i
1 S(ω i ) = 2 p˙ T 2 li
Z Vl
(p ∗i
− p l )ρdV = 0 i
i
Forgási 1 2
Z Vl
T rT i S (ω i )S(ω i )r i ρdV i
Z 1 T 1 T = ωi S (r i )S(r i )ρdV ω i = ω T i I l ωi i 2 2 Vl i
kihasználtuk, hogy S(ω i )r i = −S(r i )ω i Tehetetlenségi nyomaték tenzor: R 2 (riy + riz2 )ρdV ∗ Ili = ∗
Magyar Attila (Pannon Egyetem)
− R
R
rix riy ρdV
2 + r 2 )ρdV (rix iz
∗
Robottechnika
−
R
rix riz ρdV
−
R
riy riz ρdV
R
2 + r 2 )ρdV (rix iy
2009 október
12 / 21
Dinamika
Mozgási energia
Szegmens mozgási energiája Összegezve, az i. szegmens mozgási energiája 1 1 Tli = mli p˙ T p˙ + ω T I ω li li 2 2 i li i A mozgási energiát a csuklóváltozók függvényeként kellene felírni, ehhez a Jacobi formalizmus haszálható (li ) (l ) (l ) = j P1 p˙ l q˙ 1 + . . . + j Pii q˙ i = J Pi q˙ i
=
ωi ahol
(l )
J Pi
(l )
(l )
(l )
i j O1 q˙ 1 + . . . + j Oii q˙ i = J Oi q˙ i h (li ) (l ) = j P1 . . . j Pii 0 . . . 0
h i (l ) (li ) (l ) = . . . j Oii 0 . . . 0 j O1 J Oi Az oszlopvektorok számítása ( z j−1 csúszó ízület esetén (l ) j Pji = z j−1 × (p l − p j−1 ) forgó ízület esetén i csúszó ízület esetén 0 (l ) j Oji = z j−1 forgó ízület esetén (Az i. szegmens kinetikus energiája) Tli = Magyar Attila (Pannon Egyetem)
1 1 ml q˙ T J (li )T J (li ) q˙ + q˙ T J (li )T I J (li ) q˙ P P O li P 2 i 2 Robottechnika
2009 október
13 / 21
Dinamika
Mozgási energia
Motor mozgási energiája Szegmenséhez hasonlóan számolható Forgó elektromos motorokat tételezünk fel (mindkét ízülettípus meghajtására alkalmas) Az állórész az i − 1. szegmenshez van rögzítve, így annak mozgási energiáját már kiszámoltuk A forgórész mozgási energiája a kérdés Az i. rotor kinetikus energiája 1 1 Tmi = mmi p˙ T p˙ + ω T I ω mi mi 2 2 mi mi mi ahol mmi a rotor tömege p˙ m a rotor tömegközéppontjának i
egyenes vonalú sebessége I tehetetlenségi nyomaték mi
ω mi a rotor szögsebessége
Magyar Attila (Pannon Egyetem)
Robottechnika
2009 október
14 / 21
Dinamika
Mozgási energia
Motor mozgási energiája Jelölje ϑmi a rotor szögelfordulását. Merev áttételt feltételezve: kri q˙i = ϑ˙ m i
Az i. edik rotor eredő szögsebessége ω mi = ω i −1 + kri q˙ i z mi ahol ω i −1 az i − 1. szegmens szögsebessége, z mi pedig a rotor tengelyének irányába mutató egységvektor A kinetikus energiát most is a csuklóváltozók függvényeként kellene felírni. A rotor tömegközéppontjának egyenes vonalú sebessége p˙ m = J (mi ) q˙ i
Jacobi mátrix
J (mi ) P ( (m )
j Pj i =
=
h
(m ) j P1i
...
P
(m ) j P,ii−1
z j−1 z j−1 × (p m − p j−1 ) i
i 0 . . . 0 , ahol csúszó ízület esetén forgó ízület esetén (m )
p j−1 pedig a j − 1. koordinátarendszer origójába mutató vektor, j Pi i pedig azért nullvektor, mert a rotor tömegközéppontja a forgástengelyen helyezkedik el
Magyar Attila (Pannon Egyetem)
Robottechnika
2009 október
15 / 21
Dinamika
Mozgási energia
Motor mozgási energiája
A rotor szögsebessége is kifejezhető csuklóváltozókkal ω mi = J (mi ) q˙ O h i (m ) (m ) (m ) Jacobi mátrix J (mi ) = j O1i . . . j O,ii −1 j Oi i 0 . . . 0 , ahol O ( (l ) j Oji j = 1, . . . , i − 1 (mi ) j Oj = kri z mi j =i z mi a rotor forgástengelyének irányába mutató egységvektor (Az i. rotor kinetikus energiája) Tmi =
Magyar Attila (Pannon Egyetem)
1 1 mmi q˙ T J (mi )T J (mi ) q˙ + q˙ T J (mi )T I J (mi ) q˙ P P O mi O 2 2
Robottechnika
2009 október
16 / 21
Dinamika
Mozgási energia
A teljes mozgási energia Összegezve az egyes szegmensek és motorok mozgási energiáit magkapjuk a manipulátor mozgási energiáját: n
˙ = T (q, q)
n
1 1 XX bij (q)q˙ i q˙ j = q˙ T B(q)q˙ 2 2 i=1 j=1
B(q) az n × n-es tehetetlenségi nyomaték mátrix: B(q) =
n X
mli J (li )T J (li ) + J (li )T I J (li )T + mmi J (mi )T J (mi ) + J (mi )T I P
P
i =1
O
li
O
P
P
O
mi
J (mi )T
O
szimmetrikus pozitív definit konfiguráció-függő
Magyar Attila (Pannon Egyetem)
Robottechnika
2009 október
17 / 21
Dinamika
Helyzeti energia
Helyzeti (potenciális) energia A mozgási energiához hasonlóan a helyzeti energiát is az egyes szegmensek és rotorok helyzeti energiájának összegeként írjuk fel U=
n X
(Uli + Umi )
i =1
Merev szegmenseket feltételezve a szegmensek helyzeti energiája a gravitációs erőkből származik Z Uli = − g T p ∗i ρdV = −mli g T p l , ahol g T = [0, 0, − g ] Vl
i
i
Az i. rotor helyzeti energiája hasonlóan Umi = −mmi g T p m
i
A teljes potenciális energia U (q) = −
n X
mli g T p l + mmi g T p m
i =1
i
i
p l és p m vektorokon keresztül a potenciális energia csak a csuklóváltozóktól függ, azok i
i
idő szerinti derváltjától (sebességétől) nem Magyar Attila (Pannon Egyetem)
Robottechnika
2009 október
18 / 21
Dinamika
Mozgásegyenletek
Mozgásegyenletek Eml: Lagrange függvény: L(q, q) ˙ = T (q, q) ˙ − U (q) =
n n n X 1 XX bij (q)q˙ i q˙ j + mli g T p l (q) + mmi g T p m (q) i i 2 i =1 j=1 i =1
Eml: Lagrange egyenletek: d ∂L ∂L − = ξi , dt ∂ q˙i ∂qi
i = 1, . . . , n
A derivált elemei: d dt
∂L ∂ q˙i
=
d dt
∂T ∂ q˙i
=
n X
bij (q)¨ qj +
j=1
n X dbij (q) j=1
dt
q˙ j =
n X
n X n X ∂bij (q) bij (q)¨ q˙ k q˙ j qj + ∂qk j=1 j=1 k=1
n n ∂T 1 X X ∂bjk (q) = q˙ k q˙ j ∂qi 2 j=1 ∂qi k=1
n X
∂U =− ∂qi j=1
ml j g T
∂p l
j
∂qi
+ mm j g T
Magyar Attila (Pannon Egyetem)
∂p m ! j
∂qi
=−
n X
(l ) (m ) mlj g T j Pij (q) + mmj g T j Pi j (q) = gi (q)
j=1
Robottechnika
2009 október
19 / 21
Dinamika
Mozgásegyenletek
Mozgásegyenletek (A mozgásegyenletek) n X
bij (q)¨ qj +
j=1
n X n X
hijk (q)q˙ k q˙ j + gi (q) = ξi ,
i = 1, . . . , n
j=1 k=1
ahol
hijk =
∂bij 1 ∂bjk − ∂qk 2 ∂qi
Gyorsulások a bij együttható adja meg a j. ízület gyorsulásának hatását az i. ízületre Négyzetes sebességek: hijj q˙ j2 reprezentálja a j. ízület sebessége által az i. ízületre gyakorolt centrifugális hatást hijk q˙ j q˙ k reprezentálja a j. és a k. ízületek sebességei által az i. ízületre gyakorolt Coriolis hatást Csuklóváltozó függő tagok: gi reprezentálja a gravitáció hatására az i. ízületnél ébredő nyomatékot
Magyar Attila (Pannon Egyetem)
Robottechnika
2009 október
20 / 21
Dinamika
Mozgásegyenletek
Mozgásegyenletek Általánosított erők, nemkonzervatív erők Beavatkozó nyomatékok τ Súrlódási nyomatékok viszkózus súrlódási nyomaték: F v q˙ statikus súrlódási nyomaték: f s (q, q), ˙ vagy egyszerűbben a Coulomb súrlódási nyomaték: F s sgn(q) ˙ A környezettel való érintkezésből (végszerszám) adódó kontakt-erők: J T (q)h Összegezve, a csuklóváltozókra vonatkozó dinamikus modell: B(q)¨ q + C (q, q) ˙ q˙ + F v q˙ + F s sgn(q) ˙ + g (q) = τ − J T (q)h ahol a C ∈ Rn×n mátrix cij elemei kielégítik a következő egyenletet: n X j=1
Magyar Attila (Pannon Egyetem)
cij q˙ j =
n X n X
hijk q˙ k q˙ j
j=1 k=1
Robottechnika
2009 október
21 / 21