© Mester Gyula
2003
Intelligens robotok és rendszerek
Robotmanipulátorok kinematikája
Robotmanipulátorok dinamikája
Robotmanipulátorok szabad mozgásának hagyományos irányítása
Robotmanipulátorok adaptív irányítása
© Mester Gyula
2003
Intelligens robotok és rendszerek
Robotmanipulátorok geometriai modellje A robot helyzetmeghatározása
Direkt kinematikai feladat
Inverz kinematikai feladat Robotmanipulátorok pályatervezése © Mester Gyula
2003
Robotmanipulátorok kinematikája
1.1 A robotmanipulátorok geometriai modellje 1.1.1 Robotcsuklók 1.1.2. Robotszegmensek 1.1.3. Kinematikai pár 1.1.4. Kinematikai lánc 1.1.5. Robotmanipulátorok alapkonfigurációi 1.1.6. Az alapkonfigurációk munkaterei a. A TTT struktúra munkatere b. Az RTT struktúra munkatere c. Az RRT struktúra munkatere d. Az RRR struktúra munkatere
© Mester Gyula
2003
Robotmanipulátorok kinematikája
1.1.1 Robotcsuklók A robotmanipulátor mint mechanizmus n számú szegmensből áll melyeket 1-szabadságfokú csuklók kapcsolnak össze. A merev test mozgása műszaki szempontból a mozgástengelyek (x,y,z) menti elmozdulásból és e tengelyek körüli elfordulásból áll. Ez persze vonatkozik a robotmanipulátorok mozgására is amely felosztható haladó -és forgó ( rotációs ) mozgásra. Így tehát az 1-szabadságfokú robotcsuklók felosztása a következő: • rotációs csukló, • transzlációs csukló. © Mester Gyula
2003
Robotmanipulátorok kinematikája
z
A rotációs csuklók lehetővé teszik az egyik szegmens forgó mozgását a másik szegmens körül, R szimbólummal jelöljük és sematikusan hengerrel ábrázoljuk.
l2
l1 q 1.1. ábra A rotációs csukló vázlata
© Mester Gyula
2003
Robotmanipulátorok kinematikája
A transzlációs csuklók lehetővé teszik az egyik szegmens haladó mozgását a másik szegmenshez viszonyítva, T szimbólummal jelöljük és sematikusan hasábbal ábrázoljuk.
z
l2
l2
z
l1
l1
q
q
1.2. ábra A transzlációs csukló vázlata © Mester Gyula
2003
Robotmanipulátorok kinematikája
Az 1.3 ábrán a 6-szabadságfokú PUMA típusú robototmanipulátort mutatjuk be. Az 1.4 ábrán pedig a PUMA robotmanipulátor vázlata látható.
© Mester Gyula
2003
Robotmanipulátorok kinematikája
q2
q3 q5
q1
q6 1.3. ábra A PUMA robotmanipulátor © Mester Gyula
2003
q4
Robotmanipulátorok kinematikája
1.4. ábra A PUMA robotmanipulátor vázlata
© Mester Gyula
2003
Robotmanipulátorok kinematikája
1.1.2. Robotszegmensek A robotmanipulátor szegmense merev test, amely kinematikai- és dinamikai paraméterekkel rendelkezik. A kinematikai paraméterek a szegmens hossza és a robotcsukló-tengelyek egymással között bezárt szöge. A dinamikai paraméterek közé tartozik a szegmens tömege, és tehetetlenségi nyomatéka. A kinematikai paramétereket a Denavit-Hartenberg féle eljárás szerint határozzuk meg. © Mester Gyula
2003
Robotmanipulátorok kinematikája
q i-1
qi i-szegmens
i-csukló (i-1) - csukló 1.5. ábra Robotszegmens
© Mester Gyula
2003
Robotmanipulátorok kinematikája
1.1.3. Kinematikai pár A kinematikai pár két egymás mellett lévő szegmensből és a szegmenseket összekötő csuklóból áll. A továbbiakban csak 1-szabadságfokú kinematikai párokat vizsgálunk (rotáció vagy transzláció).
© Mester Gyula
2003
Robotmanipulátorok kinematikája
1.1.4. Kinematikai lánc A kinematikai lánc n számú kinematikai párból áll. A kinematikai láncok struktúrális szempontból csoportosíhatók:
© Mester Gyula
2003
Robotmanipulátorok kinematikája
egyszerû
összetett
Kinematikai lánc - felosztása -
nyitott
zárt
1.6. ábra Kinematikai láncok felosztása
© Mester Gyula
2003
Robotmanipulátorok kinematikája
• • • •
Az egyszerű kinematikai láncnál egyik szegmens sem kapcsolódik több mint két kinematikai párhoz. Az összetett kinematikai láncnál legalább egy szegmens több mint két kinematikai párhoz tartozik. A nyitott kinematikai lánc legalább egy szegmense csak egy kinematikai párhoz tartozik. A zárt kinematikai láncnál minden szegmens két kinematikai párhoz tartozik.
A kinematikai láncok típusai az 1.7. ábrán láthatók. © Mester Gyula
2003
Robotmanipulátorok kinematikája
z
l2
l1 q
egyszerű, nyitott kinematikai lánc
összetett, nyitott kinematikai lánc
1.7.a. ábra Kinematikai lánc típusok © Mester Gyula
2003
Robotmanipulátorok kinematikája
z
l2
l1 q
összetett, zárt kinematikai lánc
egyszerű, zárt kinematikai lánc
1.7.b. ábra Kinematikai lánc típusok © Mester Gyula
2003
Robotmanipulátorok kinematikája
z
l2
•
A mechanizmusok elmélete szempontjából a l1 robotmanipulátorok aktív mechanizmusai általános esetben összetett és változó q struktúrájú kinematikai láncok [2].
•
Egy ipari robot kinematikai láncának szerelés közben változó struktúráját a 1.8.-1.10. ábrákon mutatjuk be.
© Mester Gyula
2003
Robotmanipulátorok kinematikája
z
Vizsgáljunk meg egy 6-szabadságfokú PUMA típusú robotmanipulátort.
l1 q
A munkadarab megfogása előtt a robotmanipulátor kinematikai lánca egyszerű és nyitott: © Mester Gyula
l2
1.8. ábra A szerelő robot a munkadarab megfogása előtt 2003
Robotmanipulátorok kinematikája
z
A munkadarab szállítása közben a robot-manipulátor kinematikai struktúrája nem változik, de a kinematikai lánc utolsó tagjának ( a megfogó-effektor és a munkadarab együttesen ) a tömege és tehetetlenségi nyomatéka változik, ami persze kihat a szemlélt rendszer dinamikájának változására: © Mester Gyula
l2
l1 q
1.9. ábra A munkadarab szállítása 2003
Robotmanipulátorok kinematikája
z
A munkadarab szerelésénél pedig (1.9. ábra) megváltozik a robotmanipulátor kinematikai struktúrája is, mivel az, egyszerű és zárt kinematikai struktúrájú lesz: © Mester Gyula
l2
l1 q
1.10. ábra A munkadarab szerelése 2003
Robotmanipulátorok kinematikája
1.1.5. Robotmanipulátorok alapkonfigurációi •
•
•
A robotmanipulátorok alapkonfigurációja alatt egy három csuklós, tehát 3 - szabadságfokú kinematikai láncot értünk. Az alapkonfigurációhoz csatlakozik az effektor. Az alapkonfiguráció feladata az effektor pozícionálása a munkatérben. A legtöbb használatban lévő robotmanipulátor rendelkezik ilyen alapkonfigurációval. Mivel a robotcsuklók rotációsak és transzlációsak lehetnek, így az alapkonfigurációk esetében a 1.10. ábra szerinti kombinációk jelentkezhetnek. © Mester Gyula
2003
Robotmanipulátorok kinematikája
Robotmanipulátorok alapkonfigurációi No.
Struktúra
Struktúra
vázlat
1
RRR
5
TRR
2
RRT
6
TTR
3
RTT
7
TRT
4
RTR
8
TTT
vázlat
1.11. ábra A robotmanipulátorok lehetséges alapkonfigurációinak bemutatása © Mester Gyula
2003
Robotmanipulátorok kinematikája
Fontos kihangsúlyozni azt is, hogy a robotmanipulátor alapkonfigurációk kinematikai paramétereitől függően az 1.11. ábra egy-egy eseténél több kombináció is lehetséges.
z
z0 q1
Ez például a SCARA (Selective Compliant Articulated Robot for Assembly) RRT struktúrájú szerelő robotmanipulátor esetében szemléletesen bemutatható (1.12. ábra).
© Mester Gyula
2003
z1 l2 q 2
q3
l1 q
z2
1.12. ábra A SCARA szerelőrobot alapkonfigurációja
Robotmanipulátorok kinematikája
1.1.6. Az alapkonfigurációk munkaterei •
A robotmanipulátor alapkonfigurációjának a munkatere alatt azt a bejárható térnagyságot értjük, amelynek minden pontjában eljuthat a harmadik szegmens végső pontja.
•
A továbbiakban a 4 leginkább használt alapkonfiguráció munkaterét vizsgáljuk [7]:
© Mester Gyula
2003
Robotmanipulátorok kinematikája
a. A TTT struktúra munkatere •
A TTT struktúra 3 transzlációs csuklóval rendelkezik. Három haladó mozgást valósít meg egy Descartes féle derékszögű koordinátarendszerben.
•
A 1.13. ábrán látható a TTT alapkonfiguráció munkatere, amely hasáb alakú.
© Mester Gyula
2003
Robotmanipulátorok kinematikája
z y
a
o
x
1.13. ábra A TTT struktúra munkatere © Mester Gyula
2003
Robotmanipulátorok kinematikája
b. Az RTT struktúra munkatere •
Az RTT struktúra 2 transzlációs és 1 rotációs csuklóval rendelkezik (az első csukló rotációs a másik kettő pedig transzlációs). Két haladó és egy forgó mozgást valósít meg.
•
A 1.14. ábrán látható az RTT alapkonfiguráció hengergyűrű alakú munkatere.
© Mester Gyula
2003
Robotmanipulátorok kinematikája
z y
b
x
o
1.14. ábra Az RTT struktúra munkatere © Mester Gyula
2003
Robotmanipulátorok kinematikája
c. Az RRT struktúra munkatere •
Az RRT struktúra 2 rotációs és 1 transzlációs csuklóval rendelkezik (az első két csukló rotációs a harmadik pedig transzlációs). Két forgó és egy haladó mozgást valósít meg.
•
Az 1.15. ábrán látható az RRT alapkonfiguráció üreges gömb alakú munkatere.
© Mester Gyula
2003
Robotmanipulátorok kinematikája
z
c y
o x
1.15. ábra Az RRT struktúra munkatere © Mester Gyula
2003
Robotmanipulátorok kinematikája
d. Az RRR struktúra munkatere •
Az RRR struktúra 3 rotációs rendelkezik – három forgás
•
Az 1.16. ábrán látható az RRR alapkonfiguráció munkatere, amely gömb alakú.
© Mester Gyula
2003
csuklóval
Robotmanipulátorok kinematikája
Z
d y
o
x
1.16. ábra Az RRR struktúra munkatere © Mester Gyula
2003
Robotmanipulátorok kinematikája
Ha feltételezzük, hogy a fent említett alapkonfigurációk paraméterei azonosak, tehát: - az elmozdulások maximális hossza l, - a maximális rotáció nagysága ± 180º és - a rotációt végző szegmensek hossza l,
akkor megállapítható, hogy az RRR struktúra munkatere a legnagyobb. Itt viszont azt is meg kell említeni, hogy a pozícionálási hiba nagyobb azoknál a robotmanipulátoroknál amelyek rotációs csuklókkal rendelkeznek (mivel a rotációs csuklóknál a pozicionálási hibák szuperponálódnak). © Mester Gyula
2003
Robotmanipulátorok kinematikája
Az ipari alkalmazásban mégis a rotációs csuklókkal rendelkező robotmanipulátorok vannak többségben, egyrészt a szervomotor forgómozgása, másrészt a robotirányítás könnyedsége miatt. Ugyanis a transzlációs csuklóknál a szervomotor forgómozgását át kell alakítani haladó mozgássá, ami a robotmanipulátoroknál kotyogást és mechanikai veszteségeket idéz elő.
© Mester Gyula
2003
Robotmanipulátorok kinematikája
1.2. A robot helyzetmeghatározása 1.2.1. Bevezetés • Az effektor pozicionálása • Az effektor orientációja
1.2.2. Csuklókoordináták 1.2.3. Világkoordináták 1.2.4. A direkt kinematikai feladat 1.2.5. Az inverz kinematikai feladat 1.2.6. Redundancia
© Mester Gyula
2003
Robotmanipulátorok kinematikája
1.2.1. Bevezetés •
A robotirányítás legegyszerűbb feladata az effektor helyzetmeghatározása a munkatérben.
•
Figyeljük tehát azt a feladatot amikor egy munkadarabot helyezünk át az 1-es helyzetből a 2-es helyzetbe (1.17. ábra).
•
Először az effektort pozícionálni kell a munkadarab közelébe, majd a munkadarab megfogása céljából el kell végezni az effektor orientációját is ( 1-es helyzet).
•
A robot helyzetét a munkatérben tehát az effektor pozíciójával és orientációjával határozzuk meg [3]. © Mester Gyula
2003
Robotmanipulátorok kinematikája
z
l2
2 l1
1
q
1.17. ábra A munkadarab áthelyezése
© Mester Gyula
2003
Robotmanipulátorok kinematikája
l2 • A következő lépés a munkadarab zmegfogása és áthelyezése (2-es helyzet). Itt új pozíciót és orientációt szükséges definiálni.l1 Amikor a munkadarab a 2-es helyzetbe kerül, az effektor q kinyílik így a munkadarab a végső helyzetébe jut.
• A robot pozícionálása a szerelőrobotok legegyszerűbb feladata.
© Mester Gyula
2003
Robotmanipulátorok kinematikája
Az effektor pozicionálása
z
l2
l1 alatt az • A robotmanipulátor pozícionálása effektor világkoordináták (x,y,z) szerinti elhelyezését értjük a munkatérben. q
• A pozícionálási feladat elvégzésére 3 szabadságfokra, vagyis a robot alapkonfigurációjára van szükség.
© Mester Gyula
2003
Robotmanipulátorok kinematikája
Az effektor orientációja
z
l2
• A robotmanipulátor orientációjal1alatt az effektornak a 3 térbeli szög (ψ, θ, ϕ) szerinti elhelyezését értjük a munkatérben. q • A orientációs feladat elvégzésére tehát további 3 szabadságfokra van szükség.
© Mester Gyula
2003
Robotmanipulátorok kinematikája
•
Az ipari robotmanipulátorokat leginkább 4, 5 és 6 szabadságfokú struktúrávalz gyártják. l2
•
A 4 - szabadságfokú robotmanipulátor, 3 l1 szabadságfokkal el tudja végezni a pozicionálást (x, y, z), a 4. szabadságfokkal q pedig egy szög szerinti orientációt (ψ), tehát a robot képes elvégezni egyszerűbb térbeli manipulációs feladatokat (munkadarab szállítás, présgépek kiszolgálása stb.).
© Mester Gyula
2003
Robotmanipulátorok kinematikája
•
Az 5 - szabadságfokú robotmanipulátor 3 szabadságfokkal el tudja végezniza l2 pozicionálást (x, y, z), a 4. és 5. szabadságfokokkal pedig 2 szög szerinti orientációt (ψ, θ), l1 tehát a robotmanipulátor összetettebb térbeli q manipulációs feladatokat képes elvégezni (folyadék-szállítás, egyszerűbb szerelési munkálatok, hegesztés stb.).
•
Az 1 és 2 szög szerinti orientáció-feladat különbsége a 1.18. és 1.19. ábrákon látható [4].
© Mester Gyula
2003
Robotmanipulátorok kinematikája
z z
l2
l1
1.18. ábra Az 1 szögű orientáció-feladat
q
z' © Mester Gyula
2003
Robotmanipulátorok kinematikája
z z
l2
l1
1.19. ábra A 2 szögű orientáció-feladat
q z
Ψ z' © Mester Gyula
2003
z'
Robotmanipulátorok kinematikája
A 6- szabadságfokú robotmanipulátor munka közben elvégzi a komplett z pozicionálást (x,y,z) és komplett l2 orientációt (ψ,θ,ϕ), így teljesíti az l1 összetett térbeli manipulációs feladatokat (összetett szerelés és szállítás, stb.). q
A robot pozicionálási feladatát elvilegz megoldhatjuk: • csuklókoordinátákban és • világkoordinátákban. z'
© Mester Gyula
2003
Robotmanipulátorok kinematikája
1.2.2. Csuklókoordináták A robotmanipulátor csuklókoordinátája skaláris érték, amely a kinematikai pár egyik szegmensének a relatív helyzetét határozza meg a másik szegmenshez viszonyítva [1]. A rotációs csuklónál a csuklókoordináta megegyezik a csukló elforgatási szögével, a transzlációs csuklónál a csuklókoordináta pedig megegyezik a csukló tengelye mentén történő elmozdulással. Robotmanipulátorok csuklókoordinátáit a következőképpen jelöljük: qi i = 1,2,...,n © Mester Gyula
2003
Robotmanipulátorok kinematikája
Robotmanipulátorok csuklókoordinátáit a következőképpen jelöljük: qi i = 1,2,...,n a csuklókoordináták vektora pedig: q1 q q = 2 M q n © Mester Gyula
2003
(1.1)
Robotmanipulátorok kinematikája
•
Minden csuklókoordináta bizonyos határok között változhat: q i min ≤ q i ≤ q i max
•
Megállapítható, hogy a rotációs csuklók pozícionálása esetében egyidőben változik az effektor orientációja is, így az effektor orientációját később csak korrigálni kell (ez persze a transzlációs csuklókról nem mondható el).
© Mester Gyula
2003
Robotmanipulátorok kinematikája
q3 q4 z
l2
q5
q2
l1
q6
q z
q1 1.20. ábra Robotmanipulátorok csuklókoordinátái z'
© Mester Gyula
2003
Robotmanipulátorok kinematikája
1.2.3. Világkoordináták A világkoordináták meghatározzák a robotmanipulátor effektorjának a pozícióját és orientációját egy nyugvó Descartes féle derékszögű koordinátarendszerben. Az effektor pozíciója három, Descartes féle derékszögű koordinátával írható le: x, y, z. A vonatkoztató nyugvó koordinátarendszer a robotmanipulátor platformjához van rögzítve (a leíráshoz lehet hengeres-koordinátákat is alkalmazni). © Mester Gyula
2003
Robotmanipulátorok kinematikája
Az effektor orientációja a módosított Euler szögekkel írható le: ψ,θ,ϕ. Ezek a szögek meghatározzák az effektorhoz kötött mozgó koordinátarendszer szögelfordulását a robotmanipulátor platformjához van rögzített vonatkoztató álló koordinátarendszerhez képest. x y z s= Ψ θ ϕ © Mester Gyula
2003
(1.2)
Robotmanipulátorok kinematikája
A módosított Euler szögeket a hajózásból vették át és az Euler szögekhez képest abban különböznek, hogy a harmadik forgatás az x tengely körül történik (az Euler szögeknél pedig újból a z tengely körül !). A módosított Euler szögek elnevezései: • ψ - csavarási szög (ROLL) • θ - billentési szög (PITCH) • ϕ - forgatási szög (YAW)
© Mester Gyula
2003
Robotmanipulátorok kinematikája
zn
ψ csavarász Roll
l2
l1
θ billentés q Pitch
On
xn
ϕ forgatás Yaw
yn
z
1.21. ábra Robotmanipulátorok ROLL, PITCH és YAW szögei z'
© Mester Gyula
2003
Robotmanipulátorok kinematikája
A csavarási szög ψ, az effektorhoz kötött mozgó koordinátarendszernek a nyugvó z koordinátarendszer z tengelye körüli l2 szögelfordulását határozza meg. l1
A billentési szög θ az új helyzetbe került y tengely körüli szögelfordulást adja. q z A forgatási szög ϕ pedig a két előbbi szögelfordulás után új helyzetbe került x tengely körüli szögelfordulását határozza meg [1].
z'
© Mester Gyula
2003
Robotmanipulátorok kinematikája
A világkoordináták s vektorának komponensei: • Az effektor kiválasztott szerszámközéppontjának z l2 TCP (Tool Center Point) három x, y és z Descartes féle koordinátája a robotmanipulátor l1 platformjához rögzített vonatkoztató álló koordinátarendszerhez viszonyítva, és qa z • ψ, θ, ϕ szögek, amelyek meghatározzák az effektorhoz kötött mozgó koordinátarendszer szögelfordulását a vonatkoztató nyugvó koordinátarendszerhez viszonyítva. z'
© Mester Gyula
2003
Robotmanipulátorok kinematikája
z zn z
qi
ψ
l2
θ
ϕ
l1
on
yn
xn
q
z
z
o x
x
y
y
1.22. ábra Robotmanipulátorok effektoránakz'világkoordinátái © Mester Gyula
2003
Robotmanipulátorok kinematikája
A világkoordináták s vektorának általános esetben m koordinátája van. Legtöbbször m=6. Bizonyos típusú robotmanipulátoroknál elegendő kisebb számú világkoordináta használata, így például az effektor pozicionálására (orientáció nélkül) elegendő: m = 3 világkoordináta, tehát a világkoordináták vektora ez esetben:
s = [x y z ]
T
© Mester Gyula
2003
(1.3)
Robotmanipulátorok kinematikája
1.2.4. Direkt kinematikai feladat A világkoordináták s vektorának meghatározása a csuklókoordináták q vektorának ismeretében a direkt kinematikai feladat [1], amely a következő módon irható le: (1.4)
s = f(q)
ahol a: qi (i = 1,....n) – robotmanipulátor csuklókoordinátái, si (i = 1,...m) - világkoordináták, f: - nemlineáris, folytonos deriválható vektorfüggvény amely leképezi a csuklókoordinátákat világkoordinátákká. © Mester Gyula
2003
Robotmanipulátorok kinematikája
•
A következő ábrán bemutatjuk a direkt kinematikai feladat koordináta-transzformáció struktúráját.
•
A q csuklókoordináták minden vektorértékének egyértelmű s világkoordináta érték felel meg.
•
•
Az 1.3. fejezetben a direkt kinematikai feladattal foglalkozunk.
© Mester Gyula
2003
Robotmanipulátorok kinematikája
z
l2
l1
q
Transzformáció:
q
s
csuklókoordinátákból világkoordinátákba
z
1.23. ábra A direkt kinematikai feladat koordináta-transzformáció struktúrája
z'
© Mester Gyula
2003
Robotmanipulátorok kinematikája
1.2.5. Inverz kinematikai feladat A csuklókoordináták q vektorának meghatározása a világkoordináták s vektorának ismeretében az inverz kinematikai feladat [1], amely a következő módon irható le:
(1.5)
q = f -1(s)
© Mester Gyula
2003
Robotmanipulátorok kinematikája
•
Az s világkoordináták visszatranszformálása a q csuklókoordinátákba nem egyértelműen meghatározott feladat. A számítás nagymértékben függ a robotmanipulátor geometriájától és gyakran több megoldást eredményez.
•
Az 1.4. fejezetben az inverz kinematikai feladattal foglalkozunk.
•
A következő ábrán bemutatjuk az inverz kinematikai feladat koordináta-transzformáció struktúráját. © Mester Gyula
2003
Robotmanipulátorok kinematikája
z
l2
l1
s
Transzformáció:
q
q
világkoordinátákból csuklókoordinátákba
z
1.24. ábra Az inverz kinematikai feladat koordináta-transzformáció struktúrája
z'
© Mester Gyula
2003
Robotmanipulátorok kinematikája
Az inverz kinematikai feladat, mivel nagyszámú nemlineáris (a csuklókoordináták és a világkoordináták közötti összefüggés nemlineáris) trigonometriai z l2 egyenlet megoldását feltételezi, sokkal összetettebb l1 mint a direkt kinematikai feladat. Akkor alkalmazzuk, amikor a robotmanipulátor feladatnál azeffektor q pályája világkoordinátákban van megadva és így z szükséges meghatározni a csuklókoordinátákat is. A direkt- és inverz kinematikai feladat koordinátatranszformáció struktúráját szemléltető módon az z' 1.25. ábrán mutatjuk be: © Mester Gyula
2003
Robotmanipulátorok kinematikája
Inverz kinematikai feladat
s
z zn
q3
z
ψ
-1
f
θ
ϕ xn
q
yn
q5
q2
l1
Tool-Center-Point (TCP)
q
f
y
q4
l2 q6
q1
z
x világkoordináták vektora s=|x, y, z, ψ, θ, ϕ |T Direkt kinematikai feladat
csuklókoordináták vektora T q=|q1, q2, q3, q4, q5, q6| z'
1.25. ábra A direkt és inverz kinematikai feladat koordináta-transzformáció struktúrája © Mester Gyula
2003
Robotmanipulátorok kinematikája
1.2.6. Redundancia A robotmanipulátort nemredundánsnak tekintjük, ha a világkoordináták vektordimenziója m megegyezik a robotmanipulátor szabadságfok számával zn. l2 Ha az: n>m l1 akkor a robotmanipulátor redundáns vagy túlhatározott, vagyis q az effektor adott helyzetéhez viszonyítva, a csuklókoordináták szempontjából többféle megoldás is létezik. z Ha pedig: n<m akkor a robotmanipulátor nem tudja elvégezni az előírt feladatot. A könyv további részében csak a nemredundáns robotmanipulátorokkal foglalkozunk z' © Mester Gyula
2003
Robotmanipulátorok kinematikája
1.3. DIREKT KINEMATIKAI FELADAT • • •
1.3.1. Bevezetés 1.3.2. Homogén koordináta-transzformációk 1.3.3. Denavit-Hartenberg transzformációs mátrix 1.3.4. Az effektor orientációja
© Mester Gyula
2003
Robotmanipulátorok kinematikája
1.3.1. Bevezetés •
Ahogy már elmondtuk a világkoordináták s vektorának meghatározása a csuklókoordináták q vektorának ismeretében a direkt kinematikai feladat.
•
Egyszerű manipulációs feladatoknál a csuklókoordinátákat közvetlenül lehet megadni.
•
Szemléljük tehát a 1.26. ábra szerinti robotmanipulátort: © Mester Gyula
2003
Robotmanipulátorok kinematikája
1.26. ábra Feladatmeghatározás csuklókoordináták közvetlen megadásával © Mester Gyula
2003
Robotmanipulátorok kinematikája
Első lépésben az effektor a munkadarabot az A helyzetből az AB pálya mentén a B helyzetbe szállítja, ez idő alatt a q1 csuklókoordináta π/2-vel változik.
© Mester Gyula
2003
Robotmanipulátorok kinematikája
A következő lépésben a munkadarabot vízszintes helyzetbe hozzuk, így a q4 csuklókoordináta változik π/2-vel.
© Mester Gyula
2003
Robotmanipulátorok kinematikája
A harmadik lépésben a BC pálya mentén a munkadarab a C helyzetbe kerül és a q1 csuklókoordináta -π/2-vel változik, de egyidőben változik a q2 csuklókoordináta miután l hosszal leengedi a munkadarabot.
© Mester Gyula
2003
Robotmanipulátorok kinematikája
• Így ha a csuklókoordináták q változása ismert akkor a direkt kinematikai feladat megoldásával meghatározhatjuk az s világkoordinátákat, vagyis az effektor térbeli mozgását [4]. • A továbbiakban vizsgáljuk meg, hogyan lehet felírni a világkoordináták és a csuklókoordináták közötti összefüggést, így e célból célszerű bevezetni a: homogén transzformációs mátrixot.
© Mester Gyula
2003
Robotmanipulátorok kinematikája
1.3.2. Homogén koordináta-transzformációk Homogén transzformációs mátrixok alatt olyan 4x4 típusú mátrixokat értünk, amelyek tartalmazzák a két kiválasztott derékszögű koordinátarendszer közötti: • rotációt és • a két koordinátarendszer origójának a távolságát. Használatuk azért célszerű mert lehetővé teszik különböző koordinátarendszerek viszonyának kompakt vektorleírását [1]. © Mester Gyula
2003
Robotmanipulátorok kinematikája
Először ismerkedjünk meg a két koordináta-rendszer közötti rotációs mátrixszal. Tekintsük tehát a következő két: • nyugvó Oxoyozo alapkoordinátarendszert, amely a robotmanipulátor alapjához van kötve, és • mozgó Onxyz koordinátarendszert, az On origóval, amely a robotmanipulátor effektorjához kötődik, egységvektorai e1, e2 és e3 (1.27. ábra szerint).
© Mester Gyula
2003
Robotmanipulátorok kinematikája
Legyen az álló Oxoyozo a referencia koordinátarendszer. Az On origó helyzetét a referencia koordinátarendszer-ben a k helyzetvektorral adjuk meg. zo
z e3 On k
y
e2
e1 x
O yo x0
1.27. ábra Nyugvó és mozgó koordinátarendszerek © Mester Gyula
2003
Robotmanipulátorok kinematikája
A mozgó koordinátarendszer orientációja a nyugvóhoz viszonyítva leírható a következő R rotációs mátrixszal:
e1x R = e1 y e1z
e2 x e2 y e2 z
e3 x e3 y e3 z
rotációs mátrix
Tehát a rotációs mátrix elemei tulajdonképpen az e1,e2 és e3 egységvektoroknak az xo, yo, zo referencia koordinátákra számított vetületeivel egyeznek meg [8]. © Mester Gyula
2003
Robotmanipulátorok kinematikája
Ismerve a p helyzetvektort, amely meghatározza a P pont helyzetét a mozgó koordinátarendszerben, az 1.28. ábra szerint határozzuk meg a P pont helyzetét a referencia Oxoyozo koordinátarendszerben: zo
z e3 On
e2
y
e1 k
x
P
O yo x0
1.28. ábra A helyzetvektorok © Mester Gyula
2003
Robotmanipulátorok kinematikája
ahol: • r – a P pont helyzetvektora a nyugvó Oxoyozo referencia koordinátarendszerben, • p - a P pont helyzetvektora a mozgó koordinátarendszerben, • k -az On origó helyzetvektora az nyugvó Oxoyozo referencia koordinátarendszerben, • R - a két koordinátarendszer rotációs mátrixa.
© Mester Gyula
2003
Robotmanipulátorok kinematikája
Az (1.7) kifejezésben az r helyzetvektort úgy írjuk fel, hogy a p vektort balról megszorozzuk a R rotációs mátrixszal és az eredményhez hozzáadjuk a k vektort, az On origó helyzetvektorát. Az (1.7)-es reláció skaláris alakja tehát a következő:
(1.8)
rx e1x r = e y 1y rz e1z
© Mester Gyula
e 2x e 2y e 2z
2003
e 3 x p1 k x e 3 y p 2 + k y e 3z p 3 k z
Robotmanipulátorok kinematikája
A kompakt felírás céljából állítsuk fel az nyugvó és mozgó koordinátarendszerek közötti 4x4 típusú homogén transzformációs mátrixot a következő alakban: (1.9) R k
H= 000 1
vagyis:
(1.10)
e1 x e H = 1y e1z 0 © Mester Gyula
2003
e 2x e2y e 2z 0
e 3x e 3y e 3z 0
e 4x e4y e 4z 1
Robotmanipulátorok kinematikája
Így az (1.7)-es reláció kompakt alakban írható fel: (1.11)
r = Hp
Az 1.11 vektoregyenlet skaláris alakja így a következő: (1.12)
rx e1x r e y = 1y r z e1z 1 0 © Mester Gyula
2003
e 2x e2y e 2z
e 3x e3y e 3z
0
0
k x p1 k y p 2 k z p3 1 1
Robotmanipulátorok kinematikája
A homogén mátrix-transzformáció bevezetésének három jelentősége van: • Megadja a mozgó koordinátarendszer orientációját a nyugvó koordinátarendszerhez képest. • Megadja a mozgó koordinátarendszer origójának a pozícióját a nyugvó koordinátarendszer origójához képest. • Ha egy adott pont koordinátáit ismerjük a mozgó koordinátarendszerben, akkor a homogén mátrixtranszformáció segítségével felírhatjuk ugyanennek a pontnak a koordinátáit a nyugvó koordinátarendszerben is [4]. © Mester Gyula
2003
Robotmanipulátorok kinematikája
Tehát két (vagy több) koordinátarendszer esetében, az (1.7) reláció szerinti szukcesszív szorzási és összeadási műveletek helyett a kiválasztott pont r helyzetvektorát az (1.11) reláció szerinti homogén transzformációs mátrix segítségével fejezzük ki (homogén transzformációs mátrix szorzása a p vektorral), amely eljárás: • gyorsabb számításokat eredményez, és • használata elterjedt a robotmanipulátor kinematikai modelljének felállításánál. © Mester Gyula
2003
Robotmanipulátorok kinematikája
1.3.3. Denavit-Hartenberg transzformációs mátrix A csuklókoordináták transzformálása világkoordinátákba a Denavit-Hartenberg féle transzformációs mátrixszal történik. Denavit és Hartenberg ezt az eljárást 1955-ben publikálta és ezért nevezték el együttesen Denavit-Hartenberg módszernek. Az eljárás lényege az, hogy egy koordinátarendszer két haladó és két forgó mozgással egy másikba átvihető. © Mester Gyula
2003
Robotmanipulátorok kinematikája
A robotmanipulátoroknál használt DenavitHartenberg paraméterek:
d és a távolságok és
α szög. A Denavit-Hartenberg eljárás szerint [5] az i-edik és i+1-edik robotcsuklókra egy-egy derékszögű koordinátarendszert ültetünk, a csukló tengelyének iránya a z tengely és a két egymást követő koordinátarendszert a következő irányszabályok szerint határozzuk meg:
© Mester Gyula
2003
Robotmanipulátorok kinematikája
Az i+1-es robotcsuklón megválasztjuk az Oi xi yi zi koordinátarend szert a következő módon: - A zi tengely az i+1-edik csukló irányában fekszik, - az xi tengely a két szemlélt csukló (i-edik és i+1-edik) tengelyének közös normálisába esik és az i-edik csuklótól az i+1-edik csukló felé mutat, - az y1 tengely kielégíti a következő feltételt: xi × yi = zi - jobbcsavar irányú.
( i-1) csukló
© Mester Gyula
i-csukló
qi-1
(i+1) csukló
qi
qi+1 αi
( i-1) szegmens i szegmens
ai
zi-2
Oi yi
zi-1
di
zi
xi
yi-1 a i-1
Oi-1
xi-1
Oi-2
1.29. ábra A derékszögű koordinátarendszerek helyzete Denavit-Hartenberg eljárás szerint 2003
Robotmanipulátorok kinematikája
Az i-edik robotcsuklón megválasztjuk az Oi-1 xi-1 yi-1 zi-1 koordinátarendszert a következő módon: • a zi-1 tengely az i-edik csukló irányában fekszik, • az xi-1 tengely az i-1-edik és i-edik csuklók tengelyének közös normálisába esik és az i-1-edik csuklótól a i-edik csukló felé mutat, • az y i-1 tengely kielégíti a következő feltételt: xi-1 x yi-1=zi-1 - jobbcsavar irányú.
© Mester Gyula
2003
Robotmanipulátorok kinematikája
• di : - minden csuklótengelynek két normálisa van (ai-1 és ai) és a normálisok közötti az i-edik csukló tengelye mentén mért távolság a di, • ai : – az i-edik és i+1-edik csukló-tengelyek közös normálisának a hossza, • αi : - az i-edik csukló és az i+1-edik csukló tengelye közötti jobbcsavar irányú szög az ai-re merőleges síkban.
© Mester Gyula
2003
Robotmanipulátorok kinematikája
A qi csuklókoordináta, rotációs csukló esetében az xi-1 és xi tengelyek között bezárt jobbcsavar irányú szög nagysága, amely zérus, ha a tengelyek egyirányúak vagy párhuzamosak egymással. A Denavit-Hartenberg eljárás szerint felvitt két szomszédos derékszögű koordinátarendszer Oi-1xi-1yi-1zi-1 és Oixiyizi két haladó és két forgó mozgással egymásba átvihető a következő lépések szerint:
© Mester Gyula
2003
Robotmanipulátorok kinematikája
Először qi elfordulás zi-1 körül: xi-1 párhuzamos lesz xi-vel. (1.30. ábra): Zglob i-1
Zglob i
Zglob i+1 αi
Segment i-1 Segment i
ai
Oi yi
zi-1
di
zi
xi
qi zi-2
yi-1 a
i-1
Oi-1
xi-1
Oi-2
1.30. ábra Az Oi-1xi-1yi-1zi-1 koordinátarendszer qi forgatása © Mester Gyula
2003
Robotmanipulátorok kinematikája
Az így elvégzett forgatás a következő homogén koordináta-transzformációs mátrixszal írható le (leolvasható az 1.30. ábráról):
(1.13)
cos q i sin q i D(qi) = 0 0
© Mester Gyula
2003
− sin q i cos q i 0 0
0 0 0 0 1 0 0 1
Robotmanipulátorok kinematikája
Másodszor következzék di transzláció a zi-1 mentén, a zi-1 és xi metszéspontjáig (1.31. ábra), így az xi-1 egybeesik az xi -vel: ( i-1) csukló
i-csukló
qi-1
(i+1) csukló
qi
qi+1 αi
( i-1) szegmens i szegmens
zi-1 yi-1
ai
xi-1 di
zi Oi yi
xi
zi-2 a i-1
Oi-1
Oi-2
1.31. ábra Az elforgatott Oi-1xi-1yi-1zi-1 koordinátarendszer di transzlációja © Mester Gyula
2003
Robotmanipulátorok kinematikája
Az így elvégzett transzláció a következő homogén koordináta-transzformációs mátrixszal írható le (leolvasható az 1.31. ábráról):
(1.14)
1 0 D(di) = 0 0
© Mester Gyula
0 1 0 0 0 1 di 0 0 1 0 0
2003
Robotmanipulátorok kinematikája
Harmadszor következzék ai transzláció xi mentén az Oi origóig (1.32. ábra), így a koordinátarendszerek metszéspontja fedésbe kerül. ( i-1) csukló
i-csukló
qi-1
(i+1) csukló
qi
qi+1 αi
( i-1) szegmens i szegmens
ai
zi-1
zi yi-1
Oi di
yi
xi
xi-1
zi-2 a i-1
Oi-1
Oi-2
1.32. ábra Az elforgatott és elmozdult Oi-1xi-1yi-1zi-1 koordinátarendszer ai transzlációja © Mester Gyula
2003
Robotmanipulátorok kinematikája
Az így elvégzett transzláció a következő homogén koordináta-transzformációs mátrixszal írható le (leolvasható az 1.32. ábráról):
(1.15)
1 0 D(ai) = 0 0
© Mester Gyula
0 0 ai 1 0 0 0 1 0 0 0 1
2003
Robotmanipulátorok kinematikája
Negyedszer αi jobbcsavar irányú elfordulás az xi körül: hogy a z és y tengelyek is fedésbe kerüljenek (1.33. ábra). ( i-1) csukló
i-csukló
qi-1
(i+1) csukló
qi
qi+1
( i-1) szegmens i szegmens
ai
αi zi, zi-1 Oi
di
yi, yi-1
xi, xi-1
zi-2 a i-1
Oi-1
Oi-2
1.33. ábra A koordinátarendszer αi forgatása © Mester Gyula
2003
Robotmanipulátorok kinematikája
Az így elvégzett rotáció a következő homogén koordináta-transzformációs mátrixszal írható le (leolvasható az 1.33. ábráról):
(1.16)
0 1 0 cos α i D(αi) = 0 sin α i 0 0
© Mester Gyula
2003
0 − sin α i cos α i 0
0 0 0 1
Robotmanipulátorok kinematikája
A fenti négy mozzanat a következő alakú Denavit–Hartenberg transzformációs mátrixban foglalható össze: (1.17)
i-1D i
= D(qi) D(di) D(ai) D(αi)
Behelyettesítve (1.13), (1.14), (1.15) és (1.16) mátrixokat a (1.17)-be, elvégezve a mátrixszorzást megkapjuk a következő alakú Denavit–Hartenberg féle transzformációs mátrixot a két egymást követő rotációs csuklóra rögzített koordinátarendszer esetén: © Mester Gyula
2003
Robotmanipulátorok kinematikája
cos q i sin q i i-1D = i 0 0 (1.18)
− sin q i cos α i
sin q i sin α i
cos q i cos α i sin α i
− cos q i sin α i cos α i
0
0
a i cos q i a i sin q i di 1
Transzlációs csuklók esetében a koordinátarendszereket úgy választjuk meg, hogy ai= 0, a di hossz qi lesz, ami pedig a rotációs csuklónál a qi forgásszög, az most θi paraméter lesz, vagyis: • ai = 0 • di = q i • qi = θ i © Mester Gyula
2003
Robotmanipulátorok kinematikája
Így a Denavit–Hartenberg féle transzformációs mátrix a transzlációs csuklók esetén: (1.19) i-1D i
=
cos θi sin θ i 0 0
− sin θi cos α i cos θi cos α i sin α 1
sin θi sin α i − cos θi sin α i cos α i
0
0
© Mester Gyula
2003
0 0 qi 1
Robotmanipulátorok kinematikája
Miután tehát minden egymást követő koordinátarendszer esetében (a fenti eljárás szerint) meghatároztuk a Denavit–Hartenberg (D-H) féle transzformációs-mátrixot, akkor a robotmanipulátor platformjához kötött álló koordinátarendszer és az effektorhoz kötött mozgó koordinátarendszer közötti D-H féle homogén transzformációsmátrixot, a két egymást követő koordinátarendszerek DH mátrixainak szorzata adja. (1.20)
0
Tn = 0 D 1 1 D 2 2 D 3 ... n − 2 D n −1 n −1 D n
© Mester Gyula
2003
Robotmanipulátorok kinematikája
A robotmanipulátor csuklók összes D-H mátrixának összeszorzásával ismét egy 4x4–es mátrixot kapunk, amely az effektor TCP pontjának a pozícióját és az effektor orientációját adja meg. Ugyanis a oTn mátrix első három sora és oszlopa a robotmanipulátor platformhoz kötött álló és az effektorhoz kötött mozgó koordináta-rendszerek közötti rotaciós mátrixot, míg a oTn mátrix negyedik oszlopa a az effektor TCP pontjának a nyugvó koordinátarendszerben lévő koordinátáit határozza meg
© Mester Gyula
2003
Robotmanipulátorok kinematikája
Amikor a robotmanipulátor-csuklóknál rögzítjük a megfelelő koordináta-rendszereket és meghatározzuk a D-H paramétereket: αi, ai, di, (i = 1,2,...,n), akkor a homogén transzformációs-mátrixok (1.18) csak a csuklókoordináták qi függvényeivé válnak. Tehát ha a robotmanipulátornál meghatározzuk a mátrix numerikus alakját, akkor abból kiolvashatjuk a három módosított Euler szöget és az effektor TCP szerszámközéppontjának a pozícióját, így tulajdonképpen meghatározzuk a robotmanipulátor világkoordinátáit [1]. x 0R y 0 n T = (1.21) n z 0 0 0 1 © Mester Gyula
2003
Robotmanipulátorok kinematikája
Megállapítható tehát, hogy ily módon azzal, hogy a három módosított Euler szöget és az effektor TCP pontjának a pozícióját meghatároztuk, a direkt kinematikai feladatot megoldottuk. A oTn mátrix meghatározása tehát a csuklókoordináták vektorának ismeretében, a direkt kinematikai feladat megoldásának az alapja. Megjegyezhető, hogy a módosított Euler szögek kiszámítása a mátrixból nem függ a robotmanipulátor típusától! © Mester Gyula
2003
Robotmanipulátorok kinematikája
1.3.4. Az effektor orientációja Robotmanipulátor effektorának az orientációját a robotplatformhoz kötött nyugvó koordinátarendszerhez viszonyítva, a módosított Euler szögekkel ψ, θ, ϕ határozzuk meg [1]. A továbbiakban vizsgáljuk a következő két koordinátarendszer közötti rotációt: • Oxoyozo nyugvó alapkoordinátarendszer, amely a robotmanipulátor platformjához van kötve, és • Onxnynzn mozgó koordinátarendszer az On origóval, amely a robotmanipulátor effektorához kötődik. © Mester Gyula
2003
Robotmanipulátorok kinematikája
A mozgó koordinátarendszer orientációja az nyugvóhoz viszonyítva leírható a következő rotációs mátrixszal 0Rn: (1.22)
e 1x 0 R n = e 1y e1z
e 2x e 2y e 2z
e 3x e 3y e 3z
Az 0Rn rotációs mátrix leképezi a mozgó koordinátarendszer koordinátáit a nyugvóba. A mozgó koordinátarendszer rotációja az nyugvó koordinátarendszerhez viszonyítva bemutatható a következő három rotációval: © Mester Gyula
2003
Robotmanipulátorok kinematikája
A mozgó Onxnynzn koordinátarendszer első rotációja a csavarási ψ szög szerint, amely az effektorhoz kötött mozgó koordinátarendszernek az álló koordinátarendszer z tengelye körüli szögelfordulását határozza meg (1.34. ábra).
© Mester Gyula
z=z' Ψ
On Ψ
y'
Ψ x
x'
y
1.34. ábra A mozgó koordinátarendszer Rotációja a csavarási ψ szög szerint 2003
Robotmanipulátorok kinematikája
Az így elvégzett rotációnak, az 1.34. ábráról közvetlenül leolvasva, a következő formájú rotációs mátrix R(ψ) felel meg:
(1.23)
cos ψ − sin ψ 0 R (ψ ) = sin ψ cos ψ 0 0 0 1 © Mester Gyula
2003
Robotmanipulátorok kinematikája
Θ
z'
Az új helyzetbe került mozgó koordinátarendszer Onxn'yn'zn' második rotációja a θ billentési szög szerint, amely az y' tengely körüli szögelfordulást határozza meg (1.35. ábra).
On
z"
y'=y"
Θ
x'
Θ x"
1.35. ábra A mozgó koordinátarendszer második rotációja a billentési szög θ szerint © Mester Gyula
2003
Robotmanipulátorok kinematikája
Az így elvégzett rotációnak az 1.35. ábráról közvetlenül leolvasva a következő formájú rotációs mátrix R(θ) felel meg:
(1.24)
cos θ 0 sin θ 0 1 0 R(θ) = − sin θ 0 cos θ
© Mester Gyula
2003
Robotmanipulátorok kinematikája
z"'
Az új helyzetbe került mozgó Onxn''yn''zn'' koordinátarendszer harmadik rotációja a forgatási szög ϕ szerint, amely az x'' tengely körüli szögelfordulást határozza meg (1.36. ábra).
z" ϕ y'" ϕ
On
y"
ϕ
x''=x'"
1.36. ábra A mozgó koordinátarendszer harmadik rotációja a forgatási ϕ szög szerint © Mester Gyula
2003
Robotmanipulátorok kinematikája
Az így elvégzett rotációnak az 1.36. ábráról közvetlenül leolvasva, a következő formájú rotációs mátrix R(ϕ) felel meg:
(1.25)
0 0 1 0 cos ϕ − sin ϕ R(ϕ) = 0 sin ϕ cos ϕ
A fent elvégzett három rotáció együttesen az 1.37. ábrán van bemutatva. A három felsorolt rotációnak megfelel a következő transzformációs mátrixszorzat: (1.26)
o
R n = R (ψ )R (θ)R (ϕ)
© Mester Gyula
2003
Robotmanipulátorok kinematikája
A felírt rotációs mátrixokat (1.23), (1.24) és (1.25) behelyettesítve a (1.26)-ba következik: (1.27) 0 0 cos ψ − sin ψ 0 cos θ 0 sin θ 1 o 1 0 0 cos ϕ − sin ϕ R n = sin ψ cos ψ 0 0 0 0 1 − sin θ 0 cos θ 0 sin ϕ cos ϕ
A mátrix szorzásokat elvégezve, felírható: (1.28) cosψ cosθ o R n = sin ψ cosθ − sin θ
cosψ sin θ sin ϕ − sin ψ cos ϕ sin ψ sin θ sin ϕ + cosψ cos ϕ cosθ sin ϕ
© Mester Gyula
2003
cosψ sin θ cos ϕ + sin ψ sin ϕ sin ψ sin θ cos ϕ − cosψ sin ϕ cosθ cos ϕ
Robotmanipulátorok kinematikája
z, z' z'''
z" ϕ
1
Θ 3
Ψ
2
y'''
On ϕ
3 1
x
Ψ x' Θ 3
1 2
ϕ x", x'"
Ψ y
Θ 2
y', y"
1.37. ábra Módosított Euler szögek.
© Mester Gyula
2003
Robotmanipulátorok kinematikája
(1.29) e 1x e 1y e1z
e 2x e 2y e 2z
e 3 x cos ψ cos θ cos ψ sin θ sin ϕ − sin ψ cos ϕ cos ψ sin θ cos ϕ + sin ψ sin ϕ e 3 y = sin ψ cos θ sin ψ sin θ sin ϕ + cos ψc cos ϕ sin ψ sin θ cos ϕ − cos ψ sin ϕ e 3z − sin θ cos θ sin ϕ cos θ cos ϕ
A (1.29) mátrixegyenlet egyes elemeit egyenlővé téve, felírható:
© Mester Gyula
2003
Robotmanipulátorok kinematikája
(1.30) (1.31) (1.32) (1.33) (1.34) (1.35) (1.36) (1.37) (1.38)
e1x = cosψcosθ e1y = sinψcosθ e1z = -sinθ e2x = cosψsinθsinϕ-sinψcosϕ e2y = sinψsinθsinϕ+cosψcosϕ e2z = cosθsinϕ e3x = cosψsinθcosϕ+sinψsinϕ e3y = sinψsinθcosϕ-cosψsinϕ e3z = cosθcosϕ
Így 9 egyenletből álló egyenletrendszert kaptunk, amely 3 ismeretlent tartalmaz ψ, θ és ϕ, mivel a mátrix ortogonális, ezek az egyenletek nem függetlenek egymástól. A ψ, θ és ϕ szögeket a következő módon határozhatjuk meg [1]: © Mester Gyula
2003
Robotmanipulátorok kinematikája
a. Szorozzuk meg az (1.30) egyenlet mindkét oldalát sinψ-vel és az (1.31) egyenlet mindkét oldalát cosψ-vel, majd felírható a következő kivonási művelet: (1.39)
e1xsinψ- e1ycosψ = 0
ahonnan kiszámítható a ψ szög nagysága: (1.40)
ψ = arctg
© Mester Gyula
e1y e1x
2003
+ 2 kπ
Robotmanipulátorok kinematikája
b. Szorozzuk meg az (1.30) egyenlet mindkét oldalát cosψ-vel és az (1.31) egyenlet mindkét oldalát sinψ-vel, majd az összeadási művelet felírható: (1.41)
e1xcosψ+ e1ysinψ = cosθ
Az (1.41) egyenlet az (1.32) egyenlettel együtt lehetővé teszi a θ szög kiszámítását: (1.42)
− e1z θ = arctg + 2 kπ e1x cos ψ + e1y sin ψ © Mester Gyula
2003
Robotmanipulátorok kinematikája
c. Szorozzuk meg az (1.35) egyenlet mindkét oldalát cosϕ-vel és (1.38) egyenlet mindkét oldalát sinϕ-vel, így a kivonási művelet felírható: (1.43)
e2 z cos ϕ − e3 z sin ϕ = 0
(1.44)
e 2z ϕ = arctg + 2 kπ e 3z
© Mester Gyula
2003
Robotmanipulátorok kinematikája
• A ψ, θ és ϕ szögeket többféle módon határozhatjuk meg. A szögek számításánál numerikus problémák jelentkezhetnek, ha az (1.40), (1.42) és (1.44) relációkban a nevezők kis értékűek. Ez megfelelő numerikus eljárással kiküszöbölhető. • Az egyetlen szinguláris eset akkor jelentkezik, ha a θ = ± π/2, vagyis: e1x =e1y = e2z= e3z = 0. Ekkor az (1.40) egyenlet nem oldható meg, ezért a ψ szög értéket tetszőlegesen választjuk meg. © Mester Gyula
2003
Robotmanipulátorok kinematikája
Az ilyen ψ szög ismeretében a ϕ szöget a következő módon számítjuk ki:
− e 2x (1.45) ϕ = arctg − ψ + 2kπ e2y
e2 x ϕ = arctg + ψ + 2kπ e2 y © Mester Gyula
2003
ha a θ = -kπ/2
ha a θ = kπ/2
Robotmanipulátorok kinematikája
• Az (1.40), (1.42), (1.44) és (1.45) relációkban a k értéket úgy határozzuk meg, hogy figyelembe vesszük a direkt kinematikai feladat megoldásánál a világkoordináták két pont közötti minimális változását (mivel a robotmanilpulátor folyamatos mozgásának a világkoordináták folyamatos változása felel meg). • A robotmanipulátor effektorának orientáció meghatározását a ψ, θ és ϕ szögek kiszámításával [az (1.40), (1.42) és (1.44) relációkból], befejezettnek tekintjük. © Mester Gyula
2003
Robotmanipulátorok kinematikája
Összegezés: Az effektor TCP szerszámközéppontjának: • Descartes féle derékszögű koordinátáinak (pozicionálás) és a • három módosított Euler-féle szögeinek (orientáció) meghatározásával a direkt kinematikai feladatot teljességben megoldottnak tekintjük.
© Mester Gyula
2003
Robotmanipulátorok kinematikája
1.4. INVERZ KINEMATIKAI FELADAT • • • •
1.4.1. Bevezetés 1.4.2. Az inverz kinematikai feladat analitikus megoldása 1.4.3. Az inverz kinematikai feladat numerikus megoldása 1.4.4. A Jacobi-mátrix meghatározása
© Mester Gyula
2003
Robotmanipulátorok kinematikája
1.4.1 Bevezetés •
A csuklókoordináták q vektorának meghatározása a világkoordináták s vektorának ismeretében az inverz kinematikai feladat amely a következő módon írható le: (1.46)
•
q = f -1(s)
Akkor alkalmazzuk, amikor a robotmanipulátor feladatnál az effektor pályája világkoordinátákban van megadva, és nekünk a robotvezérléshez a csuklókoordinátákra van szükségünk. © Mester Gyula
2003
Robotmanipulátorok kinematikája
Amikor tehát ismerjük az effektor TCP pontjának a világkoordinátáit (x,y,z) és az orientációját (ψ, θ és ϕ), akkor tulajdonképpen meghatároztuk a homogén mátrixtranszformációt a nyugvó- és mozgó koordinátarendszerek között, így az inverz kinematikai feladat felírható:
(1.47)
q = f-1 (oTn)
© Mester Gyula
2003
Robotmanipulátorok kinematikája
•
• • •
Az inverz kinematikai feladat, mivel nagyszámú nemlineáris (a csuklókoordináták és a világkoordináták közötti összefüggés nemlineáris) trigonometriai egyenlet megoldását feltételezi, sokkal összetettebb, mint a direkt kinematikai feladat. Az s világkoordináták visszatranszformálása a q csuklókoordinátákba nem egyértelműen meghatározott feladat. A számítás nagymértékben függ a robotmanipulátor geometriájától és gyakran több megoldást eredményez. Több esetben a dekompozíciós módszer vezet eredményre. © Mester Gyula
2003
Robotmanipulátorok kinematikája
Az inverz kinematikai feladatot két módon oldhatjuk meg: a. Analitikus és b. Numerikus eljárások alkalmazásával. Az analitikus eljárás esetében a megoldást zárt analitikus formában kapjuk meg minden robotmanipulátor konfigurációra külön-külön. Numerikus eljárások esetében a numerikus analízis ismert módszereit alkalmazzuk.
© Mester Gyula
2003
Robotmanipulátorok kinematikája
1.4.2. Az inverz kinematikai feladat analitikus megoldása •
Az inverz nemlineáris, folytonos deriválható vektorfüggvény f-1 amely leképezi a világkoordinátákat csuklókoordinátákká egy összetett n változós függvény, így az inverz kinematikai feladat analitikus megoldása összetett feladat.
•
Az iparban használt legtöbb robotmanipulátornál létezik analitikus megoldás az inverz kinematikai problémára. © Mester Gyula
2003
Robotmanipulátorok kinematikája
Az analitikus megoldásnak az előnyei a numerikus eljárásokhoz viszonyítva a következők: a. Megkapjuk az összes megoldást. b. Pontos eredményeket kapunk (numerikus hibák nélkül). c. Kevesebb numerikus számítással használható, így megfelel a valós idejű számításoknál. d. Felismerhetővé teszi a szingularitásokat.
© Mester Gyula
2003
Robotmanipulátorok kinematikája
Az analitikus megoldás fő hátránya az, hogy nem írható fel tetszőleges robotkonfigurációra. Oldjuk meg az 1.36. ábrán látható négy szabadságfokú hengeres robotmanipulátor esetében az inverz kinematikai feladatot analitikus eljárással.
© Mester Gyula
2003
Robotmanipulátorok kinematikája
l3
q3
l4
c q4
q2 z l2
zc
q1
o
xc
yc
y
x 1.36. ábra. A hengeres robotmanipulátor vázlata.
© Mester Gyula
2003
Robotmanipulátorok kinematikája
A világkoordináták és a csuklókoordináták közötti összefüggés felírható a következőképpen: (1.48)
x c = (l3 + l 4 + q 4 )cos q1 y c = (l3 + l 4 + q 3 )sin q1
zc = q 2 + l2
ϕ=q4 ahol:
s = [x c , yc , z c , ϕ]
T
a világkoordináták vektora xc, yc, zc – az effektor súlypontkoordinátái, ϕ - Euler szög, li – szegmenshossz. © Mester Gyula
2003
Robotmanipulátorok kinematikája
Az analitikus megoldást tehát felírhatjuk a következő módon: (1.49) yc q1 = arctg xc
q 2 = zc − l2
(
q3 = x + y 2 c
)
2 0 .5 c
− l3 − l 4
q4 = ϕ Így meghatároztuk a világkoordinátáknak megfelelő csuklókoordinátákat. © Mester Gyula
2003
Robotmanipulátorok kinematikája
1.4.3. Az inverz kinematikai feladat numerikus megoldása •
Az inverz nemlineáris, folytonos deriválható vektorfüggvény f-1 amely leképezi a világkoordinátákat csuklókoordinátákká egy összetett n változós függvény, így az inverz kinematikai feladat analitikus megoldása összetett feladat.
•
Az iparban használt legtöbb robotmanipulátornál létezik analitikus megoldás az inverz kinematikai problémára. © Mester Gyula
2003
Robotmanipulátorok kinematikája
Az inverz kinematikai feladatok megoldásánál a numerikus matematika eljárásait használjuk fel. (1.50)
q = f-1(s,qo)
A legelterjedtebb a Newton módszer használata. Deriváljuk a robotmanipulátor világ- és csuklókoordinátái közötti összefüggést: s = f (q ) (1.51) ∂f s& = q& ∂q © Mester Gyula
2003
Robotmanipulátorok kinematikája
Ahol az un. nxn dimenziós Jacobi-mátrix: ∂f (1.52) J (q ) = ∂q Így az 1.51. kifejezés felírható: (1.53)
s& = J (q )q&
Az (1.53) reláció a világkoordináták sebességvektora és a csuklókoordináták sebességvektora közötti összefüggést határozza meg. © Mester Gyula
2003
Robotmanipulátorok kinematikája
Ha ismerjük a világkoordináták sebességvektorát, akkor a csuklókoordináták sebességvektora a következő módon számítható ki: (1.54)
q& = J
−1
(q )s&
Mivel a nemredundáns robotmanipulátoroknál a Jacobi-mátrix kvadratikus, az inverz mátrixa meghatározható.
© Mester Gyula
2003
Robotmanipulátorok kinematikája
1.4.4. A Jacobi-mátrix meghatározása Az inverz kinematikai feladat numerikus megoldása megköveteli a Jacobi-mátrix és az inverz Jacobimátrix ismeretét. A Jacobi-mátrix összeköti: • a világkoordináták és a csuklókoordináták sebességvektorait, • az effektorra ható erőket és a terhelő erőkből adódó csuklónyomatékokat. A Jacobi-mátrixnak nagy jelentősége van a robotmanipulátor pályatervezésénél. © Mester Gyula
2003
Robotmanipulátorok kinematikája
•
A Jacobi-mátrix függ a világkoordináták vektorának a típusától és meghatározható két almátrix segítségével:
•
Az egyik almátrix a Descartes – féle koordinátáknak felel meg JD: (1.55)
x& y& = J q& D z& © Mester Gyula
2003
J D ∈ R 3 xn
Robotmanipulátorok kinematikája
A másik almátrix az effektor szögsebesség-vektor vetületeinek felel meg Jω: (1.56) ω x
ω = J q& ω y ωz
Jω ∈ R
3 xn
Így a Jacobi-mátrixot felírhatjuk a következő módon: (1.57) J
J= D Jω
© Mester Gyula
2003
Robotmanipulátorok kinematikája
A Jacobi-mátrix meghatározását az 1.36 ábrán látható hengeres robotmanipulátor példájánál mutatjuk be. Deriváljuk a világkoordináták és a csuklókoordináták közötti (1.48) összefüggést: (1.58) x& c = −(l3 + l4 + q 3 )q& 1 sin q1 + q& 3 cos q1 .
y& C = (l3 + l 4 + q 3 )q& 1 cos q1 + q& 3 sin q1
z& C = q& 2 ϕ& = q& 4 © Mester Gyula
2003
Robotmanipulátorok kinematikája
A fenti kifejezéseket a következő alakban is felírhatjuk: (1.59)
x& C − (l3 + l 4 + q 3 )sin q1 y& (l + l + q )cos q 3 1 C = 3 4 z& C 0 0 ϕ&
0 cos q1 0 q& 1 & 0 sin q1 0 q 2 1 0 0 q& 3 0 0 1 q& 4
© Mester Gyula
Robotmanipulátorok kinematikája
2003
Összehasonlítva az (1.53) és (1.59) kifejezéseket a Jacobi-mátrix alakja a kővetkező: (1.60)
− (l3 + l 4 + q 3 )sin q1 (l + l + q )cos q 3 4 3 1 J (q)= 0 0
© Mester Gyula
2003
0 cos q1 0 0 sin q1 0 1 0 0 0 0 1
Robotmanipulátorok kinematikája
1.5. A robotmanipulátorok pályatervezése • • •
1.5.1. Bevezetés 1.5.2. Pályatervezés világkoordinátákban 1.5.3. Pályatervezés csuklókoordinátákban
© Mester Gyula
2003
Robotmanipulátorok kinematikája
1.5.1 Bevezetés Robotmanipulátorok pályatervezésének kettős célja lehet: • Az effektor mozgását meghatározó pontok pozíciójának a megadása. • Az adott pontok közötti pálya-meghatározás. A pályatervezési feladat a robotmanipulátor munkafolyamatától függ. A pályatervezési feladatot skalárértékű időfüggvények tervezési feladatára vezetjük vissza és elvégezhetjük: • Csuklókoordinátákban és • Világkoordinátákban. © Mester Gyula
2003
Robotmanipulátorok kinematikája
A robotirányítási algoritmusok a pálya ismerete mellett megkövetelik a pálya menti sebességek, gyorsulások, szögsebességek és szöggyorsulások ismeretét is. A pályatervezési feladatot elvégezhetjük: • •
Off-line vagyis a robotmanipulátor tanítási fázisában és On-line, valós időben.
© Mester Gyula
2003
Robotmanipulátorok kinematikája
1.5.2. Pályatervezés világkoordinátákban •
Két adott pont (A és B) közötti pályatervezés világkoordinátákban τ idő alatt elvégezhető a következő módon: (1.61)
s( t ) = s A + λ ( t )(s B − s A )
0≤t≤τ
ahol az integrálási folyamat közben szükséges az inverz kinematikai feladat megoldása. •
Az (1.61) kifejezésben a λ(t) függvény az effektor sebesség-törvényszerűségét határozza meg, amely különböző típusú lehet (háromszög-, trapéz-, parabola-, ciklois- stb. alakú).
© Mester Gyula
2003
Robotmanipulátorok kinematikája
Amikor sikeresen elvégeztük a pályatervezést a világkoordinátákban, akkor meg kell oldani a pályatervezést csuklókoordinátákban is. E feladat három módon oldható meg: a. Az inverz kinematikai feladat megoldásával. b. Az (1.54) reláció segítségével és c. Az (1.53) reláció felhasználásával.
© Mester Gyula
2003
Robotmanipulátorok kinematikája
Deriváljuk az (1.53) kifejezést: (1.62) ahonnan: (1.63)
∂J 2 &s& = Jq && + q& ∂q ∂J &q& = J −1 &s& − q& 2 ∂q
© Mester Gyula
2003
Robotmanipulátorok kinematikája
1.5.2. Pályatervezés csuklókoordinátákban Amikor a pályatervezést csuklókoordinátákban szükséges elvégezni akkor következő kifejezést használjuk: (1.64)
q(t) = q + λ(t)(q − q ) A
B
A
0≤t≤τ
ahol a qA és qB a csuklókoordináták megfelelő vektorai. Fontos kihangsúlyozni, hogy a csuklókoordináták lineáris változása nem biztosítja a világkoordináták lineáris változását is. © Mester Gyula
2003
Robotmanipulátorok kinematikája
Bevezetés
Robotmechanizmus matematikai modellje Robotmanipulátorok hajtásai Robotmanipulátorok számítógépes dinamikai modellezése
© Mester Gyula
2003
Robotmanipulátorok dinamikája
2.1 Bevezetés
© Mester Gyula
2003
Robotmanipulátorok dinamikája
•
A robotmanipulátor dinamikai mozgásegyenletei a csuklókoordináták és deriváltjaik, valamint a meghajtónyomatékok/erők között teremtenek kapcsolatot. A robotmanipulátorok dinamikai modellje két részből áll:
•
a robotmanipulátor mechanizmusának- és a
•
csuklókat meghajtó aktuátoroknak (szervomotor+hajtómű) modelljéből.
© Mester Gyula
2003
Robotmanipulátorok dinamikája
Ahogy javul a robotmanipulátorok dinamikája, úgy nő a dinamikai vizsgálat a jelentősége is. A robotmanipulátor dinamikai modelljét felhasználjuk: •
robotmechanizmusok- és a
•
robotirányítási rendszerek tervezésénél,
•
•
valamint az aktuátorok optimális megválasztásánál.
© Mester Gyula
2003
Robotmanipulátorok dinamikája
•
Kezdetben a robotdinamika elmélete és ipari alkalmazása külön-külön fejlődött.
•
A robotmanipulátor dinamikai modelljének alkalmazását a számítástechnika gyors fejlődése (mint hardver mint szoftver szempontból) tette lehetővé.
•
A robotmanipulátor dinamikai modelljének fejlesztése felosztható: a. a szemlélt feladat, b. az alkalmazott mechanikai eljárások és c. a számítógépes program implementációja alapján. © Mester Gyula
2003
Robotmanipulátorok dinamikája
A vizsgált feladattól függően a következő két esetet különböztethetjük meg: • direkt dinamikai feladat és • inverz dinamikai feladat. A direkt dinamikai feladatnál a robotmanipulátor mozgásának ismeretében a meghajtónyomatékokat és erőket határozzuk meg. Az inverz dinamikai feladat esetében pedig a robotmanipulátor mozgását határozzuk meg a meghajtónyomatékok és erők ismeretében. © Mester Gyula
2003
Robotmanipulátorok dinamikája
A mechanikai módszerek szempontjából az alkalmazott eljárások három csoportba oszthatók fel: • Newton-Euler módszer (a robotikában elterjedt ennek a Luh-Walker-Paul –féle változata). • Lagrange-féle másodfajú egyenletek és az • Appel-egyenletek használata. A számítógépes program implementációjától függően három eljárást különbőztetünk meg: • numerikus, • szimbolikus, és • numerikus-szimbolikus eljárásokat. © Mester Gyula
2003
Robotmanipulátorok dinamikája
A korszerű robotirányítási rendszereknél a mintavételezési frekvencia legalább: 1 kHz így a robotirányítási törvények kiszámítására maximum: 1 ms idő áll a rendelkezésünkre. Más oldalról nézve a robotmodellezési eljárás igen összetett, így az egyetlen kiút az, hogy a modellezési eljárásokat automatizáljuk. Ez a feladat persze általános érvényességű algoritmusokat feltételez [5]. © Mester Gyula
2003
Robotmanipulátorok dinamikája
A dinamikai modellezésnél a legkorszerűbb eljárás a szimbolikus modellezési technika használata, itt ugyanis a dinamikai modell magas szintű programnyelvben való generálásával a bemenő változókat szimbolikus váltózóknak tekintjük. Az így kapott modellek egyszerűbb struktúrájúak mint a többi eljárás alkalmazásánál kapottak, ami persze feltétel a valós időben történő modellgenerálás szempontjából. A szimbolikus modellezési technika alkalmazásának esetében figyelembe vesszük a robotmanipulátor struktúráját, és ezzel kiküszöböljük a kevésbé fontos numerikus számításokat. © Mester Gyula
2003
Robotmanipulátorok dinamikája
A következő fejezetekben a robotmanipulátor: direkt dinamikai feladatával foglalkozunk, Newton-Euler módszer és Lagrange-féle másodfajú egyenletek alkalmazásával. A robotmanipulátor kinematikai paramétereit a: Denavit-Hartenberg eljárás szerint határozzuk meg. Az aktuátoroknál pedig: egyenáramú szervomotorokat használunk fel. © Mester Gyula
2003
Robotmanipulátorok dinamikája
2.2 Robotmechanizmus matematikai modellje 2.2.1 Robotmanipulátor rekurzív dinamikai modellje a. Erő meghatározás b. Nyomaték meghatározás
2.3.2. Rekurzív dinamikai modell a szegmensek koordinátarendszerében 2.3.4. Lagrange-féle robotdinamikai modellezés 2.3.5. Robotdinamikai modell vizsgálata © Mester Gyula
2003
Robotmanipulátorok dinamikája
A robotmechanizmusok matematikai modellezésénél a következő feltevésekből indulunk ki: • a kinematikai lánc egyszerű és nyitott, • a robotmechanizmus szegmensei merev testek, amelyek 1-szabadságfokú csuklókkal vannak összekötve egymással, • a robotcsuklók rotációsak (R) vagy transzlációsak (T), • a robotcsuklók független hajtással rendelkeznek, • a robotmanipulátor geometriai paramétereit a Denavit-Hartenberg eljárás szerint határozzuk meg, • a csillapítási hatásoktól és a robotplatform rezgésétől eltekintünk. © Mester Gyula
2003
Robotmanipulátorok dinamikája
A továbbiakban az n- szabadságfokú robotmanipulátor dinamikai modelljét vizsgáljuk. Mindegyik csukló külön hajtású, tehát külön aktuátorral rendelkezik. Az i-edik csukló mozgását qi csuklókoordinátával írjuk le. A rotációs csuklók lehetővé teszik az egyik szegmens forgó mozgását a másik szegmens körül, a transzlációs csuklók pedig lehetővé teszik az egyik szegmens haladó mozgását a másik szegmenshez viszonyítva.
© Mester Gyula
2003
Robotmanipulátorok dinamikája
•
A továbbiakban robotmanipulátor: direkt dinamikai feladatával foglalkozunk, tehát a meghajtónyomaték vagy erő meghatározásával: Newton-Euler módszer- (a robotikában elterjedt ennek a Luh-Walker-Paul – féle változata) és Lagrange-féle másodfajú egyenletek alkalmazásával. •
A robotdinamikai modell felállítása céljából először a tömegpont összetett mozgásának kinematikai leírása, a sebességek és a gyorsulások meghatározása szükséges. © Mester Gyula
2003
Robotmanipulátorok dinamikája
2.2.1 Robotmanipulátor rekurzív dinamikai modellje A robotmanipulátor rekurzív kinematikai modelljének a levezetésénél a koordináta-rendszereket a DenavitHartenberg eljárás szerint választjuk. Robotmanipulátorok rekurzív dinamikai modelljét a Newton-Euler féle eljárás alkalmazásával írjuk fel. Nézzük meg a 2.1. ábrát, ahol PUMA típusú robotmanipulá-tor látható.
© Mester Gyula
2003
Robotmanipulátorok dinamikája
fi (xi-1, yi-1, zi-1)
ci oi-1
si
ni
oi
p* i
fi+1 (xi, yi, zi) q&
pi-1 pi
ni+1
z0 o0
y0
x0 2.1. ábra Robotcsuklók erő- és nyomatékhatásai © Mester Gyula
2003
Robotmanipulátorok dinamikája
Vezessük be a következő jelöléseket (a vektorokat a vonatkozási rendszerben adjuk meg) : • •
• • •
mi - az i-edik szegmens tömege, Ji- az i-edik szegmens tehetetlenségi tenzora a vonatkozási rendszerben a tömegközéppontra számítva, Fi- tehetetlenségi és gravitációs erő, amely az i-edik szegmensre hat a tömegközéppontban, Ni- tehetetlenségi nyomaték, amely az i-edik szegmensre hat a tömegközéppontban, fi- erő amellyel az i-edik szegmens hat az (i-1)ik szegmensre, © Mester Gyula
2003
Robotmanipulátorok dinamikája
• •
ni- nyomaték amellyel az i-edik szegmens hat az (i-1)-ik szegmensre, τ i - i-edik aktuátort terhelő nyomaték (erő).
Mivel a robotmanipulátor 0-adik szegmensére (a robotmanipulátor alapja amely a platformra van helyezve): vo = 0, ωo = 0, és figyelembe véve a gravitációs térhatást: ao = g, (g=9.8062 m/s2) következik, hogy a rekurzív kinematikai relációk segítségével, az első szegmenstől haladva az utolsóig, a robotmanipulátor komplett kinematikai láncának összes kinematikai mennyiségét meghatározhatjuk.
© Mester Gyula
2003
Robotmanipulátorok dinamikája
A 2.1. ábrán a robotmanipulátor i-edik szegmensére ható erők és nyomatékok láthatók, amelyek [21]. A levezetett kinematikai relációk alapján (a kinematikai levezetéseket nem részletezzük, lásd a szakirodalmat) a Newton-Euler eljárást alkalmazva felírhatjuk a következő erő- és nyomatékegyenleteket:
© Mester Gyula
2003
Robotmanipulátorok dinamikája
• a. Erő-meghatározás Az inerciális és gravitációs erőket, amelyek a tömegközéppontban hatnak meghatározhatjuk a következő módon: •
Fi = m i ai (2.1) az erőket pedig, amelyekkel az i-edik szegmens hat az (i-1)-ik szegmensre:
(2.2)
f i = f i+1 + Fi
© Mester Gyula
2003
Robotmanipulátorok dinamikája
•
b. Nyomaték-meghatározás Az Euler-féle dinamikai egyenletek alapján felírhatjuk a tehetetlenségi nyomatékot amely az i-edik szegmens tömegközéppontjára hat: (2.3)
d(J i ω i ) Ni = dt
(2.4)
& i + ω i × (J i ω i ) Ni = J iω
© Mester Gyula
2003
Robotmanipulátorok dinamikája
ahol a tehetetlenségi tenzor:
(2.5)
( + m (s + m (s
J xx = I xx + m i s + s
2 iz
J yy = I yy
2 iz
J zz = I zz
2 iy
i
2 ix
+s
i
2 ix
+s
2 iy
) ) )
J xy = I xy − m i s ix s iy J xz = I xz − m i s ix s iz J yz = I yz − m i s iy s iz © Mester Gyula
2003
Robotmanipulátorok dinamikája
A nyomaték, amelyel az i-edik szegmens hat az (i1)-edik szegmensre, a következőképpen számítható ki: (2.6)
(
)
n i = n i +1 + p ∗i × f i +1 + p ∗i + s i × Fi + N i
A (2.2) és (2.6) rekurzív formájú relációkat egy n szabadságfokú robotmanipulátor esetében, felhasználhatjuk a robotszegmensre ható erők és nyomatékok meghatározására.
© Mester Gyula
2003
Robotmanipulátorok dinamikája
Mivel a robotmanipulátornál a munkadarab tömegének és tehetetlenségi nyomatékának a dinamikai hatását is figyelembe kell venni, ez legegyszerűbben úgy oldható meg, hogy az erő és nyomaték helyettesíthető a munkadarab erő- és nyomatékhatásával. Ha az i-edik robotcsukló rotációs (R), akkor rotációt valósít meg a koordinátarendszerben a tengely körül.
© Mester Gyula
2003
Robotmanipulátorok dinamikája
•
•
Tehát, az i-edik csukló meghajtónyomatéka egyenlő kell hogy legyen az vetületeinek az összegével a z i −1 tengelyre számítva. Ha az iedik robotcsukló transzlációs (T), akkor haladó mozgást valósít meg a O i−1 x i−1 y i−1z i−1 koordinátarendszerben a z i −1 tengely mentén. Tehát, az iedik csuklót meghajtó erő egyenlő kell hogy legyen az fi vetületeinek az összegével a z i −1 tengelyre számítva. A fenti megállapítások alapján az aktuátort terhelő nyomatékok (erők) a következő módon határozhatók meg [22]: (2.7) T T τ i = (1 − ξ i )n i z i −1 + ξ i f i z i −1 i = n ,...,1 © Mester Gyula
2003
Robotmanipulátorok dinamikája
A kinematikai és a dinamikai számítások esetében a robotmanipulátor mozgását meghatározó vektor-egyenletek tehát rekurzív egyenletrendszert alkotnak. A rekurzív kinematikai egyenletek lehetővé teszik a robotszegmensek kinematikai mennyiségeinek a rekurzív kiszámítását a robotmanipulátor alapjához kötött vonatkozási koordinátarendszerből kiindulva az effektorig haladva.
© Mester Gyula
2003
Robotmanipulátorok dinamikája
•
A Newton-Euler féle rekurzív egyenletek (2.2) és (2.6) segítségével pedig meghatározhatjuk az erőket és a nyomatékokat az effektortól kiindulva a robotmanipulátor platformjáig (a vonatkozásai rendszerig) haladva.
•
A rekurzív kinematikai egyenletek tehát lehetővé teszik a robotszegmensek kinematikai • mennyiségeinek v i , a i , ω i , ω i a kiszámítását a robotmanipulátor alapjához kötött vonatkozási koordinátarendszerből kiindulva az effektorig haladva (i = 1,..., n ).
© Mester Gyula
2003
Robotmanipulátorok dinamikája
A rekurzív dinamikai egyenletek pedig lehetővé teszik a robotszegmensek dinamikai mennyiségeinek (f i , n i ) a kiszámítását, amelyeket a robotcsuklókon a poziciónálási vagy erőirányítási feladat elvégzése miatt teljesítményelektronikával meg kell valósítani, éspedig az effektortól kiindulva a robotmanipulátor platformjáig (a vonatkozásai rendszerig) haladva a 2.2 ábra szerint ( i= n, …,1 ).
© Mester Gyula
2003
Robotmanipulátorok dinamikája
z0
fn+1
Kinematikai számítások
nn+1 qi
Dinamikai számítások
O0 y0 x0 2.2 ábra A kinematikai és dinamikai mennyiségek számítási módja © Mester Gyula
2003
Robotmanipulátorok dinamikája
2.2.2. Rekurzív dinamikai modell a szegmensek koordinátarendszerében Az előző fejezetekben levezetett rekurzív dinamikai egyenletek hátránya az, hogy a tehetetlenségi mátrix és a szegmensek geometriai paraméterei a vonatkozási koordinátarendszerben vannak megadva, ezek a mennyiségek a robotmanipulátor mozgása közben állandóan változnak.
© Mester Gyula
2003
Robotmanipulátorok dinamikája
Luh-Walker-Paul [20] javítottak a bemutatott rekurzív eljáráson úgy, hogy a mozgásegyenletek számításánál áttértek a kinematikai és dinamikai mennyiségek: – – – – – –
sebességek, gyorsulások, tehetetlenségi mátrixok, a szegmens tömegközéppontjának a helyzetvektora, erők, nyomatékok
számitásánál a vonatkozási rendszer helyett a szegmensre helyezett koordináta-rendszerekre.
© Mester Gyula
2003
Robotmanipulátorok dinamikája
Íly módon a következő célokat valósították meg: • a számítások leegyszerűsödtek, • megkönnyíteték a robotirányítási algoritmusok valós időben (real time) való megvalósítását (online), • a meghajtónyomatékok számításának az ideje a Luh-Walker-Paul féle eljárás alkalmazása esetében egyenesen arányos a robotcsuklók számával, és nem függ a robotkonfiguráció helyzetétől mozgás közben. © Mester Gyula
2003
Robotmanipulátorok dinamikája
i −1
Legyen az R i 3x3 rendű rotációs mátrix, amely a vektorokat az O i x i y i z ikoordináta-rendszerből leképezi a O i −1 x i −1 y i −1 z i −1 koordinátarendszerbe. •
Az i −1 R i mátrix a DH féle felső almátrixa:
i −1
D i mátrixnak a bal
cos q i − sin q i coα i sin q i sin α i i −1 (2.8) R 1 = sin q i cos q i coα i − cos sq i sin α i 0 sin α i cos α i
© Mester Gyula
2003
Robotmanipulátorok dinamikája
Mivel a: (2.9)
i −1
R = R i −1 T i
i
így következik: (2.10) i
R 1−1
cos q i = − sin q i cos α i sin q i sin α
© Mester Gyula
2003
sin q i cos q i coα i − c os q i sin α i
sin α i cos α i 0
Robotmanipulátorok dinamikája
Tehát a vonatkozási rendszerben történő számítása helyett, a kinematikai és dinamikai mennyiségek ezentúl számítjuk a robotsz(2.11) egmenshez kötött i-ik O i x i y i z i koordinátarendszerben. Az aktuátort terhelő nyomaték/erő relációk új alakjai tehát: (2.11) τ i = (1 − ξ i ) ( R o n i ) i
ahol a:
T
(R i
) (
z + R ofi
i −1 o
i
)(R T i
)
z ξi
i −1 o
z o =(0,0,1)
T
© Mester Gyula
2003
Robotmanipulátorok dinamikája
A mozgások kezdőfeltételeinek standard alakja a gravitációs gyorsulás figyelembe vételével: & o = vo = 0 ; ωo = ω
ao = g x , g y , g z
T
ahol a: g = 9.8062 m s 2. Számitógépes feldolgozási szempontból nézve, így megkaptuk a rekurzív kinematikai és dinamikai egyenleteket, amelyek lehetővé teszik a robotszegmensek kinematikai és dinamikai mennyiségeinek a szegmensekhez kötött koordinátarendszerekben való számítását. © Mester Gyula
2003
Robotmanipulátorok dinamikája
A fenti eljárás a robotmanipulátor számítógépes modellezése szempontjából ma a leghatásosabb és legkorszerűbb [22]. •
Tehát, a robotmanipulátor strukturájának a leírására, a szegmensek kinematikai paramétereit a Denavit-Hartenberg eljárással adjuk meg, a szegmensek tömegét és tehetetlenségi nyomatékait pedig a szegmens tömegközéppontjában felállított (lokális) koordinátarendszerben határozzuk meg.
© Mester Gyula
2003
Robotmanipulátorok dinamikája
2.2.3. Lagrange-féle robotdinamikai modellezés Robotmanipulátor dinamikájának a meghatározására előnyös a Lagrange-féle másodfajú mozgásegyenletek alkalmazása: (2.12) ahol: • • • •
d ∂T ∂T ∂Π − + = τi dt ∂q& i ∂q i ∂q i
i = 1, ..., n
T – a robotmanipulátor rendszer kinetikus energiája, Π - a robotmanipulátor rendszer potenciális energiája, τi – csuklónyomaték/erő, qi - csuklókoordináta. © Mester Gyula
2003
Robotmanipulátorok dinamikája
•
A Lagrange-féle másodfajú mozgásegyenletek alkalmazását a 2.3. ábra szerinti 2szabadságfokú robotmanipulátor dinamikai modellezésénél mutatjuk be. Vizsgáljunk tehát egy 2- szabadságfokú, 2 rotációs csuklóból álló robotmanipulátort.
•
Ha a robotmanipulátor a vízszintes síkban mozog, akkor a SCARA tipúsu robot első két szegmensével, ha pedig a függőleges síkban mozog, akkor a PUMA típúsu robot második és harmadik szegmensével egyezik meg. © Mester Gyula
2003
Robotmanipulátorok dinamikája
Y
m3 q2
lc2 c2
lc1
c1
q1
o2
mm X
o1
Z, z0, z1
z3 , z 4
z2
c1
c2 X
J1, l1, m1
J2, l2, m2
2.3. ábra A 2- szabadságfokú, 2 rotációs csuklóból álló robotmanipulátor © Mester Gyula
2003
Robotmanipulátorok dinamikája
Robotmanipulátor adatok: q1 és q2 - a robotcsuklók koordinátái, mm - a 2-es számú csukló aktuátorának a tömege, m3 - a munkadarab tömege. Robotszegmens adatok: első szegmens l1 – a szegmens hossza, lc1 – a szegmens tömegközéppontjának a távolsága az 1-es csukló középpontjától, m1 – a szegmens tömege, J1 – a szegmens tehetetlenségi nyomatéka a szegmens tömegközéppontra számítva, második szegmens l2 – az szegmens hossza, lc2 – a szegmens tömegközéppontjának a távolsága a 2-es csukló középpontjától, m2 – a szegmens tömege, J2 – a szegmens tehetetlenségi nyomatéka a szegmens tömegközéppontra számítva, © Mester Gyula
2003
Robotmanipulátorok dinamikája
A robotmanipulátor kinetikus energiája a következő részekből áll: az 1-es robotszegmens kinetikus energiája: (2.13) 1 2 1 2
a 2-es robotszegmens kinetikus energiája: (2.14)
a 2-es robotcsukló aktuátorának kinetikus energiája: (2.15) 1 2 T3 = m m v 01 2
•
T1 = J1q& 1 + m1 v c1 2 2
© Mester Gyula
1 1 2 2 T2 = J 2 (q& 1 + q& 2 ) + m 2 v c21 2 2
•
2003
m3 tömegű munkadarab kinetikus energiája: (2.16) 1 2 T4 =
2
m 3 v 02
Robotmanipulátorok dinamikája
•
A vizsgált mechanikai rendszer kinetikus energiájának a felírására: • (2.17) T = T1 + T2 + T3 + T4 szügséges meghatározni a tömegpontok abszolút sebességeit a robotcsuklók szögsebességeinek a függvényében: (2.18)
v c1 = l c1q& 1 v 01 = l1q& 1 v c 2 = l12 q& 12 + 2l1l c 2 q& 1 (q& 1 + q& 2 ) cos q 2 + l c22 (q& 1 + q& 2 ) 2 2 2 2 & & & & & & v 02 = l1 q1 + 2l12 q1 (q1 + q 2 ) cos q 2 + l 2 (q1 + q 2 ) © Mester Gyula
2003
Robotmanipulátorok dinamikája
Így a robotmanipulátor kinetikus energiája: (2.19)
[
]
1 T = J1q& 12 + m1l c21q& 12 + J 2 (q& 1 + q& 2 ) 2 + 2
[
]
+ m 2 l12 q& 12 + 2l1l c 2 q& 1 (q& 1 + q& 2 ) cos q 2 + l c22 (q& 1 + q& 2 ) 2 + m m l12 q& 1 +
[
+ m 3 l1q& 12 + 2l12 q& 1 (q& 1 + q& 2 ) cos q 2 + l 22 (q& 1 + q& 2 ) 2
© Mester Gyula
2003
]
Robotmanipulátorok dinamikája
A robotmanipulátor potenciális energiája a következő részekből áll: az 1-es robotszegmens potenciális energiája: (2.20) Π 1 = m1gl c1 sin q1
Π 2 = m 2 g[l 2 sin q 2 + l c 2 sin(q1 + q 2 )]
a 2-es robotcsukló aktuátorának potenciális energiája: (2.22)
m3 tömegű munkadarab potenciális energiája: (2.23)
Π 3 = m m gl1 sin q1 © Mester Gyula
az 2-es robotszegmens potenciális energiája: (2.21)
Π 4 = m 3 g[l1 sin q1 + l 2 sin(q1 + q 2 )] 2003
Robotmanipulátorok dinamikája
Így a szemlélt robotmanipulátor potenciális energiája: (2.24)
Π = m1gl c1 sin q1 + m 2 g[l 2 sin q 2 + l c 2 sin(q1 + q 2 )] + + m m gl1 sin q1 + m 3 g[l1 sin q1 + l 2 sin(q1 + q 2 )] Behelyesítve a T és kifejezéseket a Lagrange-féle másodfajú egyenletekbe: (2.25)
d ∂T ∂T ∂Π − + = τi dt ∂q& i ∂q i ∂q i © Mester Gyula
2003
i = 1, 2
Robotmanipulátorok dinamikája
felírhatjuk a robotmanipulátor mátrix alakú mozgásegyenleteit:
&& + C(q, q& )q& + g(q) = τ H(q) q ahol az egyes mátrixok elemei: (2.27)
H(q)1,1 H(q) = H(q) 2,1
© Mester Gyula
2003
H(q)1,2 H(q) 2,2
Robotmanipulátorok dinamikája
(2.28)
(
)
(
)
2 2 H(q)1,1 = J 1 + J 2 + m1l c1 + m 2 l12 + l c2 + 2l1l c2 cos(q 2 ) + m 3 l12 + l 22 + 2l1l 2 cos(q 2 ) + m m l12 ,
(
)
(
)
(
)
(
)
2 H(q)1,2 = J 2 + m 2 l c2 + l1l c2 cos(q 2 ) + m 3 l 22 + l1l 2 cos(q 2 ) ,
2 H(q) 2,1 = J 2 + m 2 l c2 + l1l c2 cos(q 2 ) + m 3 l 22 + l1l 2 cos(q 2 ) ,
2 H(q) 2,2 = J 2 + m 2 l c2 + m 3 l 22 .
(2.29)
C(q, q& )1,1 C(q, q& )1,2 C(q, q& ) = & & C(q, q ) C(q, q ) 2,1 2,2 © Mester Gyula
2003
Robotmanipulátorok dinamikája
(2.30)
C(q, q& )1,1 = −2l1 (m 2 l c2 + m 3 l 2 )q& 1sin(q 2 ), C(q, q& )1,2 = l1 (m 2 l c2 + m 3 l 2 )q& 1sin(q 2 ), C(q, q& ) 2,1 = −l1 (m 2 l c2 + m 3 l 2 )q& 1sin(q 2 ), C(q, q& ) 2,2 = 0. g 1 (q ) g(q) = g ( q ) 2
(2.31)
© Mester Gyula
2003
Robotmanipulátorok dinamikája
(2.32) g 1 (q ) = m 1 gl c1 cos(q 1 ) + m 2 g(l1 cos(q 1 ) + l c2 cos(q 1 + q 2 )) + m m gl1 cos(q 1 ) + m 3 g(l1 cos(q 1 ) + l 2 cos(q 1 + q 2 )) g 2 (q ) = m 2 gl c 2 cos(q 1 + q 2 ) + m 3 gl 2 cos(q 1 + q 2 )
(2.33)
q1 q= q 2
q& 1 q& = q& 2
&q&1 && = q &q& 2
τ1 τ= τ 2
a robotmanipulátor mozgásegyenletei tehát: © Mester Gyula
2003
Robotmanipulátorok dinamikája
(
)
(
)
2 2 J1 + J 2 + m1l c1 + m 2 l12 + l c2 + 2l1l c2 cos(q 2 ) + m 3 l12 + l 22 + 2l1l 2 cos(q 2 ) + m m l12 2 2 J1 + m 2 (l c 2 + l1l c 2 cos q 2 ) + m 3 (l 1 l 2 cos q 2 + l 2 )
− 2l1 (m 2 l c2 + m 3 l 2 )q& 2 sin(q 2 ) - l1 (m 2 l c2 + m 3 l 2 )q& 2 sin(q 2 ) q& 1 + + & ( ) l m l m l q sin(q ) 0 + 3 2 1 2 1 2 c2 q& 2
m1gl c1 cos(q1 ) + m 2 g(l1cos(q1 ) + l c2 cos(q1 + q 2 )) + m m gl1 cos(q1 ) + + m 2 gl c 2 cos(q1 + q 2 ) + m 3gl 2 cos(q1 + q 2 ) + m 3g(l1cos(q1 ) + l 2 cos(q1 + q 2 )) τ1 = τ 2 © Mester Gyula
2003
(2.34) Robotmanipulátorok dinamikája
Ha a szemlélt 2.3. ábra szerinti robotmanipulátor a vízszintes síkban mozog, akkor a struktúrája megegyezik a SCARA robot első 2 – szabadságfokával, n=2, így a gravitációs erőhatások vektora zérus, g(q)=0. Az i-edik csukló meghajtónyomatéka biztositja a csukló körüli mozgást gyorsulással, amely persze függ a robotmanipulátor i-edik csuklójára ható tehetetlenségi nyomatékától. E tehetetlenségi nyomaték összetett függvénye a pillanatnyi csuklókoordinátáknak az i-edik csuklótól számítva. © Mester Gyula
2003
Robotmanipulátorok dinamikája
Az i-edik csukló súlyponti tengelyére vett tehetetlenségi nyomatéka mellett (J1,J2) az i-edik csukló mozgására még kihatnak a centrifugális tehetetlenségi nyomatékok, amelyek a többi, i-edik csukló utáni csuklók mozgásától adódnak. A centrifugális tehetetlenségi nyomatékok ugyancsak összetett függvényei a robotmanipulátor pillanatnyi koordinátáinak. Összehasonlítva a 2.26 és 2.34 kifejezéseket, megállapítható, hogy a robotmanipulátor tehetetlenségi mátrixa H(q):
© Mester Gyula
2003
Robotmanipulátorok dinamikája
(
)
(
)
2 2 J 1 + J 2 + m1l c1 + m 2 l12 + l c2 + 2l1l c2 cos(q 2 ) + m 3 l12 + l 22 + 2l1l 2 cos(q 2 ) + m m l12 H (q) = 2 J 2 + m 2 l c2 + l1l c2 cos(q 2 ) + m 3 l 22 + l1l 2 cos(q 2 )
(
(
)
)
(
(
)
)
2 J 2 + m 2 l c2 + l1l c2 cos(q 2 ) + m 3 l 22 + l1l 2 cos(q 2 ) 2 2 J 2 + m 2 l c2 + m 3 l 2
(2.35) © Mester Gyula
2003
Robotmanipulátorok dinamikája
Az i-edik csukló mozgására kihatnak még a csuklómozgásoktól létrejövő nyomatékok: • az ugynevezett Coriolis-féle és • centrifugális nyomatékok, amelyek egyenesen arányosak a szögsebességek szorzatával. Feladatunknál a Coriolis és centrifugális nyomatékok vektora: (2.36) − 2l1 (m 2 l c2 + m 3l 2 ) q& 2sin(q 2 ) - l1 (m 2 l c2 + m 3l 2 ) q& 2sin(q 2 ) C(q, q& ) = & ( ) + l m l m l q sin(q ) 0 3 2 1 2 1 2 c2 © Mester Gyula
2003
Robotmanipulátorok dinamikája
A Coriolis-féle és centrifugális nyomatékok egyenesen arányosak tehát a csuklók szögsebességével, így csak nagy szögsebességek esetén jelentősek, a csukló mozgása kezdeténél és a mozgás végénél nincs igazi kihatásuk a robotmanipulátor dinamikájára. Nagy szögsebességek esetén viszont jelentősen kihatnak a pozicionálás és a pályakövetés pontosságára. Az i-edik csukló körüli nyomatékra kihat még a gravitációs nyomaték is, amely általános esetben ugyancsak összetett függvénye a robotmanipulátor csuklókoordinátáinak, és változik az i-edik csukló mozgása közben: © Mester Gyula
2003
Robotmanipulátorok dinamikája
(2.37) m1gl c1 cos(q1 ) + m 2 g(l1cos(q1 ) + l c2 cos(q1 + q 2 )) + m m gl1 cos(q1 ) + g(q) = m 2 gl c 2 cos(q1 + q 2 ) + m 3 gl 2 cos(q1 + q 2 ) + m 3 g(l1cos(q1 ) + l 2 cos(q1 + q 2 )) Megállapítható tehát, hogy
a tehetetlenségi mátrix H(q), a C(q, q& )q& és a g(q) vektorok a robotmanipulátor összes koordinátáinak összetett függvényei. Mindegyik csukló mozgása erősen csatolt az összes többi robotcsukló mozgásával, így egy aktuátor meghajtónyomatéka tulajdonképpen kihat az összes többi csukló mozgására. © Mester Gyula
2003
Robotmanipulátorok dinamikája
meghajtónyomatékával egyezzik meg, ha pedig az aktuátor hajtóművet is tartalmaz, akkor a hajtómű kimenő nyomatékával egyezik meg. A hajtómű a szervomotor szögsebességét a csukló felé a hajtóműáttétel értékével leosztja, a meghajónyomatékot a csukló felé pedig a hajtóműáttétel értékével felszorozza [5]. A robotirányítás vizsgálatánál a robotmehanizmus rugalmasságát a rugalmas robotcsuklókkal vesszük figyelembe.
© Mester Gyula
2003
Robotmanipulátorok dinamikája
2.2.4 Robotdinamikai modell vizsgálata Ha a robotmanipulátor nyomatékegyenleteit, (2.7) vagy (2.11), felírjuk az n számú robotcsuklóra, akkor megkapjuk a szemlélt mechanikai rendszer dinamikai modelljét , amely n számú skaláris nemlíneáris másodrendű differenciálegyenletből áll, ezeknek mátrix alakja a következő : && + h(q, q& ) τ = H (q )q (2.38) © Mester Gyula
2003
Robotmanipulátorok dinamikája
• ahol: T ( ) τ = τ , τ ,... τ • - meghajtónyomatékok/erők n x 1 1 2 n dimenziós vektora • H(q ) - nxn dimenziós tehetetlenségi mátrix, amely a robotmanipulátor q csuklókoordinátáinak függvénye, T ( ) q = q , q ,... q • - a csuklókoordináták nx1 dimenziós 1 2 n oszlopvektora, • h(q, q& ) =q& T C(q )q& + g(q )- nx1 dimenziós oszlopvektor • C(q, q ) - a Coriolis és centrifugális nyomatékok nxnxn (háromdimenziós) mátrixa • g(q ) - a gravitaciós erőhatások nx1 dimenziós oszlopvektora. © Mester Gyula
2003
Robotmanipulátorok dinamikája
A (2.38) relációt felírhatjuk a következő módon is: (2.39) τ = H (q )q && + q& T C(q )q& + g(q ) A robotmanipulátor dinamikai modellje tehát n számú nemlineáris másodrendű differenciálegyenletből áll, amely persze nem függ az alkalmazott modellfejlesztési eljárástól. Az i-edik csukló meghajtónyomatéka a mozgó robotmechanizmus i-edik csuklóra számított tehetetlenségi nyomatéktól függően szöggyorsulással mozgatja a csuklót. E tehetetlenségi nyomaték a robotmanipulátor i-edik csuklótól számított összes csuklóinak pillanatnyi koordinátáitól függ.
© Mester Gyula
2003
Robotmanipulátorok dinamikája
Az i-edik csukló mozgására, a súlyponti tengelyre számított tehetetlenségi még a && + q& T C(qmellett, )q& + g(qkihatnak ) τ = H (nyomatékok q )q centrifugális tehetetlenségi nyomatékok is, amelyek a többi (mozgó) csuklóktól adódnak (az i-edik csukló után). A centrifugális tehetetlenségi nyomatékok ugyancsak a pillanatnyi csuklókoordináták összetett függvényei. Az i-edik csukló mozgására kihatnak még a csuklómozgásoktól létrejövő nyomatékok, az úgynevezett Coriolis-féle és centrifugális nyomatékok, amelyek egyenesen arányosak a szögsebességek szorzatá-val.
© Mester Gyula
2003
Robotmanipulátorok dinamikája
Az i-edik csukló körüli nyomatékra kihat még a gravitációs nyomaték is, amely általános esetben ugyancsak összetett függvénye a robotmanipulátor csuklókoordinátáinak. Így a tehetetlenségi mátrix H (q ) és a h(q, q& ) =q& T C(q )q& + g(q ) vektor tulajdonképpen nagyon összetett nemlineáris függvényei a robotmanipulátor összes koordinátáinak. © Mester Gyula
2003
Robotmanipulátorok dinamikája
A fenti tények alapján megállapítható, hogy a robotmanipulátor minden csuklójának a mozgása erősen csatolt az összes többi csukló mozgásával, és egy aktuátor meghajtó nyomatéka tulajdonképpen kihat a többi csukló mozgására is. Közvetlen hajtás esetében (direct drive) az aktuátor meghajtó nyomatéka a szervomotor meghajtónyomatékával egyezik meg, ha pedig az aktuátor hajtóművet is tartalmaz, akkor a hajtómű kimenő nyomatékával egyezik meg.
© Mester Gyula
2003
Robotmanipulátorok dinamikája
El kell mondani azt is, hogy a (2.38) dinamikai modell tulajdonképpen a robotmechanizmus dinamikáját írja le nem véve figyelembe az aktuátor dinamikáját is. A komplett dinamikai modell felírása érdekében figyelembe kell tehát venni az aktuátor matematikai modelljét is.
© Mester Gyula
2003
Robotmanipulátorok dinamikája
2.3 A robotmanipulátorok hajtásai 2.3.1 Robotaktuátorok 2.3.2. A robotmanipulátor és aktuátor együttes modellje
© Mester Gyula
2003
Robotmanipulátorok dinamikája
2.3.1 Robotaktuátorok A robotmanipulátor csuklómeghajtásaira három típusú: • elektromechanikai, • elektrohidraulikus és • elektropneumatikus aktuátort alkalmazunk. A korszerű robotmanipulátoroknál nő az elektromechanikus meghajtások használata (különösen a 100 kg terheléshatárig). Mint meghajtómotor egyenáramú állandó mágnesű szervomotorok dominálnak, melyek könnyen szabályozhatók. © Mester Gyula
2003
Robotmanipulátorok dinamikája
A szervorendszer vázlata a 2.4. ábrán látható. i
R
L
u
robotcsukló q , q&
Nq , N q&
τ N
2.4 . ábra A szervorendszer vázlata
© Mester Gyula
2003
Robotmanipulátorok dinamikája
•
A szervohajtás magába foglalja a szervomotort, fordulatszámszabályozót, szervoszabályozót és a hajtóművet.
•
A szervomotor tengelyén helyezkedik el a tahógenerátor és a motorfék.
•
A fordulatszámszabályozást a szabályozó kimeneténél az u feszültség szabályozásával valósítjuk meg.
© Mester Gyula
2003
Robotmanipulátorok dinamikája
•
Megállapítható tehát, hogy az u feszültség a szabályozott jellemző, a feszültség változtatásával tulajdonképpen a robotmanipulátort irányítjuk [2].
•
Feltételezzük tehát, hogy a szervomotor kimenő tengelye közvetlenül a hajtóműhöz, a hajtómű kimenő tengelye pedig a csuklóhoz kötődik.
•
A szervomotor áramkör (hurok) egyenlete felírható a következő módon:
© Mester Gyula
2003
Robotmanipulátorok dinamikája
di R u = LR + R i R + c E N q& dt u – szabályozó feszültség nx1 dimenziós vektora a rotor bemeneténél [V], LR – rotorköri induktivitás nx1 dimenziós vektora [H], iR – rotoráram nx1 dimenziós vektora [mA], R – rotorköri ellenállás nxn dimenziós mátrixa[], cE – a belső feszültség együtthatójának nxn dimenziós mátrixa[V/s-1], q& - a reduktor kimenő tengelye szögsebességének az nx1 dimenziós vektora [s-1], N – a hajtóműáttétel nxn dimenziós mátrixa.
© Mester Gyula
2003
Robotmanipulátorok dinamikája
A rotor mátrix alakú másodrendű differenciálegyenlete, vagyis a: – meghajtónyomaték, – tehetetlenségi erők nyomatéka, – csillapítási nyomaték és – a külső terhelő nyomaték dinamikai egyensúlya az aktuátor kimenő tengelyén (a csukló felé): (2.41) && + B q& + τ = Nτ Jq m
© Mester Gyula
m
2003
Robotmanipulátorok dinamikája
ahol: • J – a rotor és a hajtómű fogaskerekeinek tehetetlenségi nyomatékának nxn dimenziójú mátrixa [kgm2], • Bm – a viszkózus súrlódástényező nxn dimenziójú mátrixa [Nm/s-1], • τ - a robotcsukló terhelőnyomatékának nx1 dimenziós vektora [Nm], • τm - a szervomotor meghajtónyomatékának nx1 dimenziós vektora [Nm].
© Mester Gyula
2003
Robotmanipulátorok dinamikája
Az aktuátor matematikai modelljét felírhatjuk állapotegyenlet alakban is. Válasszuk ki az állapotváltózok 3x1 oszlopdimenziós vektorát: (2.44)
qi x& = q& i i Ri
így a (2.38) és (2.41) relációk felírhatók a következő mátrix alakban [2]: (2.45)
x& i = A i x i + b i N(u i ) + f i τ i
© Mester Gyula
2003
Robotmanipulátorok dinamikája
ahol a: • Ai – 3x3-as rendszermátrix, • bi – 3x1-es bemeneti oszlopvektor, • fi – 3x1-es bemeneti oszlopvektor, • N(ui) – telítés jellegű nemlinearitás, a feszültség ugyanis limitált a következő módon: (2.46)
− u mi N(u i ) = u i u mi © Mester Gyula
2003
za u i ≤ − u mi za − u mi 〉 u i 〈 u mi za
u i ≥ − u mi
Robotmanipulátorok dinamikája
ami tulajdonképpen azt jelenti, hogy a bemenő feszültségamplitúdó nem lépheti át a (2.7) ábra szerinti umi maximális értéket. N(ui) umi
ui -umi 2.7. ábra A szervomotor telítés jellegű nemlinearitása
© Mester Gyula
2003
Robotmanipulátorok dinamikája
•
Az u feszültség a szabályozó jellemző, a feszültség változtatásával tulajdonképpen a robotmanipulátort irányítjuk. • A mátrixokat és az oszlopvektorokat felírhatjuk a következő módon: (2.47) 0 A 1 = 0 0
1 Bm − J cE N − L © Mester Gyula
0 cM N , J R − L 2003
0 b 1 = 0 , 1 L
0 1 f1 = − J 0
Robotmanipulátorok dinamikája
Az aktuátor állapotegyenlet alakban felírt matematikai modellje tehát harmadrendű nemlineáris differenciál-egyenletrendszer, állandó együtthatókkal és telítés jellegű nemlinearitással. Az egyszerűbb modell felállítása céljából elhanyagoljuk: - a rotor induktivitását (L → 0) - a csillapító hatásokat (k → 0) Így az állapotváltozók: q i (2.48) xi =
q& i
© Mester Gyula
2003
Robotmanipulátorok dinamikája
és az aktuátor állapotegyenlete másodrendűvé válik a következő rendszermátrixokkal: (2.49)
0 Ai = 0
0 0 2 c M c E N , b i = c M N 2 , f i = 1 − − JR J R J 1
Megjegyzés: Az elektromechanikus aktuátor állapotegyenlete megfelel a hidraulikus aktuátorok állapotegyenleteinek is, csak a rendszermátrixoknál más fizikai mennyiségekről van szó . © Mester Gyula
2003
Robotmanipulátorok dinamikája
2.3.2 A robotmanipulátor és aktuátorok együttes modellje A robotmanipulátor mechanizmusának (2.38) és az aktuátorok (2.40) és (2.41) dinamikai modelljei alapján felírható a szemlélt rendszer együttes modellje. Az egyszerűbb megoldás céljából elhanyagoljuk a robot induktivitását (L=0) és így kifejezhetjük a rotoráramot: (2.50) i = R −1 (u − c E Nq& )
© Mester Gyula
2003
Robotmanipulátorok dinamikája
•
Behelyettesítve a (2.50) és (2.38) relációkat a (2.43) megkapjuk a robotmanipulátor mechanizmusának és az aktuátorok együttes dinamikai modelljét, amely n számú nemlineáris másodrendű differenciálegyenletekből áll és mátrix alakban a következőképpen írhatjuk fel: (2.51)
[H(q) + J ]q&& + C(q, q& )q& + Bq& + g(q) = τ
© Mester Gyula
2003
Robotmanipulátorok dinamikája
ahol a: (2.52)
B = B m + Nc m R −1 c E N τ = Nc m R −1 u
bevezetve a következő jelöléseket: M(q) = H(q) + J (2.53) h(q, q& ) = C(q, q& )q& + Bq& + g(q) (2.54) a 2.80 egyenletet, vagyis a robotmanipulátor mechanizmusának és az aktuátorok együttes dinamikai modelljét felírhatjuk egyszerűbb alakban: && + h(q, q& ) = τ M(q)q (2.55)
© Mester Gyula
2003
Robotmanipulátorok dinamikája
2.4 Robotmanipulátorok számítógépes dinamikai modellezése
© Mester Gyula
2003
Robotmanipulátorok dinamikája
•
A robotmanipulátor dinamikai modelljének az alkalmazását a számítástechnika gyors fejlődése (mint hardver mint szoftver szempontból) tette lehetővé.
•
A robotmanipulátor dinamikai modelljét felhasználjuk a robotmechanizmus és a robotirányítási rendszerek tervezésénél, valamint az aktuátorok optimális megválasztásánál.
© Mester Gyula
2003
Robotmanipulátorok dinamikája
•
A dinamikai modellezésnél a legkorszerűbb eljárás a szimbolikus modellezési technika használata, itt ugyanis a dinamikai modell magas szintű programnyelvben való generálásával a bemenő változókat szimbolikus váltózóknak tekintjük.
•
A dinamikai modellezésnél az alapfeladat a csuklók (2.38) relációk szerinti meghajtónyomatákainak τ meghatározása (direkt dinamikai feladat).
•
Feltétlenül szükséges tehát a H(q) tehetetlenségi mátrix és a h(q,q& ) vektor meghatározása. © Mester Gyula
2003
Robotmanipulátorok dinamikája
•
A robotmanipulátor kinematikai paramétereit (ai, di, αi, θi, ), a Denavit-Hartenberg eljárás szerint határozzuk meg. A szegmensek dinamikai paramétereit is megadjuk (a szegmensek tömege és tehetetlenségi nyomatéka).
•
A számítógépes program automatikusan generálja a robotmanipulátor dinamikai modelljét és meghatározza a következő mennyiségeket [19]:
© Mester Gyula
2003
Robotmanipulátorok dinamikája
• • • • • • •
homogén transzformációs-mátrix ( direkt kinematikai feladat ), Jacobi-mátrix, robotcsuklók pozíciója, robotcsuklók meghajtónyomatékai, a Coriolis és centrifugális nyomatékok vektora, a gravitációs erővektor, & ) vektor. h(q, q © Mester Gyula
2003
Robotmanipulátorok dinamikája
•
A robotmanipulátor struktúráját egyszerűen tudjuk változtatni, a bemenő robotmanipulátor adatok változásával, az eljárás többi része automatikus, egészen a meghajtónyomatékok meghatározásáig. Persze szükségünk van eléggé általános számítási algoritmusra.
•
A direkt dinamikai feladat – csuklónyomatékok meghatározásának az algoritmusát a következő ábrán mutatjuk be:
© Mester Gyula
2003
Robotmanipulátorok dinamikája
START
Bemenet A robotmanipulátor kinematikai és dinamikai paramétereinek megadása
H(q) tehetetlenségi mátrix meghatározása
h(q,q) vektor meghatározása Coriolis, centrifugális és gravitációs hatások
t meghajtónyomaték meghatározása
Kimenet
2.8.ábra A direkt dinamikai feladat megoldásának algoritmusa © Mester Gyula
2003
END
Robotmanipulátorok dinamikája
•
A szimbolikus módszer segítségével két programot generálunk:
•
off-line programot – a nyomatékok, tömegek, és tehetetlenségi tenzorok átszámítására leképzéssel, a szegmensek tömegközéppontjából a lokális koordinátarendszerekre a DenavitHartenberg konvenció szerint,
•
on-line programot, a Newton-Euler eljárás szerint, a csuklókoordináták és deriváltjaik felhasználásával a meghajtónyomatékok/erők meghatározására. © Mester Gyula
2003
Robotmanipulátorok dinamikája
•
Az off-line program az inicializáció alatt csak egyszer végzi el a számításokat, így az on-line programfutatás időtartalma lecsökken.
•
A dinamikai modell számítógépes generálására a világon több szoftvercsomagot fejlesztettek ki.
© Mester Gyula
2003
Robotmanipulátorok dinamikája
Robotmanipulátorok szabad mozgásának hagyományos irányányítása Bevezetés
Decentralizált PD robotirányítás Modellreferens dinamikus robotirányítás A kiszámított nyomatékok módszere A dinamikus irányítás tervezése © Mester Gyula
2003
Hagyományos robotirányítás
3.1. Bevezetés •
•
Ebben a fejezetben a robotmanipulátor szabad, kényszerek nélküli, mozgásirányítását tárgyaljuk. Ez esetben a robotmanipulátor effektora a munkadarabbal szabadon halad a célpont felé, és nem vesszük figyelembe azt az esetet, amikor a célponthoz érve kontaktusba kerül a környezettel (mert ez már kényszermozgás). © Mester Gyula
2003
Hagyományos robotirányítás
•
•
Így tehát a robotmanipulátor szabad mozgásának a pályakövetési feladatával foglalkozunk (tracking control) és nem vesszük figyelembe a irányítás megvalósítása szempontjából fontos teljesítményelektronikát [5]. Az ipari robotok irányítási feladatát elvileg három hierarchikus szinten oldhatjuk meg:
© Mester Gyula
2003
Hagyományos robotirányítás
• •
•
Stratégiai szint - feladata az effektor pályatervezése s világkoordinátákban. Taktikai szint - feladata a csuklókoordináták meghatározására világkoordináták ismeretében – koordinátatranszformáció (az inverz kinematikai feladat megoldása). Végrehajtó szint irányítási feladata a robotcsuklók pozícionálásának a megvalósítása. (az inverz kinematikai feladat megoldása után). © Mester Gyula
2003
Hagyományos robotirányítás
A robotmanipulátorok legalább végrehajtó szintű irányítással rendelkeznek (irányítás csuklókoordinátákban), a többségük pedig taktikai szinttel is (csuklókoordináták meghatározására világkoordináták ismeretében), a fejlődés pedig arra mutat, hogy a cél a stratégiai szint bevezetése.
© Mester Gyula
2003
Hagyományos robotirányítás
Az elvégzendő feladattól függően az operátor (robotkezelő) a megfelelő programozási nyelv segítségével kommunikál az irányítási rendszerrel, meghatározza a manipulációs feladatot, és a stratégiai szinten ekkor megtervezi az effektor mozgását világkoordinátákban. Ez megoldható a: feladat elvégzése előtt (off-line), vagy a: feladat elvégzése közben (on-line).
© Mester Gyula
2003
Hagyományos robotirányítás
A világ- és csuklókoordináták és deriváltjaik közötti ismert összefüggés (a direkt kinematikai feladat): (3.1) s = f (q ) d
d
s& d = Jq& d ahol a:
&s&d = Jq && d + J& q& d J = J (q d ) Jacobi-féle mátrix – az f (q d )
függvény parciális deriváltja, amely összeköti az s világkoordináták deriváltjait a q csuklókoordináták deriváltjaival. © Mester Gyula
2003
Hagyományos robotirányítás
•
A taktikai irányítási szint, a robotmanipulátor inverz kinematikai modellje alapján a referens világkoordinátákat átszámítja referens csuklókoordinátákká : (3.2)
−1
q d = f (s d ) q& d = J −1s& d &q& d = J −1 (&s& − J& q& d )
A robotmanipulátor irányítás hierarchikus blokkvázlata a 3.1. ábrán látható: © Mester Gyula
2003
Hagyományos robotirányítás
s& d &s&d
qd
f J −1 J −1 J&
q& d &&d q
Végrehajtó irányítás
Direkt dinamikai feladat
sd
Taktikai irányítás
Inverz kinematika
Pályatervezés
Stratégiai irányítás
Robotmanipulátor
τ
q q&
&& q
Visszacsatolás
3.1. ábra A robotirányítás hierarchikus blokkvázlata
© Mester Gyula
2003
Hagyományos robotirányítás
A végrehajtó szintű irányítás az érzékelők adatai alapján: • a robotcsukló pozíciója, • szögsebessége és • szöggyorsulása realizálja a pályakövetést (a feladatot a taktikai szinttől kapja), és egyben megvalósul az effektor pályakövetése is, vagyis az operátor részéről meghatározott feladat.
© Mester Gyula
2003
Hagyományos robotirányítás
•
•
Az ipari robotmanipulátorok használatánál a robotcsuklók szimultán mozgása közben nemcsak a pont-pont effektorirányítást követeljük meg (A feladat), hanem a kontinuális pályakövetést is (B feladat). Persze a B feladat sokkal összetettebb az A feladatnál. Vizsgáljuk a továbbiakban a robotirányítást végrehajtó szinten.
© Mester Gyula
2003
Hagyományos robotirányítás
3.2. DECENTRALIZÁLT PD ROBOTIRÁNYÍTÁS A robotmanipulátorok hagyományos irányítása magába foglalja a decentralizált PD irányítást, vagyis visszacsatolásos szervoirányítást (feedback control), ahol az érzékelők adatai alapján, a csuklók pillanatnyi pozíciójáról és szögsebességéről minden aktuátorra különkülön PD szabályozót alkalmazunk. © Mester Gyula
2003
Hagyományos robotirányítás
Tehát a decentralizált PD irányítást csuklókoordinátákban valósítjuk meg:
τ = k p (q d − q) + k v (q& d − q& ) (3.3) ahol: • τ a meghajtó csuklónyomatékok vektora, • kp a pozícióerősítés diagonális mátrixa, • kv a sebességerősítés diagonális mátrixa, • qd a tervezett (desired) csuklókoordináták vektora, • q a valós – mért csuklókoordináták vektora, • a tervezett (desired) csuklósebességek vektora, q& • a valós – mért csuklósebességek vektora. © Mester Gyula
2003
Hagyományos robotirányítás
A robotmanipulátor decentralizált PD irányításának blokkvázlata a 3.2. ábrán látható:
qd
+
-
kp(qd-q) kp q
Robot
+ q& d
+
-
kv
q, q& ,
&& q
τ = k p (qd − q) + k v (q& d − q& )
q&
k v(q& d -q& )
3.2. ábra A robotirányítás decentralizált PD irányításának blokkvázlata
© Mester Gyula
2003
Hagyományos robotirányítás
A decentralizált szervoirányítás működése leolvasható a 3.2. ábráról. Az érzékelő megadja a qi csuklópozíció és sebesség pillanatnyi valós értékeit, ezeket az ábra szerint visszacsatoljuk, és a csuklópozíció qd és sebesség tervezett (desired) értékeivel összehasonlítva a különbséget kp pozícióerősítéssel és kv sebességerősítéssel megszorozva kialakítjuk a meghajtó csuklónyomatékot τ.
© Mester Gyula
2003
Hagyományos robotirányítás
•
A robotmanipulátor decentralizált PD irányításának két lényeges hátránya van: a. A robotmanipulátor decentralizált PD irányítása csak egyszerűbb kinematikai struktúráknál és kisebb sebességeknél alkalmazható, nem ad elfogadható pályakövetési eredményeket a korszerű robotmanipulátoroknál, melyeknél a dinamikai csatolások, munkasebességek és a pontossági követelmények kifejezettek. Ezek az összetettebb feladatok dinamikus irányítási eljárások alkalmazásával oldhatók meg.
© Mester Gyula
2003
Hagyományos robotirányítás
b. A robotmanipulátor részvétele a technológiai folyamatokban igényli az effektor helyzetének (pozíció + orientáció) világkoordinátákban való megadását, az irányítási rendszer pedig ezután automatikusan átszámolja a megfelelő csuklókoordinátákat. A korszerű robotmanipulátorok irányítási rendszerei lehetővé teszik az effektor világkoordinátáinak közvetlen megadását és a világkoordináták transzformálását csuklókoordinátákba.
© Mester Gyula
2003
Hagyományos robotirányítás
3.3. MODELLREFERENS DINAMIKUS ROBOTIRÁNYÍTÁS
• •
Azokat az irányítási eljárásokat, amelyek a robotmanipulátorok irányításánál figyelembe veszik a: dinamikai csatolásokat és a nagy sebességi és pontossági követelményeket dinamikus robotirányításoknak nevezzük.
© Mester Gyula
2003
Hagyományos robotirányítás
A modellreferens dinamikus irányítás (feedforward control) figyelembe veszi: •
a robotmanipulátor dinamikáját, a szemlélt rendszer komplett dinamikai modelljét számítva, figyelembe véve a tervezett csuklókoordinátákat, és
•
a robotmanipulátor decentralizált PD szervoirányítását.
© Mester Gyula
2003
Hagyományos robotirányítás
•
A tervezett (desired) csuklókoordinátákból qdi deriválással kiszámítjuk a robotcsuklók tervezett sebességeit és gyorsulásait . Így a robotrendszer dinamikájának modellje alapján (2.67) meghatározzuk a tervezett (referensnominális) meghajtónyomatékokat τd, melyeket meg kell valósítani a robotcsuklókon, hogy a csuklók a tervezett (nem valós) pálya szerint mozogjanak:
(3.4)
&& d ) = H (q d )q && d + h(q d , q& d ) τ d (q d , q& d , q © Mester Gyula
2003
Hagyományos robotirányítás
•
A referens meghajtónyomaték τd, a csuklók szimultán mozgásának dinamikai nyomatéka, magába foglalja a robotcsuklók dinamikai csatolását és kompenzálja a szemlélt robotmanipulátor dinamikáját (amely a csuklókoordináták, sebességek és gyorsulások rendkívül összetett függvénye), de csak a tervezett – referens pálya mentén. Nagyon fontos megjegyezni, hogy a modellreferens dinamikus robotirányítás alkalmazásával a robotcsuklók közötti valós dinamikai csatolás nincs kompenzálva!
© Mester Gyula
2003
Hagyományos robotirányítás
A fenti megállapítások alapján a modellreferens dinamikus robotirányítás meghajtónyomatéka a következőképpen írható fel: (3.5) && d ) + k p (q d − q) + k v (q& d − q& ) τ = τ d (q d , q& d , q ahol: τ - meghajtó csuklónyomatékok vektora, τd - tervezett (referens-nominális) modellreferens meghajtónyoma-tékok vektora, melyet a robot dinamikai modellje és a tervezett (nem valós) koordináták és deriváltjaik szerint számítunk, kp - a pozícióerősítés diagonális mátrixa, kv - a sebességerősítés diagonális mátrixa, © Mester Gyula
2003
Hagyományos robotirányítás
qd - a tervezett (desired) csuklókoordináták vektora, q - a valós (mért) csuklókoordináták vektora, q& d - a tervezett (desired) csuklósebességek vektora, q& - a valós (mért) csuklósebességek vektora. A robotmanipulátor modellreferens dinamikus végrehajtó szintű irányításának blokkvázlata a 3.3. ábrán látható: © Mester Gyula
2003
Hagyományos robotirányítás
+
qd
kp
kp(qd-q) q
&&d q
&&d ) τd = τd (q d ,q& d , q
Robot
+
&&d q d , q& d , q
q& d
+
τ
Robot && q, q& , q q&
kv
k v(q& d -q& )
-
3.3. ábra A robotirányítás modellreferens dinamikus végrehajtó szintű irányításának blokkvázlata
© Mester Gyula
2003
Hagyományos robotirányítás
•
A modellreferens dinamikus végrehajtó szintű irányítás működése leolvasható a 3.3. ábráról. A tervezett (referens-nominális) modellreferens meghajtónyomatékot τd, melyet a robot dinamikai modellje és a tervezett (nem valós) koordináták és deriváltjaik szerint számítunk, összeadjuk a decentralizált PD szabályzó meghajtónyomatékával.
•
A robotmanipulátor modellreferens dinamikus stratégiai/taktikai szintű irányítása megköveteli az inverz kinematikai feladat megoldását, és a blokkvázlata a 3.4. ábrán látható:
© Mester Gyula
2003
Hagyományos robotirányítás
Taktikai irányítás
Stratégiai irányítás
&s&d
s& d
+
qd
f
Inverz kinematika
Pályatervezés
sd
kp
kp(qd-q) q
&&d q
J-1, J
Robot
&&d ) τd = τd (q d ,q& d , q
+
&&d qd , q& d , q J-1
q& d
+
τ
Robot && q, q& , q q&
kv
k v(q& d -q& )
-
3.4. ábra A robotirányítás modellreferens dinamikus stratégiai/taktikai szintű irányításának blokkvázlata
© Mester Gyula
2003
Hagyományos robotirányítás
• •
A robotirányítás modellreferens dinamikus irányítása megköveteli: a robotmanipulátor paramétereinek pontos ismeretét, ami persze nem mindig lehetséges, így a modellreferens dinamikus irányítás alkalmazása még a robotcsuklók referens dinamikai csatolások kompenzációjánál sem eléggé hatásos.
© Mester Gyula
2003
Hagyományos robotirányítás
•
hogy on-line számítsuk a robotmanipulátor komplett dinamikáját a tervezett (referens) koordinátákkal számítva, amely feladat összetett struktúrájú robotmanipulátor esetében időigényes, az off-line számításoknál pedig (a robotmanipulátor előre ismert mozgására) szükség van nagy kapacitású adattárolóegységre.
© Mester Gyula
2003
Hagyományos robotirányítás
3.4. A KISZÁMÍTOTT NYOMATÉKOK MÓDSZERE A kiszámított nyomatékok módszere (computed torque control) a dinamikus robotirányítás másik elterjedt eljárása, a meghajtó robotcsuklónyomatékok on-line számításán alapszik a következő reláció szerint: * & & τ = H ( q ) q + h(q, q& ) (3.6) • ahol a robotcsukló gyorsulásának a vektora: && * = q && d + k p (q d − q) + k v (q& d − q& ) (3.7) q
© Mester Gyula
2003
Hagyományos robotirányítás
ahol: • H(q) nxn dimenziós tehetetlenségi mátrix, amely a robotmanipulátor valós csuklókoordinátáinak (q) a függvénye, • h(q,) a centrifugális, Coriolis-féle és gravitációs nyomatékok vektora, amely a valós csuklókoordinátáinak q és sebességeinek a függvénye, • kp- a pozícióerősítés diagonális mátrixa, • kv - a sebességerősítés diagonális mátrixa, • qd - a tervezett (desired) csuklókoordináták vektora, • qa - valós (mért) csuklókoordináták vektora, • q& d - a tervezett (desired) csuklósebességek vektora, q& - a valós (mért) csuklósebességek vektora. • && d - a tervezett (desired) csuklógyorsulások vektora q • © Mester Gyula
2003
Hagyományos robotirányítás
•
Az eljárásnak az alapötlete a robotmanipulátor dinamikai modelljének a közvetlen beiktatása az robotirányítás törvényébe (3.6). A kiszámított nyomatékok módszerénél, a robotirányítási rendszer az érzékelőkről kapott adatok alapján, amelyek a valós csuklókoordinátákra q és sebességekre vonatkoznak, kiszámítja a H(q) mátrixot és h(q,) vektort, valamint a (3.6) irányítási törvény szerint a meghajtó csuklónyomatékot.
© Mester Gyula
2003
Hagyományos robotirányítás
•
A kiszámított nyomatékok módszere (a merev robotmanipulátor esetében) biztosítja a Coriolisféle, centrifugális és a gravitációs nyomatékok kompenzálását, a visszacsatolás erősítései a robotmanipulátor mozgása közben, közvetlenül változnak a tehetetlenségi mátrix H(q) változásával, a tervezett pályák menti késések kompenzálása miatt, a tervezett - referens csuklógyorsulással , az irányítási törvénybe bevittünk egy előkompenzációs jelet.
© Mester Gyula
2003
Hagyományos robotirányítás
•
A robotmanipulátor a kiszámított nyomatékok módszerének irányítási blokkvázlata a 3.5. ábrán látható: qd
+
kp
kp(qd-q) q
&&d q
q& d
+ +
&& * q
τ
Robot && * q, q& , q
Robot && q, q& , q q&
kv
k v(q& d -q& )
3.5. ábra A kiszámított nyomatékok végrehajtó szintű irányításának blokkvázlata
© Mester Gyula
2003
Hagyományos robotirányítás
•
A kiszámított nyomatékok dinamikus stratégiai/taktikai szintű irányítása ugyancsak megköveteli az inverz kinematikai feladat megoldását. Blokkvázlata a 3.6. ábrán látható.
•
A kiszámított nyomatékok irányítási módszere megköveteli a robotmanipulátor paramétereinek pontos ismeretét, ami persze nem mindig lehetséges, mivel mindig léteznek struktúrális és nemstruktúrális határozatlanságok, vagyis nem modellezett robotdinamikai hatások (pl. rugalmasság) és hogy online számítjuk a robotmanipulátor komplett dinamikáját a tervezett (referens) koordináták figyelembevételével.
© Mester Gyula
2003
Hagyományos robotirányítás
•
Az ilyen feladat összetett struktúrájú robot esetében igen időigényes, az off-line számításoknál pedig (a robotmanipulátor előre ismert mozgására) szükség van nagy kapacitású adattárolóegységre. Taktikai irányítás
Stratégiai irányítás
&s&d
s& d
f
Inverz kinematika
Pályatervezés
sd
qd
+
kp
kp(qd-q) q
J-1, J
J-1
&&d q
q& d
+ +
&& * q
Robot && * q, q& , q
τ
Robot && q, q& , q q&
kv
k v(q& d -q& )
3.6. ábra A kiszámított nyomatékok stratégiai/taktikai szintű irányításának blokkvázlata
© Mester Gyula
2003
Hagyományos robotirányítás
Robotmanipulátorok adaptív pozícióirányítása Kétcsuklós rugalmas robotmanipulátor adaptív pozícióirányítása
© Mester Gyula
2003
Adaptív robotirányítás
4.1. Robotmanipulátorok adaptív pozícióirányítása 4.1.1. Bevezetés 4.1.2. Merev robotmanipulátorok önhangoló adaptív pozícióirányítása csuklókoordinátákban 4.1.3. Stabilitásvizsgálat
© Mester Gyula
2003
Adaptív robotirányítás
4.1.1. Bevezetés A robotmanipulátorok pályakövetési feladatainál a hagyományos dinamikus irányítástörvények tehát két csoportra oszthatók [14]: • •
modellreferens dinamikus robotirányítás kiszámított nyomatékok módszere
© Mester Gyula
2003
Adaptív robotirányítás
Az első módszer a modellreferens dinamikus robotirányítás (feedforward control) amely figyelembe veszi a szemlélt rendszer tervezett csuklókoordinátáival (desired) számított komplett dinamikai modelljét és a robotmanipulátor decentralizált (3.5) PD szervoirányítását (feedback control). A referens meghajtónyomaték τd, a csuklók szimultán mozgásának dinamikai nyomatéka, magába foglalja a robotcsuklók dinamikai csatolását és kompenzálja a szemlélt robotmanipulátor dinamikáját de csak a tervezett – referens pálya mentén. A modellreferens dinamikus robotirányítás alkalmazásával, a robotcsuklók közötti valós dinamikai csatolás nincs kompenzálva! © Mester Gyula
2003
Adaptív robotirányítás
A második módszer a kiszámított nyomatékok módszere (computed torque control), amely a csuklónyomatékok on-line számításán alapszik. A kiszámított nyomatékok módszerénél, a robotirányítási rendszer az érzékelőkről kapott adatok alapján, amelyek a valós csuklókoordinátákra q és sebességekre vonatkoznak, kiszámítja a H(q) mátrixot és h(q,) vektort, valamint a (3.6) irányítási törvény szerint a meghajtó csuklónyomatékot. © Mester Gyula
2003
Adaptív robotirányítás
A visszacsatolás erősítései a robotmanipulátor mozgása közben, közvetlenül változnak a tehetetlenségi mátrix H(q) változásával. A tervezett pályák menti késések kompenzálása miatt, az irányítási törvénybe a tervezett – referens csuklógyorsulással , bevittünk egy előkompenzációs jelet. A kiszámított nyomatékok módszere (a merev robotmanipulátor esetében) biztosítja a Coriolisféle, centrifugális és gravitációs nyomatékok kompenzálását. © Mester Gyula
2003
Adaptív robotirányítás
A modellreferens dinamikus robotirányítás és a kiszámított nyomatékok irányítási módszere: • csak a merev robotstrukturára vonatkozik, • megköveteli a robotmanipulátor matematikai modelljének és a • robotmanipulátor paramétereinek pontos ismeretét, ami persze nem mindig lehetséges, mivel mindig léteznek struktúrális és nem struktúrális határozatlanságok, vagyis nem modellezett robotdinamikai hatások (pl. rugalmasság), © Mester Gyula
2003
Adaptív robotirányítás
•
hogy on-line számítjuk a robotmanipulátor komplett dinamikáját a tervezett (referens) koordináták figyelembevételével. Az ilyen feladat összetett struktúrájú robotmanipulátor esetében igen időigényes, az off-line számításoknál pedig (a robotmanipulátor előre ismert mozgására) szükség van nagy kapacitású adattárolóegységre.
© Mester Gyula
2003
Adaptív robotirányítás
A hagyományos robotirányítások problémái nagy részben kiküszöbölhetők adaptív irányítástechnika bevezetésével, amely két fő csoportra osztható: • Modellreferenciás és • Önhangoló adaptív irányításra. Az adaptív irányítási algoritmusok alkalmazásánál: • nincs szükség a robotparaméterek ismeretére, • viszont ismernünk kell a • robotmanipulátor matematikai modelljét.
© Mester Gyula
2003
Adaptív robotirányítás
Az adaptív koncepció különböző módon alkalmazható a robotmanipulátorok irányításánál és ma is attraktív kutatási terület jelent [1] – [6]. Az adaptív robotirányítási kutatások 1980-as évek óta aktuálisak. Az adaptív eljárások fejlesztésének figyelemre méltó eredményeit a következő szerzők publikációi prezentálják: Slotine & Li [1], [2], és [3], Seraji, [4] Niemeyer and Slotine [5], Dessaint et al. [16], Craig. [17], Lantos [18], Mester[15] [26]. Rugalmas csuklójú robotmanipulátorok adaptív irányításával a következő publikációk foglalkoznak: [ 6 ], [ 13 ], [ 15] és [26]. © Mester Gyula
2003
Adaptív robotirányítás
4.1.2. Merev robotmanipulátorok önhangoló adaptív pozícióirányítása csuklókoordinátákban Írjuk fel tehát a merev robotmanipulátor matematikai modelljét: (4.1)
&& + C(q, q& ) q& + g(q) = τ H(q) q
Arimoto szerint (1985.), a merev robot matematikai modellje felírható a következő módosított alakban: (4.2)
&& r ) p = τ Y(q, q& , q& r , q © Mester Gyula
2003
Adaptív robotirányítás
ahol a: && r )- regreszor mátrix amely a merev Y(q, q& , q& r , q • robotmodell alapján írható fel, • p – az ismeretlen robotparaméterek (a geometriai, tömeg- és tehetetlenségi nyomatékok kiválasztott szorzatösszegei) m dimenziós oszlopvektora, q& r - "referens sebesség": • q& r = q& d − Λ(q − q d ) • (4.3) && r = q && d − Λ(q& − q& d ) q © Mester Gyula
2003
Adaptív robotirányítás
Jelöljük: s = q& − q& r • (4.4) • Az adaptív irányítási törvényt a következő módon írjuk fel: ˆ (q, q& )q& + gˆ (q) − k s ˆ (q)q • (4.5) && r + C τ=H r D • ahol a: • pˆ - becsült paraméterek vektora, • (4.6) ˆ (q) q && r ) pˆ = H && r + Cˆ (q, q& ) q& r + gˆ (q) Y(q, q& , q& r , q
Az ajánlott adaptív csuklókoordinátás merev robotmanipulátor pozícióirányítási blokkvázlata a 4.1. ábrán látható: © Mester Gyula
2003
Adaptív robotirányítás
z q& && d q d , q& d , q
q& r = q& d − Λ(q − q d ) && r = q && d − Λ(q& − q& d ) q
&& r q& r , q
r
−+
k
D
pˆ && r )pˆ Y(q, q& , q && r )(q& − q& r ) p&ˆ = − ΓY T (q, q& , q
q&
l2
l1
−
+
q
q, q&
ROBOT q q&
m
m
4.1. ábra. Adaptív merev robotmanipulátor pozícióirányításának blokkvázlata.
© Mester Gyula
2003
Adaptív robotirányítás
•
A Hˆ (q), Cˆ (q, q& ), gˆ (q) mátrixokat és vektorokat a H(q), C(q, q& ), g(q) mátrixokból és vektorokból kapjuk, ha az ismeretlen p paramétervektort a paraméter-becslési adaptációs törvény alapján kiszámított pˆ vektorral helyettesítjük.
A regreszor mátrix felírásánál csak a referens && d kell ismernünk, nem gyorsulás vektorát q && ! pedig a valós gyorsulás vektorát q
© Mester Gyula
2003
Adaptív robotirányítás
4.1.3. Stabilitásvizsgálat Válasszuk a stabilitásvizsgálathoz megfelelő Ljapunov-függvény következő alakját:
[
]
1 T ~ T Γ −1 p ~ V(t) = s Hs + p 2 Ahol a: Γ – szimmetrikus, pozitív definit erősítési átlós mátrix. ~ p = pˆ − p (4.8)
(4.7)
© Mester Gyula
2003
Adaptív robotirányítás
Írjuk fel a Ljapunov-függvény idő szerinti deriváltját: z l2
(4.9)
[
]
1 T& T ~ T Γ −1 p ~& & V(t) = s Hs& + s Hs + p l1 2
&& tagot a (4.1) szerint: Fejezzük ki a H q (4.10)
q
&& = τ − Cq& − g Hq
A (4.4) alapján felírható: (4.11) && − q && r ) Hs& = H(q © Mester Gyula
2003
Adaptív robotirányítás
l2 a (4.11) kifejezésbe behelyettesítjük az (4.10):
(4.12)
l1
&& r Hs& = τ − Cq& − g − Hq
q
és a (4.12) kifejezést behelyettesítjük a (4.9): (4.13) 1 T& T ~ T Γ −1 p ~& & & & & V(t) = s [τ - Cq − g − Hq r ] + s H(q)s + p 2
[
© Mester Gyula
2003
]
Adaptív robotirányítás
Helyettesítjük a (4.13) relációban a τ helyett a (4.5) z l2 irányítástörvényt és későbbi átrendezések miatt egészítsük ki a jobb oldalt taggal:l1 (4.14)
[
] [
]
1q T & T −1~ ~ & ˆ q& + gˆ − k s + Cq& − Cq& − Cq& − g − Hq ˆq & ( t ) = sT H &&r + C & & V + s H s + p Γ p r D r r r 2
Rendezzük át a (4.14) a következőképpen: (4.15)
[
] [
]
~ T Γ −1 p ~& ˆ q& − Cq& + gˆ − k s + Cq& − Cq& − g + 1 s T H & (t) = s T H ˆq &s +p && r − Hq && r + C V r r D r 2
© Mester Gyula
2003
Adaptív robotirányítás
Bevezetve a következő jelöléseket: ~ ˆ (4.16) H = H−H ~ ˆ C = C−C ~ g = gˆ − g a (4.17) felírható: (4.18)
[
] [
]
1 T& ~ T ~ ~ ~ T Γ −1 p ~& & & & & V(t) = s Hq r + Cq r + g − k D s + Cs + s H(q)s + p 2
Figyelembe véve, hogy: (4.19) ~ ~ ~ && r + Cq& r + ~ Y p = Hq g © Mester Gyula
2003
Adaptív robotirányítás
(4.20)
[
]
~ − k s] − s T Cs + 1 s T H ~ T Γ −1 p ~& & ( t ) = s T [Yp & (q)s + p V D 2
Rendezzük tovább a fenti kifejezést: (4.21) 1 T T ~ & ( t ) = s [Yp − k s ] + V D
2
[
]
~ T Γ −1 p ~& & − 2C s + p s H
Mivel a kifejezés nulla, a (4.21 reláció egyszerűsödik: (4.22) T T ~ ~T &
~& V ( t ) = −s k D s + s Yp + p Γ p −1
További rendezés után: T T −1 ~ T ~ & & (4.23) V( t ) = −s k D s + p Γ p + + Y s
(
© Mester Gyula
2003
)
Adaptív robotirányítás
Mivel a valós p paraméterek az adaptációs folyamat alatt nem változnak, válasszuk az adaptációs törvényt: (4.24) && r )s p&ˆ = − ΓY T (q, q& , q& r , q
ahonnan következik, hogy: (4.25) T
& = −s k s ≤ 0 V D
tehát a rendszer stabil.
© Mester Gyula
2003
Adaptív robotirányítás
4.2. Kétcsuklós rugalmas robotmanipulátor adaptív pozícióirányítása 4.2.1. Bevezetés 4.2.2. Rugalmas csuklójú-merev szegmensű robotmanipulátor dinamikai modellje 4.2.3. Rugalmas csuklójú-merev szegmensű robotmanipulátor önhangoló adaptív pozícióirányítása csuklókoordinátákban 4.2.4. Az adaptív irányító hardver megoldása 4.2.5. Szimulációs eredmények I eset: A Slotine&Lee adaptív merev robotirányító alkalmazása II eset: A módosított Slotine&Lee adaptív rugalmas robotirányító alkalmazása III eset
© Mester Gyula
2003
Adaptív robotirányítás
4.2.1 Bevezetés Robotmanipulátorok rugalmassága adódik: – a robotcsuklók rugalmasságtól és – a robotmechanizmus szegmenseinek a rugalmasságtól. A robotmanipulátorok csuklórugalmassága a mechanikai rezgések, ezáltal a pontatlan pályakövetés fő forrása.
© Mester Gyula
2003
Adaptív robotirányítás
A robotkutatási eredmények szerint, ha az irányítási törvény nem kompenzálja a csuklórugalmasságot, akkor az ilyen irányítástörvény alkalmazása a valós ipari robotmanipulátorra instabil viselkedést okozhat. Tehát, az irányítási algoritmusnak nemcsak az a feladata, hogy a robotmanipulátor struktúrájának nemlineáris viselkedését és a teher tömegének és tehetetlenségi nyomatékának az állandó változását kompenzálja, hanem a rugalmas csuklók rezonanciális effektusait is szükséges kompenzálni. © Mester Gyula
2003
Adaptív robotirányítás
E fejezetben két rugalmas csuklójú négyszabadságfokú robotmanipulátor adaptív pozícióirányítását tárgyaljuk [15], Slotine & Li által publikált irányítási algoritmus módosítása alapján. Az adaptív irányítási törvény három részből áll: • az első rész robotmodellen alapuló dinamikus irányítási tag (feedforward control), • a második rész decentralizált PD szervoirányítás (feedback control), • a harmadik rész a csuklórugalmasság kompenzálására szolgál. © Mester Gyula
2003
Adaptív robotirányítás
A továbbiakban felírjuk a rugalmas csuklójú robotmanipulátor dinamikai modelljét, majd bemutatjuk az adaptív pozícióirányítási algoritmust csuklókoordinátákban. Az irányítási törvény hatásosságát kétszabadságfokú SCARA típusú rugalmas robotmanipulátor szimulációs eredményei bizonyítják.
© Mester Gyula
2003
Adaptív robotirányítás
4.2.2. Rugalmas csuklójú merev szegmensű robotmanipulátor dinamikai modellje Vizsgáljunk egy: • rugalmas csuklójú, • merev szegmensű, • 2n szabadságfokú robotmanipulátort (4.1. ábra) állandó szinkronmotoros meghajtással [10]. © Mester Gyula
2003
mágnesű
Adaptív robotirányítás
4.1. ábra Rugalmas csuklójú-merev szegmensű robotmanipulátor.
© Mester Gyula
2003
Adaptív robotirányítás
A robotmanipulátor dinamikai modellje mátrix alakban felirható a következő módon: (4.26.a) −1 & & & & & H(q)q + C(q, q)q + Vq + g(q) = c(t)(N q m − q) (4.26.b)
&& m + k am q& m + N −1 c(t)(N −1 q m − q) = τ m J mq ahol a:
© Mester Gyula
2003
Adaptív robotirányítás
• • • • •
q€Rn – csuklókoordináták nx1 dimenziós oszlopvektora, qm€Rn - szervomotor koordináták nx1 dimenziós oszlopvektora, H(q) – szimmetrikus és pozitív definit nxn dimenziós tehetetlenségi mátrix, Jm – szervomotor rotorjainak nxn dimenziós tehetetlenségi mátrixa, C(q, q& ) q& - a Coriolis-féle és centrifugális hatások nx1 dimenziós oszlopvektora,
© Mester Gyula
2003
Adaptív robotirányítás
• • • • • •
V – viszkózus csillapítás nx1 dimenziós oszlopvektora, g(q) – a gravitációs hatások nx1 dimenziós oszlopvektora, kam – a szervomotor csillapítási tényezőinek nxn dimenziós átlós mátrixa, c(t) – a hajtómű változó merevségének nxn dimenziós átlós mátrixa, N – a hajtómű áttételének nxn dimenziós átlós mátrixa, τm – a meghajtónyomaték nx1 dimenziós oszlopvektora. © Mester Gyula
2003
Adaptív robotirányítás
A (4.26.a) mátrixegyenletnek a bal oldala leírja a merev robot dinamikáját. Ebben az egyenletben a rugalmas csukló nyomatéka tulajdonképpen a merev robot meghajtó nyomatéka. A (4.26.b) mátrixegyenlet a szervomotor dinamikáját írja le. Ebben az egyenletben a rugalmas csukló nyomatéka a szervomotor terhelő nyomatékával egyenlő.
© Mester Gyula
2003
Adaptív robotirányítás
4.2.3. Rugalmas csuklójú merev szegmensű robotmanipulátor önhangoló adaptív pozícióirányítása csuklókoordinátákban A rugalmas csuklójú robotmanipulátor önhangoló adaptív pozícióirányításánál csuklókoordinátákban ismerni kell a merev robot matematikai modelljét, viszont a robotparaméterek ismeretére nincs szükség
© Mester Gyula
2003
Adaptív robotirányítás
Írjuk fel tehát a merev robotmanipulátor matematikai modelljét: &&+h(q,)= τ (4.27) H(q) q Arimoto szerint (1985.) a merev robot matematikai modellje felírható a következő módosított alakban: && r )p=τ (4.28) Y(q, q& , q& r , q ahol a: && r ) - regreszor mátrix amely a merev • Y(q, q& , q& r , q robotmodell alapján írható fel, • p – az ismeretlen robotparaméterek (a geometriai, tömeg- és tehetetlenségi nyomatékok kiválasztott szorzatösszegei) m dimenziós oszlopvektora, © Mester Gyula
2003
Adaptív robotirányítás
A rugalmas csuklójú robotmanipulátor önhangoló adaptív pozícióirányításánál csuklókoordinátákban írjuk fel az irányítási törvényt a módosított Slotine & Li eljárás szerint a következő alakban: (4.29)
τ = τ FF + τ PD + τ e
A (4.29) adaptív irányítási törvény tehát három részből áll:
© Mester Gyula
2003
Adaptív robotirányítás
•
az első rész adaptív jellegű merev robotmodellen alapuló dinamikus irányítási tag (feedforward control): z l2 & & & & ˆ τ FF = Y(q, q, q r , q r )p
•
l1 szervorányítás a második rész decentralizált PD (feedback control): q τ PD = −k D (q& − q& r ) = k D (q& d − q& ) + k D λ(q d − q)
•
a harmadik rész a szervomotor rotorjának és a csukló szögsebességétől függő lineáris korrekciós rész amely a csuklórugalmasság kompenzálására szolgál [15]: τ e = −k e (q& − N −1q& m ) © Mester Gyula
2003
Adaptív robotirányítás
z
l2
Az adaptív irányítási törvény tehát a következő formájú: l1 (4.30) q
−1 & & & & ˆ & & & τ = Y(q, q, q r , q r )p − k D (q − q r ) − k e (q − N q& m )
© Mester Gyula
2003
Adaptív robotirányítás
ahol a: ˆ - becsült paraméter vektor, z l2 • p ˆ (q) q • Y(q, q& , q& r , q && r ) pˆ = H && r + Cˆ (q, & & ˆ l1 q ) q r + g (q) q
& r - "referens sebesség": • q (4.31) q& r = q& d − Λ(q − q d ) && r = q && d − Λ(q& − q& d ) q
© Mester Gyula
2003
Adaptív robotirányítás
Írjuk fel a paraméterbecslés on-line működő adaptációs törvényét a következő módon: (4.32)
&pˆ = − ΓY T (q, q& , q& , q && r )(q& − q& r ) r
© Mester Gyula
2003
Adaptív robotirányítás
ahol a: • Γ=diag(g1, g2, g3 ) – szimmetrikus, pozitív definit erősítési átlós mátrix, • qd, q& d- tervezett (referens) csuklókoordináták és deriváltjaik, & - valós (mért) csuklókoordináták és • q, q deriváltjaik, • kd, λ, ke – erősítési átlós mátrixok.
© Mester Gyula
2003
Adaptív robotirányítás
A (4.32) paraméterbecslés adaptációs törvény segítségével on-line változtatjuk az adaptív irányítástörvényt. A Hˆ (q), Cˆ (q, q& ), gˆ (q) mátrixokat és vektorokat a H(q), C(q, q& ), g(q) mátrixokból és vektorokból kapjuk ha az ismeretlen p paramétervektort a paraméterbecslési adaptációs törvény alapján kiszámított vektorral helyettesítjük. Fontos kiemelni, hogy a regreszor mátrix Y = Y(q, q& , q& r , q&& r ) && d kell felírásánál csak a referens gyorsulás vektorát q && ! ismernünk, nem pedig a valós gyorsulás vektorát q
© Mester Gyula
2003
Adaptív robotirányítás
q&
q& && d q d , q& d , q
q& r = q& d − Λ(q − q d ) && r = q && d − Λ(q& − q& d ) q
−+
r
&& r q& r , q
k
D
pˆ && r )pˆ Y(q, q& , q && r )(q& − q& r ) p&ˆ = − ΓY T (q, q& , q
−
q, q&
+
ROBOT q q&
Csuklórugalmasság kompenzálása
ke
+
−
N
−1
4.2. ábra. Adaptív rugalmas csuklójú robotmanipulátor pozícióirányításának blokkvázlata..
© Mester Gyula
2003
Adaptív robotirányítás
m
m
4.2.4. Az adaptív irányító hardver megoldása Az adaptív irányító hardver struktúrájának a vázlata (4.3.) ábrán látható. Az adaptív pozíció irányító a DSP 56001 digitális processzorral van megoldva. Ez
a megoldás gazdaságos és a szükséges számítások szempontjából kivitelezhető.
© Mester Gyula
2003
Adaptív robotirányítás
56001
XTAL
ROM
RAM
ADDRESS BUS DATA BUS
EPLD
EPLD D/A
D/A
i*d1 0 e
1/κt i*q
jθ m
i*d 2 0 1
CURRENT REGULATORS CRPWM T1-T6 INVERTER Τ1
Τ3
Τ5
Τ4
Τ6
Τ2
θ1 R1
θm1
2/3 i*a i*b i*c
+
SM 3 GEAR 1
JOINT 2 τ m2
A2 B2 A m2 B m2
A1 B1 A m1 B m1
JOINT 1 τ m1
e ib ic
jθ m
2
θm2
2/3 i*a i*b i*c
CURRENT REGULATORS CRPWM T1-T6 INVERTER +
θm1
1/κt i*q
Τ1
Τ3
Τ5
Τ4
Τ6
Τ2
θ2
GEAR 2 Rm 1 R2 R1, R2 , Rm1, R m 2 : RESOLVERS
© Mester Gyula
SM 3
ib
4.3. ábra. Az adaptív irányító hardver megoldásának vázlata
ic
θ m2 R m2
2003
Adaptív robotirányítás
4.2.5. Szimulációs eredmények Az ajánlott adaptív irányítási törvény hatásosságát, kétcsuklós négyszabadságfokú (4.4. ábra szerinti) SCARA típusú alapstruktúrájú rugalmas robotmanipulátor szimulációjával bizonyítjuk.
© Mester Gyula
2003
Adaptív robotirányítás
4.4. ábra Kétcsuklós négyszabadságfokú SCARA típusú rugalmas robotmanipulátor vázlata.. © Mester Gyula
2003
Adaptív robotirányítás
A vizsgált robotmanipulátor merev mechanizmusának dinamikai modellje a következő: (4.33) 2 2 m1l c1 + m 2 (l12 + 2l1l c2 cosq 2 + l c2 ) + I1 + I 2 2 m (l 2 c2 + l1 l c2 cosq 2 ) + I 2
2 + l1l c2 cosq 2 ) + I 2 &q&1 m 2 (l c2 && + 2 m 2 l c2 + I 2 q 2
− m 2 l1l c2 q& 2 sinq 2 (2q& 1 + q& 2 ) τ1 + = 2 m 2 l1l c2 q& 1 sinq 2 τ 2
© Mester Gyula
2003
Adaptív robotirányítás
Válasszuk meg a következő robotparamétereket: 2 2 2 p = I + I + m l + m ( l + l (4.34) 1 1 2 1 c1 2 1 c2 ) p 2 = 2m 2 l1l c 2 p 3 = I 2 + m 2 l c22
Így a 2x3 dimenziós regreszor mátrixot a (4.33) modell alapján felírhatjuk: (4.35) &q& r1 (&q& r1 + 0.5&q& r2 )cosq 2 − (q& r1 + 0.5q& r2 )q& 2 sinq 2 Y(q, q& , q& r , &q& r ) = 0.5(&q& r1cosq 2 + q& r1q& 1sinq 2 ) 0
© Mester Gyula
2003
&q& r2 &q& r1 + &q& r2
Adaptív robotirányítás
A fenti mátrix regreszor elemei: (4.36) Y11 = &q& r1 Y12 = (&q& r1 + 0.5&q& r 2 ) cos q 2 − (q& r1 + 0.5q& r 2 )q& 2 sin q 2 Y13 = &q& r 2 Y21 = 0 Y22 = 0.5(&q& r1 cos q 2 + q& r1q& 1 sin q 2 ) Y23 = &q& r1 + &q& r 2
© Mester Gyula
2003
Adaptív robotirányítás
A paraméterbecslési adaptációs törvény: (4.37) && r )(q& − q& r ) pˆ& = − ΓY T (q, q& , q& r , q
Esetünkben: (4.38)
p&ˆ 1 &pˆ = pˆ& 2 pˆ& 3
© Mester Gyula
2003
Adaptív robotirányítás
A megfelelő szimmetrikus, pozitív definit erősítési átlós mátrix: (4.39)
g11 Γ=0 0
0 g 22 0
0 0 g 33
(4.40) pˆ& 1 g11 & 0 ˆ = − p 2 p&ˆ 0 3
© Mester Gyula
0 g 22 0
0 Y11 0 Y12 g 33 Y13
2003
Y21 q& 1 − q& r1 Y22 & & q q − r2 Y23 2
Adaptív robotirányítás
(4.41) p&ˆ 1 = −g11&q& r1 (q& 1 − q& r1 )
&pˆ = −g [(&q& r1 + 0.5&q& r2 )cosq 2 − (q& r1 + 0.5q& r2 )q& 2 sinq 2 ](q& 1 − q& r1 ) + 2 22 + 0.5(&q& r1cosq 2 + q& r1q& 1sinq 2 )(q& 2 − q& r2 ) p&ˆ 3 = −g 33 [&q& r2 (q& 1 − q& r1 ) + (&q& r1 + &q& r2 )(q& 1 − q& r1 )]
© Mester Gyula
2003
Adaptív robotirányítás
A szimulációs paraméterek a következők: • • •
szimulációs idő: 2 s, paraméterbecslési periódus: T=0.0005 s, (2000 Hz), erősítések: kD(10,10), Λ (2,2), ke(70,70), Γ(10,10,10).
A robotcsuklómozgás szimulációja a modifikált trapéz alakú csukló-szögsebességeknek és a következő robotmanipulátor paramétereknek felel meg: © Mester Gyula
2003
Adaptív robotirányítás
Robotmanipulátor adatok: q1 és q2 - a robotcsuklók koordinátái, m3=0.25 kg - a munkadarab tömege. Robotszegmens adatok: első szegmens • l1=0.6 m – a szegmens hossza, • lc1=0.3 m – a szegmens tömegközéppontjának a távolsága az 1-es csukló középpontjától, • m1= 12 kg – a szegmens tömege, • J1 =0.36 kgm2 – a szegmens tehetetlenségi nyomatéka a szegmens tömegközéppontra számítva, © Mester Gyula
2003
Adaptív robotirányítás
Robotszegmens adatok: első szegmens • 11=0.6 m – a szegmens hossza, • 1c1=0.3 m – a szegmens tömegközéppontjának a távolsága az 1-es csukló középpontjától, • m1= 12 kg – a szegmens tömege, • J1 =0.36 kgm2 – a szegmens tehetetlenségi nyomatéka a szegmens tömegközéppontra számítva,
Hajtóműadatok (mindkét csuklón) • c(t)=2*108 N/m – a hajtómű változó merevsége, • N=7 – a hajtómű áttétele, • A hajtóműmerevség időbeni változása: 3%, © Mester Gyula
2003
Adaptív robotirányítás
szervomotorok (mindkét csuklón) • rotorok tehetetlenségi nyomatéka: Jm1=Jm2=0.018 kgm2, • csillapítási tényező: kam1= kam2=0.1 Nms/rad.
A szimuláció alatt a csuklókoordináták referens kezdő és végértékei a következők: =
q1=0 q1=2 rad, q2=-0.5 q2=1.5 rad.
A csuklósebességek és csuklógyorsulások maximális értékei: • q& 1= q& 2 =3 rad/s, && 1=10 rad/s2, q &&2=12 rad/s2. • q A szimulációs eredmények az 4.5-4.20 ábrákon láthatók. © Mester Gyula
2003
Adaptív robotirányítás
I eset: A Slotine&Lee adaptív merev robotirányító alkalmazása A Slotine&Lee adaptív merev robotirányítási irányító alkalmazása a rugalmas csuklójú és merev szegmensű robotmanipulátornál az irányított rendszer instabil viselkedéshez vezet. A szimulációs eredmények ez esetben a 4.5 és 4.6 ábrákon láthatók. A mellékelt diagramokról leolvasható a 2 csukló pályakövetési hibájának (4.5. ábra) és a p ˆ 3becsült robotparaméter (4.6. ábra) instabilitása.
© Mester Gyula
2003
Adaptív robotirányítás
0.01 0 -0.01 0
0.25 0.5 0.75
1
1.25 1.5 1.75
-0.02 -0.03 -0.04 -0.05 4.5. ábra Adaptív merev robotirányító alkalmazása rugalmas csuklójú robotra – a 2 csukló pályakövetési hibája.
© Mester Gyula
2003
Adaptív robotirányítás
4.6. ábra Adaptív merev robotirányító alkalmazása rugalmas csuklójú robotra – p3 paraméterbecslés.
© Mester Gyula
2003
Adaptív robotirányítás
II eset: A módosított Slotine&Lee adaptív rugalmas robotirányító alkalmazása Alkalmazzuk a módosított Slotine&Lee adaptív robotirányítót (4.30 és 4.32) a rugalmas csuklójú és merev szegmensű robotmanipulátornál. A referens és valós csuklópályakövetési diagramok a 4.7-4.10 ábrákon láthatók. A referens és valós szögsebesség és szöggyorsulási diagramok a 4.11-4.14 ábrákon láthatók. Az esztimált – becsült robotparaméterek a 4.15, a két csukló meghajtónyomatéka pedig a 4.17 és 4.18 ábrákon láthatók. © Mester Gyula
2003
Adaptív robotirányítás
4.7. ábra. Az 1-es számú csukló referens és valós koordinátája..
© Mester Gyula
2003
Adaptív robotirányítás
4.8. ábra. A 2-es számú csukló referens és valós koordinátája.
© Mester Gyula
2003
Adaptív robotirányítás
4.9.ábra Az 1-es számú csukló koordinátahibája q1-qd1.[rad]
© Mester Gyula
2003
Adaptív robotirányítás
4.10. ábra A 2-es számú csukló koordinátahibája q2-qd2 [rad] ]
© Mester Gyula
2003
Adaptív robotirányítás
4.11.ábra Az 1-es számú csukló referens és valós szögsebessége.
© Mester Gyula
2003
Adaptív robotirányítás
4.12. ábra A 2-es számú csukló referens és valós szögsebessége.
© Mester Gyula
2003
Adaptív robotirányítás
4.13. ábra Az 1-es számú csukló referens és valós szöggyorsulása.
© Mester Gyula
2003
Adaptív robotirányítás
4.14. ábra A 2-es számú csukló referens és valós szöggyorsulása.
© Mester Gyula
2003
Adaptív robotirányítás
4.15. ábra A p1, p2 és p3 becsült paraméterek változása.
© Mester Gyula
2003
Adaptív robotirányítás
4.16. ábra Az 1-es számú számú csukló meghajtónyomatéka.
© Mester Gyula
2003
Adaptív robotirányítás
4.17. ábra A 2-es számú csukló meghajtónyomatéka.
© Mester Gyula
2003
Adaptív robotirányítás
III eset Ha
a munkadarab tömege m3= 2 kg, a hajtóműmerevség időbeni változása pedig 10%, az elvégzett szimuláció után megkapjuk a következő diagramokat:
© Mester Gyula
2003
Adaptív robotirányítás
4.18.ábra Az 1-es számú csukló koordinátahibája q1-qd1.
© Mester Gyula
2003
Adaptív robotirányítás
4.19.ábra A 2-es számú csukló koordinátahibája q2-qd2
© Mester Gyula
2003
Adaptív robotirányítás
4.20. ábra Az 1-es számú csukló meghajtónyomatéka.
© Mester Gyula
2003
Adaptív robotirányítás
Bemutattuk a két csuklóból álló szabadon mozgó, rugalmas csuklójú, négyszabadságfokú robotmanipulátor önhangoló adaptív irányítását csuklókoordinátákban. Az irányítási törvény kompenzálja a csuklórugalmassági hatásokat. A szimulációs eredmények verifikálják az irányítási algoritmus alkalmazását.
© Mester Gyula
2003
Adaptív robotirányítás