百度自动驾驶云姚发亮:智能网联汽车仿真测试技术
9月28-29日,2021年“东方风起领航、智能驾驶跃迁——中国车谷2021智能汽车产业创新发展论坛”在武汉市举办,会议以智能驾驶为主线,通过一个主论坛+六个平行分论坛的形式,对智能驾驶趋势、智能驾驶系统技术及人机共驾、车路协同及网联技术、人工智能与芯片、感知融合技术、智能驾驶测试和评价技术、高精地图与定位技术等主题展开讨论。
在9月29日的“智能驾驶测试和评价技术”第五分论坛上,百度自动驾驶云首席产品架构师姚发亮发表了“智能网联汽车仿真测试技术”的主旨演讲,内容如下:
百度自动驾驶云首席产品架构师姚发亮
大家好,我是来自百度自动驾驶云的姚发亮,首先感谢东风汽车和盖世汽车给的这次机会,让我能有机会在这里跟大家分享一下百度在自动驾驶测试方向的一些积累。
大家知道百度是从2013年开始做自动驾驶,迄今为止已经有八个年头,我们自动驾驶云也是伴随着百度自动驾驶业务逐渐成熟起来的,今天要分享的仿真就是我们自动驾驶云里面比较重要的一个产品。
在介绍正式云仿真之前我先简单介绍一下百度自动驾驶云。
这也片子里呢,底层是自动驾驶云依赖的一些支撑条件,包括算法、算力、数据、场景。中间是自动驾驶云的核心业务板块,包括数据、研发、测试、运营、监管,这五大中台。其中数据中台主要是解决自动驾驶研发过程中海量数据『存管用』的问题。研发中台提供全栈的自动驾驶算法研发、训练、评估、模型管理的解决方案。
大家看一下最下面的时间线,2013年百度投入无人车技术研发,在2015年12月份首次在北京完成混合道路上路测试。2017年发布Apollo计划,在去年12月份百度对外发布了乐高式的汽车解决方案『智舱、智驾、智云、智图』,其中仿真就是『智云』中最重要的一个产品。
这里有几个亮眼的数字,我跟大家简单介绍下:
周:基于云仿真平台打造的工具链,在百度内部呢可以很好支撑自动驾驶算法研发做到周级别迭代。
万:云仿真背后呢,有上万台机器集群,支持大规模并发。
百万:这是我们目前比较真实的一个数据,就是每天在仿真里测试积累的里程数可以达到上百万公里。
双千万:百度内部呢已经积累了1600多万公里实际道路的真实测试数据,那从这些数据里面挖掘提取积累了千万量级场景库数据,并在内部不断迭代优化,形成了比较完善的评价体系。
接下来进入今天的主题,这里为两个时间段,2016-2018和2018-2021年。
2016-2018年,百度自己的自动驾驶测试还是以道路测试为主,仿真测试为辅,当时更多的是以问题来驱动自动驾驶研发,这个时候面临的一个问题,就是可能在北京这个车跑的很好,同样的车辆在长沙运营之后又会碰到各种各样的问题,还有一个问题就是整体运营版本发布周期是一个月甚至更长时间,版本上车成功率也只有40%左右。
那在2018-2021年,随着内部仿真产品日渐成熟,现在已经变成了以仿真测试为主,道路测试为辅。目前更多的是以场景库来驱动自动驾驶算法研发,现在的运营版本发布周期大致是7天左右,版本上车成功率几乎100%。
我们回过头来看呢,传统的以『道路测试为主、仿真测试为辅』的方式会有什么问题呢?
主要有三个问题:评价维度单一,场景用例薄弱,迭代效率不满足,此外,在路测阶段需要投入大量的人力,这块也会是非常大的一个数字。
接下来呢跟大家介绍一下百度内部是怎么做自动驾驶测试的,这也片子呢是百度内部自动驾驶的一个测试流程。首先是研发编码环节:包括编码、评审、代码风格检查,代码提交。提交之后进入CI Build环节,主要是做静态代码检查,单元测试,功能+仿真冒烟测试,这个阶段大概耗时10-15min。右边可以看到是我们内每天都在做的Daily build测试,大概耗时5-7个小时,主要是做功能测试,仿真测试,性能测试,集成测试,Benchmark评估测试。每天晚上10点左右定时执行Daily build任务,第二天早上就可以看到测试结果和报告。
另外在集成测试之后会流转到封闭测试场测试,这个耗时大概2-3天,之后再上到测试车到开放道路去测试验证,这个时间大概是1-2个礼拜时间,最后正式版本是通过OTA更新升级到运营车辆上面去。
整个自动驾驶研发测试我们分成了三个阶段:研发阶段、离线仿真测试阶段、道路测试阶段。
这页片子的下面内容介绍的是仿真提供的能力,研发环节仿真可以提供实时的调试功能,如果发现问题,也可以在仿真里面做复现和验证。举个例子,如果在路上碰到接管场景,这个场景回到云端之后,我们会把它转换成仿真场景,研发工程师接手处理这个问题,算法更新之后需要做一个验证,那我们就可以把当时路上的接管场景在仿真里面做一次回放,看一下新的算法在之前被接管的场景里面能不能很好的被验证通过。
离线仿真测试主要分两个阶段,Daily Builid和集成测试。我们从1600多万实际道路数据积累了海量的场景,这些场景我们就把它逐一做分类,就可以用于专项测试做算法评估。我们的仿真有一个产品形态叫worldsim,就是可以自己编辑一个场景,然后对某些参数做一些设定之后,那这个人工设计出来的场景就可以泛化成上千个,甚至上万个场景,这些大量生成的场景可以帮我们做一些算法能力边界的评估。
道路测试阶段,道路测试发现的问题会转换成场景在场景库里面做一个管理,后面可以在仿真里面做一个执行和验证。此外呢仿真产品也提供工具把大量路上采集的数据转换成仿真测试所需的场景数据。
目前百度以仿真为基础打造的Dev Ops工具链解耦了研发测试对实车的强依赖,这套工具链可以支持我们实现天级别算法上路,也就是说研发工程师提交的代码,第二天就可以在真是道路的测试车上看到真实的效果。这套仿真本身是一个云仿真平台,支持大规模高并发,支持千人级别并发研发。我们内部评估了一下,相较于之前传统的测试方式,目前这套工具链可以帮助我们提升10倍左右的迭代效率。此外呢,目前自动驾驶测试过程中99%的问题都能在测试环节被发现,只有1%不到的问题会遗留到实际道路测试和运营环节发现。
在场景库这块,我们从大量真实道路测试里面转换出来千万级别场景,另外还有比较完善的评价体系,因为百度日常在做研发测试迭代,内部经过1万多次迭代,形成了比较受大家认可的评价体系,总体分为六大类:基础,安全,交规,体感,智能性,个性化,总共200多项metric指标。另外仿真平台还提供可视化的分析工具和数据报表方便工程师使用。在百度内部这套云仿真平台叫DreamLand,内置了百度的高精地图,提供海量测试场景,每天支持内部积累百万公里的仿真测试数据,再一个就是多维度评价体系。
因为前面都介绍了自动驾驶云和仿真,其中仿真是自动驾驶云里面比较重要的产品,这个片子主要是跟大家介绍一下整体自动驾驶云。
—VCR—
在去年12月份百度内部正式决定这些研发测试的工具链和平台都可以对外商业化,目前我也是在负责自动驾驶云商业化的事情,欢迎大家线下沟通交流。好的,我今天的分享就先到这里,谢谢大家。