0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

全面解读自动驾驶的关键组成部分

ml8z_IV_Technol 来源:YXQ 2019-06-14 10:58 次阅读

本文简要而全面地概述了自动驾驶汽车(自动驾驶系统)的关键组成部分,包括自动驾驶水平、自动驾驶汽车传感器、自动驾驶汽车软件、开源数据集、行业领导者、自动驾驶汽车应用程序和正在面临的挑战。

引言

在过去的十年里,在自动驾驶领域发表了许多研究论文。然而,它们大多只关注特定的技术领域,如视觉环境感知、车辆控制等。此外,由于自动驾驶汽车技术的快速发展,这样的文章很快就过时了。

在过去的十年中,随着自动驾驶系统技术在世界范围内的一系列突破,自动驾驶汽车(自动驾驶系统)商业化的竞争比以往任何时候都更加激烈。例如,2016年,Waymo在亚利桑那州推出了自己的自动驾驶出租车服务,吸引了广泛的关注。此外,Waymo花了大约9年的时间开发和改进其自动驾驶系统,使用各种先进的工程技术,如机器学习计算机视觉。这些前沿技术极大地帮助他们的无人驾驶汽车更好地理解世界,在正确的时间采取正确的行动。

由于自动驾驶技术的发展,近十年来发表了许多科学论文,其引用量呈指数增长,如图1所示。我们可以清楚地看到,自2010年以来,每年的发表量和被引用量都在逐渐增加,并在去年达到了巅峰。

图1 在过去的十年中,自主驾驶研究的出版物和引文的数量

一、自动驾驶系统

自动驾驶系统使汽车能够在没有人类驾驶员干预的真实环境中运行。每个自动驾驶系统由两个主要组件组成:硬件(汽车传感器和硬件控制器,即、油门、刹车、车轮等)及软件(功能组)。

软件方面,已在多个不同的软件架构中建模,如Stanley (Grand Challenge)、Junior (Urban Challenge)、Boss (Urban Challenge)和同济自动驾驶系统。Stanley软件架构包括四个模块:传感器接口、感知、规划和控制以及用户界面。Junior软件体系结构由传感器接口、感知、导航(规划与控制)、线控驱动接口(用户接口和车辆接口)和全局服务五个部分组成。Boss采用三层架构:任务、行为和运动规划。同济自动驾驶系统将软件架构划分为:感知、决策和规划、控制和底盘。本文将软件架构划分为感知、定位与映射、预测、规划与控制五个模块,如图2所示,图2与同济自动驾驶系统软件架构非常相似。

图2自动驾驶系统软件构架

自动驾驶等级划分

根据汽车工程师协会(SAE international),自动驾驶可以分为六个等级,如表1所示。人类驾驶员负责0-2级自动驾驶系统的驾驶环境监测(DEM)。从第4级开始,人类驾驶员不再负责动态驾驶任务回传(DDTF)。目前,最先进的自动驾驶系统主要在2级和3级。业内人士普遍认为,要达到更高等级的自动驾驶水平可能还需要很长一段时间。

表1

传感器安装在自动驾驶系统上的传感器通常用于感知环境。选择每个传感器是为了权衡采样率、视场(FoV)、精度、范围、成本和整个系统复杂度。最常用的传感器有无源传感器(如摄像头)、有源传感器(如激光雷达、雷达和超声波收发器)和其他传感器类型,如全球定位系统(GPS)、惯性测量单元(IMU)。

摄像头通过收集反射到三维环境对象上的光来捕捉二维图像。图像质量通常取决于环境条件,即不同的天气条件,不同的光照环境,都会对图像质量产生不同的影响。计算机视觉和机器学习算法通常用于从捕获的图像/视频中提取有用的信息

激光雷达利用脉冲激光照射目标,通过分析反射脉冲,测量到目标的距离。由于激光雷达具有较高的三维几何精度,通常用于制作高分辨率的世界地图。激光雷达通常安装在车辆的不同部位以实现不同的作用,如顶部、侧面和前部。

雷达通过发射电磁波并对反射波进行分析,可以准确地测量出目标的距离和径向速度。雷达特别擅长检测金属物体,当然雷达也可以检测非金属物体,比如在短距离内检测行人和树木。雷达已经在汽车工业应用多年,催生了ADAS功能,如自动紧急制动,自适应巡航控制等。

与雷达类似,超声波传感器通过测量发射超声波信号到接收回波之间的时间来计算到目标的距离,超声波传感器通常用于自动驾驶汽车的定位和导航。

GPS是美国政府的一种基于卫星的无线电导航系统,可以为自动驾驶系统提供时间和地理位置信息。然而,GPS信号很容易被建筑物和山脉等障碍物阻挡,例如所谓的城市峡谷,GPS在此类区域往往表现不佳。因此,惯性测量单元(IMUs)通常被集成到GPS设备中,以确保自动驾驶汽车在“城市峡谷”等地的定位。

