点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线

一. 简介

       点到点的轨迹规划算法可以理解为在规定的时间T内,从已知起始点点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线运动到末尾点点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线的方法。这里引入中间变量s(t),它是时间的函数,定义域为[0,T],值域为[0,1],s与点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线的关系见下面公式。这个公式不难理解,当s=0时,点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线;当s=1时,点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线

点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线

点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线对t求导是速度,即:

点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线

 点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线


点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线对t求二阶导是加速度,

点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线

 所以

点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线

由于点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线是已知的,所以速度和加速度随时间的变化取决于点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线,这里的s(t)有很多种方法,比较常用的是三次函数,五次函数,梯形曲线,S曲线等。这里对这几种曲线的方法和优缺点进行一下介绍。

二. 三次曲线

     三次曲线公式为

点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线,

根据起始和终止时刻的约束条件即

点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线

这四个约束条件可以分别求出

点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线

所以

点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线

分别画出点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线随时间变化的曲线。细心的朋友可以看出在在初始和末了时刻加速度是不连续的,会有冲击,这也是三次曲线的缺点。

点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线

三. 五次曲线

五次曲线公式为

点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线

根据起始和终止时刻的约束条件即

点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线

这六个约束条件可以分别求出

点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线

所以

点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线

分别画出点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线随时间变化的曲线。从图中可以看出加速度始末时刻页是连续的,消除了三次曲线始末时刻有冲击的缺点。

点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线

四. 梯形曲线

     梯形曲线在电机控制中经常用到,因为点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线的曲线形状为梯形,所以取名为梯形曲线,见下图。

点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线

s为分段函数,即

点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线

这里的v,a,T是有约束条件的,即

点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线

  • 当指定v,a则, 点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线,且需要满足 点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线

  • 当指定v,T则, 点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线,且需要满足 点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线

  • 当指定a,T则, 点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线,且需要满足 点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线

点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线曲线中可以看出在点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线四个时刻加速度不连续,存在冲击,为了改善这个问题有人提出S曲线。

五. S曲线

    S曲线见下图,

点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线

它的定义为:

    第一段:以恒定的痉挛J(加速度的导数)使加速度从0增加到预先设定的a;

    第二段:以恒定的加速度加速;

    第三段:已恒定的负的痉挛J(加速度的导数)使加速度从预先设定的a减到0;

    第四段:以恒定的速度v匀速运动;

    第五段:已恒定的负的痉挛J(加速度的导数)使加速度从0减到预先设定的-a;

    第六段:以恒定的加速度-a减速;

    第七段:以恒定的痉挛J(加速度的导数)使加速度从预先设定的-a增加到0;

在已知最大加速度a, 最大速度v和运行时间T时, 可由以下公式求得s曲线:

点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线

    点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线

            点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线

     点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线

点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线

     点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线

点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线
     点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线
点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线

     点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线

点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线

     点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线

点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线

     点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线

点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线

和梯形曲线一样, 也是有约束的:

点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线

解得:

点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线

      

        我也写了Matlab程序,验证了推导是正确的,且程序中如果输入的a,v,T满足上述不等式关系,则可以运算;如果不满足上述不等式关系,通过算法可以自动调整的值,使其得到可用解,这种算法也叫自适应S曲线。看后期评论,如果有很多人需要,我可以公开程序,供大家学习。

        例子:

点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线


点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线

点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线

点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线

点到点轨迹规划——三次曲线,五次曲线,梯形曲线,S曲线