利用robotics toolbox 绘制正方形

利用Robotics toolbox 绘制正方形

1 创建坐标系

这里的坐标系主要是根据越疆DOBOT机械手进行创建的。

L(1) = Link([0	 0   0    pi/2]);
L(2) = Link([0 	 0 	135    0  ]);
L(3) = Link([0	 0  147  pi/2 ]);
dobot= SerialLink(L, 'name', 'dobot');
height=30;%正方形边长
q0=[0 pi/4 -pi/2];%动作初始位置
startp=[199.4 0 -8.485];
T0= [ 0.7071     0   -0.7071   startp(1);
         0       -1      0      startp(2);
      -0.7071     0   -0.7071   startp(3);
         0        0      0         1];
dobot.plot(q0)

2 运动控制

整体

接下来就进入了最核心的部分,绘制正方形过程的实现。这里主要采用了for循环进行控制,主要分为运动方向、运动下一点、机械手动作

for i=1:5:4*height  %四条边
运动方向控制
运动下一点的确定
机械手动作
end

运动方向控制

由于绘制正方形的每一条边时,运动的方向都是不一样的,所以需要用if判断进行控制。

if i==1  %控制机械手的运动方向,有待优化
         i0=1; %x方向控制参数
         j0=0; %y方向控制参数
     elseif i==2
         i0=0;
         j0=1;
     elseif  i==3
         i0=-1;
         j0=0;
     else 
         i0=0;
         j0=-1;
     end

运动下一点的确定

 startp(1) =startp(1)+5*i0;
 startp(2) =startp(2)+5*j0;
startp(3) =startp(3);
T1= [ 0.7071     0   -0.7071   startp(1);
        0       -1      0      startp(2);
     -0.7071     0   -0.7071   startp(3);
        0        0      0         1]

机械手动作

q1=dobot.ikine(T1,'q0',[0 pi/4 -pi/2], 'mask',[1 1 1 0 0 0]); %求反解
dobot.plot(q1)  

到此,机械手就可以绘制一个正方形了。当然,这只是一个比较简单的例子,还存在诸多不足,还有很多地方值得改进。

发布了1 篇原创文章 · 获赞 0 · 访问量 7
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 1024 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览