0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

六自由度机械臂轨迹规划仿真

麦辣鸡腿堡 来源:CSDN博客 作者:两条眉毛 2023-11-17 16:11 次阅读

采用五次多项式插值法进行机械臂轨迹规划,基于Matlab Robotics Toolbox平台进行关节空间轨迹规划,得到各关节角度、速度和加速度与时间关系曲线。

此外,每次重新启动MATLAB时都需要重新输入“startup_rvc”回车来启动这个工具箱。

本文所控对象为串联六R机械臂,其具体尺寸参数见于代码中的D-H表。

MATLAB代码

% Modified DH
% ABB robot
% lujingguihua
clear;
clc;
% %机器人建模
th(1) = 0; d(1) = 0; a(1) = 0; alp(1) = 0;
th(2) = 0; d(2) = 0; a(2) = 3.20; alp(2) = pi/2;   
th(3) = 0; d(3) = 0; a(3) = 9.75; alp(3) = 0;
th(4) = 0; d(4) = 8.87; a(4) = 2; alp(4) = pi/2;
th(5) = 0; d(5) = 0; a(5) = 0; alp(5) = -pi/2;
th(6) = 0; d(6) = 0; a(6) = 0; alp(6) = pi/2;
% DH parameters  th     d    a    alpha  sigma
L1 = Link([th(1), d(1), a(1), alp(1), 0], 'modified');
L2 = Link([th(2), d(2), a(2), alp(2), 0], 'modified');
L3 = Link([th(3), d(3), a(3), alp(3), 0], 'modified');
L4 = Link([th(4), d(4), a(4), alp(4), 0], 'modified');
L5 = Link([th(5), d(5), a(5), alp(5), 0], 'modified');
L6 = Link([th(6), d(6), a(6), alp(6), 0], 'modified');
robot = SerialLink([L1, L2, L3, L4, L5, L6]); %SerialLink 类函数
robot.name='Robot-6-dof';
robot.display(); %显示D-H表


%轨迹规划参数设置
init_ang = [pi/6,0, 2*pi/3,pi/3, 0, 0];
targ_ang = [pi/2,pi/6,0,0, -pi/2, pi/6];
T =(0:0.1:5);
%关节空间轨迹规划方法
[q,qd,qdd] = jtraj(init_ang,targ_ang,T); %直接得到角度、角速度、角加速度的的序列


%%显示
figure(1);
%动画显示
subplot(1,2,1); 
title('动画过程');
robot.plot(q);
% 轨迹显示
t=robot.fkine(q);%运动学正解
rpy=tr2rpy(t);  %t中提取位置(xyz)
subplot(1,2,2);
plot2(rpy);
xlabel('X/mm'),ylabel('Y/mm'),zlabel('Z/mm');hold on
title('空间轨迹');
text(rpy(1,1),rpy(1,2),rpy(1,3),'A点');
text(rpy(51,1),rpy(51,2),rpy(51,3),'B点');
% 指定文件夹保存图片
filepath=pwd;           %保存当前工作目录
cd('C:UsersAdministratorDesktoppic')                %把当前工作目录切换到图片存储文件夹
print(gcf,'-djpeg','C:UsersAdministratorDesktoppic1.jpeg'); %将图片保存为jpg格式,
cd(filepath)            %切回原工作目录


%单个关节的位置title('关节1位置');
figure(2);
subplot(3,2,1);
plot(T,q(:,1));
xlabel('t/s'),ylabel('θ1/rad');hold on
subplot(3,2,2);
plot(T,q(:,2));
xlabel('t/s'),ylabel('θ2/rad');hold on
subplot(3,2,3);
plot(T,q(:,3));
xlabel('t/s'),ylabel('θ3/rad');hold on
subplot(3,2,4);
plot(T,q(:,4));
xlabel('t/s'),ylabel('θ4/rad');hold on
subplot(3,2,5);
plot(T,q(:,5));
xlabel('t/s'),ylabel('θ5/rad');hold on
subplot(3,2,6);
plot(T,q(:,6));
xlabel('t/s'),ylabel('θ6/rad');hold on
% 指定文件夹保存图片
filepath=pwd;           %保存当前工作目录
cd('C:UsersAdministratorDesktoppic')                %把当前工作目录切换到图片存储文件夹
print(gcf,'-djpeg','C:UsersAdministratorDesktoppic2.jpeg'); %将图片保存为jpg格式,
cd(filepath)            %切回原工作目录