硬件控制器

自动驾驶汽车硬件控制器包括转矩转向电机电子制动助力器、电子节流阀、变速杆和驻车制动。车辆的状态,如车轮速度和转向角,可自动感知,并通过控制器区域网络(CAN)总线发送到计算机系统。这使得人类驾驶员或自动驾驶系统能够控制油门、刹车和方向盘。

二、自动驾驶软件

感知:感知模块分析原始传感器数据,输出自动驾驶汽车所处于的环境理解。这个过程类似于人类的视觉认知。感知模块主要包括对象(自由空间、车道、车辆、行人、道路损坏等)检测与跟踪、三维世界重建(利用运动结构、立体视觉等)等。最先进的感知技术可以分为两大类:基于计算机视觉和基于机器学习。前者一般通过显式射影几何模型来解决视觉感知问题,并使用最优化方法寻找最佳解。基于机器学习的技术通过使用数据驱动的分类/回归模型(如卷积神经网络)来学习给定感知问题的最佳解决方案。SegNet和UNet在语义图像分割和对象分类方面取得优秀的成绩。这种神经网络具有极高的易用性,可以很容易地用于其他类似的感知任务,如迁移学习。多传感器信息融合的感知可以产生更好的理解结果。

定位和地图:利用传感器数据和感知输出,本地化映射模块不仅可以估计自动驾驶汽车位置,还可以构建和更新三维世界地图。自从同步定位和地图(SLAM)的概念在1986年引入以来,就得到了业内人士的普遍关注。最先进的SLAM系统通常分为基于过滤器的SLAM和基于优化的SLAM。基于过滤的SLAM系统是由贝叶斯滤波得到的,通常通过增量集成传感器数据,迭代估计自动驾驶汽车姿态并更新三维环境地图。最常用的滤波器有扩展卡尔曼滤波器(EKF)、无迹卡尔曼滤波器(UKF)、信息滤波器(IF)和粒子滤波器(PF)。另一方面,基于优化的SLAM方法首先通过寻找新观测值与地图之间的对应关系来识别问题约束。然后,计算和改进自动驾驶汽车的姿势,并更新3D地图。基于优化的SLAM方法可以分为两个主要分支:Bundle Adjustment (BA)和graph SLAM。前者利用高斯-牛顿法、梯度下降等优化技术,通过最小化误差函数,联合优化三维地图和摄像头姿态。后者将定位问题建模为一个图形表示问题,并通过寻找不同车辆姿态的误差函数来求解。

预测:预测模块分析其他交通代理的运动模式,预测自动驾驶汽车未来的运动轨迹,使自动驾驶汽车能够做出合适的导航决策。目前的预测方法主要分为两大类:基于模型的预测方法和基于数据驱动的预测方法。前者根据基本的物理系统运动学和动力学,通过传播其运动状态(位置、速度和加速度)来计算自动驾驶汽车未来的运动。例如,奔驰的运动预测组件使用地图信息作为约束来计算自动驾驶汽车的下一个位置。卡尔曼滤波在短期预测方面表现良好,但在长期预测方面表现不佳,因为它忽略了周围的环境,比如道路和交通规则。在此基础上,建立了基于引力和斥力的行人运动预测模型。近年来,随着人工智能和高性能计算的发展,许多数据处理技术,如隐马尔可夫模型(HMM)、贝叶斯网络(BNs)和高斯过程(GP)回归,用来预测自动驾驶汽车状态。近年来,研究人员利用逆强化学习(IRL)对环境进行建模,比如,采用逆最优控制方法对行人路径进行预测。

规划:规划模块根据感知、定位、映射以及预测信息确定可能的安全自动驾驶汽车导航路径。规划任务主要分为路径规划、机动规划和轨迹规划。路径是自动驾驶汽车应该遵循的几何路径点列表,以便在不与障碍物碰撞的情况下到达目的地。最常用的路径规划技术有:Dijkstra、动态规划、A*、状态格等。机动规划是一个高层次的自动驾驶汽车运动表征过程,因为它同时考虑了交通规则和其他自动驾驶汽车状态。在找到最佳路径和机动规划后,必须生成满足运动模型和状态约束的轨迹,这样才能保证交通的安全性和舒适性。

