Professional Documents
Culture Documents
(
(
(
=
(
(
(2.2)
Thay cc gi tr trong bng DH vo cng thc A
i
ta tnh c cc ma trn A
i
nh sau:
1 1 1 1
1 1 1 1 0
1
C 0 S a C
S 0 C a S
A
0 1 0 0
0 0 0 1
(
(
(
=
(
(
2 2 2 2
2 2 2 2 1
2
C S 0 a C
S C 0 a S
A
0 0 1 0
0 0 0 1
(
(
(
=
(
(
3 3 3 3
3 3 3 3 2
3
C 0 S a C
S 0 C a S
A
0 1 0 0
0 0 0 1
(
(
(
=
(
(
4 4
4 4 3
4
i 4
C 0 S 0
S 0 C 0
A
0 1 C d
0 0 0 1
o
(
(
(
=
(
(
5 5
5 5 4
5
C 0 S 0
S 0 C 0
A
0 1 0 0
0 0 0 1
(
(
(
=
(
(
6 6
6 6 5
6
6
C S 0 0
S C 0 0
A
0 0 1 d
0 0 0 1
(
(
(
=
(
(
Bi tp ln Robot Cng nghip KuKa Robot (6R)
V Ngc Trng CDT2_K52 17
4) Phng trnh ng hc
Ma trn T
i
l tch cc ma trn A
i
v l ma trn m t v tr v hng ca h
ta gn lin vi khu th i, so vi h ta c nh: T
i
= A
1
A
2
A
i
, i = 1..n
Trong trng hp i = n, vi n l s hiu ch h ta gn lin vi im tc
ng cui (End-Effector) th ta c:
T
n
= A
1
A
2
A
n
cng chnh l ma trn trng thi cui T
E
: T
E
= T
n
hay:
x x x x
y y y y
n
z z z z
n s a p
n s a p
T
n s a p
0 0 0 1
(
(
(
=
(
(
y ta gi ta im cui l D(d
x
, d
y
, d
z
) cn im P quyt nh v tr ca
D.
V vy v tr v hng ca khu chp hnh cui c cho bi ma trn :
x x x x
y y y y 0 0 1 2 3 4 5
6 1 2 3 4 5 6
z z z z
n s a d
n s a d
A A . A . A . A . A . A
n s a d
0 0 0 1
(
(
(
= =
(
(
(2.3)
- Nhn 3 ma trn u vi nhau ta c:
0 0 1 2
3 1 2 3
A A . A . A = =
( )
( )
1 23 1 1 23 1 1 2 2 3 23
1 23 1 1 23 1 1 2 2 3 23
23 23 2 2 3 23
C C S CS C a a C a C
S C C S S S a a C a C
S 0 C a S a S
0 0 0 1
+ + (
(
+ +
(
=
(
+
(
(2.4)
- Nhn 3 ma trn cn li:
3 3 4 5
6 4 5 6
A A . A . A = =
4 5 6 4 6 4 5 6 4 6 4 5 6 4 5
4 5 6 4 6 4 5 6 4 6 4 5 6 4 5
5 6 5 6 5 4 6 5
C C C S S C C S S C C S d C S
S C C C S S C S C C S S d S S
S C S S C d d C
0 0 0 1
(
(
+ +
(
=
( +
(
(2.5)
Ta c phng trnh cn bng sau:
0 0 3
6 3 6
A A . A = (2.6)
Trong cc phng trnh trn: C
i
cos
i
S
i
sin
i
C
ij
cos(
i
+
j
) S
ij
sin(
i
+
j
)
Bi tp ln Robot Cng nghip KuKa Robot (6R)
V Ngc Trng CDT2_K52 18
Thay cc phng trnh (2.3), (2.4), (2.5) vo PT (2.6) v cn bng cc phn t
ta c h 12 phng trnh:
n
x
= C
1
[C
23
(C
4
C
5
C
6
S
4
S
6
) S
23
S
5
C
6
] + S
1
(S
4
C
5
C
6
+ C
4
S
6
)
n
y
= S
1
[C
23
(C
4
C
5
C
6
S
4
S
6
) S
23
S
5
C
6
] C
1
(S
4
C
5
C
6
+ C
4
S
6
)
n
z
= S
23
(C
4
C
5
C
6
S
4
S
6
) + C
23
S
5
C
6
s
x
= C
1
[-C
23
(C
4
C
5
C
6
+ S
4
S
6
) + S
23
S
5
C
6
] + S
1
(-S
4
C
5
S
6
+ C
4
C
6
)
s
y
= S
1
[-C
23
(C
4
C
5
C
6
+ S
4
S
6
) + S
23
S
5
C
6
] C
1
(-S
4
C
5
S
6
+ C
4
C
6
)
s
z
= - S
23
(C
4
C
5
C
6
+ S
4
S
6
) C
23
S
5
S
6
a
x
= C
1
(C
23
C
4
S
5
+ S
23
C
5
) + S
1
S
4
S
5
a
y
= S
1
(C
23
C
4
S
5
+ S
23
C
5
) C
1
S
4
S
5
a
z
= S
23
C
4
S
5
+ C
23
C
5
d
x
= C
1
[a
1
+ a
2
C
2
+ a
3
C
23
+ d
4
S
23
+ d
6
(C
23
C
4
S
5
+ S
23
C
5
)] + d
6
S
1
S
4
S
5
d
y
= S
1
[a
1
+ a
2
C
2
+ a
3
C
23
+ d
4
S
23
+ d
6
(C
23
C
4
S
5
+ S
23
C
5
)] d
6
S
1
S
4
S
5
d
z
= a
2
S
2
+ a
3
S
23
+ d
4
C
23
+ d
6
(S
23
C
4
S
5
C
23
C
5
).
Nh vy khi bit c cc gi tr ca
i
ta hon ton c th xc nh c
hng v v tr ca khu chp hnh cui bng cch thay cc gi tr ny vo 12
phng trnh trn.
Bi ton ng hc thun c th dng MATLAB lp mt hm hoc chng
trnh chung gii ra 12 nghim c di dng ch hoc tnh ton vi s, c
trnh by phn ph lc.
2.1.2. Phng trnh ng hc ngc
Theo phng php chung khi gii bi ton ng hc ngc, vi n = 6, kh
khn l ch lm sao xc nh c phng trnh no trong cc h phng
trnh tnh ra c cc gc
i
dng cng thc vi cc k hiu tng qut.
C th ni cha c mt thut ton chung no m nh c th tm ra c
tp nghim ca bi ton ng hc ngc cho mi robot. Phng php gii thiu
sau y c th xc nh c
i
d dng v trc gic hn: Phng php cc
nhm 3:
Nh bit, v tr ca mt im hon ton c xc nh trong h ta
khng gian 3 chiu, nn c th phn robot ra nhng nhm 3, ni chung c
vit thnh n = 3+3+3+ Tuy nhin, gc ta ca nhng nhm 3 k t nhm
th 2 tr u l i tng cn c xc nh. Cn i vi nhng robot dng
trong cng nghip thng c khng qu 6 BTD nn vic phn nhm 3+3 li
Bi tp ln Robot Cng nghip KuKa Robot (6R)
V Ngc Trng CDT2_K52 19
ph hp vi cc thao tc trong thc t. Thao tc u tin l robot a bn kp
n gn v tr lm vic. C th gi tn l thao tc th. Sau bn kp c x
dch nh v xoay hng sao cho ph hp vi cng vic, gi l thao tc tinh.
Vy cc nhm 3+3 tng ng vi cc thao tc th + tinh.
Vic gii bi ton ng hc ngc tr nn n gin hn nhng phi lu
n cc vn sau:
- i vi nhm 3 thc hin thao tc th th thng ch quan tm n v
tr, m khng quan tm n nh hng nn cc thnh phn ca cc vect
n, s, a u bng 0.
- i vi cc nhm 3 thc hin thao tc tinh th ngc li, cho cc thnh
phn ca vect p bng 0.
Nhc im ca phng php ny, nh ni trn, gc ta ca cc
nhm 3, k t nhm th 2 tr i u l nhng v tr cn xc nh hoc cho
trc. Thng thng ngi ta cho trc chng nh nhng im ta cng ngh.
Mc d c th dng h 12 PT trong phn tnh ton ng hc thun trn
gii bi ton ng hc ngc nhng do chng u l cc phng trnh phi
tuyn nn rt kh gii. Tuy vy, y KUKA l loi robot c c im 6 khp
u l khp quay, trong tm trc quay ca 3 khp cui giao nhau ti 1 im,
thng thng vi cu trc ny th mi im trong khng gian robot s c 8 kh
nng t c n im ny, hay ni cch khc, vi mi im xc nh th
bi ton ng hc ngc s c 8 nghim.
V vy, gii bi ton ng hc ngc ta chia lm 2 bc, bc 1 da vo
phng php hnh hc gii tch tm cc gc lin quan n v tr ca khu
chp hnh cui (
1
,
2
,
3
) Phng trnh ng hc ngc V tr sau
bc 2 c nhim v tnh nt cc gc cn li t cc gc tm c Phng
trnh ng hc ngc Hng.
T cc thnh phn ca phng trnh (2.6) v 12 phng trnh thnh phn ta
c th bit c v tr ca im tm quay c tay (im P trn hnh 1.15):
x x 6 x
y y 6 y
z z 6 z
p d d a
p d d a
p d d a
( (
( (
=
( (
( (
(2.7)
Bi tp ln Robot Cng nghip KuKa Robot (6R)
V Ngc Trng CDT2_K52 20
1) Phng trnh ng hc ngc - V tr (Position)
Trn hnh v 2.4 l hnh chiu bng ca cnh tay robot trong 2 trng hp
ca gc
1
.
Hnh 2.4. Hnh chiu bng ca cnh tay
- Gc
1
c tnh t P
y
v P
x
:
1
= atan2(P
y
, P
x
); (2.8)
Theo hnh v,
1
c 2 nghim l
1
v (
1
+ 180
0
), cng u tha mn nghim
ca phng trnh (2.8). Trng hp P
x
= P
y
= 0, phng trnh (2.8) s c v s
nghim, do vy hm atan2 s chn nghim ca
1
= 0.
- Gc
3
c tnh da vo hnh 2.5:
Hnh 2.5. Hnh chiu vung gc vi mt phng cnh tay
Bi tp ln Robot Cng nghip KuKa Robot (6R)
V Ngc Trng CDT2_K52 21
S dng nh l hm s cos, ta c:
2 2 2 2 2 2 2
2 3 4 2 3 4 3
q + r = a a d 2a a d .cos(180 ) + + + u (2.9)
2
3 3 3 4 3
atan2( 1 D , D ) atan2(d , a ); u = + + (2.10)
vi
2 2 2 2 2
2 3 4
3
2 2
2 3 4
q r a a d
D
2a a d
+
=
+
; (2.11)
- Gc
2
tnh da vo gc v nh trn hnh v 2.5.
Ta c:
2 2 2 2 2 2 2
3 4 2 2
a d = a q + r 2a q + r .cos + + (2.12)
2
2 2
atan2( 1 D , D ); = (2.13)
vi
2 2 2 2 2
3 4 2
2
2 2
2
a d a q r
D
2a q r
+
=
+
; (2.14)
T :
2
= = atan2(r,q)
2
2 2
atan2( 1 D , D ); (2.15)
Nh vy, cc gc (
1
,
2
,
3
) tnh c v t hp ca chng s cho ra 8
nghim ca b (
1
,
2
,
3
).
2) Phng trnh ng hc ngc - Hng (Orientation)
Hng ca khu chp hnh cui (gn dng c) c gii sau khi bit
c cc gc v tr (
1
,
2
,
3
).
Trong cng thc (2.6), nu ch xt n thnh phn nh hng (ma trn R
3x3
),
ta c:
0 0 3
6 3 6
R R . R =
3 0 T 0
6 3 6
R ( R ) . R = (2.16)
0
R
6
c gii t phn ng hc thun, cn
0
R
3
c khi gii ra cc gc
(
1
,
2
,
3
) theo PT ng hc ngc v tr trn.
Cn
3
R
6
bao gm cc thnh phn ma trn quay ca (
4
,
5
,
6
) theo (2.5) v l
cc gi tr cn c xc nh:
4 5 6 4 6 4 5 6 4 6 4 5
3
6 4 5 6 4 6 4 5 6 4 6 4 5
5 6 5 6 5
C C C S S C C S S C C S
R S C C C S S C S C C S S
S C S S C
(
(
= + +
(
(
(2.17)
Bi tp ln Robot Cng nghip KuKa Robot (6R)
V Ngc Trng CDT2_K52 22
Gi s cc thnh phn ca tch ca 2 ma trn v phi (2.16) sau khi tnh c
l ma trn [b
ij
]
3x3
:
(
0
R
3
)
T
.
0
R
6
=
1 23 1 23 23 x x x
1 1 y y y
1 23 1 23 23 z z z
C C S C S n s a
S C 0 . n s a
CS S S C n s a
( (
( (
( (
( (
=
11 12 13
21 22 23
31 32 33
b b b
b b b
b b b
(
(
(
(
(2.18)
T , sau khi nhn c v phi theo (2.18) ra cc gi tr b
ij
ri ng nht
vi cc phn t ca (2.17) ta c c cc nghim (
4
,
5
,
6
):
C 2 b nghim ca (
4
,
5
,
6
):
4
= atan2(b
23
, b
13
);
4
= atan2(b
23
, b
13
) + 180
0
;
5
= atan2
( )
2
33 33
1 b , b ;
5
= atan2
( )
2
33 33
1 b , b ;
6
= atan2(b
32
, -b
31
);
6
= atan2(b
32
, -b
31
) + 180
0
;
Bi tp ln Robot Cng nghip KuKa Robot (6R)
V Ngc Trng CDT2_K52 23
CHNG 3
CHNG TRNH M PHNG KT QU TNH TON
3.1. M phng s dng th vin OpenGL vi MFC
Cng c m phng :
+ Ngn ng lp trnh C++ : Xy dng giao din bng MFC.
+ Tm hiu lp trnh ha OpenGL m phng qua cc khi ha.
Phn mm s dng:
+ Visual Studio 2008
+ SolidWorks 2010
+ Matlab R2010b vi Robotics Toolbox for Matlab (release 8)
Copyright Peter Corke 1992-2008 http://www.petercorke.com
3.1.1. Gii thiu v OpenGL
OpenGL (Open Graphics Library) l mt th vin ha tc cao v c
lp vi h thng giao din cc h iu hnh. Tin thn ca OpenGL l IRIS GL
do hng Silicon Graphic Library Inc pht trin cho cc WorkStation ha tc
cao t nm 1982.Sau t nm 1992 th OpenGL tr thnh mt chun
cng nghip v c tnh k thut ca OpenGL do y ban k thut ARB
(Architectural Review Board ) ph chun.
Hnh 3.1. Khi lp phng rng v c v bng OpenGL.
OpenGL l mt tiu chun k thut ha c mc ch nh ra mt giao din
lp trnh ng dng (ting Anh: API) ha 3 chiu. OpenGL cng c th c
Bi tp ln Robot Cng nghip KuKa Robot (6R)
V Ngc Trng CDT2_K52 24
dng trong cc ng dng ha 2 chiu. Giao din lp trnh ny cha khong
250 hm v cc cnh phc tp t nhng hm n gin. N c dng rng
ri trong cc tr chi in t. Ngoi ra n cn dng trong cc ng dng CAD,
thc t o, m phng khoa hc, m phng thng tin, pht trin tr chi.
OpenGL cn c mt i th cnh tranh l DirectX ca Microsoft.
3.1.2. Gii thiu ngn ng lp trnh Visual C++
Visual C++ l mt trong cc ngn ng lp trnh thuc dng Visual Studio
ca hng Microsoft, pht trin da trn nn tng l ngn ng lp trnh hng
i tng C++. Visual C++ ra i khong nhng nm 1990 v cng ngy cng
c s dng rng ri nht l cc ng dng trong k thut nh l lp trnh
nhng, lp trnh iu khin v lp trnh m phng. Vic to ra cc giao din
phc tp v trnh by p i vi Visual C++ kh l n gin, v y chnh l
th mnh ca Visual C++ trong vic tr gip c lc cho ngi lp trnh khi
xy dng nhng d n ln hoc trong k thut lp trnh h thng.
Hnh 3.2. Giao din VC++ v to Project MFC.
Bi tp ln Robot Cng nghip KuKa Robot (6R)
V Ngc Trng CDT2_K52 25
MFC l lp nn tng ca Microsoft (Microsoft Foundation Classes), l mt
cng c mnh trong lp trnh ng dng cho hu ht cc lnh vc v n c giao
din p ng mi nhu cu ca ngi s dng trong vic thit k cc giao din
ca chng trnh m phng.
3.1.3. Gii thiu phn mm ha SolidWorks
Phn mm SolidWorks l mt phn mm h tr thit k c kh (CAD) cho
php ta v v th hin cc i tng trong khng gian 3 chiu (3D) mt cch
trc quan vi giao din thn thin d s dng cng nh vi h thng Help rt
chi tit v d hiu ; n cn cho php lu v m file di nhiu dng khc nhau
gip lin kt n nhiu phn mm khc nhau. y ta la chn nh dng file
STL(Standard Template Library) chun b cho vic m phng.
Hnh 3.3. To file STL t Solidwork (2010)
Bi tp ln Robot Cng nghip KuKa Robot (6R)
V Ngc Trng CDT2_K52 26
3.1.4. Kt qu lp trnh m phng
Bi ton ng hc c m phng s dng giao din MFC v lp trnh vi
phn mm VS9.0 kt hp vi th vin ha OpenGL. Cc khp ca robot
c v trn SolidWorks 2010 v xut sang file STL to models cho vic
m phng bi ton ng hc ngc c trc quan.
1) Cc khu chnh ca robot KUKA KR6/2
Bi tp ln Robot Cng nghip KuKa Robot (6R)
V Ngc Trng CDT2_K52 27
2) Cc phn chnh trong chng trnh lp trnh trn MFC
Chng trnh m phng s dng th vin OpenGL gm cc lp v vect, lp
t mu cho cc khu (material), lp iu khin bn phm v chut, lp v
qu o, lp c cc hm tnh tin v quay cc khu (models),
Khi to mt Project mi theo MFC, chng ta c cc lp c to sn bi
Wizard : Lp CFormdata, CKUKAView, CMainFrame,
Ta c th t phn tnh ton lp no cng c, sao cho thun tin khi truy
nhp d liu gia cc lp.
y, ta ly lun lp CKUKAView t cc lnh v v hin th cng hm
Calculate() tnh ton m phng bi ton ng hc ngc ; lp CFormdata
nhn cc s kin xy ra trn lp nhp d liu, chng trnh lm th l
cc nt radio, cc button iu khin robot i theo qu o nh.
Bi tp ln Robot Cng nghip KuKa Robot (6R)
V Ngc Trng CDT2_K52 28
3) Kt qu m phng robot KUKA 6 bc t do
Hnh 3.11. M phng Bi ton ng hc ngc theo qu o trn.
Bi tp ln Robot Cng nghip KuKa Robot (6R)
V Ngc Trng CDT2_K52 29
Hnh 3.12. M phng BT ng hc ngc theo qu o thng.
3.2. MATLAB
MATLAB l vit tt ca Matrix Laboratory phn mm ca hng
MathWorks, Inc. Ch ring tn gi ca n mch bo i tng ca n l cc
ma trn. Vect v cc i lng v hng c biu din nh l ma trn nx1 v
1x1 tng ng. Cc xu k t cng c s dng trong MATLAB. Matlab tch
hp cc phng php tnh ton, hin th vi ngn ng lp trnh mnh cung
cp cho ngi dng mi trng lm vic tin li gii cc vn tnh ton
khoa hc.
Vi kh nng tnh ton mnh v ma trn, ta c th lp mt chng trnh tnh
ton cc kt qu ca bi ton ng hc thun cng nh ng hc ngc da
trn cc thng s u vo.
Trong phm vi bi tp ln, em thit k hai chng trnh GUI trn
matlab cho php tnh ton ng hc thun v ngc cho robot KuKa.
Bi tp ln Robot Cng nghip KuKa Robot (6R)
V Ngc Trng CDT2_K52 30
Thc hin kim tra li kt qu tnh ton nh trn hnh v, ta thy c sai s gia
chng trnh tnh ton ng hc thun v ng hc ngc. Nguyn nhn dn
Bi tp ln Robot Cng nghip KuKa Robot (6R)
V Ngc Trng CDT2_K52 31
ti sai s l do vic np gi tr u vo ca cc gc quay theta bi ton ng
hc thun cha ng vi gc theta c tnh ton bi ton ng hc ngc.
Tuy nhin, sai s ny nh hn 10% ( tnh ton vi ta im cui ) v c th
chp nhn c.
M ngun ca cc chng trnh m phng v tnh ton c gi km theo bi
bo co.
Bi tp ln Robot Cng nghip KuKa Robot (6R)
V Ngc Trng CDT2_K52 32
TI LIU THAM KHO
[1] Nguyn Thin Phc. Robot Cng nghip. NXB KHKT. H Ni, 2006.
[2] Ng Mnh Hin. Lun vn Thc s: Nghin cu ng hc v ng lc hc
iu khin robot, ng dng trn robot KUKA KR 6/2. HBK H Ni, 2004.
[3] Nguyn c Ngha. Nhp mn MATLAB BM Khoa hc my tnh. H Ni,
2002.
[4] Websites:
1 - KUKA Robotics: www.kukarobotics.com/
2 - The MathWorks, Inc. www.mathworks.com/
3 - A Practical Guide to STL:
http://www.codeproject.com/KB/stl/PracticalGuideStl.aspx
4 - OpenGL page: http://www.opengl.org/documentation/red_book/
5 - Wikipedia.org: http://en.wikipedia.org/wiki/KUKA
6 Wikipedia - OpenGL: http://en.wikipedia.org/wiki/OpenGL
7 C++ tutorial http://cplusplus.com/doc/tutorial/
8 Micosoft Visual Studio 2008 Documentation http://msdn.microsoft.com/en-
us/library/ms177549(VS.90).aspx
Bi tp ln Robot Cng nghip KuKa Robot (6R)
V Ngc Trng CDT2_K52 33
MC LC
LI NI U .............................................................................................. 1
CHNG 1 .................................................................................................. 2
TM HIU TNG QUAN V ROBOT CHUI H .................................. 2
1.1. S ra i ca robot ................................................................................. 2
1.2. Phn loi robot ....................................................................................... 2
1.2.1. Phn loi theo s bc t do (BTD) trong trng cng tc ........... 2
1.2.2. Phn loi theo cu trc ng hc ................................................. 2
1.3. Tay my (Manipulator) .......................................................................... 5
1.4. Mt s robot chui h thng gp ......................................................... 5
1.4.1. Tay my ta vung gc (Cartesian robot/ Gantry robot) ........ 5
1.4.2. Tay my ta tr (Cylindrical robot) ........................................ 6
1.4.3. Tay my ta cu (Spherical/Polar robot) ................................ 7
1.4.4. Tay my ton khp bn l ............................................................ 7
1.4.5. V KUKA Robotics ..................................................................... 8
1.5. ng dng ca robot .............................................................................. 11
CHNG 2 ................................................................................................ 12
TNH TON NG HC V NG LC HC ROBOT KUKA 6 BC T
DO ............................................................................................................... 12
2.1. Tnh ton ng hc robot KUKA 6 bc t do ...................................... 12
2.1.1. Phng trnh ng hc thun ..................................................... 13
2.1.2. Phng trnh ng hc ngc .................................................... 18
CHNG 3 ................................................................................................ 23
CHNG TRNH M PHNG KT QU TNH TON ...................... 23
3.1. M phng s dng th vin OpenGL vi MFC ................................... 23
3.1.1. Gii thiu v OpenGL ............................................................... 23
3.1.2. Gii thiu ngn ng lp trnh Visual C++ ................................. 24
3.1.3. Gii thiu phn mm ha SolidWorks ................................. 25
3.1.4. Kt qu lp trnh m phng ....................................................... 26
3.2. MATLAB ............................................................................................. 29
TI LIU THAM KHO .......................................................................... 32