运动规划在整个机器人中的地位
- 现在一般的机器人的运动规划都是在地图里面的 (已知地图)
运动规划的过程
运动规划一般分成前端和后端
前端一般是直接规划出一条从起点到终点的路径,一般情况下,前端只要保证不和障碍物相撞就行了。
后端是在前端规划的路径上进行优化(eg.加入动力学模型).
值得注意的是,后端在优化的时候不是一次对全部的前端路径进行优化,
而是只截取离机器人较近的一段进行优化。
- 前端
1.只需要搜索出一条从起点到终点的安全路径
2.路径是低维的(一般只含有path的position)
3.路径是离散的 - 后端
1.要搜索(优化)出一条机器人可执行的路径
2.路径是高维的(必须包含控制信息)
3.路径是连续的
运动规划的方法
- 前端(path finding)
基于搜索
1.图搜索
2.Dijkstra 和 A*
3.jump point search
基于采样
1.probabilistic road map
2.rapidly-exploring random tree(RRT)
3.optimal sampling-based method
4.advance sampling-based method
快速扩展随机树RRT:
在状态空间中向所有可扩散的区域扩散树(碰撞检测),生成一个随机扩展树。
当树上的叶子节点触碰(包含)目标节点之后,就能通过树干生成一条路径。
满足动力学约束
1.state-state boundary value optimal control problem
2.state lattice search
3.kindynamic RRT*
4.Hybrid A*
Hybrid A*
2010年,斯坦福首次提出一种满足车辆运动学的算法(Hybrid A*),并在(DARPA)的城市挑战赛中得以运用。
- 后端(trajectory generation)
1.minimum-snap trajectory generation
2.sotf and hard constrained trajectory optimization
运动规划的难点和应用
map
- occupancy grid map
- octo-map
- voxel hashing
- point cloud map
- tsdf map
- esdf map