控制:控制模块根据预测的轨迹和估计的车辆状态向油门、刹车或转向扭矩发送适当的命令。控制模块使汽车尽可能接近计划的轨迹。控制器参数可以通过最小化理想状态和观测状态之间的误差函数(偏差)来估计。比例积分导数(PID)控制、线性二次调节器(LQR)控制和模型预测控制(MPC)是最常用的最小化误差函数的方法。PID控制器是一种利用比例项、积分项和导数项使误差函数最小的控制回路反馈机构。当系统动力学用一组线性微分方程表示,成本用二次函数表示时,利用LQR控制器使误差函数最小化。MPC是一种基于动态过程模型的先进过程控制技术。这三种控制器各有优缺点。自动驾驶汽车控制模块一般采用上述方法的混合模式。例如,初级自动驾驶汽车使用MPC和PID来完成一些低级反馈控制任务,例如应用变矩器来实现所需的车轮转角。百度Apollo采用了这三种控制器的混合的模式:PID用于前馈控制、LQR控制轮角、MPC对PID和LQR控制器参数进行优化。

三、开源数据集

在过去的十年中,已经公布了很多开源数据集,这为自动驾驶研究做出了巨大贡献。小编搜集了几种使用最多的数据集,并简要说明各种数据集的用途。Cityscapes包含一个大规模的数据集,可以用于像素级和实例级的语义图像分割。ApolloScape可用于各种自动驾驶汽车感知任务,如场景解析、汽车实例理解、车道分割、自定位、轨迹估计以及目标检测和跟踪。此外,KITTI提供了用于立体和流量估计、目标检测和跟踪、道路分割、里程估计和语义图像分割的可视化数据集。6D-vision使用立体摄像机感知三维环境,提供立体、光流和语义图像分割的数据集。

四、行业领导者

最近,投资者开始把钱投向自动驾驶系统商业化竞赛潜力股。自2016年以来,特斯拉的估值一直在飙升。这使得承销商推测,该公司将在几年内产生一支自动驾驶车队。此外,自2017年报道通用汽车计划制造无人驾驶汽车以来,该公司股价已经上涨了20%。截止2018年7月,Waymo已经在美国对其自动驾驶汽车进行了800万英里的测试。在2018年度,通用汽车和Waymo事故最少:通用汽车在212公里以上发生了22次碰撞,而Waymo在563公里以上只发生了3次碰撞。除了行业巨头,世界一流大学也加快了自主驾驶的发展。这些大学都很好地开展了产学研相结合的模式。这使高校更好地为企业、经济和社会做出贡献。

应用场景:自动驾驶技术可以应用于任何类型的车辆,如出租车、长途汽车、旅游巴士、货车等。这些交通工具不仅可以使人们从劳动密集型和单调乏味的工作中解脱出来,而且可以确保他们的安全。例如,配备自动驾驶技术的道路质量评估车辆可以修复检测到的道路损伤。此外,使用自动驾驶技术,道路参与者可以相互沟通,公共交通将更加高效和安全。

五、现存挑战

尽管自动驾驶技术在过去的十年中发展迅速,但仍然存在许多挑战。例如,感知模块在恶劣的天气和/或光照条件下或在复杂的城市环境中表现不佳。此外,大多数感知方法通常是计算密集型的,不能在嵌入式和资源有限的硬件上实时运行。此外,由于长期不稳定性,目前SLAM方法在大规模实验中的应用仍然有限。另一个重要的问题是如何融合自动驾驶汽车传感器数据,以快速、经济的方式创建更准确的三维语义词。此外,人们何时才能真正接受自动驾驶和自动驾驶汽车,仍然是一个值得讨论话题,由此也引发了严重的伦理问题的探讨。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2526

    文章

    48110

    浏览量

    740121
  • 自动驾驶
    +关注

    关注

    773

    文章

    13049

    浏览量

    163230

原文标题:技术、方法、软件、行业领导者——全面解读自动驾驶的关键组成部分

