新闻资讯
无人驾驶车辆虚拟测试技术的发展
来源:科技导报作者:孙扬 付智超等
随着智能网络和汽车工业的发展,自动驾驶汽车成为各行各业关注的焦点。面对具有自主通行逻辑的交通工具,各国政府部门正积极出台相关政策法规来引导规范自动驾驶汽车行业的发展。在无人驾驶车领域,技术的每一步发展都必须以保障个人安全为丈量,由是它的发展除了将带给人们欢喜鼓舞的便利之外,也引发了对其安全性的担忧。“How to drive 10 billion miles in an autonomous vehicle”一文中分享了另一种解决思路,即利用模拟技术预演可能遇到的行车场景,并认为该逻辑能够进一步加深人们对于相关领域的认知。
无人驾驶车辆测试是无人驾驶车辆上路前的一个重要环节,实车测试需要消耗大量的人力、物力、财力及时间。虚拟仿真测试技术可以有效减少消耗、提高效率。虚拟测试可以随时应用于无人驾驶车辆系统开发的全过程,能够完成实车测试不能完成的极限工况,能够率先发现技术性问题,它的安全性、方便性及快速性是实车测试无法实现的。
无人驾驶车辆上路需要进行上百万英里的测试验证它是否比人类驾驶更加安全。
然而在现实场景中,完成上百万英里的实测需要很长时间,并会消耗大量的人力、物力和财力,这几乎是不可能完成的。在绝大多数情况下,现实场景的搭建极具挑战性,并且其创建、复制和迭代的成本很高。而虚拟现实提供了环境条件,它通过采集真实世界道路的数据搭建出虚拟仿真道路。在虚拟测试中,通过图形处理器(graphics processing unit,GPU)生成传感器数据,然后反哺到平台上进行模拟测试。通过上百万英里的虚拟测试定制出的场景和极端案例不但可以提高算法的鲁棒性,还可以减少研发成本。
在观察无人驾驶车辆对真实交通场景的反应时,有可能会产生各种危险;而在虚拟环境中,经过训练与测试,能让无人驾驶车辆变得更加安全,并使该技术更加完善。由于出行工具的安全性是人们首要考虑的因素,无人驾驶车辆在研发过程中需要针对各种环境条件进行不断地测试,以验证无人驾驶车辆技术,从而确保其安全程度高于人类驾驶员的操作。在某些情况下,无人驾驶车辆技术不仅要在实际道路上进行实车测试,还要在虚拟道路上进行虚拟仿真测试。其中,虚拟测试也是积累无人驾驶车辆测试里程的重要手段之一。虚拟环境具有在短时间内对多种路况进行再现的能力,它可以对某些实际道路中无法测试的场景进行测试,如在危险、不常见的和极端天气条件下等,这些场景弥补了实测中场景较难实现的缺点。由于可以使虚拟车辆长时间不间断地进行测试,并且可对某一虚拟场景进行重复测试,虚拟测试比在实际道路中的测试速度快且效率更高。如今,得益于高级图形处理技术的发展,各类仿真平台可以模拟出实际生活中的各种交通场景,并且可以根据测试需求对其进行调整。通过虚拟测试,避免了将人类测试员处于潜在的危险当中。强大的虚拟现实环境被认为是一种非常有效的工具,它在现实世界中的最终目的是安全行为的测试。随着虚拟现实技术的不断发展与应用,它在无人驾驶车辆测试系统的完善方面提供了极大的帮助。无人驾驶车辆虚拟测试技术猫”
基于物理的仿真平台
PreScan是由 TASS International 公司开发的一款基于物理世界的专业模拟仿真软件平台,其作用是对无人驾驶车辆和其他车辆的功能进行评估。PreScan 具有测试高级驾驶辅助系统(advanced driver assistance system,ADAS)和车对外界的信息交换(vehicle to everything,V2X)的功能,不但可以对无人驾驶车辆深度学习算法进行训练与验证,还可以将基于模型的控制器设计用于软件在环(software in the loop,SIL)和硬件在环(hardware in the loop,HIL)系统的实时测试中。北京理工大学田赓将PreScan应用于验证无人驾驶车辆的仿生换道决策模型。在基于PreScan搭建的虚拟城市道路环境下的虚拟仿真平台上,进行闭环随机场景的仿真实验,验证其相对距离换道执行阶段的行为决策是否符合人类驾驶员在换道过程中的驾驶行为。基于PreScan还可以创建各种各样的交通场景,并能轻松地与 Matlab/Simulink进行联合仿真。北京理工大学的宋威龙使用 Prescan 和 Matlab/Simulink 进行交叉口联合仿真,验证基于车辆行为交互的两阶段智能车辆交叉口行为决策方法。长安汽车全球研发中心开发了一种虚拟测试系统,用于在实验室中评估车道偏离警报系统(lane departure warning system,LDWS)的预警性能,该系统中测试场景的动画是在虚拟现实软件中创建并实时更新的,不需要在真实的车辆中测试或收集数据。将待评估的 LDWS摄像头进行校准,通过捕捉真实车辆测试中的动画,模拟出相应的动作。该系统可以通过控制器局域网络(controller area network,CAN)总线与LDWS控制器通信,发送车辆相关信息,同时接收 LDWS状态和预警信号;还可以容易地模拟出真实车辆测试的各个环节。PreScan还可以创建各种场景,相比实车测试来说,成本降低。通过多次实验,使问题的查找和重现变得更加容易,并提供了更多目标来进行比较和评估。因此,在一些重要场景中,可以避免实验中出现的危险。吉林大学王楠等将 Carsim 动态模型与PreScan中的仿真车辆相结合,并基于PreScan建立的仿真场景,对所提出的自适应巡航控制(adaptive cruise control,ACC)系统的划分方法和控制算法在典型工况及前车等复杂工况下的适应性进行了验证,同时建立了相应的 Simulink/PrsScan/Carsim联合仿真。北京理工大学谢兼明等利用了人工驱动数据和曲线道路参数,在 Prescan 模拟环境中对智能车辆的个性化曲线驱动模型进行训练并仿真。仿真结果表明,无人驾驶车辆模型可以像人类驾驶员一样平稳地通过曲线。PanoSim是一款集汽车三维行驶环境模型、汽车行驶交通模型、复杂车辆动力学模型、车载环境传感模型(相机和雷达)、无线通信模型、GPS与数字地图模型、Matlab/Simulink仿真环境自动生成工具箱、图形与动画后处理工具等于一体的大型模拟仿真软件平台。Panosim也是基于物理建模,用来支持高效、高精度的数字仿真环境下,汽车动力学与性能、汽车电子控制系统、智能辅助驾驶与主动安全系统、环境传感与感知、无人驾驶车辆等技术和产品的研发、测试和验证。吉林大学孙博华等选用 dSpace 系统作为实时仿真模型处理器,根据油门踏板、制动踏板和 Senso Wheel 力矩方向盘的状态,实时采集真实驾驶员的操纵信息,实时运行PanoSim软件模型,可以得到与主车及交通车辆相关的状态信息;在面向汽车智能化仿真的雷达模拟研究中,实现了将所提出的车载雷达模型在虚拟仿真环境平台PanoSim的集成,然后,在Simulink平台上搭建了基于雷达探测的自适应巡航控制系统,其应用实例验证了模型集成后的运行情况。作为虚拟仿真实验平台,PanoSim 配合实时仿真处理器dSPACE DS1006 搭建出驾驶在环智能仿真平台。该平台可对驾驶员的驾驶风格数据进行收集,并对其进行分类和识别。Gazebo平台具备在复杂室内外环境中准确有效地模拟训练机器人的能力,一般结合机器人操作系统 ROS(robot operating system)来进行测试。西安交通大学的陈宇用 Gazebo作为物理模型来评估模拟平台的有效性,并验证其对无人驾驶车辆开发的适用性;Gupta用 Gazebo 来模拟真实车辆的行为,并验证了开发的远程导航智能架构的精确性;Nugraha通过 Gazebo 使无人驾驶车辆实现简单的策略跟踪。
深度强化学习训练无人驾驶车辆技术的应用
TORCS(The Open Racing Car Simulator)可以作为仿真器,支持 Windows和 Linux,用 C和 C++编写出 50 种车辆和 20 条赛道,释放在 GPL(general public license)协议下,可以用深度学习框架 Keras和深度强化学习算法DDPG去训练TORCS汽车。通过进化计算来训练人工神经网络,并将其用于强化学习(reinforcement learning,RL)任务中,其中 TORCS中有超过 100万个加权的网络被演变为赛道上驾驶员视角的视频图像,并成功发展出神经网络控制器。还可以通过深度确定性策略梯度实现无人驾驶车辆的算法。在一个稳定而熟悉的环境中,车辆可以学习驾驶政策,这是有效和可靠的;然后利用人工势场设计避碰算法和路径跟踪方法。在大多数情况下,将基于深度强化学习和安全控制的组合用于 TORCS 汽车上进行训练,结果表现良好。在 GTAV(Grand Theft Auto V)中,通过模拟真实世界来建立逼真的道路环境,其中包含不同行驶状态的车辆,以此来训练、测试和提升深度学习。在GTAV中较容易生成高速公路驾驶的虚拟图像,利用卷积神经网络(convolutional neural network,CNN)训练,实现前方车辆、车道标志等物体的追踪以及驾驶员角度的同步跟随。KITTI 数据集由德国卡尔斯鲁厄理工学院和丰田美国技术研究院联合创办,是主流的无人驾驶车辆测试场景下的计算机视觉算法评测数据集。该数据集用于评测立体照片、光流、视觉里程、三维目标检测、三维目标追踪和同步定位与建图(simultaneous localization and mapping,SLAM)等计算机视觉技术在车载环境下的性能,包含市区、乡村和高速公路等场景采集的真实图像数据。Naghavi提出了一种无人驾驶车辆图像中目标的综合实时检测算法,该算法在KITTI测试集上以38frame/s的速度执行,验证了该算法下的无人驾驶车辆在KITTI数据集场景中的适用性。Prabhakar利用图像数据集在虚拟环境下训练的基于区域卷积神经网络的深度学习系统,对车辆、道路障碍物、行人和动物等进行检测和分类。在 KITTI 数据集印度道路图像的检测结果表明:该系统对物体的形状和视野以及不同的光照和气候条件具有不变的性能。Chacra在 KITTI数据集上测试了他提出的一种基于街景图像的道路分割算法,并将其与当前的技术水平进行了比较。Udacity通过开源协议授权公开了它的无人驾驶车辆模拟器,任何人都可以利用此模拟器的资源,载入软件内置场景或创建自己的虚拟测试路线。该模拟器支持利用深度学习开发无人驾驶车辆,可以在 Linux、Mac OS 和 Windows 环境中应用。国际汽车工程师协会(Society of Automotive Engineer,SAE)的工程师与在线网络教育平台优达学城(Udacity)的国际学生组成的团队进行了合作,该团队的目标是通过端到端的深度神经网络,为车辆提供方向盘、刹车和油门的实时控制,测试和使用了多种架构,包括卷积神经网络和递归神经网络。通过修改 Udacity驾驶模拟器来收集数据并开发训练模型,这些模型在该团队电脑 GPU 上实现,在 Udacity 模拟器中重新创建 Thunderhill 赛道里训练,并开发了基于 Keras 和 Tensorflow 的神经网络,结合深度学习网络算法使用单目摄像头预测汽车转向角度,结果表明,在较短的工程开发时间内,使用单目摄像头可以在有限的范围内实现车辆的指挥和控制。Yang利用对公开的 Udacity数据集进行了实验,验证了一个多任务学习框架,框架生成的模型能准确预测转向角和速度值,进一步改进了数据,解决了实际道路实验中误差累积的问题。北京大学迟禄通过大量实验,找出了适合仅依靠车载摄像头来预测方向盘的实时最优操控角度的深度学习模型,该模型在 Udacity 无人驾驶车辆数据集上精度较高。Comma.ai是用于无人驾驶车辆的人工智能,是基于一种通过模拟道路上未来事件来学习克隆驾驶员行为和计划机动的智能体,其带有视频和传感器的驾驶数据集,如车速、转向角等。Chen提出了一种无人驾驶车辆保持车道的端到端学习方法,该方法能够根据前置摄像头捕获的图像帧数自动生成合适的转向角,Chen 使用 comma.ai 数据集对 CNN 模型进行训练和评估,包含在道路上行驶时采集的前视图图像帧和获取的转向角数据,实验结果表明,该模型能较准确地实现车辆的转向。
平行驾驶应用于无人驾驶车辆虚拟测试
平行系统是中国科学院自动化研究所王飞跃于 2004 年提出的,该系统设想用一种适合复杂系统的计算理论方法来解决社会经济系统中关于计算的重要问题,其主要思想是利用大规模的计算模拟、预测和归纳来引导复杂系统现象,通过整合人工系统、计算实验和平行系统等方法,形成新的计算研究体系。平行系统是由一个真实的自然存在的实际系统和一个或多个与之相应的虚拟或理想化的人工系统共同组成的系统。平行机器人是物理机器人、软件机器人、仿真系统、物联网、数据库、广义的人工智能技术等交叉融合于一体的机器人控制与管理系统。在平行系统中,所使用的技术手段称为ACP(Artificial systems Computational experiments Parallel execution)方法,其中 A 指人工系统,它构建了类似于真实系统的人工系统;C指计算实验,即利用当前高效、鲁棒的人工智能、机器学习等方法来求解和分析所提出并构建的不同数学问题;P指平行执行,其中真实系统由人工系统引导,同时也可以改进并提升人工系统。中国科学院自动化研究所白天翔通过使用处理复杂系统的 ACP平行系统方法来解决无人驾驶车辆系统面临的问题,即将平行理论与机器人的结合——平行机器人方法,应用于无人车中形成平行无人系统,连通物理、网络和社会空间,以数据为驱动推进优化训练,以此走向系统化应用。平行学习方法越来越多地应用于虚拟场景生成和无人驾驶车辆智能测试中。CPSS 是由物理系统(physical system)、包括人的社会系统(social system)、连接二者的信息系统(Cyber system)所共同构成的一类复杂系统,它通过传感器网络实现物理系统和信息系统之间的连接,通过社会传感器网络实现社会系统和信息系统之间的连接,于是“社会+物理系统”就能够“等价地”映射到信息系统中。CPSS是指在以后的开车过程中,不仅仅局限在物理世界,还可以将物理世界中的汽车、公路分别与软件定义的汽车、公路在平行系统中结合起来。在 IEEE IV 2018 On-Road Demonstration 国际智能车联合道路演示的比赛中,来自中山大学、加拿大滑铁卢大学等高校以及鹤山东风汽车等公司的无人驾驶车辆全部接入了平行驾驶3.1系统。这些无人驾驶车辆分别在一般交通场景响应式接管演示(正常接管)、紧急交通场景主动式接管演示(紧急接管)、主动避障功能演示和中心驾驶员实时状态监测 4个场景下,利用平行驾驶3.1系统实现了更安全的无人驾驶,这一系列的操作只需要一个网络远程驾驶员。平行驾驶将有人驾驶与无人驾驶结合起来,其核心就是王飞跃提出的具有当地简单(local simple)、远程复杂(remote complex)特性的“基于代理的网络控制”。平行驾驶是一套能够获得感知极限内和以外情况下的场景及相关数据的系统,它通过大量算法与算例分析并评估行驶决策、并将知识与经验分享给系统中的所有车辆。它依靠具有感知、传输与决策能力的单个车辆,以及后台功能全面的 GPU 等设备进行数据存储与计算,使得车辆本身具有根据环境变化调整自身行为的能力,只有出现预警时,才需要人为地来接管。在平行驾驶的过程中,通过物理传感器能够获得关于路况、车辆服务、车辆状态的数据信息。将这些从物理世界获得的数据进行加工,通过计算实验的方式,扩展成大数据,再用智能方法如机器学习等把这些大数据提炼成针对具体问题、具体服务的小知识、小规则和小智能。换句话说,就是具体任务的精准知识,完成出行的智能控制与管理,让出行变得安全、舒适、敏捷和智能。计算实验是平行驾驶独有的虚拟测试方法,它在人工系统和真实系统 2个维度中同时进行,目的是让计算机越来越智能。计算实验在实际系统中主要通过对过去和当前的数据信息进行处理,获得能够指导实际系统运行的知识;而在人工系统中则主要通过预测学习和引导学习来获取未来的或未经历过的知识,从而使得平行系统更加完善。无人驾驶车辆虚拟测试技术发展趋势
无人驾驶车辆的虚拟测试平台越来越多,它们可以按照实际需要提供相应的场景,且可以快速实现。所建立的虚拟场景不再是真实场景的简化,其纹理图案轮廓越来越细腻,更贴近真实道路,可为虚拟测试提供更多的选择。在无人驾驶车辆实现SAE 设立的 L5 级道路上,虚拟测试已经成为路测的一个有益的补充。这使得越来越多的公司及高校开始相信和重视虚拟测试。随着虚拟场景创建速度的提高,其复杂度也会随之增加,而不仅是进行某些功能的验证。虚拟测试因为不受封闭场地的影响,可在开发初期进行测试,过程中不存在测试安全性问题。并且随着仿真精度的提高,测试效率也随之提高。与无人驾驶车辆相关的平台不断推陈出新。例如,英伟达公司的开放式无人驾驶车辆平台NVIDIA DRIVE,英特尔公司的全球首个将应用 5G技术的无人驾驶车辆平台IntelGo,百度公司的开发式的无人驾驶车辆平台 Apollo,西门子股份公司的无人驾驶车辆平台 DRS360,伟世通公司无人驾驶车辆开发平台 DriveCore™,恩智浦半导体公司无人驾驶车辆平台BlueBox和Automated Drive Kit,禾多科技(北京)有限公司轩辕平台和三星集团无人驾驶车辆平台 DRVLINE,这些不同类型的平台皆为加速无人驾驶车辆开发的有利工具。在无人驾驶车辆技术成熟的过程中,虚拟测试相比于实车测试来说,缩短了测试时间,降低了人力、物力、财力,弥补了实测中场景较难实现的缺点,对该技术提供了巨大的帮助。无人驾驶车辆虚拟测试技术是无人驾驶车辆测试中不可或缺的支持,越来越多的虚拟测试平台及相关技术的出现是对虚拟测试的肯定。在开发无人驾驶车辆系统的过程中,无论是前期、中期还是后期,虚拟测试随时可以应用,能够完成实车测试不能完成的极限工况,且能够率先发现技术性问题,它的安全性、方便性及快速性是实车测试无法实现的。