哈工大PUMA机器人大作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2017 年秋季学期研究生课程考核(读书报告、研究报告)
考核科目:机器人技术
学生所在院(系):机电学院
学生所在学科:机械电子
学生姓名:王
学号:17S
学生类别:学硕
考察结果:
阅卷人:
PUMA 机器人正逆运动学推导及运动空间解算
图1 PUMA 机器人模型
任务:
1.建立坐标系;
2.给出D-H参数表;
3.推导正、逆运动学;
4.编程得工作空间。
一、 建立坐标系
根据PUMA 机器人运动自由度,在各关节处建立坐标系如图2所示。
图2 PUMA 机器人坐标系建立图
其中0O ∑与1O ∑原点交于一点, 4O ∑与5O ∑原点交于一点。
二、 D-H 参数表
D-H 参数表可根据坐标系设定而得出,见表1。 1) i θ为绕1i Z -轴,从1i X -到i X 的角度; 2) i a 为绕i X 轴,从1i Z -到i Z 的角度; 3) i l 为沿i X 轴,从1i Z -与i X 交点到i O 的距离; 4) i d 为沿1i Z -轴,从1i Z -与i X 到1i O -的距离。
90 ) )
90 90) 90
(180)
)
)
表1 PUMA 机器人杆件参数表
三、 正运动学推导
由坐标系及各杆件参数可得到6个连杆变换矩阵。
11
110
1cos 0sin 0sin 0cos 00
1000001T θθθθ-⎡⎤⎢⎥⎢
⎥=-⎢⎥⎢
⎥⎣⎦ 2
2
2222
22122cos sin 0cos sin cos 0sin 0010
001a a T d θθθθθθ-⎡⎤⎢⎥
⎢
⎥=⎢⎥
⎢⎥
⎣⎦
3
33333332
3cos 0sin cos sin 0
cos sin 01000001a a T θθθθ
θθ-⎡⎤⎢⎥⎢
⎥=-⎢⎥⎢⎥⎣⎦ 4
444
344cos 0sin 0sin 0cos 00
1000
01T d θθθθ-⎡⎤
⎢⎥⎢
⎥=-⎢⎥⎢
⎥⎣⎦
55554
5cos 0sin 0sin 0
cos 001000
001T θθθ
θ⎡⎤⎢⎥-⎢
⎥=-⎢⎥⎢⎥⎣⎦ 6
666
566cos sin 00sin cos 0
00
0100
01T d θθθθ-⎡⎤⎢⎥⎢
⎥=⎢⎥
⎢
⎥⎣⎦
根据各连杆变换矩阵相乘,可以得到PUMA 机械手变换矩阵,其矩阵为关节变量的函数。
()()()()()()0
0123456112233445566T T T T T T T θθθθθθ=
将上述变换矩阵逐个依次相乘可以得到06T 。
60
1x x x x y
y y y z z z z n o a p n o a p T n o a p ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦
等式联立,对比等式左右两侧元素可得:
nx=sin(c6)*(cos(c4)*sin(c1)-cos(c2+c3)*cos(c1)*sin(c4))+
cos(c6)*(cos(c5)*(sin(c1)*sin(c4)+cos(c2+c3)*cos(c1)*cos(c4))+ sin(c2+c3)*cos(c1)*sin(c5));
ox=cos(c6)*(cos(c4)*sin(c1)-cos(c2+c3)*cos(c1)*sin(c4))-
sin(c6)*(cos(c5)*(sin(c1)*sin(c4)+cos(c2+c3)*cos(c1)*cos(c4))+ sin(c2+c3)*cos(c1)*sin(c5));
ax=sin(c5)*(sin(c1)*sin(c4)+cos(c2+c3)*cos(c1)*cos(c4))- sin(c2+c3)*cos(c1)*cos(c5);
px=d6*(sin(c5)*(sin(c1)*sin(c4)+cos(c2+c3)*cos(c1)*cos(c4))- sin(c2+c3)*cos(c1)*cos(c5))-d2*sin(c1)-d4*sin(c2+c3)*cos(c1)+ a2*cos(c1)*cos(c2)+a3*cos(c1)*cos(c2)*cos(c3)- a3*cos(c1)*sin(c2)*sin(c3);
ny=-sin(c6)*(cos(c1)*cos(c4)+cos(c2+c3)*sin(c1)*sin(c4))- cos(c6)*(cos(c5)*(cos(c1)*sin(c4)-cos(c2+c3)*cos(c4)*sin(c1))- sin(c2+c3)*sin(c1)*sin(c5));
oy=sin(c6)*(cos(c5)*(cos(c1)*sin(c4)-cos(c2+c3)*cos(c4)*sin(c1))- sin(c2+c3)*sin(c1)*sin(c5))-cos(c6)*(cos(c1)*cos(c4)+ cos(c2+c3)*sin(c1)*sin(c4));
ay=-sin(c5)*(cos(c1)*sin(c4)-cos(c2+c3)*cos(c4)*sin(c1))-
sin(c2+c3)*cos(c5)*sin(c1);
py=d2*cos(c1)-d6*(sin(c5)*(cos(c1)*sin(c4)-
cos(c2+c3)*cos(c4)*sin(c1))+sin(c2+c3)*cos(c5)*sin(c1))- d4*sin(c2+c3)*sin(c1)+a2*cos(c2)*sin(c1)+
a3*cos(c2)*cos(c3)*sin(c1)-a3*sin(c1)*sin(c2)*sin(c3); nz=cos(c6)*(cos(c2+c3)*sin(c5)-sin(c2+c3)*cos(c4)*cos(c5))+ sin(c2 + c3)*sin(c4)*sin(c6);