Přímá a inverzní kinematika otevřených kinematických řetězců Robotika Přímá a inverzní kinematika otevřených kinematických řetězců Vladimír Smutný Centrum strojového vnímání Český institut informatiky, robotiky a kybernetiky (CIIRC) České vysoké učení technické v Praze 22 ROBOTICS: Vladimír Smutný Slide 1, Page 1
Přímá a inverzní kinematická úloha Řídicí jednotka robotu většinou měří vnitřní kinematické parametry robotu kloubové souřadnice. Tyto souřadnice určují polohu jednotlivých kloubů, tedy vzájemnou polohu sousedních ramen. Kloubové souřadnice označujeme q, kloubovou souřadnici otočného kloubu označujeme θ, kloubovou souřadnici posuvného kloubu označujeme d. Uživatele zajímá poloha chapadla nebo manipulovaného (tuhého) tělesa. Tato poloha má 6 stupňů volnosti a může být popsána různými popisy, například tranformační maticí popisující polohu souřadnicového systému chapadla ve světovém souřadnicovém systému. Naším úkolem je najít vztahy mezi těmito popisy polohy robotu. 22 Studenti si často pletou polohu chapadla (má 6 stupňů volnosti) s polohou středu chapadla (to je bod a má 3 stupně volnosti). Toto je hrubá chyba, protože orientace chapadla je téměř vždy důležitá, at se jedná o manipulaci nebo např. sváření robotem. ROBOTICS: Vladimír Smutný Slide 2, Page 2
Přímá kinematická úloha Přímá kinematická úloha je zobrazení z prostoru kloubových souřadnice do prostoru poloh chapadla. To znamená, že známe polohy všech (nebo některých) kloubů a hledáme polohu chapadla ve světovém souřadnicovém systému. Matematicky: q T( q) Přímé použití tohoto vztahu je v souřadnicových měřicích přístrojích. Snímače na jednotlivých kloubech nás informují o vzájemné poloze ramen, kloubových souřadnicích, úkolem je vypočítat, kde se nachází hrot měřicího přístroje. 22 Zdůrazněme, že jde o zobrazení, nikoliv o matematickou funkci. Přímá kinematická úloha může mít pro konkrétní parametry q žádné, jedno, několik nebo nekonečně mnoho řešení. ROBOTICS: Vladimír Smutný Slide 3, Page 3
Inverzní kinematická úloha Inverzní kinematická úloha je zobrazení z prostoru poloh chapadla do prostoru kloubových souřadnic. To znamená, že známe polohu chapadla ve světovém souřadnicovém systému a hledáme polohy všech kloubů. Matematicky: T q(t) Inverzní kinematická úloha je potřeba například při řízení manipulátoru. Uživatel zadává požadovanou polohu chapadla, pro řízení jsou ale potřeba kloubové souřadnice. 22 Zdůrazněme, že jde o zobrazení, nikoliv o matematickou funkci. Inverzní kinematická úloha může mít pro konkrétní parametry q žádné, jedno, několik nebo nekonečně mnoho řešení. ROBOTICS: Vladimír Smutný Slide 4, Page 4
Otevřený kinematický řetězec 22 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. ROBOTICS: Vladimír Smutný Slide 5, Page 5
Modelování planárního otevřeného kinematického řetězce y1 y0 x1 x0 l1 y3 θ1 y6 y4 y5 y2 d2 x3 l3 x5 α2 x2 x6 x4 θ3 φ 22 Transformace homogenních souřadnic v rovině lze popsat transformační maticí A A = [ R xo 0 0 1 x = Ax b, ] cos(φ) sin(φ) x o = sin(φ) cos(φ) y o, 0 0 1 kde φ je vzájemný úhel otočení souřadnicových soustav. Inverzní matice je pak samozřejmě: [ ] A 1 R T R = x o = 0 0 1 (1) = sin(φ) cos(φ) sin(φ)x o cos(φ)y o, (2) cos(φ) sin(φ) cos(φ)x o sin(φ)y o 0 0 1 Jednoduchý seriový manipulátor je ukázán na obrázku. Manipulátor se skládá z otočného kloubu (kloubová proměnná θ 1 ), ramene délky l 1, posuvného kloubu s kloubovou proměnnou d 2, osa posuvného kloubu je skloněna pod úhlem α 2 vzhledem k l 1. Další kloub je otočný s kloubovou souřadnicí θ 3. Na konci ramene délky l 3 je chapadlo. Osa chapadla s osou x souřadnicového systému rámu svírá úhel φ, počátek souřadnicového systému chapadla je v souřadnicovém systému rámu označen G 0 = (x 0, y 0 ) T. Musíme přiřadit každému ramenu souřadnicový systém, zde pro názornost přiřazujeme souřadnicový systém dokonce každému konci ramene. Transformace mezi souřadnicovými systémy pak mají velmi jednoduchý tvar, protože reprezentují bud jen otočení nebo posunutí. Transformace jsou pak v našem případě v tomto pořadí od rámu: rotace o θ 1, posunutí o pevné l 1, rotace o pevné α 2, posunutí o d 2, rotace o θ 3 a posunutí o l 3. Jednotlivé transformační matice pak vypadají: A 0 1 = A 2 3 = cos(θ 1 ) sin(θ 1 ) 0 sin(θ 1 ) cos(θ 1 ) 0 0 0 1 A = 1 0 l 1 0 1 0 0 0 1, cos(α 2 ) sin(α 2 ) 0 sin(α 2 ) cos(α 2 ) 0 0 0 1 A = A 4 5 = 1 0 d 2 0 1 0 0 0 1, cos(θ 2 ) sin(θ 2 ) 0 sin(θ 2 ) cos(θ 2 ) 0 0 0 1 A = 1 0 l 3 0 1 0 0 0 1, x 0 = A 0 1A A 2 3A A 4 5A x 6.,,, ROBOTICS: Vladimír Smutný Slide 6, Page 6
Vzájemná poloha dvou přímek v prostoru a jejich příčka Příčka dvou přímek je nejkratší spojnice těchto přímek. Je kolmá k oběma přímkám. A=B Vzájemná poloha dvou přímek může být: A B totožné přímky, oba konce degenerované příčky můžeme umístit do kteréhokoliv bodu přímky, rovnoběžky, příčka je kolmá k oběma, můžeme ji umístit kdekoliv podél přímek, různoběžky, příčka zdegenerovaná do bodu je v místě křížení, mimoběžky, poloha příčky je jednoznačně dána, je kolmá k oběma přímkám. A=B A B 22 ROBOTICS: Vladimír Smutný Slide 7, Page 7
Modelování otevřeného kinematického řetězce v prostoru Denavitova-Hartenbergova notace 22 Jednoznačný a efektivní popis jednotlivých transformací můžeme nalézt metodou Denavitovou Hartenbergovou (Denavitova Hartenbergova notace). Eulerova věta o existenci osy pohybu říká, že každý pohyb tuhého tělesa v prostoru lze reprezentovat jako složení rotace okolo určité osy a posunu ve směru této osy. Tato věta umožňuje formalizovat postup řešení přímé kinematické úlohy otevřeného kinematického řetězce, jednou formalizací je právě D H notace. D H notace je dále založena na principu matematické indukce, proto je možné D H notaci použít pouze pro otevřené kinematické řetězce (zamyslete se proč). 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 O i 1, H i, O i. 4. Osu z i položme do osy kloubu i + 1. 5. Osu x i položme do prodloužení příčky H i O i. 6. Osa y i tvoří s ostatními pravotočivou soustavu. 7. Označme vzdálenost bodů O i 1, H i = d i. 8. Označme vzdálenost bodů H i, O i = a i. 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 O o kdekoliv na ose kloubu a osu x 0 orientovat libovolně. Například tak, aby d 1 = 0. 12. Pro chapadlo je možné opět zvolit bod O n a orientaci osy z n 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 d i = 0. 14. Pro posuvné klouby lze polohu osy kloubu zvolit. ROBOTICS: Vladimír Smutný Slide 8, Page 8
Sousední souřadnicové systémy v DH 22 ROBOTICS: Vladimír Smutný Slide 9, Page 9
Poloha chapadla v souřadnicovém systému rámu 22 ROBOTICS: Vladimír Smutný Slide 10, Page 10
Souřadnicové systémy rámu a chapadla 22 ROBOTICS: Vladimír Smutný Slide 11, Page 11
5-R-1-P manipulátor 22 Transformace v kloubu je zcela popsána čtyřmi parametry θ i, d i, a i, α i. Parametry a i, α i jsou konstanty, jeden z parametrů d i, θ i se mění s pohybem kloubu. Klouby jsou většinou: kde Otočné, pak je d i konstanta a θ i se mění, Posuvné, pak je θ i konstanta a d i se mění. Transformační matici A pak vypočteme jako A i 1 int = A int i = A i 1 i = A i 1 int Aint i, cos θ i sin θ i 0 0 sin θ i cos θ i 0 0 0 0 1 d i 0 0 0 1 1 0 0 a i 0 cos α i sin α i 0 0 sin α i cos α i 0 0 0 0 1,. Snadno zjistíme, že: A i 1 i = cos θ i sin θ i cos α i sin θ i sin α i a i cos θ i sin θ i cos θ i cos α i cos θ i sin α i a i sin θ i 0 sin α i cos α i d i 0 0 0 1. Označme q i ten z parametrů θ i, d i, který se mění. Výraz?? pak můžeme přepsat na x 0 = A 0 1(q 1 )A (q 2 )A 2 3(q 3 )A (q 4 )... A n 1 n (q n )x n. Pro každou hodnotu vektoru q = (q 1, q 2, q 3, q 4,... q n ) Q = R n pak můžeme vypočítat souřadnice bodu P v souřadnicích rámu ze zadaných souřadnic v souřadnicové soustavě chapadla a naopak.. Přímá kinematická úloha pro otevřený kinematický řetězec je tedy vždy řešitelná analyticky. ROBOTICS: Vladimír Smutný Slide 12, Page 12
Denavit Hartenberg Matice reprezentující transformaci mezi sousedními rameny A i 1 i = cos θ i sin θ i cos α i sin θ i sin α i a i cos θ i sin θ i cos θ i cos α i cos θ i sin α i a i sin θ i 0 sin α i cos α i d i 0 0 0 1. 22 ROBOTICS: Vladimír Smutný Slide 13, Page 13
Inverzní kinematika 5-R-1-P manipulátoru...... 22 Inverzní kinematická úloha Inverzní kinematickou úlohou nazýváme problém, kdy je dána matice T(q) = A 0 1(q 1 )A (q 2 )A 2 3(q 3 )A (q 4 )... A n 1 n (q n ). (3) 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í IKT je její nejednoznačnost v singulárních bodech. Často existuje podprostor Q s prostoru Q, který dává stejné T. q Q s : T(q) = T Pro rozhodnutí, kterou z n-tic q řešících rovnici 3 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 Q s, 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. ROBOTICS: Vladimír Smutný Slide 14, Page 14
Inverzní kinematika - příklad 22 ROBOTICS: Vladimír Smutný Slide 15, Page 15
φ31.5 122 φ20h7 +0.021 0 depth 7.5 0 φ40h8-0.039depth 7.5 80 37 32 View A: Detail of mechanical interface 165 340 Screw holes for fixing wiring hookup (M4) (for customer use) 20 50 View C: Detail of screw holes for fixing wiring hookup 162 165 204 A 6.3a (Installation) 6.3a (Installation) Inverzní kinematika 102.5 - příklad 110 * 80.5 100 280 350 51.5 φ70 58.5 120 90 96 205 115 140 View D bottom view drawing : Detail of installation dimension φ53 74 20 85 φ158 φ158 R98 R211 85 315 85 * Dimensions when installing a solenoid valve (optional) C 90 140 200 63 B 54 61 115 140 200 (Maintenance space) 78 73 200 Machine cable 22 Fig.2-4 : Outside dimensions : RV-6S/6SC Outside dimensions Operating range diagram 2-13 ROBOTICS: Vladimír Smutný Slide 16, Page 16
100 961 280 179 350 Flange downward limit line(dotted line) P Restriction on wide angle in the front section Note5) 594 R611 Restriction on wide angle in the front section Note4) Fig.2-5 : Operating range diagram : RV-6S/6SC 17 Inverzní kinematika - příklad 170 170 85 315 85 308 238 437 R173 R331 76 R280 135 258 92 R287 R331 Restriction on wide angle in the rear section Note1) J2+J3 2-200 degree when -45 degree J2 < 15 degree. Note2) J2+J3 8 degree when J1 75 degree, J2 < -45 degree. Note3) J2+J3-40 degree when J1 > 75 degree, J2 < -45 degree. Restriction on wide angle in the front section Note4) J3-40 degree when -105 degree J1 95 degree, J2 123 degree. Note5) J2 110 degree when J1 < -105 degree, J1 < -95 degree. However, J2 - J3 150 degree when 85 degree J2 110 degree. 444 474 R280 Restriction on wide angle in the rear section Note2) Restriction on wide angle in the rear section Note3) Restriction on wide angle in the rear section Note1) 4 421 Areas as restricted by Note1) and Note3) within the operating range 22 2-14 Outside dimensions Operating range diagram ROBOTICS: Vladimír Smutný Slide 17, Page 17
2 Robot arm Inverzní kinematika - příklad 170 170 P-point path: Reverse range (alternate long and short dash line) P-point path: Entire range (solid line) R526 R202 R696 R258 22 170 170 Flange downward limit line(dotted line) P 85 315 85 308 238 R280 Restriction on wide angle in the rear section Note2) Restriction on wide angle in the front section Note5) R287 R280 Restriction on wide angle in the rear section Note3) 100 Restriction on wide angle in the rear section Note1) 350 961 280 R331 135 92 R173 R611 179 4 421 594 17 R331 Areas as restricted by Note1) and Note3) within the operating range Restriction on wide angle in the front section Note4) 76 437 258 444 474 Fig.2-5 : Operating range diagram : RV-6S/6SC -14 Outside dimensions Operating range diagram Restriction on wide angle in the rear section Note1) J2+J3 2-200 degree when -45 degree J2 < 15 degree. Note2) J2+J3 8 degree when J1 75 degree, J2 < -45 degree. Note3) J2+J3-40 degree when J1 > 75 degree, J2 < -45 degree. Restriction on wide angle in the front section Note4) J3-40 degree when -105 degree J1 95 degree, J2 123 degree. Note5) J2 110 degree when J1 < -105 degree, J1 < -95 degree. However, J2 - J3 150 degree when 85 degree J2 110 degree. ROBOTICS: Vladimír Smutný Slide 18, Page 18
Nejednoznačnost inverzní kinematické úlohy 22 ROBOTICS: Vladimír Smutný Slide 19, Page 19
ith the same position data, there are several postures that the robot can change to. The posture his configuration flag, and the posture is saved with FL1 in the position constant (X, Y, Z, A, B, C) figuration flags are shown below. Inverzní kinematika - konfigurace J2 axis J5 axis rotation in comparison with the plane through the J2 Rotation axis vertical centerto the ground.. RIGHT J2 axis Rotation center ration flag (RIGHT/LEFT) J5 axis rotation in comparison with the plane through both the J3 and the J2 axis.. ABOVE Fig.6-1 : Configuration LEFT flag (RIGHT/LEFT) 6Appendix FL 1(Flag1) (2) ABOVE/BELOW &B 0000 0000 Q is center of J5 axis rotation in comparison with the plane (3) NONFLIP/FLIP through both (6-axis the J3 robot and the only.) J2 axis.. 1/0= R I GH T / L E F T This means in which side the J6 axis is in comparison with the plane through both the J4 and the Note) "&B" BELOW is shows the binary Q FL 1(Flag1) &B 0000 0000 J4 axis FL 1(Flag1) FLIP ABOVE &B 0000 0000 1/0= ABOV E / BE LOW J3 axis Note) "&B" is shows the binary 1/0= NON F L I P / Rotation center Note) "&B" is shows the BELOW Fig.6-2 : Configuration flag (ABOVE/BELOW) J3 axis Rotation center Q J2 axis Rotation center FL 1(Flag1) &B 0000 0000 1/0= ABOV E / BE LOW Note) "&B" is shows the binary NON FILIP J6 axis flange surface Fig.6-3 : Configuration flag (NONFLIP/FLIP) Configuration flag Appendix-63 22 J2 axis Rotation center Q ration flag (ABOVE/BELOW) Configuration flag Appendix-63 Appendix-64 Configuration flag ROBOTICS: Vladimír Smutný Slide 20, Page 20
8 Příklad: Počet řešení IKT pro jednoduchý rovinný manipulátor y l1 l2 Working envelope φ 2 solutions 01 01 solutions = singular point 0 solutions x 1 (double) solution = singular surface φ [degrees] 1000 200 00 11 00 11 800 600 400 200 0 01 00 11 00 11 01 2 solutions 01 01 solutions = singular point 8 01 01 Working space of the 2DOF planar RR manipulator l1=0.5,l2=0.5 0.4 0.6 0.8 1 1 0.8 0.6 0.4 0.2 0 0.2 x 1 (double) solution = singular surface 0.5 0 y 0.5 1 22 Rovinný manipulátor se dvěma stupni volnosti s rotačními klouby má pracovní obálku ve tvaru kruhu. Uvnitř kruhu má dvě řešení, která přecházejí na hraniční kružnici v jedno, dvojnásobné řešení (srovnej jedno řešení kvadratické rovnice), kružnice je tedy singulární plochou tohot robotu. Vně kruhu nemá žádné řešení. Ve středu kruhu má nekonečně mnoho řešení, tedy singulární bod. Uvedený planární manipulátor má dva stupně volnosti a pohybuje se v pracovním prostoru se třemi dimenzemi, tedy (x, y, φ), kde φ je orientace chapadla. Graf pracovního prostoru ukazuje dosažitelné body pracovního prostoru, zelená plocha je dosažitelná jednou konfigurací, červená plocha druhou konfigurací. Body pracovního prostoru na ose φ jsou dosažitelné všechny, tedy bod (0, 0, φ) je dosažitelný pro jakoukoliv hodnotu φ. Pracovní prostor robotu je zde znázorněn jen v intervalu < 0, 720 o >, spirála je ve skutečnosti od do. Připomínám, že ideálem je, aby v priměřeně kompaktní oblasti byly dosaženy všechny body. Znázornit šestirozměrný pracovní prostor pro prostorového robota je samozřejmě obtížné. ROBOTICS: Vladimír Smutný Slide 21, Page 21
Příklad: Počet řešení IKT pro jednoduchý rovinný manipulátor 1000 Working space of the 2DOF planar RR manipulator l1=0.3,l2=0.7 1000 Working space of the 2DOF planar RR manipulator l1=0.7,l2=0.3 800 800 φ [degrees] 600 400 200 φ [degrees] 600 400 200 0 0 200 0.4 0.6 0.8 1 1 0.8 0.6 0.4 0.2 0 0.2 x 0.5 0 y 0.5 1 200 0.4 0.6 0.8 1 1 0.8 0.6 0.4 0.2 0 0.2 x 0.5 0 y 0.5 1 y φ y φ l2 l2 22 l1 l1 x x Manipulátor s nestejně dlouhými rameny nemůže do- sahnout do okolí svého prvního kloubu. ROBOTICS: Vladimír Smutný Slide 23, Page 22
PUMA 22 ROBOTICS: Vladimír Smutný Slide 26, Page 23
y Zobrazení mezi kloubovým a kartézským prostorem y θ 2 4 3.5 3 2.5 2 1.5 1 0.5 0 0.5 1 θ 2 Kloubový prostor Pracovní (kartézský) prostor 7 6 5 4 3 2 1 joint space 0 0 7 θ 1 joint space 3 2 1 0 3 θ 1 6 6 6 4 2 0 2 4 working space 6 4 2 0 2 4 6 x 6 4 2 0 2 4 working space 6 4 2 0 2 4 6 x 22 Zobrazení mezi kloubovým a kartézským prostorem je pro roboty s otočnými klouby velmi nelineární. Zde je ukázáno pro jednoduchý planární manipulátor se dvěma otočnými klouby. ROBOTICS: Vladimír Smutný Slide 27, Page 24
Přímá a inverzní kinematická úloha - shrnutí kinematika struktura počet řešení obtížnost otevřený kin. řet. 1 snadná přímá smíšený kin. řet. 0, 1, N, obtížná paralelní robot 0, 1, N, obtížná otevřený kin. řet. 0, 1, N, obtížná inverzní smíšený kin. řet. 0, 1, N, obtížná paralelní robot 0, 1, N, snadná 22 Počet řešení kinematických úloh a obtížnost jejich řešení spolu souvisí. Příčinou je matematická podstata úloh. Úloha je z matematického pohledu řešení soustavy nelineárních rovnic. Rovnice jsou polynomiální v řešených proměnných nebo jejich sinech a kosinech, přičemž právě goniometrické funkce zde způsobují nelinearitu rovnic. V některých případech dostáváme jen jedno řešení, úloha je v hledaných parametrech lineární a snadno řešitelná. Příkladem je přímá kinematická úloha otevřeného kinematického řetězce. V jiných případech je úloha analyticky neřešitelná nebo není analytické řešení známo. V takových případech je použito numerické řešení nebo se podobným strukturám vyhýbáme. ROBOTICS: Vladimír Smutný Slide 28, Page 25
Pohyb v jiných souřadnicových systémech kloubové souřadnice válcové světové souřadnice kartézské světové souřadnice kartézské souřadnice chapadla 22 Řídicí jednotka robotu většinou umožňuje řídit polohu chapadla pomocí přenosného ovládacího panelu v různých souřadnicových systémech: kloubové souřadnice, kartézské souřadnice světového souřadnicového systému, válcové souřadnice světového souřadnicového systému, kartézské souřadnice souřadnicového systému chapadla,... ROBOTICS: Vladimír Smutný Slide, Page 26