无人驾驶汽车路径规划概述
原地址:http://imgtec.eetrend.com/blog/2019/100018447.html

无人驾驶汽车路径规划是指在一定的环境模型基础上,给定无人驾驶汽车起始点和目标点后,按照性能指标规划出一条无碰撞、能安全到达目标点的有效路径。

路径规划主要包含两个步骤:建立包含障碍区域与自由区域的环境地图,以及在环境地图中选择合适的路径搜索算法,快速实时地搜索可行驶路径。路径规划结果对车辆行驶起着导航作用。它引导车辆从当前位置行驶到达目标位置。


环境地图表示方法

根据不同的表示形式,环境地图表示方法主要分为度量地图表示法,拓扑地图表示法等。

1、度量地图表示法

度量地图表示法采用坐标系中的格栅是否被障碍物占据的方式来描述环境特征,分为几何表示法和空间分解法。

几何表示法利用包括点、线、多边形在内的几何元素来表示环境信息。相比于其他环境地图表示方式,几何特征地图更为紧凑,有利于位置估计和目标识别;缺点是环境几何特征提取困难。几何特征地图适合于在环境已知的室内环境提取一些简单的几何特征,而室外环境下的几何特征较难提取。常用的几何地图有Voronoi图、概率路图等。

几何表示法
停车场Voronoi图

空间分解法是把环境分解为类似于格栅的局部单元,根据他们是否被障碍物占据来进行状态描述。如果格栅单元被障碍物占据,则为障碍格栅;反之,则为自由格栅。空间分解法通常采用基于格栅大小的均匀分解法和递阶分解法。均匀分解法中的格栅大小均匀分布,占据格栅用数值表示。均匀分解法能够快速直观地融合传感器信息;但是,均匀分解法采用相同大小格栅会导致存储空间巨大,大规模环境下路径规划计算复杂度高。为了克服均匀分解法中存储空间巨大的问题,递阶分解法把环境空间分解为大小不同的矩形区域,从而减少模型所占用的内存空间。

均匀分解法
四叉树分解法

均匀格栅地图是度量地图路径规划中最常用的。它把环境分解为一系列离散的格栅节点。所有格栅节点大小统一,均匀分布。格栅用值占据方式来表示障碍物信息。例如使用最简单的二值表示方法,1表示障碍格栅,不可通行;0表示自由格栅。


当用均匀格栅地图表示环境信息后,格栅节点之间只有建立一定的连接关系才能保证能从起点搜索到目标点的有效路径。

八连接方式

2、拓扑地图表示法

拓扑地图模型选用节点表示道路上的特定位置,并用节点与节点间的关系来表示道路间联系。这种地图表示方法具有结构简单、存储方便、全局连贯性好、规划效率高、鲁棒性强等特点,适合于大规模环境下的道路规划,但它包含信息量少,需借助其他传感器来对道路环境做进一步描述。

路径规划算法

目前路径规划方法分类大致如下:

路径规划图

比较常用的路径规划算法为基于采样的路径规划算法以及基于搜索路径规划算法。

① 基于采样的路径规划算法

基于采样的路径规划算法很早便开始用于车辆的路径规划中,比较常见的基于采样的规划算法有概率图算法(Probabilistic Road Map, PRM)和快速随机扩展树算法(Rapidly-exploring Random Tree,RRT)。

概率图算法是在规划空间内随机选取N个节点,之后连接各节点,并去除于障碍物接触的连线,由此得到一个可行路径。显然,当采样点太少,或者分布不合理时,PRM算法是不完备的,但可以增加采样点使该算法达到完备,所以PRM是概率完备但不是最优的。

PRM算法

快速随机扩展树最初主要用于解决含有运动学约束的路径规划问题。由于RRT在状态空间中采用随机采样确定扩展节点,不需要预处理,搜索速度快。因此这种算法作为一种快速搜索算法在路径规划问题中获得广泛应用。

RRT算法

② 基于搜索的路径规划算法

基于搜索的路径规划算法通过搜索表示环境信息的环境地图来获得最终的路径。比较有代表性的算法有Dijkstra算法和A算法。

Dijkstra算法是典型的广度优先搜索算法。它是一个按路径长度递增的次序产生的最短路径的方法,是求解最短路径的经典算法之一。Dijkstra算法是一种贪心算法,它在每一步都选择局部最优解,以产生一个最优解。这也会导致该算法的时间复杂度较高,在图规模较大时,该算法的计算速度慢,很难满足路径规划实时性的要求。

A*算法是经典的启发式搜索算法,它是由Dijkstra算法改进而来的。其最显著的特点就是在搜索过程中增加了启发函数,通过给定启发函数来减少搜索节点,从而提高路径搜索效率。研究表明,A*算法搜索得到的路径能够同时满足实时性和最优性要求。

3、结语

现实环境远比这要复杂,良好的规划必须建立对周边环境的深刻理解,另外还需要建立大量的数学方程,以及需要考虑障碍物、车道线、路径曲率、曲率变化率以及车辆速度、加速度等多种因素的影响。

