3-5-3机械臂轨迹规划matlab仿真

这篇具有很好参考价值的文章主要介绍了3-5-3机械臂轨迹规划matlab仿真。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        查看很多文章有三次多项式插值,五次多项式插值,找了很久没有发现有3-5-3混合多项式插值的代码,想想估计是太简单了, 没有人写这个东西。我当机立断,想把这个代码写出来。虽然简单,但是对于我这种matlab小白来说还是有些吃力。

        本文代码借鉴:https://blog.csdn.net/jldemanman?type=blog

        代码写出来,我也不知道对不对,希望各位大佬能给我提提建议,纯小白一枚。

clear;
clc;
q_array=[0,5,10,20];%指定起止位置
t_array=[0,1.5,2,5];%指定起止时间
v_array=[0,10,20,0];%指定起止速度
a_array=[0,2,5,0];%指定起止加速度

t=t_array(1);%初始状态
q=q_array(1);
v=v_array(1);
a=a_array(1);

for i=1:1:length(q_array)-1;%每一段规划的时间
    if i==1
        a10 = q_array(i);
        a11 = v_array(i);
        a12=(3/(t_array(i+1)-t_array(i))^2)*(q_array(i+1)-q_array(i))-(1/(t_array(i+1)-t_array(i)))*(2*v_array(i)+v_array(i+1));
        a13=(2/(t_array(i+1)-t_array(i))^3)*(q_array(i)-q_array(i+1))+(1/(t_array(i+1)-t_array(i))^2)*(v_array(i)+v_array(i+1));%计算三次多项式系数
        
        tz = t_array(i)+0.001:0.001:t_array(i+1);
        qz = a10+a11*(tz-t_array(i))+a12*(tz-t_array(i)).^2+a13*(tz-t_array(i)).^3;
        vz = a11+2*a12*(tz-t_array(i))+3*a13*(tz-t_array(i)).^2;
        az = 2*a12+6*a13*(tz-t_array(i));
        t=[t,tz];
        q=[q,qz];
        v=[v,vz];
        a=[a,az];
        
    elseif i==2
        T=t_array(i+1)-t_array(i)
        a20=q_array(i);
        a21=v_array(i);
        a22=a_array(i)/2;
        a23=(20*q_array(i+1)-20*q_array(i)-(8*v_array(i+1)+12*v_array(i))*T-(3*a_array(i)-a_array(i+1))*T^2)/(2*T^3);
        a24=(30*q_array(i)-30*q_array(i+1)+(14*v_array(i+1)+16*v_array(i))*T+(3*a_array(i)-2*a_array(i+1))*T^2)/(2*T^4);
        a25=(12*q_array(i+1)-12*q_array(i)-(6*v_array(i+1)+6*v_array(i))*T-(a_array(i)-a_array(i+1))*T^2)/(2*T^5);%计算五次多项式系数 
        ti=t_array(i):0.001:t_array(i+1);
        qi=a20+a21*(ti-t_array(i))+a22*(ti-t_array(i)).^2+a23*(ti-t_array(i)).^3+a24*(ti-t_array(i)).^4+a25*(ti-t_array(i)).^5;
        vi=a21+2*a22*(ti-t_array(i))+3*a23*(ti-t_array(i)).^2+4*a24*(ti-t_array(i)).^3+5*a25*(ti-t_array(i)).^4;
        ai=2*a22+6*a23*(ti-t_array(i))+12*a24*(ti-t_array(i)).^2+20*a25*(ti-t_array(i)).^3;
        t=[t,ti(2:end)];
        q=[q,qi(2:end)];
        v=[v,vi(2:end)];
        a=[a,ai(2:end)];
    else
        a30 = q_array(i);
        a31 = v_array(i);
        a32=(3/(t_array(i+1)-t_array(i))^2)*(q_array(i+1)-q_array(i))-(1/(t_array(i+1)-t_array(i)))*(2*v_array(i)+v_array(i+1));
        a33=(2/(t_array(i+1)-t_array(i))^3)*(q_array(i)-q_array(i+1))+(1/(t_array(i+1)-t_array(i))^2)*(v_array(i)+v_array(i+1));%计算三次多项式系数
        
        ts = t_array(i)+0.001:0.001:t_array(i+1);
        qs = a30+a31*(ts-t_array(i))+a32*(ts-t_array(i)).^2+a33*(ts-t_array(i)).^3;
        vs = a31+2*a32*(ts-t_array(i))+3*a33*(ts-t_array(i)).^2;
        as = 2*a32+6*a33*(ts-t_array(i));
        t=[t,ts];q=[q,qs];v=[v,vs];a=[a,as];
        
    end
    
end

subplot(3,1,1),plot(t,q,'r'),xlabel('t'),ylabel('position');grid on;
subplot(3,1,2),plot(t,v,'b'),xlabel('t'),ylabel('velocity');grid on;
subplot(3,1,3),plot(t,a,'g'),xlabel('t'),ylabel('accelerate');grid on;

