1、建立三个六轴机械臂、工作平台与货物

clear
clc
close all
%      theta     d          a     alpha    sigma
L1=Link([0      0       0    pi/2      0     ]);%连杆1参数
L2=Link([0    -0.1455        0.4375     0         0     ]);L2.offset=pi/2;%连杆2参数
L3=Link([0       0.1265        0.4575    0      0     ]);%连杆3参数
L4=Link([0       -0.105    0        pi/2      0     ]);L4.offset=pi/2;%连杆4参数
L5=Link([0      0.105        0        pi/2      0     ]);%连杆5参数
L6=Link([0       -0.097     0        0         0     ]);%连杆6参数
robot1=SerialLink([L1,L2,L3,L4,L5,L6],'base',transl(0,-0.75,0));%建立机器人模型 设置基座标位置
robot1.plot([0,0,0,0,0,0]);%绘制R_ur10机器人模型
axis equal
%第二个机器人
hold on %保持绘图框不变
robot2=SerialLink([L1,L2,L3,L4,L5,L6],'base',transl(0,0,0));%建立机器人模型 设置基座标位置
robot2.plot([0,0,0,0,0,0])%绘制L_ur11机器人模型

%第三个机器人
hold on %保持绘图框不变
robot3=SerialLink([L1,L2,L3,L4,L5,L6],'base',transl(0,0.75,0));%建立机器人模型 设置基座标位置
robot3.name='ur10_3';%设置机器人名称
robot3.plot([0,0,0,0,0,0])%绘制L_ur10机器人模型
% axis equal
%%

![请添加图片描述](https://img-blog.csdnimg.cn/379d08a1f0c84c28acd5d288d328c2a1.jpeg)

%调用方法很简单,第一个参数是长方体的原点,第二个参数是长宽高,输入命令:
  PlotCuboid([0.2,-1.6,-0.2],[1,3,0.2],5)%定义工作台
%   PlotCuboid1([0.1,-2,0.2],[1,3,0.2])%定义运输工具件
gx=0.5;gy=-1.5;gz=0.1;
        centerLoc=[gx,gy,gz];
        edgeLen=0.2;
        thisColor='black';
        plot3Cube(centerLoc,edgeLen,thisColor);
% view(50,30)
%%
%轨迹规划
%第一机械臂第一段轨迹
robot1.plot([0,0,0,0,0,0])%绘制ur10_1机器人模型
q1=[0,0,0,0,0,0];
T1=transl(gx,gy,gz+0.4)*trotx(pi)%起点
q2=robot1.ikunc(T1);
% qt=robot1.fkine(qt1)
% robot1.plot(q1)
[qt1,qt2,qt3]=jtraj(q1,q2,50);%利用五次多项式函数轨迹规划
hold on
   axis([-0.5 1.5 -2 2]);
robot1.plot(qt1, 'trail','-b')
qt=robot1.fkine(qt1)
T11=transl(qt);
plot3(T11(:,1),T11(:,2),T11(:,3) ,'-b');%输出末端轨迹

多个六轴机械臂联合作业搬运仿真(机器人工具箱)-LMLPHP

2、整个仿真视频如下

三个六轴机械臂连续搬运作业仿真(机器人工具箱)

下载咨询链接:matlab正逆运动学分析与轨迹规划]

仿真源代码下载可联系扣扣2386317960

07-07 08:44