无人驾驶汽车路径规划概述相关推荐

  1. 无人驾驶常用路径规划

    无人驾驶常用路径规划 无人驾驶系统介绍 行为决策 运动轨迹规划 路径规划的不同之处 路径规划的定义 路径规划方法 全局路径规划 Dubins路径方法 Dubins路径改良算法 局部路径规划 模糊逻辑算 ...

  2. 无人驾驶车辆路径规划及轨迹跟踪控制学习笔记(2)

    目录 汇总 学习笔记 汇总 在关键交通场景中,轨迹规划和轨迹跟踪控制是自动驾驶车辆避免碰撞的两个关键.它不仅需要系统功能,而且需要强大的实时性. 我们集成了自动驾驶汽车的轨迹规划器和跟踪控制器,通过轨 ...

  3. 路径规划算法_自动驾驶汽车路径规划算法浅析

    自动驾驶汽车的路径规划算法最早源于机器人的路径规划研究,但是就工况而言却比机器人的路径规划复杂得多,自动驾驶车辆需要考虑车速.道路的附着情况.车辆最小转弯半径.外界天气环境等因素. 本文将为大家介绍四 ...

  4. 无人驾驶之路径规划:Dijkstra , A*, D*, D* Lite算法

    无人驾驶系统概述 上图为一无人驾驶车辆的简易系统框图.无人车辆首先通过摄像头,雷达之类的传感器来感知外部的信息,借助GPS/IMU等设备来确定自车在地理上的绝对位置以及姿态.紧接着,软件算法层面会将这 ...

  5. 导航路径规划之四 路径规划概述

    路径规划的主体是路径计算,即规划一条从起始地到目的地的一条合理路径,路径计算采用的算法是A*算法,实现A*算法还需要一些辅助步骤,以提高程序运行的效率.因此在内部把路径规划模块细分为路径计算模块.内存 ...

  6. 智能汽车路径规划学习-动态规划算法、A*算法

    动态规划算法 动态规划时运筹学的一个分支,是求解多阶段决策过程最优问题的数学方法. 各个阶段决策的选取不是任意确定的,它依赖于当前面临的状态,又影响以后的发展.当各个阶段的决策确定后,就组成了一个决策 ...

  7. 汽车概论结业报告计算机系,无人驾驶汽车概论

    <无人驾驶汽车概论>总结了北京理工大学智能车辆研究所长期研究无人驾驶汽车技术的经验和成果,并借鉴了国内外相关科研成果,结合无人驾驶汽车的新发展,对无人驾驶汽车技术涉及的重点内容进行了全面的 ...

  8. 【路径规划】局部路径规划算法——DWA算法(动态窗口法)|(含python实现 | c++实现)

    文章目录 参考资料 1. DWA算法原理 1.1 简介 1.2 算法原理 1. 速度采样 2. 轨迹预测(轨迹推算) 3. 轨迹评价 2. Python实现 2.1 参数配置 2.2 机器人运动学模型 ...

  9. 自动驾驶汽车的规划与控制

    1. 概念与意义 自动驾驶汽车作为一个复杂的软硬件结合系统,其安全,可靠地运行需要车载硬件,传感器集成.感知.预测以及规划控制等多个模块的协同配合工作.感知预测和规划控制的紧密配合非常重要.这里的规划 ...

最新文章

  1. 报错解决:ad NaCl helper startup ack (0 bytes)
  2. CSP认证201503-4 网络延时[C++题解]:树的直径
  3. 步入2021,大热的GNN会在哪些应用领域大展拳脚呢?
  4. 道客巴巴vip账号共享2020_腾讯视频VIP怎么两个手机通用?
  5. C语言试题十二之m个人的成绩存放在score数组中,请编写函数function,它的功能是:将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指定的数组中。
  6. android OEM unlocking分析
  7. NameNode之租约管理
  8. LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation 论文笔记
  9. 【数据结构】进击的二叉查找树
  10. 开源的第二代旅游网站程序_旅游网站模板_旅游网站源码
  11. 矩阵的 正定与半正定
  12. script什么意思中文翻译成,script的中文意思是什么
  13. 怎样给电脑文件夹批量快速重新命名?
  14. 【算法】求n的m次方(快速幂取模)
  15. 使用Go语言完成文件夹的MD5计算
  16. scp cp
  17. 学习总结《反本能---如何对抗你的习以为常》
  18. Mobileye+采埃孚“中标”丰田全系新车,L2/L2+市场红利爆发
  19. 图片懒加载是怎么实现的?如何实现图片懒加载?
  20. 蓝牙及其安全技术概述

热门文章

  1. redis的安装步骤
  2. 恒驰冬测 恒大汽车迎性能大考
  3. C盘User下的中文名字修改为英文遇到的问题
  4. 升级coda_Coda:从我们周围的结构中学习
  5. 寻找输入数字中的全数字(pandigital) python编程
  6. U-BOOT分析(二)之顶层Makefile文件(1)
  7. Jmockit使用指南
  8. Activiti应用
  9. 使用Python实现RSA加密算法及详解RSA算法
  10. Android图片打水印