来信行家:百度Apollo团队 量子位 出品 | 公众号 QbitAI
编者按:百度Apollo的自动驾驶出租车队,已经在长沙梅溪湖畔开启试运营。所有长沙市民都可申请成为种子用户亲身试乘。
但RoboTaxi落地,意义不止是百度自动驾驶迈步新阶段,而且也有多项行业性风向标亮点可从中管窥。
比如首批45辆RoboTaxi服役车“红旗EV”,是Apollo与一汽红旗专门为自动驾驶打造的量产车型,意味着中国自动驾驶跨过了“改装”时代。
另外,从一辆车到一个型号的车队上线运营,背后涉及的技术挑战,并非只是简单物理相加,还有一系列从系统设计、测试到运营管理的难题。
所以Apollo Go背后,究竟是如何解决这些问题的?在“红旗EV”揭秘之后,此次百度Apollo团队,分享了200万公里零事故背后的安全保障方案。
在自动驾驶和RoboTaxi不断推进的当前,或许能对未来行业标准制定,提供参考。
要点
- 如何建立体系化测试场景库
- 怎样进行大规模离线测试
- 如何逐步展开车辆在环测试
- 如何安全地推进道路在环测试
- 怎样构建面向量产的质量管理体系
专栏全文
9月26日,首批45辆Apollo与一汽红旗联合研发的“红旗EV”Robotaxi车队在长沙部分已开放测试路段开始试运营。
普通长沙市民即可登录Apollo官网申请成为种子用户实际试乘,这代表了中国自动驾驶的最新发展水准。
但是,在自动驾驶落地的拉锯战中,跑得稳远比跑得快更重要,因此,“安全”始终是衡量自动驾驶玩家实力的关键因素。
迄今为止,百度测试车辆达到300辆,目前已在13个城市进行测试,开放道路上完成了200万公里以上的测试,并始终保持着零事故的良好纪录。
在这个纪录的背后是一整套系统全面的质量保障体系,百度的工程师们力求通过最专业的测试方法,确保自动驾驶车辆在开放道路进行规模化测试的安全。
一个典型的高级别自动驾驶系统包含车辆、传感器、计算单元、操作系统、算法软件、云端平台等多个组成部分。
对于这样一个软硬件结合的多部件系统,如何确定每一行代码每一个器件都符合原始的设计预期,并且能够稳定的、高效的协同在一起完成驾驶任务,这是自动驾驶测试面临的第一个挑战。
第二个挑战来源于复杂多变的交通环境,包括道路结构、交通参与者、天气环境等,这些元素组织在一起,即构成了场景。自动驾驶车辆需要平稳地穿行于各个场景之中,最终把乘客安全地送达目的地。
因此场景将会成为驱动测试的基础,建立一个体系化的场景库,也成为了必不可少的工作。为应对这两个挑战,百度建立了纵向分层横向分阶段的质量保障体系,以“安全第一”为原则开展各个测试环节的工作,确保任何代码的改动或者硬件变更都经过了严格的测试。
纵向上,百度将测试体系分为场景层(Autonomous Driving Scenario, ADS)、数据层、测试层三层。
测试层又分为了离线环境测试、车辆在环测试、道路在环测试三个阶段,实现以“安全第一”为原则,对软件、硬件、车辆进行逐层环环相扣测试,确保自动驾驶系统上路测试的安全性。
测试体系核心驱动力:测试场景库
自动驾驶测试场景库是百度自动驾驶测试体系基础,驱动自动驾驶车辆测试各个环节。
自动驾驶测试场景库包含典型的日常行驶场景、高碰撞风险场景、法律法规场景等,同时也包含已经形成行业标准的场景,例如AEB功能的标准测试场景。
测试场景库一方面基于经验和相关交通场景数据库(例如:事故数据库)进行正向设计,另一方面基于路测数据自动化场景挖掘手段进行逆向补充,随着道路测试数据的积累,这个场景库将变得越来越高覆盖度。
目前百度测试场景库已累积数百万个场景,目前仍不断在增长。运行一轮测试场景库,相当于百万公里的实际道路测试。
为了高效地管理大规模测试场景,百度建立基于自动驾驶能力特征、场景特征、区域特征等上百个维度标签体系,实现大规模测试场景结构化的管理体系,从而达到场景集灵活选取和配置,按需达到不同的测试目的。
及时消除系统安全隐患关键:大规模离线测试
这里的离线是指未包含车辆的测试,大部分工作是在实验室里完成的。
这个阶段包含了模型在环测试(MIL)、软件在环测试(SIL)、硬件在环测试(HIL)。
自动驾驶技术目前处于高速发展的阶段,迭代速度是相当快的,在离线测试阶段,百度通过高度自动化手段对软件算法进行充分的测试,目的是尽早发现系统的缺陷或安全隐患。
离线测试需要海量的数据作为支撑,百度从2013年开始布局自动驾驶技术,目前已经覆盖的路网范围达到450平方公里,积累了大量真实道路数据。这些数据构成了百度自动驾驶车辆安全上路的基石。
在离线测试阶段,百度建立了高度自动化的测试系统,以保证每一行代码都能被充分及时的测试。当软件发生修改后,系统会逐一自动触发各个测试环节,直至达到安全的上车测试标准方进入车辆在环测试阶段及道路在环阶段。
道路在环测试阶段发现问题会进行下一轮的代码修改,开始下一次的循环。经过一轮又一轮的闭环,使得自动驾驶能力不断提升。
模型在环测试(MIL)
自动驾驶核心算法包含了多种模型,对这些模型最高效的测试方法不是在道路在环测试,而是在离线测试阶段。
模型在环测试利用大规模数据集对感知、预测、定位、控制等核心算法模型进行精确的评估,通过模型评估后的各项指标度量模型能力变化,通过自动化挖掘在早期暴露算法问题和BadCase,避免遗留到后续测试过程。
以感知模型测试为例,百度会使用几十万帧的真值数据衡量当前的准确率,这些被用来测试的真值数据无论在类型上还是难度上都是经过了精心的筛选,以达到充分测试的目的。
百度会用一些复杂的数据进行测试,在评估模型效果的同时关注系统性能。
一个复杂的路口——包含车辆、摩托车、行人以及一些矮小的隔离桩。
同时,会利用一些“异常”的数据来测试模型是否存在缺陷或漏洞。
一辆很长的车:
一棵可能会移动的树:
软件在环测试(SIL)
对自动驾驶来说,虚拟仿真器是最有效的软件在环测试工具。百度目前每天能够进行百万公里级别仿真测试,仿真场景到达四百万个,实现对三百多种判断规则的自动化检验。而支撑这些的是IDC中心7x24小时不停运转的几千台服务器,以及用于加速运算的GPU。
虚拟仿真测试中百度会测试自动驾驶系统在各种场景下的感知、决策、规划和控制能力。百度构造了大量的场景,并且通过参数扩展的方法将单一的场景自动化生产规模化的场景,以提高测试的覆盖度。
例如,让一辆障碍车每次在路口按照不同的转弯曲率完成左转,用来测试自动驾驶系统是否选择了合理的方式应避免冲突。
同时,百度也将采集到的数据通过一系列的数据处理转化为虚拟仿真测试场景,这类场景可以真实还原道路交通环境,为系统提供了最真实的测试场景。
在仿真器的使用方面,百度还建立了精细的度量体系,通过一系列的度量工具,可以自动化地判断仿真过程中发生的碰撞问题、违反交规问题、体感问题、路线不合理问题。
在同样的场景下通过仿真对比车辆的不同决策,可以帮助我们直观的评估安全风险。
车辆在虚拟的城市里24小时不间断的行驶。
硬件在环测试(HIL)
硬件在环测试阶段,百度会把软件和硬件集成到一起,以测试软硬件系统的兼容性和可靠性。
通常硬件的故障发生都有一定的概率,带有一定的偶然性,因此百度会在硬件在环测试阶段基于真实和虚拟硬件结合方式进行成千上万真实场景的还原测试。
并且24小时不间断的对自动驾驶系统施加压力,以模拟系统在不同资源极限条件下(比如:GPU资源不足,CPU使用率过高)的性能和稳定性表现。
同时在这个阶段模拟了大量的硬件故障,测试在硬件故障的情况下系统的反映,如硬件失效、断电、丢帧、上下游接口异常等,确保系统符合ISO26262功能安全要求。
车辆在环测试阶段(VIL):基于台架开展测试验证车辆安全性
车辆在环测试阶段会先进行基于台架的测试,在台架上完成各项车辆线控功能、性能和稳定性测试,以确保自动驾驶系统可以按照意图控制车辆。
完成对车辆线控的测试之后VIL环节会进入封闭场地,基于真实的道路构建虚实结合的场景测试自动驾驶系统在真实车辆上的表现。
百度会评估每个版本对于危险场景的应对和处理能力,例如行人突然冲出、社会车辆逆行、道路强行挤占等极端的危险场景,覆盖NHTSA危险场景数据库和国内交通事故数据库场景。
同时百度也构造一些不太常见的场景,来验证自动驾驶车辆的安全性。
一个绿灯亮起,但是充满行人的路口:
一个行为异常的行人:
道路在环测试阶段(RIL):常见城市道路场景考核车辆安全性
在离线测试和车辆在环测试阶段通过后(每个环节都有严格的测试通过标准),百度会在封闭场地内构建真实的场景来测试车辆的自动驾驶各项能力和安全性。
目前百度有2个自建测试场,以及4个合作测试场。涵盖了常见的城市道路及高速道路,包括直行道路、弯道、路口、坡路、隧道及停车场等。另外,通过假人、假车等测试设备构造各种低频场景。
△国家智能汽车与智慧交通(京冀)示范区亦庄基地
这类低频场景在社会道路上存在,但是出现的频率较低,在开放道路上不易得到充分验证。例如逆行的自行车、突然冲出的行人、路段积水等场景。
在完成自测之后,百度会向第三方监管机构提出路测许可申请,通过层层的测试和考核,获得上路测试许可牌照。
△国家智能汽车与智慧交通(京冀)示范区亦庄基地
开放道路测试是道路在环测试的最终环节,也是自动驾驶车辆完成测试评估所必须经过的重要环节。
开放道路测试是循序渐进开展的,百度会将最新的系统部署在少量车上进行测试,确认安全后再部署到更大规模的车队。
测试道路的选择同样也是从较低难度的区域开始逐步扩展,在低难度区域内完成一定量的里程积累,并且达到目标MPI后再进入下一难度。
△国家智能汽车与智慧交通(京冀)示范区亦庄基地
目前百度已经在全国包括北京、长沙、重庆等多个城市地区获得超过百张测试牌照,安全路测里程200万公里,百度的自动驾驶系统经历了北京一年四季的变换,也经受住了长沙连绵梅雨季节的考验。
通过部署规模化自动驾驶车辆不断在实际道路上进行测试和验证,形成实际路上场景和自动驾驶能力不断闭环,使自动驾驶车辆在智能度、安全性等方面持续提升,从而逐渐接近具备自动驾驶车辆走进千家万户的能力。
为了更加安全地测试,百度为每一辆开放道路测试车辆配备了两名安全员。其中一名安全员在驾驶席上,负责监视实际道路的情况,当出现任何紧急情况或安全风险时对车辆进行第一时间接管。
这一人工接管切换过程每辆车上路前都必须经过反复测试并保证接管成功率100%,且系统会在第一时间将车辆控制权交给安全员。
另外一名安全员通过可视化的工具监视自动驾驶系统的运行情况,第一时间发现安全的隐患并提醒驾驶位安全员接管。
一名安全员需要通过自动驾驶理论和实际操作技能培训考核,在封闭场地完成2000公里以上的练习,才能正式成为一名合格的自动驾驶测试安全员。
构建面向量产的质量管理体系
硬件质量管理
自动驾驶车辆是一个高度复杂的产品,其中每一个硬件的质量表现都直接影响整车的质量,在产品装车之前进行有效的质量管控是自动驾驶车辆稳定持久运行的基础。
我们按照IATF16949的要求,从供应商开发、管理、质量控制、可靠性验证等多个方面建立了完整的符合汽车工业要求的工作流程及管理体系,在产品的生产、收货检验、集成检验等环节都进行了严格的质量把控,保证产品开发高效。
整车集成质量保证
在整车集成环节,我们制订并实施了完整的车辆试验项目,包括整车淋雨、涉水、EMC、操稳性、制动性和主观评价等,确保自动驾驶车辆的安全性、舒适性和可靠性。
写在最后
安全是自动驾驶永恒的话题,专业严谨的测试体系是一切信心的来源。
脱离这个测试体系,也许可以完成一两次“完美”的demo,但绝对不能支撑起更大规模的开放道路测试。
在自动驾驶落地的拉锯战中,跑得稳、远,比跑得快更重要,因此,“安全”始终是衡量自动驾驶玩家实力的关键因素,也是自动驾驶落地新阶段中的核心竞争力所在。
— 完 —