机器人学导论-轨迹生成(1)三次多项式插值

轨迹指的是每个自由度的位置、速度、加速度的时间历程。
路径更新速率:计算轨迹点的位置、速度、加速度的速率,一般在60Hz到2000Hz之间。

1.综述

操作臂的运动看作是工具坐标系{T}相对于工作台坐标系{S}的运动,它可以将运动的描述与任何具体的机器人、末端执行器或工件分离。
基本问题是将操作臂从初始位置{ T i n i t i a l T_{initial} Tinitial}移动,经过中间点{ T t i T_{ti} Tti},最后到达最终期望位置{{ T f i n a l T_{final} Tfinal}。一般运动包括工具相对于工作台的姿态变化和位置变化。
在这里插入图片描述
路径点包括所有的中间点以及初始点和最终点。

2.关节空间的规划方法

关节空间的规划方法:以关节转角的函数来描述轨迹(在空间和时间)的轨迹生成方法。
流程:已知笛卡尔空间下的路径点,通过逆运动学,求解每个路径点对应的期望关节角;通过关节轨迹规划获得各个关节的平滑函数,通过正运动学获得笛卡尔空间下的轨迹。最后检查轨迹可行性。
在这里插入图片描述

3.三次多项式

在这里插入图片描述
在这里插入图片描述
编程实例:给定每个点的位置和速度信息
单个关节在10s内从初始点A,第3s经中间点B,最后到达目标点C
在这里插入图片描述

clear;clc;close all;
q_array=[25,70,50];%起始点,中间点,目标点
t_array=[0,3,10];
v_array=[0,20,30];
t=t_array(1);q=q_array(1);v=v_array(1);%起始点的位置;速度;
for i=1:1:length(q_array)-1%多一个中间点就多循环一次
    T=t_array(i+1)-t_array(i);%计算单段三次多项式插值的时间
    a0=q_array(i);
    a1=v_array(i);
    a2=(q_array(i+1)-q_array(i))*3/(T^2)-(2*v_array(i)+v_array(i+1))/T;
    a3=(q_array(i)-q_array(i+1))*2/(T^3)+(v_array(i)+v_array(i+1))/(T^2);
    if i==1
        a=2*a2;
    else 
        a=[a(1:end-1),aa(i-1)];
    end%if语句的作用为使得a向量的列数和t向量列数相同,便于画图;
    ti=t_array(i):0.02: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));
    aa(i)=2*a2+6*a3*(t_array(i+1)-t_array(i));
    t=[t,ti(2:end)];q=[q,qi(2:end)];v=[v,vi(2:end)];a=[a,ai(2:end)];%多段三次多项式进行拼接
end
subplot(3,1,1),plot(t,q,'r'),xlabel('t'),ylabel('position');hold on;plot(t_array,q_array,'*','color','r'),grid on;
subplot(3,1,2),plot(t,v,'b'),xlabel('t'),ylabel('velocity');hold on;plot(t_array,v_array,'o','color','g'),grid on;
subplot(3,1,3),plot(t,a,'g'),xlabel('t'),ylabel('accelerate');grid on;

结果:
在这里插入图片描述
结果分析
从图中可以看到,位置曲线是“平滑”的,速度曲线是连续的,加速度曲线是可变的,但是不连续。总的来说:三次多项式插值能够保证位置曲线和速度曲线是连续的,但加速度曲线不一定连续。

4.笛卡尔空间的规划方法

笛卡尔空间的规划方法:用笛卡尔位置和姿态关于时间的函数来描述路径形状。
流程:已知笛卡尔空间下的路径点,通过笛卡尔空间的规划方法获得描述笛卡尔变量的时间的函数,通过逆运动学获得关节空间下各个关节的轨迹,发给控制器执行,最后检查轨迹可行性。
在这里插入图片描述

5.参考

[1]约翰 J. 克雷格(John J. Craig)著的机器人学导论,第四版;
[2]台湾大学-机器人学之运动学—林沛群;

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值