您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center 汽车系统工程   模型库  
会员   
   
嵌入式软件测试方法&实践
3月20日 线上
需求分析与管理
4月21-22日 北京+线上
SysML和EA进行系统设计建模
4月23-24日 北京+线上
     
   
 订阅
  捐助
自动驾驶系统安全隐患分析
 
作者 : 轩辕实验室
  1767  次浏览      33
 2021-11-2
 
编辑推荐:
本文从Baidu Apollo, Autoware系统中分析16851次代码提交以及499个bug,并将其分类为13种原因,20种现象,18种分类,最终总结出16条发现。
本文来自于 轩辕实验室 ,由火龙果软件Alice编辑、推荐。

自动驾驶汽车(AVs)正成为我们日常生活中不可或缺的一部分。大约50家公司正在积极开发自动驾驶汽车,包括谷歌、福特和英特尔等大公司。一些自动驾驶汽车已经在公共道路上运行,最近有记录显示至少有一人不幸死亡。因此,了解自动驾驶系统中的错误对于确保其安全性、安全性、健壮性和正确性至关重要。

此篇论文从Baidu Apollo, Autoware系统中分析16851次代码提交以及499个bug,并将其分类为13种原因,20种现象,18种分类,最终总结出16条发现。

1.AV系统基本介绍