%单个关节的速度
figure(3);
subplot(3,2,1);
plot(T,qd(:,1));
xlabel('t/s'),ylabel('Ω1/rad');hold on
subplot(3,2,2);
plot(T,qd(:,2));
xlabel('t/s'),ylabel('Ω2/rad');hold on
subplot(3,2,3);
plot(T,qd(:,3));
xlabel('t/s'),ylabel('Ω3/rad');hold on
subplot(3,2,4);
plot(T,qd(:,4));
xlabel('t/s'),ylabel('Ω4/rad');hold on
subplot(3,2,5);
plot(T,qd(:,5));
xlabel('t/s'),ylabel('Ω5/rad');hold on
subplot(3,2,6);
plot(T,qd(:,6));
xlabel('t/s'),ylabel('Ω6/rad');hold on
% 指定文件夹保存图片
filepath=pwd;           %保存当前工作目录
cd('C:UsersAdministratorDesktoppic')                
%把当前工作目录切换到图片存储文件夹
print(gcf,'-djpeg','C:UsersAdministratorDesktoppic3.jpeg'); %将图片保存为jpg格式,
cd(filepath)            %切回原工作目录


%单个关节的加速度
figure(4);
subplot(3,2,1);
plot(T,qdd(:,1));
xlabel('t/s'),ylabel('α1/rad');hold on
subplot(3,2,2);
plot(T,qdd(:,2));
xlabel('t/s'),ylabel('α2/rad');hold on
subplot(3,2,3);
plot(T,qdd(:,3));
xlabel('t/s'),ylabel('α3/rad');hold on
subplot(3,2,4);
plot(T,qdd(:,4));
xlabel('t/s'),ylabel('α4/rad');hold on;
subplot(3,2,5);
plot(T,qdd(:,5));
xlabel('t/s'),ylabel('α5/rad');hold on
subplot(3,2,6);
plot(T,qdd(:,6));
xlabel('t/s'),ylabel('α6/rad');hold on
% 指定文件夹保存图片
filepath=pwd;           %保存当前工作目录
cd('C:UsersAdministratorDesktoppic')                %把当前工作目录切换到图片存储文件夹
print(gcf,'-djpeg','C:UsersAdministratorDesktoppic4.jpeg'); %将图片保存为jpg格式,
cd(filepath)            %切回原工作目录

图片

图片

通过轨迹规划,不仅得到了机械臂末端执行器的空间轨迹,还可以得到其关节的角位移、角速度和角加速度。从上图 可以看出机械臂到达预定的位置,证明了该机械臂设计的合理性。

随着运动的进行, 各个关节的角度与时间关系的曲线, 可以看到其运动过程连续平滑。而且在图 中可以看出各关节的角速度和角加速度都是光滑变化的,没有出现跳变点。进一步地,在首末两点的速度以及加速度都可以有效地约束为零。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • matlab
    +关注

    关注

    185

    文章

    2974

    浏览量

    230405
  • 机器人
    +关注

    关注

    211

    文章

    28390

    浏览量

    206946
  • 仿真
    +关注

    关注

    50

    文章

    4073

    浏览量

    133556
  • 机械臂
    +关注

    关注

    12

    文章

    513

    浏览量

    24557
