自动驾驶-寻径

本文介绍了自动驾驶中的寻径问题,包括深度优先搜索(深搜)、A*算法和动态规划三种方法。深搜可能导致无效路径搜索,而A*通过引入启发式矩阵优化了搜索顺序。动态规划则从目的地开始反向计算每个位置到目的地的最短距离,为自动驾驶提供路径规划。
摘要由CSDN通过智能技术生成

自动驾驶-寻径问题

在自动驾驶项目中,路径规划是指目标车辆利用地图和传感器得到的数据,规划出一条能够到达目的地的安全可行的路线,并交给车辆控制器去执行的过程。

首先考虑一种较简单的场景,当道路没有其他车辆或障碍物时,则目标车辆只需要沿着道路形成的曲线匀速行驶即可,此时目标车辆只需得到一个能够拟合当前道路轴线所形成曲线的多项式即可。为了得到这一多项式,以当前车辆位置为起点,从下一个时间段车辆将要行驶过的道路轴线中抽取若干坐标点,将这些坐标点作为参考点得到能够拟合这些参考点的多项式。再以适当增量取若干X轴节点,作为多项式的输入参数得到对应的y的坐标位置。这些(x,y)坐标对就是目标车辆下一步将要走过的坐标点。

当车辆能够沿着道路行驶以后,下一步要完成的任务是找到一条有效的路径将车辆驶向目的地,即寻径问题,本章将介绍三种寻径方法: 深搜方法,A*方法和动态规划方法。

1 深搜方法

map = [[s, 99, 0, 0, 0, 0],
[0, 99, 0, 0, 0, 0],
[0, 99, 0, 0, 0, 0],
[0, 99, 0, 0, 0, 0],
[0, 0, 0, 0, 99, d]]
如map矩阵所示,把地图按块划分并抽象表示为一个二维矩阵其中0表示可以行驶到达的位置即道路,99表示不能到达的位置,即障碍;s为目标车辆的起点,d为目的地。寻径即在这个二维矩阵找到一条从s到d的路线。一般的寻径问题可以用深度优先搜索的方法:
1. 定义一个保存坐标对的堆栈
2. 将起点坐标入栈
3. 当栈为空或栈顶元素为终点位置时执行第六步,否则取栈顶元素并依次计算上下左右四个位置的坐标

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值