速度规划(梯形、余弦、多项式、7段S型、7段修正S型、15段S型、31段S型)

一、7种速度规划对比

  一般地,速度规划输入参数为:长度 L L L,起始速度 v s v_s vs,结束速度 v e v_e ve,最大速度 v c v_c vc,加速度 a c c acc acc,减速度 d e c dec dec,加加速度 j e r k jerk jerk,加加加速度 s n a p snap snap,加加加加速度 c r a c k l e crackle crackle。下面通过对比7种速度规划生成的位置、速度、加速度、加加速度、加加加速度及加加加加速度曲线的连续性与平滑性,可控性(是否可以限制在给定值以内),规划总时间长短,算法计算量四个方面来比较7种速度规划算法。

1、梯形速度规划

  (1) 位置平滑,速度连续但不平滑,加速度跳变,加加速度出现无穷大跳变;
  (2) 速度、加速度可控,更高阶不可控;
  (3) 所有速度规划算法中规划时间最短;
  (4) 算法最简单、计算量最小。

2、余弦速度规划

  (1) 位置平滑,速度平滑,加速度连续但不够平滑,加加速度跳变;
  (2) 速度、加速度可控,更高阶不可控;
  (3) 规划时间较长;
  (4) 算法较简单、计算量较小。

3、多项式速度规划

  (1) 位置平滑,速度平滑,加速度平滑,加加速度连续但不够平滑,加加加速度跳变;
  (2) 速度、加速度、加加速度可控,更高阶不可控;
  (3) 规划时间长;
  (4) 算法较简单、计算量较小。

4、7段S型速度规划

  (1) 位置平滑,速度平滑,加速度连续但不平滑,加加速度跳变;
  (2) 速度、加速度、加加速度可控,更高阶不可控;
  (3) 规划时间较短;
  (4) 算法稍复杂、计算量稍大。

5、7段修正S型速度规划

  (1) 位置平滑,速度平滑,加速度连续但不够平滑,加加速度跳变;
  (2) 速度、加速度、加加速度可控,更高阶不可控;
  (3) 规划时间较短;
  (4) 算法稍复杂、计算量稍大。

6、15段S型速度规划

  (1) 位置平滑,速度平滑,加速度平滑,加加速度连续但不平滑,加加加速度跳变;
  (2) 速度、加速度、加加速度、加加加速度可控,加加加加速度不可控;
  (3) 规划时间稍长;
  (4) 算法较复杂、计算量较大。

7、31段S型速度规划

  (1) 位置平滑,速度平滑,加速度平滑,加加速度平滑,加加加速度连续但不平滑,加加加加速度跳变;
  (2) 位置的各阶导皆可控;
  (3) 规划时间稍长;
  (4) 算法较复杂、计算量较大。

   总体来说:
  连续性与平滑性:31段S型 > > > 多项式 ≈ \approx 15段S型 > > > 7段修正S型 > > > 余弦 > > > 7段S型 > > > 梯形;
  可控性:31段S型 > > > 15段S型 > > > 7段修正S型 = = = 7段S型 = = = 多项式 > > > 余弦 = = = 梯形;
  规划总时间:多项式 > > > 余弦 > > > 31段S型 > > > 15段S型 > > > 7段修正S型 > > > 7段S型 > > > 梯形;
  算法计算量:31段S型 > > > 15段S型 > > > 7段修正S型 > > > 7段S型 > > > 多项式 ≈ \approx 余弦 > > > 梯形。
  根据以上的对比,7种速度规划算法大致可分为低中高端三档。
  低档:梯形、余弦(普通学者,自身“阶数”较低,专业技能浮于表面,自律能力较差)
  中档:多项式、7段S型、7段修正S型(专家,自身“阶数”较高,专业技能深入,需要深入了解才能知道其学术造诣之深,自律能力强)
  高档:15段S型、31段S型(大师,自身“阶数”高,专业技能出神入化,需要一定造诣的人深入洞悉才能领悟其所思所为之精妙,自律能力非常人所能及)

二、7种速度规划示例演示

  笔者采用统一的框架实现了以上7种速度规划算法,所有核心算法均用c语言实现,不调用第三方算法库,采用QT实现图形用户界面。下载链接:robot_velocity_planning _V2.0.rar。下面是示例演示,取长度 L = 300 L=300 L=300,起始速度 v s = 100 v_s = 100 vs=100,结束速度 v e = 200 v_e = 200 ve=200,最大速度 v c = 500 v_c = 500 vc=500,加速度 a c c = 2000 acc = 2000 acc=2000,减速度 d e c = 3000 dec = 3000 dec=3000,加加速度 j e r k = 50000 jerk = 50000 jerk=50000,加加加速度 s n a p = 3000000 snap = 3000000 snap=3000000,加加加加速度 c r a c k l e = 500000000 crackle = 500000000 crackle=500000000
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/maple_2014/article/details/105015203