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

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

3天内不再提示

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

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

对串联机械臂而言,轨迹规划可以分为:关节空间轨迹规划和笛卡尔空间轨迹规划。关节空间轨迹规划是把机器人的关节变量变换成跟时间的函数,然后对角速度和角加速度进行约束。

笛卡尔空间轨迹规划是把机器人末端在笛卡尔空间的位移、速度和加速度变换成跟时间的函数关系。

由于在关节空间中进行轨迹规划是直接用运动时的受控变量规划轨迹,有着计算量小,容易实时控制,而且不会发生机构奇异性等优点,所以经常被采用。

现以一维的轨迹为研究对象,利用三次多项式插值法和五次多项式插值法分别对其进行轨迹规划,通过对比两种插值法的效果,选取效果更优者对六自由度机械臂进行轨迹规划。

图片

** 三次多项式插值法**

三次多项式有4个待定系数,可同时对起始点和目标点的角度和角速度给出约束条件。

数学推导

图片

图片

MATLAB代码

%三次多项式插值法
clear;
clc;
q_array=[0,50,150,100,0];%指定起止位置
t_array=[0,2,4,8,10];%指定起止时间
v_array=[0,10,20,-15,0];%指定起止速度
t=[t_array(1)];q=[q_array(1)];v=[v_array(1)];a=[0];%初始状态
for i=1:1:length(q_array)-1%每一段规划的时间
     a0=q_array(i);
     a1=v_array(i);
     a2=(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));
     a3=(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));
     ti=t_array(i)+0.001:0.001:t_array(i+1);
     qi=a0+a1*(ti-t_array(i))+a2*(ti-t_array(i)).^2+a3*(ti-t_array(i)).^3;
     vi=a1+2*a2*(ti-t_array(i))+3*a3*(ti-t_array(i)).^2;
     ai=2*a2+6*a3*(ti-t_array(i));
     t=[t,ti];q=[q,qi];v=[v,vi];a=[a,ai];
end
subplot(3,1,1),plot(t,q,'r'),xlabel('t/s'),ylabel('p/m');hold on; plot(t_array,q_array,'o','color','r'),grid on;
subplot(3,1,2),plot(t,v,'b'),xlabel('t/s'),ylabel('v/(m/s)');hold on;plot(t_array,v_array,'*','color','r'),grid on;
subplot(3,1,3),plot(t,a,'g'),xlabel('t/s'),ylabel('a/(m/s^2)');hold on;
% 指定文件夹保存图片
filepath=pwd;           %保存当前工作目录
cd('C:UsersAdministratorDesktoppic')                %把当前工作目录切换到图片存储文件夹
print(gcf,'-djpeg','C:UsersAdministratorDesktoppicsan.jpeg'); %将图片保存为jpg格式,
cd(filepath)            %切回原工作目录

图片

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

    关注

    206

    文章

    27079

    浏览量

    201528
  • 机械臂
    +关注

    关注

    10

    文章

    475

    浏览量

    23868
  • 六自由度机器人

    关注

    0

    文章

    2

    浏览量

    666
收藏 人收藏

    评论

    相关推荐

    嵌入系统和CAN总线的检修机械控制系统

    ,从而影响动力装置的安全运行。由于蒸汽发生器中存在放射性物质,当发生泄漏时,人不能进入其中进行维修,这时就需要机械代替人完成维修工作。机械检修系统即通过
    发表于 09-29 17:02

    嵌入系统和CAN总线的检修机械控制系统

    代替人完成维修工作。机械检修系统即通过自由度机械对蒸汽发生器内部进行检修和维护。该
    发表于 09-29 17:07

    求实现三次的C语言程序,拜托各位了!十分感谢!

    在DSP6000开发平台上用C语言实现三次,实现对图像的缩放效果的改进。
    发表于 04-20 21:59

    基于LabVIEW的四自由度机械运动控制系统设计

    。 四自由度机械机械系统 本文讨论的四自由度机械
    发表于 02-12 16:10

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

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

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

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

    51/stm32单片机控制6自由度机械(带云台)二开发是用什么传感器定位比较好?

    51/stm32单片机控制6自由度机械(带云台)二开发是用什么传感器定位比较好?
    发表于 03-31 09:13

    verilog实现三次样条

    本帖最后由 我来看看你在干什么 于 2018-5-15 09:10 编辑 用verilog实现EMD算法,需要用到三次样条,请问有做过类似算法实现的吗,可以讲一下veril
    发表于 05-13 21:34

    6自由度机械点到点5多项式轨迹规划

    ([0 0.515 0pi/20]);L5=Link([pi00pi/20]);L6=Link([0 0.08000]);[q ,qd, qdd]=jtraj(q1,q2,50); %五多项式轨迹,得到关节角度,角速度,角加速度,50为采样点个数T=robot.fkin
    发表于 03-13 10:09

    三次插值原理及源码实现

    三次插值(bicubic_interpolation)原理及MATLAB源码实现。
    发表于 05-03 10:30

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

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

    计算机数值方法概念及机器人轨迹控制中点补与三次样条函数

    微分两,但是在特殊情形可以理解为可以微分几个数组。对于n 多项式补,我们试图找到一个
    发表于 08-04 11:14

    STM32与树莓派交互控制机械

    (并不)常见的五自由度机械。尽管商家称它为自由度。这里使用STM32F407VGT6的6路PWM输出通道来控制6个舵机的运动,树莓派(上
    发表于 07-01 10:24

    python

    ://www.sfkyty.com/一维不同于拟合。函数经过样本点,拟合函数一般基于
    发表于 07-12 06:33

    推导并实现四自由机械的运动方程

    0、前言试着推导并实现四自由机械的运动方程,在此处使用拉格朗日进行。系统机构图如下:注:第一个关节是圆柱转盘,其他关节绕枢轴点转动。其中Tm为关节驱动力矩,由电机提供;b*thet
    发表于 09-15 06:50