路径平滑的概述

为什么需要平滑轨迹?

A star、RRT star等算法,找到了一段轨迹路径,也就是一系列的点,但没有指明点的连接方式,可能是平滑的曲线,也可能是折线。这些算法是不考虑机器人运动学约束的,因此轨迹上会出现明显的不光滑点,可以想象,机器人不可能在某一点出现运动突变,如果是万向轮的机器人要想按照这个轨迹走,它必须每走完一段路,就要停下来,然后旋转一个角度对着路径然后再加速往前走。这样很明显浪费很多时间和效率。如果是阿克曼的机器人那么它就无法按照这个路径进行运动。

目标:

  • 动力学状态不能突变。满足微分约束
  • 机器人不能在转弯时停下来,要连续流畅地走。拐弯时的速度曲线,越平滑越好
  • 节约能源。轨迹生成的目标函数可以是最小关于状态和输入的能量泛函

要素:

  • 边界条件:起点、目标的位姿
  • 中间条件:中间路径点的位姿。通过路径规划(A*RRT*等)可以找到
  • 平滑度评价函数
  • 通常转化为输入变化率的最小化问题

注意:

  • 平滑直线段的角。
  • 首选恒速运动,零加速度
  • 需要特殊处理短段