位置,速度,加速度 图:

matlab仿真机器人轨迹规划,机器人,matlab,开发语言,算法文章来源地址https://www.toymoban.com/news/detail-645468.html

还有一点不明白,为什么要使用3-5-3,用5-5-5不好吗?这样写完全是融合了两者的缺点。加速度很大,突变。难道是我理解的不对???

感谢各位纠错!!

到了这里,关于3-5-3机械臂轨迹规划matlab仿真的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 水下机器人双机械手系统动态建模与控制仿真(Matlab代码实现)

    ​       目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 水下机器人-机械手系统(Underwater vehicle-manipulator systems, UVMS)可以完成除观测之外的水下采样、抓取、操作等任务,在海洋科学考察、海洋工程等领域得到广泛应用。通过对近年来国内外UVMS的研究现状

    2024年02月08日
    浏览(53)
  • 机械臂仿真:使用matlab机器人工具箱与标准DH法,实现6自由度机械臂的仿真运动

    在了解了如何描述末端执行器的位姿之后,接下来我们就可以实现对机械臂的数学建模。建模的工具有很多种,本文介绍一种基于 标准DH参数法 与Matlab的Robotics Toolbox - Peter Corke库来实现此过程,并尝试实现6自由度机器人的仿真运动。 强烈推荐b站教学视频MATLAB机器人工具箱

    2024年04月13日
    浏览(60)
  • 平面型二连杆机器人位形空间RRT避障轨迹规划(MATLAB)

    最近在《机器人建模与控制》上看到利用位形空间的避障方法,因此突发奇想做了一个平面型二连杆机器人在位形空间中RRT避障轨迹规划demo。在此做一个记录。 在路径规划中,机器人各点位置的一个完整规范被称为位形(configuration)。位形空间(configuration space),有时也称

    2024年03月15日
    浏览(38)
  • MATLAB算法实战应用案例精讲-【人工智能】基于机器视觉的机器人及机械臂运动规划(补充篇)

    目录 前言 几个高频面试题目 机器人抓取时怎么定位的?用什么传感器来检测?

    2024年02月07日
    浏览(53)
  • 机器人在笛卡尔空间和关节空间的多项式轨迹规划以及matlab代码(三次、五次、七次)

    三次多项式轨迹规划就是s(t)相对于时间t的变化满足三次多项式变化,其表达式如下:                      如前文所述:t的取值范围是[0,T],s(t)的取值范围是[0,1], 又因为初始速度和末速度都为0,所以: S(t)的一阶导数表达式为: 从而可以计算出对应的系数: 将

    2024年01月17日
    浏览(41)
  • 【机器人1】基于POE公式的UR5机械臂正运动学建模求解与matlab仿真

    下一篇:【机器人2】基于POE公式的UR5机械臂逆运动学建模求解与matlab仿真 螺旋轴表示成:绕某个轴的转动与沿该轴的移动的复合。一种形式是 { q , s ^ , h } {boldsymbol{q}, boldsymbol{hat{s}}, h} { q , s ^ , h } : 其中, q ∈ R 3 boldsymbol{q} in mathbb{R}^{3} q ∈ R 3 为轴上任一点; s ^

    2024年02月06日
    浏览(84)
  • 3-5-3机械臂轨迹规划matlab仿真

            查看很多文章有三次多项式插值,五次多项式插值,找了很久没有发现有3-5-3混合多项式插值的代码,想想估计是太简单了, 没有人写这个东西。我当机立断,想把这个代码写出来。虽然简单,但是对于我这种matlab小白来说还是有些吃力。         本文代码借鉴

    2024年02月13日
    浏览(31)
  • 基于野火F407骄阳开发板的苹果采摘机器人机械臂的采摘轨迹与夹持器的采摘动作的设计(1)

    苹果采摘机器人的流程框图和硬件图,如下图所示。简单介绍下采摘流程,摄像头采集环境画面,如果画面中没有苹果,那么机械臂将以设定的运动轨迹运动,直至画面中出现苹果。一旦画面出现苹果,F04骄阳开发板将会驱动机械臂电机对准苹果与夹持器电机实现对苹果的抓

    2024年02月05日
    浏览(42)
  • matlab机械臂建模运动学仿真+轨迹规划

    1.内容参考B站视频:https://www.bilibili.com/video/BV1q44y1x7WC?spm_id_from=333.337.search-card.all.click 2.工具箱10.4版下载 https://download.csdn.net/download/yohnyang/86099523 3.关于机器人控制相关算法的C++实现可以详见我的专栏 :https://blog.csdn.net/yohnyang/category_12119720.html Link类使用介绍:https://blog.csdn.

    2024年02月01日
    浏览(40)
  • 基于遗传算法求解机器人栅格地图路径规划问题matlab仿真

     ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进, 代码获取、论文复现及科研仿真合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab完整代码及仿真定制内容点击👇 智能优化算法       神经网络预测       雷达通信    

    2024年01月22日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包