Kinematika • Kinematika studuje geometrii pohybu robotu a trajektorie, po kterých se pohybují jednotlivé body. Klíčový pojem je poloha. • Statika studuje vliv sil působících na robota v klidu a jejich vliv na jeho deformace. Klíčový pojem je pružnost. • Dynamika analyzuje vliv sil a momentů na robota za pohybu. Použité pojmy a zákony mohou být použity na jakékoliv mechanické stroje.
Terminologie • Vazba je omezení vzájemného pohybu dvou těles. • Kinematická dvojice je dvojice těles spojených vazbou. • Kloub je technické provedení vazby. • Rám je část robotu nebo mechanismu, která je nepohyblivá, zpravidla spojená se zemí. • Chapadlo je část robotu, která je určena k manipulaci nástrojem nebo předmětem. • Kinematický řetězec je soustava kinematických dvojic. • Otevřený kinematický řetězec je soustava, kterou lze popsat acyklickým grafem.
Obrázek 1: Smíšený kinematický řetězec
Další pojmy • Smíšený kinematický řetězec je soustava kinematických dvojic, kde existuje smyčka. Viz Obr. 1. • Pracovní prostor je množina všech bodů, kam je možné nastavit chapadlo robota. Viz Obr. 3. • Operační prostor je prostor, kam zasahuje robot nějakou svou částí při manipulaci. Viz Obr. 17. • Stupeň volnosti (DOF): Těleso má tolik stupňů volnosti v daném bodě, kolik je dimenze prostoru, kam se může v daném bodě pohnout.
2-1
Druhy kinematických dvojic Symbol
Název
má/odnímá DOF
sférická
3/3
rotační
1/5
posuvná
1/5
válcová
2/4
plochá
3/3 Obrázek 2:
Typická struktura manipulátoru
Pravoúhlá struktura
Válcová (cylindrická)
Sférická
Angulární Obrázek 3:
Těleso v souřadném systému
Obrázek 4:
Těleso v souřadném systému Těleso v rovině má 3 DOF. Těleso v prostoru má 6 DOF. Kontrolní otázky: Kolik stupňů volnosti má skládací metr na stole? Kolik stupňů volnosti má gumička? Zvolíme souřadný systém rámu O − xyz, viz Obr. 4. S tělesem svážeme souřadný systém O0 − xb y b z b . Popis souřadného systému O0 − xb y b z b v souřadném systému rámu je: xo ~ 0 = xo = yo (n, t, b) . OO zo Utvořme matici R = (n, t, b), n, t, b jsou jednotkové a ortogonální vektory, matice R je ortonormální, tedy R−1 = RT . u Známe polohu bodu v souřadném systému O0 − xb y b z b : xb = v a hledáme polohu v souřadném w x systému O − xyz: x = y . Viz Obr. 5. z ~ 0 = OO ~ 0 + O~0 A + AB ~ + BP ~ OP x = xo + un + vt + wb x = xo + Rxb Obrácená transformace: xb = −RT xo + RT x Eulerovy úhly Matice R má devět koeficientů, ale má hodnost pouze tři. Je tedy redundantní reprezentací, omezující podmínky jsou právě jednotkovost a kolmost vektorů n, t, b: nT t = 0 |n| = 1
tT b = 0 |t| = 1
bT n = 0 |b| = 1
Matici R lze snadno zkonstruovat pomocí Eulerových úhlů, viz Obr. 6: 1. Otočme souřadný systém O − xyz okolo osy z o úhel φ. Dostaneme O − x0 y 0 z. 2. Otočme souřadný systém O − x0 y 0 z okolo osy x0 o úhel θ. Dostaneme O − x0 y 00 z 00 . 3. Otočme souřadný systém O − x0 y 00 z 00 okolo osy z 00 o úhel ψ. Dostaneme O − xb y b z b . R = Rz (φ)Rx0 (θ)Rz00 (ψ)
cos φ − sin φ 0 Rz (φ) = sin φ cos φ 0 0 0 1 1 0 0 Rx0 (θ) = 0 cos θ − sin θ 0 sin θ cos θ cos ψ − sin ψ 0 cos ψ 0 Rz00 (ψ) = sin ψ 0 0 1
5-1
(1)
(2)
(3)
cos φ cos ψ − cos θ sin φ sin ψ R = cos ψ sin φ + cos φ cos θ sin ψ sin θ sin ψ
− cos θ cos ψ sin φ − cos φ sin ψ cos φ cos θ cos ψ − sin φ sin ψ cos ψ sin θ
sin φ sin θ − cos φ sin θ cos θ
(4)
Trojice Eulerových úhlů dává jednoznačně otočení v prostoru, poloha v prostoru nedává jednoznačně trojici úhlů. Existují další podobné definice, které mají podobné vlastnosti, ale jiné rovnice. Jestliže je dána matice R, lze Eulerovy úhly vypočítat z porovnání prvků r33 , r32 , r23 . Homogenní souřadnice Zaveďme homogenní souřadnice takto: Euklidovské (metrické) Homogenní- projektivní x x y x= y ⇒ x= z z 1 x x/w y x = y/w ⇐ x= z ∧ w 6= 0 z/w w x y neexistuje ⇐ x= z (nevlastní bod) 0 Lze snadno ukázat, že v homogenních souřadnicích: x = Axb , kde A je matice 4x4: A= Inverzní matice: A−1 =
R 000
RT 000
xo 1
−RT xo 1
Transformace přes více souřadných systémů viz Obr. 7: x0 = A01 A12 A23 A34 . . . An−1 xn . n
5-2
(5)
Transformace souřadnic
x = x0 + un + vt + wb
Obrázek 5: Transformace bodu z jedné souřadné soustavy do jiné.
Definice Eulerových úhlů
Obrázek 6:
Posloupnost transformací souřadnic
Obrázek 7:
Otevřený kinematický řetězec
Obrázek 8:
Modelování otevřeného kinematického řetězce Otevřený kinematický řetězec je tvořen posloupností těles spojených klouby. Známe-li popis klouby dovolených pohybů pomocí geometrických transformací, můžeme snadno nalézt transformace bodu ze souřadnic chapadla do souřadnic rámu a naopak. Jde o takzvanou přímou kinematickou úlohu. Jednoznačný a efektivní popis jednotlivých transformací můžeme nalézt metodou Denavitovou– Hartenbergovou (Denavitova–Hartenbergova notace). Viz Obr. 9. Popisujeme kloub i. 1. Nalezneme osy otáčení kloubů i − 1, i, i + 1. 2. Nalezneme příčku (společnou normálu) os kloubů i − 1 a i a os kloubů i a i + 1. 3. Nalezneme body Oi−1 , Hi , Oi . 4. Osu zi položme do osy kloubu i + 1. 5. Osu xi položme do prodloužení příčky Hi Oi . 6. Osa yi tvoří s ostatními pravotočivou soustavu. 7. Označme vzdálenost bodů |Oi−1 , Hi | = di . 8. Označme vzdálenost bodů |Hi , Oi | = ai . 9. Označme úhel mezi příčkami θi . 10. Označme úhel mezi osami kloubů i, i + 1 αi . 11. Pro rám je možné zvolit polohu bodu Oo kdekoliv na ose kloubu a osu x0 orientovat libovolně. Například tak, aby d1 = 0. 12. Pro chapadlo je možné opět zvolit bod On a orientaci osy zn při dodržení ostatních pravidel. 13. Jsou-li osy dvou po sobě jdoucích kloubů rovnoběžné, je možné polohu příčky zvolit, například tak, že di = 0. 14. Pro posuvné klouby lze polohu osy kloubu zvolit. Transformace v kloubu je zcela popsána čtyřmi parametry ai , di , αi , θi . Parametry ai , αi jsou konstanty, jeden z parametrů di , θi se mění s pohybem kloubu. Klouby jsou většinou: • Otočné, pak je di konstanta a θi se mění, • Posuvné, pak je θi konstanta a di se mění. Transformační matici A pak vypočteme jako int Ai−1 = Ai−1 i int Ai ,
kde
cos θi − sin θi 0 0 sin θi cos θi 0 0 , Ai−1 int = 0 0 1 di 0 0 0 1 1 0 0 ai 0 cos αi − sin αi 0 . Aint = i 0 sin αi cos αi 0 0 0 0 1
Snadno zjistíme, že:
Ai−1 i
cos θi sin θi = 0 0
− sin θi cos αi cos θi cos αi sin αi 0
9-1
sin θi sin αi − cos θi sin αi cos αi 0
ai cos θi ai sin θi . di 1
Označme qi ten z parametrů θi , di , který se mění. Výraz 5 pak můžeme přepsat na x0 = A01 (q1 )A12 (q2 )A23 (q3 )A34 (q4 ) . . . Ann−1 (qn )xn . Pro každou hodnotu vektoru q = (q1 , q2 , q3 , q4 , . . . qn ) ∈ Q = Rn pak můžeme vypočítat souřadnice bodu P v souřadnicích rámu ze zadaných souřadnic v souřadné soustavě chapadla a naopak. . Přímá kinematická úloha pro otevřený kinematický řetězec je tedy vždy řešitelná analyticky.
Inverzní kinematická úloha Inverzní kinematickou úlohou nazýváme problém, kdy je dána matice T(q) = A01 (q1 )A12 (q2 )A23 (q3 )A34 (q4 ) . . . An−1 (qn ). n
(6)
a hledáme hodnoty koeficientů q. Obecně se jedná o soustavu nelineárních (většinou trigonometrických) rovnic, která není analyticky řešitelná. Řešení inverzní kinematické úlohy: • Analyticky, pokud to lze, neexistuje obecný návod, jak úlohu řešit. Existuji dílčí navody, jak řešit některé speciální roboty. • Numericky. • Tabulkou, předpočítanou pro pracovní prostor W ⊂ Q. Existují struktury robotu, které lze řešit analyticky, takové struktury nazýváme řešitelné. Postačující podmínka pro řešitelnost struktury je např. to, že pro robota se šesti stupni volnosti tři po sobě jdoucí rotační klouby mají osy protínající se v jednom bodě nezávisle na pohybu nebo tři po sobě jdoucí osy musí být rovnoběžné. Jinou vlastností IKM je její nejednoznačnost v singulárních bodech. Často existuje podprostor Qs prostoru Q, který dává stejné T. ∀q ∈ Qs : T(q) = T Pro rozhodnutí, kterou z n-tic q řešících rovnici 6 zvolíme, se bere v úvahu zejména: 1. Jsou uvažované hodnoty vektoru q přípustné, robot typicky nemůže zdaleka dosáhnout všech hodnot z prostoru kloubových souřadnic? 2. Jak se do singulárního bodu dostaneme (z kterého směru jsme přišli). Z požadavku spojitého pohybu po trajektorii plyne, že i n-tice q musí být spojitou funkcí času. 3. Jakým směrem se ze singulárního bodu dostaneme (kam pokračuje trajektorie). 4. Nedostaneme se volbou q během dalšího pohybu do situace, kdy nepůjde splnit předchozí body? 5. Samotný operační prostor nás omezuje při volbě q. Příkladem je montáž sedadla do automobilu robotem. Někdy navrhujeme takzvaně redundantního robota (například s osmi stupni volnosti), abychom zvětšili prostor Qs , z kterého vybíráme q a tak mohli lépe vyhovět výše uvedeným požadavkům. Úlohy k zamyšlení : • Lze sestrojit robota pouze s posuvnými klouby, který by mohl obecně manipulovat s tělesem v prostoru? Proč? • Vyberte si nějakou montážní úlohu a navrhněte pro ni vhodnou strukturu redundantního robota.
9-2
Denavitova-Hartenbergova notace
Obrázek 9:
Sousední souřadné systémy v DH
Obrázek 10:
Poloha chapadla v souřadném systému rámu
Obrázek 11:
Souřadné systémy rámu a chapadla
Obrázek 12:
5-R-1-P manipulátor
Obrázek 13:
Struktura 5-R-1-P manipulátoru
Obrázek 14:
Nejednoznačnost inverzní kinematické úlohy
Obrázek 15:
PUMA
Obrázek 16:
Pracovní prostor
Obrázek 17:
Obrázek 18: Smíšený kinematický řetězec
Obrázek 19: Smíšený kinematický řetězec
Diferenciální kinematika Diferenciální kinematika zkoumá pohyb v malém okolí chapadla. Zabývá se rychlostí pohybu chapadla a jejím vlivem na rychlosti a zrychlení v kloubech a naopak. Na příkladu manipulátoru z Obr. 20lze ukázat motivaci analýzy. Závislost souřadnic chapadla na kloubových souřadnicích je: x(θ1 , θ2 ) x l1 cos θ1 + l2 cos(θ1 + θ2 ) = = . y(θ1 , θ2 ) y l1 sin θ1 + l2 sin(θ1 + θ2 ) Infinitesimální změnu polohy chapadla v závislosti na infinitesimální změně kloubových souřadnic vypočteme: " ∂x(θ1 ,θ2 ) ∂x(θ1 ,θ2 ) # dx dθ1 ∂θ1 ∂θ2 = = ∂y(θ1 ,θ2 ) ∂y(θ1 ,θ2 ) dy dθ2 ∂θ1
= " Matici J =
∂θ2
−l1 sin θ1 − l2 sin(θ1 + θ2 ) −l2 sin(θ1 + θ2 ) l1 cos θ1 + l2 cos(θ1 + θ2 ) l2 cos(θ1 + θ2 ) #
∂x(θ1 ,θ2 ) ∂θ1 ∂y(θ1 ,θ2 ) ∂θ1
∂x(θ1 ,θ2 ) ∂θ2 ∂y(θ1 ,θ2 ) ∂θ2
dθ1 dθ2
.
nazýváme jakobiánem manipulátoru. Její hodnota závisí na
okamžité poloze kloubů (a tedy i chapadla). Píšeme tedy dx = Jdθ . Lze snadno ukázat, že pro rychlost platí dx dθ =J , dt dt v = Jθ˙ . Jakobián manipulátoru můžeme rozdělit na podjakobiány jednotlivých souřadnic: v = Jθ˙ = J1 θ˙1 + J2 θ˙2 . Každý z podjakobiánů v sobě nese vliv jedné kloubové souřadnice na výslednou rychlost chapadla.
Infinitesimální rotace Infinitesimální rotace mají zcela odlišné chování od rotací konečné velikosti. S odvoláním na rovnice 3 můžeme psát:
Rx (dφx )
Ry (dφy )
Rz (dφz )
1 0 0 = 0 cos dφx − sin dφx 0 sin dφx cos dφx cos dφy 0 sin dφy 0 1 0 = − sin dφy 0 cos dφy cos dφz − sin dφz 0 cos dφz 0 = sin dφz 0 0 1
1 0 0 ≈ 0 1 −dφx 0 dφx 1 1 0 dφy ≈ 0 1 0 −dφy 0 1 1 −dφz 0 ≈ dφz 1 0 0 0 1
(7)
(8)
.
(9)
Zde jsme použili přibližnou rovnost cos(dφ) = 1 a sin(dφ) = dφ. V dalším použijeme dφdφ = 0.
1 0 dφy 1 −dφx = Rx (dφx )Ry (dφy ) = dφx dφy −dφy dφx 1 1 0 dφy 1 −dφx = = 0 −dφy dφx 1 = Ry (dφy )Rx (dφx ) .
19-1
(10)
(11) (12)
Skládání infinitesimálních rotací je tedy komutativní a lze je zaměňovat. Toto nelze provádět u rotací konečné velikosti, kde záleží na pořadí. Matice infinitesimálních rotací je ve tvaru: 1 −dφz dφy 1 −dφx . Rx (dφx )Ry (dφy )Rz (dφz ) = dφz (13) −dφy dφx 1 Infinitesimální rotace lze sčítat, jak snadno nahlédneme: 1 −(dφz + dφ0z ) (dφy + dφ0y ) 1 −(dφx + dφ0x ) = = (dφz + dφ0z ) 0 0 −(dφy + dφy ) (dφx + dφx ) 1
R(dφx , dφy , dφz )R(dφ0x , dφ0y , dφ0z )
= R(dφx + dφ0x , dφy + dφ0y , dφz + dφ0z ) .
Výpočet Jakobiánu manipulátoru Jakobián manipulátoru můžeme při použití Denavitovy-Hartenbergovy notace vypočítat z následujících úvah (viz Obr. 22). Označme vektor infinitesimálního posunu chapadla dxe a vektor infinitesimálních rotací chapadla dφe . Složení těchto vektorů označme dp. dxe dp = . dφe Rychlost můžeme psát jako: dp˙ =
dve dωe
= Jq˙ .
Jakobián manipulátoru, který je v trojrozměrném případě rozměru 6n, kde n je počet kloubů manipulátoru, můžeme psát: JL1 | JL2 | . . . | JLn J= . (14) JA1 | JA2 | . . . | JAn Rychlost pak můžeme psát ve tvaru: ve = JL1 q˙1 + JL2 q˙2 + · · · + JLn q˙n . Pro posuvný kloub se infinitesimální posuv kloubu přímo přenáší na infinitesimální posuv chapadla, takže: JLi q˙i = bi−1 d˙i . Posuvný kloub neindukuje žádnou rotaci, takže: JAi = 0 . Rotační kloub vyvozuje infinitesimální posun chapadla, jehož velikost je dána vektorovým součinem vektoru osy rotace kloubu bi−1 a ramenem mezi osou kloubu a chapadlem ri−1,e : JLi q˙i = ωi × ri−1,e = (bi−1 × ri−1,e )θ˙i . Rotaci chapadla způsobená rotací kloubu je možné přímo přenést z kloubu: ωi = bi−1 θ˙i . Shrnuto pro posuvný kloub:
JLi JAi
=
bi−1 0
.
(15)
Pro otočný kloub:
JLi JAi
=
bi−1 × ri−1,e bi−1
19-2
.
(16)
Pomocí Denavitovy-Hartenbergovy notace snadno odvodíme, jak vypočítat bi−1 . Vektor kloubu i ¯ = [0, 0, 1]T . Do souřadného systému rámu ho převedeme posloupností v souřadném systému i − 1 je b násobení rotačními maticemi: ¯ bi−1 = R01 (q1 ) · · · Ri−2 i−1 (qi−1 )b . Vektor ri−1,e vypočítáme jako vektor mezi body chapadla a kloubu transformací do souřadné soustavy ¯ = [0, 0, 0, 1]T . Nechť funkce, která rámu. Oba jsou počátky příslušných souřadných soustav zapsaných X převede homogenní na Euklidovské souřadnice je nazvána e. Pak: ¯ − e(A0 (q1 ) · · · Ai−2 (qi−1 )X) ¯ . ri−1,e = e(A01 (q1 ) · · · An−1 (qn )X) n 1 i−1 Příklad: Nalezněte jakobián manipulátoru z Obr. 23.
19-3
Diferenciální kinematika
Obrázek 20: 2 DOF manipulátor
Obrázek 21: Infinitezimální rotační vector
Diferenciální kinematika
Obrázek 22:
Diferenciální kinematika
Obrázek 23: Příklad.
Rychlost v okolí singulárního bodu
Obrázek 24: 2 DOF planární manipulátor
Obrázek 25: Trajektorie, průběh rychlostí