收藏 人收藏

    评论

    相关推荐

    受大象鼻子启发,研制出的万向自由度机械

    ``受大象鼻子启发,研制出的万向自由度机械,可以完成更柔性的工作``
    发表于 10-19 14:36

    【Pocket-RIO申请】采用labview与FPGA的多自由度机械快速控制系统原型开发

    项目名称:采用labview与FPGA的多自由度机械快速控制系统原型开发试用计划: 机械在自动化工业中广泛应用,由于每个
    发表于 12-19 15:30

    采用LabVIEW实现四自由度机械运动控制系统设计

    应用领域:控制设计挑战: 短期内实现4自由度机械(3台交流伺服电机、1台微型直流电机)的 变参数同步运动控制,为钢丝传动机构的控制提供应用解决方案。应用方案: 方案采用NI公司
    发表于 05-06 09:26

    欠驱动两自由度机械的模糊控制

    分析了欠驱动两自由度机械主、被动关节间的动力学耦合特性,指出了被动关节处于不同位置时耦合特性的差异。针对主、被动关节间的动力学耦合特性及其差异,提出了两种
    发表于 08-04 15:51 27次下载

    自由度机械的运动规划

    为了使自由度机械完成特定的动作, 需要设计计算相应的指令序列. 首先计算了机械位姿与指尖位
    发表于 02-17 16:55 193次下载
    <b class='flag-5'>六</b><b class='flag-5'>自由度</b><b class='flag-5'>机械</b><b class='flag-5'>臂</b>的运动<b class='flag-5'>规划</b>

    基于模糊PD算法的三自由度机械遥操作双边控制_邱恒

    基于模糊PD算法的三自由度机械遥操作双边控制_邱恒
    发表于 01-21 12:16 7次下载

    基于空间代价地图的机械运动规划方法

    更合理的最优规划依据,从而实现更安全可靠的规划。同时将一个自由度规划问题降维为一个三自由度
    发表于 11-25 11:47 9次下载

    分享最好的机械是7个自由度的原因

    现在用的最多的工业机器人,一般都是轴的,但是最近推出来的人机协作机械,却有7个自由度,一直想不明白为什么。直到最近看到知乎上的一个问题:人的手臂(腕关节到肩关节)有几个
    的头像 发表于 02-07 15:40 1.8w次阅读
    分享最好的<b class='flag-5'>机械</b><b class='flag-5'>臂</b>是7个<b class='flag-5'>自由度</b>的原因

    一种新型7自由度冗余绳驱动机械

    针对传统机械负载白重比小、身惯量大、人机交互安全性弱等问题,对绳驱动机械的结构、绳驱关节耦合、冗余运动学等方面进行了研究,创新设计了一
    发表于 02-27 14:33 7次下载
    一种新型7<b class='flag-5'>自由度</b>冗余绳驱动<b class='flag-5'>机械</b><b class='flag-5'>臂</b>

    为什么最好的机械是7个自由度而不是6个自由度

    现在用的最多的工业机器人,一般都是轴的,但是最近推出来的人机协作机械,却有7个自由度,一直想不明白为什么。
    的头像 发表于 03-17 09:23 2.7w次阅读

    最先进的人机协作机械为什么都是7个自由度?

    现在用的最多的工业机器人,一般都是轴的,但是最近推出来的人机协作机械,却有7个自由度,一直想不明白为什么。
    的头像 发表于 04-10 13:49 1.1w次阅读

    4自由度机械的制作图解

    我希望这些照片对您有所帮助组装您的4自由度机械
    的头像 发表于 10-09 11:52 1.1w次阅读
    4<b class='flag-5'>自由度</b><b class='flag-5'>机械</b><b class='flag-5'>臂</b>的制作图解

    使用SimMechanics实现自由度机械仿真研究

    仿真功能强大,可以在模型中通过改变结构,优化系统参数,在仿真环境中分析结果。利用 SimMechanics 的上述优点,以工业自由度机械
    发表于 11-12 08:00 1次下载
    使用SimMechanics实现<b class='flag-5'>六</b><b class='flag-5'>自由度</b>的<b class='flag-5'>机械</b><b class='flag-5'>臂</b><b class='flag-5'>仿真</b>研究

    dfrobotDFLG6DOF 6自由度机械简介

    一款小型、性价比较高的6自由度机械 简介 机械机械手相信大家都不陌生了如医院里的手术
    的头像 发表于 01-14 10:48 5164次阅读
    dfrobotDFLG6DOF 6<b class='flag-5'>自由度</b><b class='flag-5'>机械</b><b class='flag-5'>臂</b>简介

    自由度机械三次多项式插值法

    对串联机械而言,轨迹规划可以分为:关节空间轨迹规划和笛卡尔空间
    的头像 发表于 11-17 15:52 1255次阅读
    <b class='flag-5'>六</b><b class='flag-5'>自由度</b><b class='flag-5'>机械</b><b class='flag-5'>臂</b>三次多项式插值法