路径规划算法初步认识
资料
A literature review of UAV 3D path planning
上面那个论文把uav的路径规划分为以下5类:
- sampling-based algorithms
- node-based algorithms
- mathematical model based algorithms
- Bio-inspired algorithms
- multi-fusion based algorithms
- 完备的(complete)(有解是可以求出来的),主要应用于二维三维的grid,多维的计算量就大了
- 基于采样的(sampling-based)又称为概率完备的,(有解不一定能求出来的,可能经过足够多的采样可以得到解,是概率上的可能能得到解)
路径规划算法发展的历程
公开课
RRT(快速随机搜索树)
RRT算法是RRT算法的变种算法,算法可以收敛到最优解,不仅可以实现二维环境下的路径规划,多维度的环境也可以使用RRT算法,而且由于算法是均匀采样,并不会出现局部最小的情况。
RPM 要先构建roadmap,因此可以多次使用的,graph中的node还可以相互连接的
RRT是直接从start node延增出去的,每个node只有一个parent的,
伪代码
- add start node to tree
- repeat n times
- generate a random configuration x
- if x is a freespace using the `CollisionCheck` function
find y ,the cloest node in the tree to the random configuraion x
if (`Dist(x,y) > delta`) -- check if x too far from y
find a configuration z that is along the path from x to y such that Dist(z,y) <= delta
x = z
if (`LocalPlanner(x,y)`) -- check if you can get from x to y .Add x to the tree with y as patent
Artifical potential fields
构造一个函数 = an attractive potential field + a repulsive potential field
= 一个离目标点越近能量越低的函数 + 一个离障碍物越远能量越低的函数
下面第一张图是黑色障碍物,第二张图是attractive potential field ,第三张图是 repulsive potential field,最后一张是上面两个的相加得到的最终构造的函数
可能会陷入到local minimum
nbvplanner
ethz 开源的一个路径规划算法库
需要的是里程计tf坐标变换和3d点云数据,计算下个位置的gain,这个gain也考虑了octomap中格子的概率,考虑的是看到还没有mapped的格子
,尽可能寻找相应多的格子进行路径规划,
代码中的mesh_structure.h
,对我们的作用不是很大,主要是用于导入CAD图纸,不用在线输入点云数据,这时候寻找的是看到的surface最多的下一个目标点
tool
工具显示的第三个维度是概率的大小,可视化,针对的是moveit这个开源工具,没有试过别的可不可以
TODO
具体的代码下周会写,写完再具体写一写内容。