转载:无人驾驶汽车是如何进行行为决策的?_易车

无人驾驶汽车发展速度之快,主要依靠汽车智能化进程的加快。其不仅具有传统的转向、加减速等功能,更包括环境感知、高精度定位、决策规划以及运动控制等功能,能够依靠这些先进的技术来达到人类驾驶行为的要求。

典型的无人驾驶汽车系统架构如下图所示:

无人驾驶汽车通过摄像头或雷达等各类传感器对真实环境进行感知与建模,形成环境模型与局部地图,GPS和惯性导航系统再根据环境模型和局部地图进行定位与建图,形成全局地图,然后输入至行为决策与路径规划模块,形成局部路径传至运动控制模块,从而使车辆的运动状态发生改变,依次循环。

1、行为决策系统概述

无人驾驶汽车行为决策系统指无人车通过传感器感知得到交通环境信息,考虑周边环境、动静态障碍物、车辆汇入以及让行规则等,与无人驾驶库中的经验知识等进行匹配,进而选择适合当前交通环境之下的驾驶行为。

行为决策的目标主要是保证车辆可以像人类一样产生安全的驾驶行为,满足车辆安全性能、遵守交通法规等原则。

以无人车智能认知能力进行分级,可以分为车辆控制行为、基本的行车行为等。如下图所示:

二、无人车行为决策方法

无人车是如何进行行为决策的呢?典型的无人驾驶汽车的行为决策方法主要是基于规则的行为决策方法和基于强化学习的行为决策方法。

(1)基于规则的行为决策

无人驾驶汽车基于规则的行为决策方法是最常用的。其主要是将无人车的运动行为进行划分,根据当前任务路线、交通环境、交通法规以及驾驶规则知识库等建立行为规则库,对不同的环境状态进行行为决策逻辑推理,对驾驶员的行为进行输出,同时接受运动规划层对当前执行情况的反馈情况进行实时动态调整。

在基于规则的行为决策中,有限状态机法是最经典也是最具有代表性的方法,其具有实用性强、可靠性高和逻辑推理清晰等特点。有限状态机是一种离散的数学模型,用来研究有限个状态以及状态之间的转移。其主要包括有限状态集合、输入集合和状态转移规则集合三部分。状态、转移、事件和动作是有限状态机的四大要素。

以基于规则的超车行为决策为例,主要分为顶层状态机和超车顶层状态下的子状态机。示意图如下:

在超车顶层状态机下设置了超车子状态机,对超车过程中不同驾驶阶段下的转换进行逻辑建模。超车行为决策与人类驾驶行为类似,在超车子状态机下分别包括左换道准备、左换道、并行超越等。左换道准备为超车子状态机的默认初始状态,在左右换向状态下,无人车将开启相应的转向信号灯,产生一定的转向偏移,以此来提示后方车辆。同时,无人车会根据其左后或右后车辆是否避让的状态来决定是否进行下一步的超车计划。并行超越主要用于车辆进行超车的阶段,指导车辆在超车过程中的速度变化、方向盘角度变化等,并指导车辆在超车完成后及时返回原来的车道,减少在整个超车过程中的安全风险。

(2)基于强化学习的行为决策

随着人工智能技术的飞速发展,各种学习算法越来越多的应用于无人驾驶车辆的行为决策方面,极大的推动了无人驾驶汽车的落地发展。基于强化学习算法的行为决策方法主要是利用各种学习算法来进行决策,利用无人车配备的各种传感器,来感知周边的环境信息,传递给强化学习决策系统,此时强化学习决策系统的作用就相当于人脑,来对各类信息进行分析和处理,并结合经验来对无人驾驶汽车做出行为决策。

基于强化学习的行为决策方法近年来发展迅速,主要有马尔科夫决策、Q学习算法、神经网络Q学习算法等。这些行为决策方法可以通过大量的数据更容易覆盖全部的工况以及不同的场景。如自动驾驶汽车公司Waymo就通过模拟驾驶及道路测试来获取了大量的数据对其基于学习算法的行为决策系统进行训练,使得该系统对物体的检测性能得到了极大地提高,还可以对障碍物进行语义理解等。

现阶段无人车行为决策的方法主要是以上两种,即基于规则的行为决策和基于强化学习的行为决策。对于基于规则的行为决策来说,其具有易于搭建和调整,实时性好,应用简单等优点,但是由于其难以适应所有情况,需要进行针对性调整,其行为规则库易重叠而失效,有限状态机难以覆盖车辆可能遇到的所有工况而导致决策错误。对于基于强化学习的行为决策而言,由于其强大的数据训练集,可以减小环境的不确定性因素带来的影响,但是它需要大量的数据来进行预处理,计算量大,实时性差。

随着科学技术的突飞猛进,以及近些年人工智能、强化学习、机器学习等的快速发展,结合上诉两种方法的优势,顶层采用基于规则的决策,底层采用强化学习等算法,可以发挥学习算法的优势,增强场景的遍历深度,两种方法优势互补,必将成为未来无人车行为决策的发展方向。

参考文献

[1]耿新力.城区不确定环境下无人驾驶车辆行为决策方法研究[D].中国科学技术大学,2017.

[2]杜明博.基于人类驾驶行为的无人驾驶车辆行为决策与运动规划方法研究[D].中国科学技术大学,2016.

[3]熊璐,康宇宸,张培志,朱辰宇,余卓平.无人驾驶车辆行为决策系统研究[J].汽车技术,2018(08):1-9.

