4自由度臂型机器人MATLAB仿真

导师布置的小作业,建立4自由度机械臂,并对其进行matlab仿真。

      首先下载机器人工具箱,放到tool文件夹下。执行startup_rvc命令,添加路径并保存。

我按照实验室的科大宝宝二代机器人,建立了4自由度机械臂模型,规划其轨迹,让它写字。

代码如下:

clear L
L(1) = Link([ 0      -0.3      0   pi/2   0]);
L(2) = Link([ 0      0       0.8    -pi/2     0]);
L(3) = Link([ 0      0       0.1  -pi/2   0]);
L(4) = Link([ 0      -0.6    0      -pi/2   0]);

mrbt=SerialLink(L, 'name', 'lbx', 'base', transl(0,0,1)*troty(pi/2));
q0 = [0  0  0  0 ];
%mrbt.teach;
mrbt.plot(q0);

path =[ 0 2 1; 0 2 0; 1 2 0; 1 1 0; 0 1 0; 0 0 0; 1 0 0; 1 0 1;
    2 2 1; 2 2 0; 3 2 0; 3 0 0; 2 0 0; 2 2 0; 2 2 1;
    5 2 1; 5 2 0; 4 2 0; 4 0 0; 5 0 0; 5 1 0; 4 1 0; 4 1 1]*[-1 0 0; 0 -1 0; 0 0 1];
plot3(path(:,1)* 0.3,path(:,2)* 0.3,path(:,3)* 0.3,'color','k','LineWidth',2)
p = mstraj(path, [0.5 0.5 0.3], [], [ 0 0 0], 0.2, 0.2);
plot3(p(:,1),p(:,2),p(:,3),'color','k','LineWidth',2)
about(p)
numrows(p) * 0.2
Tp=transl(0.1*p);
Tp=homtrans( transl(-0.8,-0.2,0.3), Tp);
q = mrbt.ikine(Tp,'mask',[1 1 1 0 0 0]);
mrbt.plot(q);

臂型机器人模型如下:


路径设计如下,我们实验室的门牌号206,由于4自由度机械臂可有效到达范围较小,此仿真按照3自由度雅克比迭代方式求其逆解,即不考虑机械臂末端的姿态,只考虑其末端能够到达的坐标。

4自由度机械臂可到达的范围较小,故使用命令

Tp=transl(0.1*p);

使得真实路径缩小为设计的0.1倍,这样机械臂末端就能够到达所规划的点。

点击运行按钮,就可以看到机械臂按照给定的路径慢慢运动,其末端在平面上画出206字样。

扫描二维码关注公众号,回复: 3522527 查看本文章

参考资料《Robotics,Vision and Control》P157。

2018年6月12日于科大机器人中心206

猜你喜欢

转载自blog.csdn.net/u010899735/article/details/80660530
今日推荐