Robotika sbírka řešených příkladůrobotika/Sbirka_prikladu_z... · 2016-05-13 · Obr. 4.1...
Transcript of Robotika sbírka řešených příkladůrobotika/Sbirka_prikladu_z... · 2016-05-13 · Obr. 4.1...
FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ
Robotika – sbírka řešených příkladů
Autor textu:
prof. Ing. František Šolc, CSc
2014
Komplexní inovace studijních programů a zvyšování kvality výuky na FEKT VUT v Brně OP VK CZ.1.07/2.2.00/28.0193
2 FEKT VUT v Brně
Obsah
ÚVOD ......................................................................................................................................... 3
1. PŘÍKLAD – HOMOGENNÍ TRANSFORMACE .......................................................... 3
2. PŘÍKLAD – HOMOGENNÍ TRANSFORMACE .......................................................... 5
3. PŘÍKLAD – HOMOGENNÍ TRANSFORMACE - ORIENTACE .............................. 7
4. PŘÍKLAD – PŘÍMÁ ÚLOHA KINEMATIKY A JAKOBIÁN .................................. 11
5. PŘÍKLAD – PŘÍMÁ A INVERZNÍ ÚLOHA KINEMATIKY, JAKOBIÁN ............ 14
6. PŘÍKLAD – INVERZNÍ ÚLOHA KINEMATIKY ..................................................... 18
7. PŘÍKLAD – PŘÍMÁ ÚLOHA KINEMATIKY, VÝPOČET RYCHLOSTÍ ............. 21
8. PŘÍKLAD – PŘÍMÁ ÚLOHA KINEMATIKY, VÝPOČET ZRYCHLENÍ ............. 24
9. PŘÍKLAD – PŘÍMÁ ÚLOHA KINEMATIKY, VÝPOČET ZRYCHLENÍ ............. 26
10. PŘÍKLAD – PŘÍMÁ ÚLOHA KINEMATIKY, VÝPOČET ZRYCHLENÍ ............. 30
11. PŘÍKLAD – PŘÍMÁ ÚLOHA KINEMATIKY, VÝPOČET ZRYCHLENÍ ............. 32
12. PŘÍKLAD – PŘÍMÁ ÚLOHA KINEMATIKY, VÝPOČET ZRYCHLENÍ ............. 36
13. PŘÍKLAD – INVERZNÍ ÚLOHA KINEMATIKY, PLÁNOVÁNÍ DRÁHY ........... 39
14. PŘÍKLAD – INVERZNÍ ÚLOHA KINEMATIKY ..................................................... 45
15. PŘÍKLAD – INVERZNÍ ÚLOHA KINEMATIKY ..................................................... 48
16. PŘÍKLAD – DYNAMIKA .............................................................................................. 50
17. PŘÍKLAD – DYNAMIKA A PLÁNOVÁNÍ DRÁHY ................................................. 54
18. PŘÍKLAD – DYNAMIKA A PLÁNOVÁNÍ DRÁHY ................................................. 58
19. PŘÍKLAD – PLÁNOVÁNÍ DRÁHY ............................................................................. 63
20. PŘÍKLAD – PLÁNOVÁNÍ DRÁHY ............................................................................ 66
Robotika – sbírka příkladů 3
Úvod
Následující text obsahuje řešené příklady z oblasti průmyslové robotiky. Jedná se o některé
řešené problémy kinematiky a dynamiky manipulátorů a jim podobných kinematických
řetězců. Jsou to především úlohy přímé a inverzní kinematiky. Uvedeny jsou také některé
úlohy plánování dráhy. Z oblasti dynamiky jsou uvedeny úlohy výpočtu potřebných výkonů
pro provedení předepsané manipulační operace. Uváděné příklady jsou vhodné pro vedení
numerických cvičení. Prakticky ve všech příkladech je pro numerické výpočty použit
software MATLAB a vzhledem k vyšší výpočetní náročnosti je v některých příkladech použit
pro výpočet jeho symbolický toolbox.
1. Příklad – Homogenní transformace
Na následujícím obrázku je nakreslen robot obsluhující pracoviště. S tělem robota je spojen
souřadný systém xyz0 umístěný pevně v rovině podlahy dílny tak, že rovina podlahy a rovina
xy0 jsou totožné.
Ve vzdálenosti 1m od robota je na podlaze umístěn stůl ve tvaru kvádru, s jehož horní hranou
je spojen souřadný systém xyz1 jehož počátek leží v rovině yz0 .
Na stole je položen kvádr, se kterým je spojen souřadný systém xyz2. Počátek tohoto systému
je umístěn na pracovní ploše stolu přesně v jejím středu. Kvádr má výšku 0,1m a rozměry ve
směru z2 0,2m a ve směru x2 0,3m.
Nad stolem je umístěna stereo kamera, se kterou je spojen souřadný systém xyz3 jehož počátek
je ve výšce 2m nad pracovní plochou stolu. Jeho osa z3 je totožná s osou y2, která je kolmá
k podlaze a pracovní ploše stolu.
Jednotlivé osy systémů jsou rovnoběžné, jak ukazuje následující obrázek.
Obr. 1.1 Robotické pracoviště
4 FEKT VUT v Brně
Vypočítejte matice homogenních transformací mezi jednotlivými systémy a systémem xyz0.
Výpočet zdůvodněte kompozicí elementárních transformací (nestačí uvést jen výsledné
matice)
Řešení:
Matice homogenních transformací mezi jednotlivými systémy a systémem xyz0 získáme
kompozicí elementárních transformací (postupným pohybem systému xyz0 ), např.
H01=Trans(0;1;0.5)Roty(-90o)Rotx(-90
o)
H02=Trans(-0.5;1.5;0.5)Rotz(90o)Rotx(90
o)
H03=Trans((-0.5;1.5;2.5)Rotz(90o)Rotx180
o)
Elementární transformace jsou uvedeny ve skriptech Robotika. Po provedení výpočtu
dostaneme.
1000
5.2100
2001
5,0010
1000
5.0010
2001
5,0100
1000
5,0001
1100
0010
030201 HHH
Robotika – sbírka příkladů 5
2. Příklad – Homogenní transformace
Pro konfiguraci pracoviště uvedenou v obrázku v předchozím příkladu určete souřadnice
horních rohů kvádru, který leží na stole, jak se jeví v systému stereo kamery xyz3. Výpočet
zdůvodněte.
Řešení:
Pozice jednotlivých bodů, které známe v souřadném systému xyz2, pi,2, přepočteme do
souřadného systému xyz3 nejsnadněji pomocí matice homogenní transformace H3,2. Tedy
pozice bodů v systému xyz3, pi,3, budou dány výrazem
2,2,33, ii pHp
Prvky matice homogenní transformace budou vektor posunutí d a matice rotace R.
10002,3
dRH
Vektor posunutí říká, jak posuneme systém xyz3 v jeho souřadnicích tak, aby počátky
posunutého systému a systému xyz2 byly stejné. Z geometrie obrázku je zřejmé, že musíme
provést posunutí v ose z systému xyz3 o 2m.
Vektor posunutí tedy bude
2
0
0
d
Vektor rotace říká jak odrotujeme systém xyz3 tak, aby jednotlivé osy odrotovaného systému
a systému xyz2 byly rovnoběžné. Z geometrie obrázku je zřejmé že musíme provést rotaci
okolo osy x systému xyz3 o -90o. Matice rotace tedy bude , viz skripta
010
100
001
R
Matice H3,2 bude tedy ve tvaru vhodném pro použití v MATLABu
H32=[1 0 0 0
0 0 1 0
0 -1 0 2
0 0 0 1];
Homogenní souřadnice jednotlivých bodů v systému xyz2 jsou dány geometrií zadání.
Uvedeny jsou ve tvaru vhodném pro použití v MATLABu
p12=[0 0.1 0 1]'
p22=[0.3 0.1 0 1]'
p32=[0.3 0.1 0.2 1]'
p42=[0 0.1 0.2 1]'
Homogenní souřadnice těchto bodů v systému xyz3 pak jsou
6 FEKT VUT v Brně
p1,3 p2,3 p3,3 p4,3
H3,2*p1,2
H3,2*p2,2 H3,2*p3,2 H3,2*p4,2
0
0
1.9000
1.0000
0.3000
0
1.9000
1.0000
0.3000
0.2000
1.9000
1.0000
0
0.2000
1.9000
1.0000
Robotika – sbírka příkladů 7
3. Příklad – Homogenní transformace - orientace
Na následujícím obrázku je nakresleno kinematické schéma robotu PUMA-560. Hodnoty
konstantních veličin jsou uvedeny v metrech a2=0.3; d2=0.15; d4=0.3; d6=0.1. Robot je
nakreslen v nulové poloze kloubových proměnných. Kladný směr pohybu všech kloubových
veličin je uvažován ve standardním smyslu. Jednotlivé kinematické členy mají přiděleny své
souřadné systémy.
a) Zdůvodněte, zda přidělení souřadných systémů odpovídá DH konvenci.
b) Vypočítejte homogenní transformaci H06 pro obecné hodnoty kloubových proměnných.
c) Vypočítejte polohu počátku O6 v pevném souřadném systému 0 pro hodnoty
kloubových proměnných oooooo 4509009090 654321
d) Nakreslete obrázek ukazující vzájemnou orientaci systémů 6 a 0.
Obr. 3.1 Robot Puma
8 FEKT VUT v Brně
Řešení:
a)
Z obrázku je zřejmé, že pokud je robot v obecné poloze (např. všechny klouby jsou mírně
pootočeny o malý pozitivní úhel):
Systém 1 dostaneme ze systému 0 postupně potočením systému 0 v kloubu 1 okolo osy Z0
o úhel θ1 a otočením okolo osy X0 o úhel -90o.
Systém 2 dostaneme ze systému 1 postupně potočením systému 1 v kloubu 2 okolo osy Z1
o úhel θ2, posunutím podél Z1 o délku d2 a posunutím podél osy X1 o délku a2.
Systém 3 dostaneme ze systému 2 postupně potočením systému 2 v kloubu 3 okolo osy Z2
o úhel θ3 a otočením okolo osy X2 o úhel +90o.
Systém 4 dostaneme ze systému 3 postupně potočením systému 3 v kloubu 4 okolo osy Z3
o úhel θ4, posunutím podél osy Z3 o délku d4 a otočením kolem osy X3 o úhel -90o.
Systém 5 dostaneme ze systému 4 postupně potočením systému 4 v kloubu 5 okolo osy Z4
o úhel θ5 a otočením okolo osy X4 o úhel +90o.
Systém 6 dostaneme ze systému 5 postupně potočením systému 5 v kloubu 6 okolo osy Z5
o úhel θ6 a posunutím podél osy Z5 o délku d6.
Souřadné systémy jsou tedy přiděleny podle DH konvence a kinematika robotu je popsána
tabulkou
b)
Jednotlivé transformační matice tedy jsou
1 0, 0, 0,
0.1 1, 0, 0,
0 0, c6, s6,
0 0, s6,- c6,
1 0, 0, 0,
0 0, 1, 0,
0 c5,- 0, s5,
0 s5, 0, c5,
1 0, 0, 0,
0.3 0, 1,- 0,
0 c4, 0, s4,
0 s4,- 0, c4,
1 0, 0, 0,
0 0, 1, 0,
0 c3,- 0, s3,
0 s3, 0, c3,
1 0, 0, 0,
0.15 1, 0, 0,
0.3s2 0, c2, s2,
0.3c2 0, s2,- c2,
1 0, 0, 0,
0 0, 1,- 0,
0 c1, 0, s1,
0 s1,- 0, c1,
564534
231201
HHH
HHH
člen θi di ai αi
1 θ1 0 0 -90o
2 θ2 d2 a2 0
3 θ3 0 0 +90o
4 θ4 d4 0 -90o
5 θ5 0 0 +90o
6 θ6 d6 0 0
Robotika – sbírka příkladů 9
Transformace H06 je dána součinem
56453423120106 HHHHHHH
Vzhledem ke složitosti celkového výrazu napíšeme výsledek ve tvaru
1 0, 0, 0,
0.1c50.3 c5, s5s6, s5c6,-
0.1s4s5 s4s5, c4c6,s4c5s6- c4s6,s4c5c6
0.1c4s5 c4s5, s4c6,-c4c5s6- s4s6,-c4c5c6
1 0, 0, 0,
0.3s2- c2c3,s2s3- 0, c2s3,-s2c3-
0.15c10.3s1c2 s1s2c3,s1c2s3 c1, s1s2s3,-s1c2c3
0.15s1-0.3c1c2 c1s2c3,c1c2s3 s1,- c1s2s3,-c1c2c3
06
360306
H
HHH
c)
Po dosazení numerických hodnot dostáváme
1.0000 0 0 0
0.3000 0.0000 0.7071- 0.7071-
0.4000- 1.0000- 0.0000- 0.0000
0.1500- 0.0000- 0.7071 0.7071-
1.0000 0 0 0
0.4000 1.0000 0 0
0 0 0.7071- 0.7071
0 0 0.7071- 0.7071-
1.0000 0 0 0
0.3000 0.0000 0 1.0000
0.0000 1.0000- 0.0000 0.0000
0.1500- 0.0000- 1.0000- 0.0000
06
360306
H
HHH
Souřadnice počátku O6 v sytému 0 jsou tedy [-0.15 -0.4 0.3]
d)
Orientace systému 6 je dána rotační maticí z H06. Představu o orientaci si můžeme udělat
podle velikosti směrových cosinů, nebo pomocí průmětů bázových vektorů systému 6 do
systému 0. Např. i0j6=0.7071 t. zn., že osy X0 a Y6 svírají úhel 450. Jednotlivé složky
vektoru j6 v systému 0 jsou dány 1. sloupcem rotační matice R06, t.j
j6=-0.7071i0 - 0.7071k0 atd. Orientace systému je nakreslena na následujícím obrázku.
10 FEKT VUT v Brně
Obr. 3.2 Robot Puma s přidělenými souřadnými systémy
Obr. 3.3 Orientace zápěstí
Robotika – sbírka příkladů 11
4. Příklad – Přímá úloha kinematiky a Jakobián
Na následujícím obrázku je nakreslen planární robot typu TTR.
Obr. 4.1 Kinematické schéma robota
Koncový bod H robotu se má pohybovat po kružnici konstantní rychlostí v=0,01m/s ve směru
šipky tak, že v čase t=0 je v bodě Z. Koncový člen robota má při tom být uvnitř kružnice a
v každém okamžiku musí být ke kružnici kolmý. Rozměry robota a souřadnice význačných
bodů jsou na obr. uvedeny v cm. Na obr. jsou také uvedeny kladné směry počítání kloubových
veličin. Koncový bod H má při pohybu oběhnout celý kruh. Kloubové souřadnice nemají
žádné omezení.
1. Vypočítejte přímou úlohu kinematiky pro tento robot t.j. funkce
),,(),,(),,( 321321321 qqqfqqqfyqqqfx kde x,y jsou souřadnice bodu H
v pracovním prostoru x,y robota. Uveďte analytické výrazy funkcí.
2. Vypočítejte inverzní úlohu kinematiky pro požadovaný pohyb, t.j. funkce
)()()( 321 tqtqtq , které zaručí požadovaný pohyb koncového členu robota. Uveďte
analytické výrazy a grafy těchto funkcí.
3. Vypočítejte Jakobián tohoto robota a určete jeho singulární konfiguraci.
Řešení:
1.
Vzhledem k jednoduchosti geometrie manipulátoru je úloha jednoduchá
12 FEKT VUT v Brně
3
31
32
sin10
cos1020
q
qqy
qqx
(1)
2.
Inverzní úlohu můžeme řešit pomocí dekompozice tak, že pro danou žádanou orientaci
koncového členu φ najdeme žádanou polohu zápěstí a následně vypočítáme kloubové
souřadnice ramene q1 q2. Ze znalosti kloubových souřadnic ramene a žádané orientace
koncového členu pak najdeme kloubovou souřadnici zápěstí (viz příklady v elektronických
textech). V našem příkladu je však řešení inverzní úlohy jednoduché. Z (1) dostáváme
3
1
2
sin10
cos1020
q
yq
xq
(2)
Požadovaný pohyb koncového členu manipulátoru je rovněž jednoduchý
žž
žž
ž
Ry
Rx
tR
v
sin90
cos70
2
(3)
Po dosazení numerických hodnot
žž
žž
ž
y
x
t
sin3090
cos3070
0.03332
(4)
Dosazením (4) do (2) dostaneme požadované průběhy kloubových souřadnic, které zaručí
požadovaný pohyb
tq
q
q
ž
žžžž
žžžž
0.03332
sin2090sin10sin3090
cos2050cos1020cos3070
3
1
2
(5)
Koncový bod oběhne celý kruh za čas tk
sec 188.49562
vRtk (6)
Průběhy kloubových souřadnic podle (3) jsou uvedeny na následujícím obrázku
Robotika – sbírka příkladů 13
Obr. 4.2 Časové průběhy kloubových souřadnic
3.
Jakobián manipulátoru (2D) získáme parciálními derivacemi rovnic (1)
100
cos1001
sin1010
3
3
q
q
J (7)
Jeho determinant je vždy -1 a jeho hodnost je tedy 3. Manipulátor tedy nemá žádnou
singulární konfiguraci.
0 20 40 60 80 100 120 140 160 180 200-100
-50
0
50
100
150
200
250
300
[sec]
q3 [
deg]
0 20 40 60 80 100 120 140 160 180 20070
75
80
85
90
95
100
105
110
[sec]
q1 [
cm
]
0 20 40 60 80 100 120 140 160 180 20030
35
40
45
50
55
60
65
70
[sec]
q2 [
cm
]
14 FEKT VUT v Brně
5. Příklad – Přímá a inverzní úloha kinematiky, Jakobián
Na následujícím obrázku je uvedeno kinematické schéma antropomorfního manipulátoru.
Obr. 5.1 Kinematické schéma manipulátoru
Manipulátor je tvořen třemi rotačními klouby 1, 2, 3 s kloubovými proměnnými 321 .
Pevný souřadný systém dílny XYZ0 je umístěn v průsečíku os Z kloubů 1 a 2. Osy Z1 ,Z2
souřadných systémů 1 a 2 jsou umístěny v kloubech 2 a 3. Počátek souřadného systému 3 je
na konci ramene a3. Osy Z1 Z2 a Z3 jsou vzájemně rovnoběžné a jsou rovnoběžné s rovinou
XY0. Délky ramen jsou a2 a3 . Osy X2 a X3 jsou totožné s osami odpovídajících ramen.
1. Vyřešte přímou úlohu kinematiky, t.j. polohu koncového bodu P ramene a3 v pevném
souřadném systému XYZ0.
2. Kolik řešení má inverzní úloha kinematiky?
3. Vypočítejte Jakobián manipulátoru.
4. Nalezněte singulární konfigurace manipulátoru.
Robotika – sbírka příkladů 15
Řešení:
1.
Z geometrie manipulátoru přímo vyplývá
Souřadnice z koncového bodu ramene
)sin()sin( 32322 aaz
Délka kolmého průmětu ramene do roviny XY0
)cos()cos( 32322 aar
Průměty r do os X0 a Y0 pak dávají souřadnice x a y koncového bodu.
1 2 2 3 2 3 1
1 2 2 3 2 3 1
cos( ) ( cos( ) cos( ))cos( )
sin( ) ( cos( ) cos( ))sin( )
x r a a
y r a a
2.
Pokud je koncový bod manipulátoru mimo osu Z0 má inverzní úloha 4 řešení, obr. 2.
Obr. 5.2 Možné řešení inverzní úlohy
Pokud je koncový bod manipulátoru na ose Z0, má úloha nekonečně mnoho řešení ( 1 ), viz
obr. 3.
16 FEKT VUT v Brně
Obr. 5.3 Singulární poloha manipulátoru
3.
Jakobián manipulátoru
321
321
321
yyz
yyy
xxx
J
kde
2 2 3 2 3 1
1
2 2 3 2 3 1
1
1
2 2 3 2 3 1
2
2 2 3 2 3 1
2
2 2 3 2 3
2
3
3
( cos( ) cos( ))sin( )
( cos( ) cos( ))cos( )
0
( sin( ) sin( ))cos( )
( sin( ) sin( ))sin( )
cos( ) cos( )
sin(
xa a
ya a
z
xa a
ya a
za a
xa 2 3 1
3 2 3 1
3
3 2 3
3
)cos( )
sin( )sin( )
cos( )
ya
za
Po dosazení do J dostaneme ve zkrácené formě
Robotika – sbírka příkladů 17
23323322
2313233221233221
2313233221233221
0
)()(
)()(
cacaca
ssasasascacac
scasasaccacas
J
4.
)()det( 23322332 cacasaaJ
Délky a2 a3 ramen jsou zřejmě nenulové. V singulární pozici je det(J)=0 což nastává
1) pro s3=0 t.j. o180nebo0 33
rameno manipulátoru je plně nataženo nebo naopak zkráceno a manipulátor je na okraji svého
pracovního prostoru.
2) pro 023322 caca
koncový bod manipulátoru se nachází na ose Zo a inverzní úloha má nekonečně mnoho řešení.
18 FEKT VUT v Brně
6. Příklad – Inverzní úloha kinematiky
Na následujícím obrázku je uvedeno kinematické schéma antropomorfního manipulátoru
popsaného v předchozí domácí úloze.
Obr. 6.1 Kinematické schéma manipulátoru
Kladné směry počítání kloubových veličin jsou (z pohledu na obrázek):
1. kloub se otáčí proti směru hodinových ručiček. 2. a 3. kloub pohybují příslušnými rameny
nahoru.
1. kloub je nakreslen v poloze 01 . Ostatní dva klouby jsou v nulové poloze když jsou oba
členy a2 a a3 ve vodorovné poloze. (členy a2 a a3 jsou tedy nakresleny v poloze
00 32 ).
1. Vyřešte inverzní úlohu kinematiky, t.j. hodnoty kloubových souřadnic v závislosti na
poloze (x,y,z) koncového bodu P manipulátoru.
Inverzní úlohu řešte za předpokladu ),(2atana0 13 xy .
2. Nalezněte časový průběh kloubových veličin za předpokladu že délky ramen jsou
a2=a3=1m a koncový bod se pohybuje po přímce z bodu (0.1; -1;1) do bodu (0.1; 1;1)
konstantní rychlostí 1m/s. Časové průběhy vyjádřete graficky (alespoň v deseti časových
okamžicích).
Řešení:
1.
Ze zadání přímo vyplývá kloubová souřadnice 1
),(2atan1 xy (1)
Robotika – sbírka příkladů 19
Další kloubové souřadnice vypočítáme z trojúhelníku, jehož odvěsny tvoří ramena
manipulátoru a přeponou je spojnice koncového bodu manipulátoru s počátkem souřadného
systému XYZ0 . Využijeme k tomu m.j. věty sinové a kosinové viz např. elektronický text
(Šolc: Robotika).
3 (2)
kde
),1(2atan 2 aa
cos2 2
2
2
2
22
3
2
2
aa
Laaa Pozn. věta cosinová
22 zRL
22 yxR
),(2atan2 Rz (3)
kde
)1,(2atan 2bb
sinsin3
L
ab Pozn. věta sinová
Pozn.
γ,α jsou úhly v trojúhelníku, jehož odvěsny tvoří ramena manipulátoru a přeponou je spojnice
koncového bodu manipulátoru s počátkem souřadného systému XYZ0.
2.
Ze zadání je zřejmé, že koncový bod manipulátoru se pohybuje po vodorovné přímce o délce
2m a požadovanou dráhu urazí za 2sec. Pro jednotlivé souřadnice tedy platí
1)(
0;21)(
1.0)(
tz
ttty
tx
Tyto hodnoty dosadíme do (1)-(3) a dostaneme grafické průběhy jednotlivých kloubových
veličin, které zaručí požadovanou trajektorii koncového bodu manipulátoru.
20 FEKT VUT v Brně
Obr. 6.2 Průběhy kloubových veličin
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2-100
-50
0
50
100
150
[sec]
[deg]
th1
th2
th3
Robotika – sbírka příkladů 21
7. Příklad – Přímá úloha kinematiky, výpočet rychlostí
Na následujícím obrázku je uvedeno kinematické schéma antropomorfního manipulátoru.
Obr. 7.1 Kinematické schéma manipulátoru
Manipulátor je tvořen třemi rotačními klouby 1, 2, 3 s kloubovými proměnnými 321 .
Pevný souřadný systém dílny XYZ0 je umístěn v průsečíku os Z kloubů 1 a 2. Osy Z1 ,Z2
souřadných systémů 1 a 2 jsou umístěny v kloubech 2 a 3. Počátek souřadného systému 3 je
na konci ramene a3. Osy Z1 Z2 a Z3 jsou vzájemně rovnoběžné a jsou rovnoběžné s rovinou
XY0. Délky ramen jsou a2=a3=1m . Osy X2 a X3 jsou totožné s osami odpovídajících ramen.
(Viz předchozí úlohy)
Manipulátor je právě v pozici ;34.119;45,24;0 321
oo
1. Vypočítejte rychlost pohybu jeho koncového bodu (počátku souřad. syst. 3) v systému
XYZ0 , když rychlosti kloubových souřadnic jsou ;0;0/sec;450 321 o (Uveďte
složky i absolutní hodnotu vypočítané rychlosti).
2. Vypočítejte rychlost pohybu jeho koncového bodu (počátku souřad. syst. 3) v systém XYZ0
když rychlosti kloubových souřadnic jsou /sec;30/sec;20/sec;450 321
ooo
(Uveďte složky i absolutní hodnotu vypočítané rychlosti).
Řešení:
V tomto případě jde o řešení přímé úlohy kinematiky pro rychlost. Tato úloha je standardně
řešena pomocí Jakobiánu manipulátoru
22 FEKT VUT v Brně
qqJX )( (1)
Jakobián byl vyřešen v minulých úlohách
23323322
2313233221233221
2313233221233221
0
)()(
)()(
cacaca
ssasasascacac
scasasaccacas
J (2)
Po dosazení parametrů a konkrétních hodnot kloubových proměnných dostaneme v notaci
MATLAB
a2=1
a3=1
s1=sin(0/180*pi)
c1=cos(0/180*pi)
s2=sin(24.45/180*pi)
c2=cos(24.45/180*pi)
s23=sin((24.45+119.34)/180*pi)
c23=cos((24.45+119.34)/180*pi)
J=[-s1*(a2*c2+a3*c23) -c1*(a2*s2+a3*s23) -a3*c1*s23
c1*(a2*c2+a3*c23) -s1*(a2*s2+a3*s23) -a3*s1*s23
0 a2*c2+a3*c23 a3*c23]
Konkrétně tedy
0.8069- 0.1035 0
0 0 0.1035
0.5907- 1.0046- 0
J (3)
-------------------------------------------------
Pro 1. úlohu je vektor kloubových rychlostí v rad/sec
0
0
pi*450/180
q (4)
Odtud vektor rychlostí koncového bodu v m/sec
0
0.8126
0
)( qqJX (5)
a absolutní hodnota vektoru rychlosti v m/sec
0.8126V XX T (6)
Robotika – sbírka příkladů 23
-------------------------------------------------
Pro 2. úlohu je vektor kloubových rychlostí v rad/sec
pi*30/180
pi*20/180
pi*450/180
q (7)
Odtud vektor rychlostí koncového bodu v m/sec
0.3864-
0.8126
0.6600-
)( qqJX (8)
a absolutní hodnota vektoru rychlosti v m/sec
1.1159V XX T
24 FEKT VUT v Brně
8. Příklad – Přímá úloha kinematiky, výpočet zrychlení
Planární manipulátor z následujícího obr. má délky ramen a1=a2=1m. Na konci ramene a2
v bodě P jsou umístěny 2 akcelerometry. Akcelerometr Ax má svou citlivou osu v ose ramene
a2 . Akcelerometr Ay má citlivou osu kolmou na osu ramene a2.
Obr. 8.1 Kinematické schéma manipulátoru
Manipulátor se pohybuje ve vodorovné rovině. Oba jeho klouby se pohybují v čase současně
z počátečních hodnot 0)0()0( 21 do koncové polohy 2/)()( 21 ff tt konstantní
úhlovou rychlostí 1 2 .
Vypočítejte zrychlení ax a ay, které naměří oba akcelerometry Ax a Ay.
Uveďte analytické formule pro výpočet veličin ax a ay a grafy jejich časových průběhů pro
0,5 / secrad .
Řešení:
Nejprve vypočítáme časové průběhy kloubových proměnných. Obě mají stejný časový průběh
1 1( ) ( ) ( )t t t t
Z geometrie manipulátoru je zřejmé že pro polohu bodu P v systému 0 platí
)(2sin)(sin)(
)(2cos)(cos)(
ttty
tttx
p
p
Derivací polohy podle času dostaneme rychlosti bodu P v systému 0
Robotika – sbírka příkladů 25
)(2cos2)(cos)(
)(2sin2)(sin)(
ttty
tttx
p
p
Derivací rychlosti podle času dostaneme zrychlení bodu P v systému 0
)(2sin4)(2cos2)(sin)(cos)(
)(2cos4)(2sin2)(cos)(sin)(
22
22
ttttty
tttttx
p
p
S pomocí matice rotace okolo osy Z o úhel 21 převedeme vektor zrychlení ze soustavy
XYo do soustavy spojené s ramenem a2. Dostaneme tak zrychlení které naměří akcelerometry
ao
cos2 sin 2
sin 2 cos2
x p p
y p p
a x x
a y yR
Po dosazení 0t dostaneme pro zrychlení
2 2
2 2
( ) cos 4 cos2
( ) sin 4 sin 2
p
p
x t t t
y t t t
2
2
( ) cos3 4cos4
( ) sin3 4sin4
x
y
a t t t
a t t t
Obr. 8.2 Průběhy zrychlení které naměří akcelerometry
0 0.5 1 1.5 2 2.5 3 3.5-1.5
-1
-0.5
0
0.5
1
1.5
s
m/s
2
axay
0 0.5 1 1.5 2 2.5 3 3.5-1.5
-1
-0.5
0
0.5
1
1.5
s
m/s
2
26 FEKT VUT v Brně
9. Příklad – Přímá úloha kinematiky, výpočet zrychlení
Mějme planární manipulátor z předchozího příkladu.
Oba jeho klouby se pohybují v čase současně z počátečních hodnot 0)0()0( 21 do
koncové polohy 2/)()( 21 ff tt tak, že koncovou polohu dosáhnou v čase ft =0.5 sec.
Pohyb probíhá tak, že v čase t=0 jsou rychlosti obou kloubových proměnných nulové a oba
klouby mají konstantní zrychlení.
Vypočítejte:
1) Průběh polohy koncového bodu ramene robotu v pracovním prostoru x0, y0
2) Průběh rychlosti koncového bodu ramene robotu v pracovním prostoru x0, y0
3) Průběh zrychlení koncového bodu ramene robotu v pracovním prostoru x0, y0
4) Průběh zrychlení koncového bodu ramene robotu ve směru osy ramene a2
5) Průběh zrychlení koncového bodu ramene robotu ve směru kolmém na osu ramene a2
Výpočet zrychlení v případě 4 a 5 proveďte klasicky a s pomocí matic rotace.
U všech bodů uveďte analytické formule pro výpočet veličin a grafy jejich časových průběhů.
Pozn. Koncový bod ramene robotu P je na konci ramene a2
Řešení:
Nejprve vypočítáme časové průběhy kloubových proměnných. Obě mají stejný časový průběh
2
112
1t (1)
Z koncové polohy a koncového času vypočítáme hodnotu úhlového zrychlení
45,02
1
2
2 (2)
tedy 22)( tt (3)
Vhodné je také vypočítat rychlost a zrychlení kloubových souřadnic
4)(
4)(
t
tt
(4)
1) Z (1) a geometrie manipulátoru je zřejmé
)(2sin)(sin)(
)(2cos)(cos)(
ttty
tttx
p
p (5)
Robotika – sbírka příkladů 27
Obr. 9.1 Průběhy veličin )()( tytx pp
Obr. 9.2 Průběh polohy koncového bodu ramene v pracovním prostoru
2) Derivací (5) podle času dostaneme rychlosti
)(2cos2)(cos)(
)(2sin2)(sin)(
ttty
tttx
p
p
(6)
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5-1
-0.5
0
0.5
1
1.5
2
t [sec]
[m]
yp
xp
-1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
x [m]
y [
m]
28 FEKT VUT v Brně
Obr. 9.3 Průběhy rychlostí koncového bodu v pracovním prostoru
3) Derivací (5) podle času dostaneme zrychlení
)(2sin4)(2cos2)(sin)(cos)(
)(2cos4)(2sin2)(cos)(sin)(
22
22
ttttty
tttttx
p
p
(6)
Obr. 9.4 Průběhy zrychlení koncového bodu v pracovním prostoru
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5-15
-10
-5
0
5
10
t [sec]
[m/s
]
yp d
xp d
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5-150
-100
-50
0
50
100
150
t [sec]
[m/s
2]
xp dd
yp dd
Robotika – sbírka příkladů 29
4) Zrychlení koncového bodu ve směru osy ramene (apod) a ve směru kolmém na tuto osu
(akol) dostaneme klasicky tak že vektory zrychlení )()( tytx pp promítneme kolmo do osy
ramene a do osy na ni kolmé. Tedy
)cos()sin(
)sin()cos(
2121
2121
ppkol
pppod
yxa
yxa
(7)
S pomocí matice rotace okolo osy Z o úhel 21 převedeme vektor zrychlení ze soustavy
XYo do soustavy spojené s ramenem a2 a dostaneme stejný výsledek.
p
p
p
p
kol
pod
y
x
y
x
a
a
)cos()sin(
)sin()cos(
1111
1111
aoR (8)
Obr. 9.5 Průběhy zrychlení koncového bodu ve směru ramene a2 a ve směru kolmém na toto rameno
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5-150
-100
-50
0
50
100
t [sec]
[m/s
2]
akol
apod
30 FEKT VUT v Brně
10. Příklad – Přímá úloha kinematiky, výpočet zrychlení
U vozítka typu Segway, jehož schéma je uvedeno na přiloženém obrázku, je zapotřebí měřit
úhel náklonu α. Pro měření této veličiny byl doporučen jednoosý akcelerometr, umístěný na
rameni vozítka v bodě A, viz obr. Zjistěte jaké zrychlení naměří tento akcelerometr při
obecném pohybu vozítka když bude jeho citlivá osa ležet
a) v souřadnici XA
b) v souřadnici YA
Obr. 10.1 Kinematické schéma vozítka Segway
Pozn. Při obecném pohybu platí, že veličiny x i α mají nenulovou rychlost i zrychlení, t.j. ,,, xx jsou obecně nenulové.
Řešení:
Mezi systémem 0 a A platí homogenní transformace (pootočení kolem osy Z o 90o-α).
1000
0100
cos0sincos
sin0cossin
L
Lx
OAH (1)
Poloha bodu A v systému 0 je tedy určena souřadnicemi
cos
sin
Ly
Lxx
A
A (2)
Rychlost a zrychlení bodu A v systému 0 jsou dány derivacemi
Robotika – sbírka příkladů 31
sin
cos
Ldt
dyv
Lxdt
dxv
AAy
AAx
(3)
cossin
sincos
2
2
LLdt
dva
LLxdt
dva
Ay
Ay
AxAx
(4)
Zrychlení bodu A vyjádřené v souřadnicích A získáme s pomocí matice rotace
0
cos
sin
0
cossin
sincos
100
0sincos
0cossin
2
2
2
0,0,
Lx
Lx
LL
LLx
AAAA aRa
(5)
Akcelerometr tedy změří zrychlení (5) ke kterému musíme přidat ještě průmět tíhového
zrychlení do os systému A.
V jednotlivých osách tedy akcelerometr naměří zrychlení
V ose XA
cossin 2 gLx (6)
V ose YA
sincos gLx (7)
32 FEKT VUT v Brně
11. Příklad – Přímá úloha kinematiky, výpočet zrychlení
Na následujícím obrázku je v časovém okamžiku t=0 nakreslena poloha dvoučlánkového
mechanizmu. Člen 1 se otáčí v rotačním kloubu k1 kolem osy Zo proti směru hodin úhlovou
rychlostí sec/10rad . Člen 2 se otáčí v rotačním kloubu k2 kolem osy X3 proti směru
hodin úhlovou rychlostí sec/10 rad . Mechanizmus je nakreslen v poloze 0 .
Rozměry mechanismu jsou 1 1 23 0,5l m l l m . Na konci členu 2 v bodě P jsou nalepeny
akcelerometry ACC. Vypočítejte jaké zrychlení naměří tyto akcelerometry v osách X2 Y2 a
Z2.
Uveďte postup výpočtu, analytické vzorce pro výpočet zrychlení a nakreslete časové průběhy
zrychlení v průběhu jedné otáčky v kloubu k2.
Obr. 11.1 kinematické schéma dvoučlánkového robota
Řešení:
Vzhledem k tomu, že k řešení bude nakonec použit software MATLAB jsou následující
vzorce zapsány ve formátu pro jeho přímé použití.
V dalším tedy znamená
321 lL3;lL2;lL1;ab;aa;wb;wa;be;al
Robotika – sbírka příkladů 33
Homogenní transformace mezi jednotlivými systémy jsou
H01=[cos(al) -sin(al) 0 0; %rotace syst 1 kolem osy Z0 o uhel al
sin(al) cos(al) 0 0;
0 0 1 0
0 0 0 1]
H12=[1 0 0 0; %rotace syst 2 kolem osy X1 o uhel be
0 cos(be) -sin(be) L1;
0 sin(be) cos(be) L2
0 0 0 1]
Homogenní pozice bodu P v systému 2 pak je
P2=[0
L3
0
1]
Homogenní pozice bodu P v systému pak je
P0=H01*H12*P2
=[ -sin(al)*(cos(be)*L3+L1);
cos(al)*(cos(be)*L3+L1);
sin(be)*L3+L2;
1]
Pro kontrolu vypočítáme souřadnice bodu pro al=be=0
P0=[ 0;
L3+L1;
L2;
1]
Pro zjištění zrychlení bodu P musíme nejdříve zjistit jeho rychlost v soustavě 0. Budeme tedy
derivovat jeho souřadnice podle času. (Je třeba si uvědomit, že půjde o derivace složených
funkcí protože jak al tak be jsou funkce času.) Výsledkem derivace x y z složek polohy bodu
P0 podle času tedy bude rychlost VEL v soustavě 0.
VEL0=
[ -cos(al)*wa*(cos(be)*L3+L1)+sin(al)*sin(be)*wb*L3;
-sin(al)*wa*(cos(be)*L3+L1)-cos(al)*sin(be)*wb*L3;
cos(be)*wb*L3]
Pro kontrolu vypočítáme rychlost bodu pro al=be=0
VEL0=
[ -wa*( L3+L1);
0;
wb*L3]
34 FEKT VUT v Brně
Pro zjištění zrychlení musíme ještě derivovat VEL0 podle času. (Je třeba si uvědomit, že
půjde o derivace složených funkcí protože al; be; wa; wb jsou funkce času. Protože otáčivé
rychlosti jsou konstatní budou jejich časové derivace aa=0; ab=0)
ACC0=
[sin(al)*wa^2*(cos(be)*L3+L1)+2*cos(al)*wa*sin(be)*wb*L3+sin(al)*cos(be)*wb^2*
L3;
-cos(al)*wa^2*(cos(be)*L3+L1)+2*sin(al)*wa*sin(be)*wb*L3 -
cos(al)*cos(be)*wb^2*L3;
-sin(be)*wb^2*L3]
Pro kontrolu vypočítáme zrychlení bodu pro al=0 be=90
ACC0=[2*wa*wb*L3;
-wa^2*L1;
- wb^2*L3]
Zrychlení měřené v soustavě 2 je pak dáno průmětem ACC0 a gravitačního zrychlení do
soustavy 2
ACC0g=
[sin(al)*wa^2*(cos(be)*L3+L1)+2*cos(al)*wa*sin(be)*wb*L3+sin(al)*cos(be)*wb^2*
L3;
-cos(al)*wa^2*(cos(be)*L3+L1)+2*sin(al)*wa*sin(be)*wb*L3-
cos(al)*cos(be)*wb^2*L3;
-sin(be)*wb^2*L3-g]
ACC2=R02'*ACC0g
= [2*wa*sin(be)*wb*L3;
-cos(be)^2*wa^2*L3-cos(be)*wa^2*L1-wb^2*L3-sin(be)*g;
sin(be)*wa^2*cos(be)*L3+sin(be)*wa^2*L1-cos(be)*g]
Pro kontrolu:
Naměřené zrychlení nezáleží na úhlu al.
Pro be=90 dostáváme
ACC2=
= [2*wa*wb*L3;
-wb^2*L3-g;
wa^2*L1]
Časové průběhy naměřeného zrychlení pak pomocí MATLABu vypočítáme podle algoritmu
g=9.81
L1=3
L2=0.5
L3=L2
T=2*pi/10
Robotika – sbírka příkladů 35
t=0:0.01:T;
wa=10
wb=10
al=10*t;
be=10*t;
ax= 2*wa*sin(be)*wb*L3;
ay= -cos(be).^2*wa^2*L3-cos(be)*wa^2*L1-wb^2*L3-sin(be)*g;
az= sin(be)*wa^2.*cos(be)*L3+sin(be)*wa^2*L1-cos(be)*g;
subplot(3,1,1)
plot(t,ax);grid
subplot(3,1,2)
plot(t,ay);grid
subplot(3,1,3)
plot(t,az);grid
Obr. 11.2 Průběhy zrychlení , které naměří akcelerometry
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7-100
0
100
ax [
m/s
2]
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7-500
0
500
ay [
m/s
2]
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7-500
0
500
sec
az [
m/s
2]
36 FEKT VUT v Brně
12. Příklad – Přímá úloha kinematiky, výpočet zrychlení
Na následujícím obrázku je v časovém okamžiku t=0 nakreslena vodorovná platforma, která
se otáčí okolo pevné osy Z0 proti směru hodin otáčivou rychlostí sec/10rad s otáčivým
zrychlením 2sec/2 rad . Na platformě je ve vzdálenosti 3m od její osy3m umístěno kolo o
poloměru 0.5m které se otáčí proti směru hodin stálou otáčivou rychlostí min/30ot .
Souřadnice středu kola Ok v systému 1, který je pevně spojen s platformou jsou [0;3;0,5]m.
Systém k je pevně spojen s kolem a otáčí se s ním. Vypočítejte rychlost a zrychlení bodu P na
obvodu kola v zobrazeném okamžiku.
Uveďte postup výpočtu, analytické vzorce pro výpočet rychlosti a zrychlení, složky rychlosti
a zrychlení v soustavě 0 atd.
Obr. 12.1 Kinematické schéma mechanismu
Řešení:
Pomocí homogenních transformací vyjádříme vztah mezi jednotlivými souřadnými systémy a
posléze obecnou polohu bodu P v pevném souřadném systému 0.
11
)(
1
)(
11
110101
101
0 kkkxzk
k
p
0
dR
0
dRpHH
p (1)
Kde R jsou matice rotace mezi jednotlivými systémy a d jsou vektory posunutí mezi těmito
systémy. Provedeme násobení (1)
11
)()()(
1
011011010 kkzkxz p
0
ddRRRp (2)
Odtud pro polohu p0 dostáváme
011011010 )()()( ddRpRRp kzkkxz (3)
Jednotlivé matice a vektory v (3) jsou zřejmě
Robotika – sbírka příkladů 37
0
5.0
0
5.0
3
0
0
0
0
cossin0
sincos0
001
)(
100
0cossin
0sincos
)(
101
101
kk
kxz
pdd
RR
(4)
Po dosazení (4) do (3) dostáváme
5.0sin5.0
cos3coscos5.0
sin3cossin5.0
0p (5)
V daném časovém okamžiku platí 0;0 viz. obrázek. Dosazením těchto hodnot do (4)
a (3) resp. (5) dostáváme konkrétní souřadnice bodu P v systému 0 pro tento časový okamžik.
5.0
5.3
0
0p (6)
Rychlost bodu P v soustavě 0 získáme derivací polohy (3), případně (5) podle času (časově
proměnné argumenty rotačních matic jsou pro jednoduchost vynechány)
kzkkxzkxz 10110110100 )( dRpRRRRpv (7)
Jednotlivé derivace v (7) jsou
sincos0
cossin0
000
000
0sincos
0cossin
11
0101
d
d
d
d
kxkx
zz
RR
RR
(8)
Po dosazení z (8) a (4) do (7) dostáváme
cos5.0
sin3sincos5.0cossin5.0
cos3sinsin5.0coscos5.0
0
v (9)
V daném časovém okamžiku platí sec/60/302;10 rad . Dosazením těchto hodnot
do (7) resp. (9) dostáváme pro daný časový okamžik
38 FEKT VUT v Brně
sm /
571.1
0
35
0v (10)
Zrychlení bodu P v soustavě 0 získáme derivací rychlosti (7) podle času (časově proměné
argumenty rotačních matic jsou pro jednoduchost vynechány)
kzkkxzkxzkxz
kzkkxzkxzkxzkxz
101101101101
10110110110110100
)2(
)(
dRpRRRRRR
dRpRRRRRRRRva
(11)
Druhé derivace matic v (11) jsou
cossin0
sincos0
000
sincos0
cossin0
000
000
0cossin
0sincos
000
0sincos
0cossin
2
2
1
221
1
2
2
01
2201
01
d
d
d
d
d
d
d
d
kxkxkx
zzz
RRR
RRR
(12)
Po dosazení z (4), (8) a (12) do (11) dostáváme
sin5.0cos5.0
cos3sin3)cossin(cos5.0sinsincos)cossin(5.0
sin3cos3)cossin(sin5.0sincoscos)sincos(5.0
2
222
222
0
a
(13)
V daném časovém okamžiku platí navíc 2sec/0;2´ rad . Dosazením těchto hodnot
do (13),(12) resp. (11) dostáváme pro daný časový okamžik
2
0 /
0
354.93-
7
sma (14)
Zjištěné hodnoty zrychlení odpovídají základní fyzikální představě. Zrychlení ve směru osy
X0 je dáno tangenciálním zrychlením bodu P (jeho abs. hodnota je 5.3 ). Zrychlení bodu P
ve směru osy Y0 je dáno dostředivým zrychlením v důsledku rotace platformy a dostředivým
zrychlením v důsledku rotace kola (abs. hodnota je 22 5.05.3 ).
Robotika – sbírka příkladů 39
13. Příklad – Inverzní úloha kinematiky, plánování dráhy
Na následujícím obrázku je nakreslen planární robot se dvěma rotačními klouby.
Obr. 13.1 Kinematické schéma planárního robota
Koncový bod K robotu se má pohybovat po kružnici ve směru šipky tak že v čase t=0 je
v bodě A a má nulovou rychlost. Do bodu 2 se koncový bod pohybuje s konstantním
tangenciálním zrychlením a a od bodu 2 do bodu A stejným způsobem zpomaluje, takže
v čase tf=20 sec se opět dostává do bodu A a má nulovou rychlost.
a) Vypočítejte analytický výraz pro průběh souřadnic x(t) a y(t) bodu K a nakreslete
grafy těchto funkcí.
b) Vypočítejte inverzní úlohu kinematiky pro tento případ, tj. analytický výraz pro
průběh kloubových souřadnic q1(t) a q2(t), který zajistí žádaný pohyb koncového
bodu. Nakreslete grafy těchto funkcí.
c) Nahraďte právě vypočítané průběhy q1(t) a q2(t) přirozenými kubickými splajny, tak,
že splajny budou mít uzlové body odpovídající časům a bodům A,1,2,3,A na kružnici.
přehledně uveďte tabulku koeficientů náhradních polynomů v jednotlivých
intervalech
nakreslete graf kloubových souřadnic q1(t) a q2(t) které nyní probíhají podle
Vámi nalezených splajnů
nakreslete graf x(t) a y(t) za předpokladu, že q1(t) a q2(t) probíhají podle Vámi
nalezených splajnů
nakreslete trajektorii y(x) koncového bodu K za předpokladu, že q1(t) a q2(t)
probíhají podle Vámi nalezených splajnů. (pozn. Trajektorie musí procházet
body A,1,2,3,A)
d) Nahraďte funkce x(t) a y(t) vypočítané v bodě a) přirozenými kubickými splajny ve
stejných uzlových bodech a porovnejte získané trajektorie y(x).
Pozn. Rozměry na obrázku jsou uvedeny v cm.
Na obrázku je uveden kladný směr počítání kloubových souřadnic.
Inverzní úloha má 2 řešení. Volte to řešení, které dává pozitivní hodnoty q2.
Výpočet splajnů je uveden v učebním textu Fajmon B. ,Hlavičková I., Novák M.:
Matematika_3_S.pdf pro kurz BMA3 FEKT VUT v Brně.
40 FEKT VUT v Brně
Řešení:
a)
Pro odlehlost bodu K od bodu A na kružnici při požadovaném pohybu platí
f
f
f
f
tt
tprottaR
ttproatts
;2
)(2
12
2;0
2
1)(
2
2
(1)
Pro odlehlost bodu 2 od bodu A na kružnici platí
22
22
22
1
f
f
tRa
taR (2)
Pro úhel který svírá spojnice středu kružnice s bodem K s osou x platí
2
)()(
R
tst (3)
Platí tedy
))(
sin(60)sin(40)(
))(
cos(60)cos(60)(
R
tsRRty
R
tsRRtx
(4)
b)
S využitím vět pro výpočet trojúhelníků (m.j. věta sinová a kosinová) platí, viz násl obr.
Obr. 13.2 Trojúhelník k řešení inverzní úlohy
sinarcsinsinsin
2arccos
2cos
22
21
22
2
2
1
21
22
2
2
1
22
l
l
l
l
ll
lll
ll
lll
x
yarctg
yxl
(5)
Robotika – sbírka příkladů 41
Odtud
2
1
q
q (6)
c)
Uzlové body splajnů se nachází v časech fttttt ,,,,0 321
Platí (s využitím symetrie úlohy)
13
2
1
2
1
2
2
1
2
ttt
tt
a
Rtat
R
f
f (7)
Hodnoty q1 a q2 v těchto uzlových bodech získáme dosazením časů (7) do rovnic (4) a
následným dosazením hodnot x a y do rovnic (5)-(6)
Tabulka uzlových bodů pro výpočet splajnů
t [s] 0 7.0711 10.0000 12.9289 20.0000
x [cm] 60 80 60 40 60
y [cm] 20 40 60 40 20
q1 [o] -19.3263 5.2656 19.6254 4.9989 -19.3263
q2 [o] 104.4775 54.3147 65.3757 114.6243 104.4775
Koeficienty kubických polynomů 32 dxcxbxa tvořících splajny kloubových souřadnic
vypočteme podle doporučené literatury
Koeficienty kubických polynomů pro q1 [o]
čas. interval d c b a
0-7.0711 0.0298 0.0000 1.9886 -19.3263
7.0711-10 -0.3968 0.6318 6.4563 5.2656
10-12.9289 0.3990 -2.8549 -0.0550 19.6254
12.9289-20 -0.0307 0.6511 -6.5096 4.9989
Koeficienty kubických polynomů pro q2 [o]
čas. interval d c b a
0-7.0711 0.0499 0.0000 -9.5909 104.4775
7.0711-10 0.3234 1.0593 -2.1005 54.3147
10-12.9289 -0.8205 3.9010 12.4278 65.3757
12.9289-20 0.1560 -3.3087 14.1624 114.6243
Požadované grafy jsou uvedeny na následujících obrázcích. Červené průběhy jsou průběhy
odpovídající splajnům.
42 FEKT VUT v Brně
Obr. 13.3 Časové průběhy kloubových souřadnic
Obr. 13.4 Časové průběhy kartézských souřadnic
0 2 4 6 8 10 12 14 16 18 20-20
-10
0
10
20
cas [sec]
q1
[o
]
0 2 4 6 8 10 12 14 16 18 2040
60
80
100
120
140
cas [sec]
q2
[o
]
0 2 4 6 8 10 12 14 16 18 2030
40
50
60
70
80
90
cas [sec]
x [
cm
]
0 2 4 6 8 10 12 14 16 18 2010
20
30
40
50
60
70
cas [sec]
y [
cm
]
Robotika – sbírka příkladů 43
Obr. 13.5 Průběh dráhy v pracovním prostoru
d)
Koeficienty kubických polynomů 32 dtctbta tvořících splajny kartézských souřadnic x
a y vypočteme podle doporučené literatury
Koeficienty kubických polynomů pro x [cm]
čas. interval [s] d c b a
0-7.0711 -0,068 0,000 6,243 60,000
7.0711-10 0,165 -1,449 -4,000 80,000
10-12.9289 0,165 0,000 -8,243 60,000
12.9289-20 -0,068 1,449 -4,000 40,000
Koeficienty kubických polynomů pro y [cm]
čas. interval [s] d c b a
0-7.0711 0,057 0,000 0,000 20,000
7.0711-10 -0,603 1,200 8,485 40,000
10-12.9289 0,603 -4,097 0,000 60,000
12.9289-20 -0,057 1,200 -8,485 40,000
35 40 45 50 55 60 65 70 75 80 8515
20
25
30
35
40
45
50
55
60
65
x [cm]
y [
cm
]
44 FEKT VUT v Brně
Obr. 13.6 Průběh dráhy v pracovním prostoru
35 40 45 50 55 60 65 70 75 80 8515
20
25
30
35
40
45
50
55
60
65
x [cm]
y [
cm
]
požadovaná trajektorie
uzlové body
splajn v kloubových souřadnicích
splajn v kartézských souřadnicích
Robotika – sbírka příkladů 45
14. Příklad – Inverzní úloha kinematiky
Na následujícím obrázku je nakresleno kinematické schéma teodolitu který má sledovat letící
objekt. XYZ0 je souřadný systém pevně spojený se Zemí. XYZT je souřadný systém spojený
s teodolitem, který se může otáčet kolem osy Z0 a kolem osy YT. Objekt letí od severu
konstantní rychlostí 33.3 m/s po přímce a je sledován od bodu A do bodu B. Souřadnice
těchto bodů jsou zadány v systému XYZ0 , A=[2000;100;-1000]T , B=[-2000;100;-1000]
T .
Vypočítejte časové průběhy úhlů a .
(Uveďte analytické výrazy a graf. Respektujte kladný směr os Z)
Obr. 14.1 Kinematické schéma teodolitu
Řešení:
Řešení má demonstrovat chování mechanické soustavy v blízkém okolí singulární polohy. Do
takové polohy se řešená soustava dostává pro 90o.
K řešení využijeme jednoduchou geometrii.
Úhel Ψ je úhel, který svírá průmět L průvodiče letícího objektu do roviny XYo s osou Xo, viz
obr. 1.
atan2( , )y x (1.1)
kde atan2 je funkce deklarovaná v Matlab.
V našem konkrétním případě je
100
2000 33,3 0;120sec
y
x t t (1.2)
46 FEKT VUT v Brně
Úhel Θ je úhel mezi průvodičem letícího objektu a jeho průmětem L do roviny XYo viz obr.
2.
atanz
L (1.3)
kde
2 2L x y (1.4)
V našem konkrétním případě je z= -1000.
Po dosazení konkrétních hodnot dostaneme požadované grafické průběhy úhlů.
AB
Xo
Yo
2000
-2000
100
-1000
L
[x,y ],z
O
Zo
Obr. 14.2 Ilustrace úlohy
Robotika – sbírka příkladů 47
Obr. 14.3 Časové průběhy kloubových souřadnic
0 20 40 60 80 100 1200
20
40
60
80
100
120
140
160
180
sec
de
g
psitheta
48 FEKT VUT v Brně
15. Příklad – Inverzní úloha kinematiky
Orientace létajícího robota proti Zemi je dána třemi úhly kurzem Ψ sklonem Θ a náklonem Φ
(viz obr.1) a jim odpovídající maticí směrových cosinů resp. maticí rotace R0R.
1. Odvoďte výraz podle kterého vypočítáte matici R0R ze znalosti úhlů Ψ , Θ , Φ.
2. Navigační systém robotu Vám oznámil matici R0R
0.9254 0.0180 0.3785
Ror = 0.1632 0.8826 -0.4410
-0.3420 0.4698 0.8138
vypočítejte jí odpovídající úhly Ψ , Θ , Φ.
Obr. 15.1 Eulerovy úhly RPY
V dalším platí ΦfiiΘthΨpsi
Řešení:
1.
Robotika – sbírka příkladů 49
Rz=[cos(psi) -sin(psi) 0
sin(psi) cos(psi) 0
0 0 1]
Ry=[cos(th) 0 sin(th)
0 1 0
-sin(th) 0 cos(th)]
Rx=[1 0 0
0 cos(fii) -sin(fii)
0 sin(fii) cos(fii)]
Ror=Rz*Ry*Rx
= [cos(psi)*cos(th), -sin(psi)*cos(fii)+cos(psi)*sin(th)*sin(fii), sin(psi)*sin(fii)+cos(psi)*sin(th)*cos(fii)]
[ sin(psi)*cos(th), cos(psi)*cos(fii)+sin(psi)*sin(th)*sin(fii), -cos(psi)*sin(fii)+sin(psi)*sin(th)*cos(fii)]
[ -sin(th), cos(th)*sin(fii), cos(th)*cos(fii) ]
2.
inverze s kladným znaménkem cos(Θ)
th=atan2(-Ror(3,1),sqrt(1-Ror(3,1)^2)) = 20o
psi=atan2(Ror(2,1),Ror(1,1)) = 10o
fii=atan2(Ror(3,2),Ror(3,3)) = 30o
inverze se záporným znaménkem cos(Θ)
th=atan2(-Ror(3,1),-sqrt(1-Ror(3,1)^2)) = 160o
psi=atan2(-Ror(2,1),-Ror(1,1)) = -170o
fii=atan2(-Ror(3,2),-Ror(3,3)) = -150o
50 FEKT VUT v Brně
16. Příklad – Dynamika
Planární manipulátor z následujícího obrázku se pohybuje ve vertikální rovině tak, že jeho
jednotlivé klouby vykonávají zrychlený pohyb z počátečních poloh 0,5mr(0);90)0( o .
Kloub φ se pohybuje se zrychlením ε=180o/s
2 , kloub r se pohybuje se zrychlením
a=0,25m/s2.
Vypočítejte jaké momenty, síly a výkony musí vyvinout motory v kloubech manipulátoru
během jedné otáčky kloubu φ. Uveďte grafy jejich časových průběhů a analytické výrazy pro
jejich výpočet.
Parametry manipulátoru jsou m1=1kg, m2=0,5kg, r1=0,1m. Tíhové zrychlení g=9,81ms-2
.
Dynamický model manipulátoru je
F
M
gm
grmrm
rrm
rm
rm
rmrm
sin
cos)(
0
20
0
0
2
211
2
2
2
2
2
2
11
Obr. 16.1 Planární manipulátor
Pohyb kloubu φ se řídí rovnicí
21
90 0;2
o
ft pro t t
Jednu otáčku vykoná kloub za čas tf
21 720360 2
2 180
o
ft tf
Rychlost kloubu a zrychlení kloubu se řídí rovnicemi
t
Pohyb kloubu r se řídí rovnicemi
21
0.5; ;2
r at r at r a
Vysunutí kloubu v čase tf tedy je
21
( ) 0.5 12
f fr t at m
Robotika – sbírka příkladů 51
Hodnoty ( ), ( ), ( ), ( ), ( ), ( )t t t r t r t r t dosadíme do dynamického modelu manipulátoru a
vypočítáme časové průběhy M(t) a F(t).
2 2
1 1 2 2 1 1 2
2
2 2 2
( ) ( ) 2 ( ) cos
( ) sin
M t m r m r m r r m r m r g
F t m r m r m g
Časové průběhy výkonů v jednotlivých kloubech získáme podle rovnic
( ) ; ( )m fW t M W t Fr
Obr. 16.2 Průběhy polohy, rychlosti a zrychlení kloubové proměnné φ
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2-100
0
100
200
300fii
[de
g]
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20
100
200
300
400fiid
[de
g/s
]
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2179
179.5
180
180.5
181fiidd
[de
g/s
2]
[s]
52 FEKT VUT v Brně
Obr. 16.3 Průběhy polohy, rychlosti a zrychlení kloubové proměnné r
Obr. 16.4 Průběhy momentů, sil a výkonů v jednotlivých kloubech
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20.4
0.6
0.8
1r
[m]
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20
0.2
0.4
0.6
0.8rd
[m/s
]
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2-1
0
1
2rdd
[m/s
2]
[s]
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2-5
0
5
10M
[Nm
]
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2-20
0
20
40Wm
[W]
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2-30
-20
-10
0F
[N]
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2-15
-10
-5
0Wf
[W]
[s]
Robotika – sbírka příkladů 53
Obr. 16.5 Průběhy sil v kloubu r
Obr. 16.6 Průběhy momentů v kloubu φ
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2-20
-15
-10
-5
0
5
[s]
[N]
setrv.sila
dostredivasila
gravitace
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2-6
-4
-2
0
2
4
6
[s]
[Nm
]
m coriolis
m gravitace
setrvacnymoment
54 FEKT VUT v Brně
17. Příklad – Dynamika a plánování dráhy
Planární manipulátor z předchozího příkladu se pohybuje ve vertikální rovině tak, že jeho
koncový bod m2 se pohybuje po přímkové dráze z bodu [0.5;0;0] do bodu [0.5;1;0]. (Zadány
jsou souřadnice [x;y;z]). Tuto dráhu má projet za 2 sec. tak, že do poloviny dráhy bude
maximálně zrychlovat a od poloviny dráhy bude maximálně zpomalovat.
Vypočítejte jaké momenty a síly a výkony musí vyvinout motory v kloubech manipulátoru.
Uveďte grafy jejich časovýh průběhů.
Parametry manipulátoru jsou m1=1kg, m2=0,5kg, r1=0,1m,
Dynamický model manipulátoru je
F
M
gm
grmrm
rrm
rm
rm
rmrm
sin
cos)(
0
20
0
0
2
211
2
2
2
2
2
2
11
Řešení:
Pohyb robota probíhá v časovém intervalu 0 až Tf=2sec.
Při pohybu robota je souřadnice x koncového bodu konstantní, x=0.5m a y se mění v intervalu
od 0 do yf=1m.
Pro souřadnici y při požadovaném pohybu platí
f
f
f
f
f
f
TT
tproatatTT
ay
Ttproaty
;2
(2
2;0
2
1
2
2
2
(1)
Z první rovnice (1) vypočítáme při 2
a2
ff yy
Tt požadované zrychlení pohybu
2
4
f
f
T
ya (2)
Po dosazení numerických hodnot dostáváme tedy a=1m/s2.
K řešení úlohy musíme vypočítat inverzní úlohu kinematiky. Pro daný manipulátor a časové
průběhy veličin x a y platí
f
f
f
TT
tprott
Ttprot
yxr
;2
()5.021(5.0
2;025.05.0
222
42
22
(3)
Robotika – sbírka příkladů 55
2
2
( ) 0;2
1 2 0.5( ;
0.5 2
f
f
f
yarctg
x
Tarctg t pro t
Tt tarctg pro t T
(4)
Pro výpočet sil a momentů budeme potřebovat vypočítat rychlosti a zrychlení kloubových
proměnných.
Rychlosti a zrychlení jsou níže vyjádřeny ve formě použitelné pro výpočet úlohy
v MATLABu
dt
dr
1/(1+t^4)^(1/2)*t^3.... pro 2
;0fT
t
(t-2)*(2-4*t+t^2)/(5-16*t+20*t^2-8*t^3+t^4)^(1/2)..... pro f
fT
Tt :
2(
2
2
dt
rd
t^2*(t^4+3)/(1+t^4)^(3/2) ..... pro 2
;0fT
t
(t-1)*(t-3)*(t^4-8*t^3+19*t^2-12*t+6)/(5-16*t+20*t^2-8*t^3+t^4)^(3/2)
pro f
fT
Tt :
2(
dt
d
2*t/(1+t^4) ...... pro 2
;0fT
t
(4-2*t)/(1+(2-4*t+t^2)^2) ..... pro f
fT
Tt :
2(
2
2
dt
d
-2*(-1+3*t^4)/(1+t^4)^2 ...... pro 2
;0fT
t
2*(27-80*t+68*t^2-24*t^3+3*t^4)/(5-16*t+20*t^2-8*t^3+t^4)^2
pro f
fT
Tt :
2(
56 FEKT VUT v Brně
Podobně jako v předchozím příkladu časové průběhy kloubových proměnných a jejich
derivací dosadíme do rovnic dynamiky a dostaneme tak časové průběhy M a F. Z časových
průběhů M, F a rychlostí odpovídajících kloubových souřadnic dostaneme požadované
výkony jednotlivých pohonů.
Nepříjemný analytický výpočet derivací kloubových proměnných lze obejít numerickou
diferencí. Průběhy získané pomocí numerické diference jsou na následujících obrázcích
uvedeny modře a jsou vypočítány pro krok času sec02.0t .
Obr. 17.1 Časové průběhy souřadnice r a jejich derivací
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20.5
1
1.5
[sec]
[m]
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20
0.5
1
[sec]
[m/s
]
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2-1
0
1
2
[sec]
[m/s
2]
Robotika – sbírka příkladů 57
Obr. 17.2 Časové průběhy souřadnice φ a jejich derivací
Obr. 17.3 Časové průběhy F, M a výkonu (červeně je uveden výkon v souřadnici φ)
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20
50
100
[sec]
[deg]
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20
0.5
1
1.5
[sec]
[deg/s
]
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2-4
-2
0
2
[sec]
[deg/s
2]
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20
2
4
[sec]
[N]
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 22.5
3
3.5
4
[sec]
[Nm
]
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20
2
4
6
[sec]
[W]
58 FEKT VUT v Brně
18. Příklad – Dynamika a plánování dráhy
Planární manipulátor z 17. příkladu se pohybuje ve vertikální rovině tak, že jeho koncový
bod m2 opisuje kruhovou dráhu o poloměru 0,4 m se středem v bodě [0,7; 0,7; 0] z bodu
[0,7;0,3;0] do stejného bodu [0,7;0,3;0] proti pohybu hodin. (Zadány jsou souřadnice [x;y;z]
v metrech). Tuto dráhu má projet za 2 sec. tak, že do poloviny dráhy bude maximálně
zrychlovat a od poloviny dráhy bude maximálně zpomalovat.
Vypočítejte jaké momenty, síly a výkony musí vyvinout motory v kloubech manipulátoru.
Uveďte grafy jejich časových průběhů a analytické výrazy pro jejich výpočet.
Parametry manipulátoru jsou m1=1kg, m2=0,5kg, r1=0,1m,
Dynamický model manipulátoru je
F
M
gm
grmrm
rrm
rm
rm
rmrm
sin
cos)(
0
20
0
0
2
211
2
2
2
2
2
2
11
Řešení:
Pro názornost si nakreslíme dráhu po které má obíhat koncový bod a polohu ramene v časech
0, 1, a 2 sec.
Obr. 18.1 Požadovaná dráha mechansmu
Při pohybu robota je dráha, kterou koncový bod urazí na kružnici od počáteční polohy dána
rovnicemi
f
f
f
f
f
TT
tprot
aatTT
aS
Ttproats
;2
(22
2;0
2
1
22
2
(1)
Kde S=2πR je celková délka dráhy o poloměru R a Tf je celkový čas, za který má bod opsat
celý kruh.
Z první rovnice (1) vypočítáme při 2
a2
Ss
Tt
fpožadované zrychlení pohybu
2
4
fT
Sa (2)
Robotika – sbírka příkladů 59
Po dosazení numerické hodnoty 2fT dostáváme tedy
Sa (3)
Po dosazení z (3) do (1) a použití 2fT dostaneme
2;1(2
121
1;02
1
2
2
tprottS
tproSts
(4)
Vzdálenost bodu na kružnici od počátečního bodu pohybu může být také vyjádřena rovnicí
sS
SRs
2
2 (5)
Dosazením do (4) dostaneme
2;1(2
212
1;0
2
2
tprot
t
tprot
(6)
Pro souřadnice polohy koncového bodu robota platí
cos7,0
sin7,0
Ry
Rx (7)
Po dosazení za α z (6) tak dostáváme souřadnice polohy koncového bodu
2
2
2
2
0,7 0,4sin ( ) 0;1
0,7 0.4sin 2 1 2 (1;22
0,7 0,4cos( ) 0;1
0,7 0.4cos 2 1 2 (1;22
x t pro t
tt pro t
y t pro t
tt pro t
(8)
K řešení úlohy musíme vypočítat inverzní úlohu kinematiky. Pro daný manipulátor a časové
průběhy veličin x a y platí
60 FEKT VUT v Brně
2 2
2 22 2
2 22 2
0,7 0,4sin( ) 0,7 0,4cos( ) 0;1
0,7 0.4sin 2 1 2 0,7 0.4cos 2 1 2 (1;22 2
r x y
t t pro t
t tt t pro t
(9)
2
2
2
2
0,7 0,4cos( )0;1
0,7 0,4sin ( )
0,7 0.4cos 2 1 22
(1;2
0,7 0.4sin 2 1 22
yarctg
x
tarctg pro t
t
tt
arctg pro tt
t
(10)
Z těchto časových průběhů bude potřeba vypočítat derivace kloubových veličin, které pak
dosadíme do rovnic dynamiky. Vzhledem ke složitosti výrazů je rozumné provést tento
výpočet numericky prostou diferencí vektorů r a φ vypočítaných např. v MATLABu podle vz.
(9) a (10) s dostatečně malým a konstantním časovým krokem.
Vypočítané časové průběhy kloubových veličin a jejich derivací jsou uvedeny na obr.2.
Vypočítané průběhy kloubových veličin a jejich derivací pak dosadíme do levých stran rovnic
dynamiky a vypočítáme průběhy požadované síly a momentu. Hodnoty výkonů jednotlivých
pohonů jsou pak dány součiny
dt
dMW
dt
drFWr (11)
Vypočítané průběhy síly, momentu a výkonů jsou pak uvedeny na obr. 3.
Robotika – sbírka příkladů 61
Obr. 18.2 Průběhy kloubových veličin
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20.5
1
1.5r
[m]
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2-4
-2
0
2rd
[m/s
]
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2-20
-10
0
10rdd
[m/s
2]
[s]
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 220
40
60
80fii
[deg]
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2-200
-100
0
100fiid
[deg/s
]
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2-1000
-500
0
500fiidd
[deg/s
2]
[s]
62 FEKT VUT v Brně
Obr. 18.3 Průběhy sil, momentů a výkonů v jednotlivých kloubech
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2-5
0
5
10
15M
[Nm
]
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2-10
-5
0
5
10
15Wm
[W]
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2-5
0
5
10F
[N]
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2-20
0
20
40
60
80Wf
[W]
[s]
Robotika – sbírka příkladů 63
19. Příklad – Plánování dráhy
Na následujícím obrázku je nakreslen planární manipulátor, který obsluhuje dopravník
rovnoběžný s osou y0. Na dopravníku je objekt identifikovaný bodem P. Koncový bod
manipulátoru E se má setkat s bodem P když tento dorazí do bodu Q.
Dopravník se pohybuje konstantní rychlostí v ve směru osy y0.
Koncový bod manipulátoru se musí pohybovat po přímce E0Q rovnoběžné s osou x0.
V čase t=0 je bod P v pozici P0 a koncový bod manipulátoru je v bodě E0.
Pohyb koncového bodu manipulátoru po přímce E0Q musí být takový, že časový průběh
souřadnice x koncového bodu se řídí zákonem x(t)=at3+ bt
2+ ct +d tak, že rychlost pohybu je
nulová jak v čase t=0 a tak v čase setkání obou bodů.
Obr. 19.1 Schéma manipulátoru a pracovního prostoru
Vypočítejte časový průběh souřadnice x kloubových souřadnic s1 a , který zajistí splnění
zadání.
Uveďte analytické formule pro jejich výpočet a grafy jejich průběhů v čase pro h=0,5m,
k=1m a v=0,1m/s.
Řešení:
Nejprve vyřešíme úlohu plánování dráhy.
Bod P dorazí do bodu Q v čase
v
ht f
Trajektorie x(t) koncového bodu E robota musí splňovat následující podmínky
64 FEKT VUT v Brně
0|)(
|)(
0|)(
0|)(
0
0
tft
tft
t
t
tx
ktx
tx
tx
odtud
0|23
|
00|23
00|
0
2
23
0
2
0
23
t
tft
t
t
btt
kbtat
ccbtt
ddctbtat
Z posledních dvou rovnic vyřešíme koeficienty a a b.
23
32h
vkb
h
vka
Pro x(t) tedy platí
2
2
3
3
32)( th
vkt
h
vktx
Z geometrie konfigurace a robota vyřešíme inverzní úlohu kinematiky
2 2
1
( ) ( )
atan( )
s t x t h
h
x t
Po dosazení numerických hodnot h=0,5m, k=1m a v=0,1m/s získáme konkrétní průběhy
požadovaných hodnot pro časový interval 0 až tf=5s.
Robotika – sbírka příkladů 65
Obr. 19.2 Průběhy veličiny x a kloubových proměnných
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50
0.5
1
x[m
]
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50
0.5
1
1.5
s[m
]
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 520
40
60
80
100
sec
th[d
eg
]
66 FEKT VUT v Brně
20. Příklad – Plánování dráhy
Planární robot se pohybuje v rovině XY jako hmotný bod po parabole zadané rovnicí y x
konstantní tečnou rychlostí v = 0.1 m/s. Pohyb je zahájen v poloze x(0) = 0 a končí v poloze
x(tf) = 10m.
Vypočítejte
1. Časové průběhy jeho souřadnic x(t) y(t) v intervalu <0;tf>
2. Časové průběhy jeho rychlostí ( ) ( )x yv t v t v intervalu <0;tf>
3. Časové průběhy jeho zrychlení ( ) ( )x ya t a t v intervalu <0;tf>
Nagreslete grafy těchto závislostí
Řešení:
Řešení je poněkud komplikovanější, proto využijeme symbolický toolbox Matlabu a některé
otázky vyřešíme numericky. K řešení lze přistoupit dvěma způsoby
a) Za parametr křivky zvolíme proměnnou x.
Pak pro vyjádření délky křivky platí
0
1( ) (1 ) ( ) (0)
4
x
s x d F x F
Výpočet primitivní funkce F v symbolickém toolboxu dá poměrně komplikovaný výraz
>> syms x real
>>F= int(sqrt(1+1/4/x))
(x*(1/(4*x) + 1)^(1/2)*(log(x + (x^2 + x/4)^(1/2) + 1/8)/(x^2 + x/4)^(1/2) + 8))/8
2
2
1ln
4 81 1( ) 1 8
8 4
4
xx x
F x xx x
x
Tato funkce není spojitá v x=0. Její limity zprava a zleva jsou
>> limit(F,x,0,'right')
-log(8)/8=-0.2599
>> limit(F,x,0,'left')
(3*log(2))/8=0.2599
Délka křivky je tedy
sx=(x*(1/(4*x) + 1)^(1/2)*(log(x + (x^2 + x/4)^(1/2) + 1/8)/(x^2 + x/4)^(1/2) + 8))/8+ log(8)/8
Robotika – sbírka příkladů 67
b) Za parametr křivky zvolíme proměnnou y.
Pak pro vyjádření délky křivky platí
2
0( ) (1 4 ) ( ) (0)
x
s y y d F y F
Výpočet primitivní funkce F v symbolickém toolboxu dá výraz
F=asinh(2*y)/4 + y*(y^2 + 1/4)^(1/2)
2asinh(2 ) 1( )
4 4
yF y y y
který je jednodušší a platí pro něj F(0)=0. Délka křivky pak je
sy=asinh(2*y)/4 + y*(y^2 + 1/4)^(1/2)
V obou případech pak můžeme sestavit tabulku, ze které dokážeme numericky zjistit potřebné
závislosti.
i x y s dt t vx vy ax ay
1
2
3
….. ….. ….. ….. ….. ….. ….. ….. ….. …..
kde
( ) ( 1) ( ) / 1,2,....
( 1) ( ) ( ) (1) 0 1,2,.....
( ) ( 1) ( ) / ( ) 1,2,....
( ) ( 1) ( ) / ( ) 1,2,....
( ) ( 1) ( ) / ( ) 1,2,....
( ) ( 1) ( ) / ( ) 1,2,....
dt i s i s i v i
t i t i dt i t i
vx i x i x i dt i i
ax i vx i vx i dt i i
vy i y i y i dt i i
ay i vy i vy i dt i i
Dělení, resp. krok tabulky musí být dostatečně jemný. Klíčový je výpočet dt(i).
Časové průběhy jednotlivých veličin pro krok veličiny x 0.01m jsou uvedeny na následujícím
obrázku. Čas za kterou je dráha vykonána je 106.6 sec.
68 FEKT VUT v Brně
Obr. 20.1 Průběhy polohy, rychlostí a zrychlení robota
0 20 40 60 80 100 1200
2
4
6
8
10
12m
0 20 40 60 80 100 1200
0.02
0.04
0.06
0.08
0.1
m/s
0 20 40 60 80 100 120-0.01
-0.005
0
0.005
0.01
0.015
0.02
sec
s
x
y
vx
vy
ax
ay