2017北京车联网与智能驾驶论坛于9月6-7日在北京昌平小汤山佐智自动驾驶园召开。会上,中科院自动化所黄武陵做了题为《无人驾驶测试技术探讨》的演讲。
![](http://www.shujubang.com/UpLoads/Special/File/2017_09/636422990342347583.jpg)
黄武陵:无人驾驶技术发展到现在这个阶段,越发彰显了测试的重要性。无人驾驶测试的工作需要得到更多的重视和更多的投入。无人驾驶测试不仅要求对无人驾驶车辆功能进行分析、测试与评估,还要求能够快速促进其发展,最终形成设计标准和规范。针对无人驾驶测试,我们做了一些探索,今天与大家做个探讨。
首先,无人驾驶车辆上路面临诸多的挑战。在实际道路测试过程中,无人驾驶车辆会遇到各样的复杂场景,例如图中这个路段有鸭子等动物,还有婴儿车出没。无人驾驶车辆如何检测、识别与处理这些目标,如何应对这样的场景?这些都是上路的挑战。还有复杂交叉路口的场景,例如右转时,需要处理许多行人、骑自行车和电动车的目标。例如,实际中常见的加塞等情况,对无人车来说都比较难处理。例如,这个交警用指挥交通手势识别,在道路测试时碰到信号灯故障和临时交通管制等情况,如果没有实现并加以验证,无人车上路就会遇到问题。
![](http://www.shujubang.com/UpLoads/Special/File/2017_09/636422990477567619.jpg)
其次,介绍一下无人驾驶测试在国内外的进展情况。
国外无人驾驶研究开展的早一些,开展规模测试也早一些,有一些经验可以借鉴。例如,谷歌/WAYMO定期会发布它的测试报告,可以到它网站看一下。在它2015年测试中,人工干预情况有很多是由软件、硬件的问题、天气条件、感知不确定、还有紧急车辆和其他交通参与者行为预测不当引起的各种问题。2016年,Waymo无人车在加州“复杂的城市和郊区街道”行驶里程达到635868英里,较2015年增加了50%。“可报告人工接手次数”从2015年的341次下降到去年的124次。也就是如图中每1000英里干预0.2次,这个算是达到很高水平了。Waymo在今年7个月达到三百万英里的城市道路测试,相比之下,之前花了大约6年时间才达到一百万,这个要归功于在2016年开展的10万英里的模拟测试。这类结合实际和仿真测试的加速方法,非常有效。其他国家也有开展许多无人驾驶测试工作,例如德国和日本,都是传统的汽车工业强国,都比较低调,做了很多工作可能没有太多宣传。
![](http://www.shujubang.com/UpLoads/Special/File/2017_09/636422990592562269.jpg)
国内早在九五期间也已开展无人驾驶研究了,清华大学、国防科大、西交大、北京理工和南京理工等学校,是国内较早从事研发的院校。2009年,国家自然科学基金委员会启动了“视听觉信息的认知计算”重大计划,以无人驾驶车辆为载体,验证相关的研究成果。每年支持举办一个中国智能车未来挑战赛。智能车比赛也是一种测试的方式,以无人车为平台,要在特定的交通环境里进行自主驾驶测试。最终要求在真实的道路上,混迹与正常的交通流中,实现真正的无人驾驶,非常具有挑战性。
![](http://www.shujubang.com/UpLoads/Special/File/2017_09/636422990700632825.jpg)
智能车比赛每年都会设计一些特定的测试任务,设计一些测试场景,针对无人驾驶测试与评估方法也做了一些探索。从2009年开始第一届中国智能车挑战赛,最早在西安,办了两届,然后到内蒙古鄂尔多斯和赤峰。2013年以后就都在苏州常熟了。2016年的比赛有22支车队参赛,基本包括了国内顶尖的研究团队。早期参加比赛的无人车上都有各类传感器,但是现在大部分都集成在车里,做得都非常好。在比赛评比过程中,我们积累的无人车测试方法和规范等工作成果,后来落地常熟智能车中心的建设中,现在逐渐将无人车测试环境建设起来,后续希望大家都能用得上,可以促进国内的无人驾驶及测试发展。
接下来我们来探讨一下无人驾驶车辆的软件测试。无人车比较复杂,包含了车载传感器、执行器件和计算单元,里面运行了许多软件代码,例如设备驱动、各类算法、人机交互组件等。这些软件代码统计起来约有几百万行。对这些代码的测试与验证,需要大量的功夫,当然也有成熟的针对车载关键性应用的软件测试方法和流程可以借鉴。其次,要对这些代码组建的功能模块进行功能验证,也是一个巨大的挑战。例如,无人车辆的感知曾和车辆控制层功能,各个模块到底是不是适合车载应用的标准,性能怎么样,放到一起是否有问题,跑起来是否稳定,能不能跑一天等等。
无人驾驶汽车功能性测试过程主要包括,静态检查待测智能车物理特性,动态测试智能车的基本功能等,重点测试无人驾驶汽车的驾驶安全性能,人机交互性能,恶劣交通环境的适应性,认知和自主决策等高级能力。总的来说,无人驾驶汽车的测评大致可以分为“体检”、“场地考”、“路考”三个阶段,对应智能车辆的功能性测试、驾驶任务和综合驾驶任务测试。
我们曾经在2011年比赛中专门对交通标志进行过一个静态测试,无人车停到交通标志前,输出检测到交通标志结果。由于光线环境变化,当时还是较大的挑战,整体识别正确率不是很高。当然现在整体水平上来了,基本不是问题了。
针对驾驶任务测试,每年都有场地考核内容,针对某个特定的功能进行测试。此外,路考相当于综合性能考评,比赛的时候按照时间优先原则,加上行驶中的违规惩罚,结合评价指标,通过一整套的评估方法,最终给一个综合评测。
![](http://www.shujubang.com/UpLoads/Special/File/2017_09/636422990813918425.jpg)
关于无人驾驶车辆的测试方法,总结下来,现有测试方法包括软件仿真测试方法,从模拟传感器、车辆动态模型和控制器模型,到模拟综合交通环境。还包括软件在环(SIL),硬件在环(HIL),车辆在环(VEHIL)或混合仿真方法,通过该仿真模拟方法来测试无人驾驶功能模块。另一个是真实交通测试方法,无人驾驶系统需要经过数十万公里的安全测试,才能验证其自主驾驶系统安全性。为了加速无人驾驶汽车的测试开发,需要支持现有的工具和方法的集成,主要包括上述常见的自动驾驶的测试方法及其组合。
这其中,传统的车辆测试方法作为基础,像ADAS测试,虽然简单一点,但是可作为无人驾驶测试的基础,完全可以用这套设备,包括业界常用的硬件和软件,都可以集成进来。
![](http://www.shujubang.com/UpLoads/Special/File/2017_09/636422990919303331.jpg)
功能评估完了以后,在实际上路测试之前,还需要车辆在环测试。例如,这是一个真实场景,通过仿真环境对应起来,并且两者之间能够交互起来。仿真验证好功能以后,通过构建一些真实的场景,在环境中开展一些虚实交互的测试。通过车载传感器能够把车辆姿态状态还有轨迹记录下来,结合测评方法、指标以及测评的综合方法,能够对相应功能进行测试。
针对软件仿真测试方面,早期也有一些比较成熟的工具可以用来做功能层级的验证。针对现在无人驾驶中一些新的技术应用,例如深度学习等,如何开展测评,需要在传统方法基础上进行改进。例如,GTA等软件,已经有可供无人驾驶软件模拟测试的虚拟环境。Udacity提供了一个开源模拟器,面向自动驾驶虚拟测试。此外,基于Unity引擎的虚拟驾校AIS,通过数字化模拟一座虚拟城市,模拟自动驾驶汽车在遇到各种障碍和车况,包括在雨天和暴风雨条件下的处理办法。打造一个虚拟世界来帮助无人车的识别工作,包括汽车,行人,路标等物体。无人车的摄像头经过识别,车况分析后将会决定是否转向,刹车,或发出车道变更信号,这套系统会收集包括高速路等普遍路况的大量数据,以便于自动驾驶汽车的分析处理。
![](http://www.shujubang.com/UpLoads/Special/File/2017_09/636422991071789655.jpg)
针对无人驾驶的实际场地测试等工作,我们在常熟智能车中心做了一些实践。2015年8月18日公开发布,集成了智能车比赛的一些想法,整合了现有的测试技术,为现在的无人驾驶测试方法面临的问题给出一个比较完整的方案。包括无人驾驶功能测试,包括怎么样覆盖和综合测评。在有限的空间内将多样性的测试场景放进去,包括测试设备、测试管理中心、V2X、高精地图,高精度定位,测试机器人,视频监控等建设。
![](http://www.shujubang.com/UpLoads/Special/File/2017_09/636422991157212857.jpg)
这个是2016年比赛中比较有意思的一个场景。我们设计了一个任务,构建了一个施工的场景,无人车需要借道同行,对向车道如果有车就要停住,如果没车才可以同行。在测试中,可以看出来有的无人车很好完成任务,有的则任务失败。
![](http://www.shujubang.com/UpLoads/Special/File/2017_09/636422991239266789.jpg)
同时,我们也在所采集的测试场地高精度数据基础上,进行模拟测试。同时,支持模拟测试中的场景动态生成。这样,可以通过生成的测试任务,进行多样性覆盖测试。使我们在测试场物理条件约束下,尽可能多的产生交通场景。此外,借助实际场景基础上的人工场景生成,通过虚实结合,在仿真环境里,可以很容易的形成不同气候等多样的测试场景,进行测试迭代。通过实际场地和模拟场地的结合,克服了场地测试和仿真测试的不足,有助于我们形成一个低成本的测试方式。
当然,现有的方法还有很多需要改进的地方,比如可以在仿真测试环境中做一些加压和加速,提高测试的效率等。集思广益,改善现有的测试方法,更好地给大家做服务,可以多开展合作,谢谢大家。