百度Apollo开源平台的主要部分:HD maps(高精度地图)(支持其他所有模块), localization(定位),perception(感知),prediction(预测),planning(规划),control(控制)

  • 定位:汽车运用激光和雷达数据,将这些传感器感知内容与高分辨率地图进行对比,这种对比可以实现厘米级别精度的定位 精确定位的常用方法:传感器内容与地图内容进行对比,需要将自身坐标系中的数据转化为地图坐标系中的数据 利用激光雷达,我们可以通过点云匹配来对汽车进行定位(点云是指目标表面特性的海量点集合。结合激光测量和摄影测量原理得到点云,包括三维坐标(XYZ)、激光反射强度(Intensity)和颜色信息(RGB)。在获取物体表面每个采样点的空间坐标后,得到的是一个点的集合,称之为“点云”(Point Cloud)。)
  • 匹配点云算法
  • 迭代最近点(ICP):两次点云扫描进行匹配,第一次扫描中的每一个点在第二次扫描的结果中寻找最匹配的点,得到许多匹配点对,距离误差相加计算平均距离误差,平移和旋转来降低平均误差。
  • 直方图滤波算法(误差平方算法,ssd)
  • Apollo工作原理 基于GPS,IMU,激光雷达的多传感器融合定位系统,利用不同传感器的互补优势,提高准确性稳定性。 这些传感器同时支持GNSS(速度和位置信息)和lidar定位(位置和方向信息),融合框架通过卡尔曼滤波将这些输出结合在一起,卡尔曼滤波建立在两步预测测量周期上,惯性导航解决方案用于预测步骤,GNSS和lidar定位用于卡尔曼滤波测量结果的更新。

    2. AV系统bug的根本原因

    研究问题1:导致高级自动驾驶错误的不同根源发生的程度有多大?

    对于不正确的算法实现,修复它们所产生的错误通常需要非常简单和广泛的代码修改,可能会影响许多行代码(即平均104行代码)。因此,在这些情况下定位故障或自动修复故障可能是具有高度挑战性的。

    发现1:不正确的算法实现,通常涉及许多行代码,会导致27.86%的AV错误。 发现2:不正确的配置导致大量AV错误,即27.25%的自动驾驶错误。 发现3:涉及相对较少行代码的错误的根本原因,即20行或更少的代码,导致25.25%的错误。

    3.AV系统bug的现象(后果)

    问题2:不同的自动驾驶错误症状会在多大程度上发生? 在驾驶错误中,最常见的症状包括速度和速度控制、轨迹和车道定位和导航。

  • Crashes -不正确的终止
  • Hangs-系统或组件在其进程仍在运行时无法对输入作出响应。生成错误可阻止正确编译、构建或正确安装AV系统或组件
  • Display and GUI (DGUI)-显示在GUI、可视化或AV系统的HMI上的错误输出
  • Camera-相机捕捉图像失败
  • Stop and parking (Stop)-制动错误
  • Lane Positioning and Navigating (LPN)-导航或定位错误
  • Speed and Velocity Control (SVC)-速度失常
  • Traffic Light Processing (TLP)-交通灯错误
  • Traffic Light Processing (TLP)-启动错误
  • Turning (Turn)-转向错误
  • Trajectory (Traj)-轨迹错误
  • Localization (LOC)-基于多传感器融合的定位相关的错误行为,并可能表现为车辆地图上的错误信息
  • Security & safety (SS)-安全保障失效
  • Obstacle Processing (OP)-障碍物处理失效
  • Logic-逻辑错误
  • Documentation (Doc)-文档错误
  • Unreported -无法通过阅读问题讨论或描述、源代码或问题标签来识别症状。
  • IO-输入输出错误
  • Other
  • 发现4:28.06%的错误直接影响自动车辆的驾驶功能,速度和速度控制、轨迹和车道定位和导航的频率分别为8.42%、6.01%和5.01%。 发现5:构建错误、崩溃、逻辑错误和GUI错误是AV系统中最频繁发生的领域独立错误之一,构建错误占16.23%,崩溃为10.62%,逻辑错误为11.42%,GUI错误为7.82%。 发现6:有明显安全或安全症状报告的错误很少发生,只占AV错误的1%。 4. 不同现象出现的频率

    问题3:每个根源会产生什么样的错误症状? 涉及许多代码的错误算法实现导致所有8种症状,直接影响车辆的驾驶,并导致我们的分类方案中所有20种症状中的16种。

    发现7:常见的原因是涉及编译、构建、兼容性和安装(配置)的错误配置 不正确的配置导致了各种各样的错误症状,20个配置中有13个,其中绝大多数导致了构建错误, 发现8:错误分配或初始化导致的错误在两个AV系统中相对经常发生, 发现9:变量、条件语句或条件逻辑的分配不正确会导致20个AV错误症状中的16个。 发现10:并发性和内存滥用导致的错误症状相对较少,即499个错误中的21个(4.21%)。 5.在不同组件中出现bug的频率

    问题4:AV组件在多大程度上包含错误? 在这两个系统中错误最多的核心AV组件是“规划、感知”和本地化——从大多数错误排序到最少,分别有135个(27.05%)、83个(16.63%)和57个(11.42%)。

    发现11:许多错误不会发生在AV系统的特定领域的核心功能中 发现12:规划组件既有大量的缺陷,且表现出许多症状(驾驶缺陷的62.14%)。 6.在不同组件中出现的bug现象

    问题5:自动驾驶组件在多大程度上出现错误症状? 5种特别的现象——LPN, SVC, Stop, Turn, Traj,在规划组件中尤为发生(高达62.14%)。

    发现13:规划组件存在大量错误,并表现出许多症状,这些症状对AVs的安全和正确驾驶尤为重要(62.14%的驾驶错误)。 发现14:崩溃错误发生在整个关键的AV组件中,尤其是感知、定位和规划中,使它们容易受到更危险的影响。 发现15:生成错误会影响许多组件,概率为83.33%。 发现16:显示速度和速度控制误差的错误会影响大量的AV组件,影响的组件概率为50.00%。 7.讨论

    (1)发现2,5,8与15表明工程师花费了大量时间在诸如兼容性,编译,上传更新与安装等与算法无关的部分。 (2)发现1,7强烈地表明,现有的bug定位和修复方法可能需要使用特定于领域的信息和执行修复的能力来增强,这些修复涉及许多行非平凡代码。 (3)AV研究人员需要更加关注安全 (4)AV研究人员需要更加关注其他组件 (5)研究的局限性: 内部:主观的分类偏差 外部:数据集的普适性;实验发现的普适性。

    7.讨论

    (1)发现2,5,8与15表明工程师花费了大量时间在诸如兼容性,编译,上传更新与安装等与算法无关的部分。 (2)发现1,7强烈地表明,现有的bug定位和修复方法可能需要使用特定于领域的信息和执行修复的能力来增强,这些修复涉及许多行非平凡代码。 (3)AV研究人员需要更加关注安全 (4)AV研究人员需要更加关注其他组件 (5)研究的局限性: 内部:主观的分类偏差 外部:数据集的普适性;实验发现的普适性。

       
    1767 次浏览       33
    相关文章

    基于图卷积网络的图深度学习
    自动驾驶中的3D目标检测
    工业机器人控制系统架构介绍
    项目实战:如何构建知识图谱
     
    相关文档

    5G人工智能物联网的典型应用
    深度学习在自动驾驶中的应用
    图神经网络在交叉学科领域的应用研究
    无人机系统原理
    相关课程

    人工智能、机器学习&TensorFlow
    机器人软件开发技术
    人工智能,机器学习和深度学习
    图像处理算法方法与实践
    最新活动计划
    嵌入式软件架构设计 12-11[北京]
    LLM大模型与智能体开发实战 12-18[北京]
    嵌入式软件测试 12-25[北京]
    AI原生应用的微服务架构 1-9[北京]
    AI大模型编写高质量代码 1-14[北京]
    需求分析与管理 1-22[北京]
     
    最新文章
    多目标跟踪:AI产品经理需要了解的CV通识
    深度学习架构
    卷积神经网络之前向传播算法
    从0到1搭建AI中台
    工业机器人控制系统架构介绍
    最新课程
    人工智能,机器学习和深度学习
    人工智能与机器学习应用实战
    人工智能-图像处理和识别
    人工智能、机器学习& TensorFlow+Keras框架实践
    人工智能+Python+大数据
    更多...   
    成功案例
    某综合性科研机构 人工智能与机器学习应用
    某银行 人工智能+Python+大数据
    北京 人工智能、机器学习& TensorFlow框架实践
    某领先数字地图提供商 Python数据分析与机器学习
    中国移动 人工智能、机器学习和深度学习
    更多...