无人驾驶的规划与控制:路由寻径

普通的导航如谷歌地图,高德地图解决的是从A点到B点的问题,其最小元素可以具体到某一车道

 

而路由寻径的问题虽也是解决从A点到B点的问题,其最小元素要深入到无人驾驶使用的高精度地图的车道(lane)级别

 

无人驾驶级别的lane划分并非与实际的自然道路划分,比如一条笔直的道路,lane可分为lane1段,lane2段,lane3段

 

路由寻径是规划控制系统的最上游模块,需要解决的问题是计算出一个从起点到终点的最佳道路行驶序列:{(lane, start_position, end_position)}

 

lane是哪一个lane,start_position, end_position代表这条路上的起始纵向距离和结束纵向距离

 

{(lane, start_position, end_position)}称为一个routing segment

 

如何从众多routing segment选出一条最优的路线?

 

这里需要对lane之间切换进行一个权重赋值,权重的选择可考虑路径总的长短,车辆操纵难度,堵塞情况

 

具体做法是在可能经过的lane上进行分散撒点,称为lane point,点之点之间通过有向带权的边进行连接

 

lane point的采样频率需要保证即使是地图上被分割比较短的lane,也能得到充分的采样点

 

得到一个有向图之后,剩下的就是一个搜索问题,常见算法可用Dijkstra算法和A*算法

 

A*算法算是Dijkstra算法的一种拓展,当启发函数值为0时,Dijkstra算法变为A*算法

 

对路由寻径算法产生路由计算的请求有两种,一种是无人车开始行驶时,另一种是由下游模块发起的请求,这里有强Routing和弱Routing两种策略

 

强Routing是一直按照路由寻径算法规定的输出执行,即行该车道有一辆车行驶得很慢

 

弱Routing是可以短暂离开规定的lane,然后再回到规定的lane

posted @ 2019-03-15 16:54  roov  阅读(10)  评论(0编辑  收藏  举报