1、哈工大PUMA机器人大作业2017年秋季学期研究生课程考核(读书报告、研究报告)考核科目:机器人技术学生所在院:机电学院(系)学生所在学科:机械电子学生姓名:王学号:1 7 S学生类别:学硕考察结果:阅卷人:PUMA机器人正逆运动学推导及运动空间解算图1 PUMA 机器人模型任务:1.建立坐标系;2.给出D-H参数表;3.推导正、逆运动学;4.编程得工作空间。建立坐标系根据PUMA机器人运动自由度,在各关节处建立坐标系如图2所示图2 PUMA机器人坐标系建立图其中 Oo与7 Oi原点交于一点,与7 O5原点交于一点D-H参数表D-H参数表可根据坐标系设定而得出,见表11) 诂为绕Zy轴,从Xi
2、到Xi的角度;2) ai为绕Xi轴,从Zi到乙的角度;3) L为沿Xi轴,从Zid与Xi交点到Oi的距离;4) 为沿Zi j轴,从Zj二与Xj到0債的距离。杆件ihidi变量q (当前值)变量范围100(90)-160 u1602a2d2日 2(05-225 LI 453as-900日 s (-90)-225 LI 4540d404(180)7d LI 3505090005(0)-10O 1006003de06(0)-266 LJ 266表1 PUMA 机器人杆件参数表三、正运动学推导由坐标系及各杆件参数可得到6个连杆变换矩阵节变量的函数% 二 Ti 弓1T2 1 H H 亠 4T5 二5 T
3、 二6将上述变换矩阵逐个依次相乘可以得到t6。nx Ox ax Px0丁 ny Oy ay PyT6 =nz Oz az Pz.000 1 一等式联立,对比等式左右两侧元素可得:nx=si n( c6)*(cos(c4)*s in (c1)-cos(c2+c3)*cos(c1)*s in (c4)+ cos(c6)*(cos(c5)*(s in (c1)*si n(c4)+cos(c2+c3)*cos(c1)*cos(c4)+ sin(c2+c3)*cos(c1)*sin(c5);ox=cos(c6)*(cos(c4)*si n(c1)-cos(c2+c3)*cos(c1)*si n( c4)
4、-sin( c6)*(cos(c5)*(s in (c1)*s in (c4)+cos(c2+c3)*cos(c1)*cos(c4)+sin(c2+c3)*cos(c1)*sin(c5);ax=si n( c5)*(si n( c1)*si n( c4)+cos(c2+c3)*cos(c1)*cos(c4)-sin(c2+c3)*cos(c1)*cos(c5);px=d6*(si n( c5)*(s in (c1)*si n( c4)+cos(c2+c3)*cos(c1)*cos(c4)-sin( c2+c3)*cos(c1)*cos(c5)-d2*si n( c1)-d4*si n( c2+
5、c3)*cos(c1)+ a2*cos(c1)*cos(c2)+a3*cos(c1)*cos(c2)*cos(c3)- a3*cos(c1)*sin(c2)*sin(c3);ny=-si n( c6)*(cos(c1)*cos(c4)+cos(c2+c3)*si n(c1)*si n( c4)- cos(c6)*(cos(c5)*(cos(c1)*si n(c4)-cos(c2+c3)*cos(c4)*si n( c1)- sin(c2+c3)*sin(c1)*sin(c5);oy=si n( c6)*(cos(c5)*(cos(c1)*si n( c4)-cos(c2+c3)*cos(c4)
6、*si n( c1)-sin( c2+c3)*si n(c1)*si n( c5)-cos(c6)*(cos(c1)*cos(c4)+cos(c2+c3)*sin(c1)*sin(c4);ay=-s in (c5)*(cos(c1)*si n(c4)-cos(c2+c3)*cos(c4)*si n( c1)-sin(c2+c3)*cos(c5)*sin(c1);py=d2*cos(c1)-d6*(s in (c5)*(cos(c1)*si n( c4)-cos(c2+c3)*cos(c4)*si n(c1)+si n( c2+c3)*cos(c5)*si n( c1)-d4*si n( c2+
7、c3)*s in (c1)+a2*cos(c2)*si n( c1)+a3*cos(c2)*cos(c3)*si n(c1)-a3*si n(c1)*si n( c2)*s in (c3);nz=cos(c6)*(cos(c2+c3)*si n( c5)-si n(c2+c3)*cos(c4)*cos(c5)+ si n(c2 +c3)*sin(c4)*sin(c6);oz=si n( c2+c3)*cos(c6)*si n(c4)-si n( c6)*(cos(c2+c3)*si n(c5)-sin(c2+c3)*cos(c4)*cos(c5);az=-cos(c2+c3)*cos(c5)-
8、si n( c2+c3)*cos(c4)*si n(c5)pz=-d4*cos(c2 + c3)- a3*si n( c2+c3)-d6*(cos(c2+c3)*cos(c5)+sin (c2+c3)*cos(c4)*si n( c5)-a2*si n( c2);上述12个公式中,c1-c6分别对应k丸,将关节变量角度的当前值代入以上公式得到:0-10 -d20 0 1 a2 +d4 +d6-10 0 a3.0 0 0 1 一_COS 日 5sin 日5001-cos日6si n 日600 1| 00105_ sin 日6cosB600si n 日5cos 日 5006 _ 001-d6.00
9、01_-0001 _五、工作空间的逆解运算从上述的推导中我们已经得到了关节变量 kL 的推导公式。根据逆解的求解思想,在这里我们参照正解所求得的工作间,将机器的运动空间划分成了 x=-1000:n1:1000, y=-1000:n2:1000, z=-1000:n3:1000,所组成的空间点集合,其中n1,n2,n3代表步距,单位为mm。-nxxaxPxlnyoyayPynzOzazPz0001 一在程序中通过循环,将此空间上的点的坐标 代入 6中的Px, Py, Pz0T6中n,o,a,所对应的9个参数,代表了末端坐标系(执行器)各坐标轴与零坐 标系(固定坐标系)各坐标轴之间的夹角余弦值。在
10、这里为了简便运算,减少 运算量,我们讨论固定姿态下机器人的工作空间 。令ox=-1,ay=1,nz=-1,其余六个参数等于零,即当前PUMA机器人末端执行器相对于固定坐标系的姿态 至此,求解关节变量的参数均已给出。另外考虑到手腕环节(后三个坐标系)对工作空间的影响不大,为了简化运算,在这里只将逆解求解到 哥L屯,而不再讨论卞。逆解源代码,请参 照附录。逆解求解的结果如图3L6。六、工作空间的正解运算机器人正解的末端执行器 C06)相对于固定坐标系(0。)的转换矩阵 0T6已经求出。取。6上的原点06 =(0,0,0,1)丁,16*06就可得到 06上的原点在 固定坐标系下的坐标,即工作空间中一
11、个点。通过将6在对应的变量范围 内变换便可以得到整个工作空间。在这里为了减少运算量 ,同逆解,我们不讨论 乙L入的变化,只讨论在各自运动范围内的变化。正解源代码及改进的高效率代码请参照附录逆解正解的结果如图7LI 10。800 *图3 PUMA 机器人逆解空间(轴测图)图4 PUMA机器人逆解空间 (XOY)图5 PUMA 机器人逆解空间 (XOZ)图6 PUMA 机器人逆解空间 (YOZ)O40o O2OC40i10DD逆加远算.歩劲25001000-iuuu图7 PUMA 机器人正解空间(轴测图)-1000dOOO -&00 -0& -400 -200 0 200 400 6M &00 1
12、0X图8 PUMA机器人正解空间 (XOY)1000eoo&D04QQ2000-200-400-800-1000 -SOO D0 dOO -200 0 200 00 000 800 1000X图9 PUMA 机器人正解空间 (XOZ)图10 PUMA 机器人正解空间 (YOZ)附录a)逆解程序clc;clear;a2=431.8;a3=-20.32;d2=149.09;d4=433.07;d6=56.25;i=1;j=1;t1=0,0;mt1=0,0;x=zeros(450000,1);y=zeros(450000,1);z=zeros(450000,1);for px=-1000:10:10
13、00for py=-1000:10:1000for pz=-1000:10:1000j=j+1;m=1;t=0;k=pxA2+(py-d6)A2-d2A2;if k0m=0;elses1= atan2(py-d6,px)-atan2(d2,sqrt(k);s12=atan2(py-d6,px)-atan2(d2,-sqrt(k);endif m=1if s1-160*pi/180t1(1)=s1;mt1(1)=1;endif s12-160*pi/180t1(2)=s12;mt1(2)=1;endif mt1(1)=0&m t1(2)=0m=0;endendif m=1for n=1:2if mt1(n)=1s1=sin(t1(1);c1= cos(t1(1);k=4*a2A2*(a3A2+d4A2)-(pzA2+(px*c1+py*s1-d6*s1)A2-a3A2-d4A2-a2A2)A2;k0=pzA2+(px*c1+py*s1-d6*s1)A2-a2A2-a3A2-d4A2;if k0m=0;elses31=-atan2(d4,a3)-atan2(sqrt(k),k0);s32=-atan2(d4,a3)+atan2(sqrt(k),k0);if (s31- 45*pi/180) |(s32-45*pi/180)elsem=0;endif m=1k=a3A2+
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1