一、原理:
Probabilistic Road Map, 分为两个过程
Learning phase和Query phase.
Learning phase(学习阶段):
1. Sample N points in C-space.(在空间内撒N个点)
2. Delete points that are not collision-free.(删掉在障碍物上的点)
3. Connect to nearest points and get collision-free segments.(最近的几个点之间连线,距离太远的点之间不连线如红色线,距离提前规定相距多远的点之间连线)
4. Delete segments that are not collision free.(删除连线过障碍物的边如绿线)
Query phase(查询阶段):
- Search on the road map to find a path from the start to the goal(using Dijkstra‘s algorithm or the A* algorithm).
(使用A*、Dijkstra等算法进行路径查询) - Road map is now similar with the grid map(or a simplified grid map).
二、优缺点:
优势:
概率完备;不用在整个环境搜索,简化了环境,相对于A*更加高效
劣势:
Required to solve 2 point boundary value problem.
Build graph over state space but no particular focus on generating a path.
Not efficient.
改进方法:Lazy collision-checking
一、基本思想:
Collision-checking process is time-consuming, especially in complex or high-dimensional environments.
So sample points and generates segments without considering the collision.
二、流程:
1.Find a path on the road map generated without collision-checking.(在地图上不使用障碍物碰撞检测的方式寻找一个路径)
2. Delete the corresponding edges and nodes if the path is not collision free.
(如果路径不是无碰撞的,则删除发生碰撞的边和节点。)
3. Restart path finding.