1. Goal
Choose the most suitable path planning algorithm for mobile robot
1.1. Graph-Search
Discrete approximation
- Optimally efficient
Con:
- quality depends on discretization
- Suffer in high-dimensional spaces
1.2. Sampling-Based
No discretization
Scale well in higher dimensions
Con:
- random lead to long computation times
2. Timeline
- Dijkstra: 1956
- A*: 1968
- RRT: 1998
- RRT*: 2010
- Store the distance info
- Tree would be rewired
- CHOMP: 2013
3. Some New Algorithm
- FMT
- Informed RRT*
- Narrow search space
- Subproblem defined by a ellipse
- BIT: find a balance between graph and sample
4. BIT Algorithm
- Init the tree with start point
- Batch creation, create new sample
- Edge selection, processing the $Q_E$, find the best edge
- $Q_V$, the vertex expansion queue
- Edge Processing
- check if can improve current soluition
- Vertex Expansion
- remove a vertex from the queue and
- Adds outgoing edge from the vertex to the edge queue
- Graph Pruning
- remove states that cannot provide a solution better than the given cost
4.1. Ref
Python实现-BIT*-Batch Informed Tree 运动规划算法_海晨威的博客-CSDN博客
1 | while self.BestVertexQueueValue() <= self.BestEdgeQueueValue(): |
Only expand when current point’s value is better than the point in the current tree
1 | if ( |
Check the vvalue of a edge, should add it to tree or not
5. Problem
5.1. Empty QV
Too little sample point, increase the sample size solve the problem