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');%输出末端轨迹
2、整个仿真视频如下
三个六轴机械臂连续搬运作业仿真(机器人工具箱)
下载咨询链接:matlab正逆运动学分析与轨迹规划]
仿真源代码下载可联系扣扣2386317960