[4]熊光明,李勇,王诗源.基于有限状态机的智能车辆交叉口行为预测与控制[J].北京理工大学学报,2015,35(01):34-38.

作者:Victory

文章由易车号作者提供

无人驾驶汽车是如何进行行为决策的?相关推荐

  1. 无人驾驶汽车开发平台,加速无人驾驶汽车的商业化

    无人驾驶汽车开发平台,加速无人驾驶汽车的商业化 提供高度可扩展的存储,高性能计算和先进的一站式AI开发平台.使用户能够收集,接收,存储和分析自动驾驶车辆数据,从而支持该领域的全面发展. 受益对象 数据 ...

  2. 无人驾驶汽车遭遇AI路障

    原作:Russell Brandom@theverge 李杉 编译整理 量子位 出品 | 公众号 QbitAI 如果你相信科技大佬的话,全自动驾驶汽车可能只需几个月的时间就能实现. 2015年,伊隆· ...

  3. 无人驾驶汽车系统入门(十一)——深度前馈网络,深度学习的正则化,交通信号识别

    无人驾驶汽车系统入门(十一)--深度前馈网络,深度学习的正则化,交通信号识别 在第九篇博客中我们介绍了神经网络,它是一种机器学习方法,基于经验风险最小化策略,凭借这神经网络的拟合任意函数的能力,我们可 ...

  4. 无人驾驶汽车系统入门(二十三)——迁移学习和端到端无人驾驶

    无人驾驶汽车系统入门(二十三)--迁移学习和端到端无人驾驶 前面我们介绍了神经网络和深度学习的基础知识,在本文中我们将介绍迁移学习的概念,并将迁移学习应用于端到端无人驾驶模型.一般来说,大型深层神经网 ...

  5. 无人驾驶汽车系统入门(五)——运动学自行车模型和动力学自行车模型

    无人驾驶汽车系统入门(五)--运动学自行车模型和动力学自行车模型 在简要了解了PID控制以后,我们就要接触一些现代的控制算法.在了解高级的车辆控制算法之前,掌握车辆运动模型是非常有必要的.车辆运动模型 ...

  6. 无人驾驶汽车的相关技术,无人驾驶相关技术知识

    无人驾驶涉及哪些技术 无人驾驶汽车依靠人工智能.视觉计算.雷达.监控装置和全球定位系统协同合作,通过电脑实现无人驾驶,可以在没有任何人类主动的操作下,自动安全地操作机动车辆. 无人驾驶依赖几种先进技术 ...

  7. 无人驾驶系统是个复杂的计算机系统,无人驾驶汽车安全行驶的三大系统

    邵金海 [摘 要]我国当今的汽车产业在信息化时代,抓住了发展机遇与趋势,开始对汽车的个人使用功能和汽车的整体车型进行详细设计和规划,而随着信息化技术在汽车生产当中的不断应用,我国现如今的汽车在制造过程 ...

  8. 无人驾驶汽车的快速发展,主要运用了哪项新技术

    眼下的无人驾驶汽车创新让我想起了经典的连环漫画<凯文的幻虎世界>.在漫画中,凯文称自己是"创造的高潮",不过现在无人驾驶汽车已经超过凯文,成了新的创造高潮. 这个判断并 ...

  9. 了解无人驾驶汽车原理

    无人驾驶汽车 无人驾驶汽车,又称自动驾驶汽车或轮式移动机器人,是一种运输动力的无人地面载具.我们理想的无人驾驶汽车是无需人类操作即能从地点A行驶到地点B,不管途中环境多复杂天气多恶劣都由机器自己完成. ...

最新文章

  1. 学习Kotlin(一)为什么使用Kotlin
  2. java6打印机不能用_高分求解:java中调用的打印机在什么情况下不可用?
  3. 思维导图系列之Java集合知识梳理
  4. xtrabackup备份还原MySQL数据库
  5. jenkins source files 和 Remove Prefix 用户
  6. pano2VR只更换全景图片
  7. 九宫怎么排列和使用_奇门遁甲九宫数字 九宫数字的排列和算法
  8. Mach Operating System
  9. web网页常见特效3——轮播图
  10. codevs 1024 一塔湖图 floyd 解题报告
  11. 【10086个赞】Cocos Creator助力H5游戏大爆发
  12. USB3.0无法识别U盘解决办法
  13. 电脑老系统怎么换新系统?
  14. 小丸子学Hadoop系列之——部署Hbase集群
  15. java计算今天是今年的第几周_java calendar类根据当前日期时间,计算当前日期在当前月是第几周,与周跨月问题,...
  16. 计算机无法读取内存,图文教你如何修复电脑无法识别读取的U盘(SD卡)!-内存卡在电脑上读不出来怎么办...
  17. 裸金属云FASS高性能弹性块存储解决方案
  18. Keyboarder键盘辅助软件 v0.2 Build 070812
  19. 一步步学习k8s(一)
  20. (BDCI-CCF)出租车发票识别

热门文章

  1. Java的Enum枚举反编译的结果(为什么它是一个枚举对象是一个单例)
  2. 学习JS,实现自动打字机动效
  3. AIX文件系统扩容和切换启动盘
  4. 常用的100个PHP类库资源和技巧
  5. 火车票报销凭证打印跑政通
  6. java使用POI解析excel时碰到1900年日期格式造成的取时间不准确问题
  7. 如何将加密U盘变为普通U盘
  8. python自编BP神经网络
  9. Bluetooth Profile Specification之(HFP篇)4.2 免提控制之服务级别连接释放和登记状态传输、信号强度传输、漫游状态指示
  10. java虚拟机 (JVM)