文章出处:【微信号:IV_Technology,微信公众号:智车科技】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    未来已来,多传感器融合感知是自动驾驶破局的关键

    巨大的进展;自动驾驶开始摒弃手动编码规则和机器学习模型的方法,转向全面采用端到端的神经网络AI系统,它能模仿学习人类司机的驾驶,遇到场景直接输入传感器数据,再直接输出转向、制动和加速信号。模仿学习人类
    发表于 04-11 10:26

    LabVIEW开发自动驾驶的双目测距系统

    LabVIEW开发自动驾驶的双目测距系统 随着车辆驾驶技术的不断发展,自动驾驶技术正日益成为现实。从L2级别的辅助驾驶技术到L3级别的受条件约束的
    发表于 12-19 18:02

    自动驾驶下半场竞争的关键技术

    随着人工智能技术的不断发展,自动驾驶技术逐渐成为汽车产业的热门话题。在这个领域中,许多公司都在争相研究和开发自动驾驶技术,以期望能够在未来的市场中占据一席之地。然而,随着技术的不断进步和市场竞争的加剧,自动驾驶技术的下半场竞争也
    的头像 发表于 12-13 11:10 538次阅读
    <b class='flag-5'>自动驾驶</b>下半场竞争的<b class='flag-5'>关键</b>技术

    微力试验机有哪些组成部分

    微力试验机有哪些组成部分
    的头像 发表于 11-29 09:25 191次阅读
    微力试验机有哪些<b class='flag-5'>组成部分</b>

    农机自动驾驶显示系统组成部分以及配置

    不开农机自动驾驶系统这个概念的。 农机自动驾驶主要是通过软硬件同步协调一致达到自动驾驶的目的,硬件部分包括:电动方向盘、卫星信号接收器、角度传感器、高精度定位模块以及平板显示系统等;软
    发表于 10-17 17:52

    【KV260视觉入门套件试用体验】八、VITis AI自动驾驶多任务执行MultiTask V3

    是一种模型,旨在同时执行自动驾驶场景中的不同任务,同时实现优异的性能和效率。这些任务包括对象检测、分割、车道检测、可行驶区域分割和深度估算,这些都是自动驾驶感知模块的重要组成部分。 三、代码实现
    发表于 09-26 16:43

    自动驾驶点云标注技术的现状与未来发展

    随着自动驾驶技术的迅速发展,点云标注技术作为其关键组成部分,已经在各个领域得到了广泛的应用。本文将介绍自动驾驶点云标注技术的现状以及未来的发展趋势。
    的头像 发表于 09-13 18:09 547次阅读

    新能源汽车自动驾驶技术的关键组成

    新能源汽车自动驾驶技术的关键组成部分包括:   传感器系统:使用多种传感器(如雷达、激光雷达、摄像头和超声波传感器)来感知车辆周围的环境,获取道路、障碍物和其他车辆的信息。   计算
    的头像 发表于 07-09 09:24 811次阅读

    LiDAR如何为自动驾驶汽车提供关键距离传感

    如果您正在设计自动驾驶汽车应用,您就会知道 LiDAR(光检测和测距)的重要性。LiDAR 是执行自动驾驶汽车距离传感的关键光学技术,是高级驾驶辅助系统 (ADAS) 的重要
    的头像 发表于 06-28 10:47 661次阅读
    LiDAR如何为<b class='flag-5'>自动驾驶</b>汽车提供<b class='flag-5'>关键</b>距离传感

    自动驾驶落地关键点及趋势预测

    按照业界的说法,自动驾驶分为L0~L5,以L3为界,L0~L2为辅助驾驶,L3~L5为自动驾驶。简单而言, L0~L2:驾驶员控制汽车,目前已经很成熟了,像ABS,
    发表于 06-07 14:39 1次下载
    <b class='flag-5'>自动驾驶</b>落地<b class='flag-5'>关键</b>点及趋势预测

    基于卡尔曼滤波器的自动驾驶算法

    组成自动驾驶关键技术包括感知、规划和控制三大部分自动驾驶车通过传感器感知环境并进行定位,根据感知系统获得的信息和行驶目标进行速度和路径的
    发表于 06-06 17:45 612次阅读
    基于卡尔曼滤波器的<b class='flag-5'>自动驾驶</b>算法

    自动驾驶测试系列(一)之初识自动驾驶(下)

    自动驾驶的软件也是极其复杂,作为测试人员,大致理解为三层就够了。第一层是系统软件,主要由BSP、操作系统内核以及 中间件三部分组成。第二层是功能软件,包含自动驾驶的核心功能模块,如相关算法的编程
    发表于 06-02 15:13 0次下载
    <b class='flag-5'>自动驾驶</b>测试系列(一)之初识<b class='flag-5'>自动驾驶</b>(下)

    自动驾驶技术概述

    自动驾驶汽车,通过技术实现车辆自动驾驶,目的是减少驾驶疲劳、增强驾驶安全。 自动驾驶汽车按自动
    发表于 06-01 14:50 1次下载
    <b class='flag-5'>自动驾驶</b>技术概述

    车路协同自动驾驶数据集DAIR-V2X

    自动驾驶全面临巨大挑战,单车智能存在驾驶盲区、中远距离感知不稳定等问题,导致自动驾驶车辆可运行设计域(ODD)受限,单车智能自动驾驶落地受
    发表于 06-01 14:20 0次下载
    车路协同<b class='flag-5'>自动驾驶</b>数据集DAIR-V2X

    毫米波雷达模块在自动驾驶系统中的关键功能

    随着自动驾驶技术的快速发展,毫米波雷达模块作为一项关键技术,为自动驾驶系统提供了重要的感知和决策能力。毫米波雷达模块通过实时探测和跟踪周围环境中的车辆、行人和障碍物,提供精确的距离和速度信息,帮助
    的头像 发表于 05-25 15:37 487次阅读