#Apollo开发者#
学习课程的传送门如下,当您也准备学习自动驾驶时,可以和我一同前往:
《自动驾驶新人之旅》免费课程—> 传送门
《Apollo Beta宣讲和线下沙龙》免费报名—>传送门
路线规划的目标是利用地图数据和实时交通信息,找到从A到B的最佳路线。
为了便于开发查找路径的算法,首先需要将地图转化为由节点和边缘组成的数据结构,节点代表路段,边缘代表路段之间的连接,如下图所示:
如下图所示,搜索从A到B的路径
第一步,查找A相邻的节点,有8个候选节点1~8
第二步,查找1~8相邻的节点,有13个候选节点a~m。
这时就出现了21条候选路径:
A->1->d
A->1->e
A->1->f
A->2->b
A->2->c
A->2->d
A->3->a
A->3->b
A->3->c
A->5->k
A->5->l
A->5->m
A->6->j
A->6->k
A->6->i
A->7->h
A->7->i
A->7->j
A->8->f
A->8->g
A->8->h
第三步,在上述21条候选路径的相邻节点上继续搜索新的候选节点,进而产生新的候选路径。
重复上述搜索过程,直至节点B在候选路径中出现为止。
上述路径搜索算法,如果A至B的距离变远,或者地图的粒度变细,那么需要消耗的算力将是指数级增加的,所以就需要引入最优排序,在每一个步骤都剔除掉一些相对较差的候选路径。这里先从路径长度这一个角度来评价候选路径,每个步骤中的候选路径长度f,都有已有距离长度g和剩余距离长度h两部分组成,如下图所示:
如下图所示,车辆在一个高速公路的出口,搜索到左转、直行和右转三个候选路径,分别对应不同的g值和h值,两者相加计算得到最优的路径为右转路线。
在路线规划的实际应用中,不管是路径搜索,还是最优计算,除了要考虑上述的地图数据和距离长度之外,通常还要考虑有没有市政封路、交通事故、堵车缓行、路面质量、红绿灯多少、加油充电站、停车场出入口、路桥费多少等等因素,是一个比较复杂的工程问题。
以上就是本人在学习自动驾驶时,对所学课程的一些梳理和总结。后续还会分享另更多自动驾驶相关知识,欢迎评论区留言、点赞、收藏和关注,这些鼓励和支持都将成文本人持续分享的动力。
另外,如果有同在小伙伴,也正在学习或打算学习自动驾驶时,可以和我一同抱团学习,交流技术。
版权声明,原创文章,转载和引用请注明出处和链接,侵权必究!
文中部分图片来源自网络,若有侵权,联系立删。
更多【自动驾驶-自动驾驶学习笔记(八)——路线规划】相关视频教程:www.yxfzedu.com