运动规划的简介
- 运动规划是一个过程,用来寻找从起始状态Start到目标状态Goal的移动步骤。常需要在运动受到约束的条件下找到最优解。
- 例如,一个清洁机器人在楼层里打扫,它不能撞墙,也不能从楼梯口掉下去。
- 给定一个任务,运动规划算法计算出一个动作序列,告诉机器人前进多少米,然后左转右转多少度。如果机器人要操作物品或者探测未知地形等等,运动规划就变得很复杂了。
运动规划的分类
- 路径规划(path planning):在规定范围内的区域,连接起点状态和终点状态的序列点或曲线称之为路
径,构成路径的策略称之为路径规划。一般路径规划的目标是规划出无碰撞的路径同时路径的长度尽量
短。- 轨迹规划(trajectory planning):在路径规划的基础上加入时间序列信息,会考虑速度和运动学约束
尽量按照规划路径进行。- 区别:路径规划只有几何属性,与时间无关。轨迹规划时间会考虑时间,每个时刻对应有位置、朝向甚至速度、加速度等变量。
- 全局路径规划 已知地图信息,根据给定的目标状态进行总体路径的规划。 规划出的路径有一系列的pose (x, y, theta) 组成。
- 局部轨迹规划 地图信息未知或者部分可知, 根据附近的障碍物信息进行避障轨迹的规划。
运动规划的经典算法
运动规划算法分类方式 | 算法 |
---|---|
基于采样 | PRM(概率路线图) , RRT(快速随机搜索树) DWA(动态窗口) |
基于优化 | TEB |
基于图搜索 | Dijstra, A star, DFS, BFS |
基于人工势场 | 人工势场法 |
基于曲线拟合 | 直线,圆弧, 多项式曲线, 贝塞尔曲线,羊角曲线 |