您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 机器人仿真大作业(触摸空间中8个圆点)
...设计思路:一、求取SCHUNK机器臂的D-H参数表,如下:iαi-1ai-1diai-1100002-pi/20003pi/200.3504-pi/200.30505pi/2000600.300然后调用robotictoolbox工具包中的link()、robot()以及drivedot()函数建立机器人模型。代码如下:二、画出目标点并采用逆运动学方法规划机器臂的触碰路径1、画出红色目标点根据目标点的坐标如下:[R,L,0],[-R,L,0][0,L,R],[0,L,-R][R*cos(pi/4),L,R*sin(pi/4)][R*cos(pi/4),L,-R*sin(pi/4)][-R*cos(pi/4),L,R*sin(pi/4)][-R*cos(pi/4),L,-R*sin(pi/4)]分别以以上坐标点为圆心,调用plot3()和fill3()函数画出红色的圆。代码如下:...2、利用逆运动学原理触碰目标点根据目标点的坐标和机器臂模型的末端的初始位置坐标,调用transl()函数计算出变换矩阵T,然后调用ctraj()函数进行路径规划,这样就可以将路径规划应用于逆运动学函数ikine(),并显示机器手的动作路径。代码如下:三、仿真结果如下图:...%SCHUNK机器臂动画仿真clc;%*****构建机器臂模型*****L0=link([00000],'modified');%基座标L1=link([-pi/20000],'modified');L2=link([pi/2000.350],'modified');L3=link([-pi/2000.3050],'modified');L4=link([pi/20000],'modified');L5=link([00.3000],'modified');...r=robot({L0L1L2L3L4L5});r.name='SCHUNK';%模型名称drivebot(r)holdon;%保持模型不被后面覆盖%******在空间中画出8个目标点******r1=0.005;%目标点圆半径R=0.02;L=0.4;fori=1:8;%目标点圆心坐标x1=R*sin(pi*i/4);y1=L;z1=R*cos(pi*i/4);%画红色目标点圆t1=0:0.1:2*pi;xx=x1+r1*cos(t1);yy=y1+zeros(size(t1));zz=z1+r1*sin(t1);plot3(xx,yy,zz);holdon;%保持fill3(xx,yy,zz,'r');%填充红色end...%*****机器臂对目标点进行触碰*****T0=transl(0.3,0.305,0.35);%初始时刻执行器末端位置矩阵(模型创建时已确定)fori=1:8;x2=R*sin(pi*i/4);%以下3个参数为每次在xyz轴方向上需移动的坐标y2=L;z2=R*cos(pi*i/4);T=transl(x2,y2,z2);%需要到达的目标点位置矩阵t2=0:0.05:1.5;TC=ctraj(T0,T,length(t2));%TC为T0到T的路径规划T0=T;%将目标点设定为下一次动作的起始点q=ikine(r,TC);%应用逆运动学函数反解变换矩阵plot(r,q);end;
本文标题:机器人仿真大作业(触摸空间中8个圆点)
链接地址:https://www.777doc.com/doc-7159762 .html