1、什么是自动驾驶汽车
1.1 基本概念定义
1)自动驾驶汽车是通过搭载先进的车载传感器、控制器和数据处理器、执行机构等装置,借助车联网、5G和V2X等现代移动通信与网络技术实现交通参与物与彼此间的互换与共享,从而具备在复杂环境下的传感感知、决策规划、控制执行等功能。
2)驾驶系统基于环境感知技术对车辆周围环境进行感知,并根据感知所获得的信息,通过车载中心电脑自主控制车辆的转向和速度,使车辆能够安全可靠地行驶,并达到预定目的地。
3)自动驾驶车辆的整个工作流程是:
— — 首先,是通过雷达、激光雷达、摄像头、车载网联系统等对外界的环境进行感知识别;
— — 然后,在融合多方面感知信息的基础上,通过智能算法学习外界场景信息,预测场景中交通参与者的轨迹,规划车辆运行轨迹,实现车辆拟人化控制融入交通流中;
— — 最后跟踪决策规划的轨迹目标,控制车辆的油门、刹车和转向等驾驶动作,调节车辆行驶速度、位置和方向等状态,以保证汽车的安全性、操纵性和稳定性。
1.2 关键技术及开发流程
1)自动驾驶的关键技术是环境感知技术和车辆控制技术,其中环境感知技术是无人驾驶汽车行驶的基础,车辆控制技术是无人驾驶汽车行驶的核心,包括决策规划和控制执行两个环节,这两项技术相辅相成共同构成自动驾驶汽车的关键技术。
图1. 自动驾驶汽车控制架构
2)无论是环境感知技术,还是车辆控制技术,自动驾驶都需要大量算法的支持,而算法研发本来就是个不断迭代的过程,在算法不成熟的条件下,为了配合自动驾驶汽车的功能和性能开发,我们必须遵循从纯模型仿真,到半实物的仿真,到封闭场地-道路测试,并最终走向开放场地-道路测试这一开发流程;
2、什么是自动驾驶仿真技术
2.1 基本概念定义
1) 自动驾驶仿真技术是计算机仿真技术在汽车领域的应用,它比传统ADAS仿真系统研发更为复杂,对系统在解耦和架构上的要求非常高;
2)类似其他通用仿真平台,它必须尽可能的真实,而对仿真系统进行分析和研究的一个基础性和关键性的问题就是将系统模型化;
3)通过数学建模的方式将真实世界进行数字化还原和泛化,建立正确、可靠、有效的仿真模型是保证仿真结果具有高可信度的关键和前提。
4)仿真技术的基本原理是在仿真场景内,将真实控制器变成算法,结合传感器仿真等技术,完成对算法的测试和验证。
2.2 自动驾驶仿真平台
一个完整的自动驾驶仿真平台,需要包括静态场景还原、动态案例仿真、传感器仿真、车辆动力学仿真、并行加速计算等功能,并能够较为容易的接入自动驾驶感知和决策控制系统;只有算法与仿真平台紧密结合,才能形成一个闭环,达到持续迭代和优化的状态。
图2. 自动驾驶仿真系统模块
1)静态场景构建方案
a、可以采集实际环境信息及已有的高精度地图构建静态场景,通过采集激光点云数据,建立高精度地图,构建环境模型,并通过自动化工具链完成厘米级道路还原。
b、静态场景数据编辑和自动生成技术,可基于实体场景完成真实道路自动化还原,也可以对道路周围树木及信号灯等标识根据不同拓扑结构进行自动的排布组合,生成更多的衍生虚拟场景。
c、人为创建所需的环境,可以只包括那些简单的典型道路和场景,也可以把复杂的立交桥,隧道,各种障碍物,车道线和交通标志包括进来,用于不同的仿真测试和训练目的。
图3. 典型道路 - 环岛场景构建示例
图4. 交通信号灯、车道线等静态场景构建示例
2) 动态场景构建方案
a、用实际路上采集的海量真实数据,经过算法抽取,结合已有的高精地图,做动态场景重建;
b、对多元类型数据进行整合与加工,通过算法构建逼近真实的智能体行为模型,可实现差异化动态场景的快速搭建;
c、随机交通流的生成可模拟复杂的交通环境,通过设置车辆,行人,非机动车的密度,根据统计学的比例自动生成,大大提升了整个场景搭建的速度;
图5. 连续交通流仿真的可视化界面示例
3)传感器仿真
即环境感知传感器的建模能力需要对传感器物理原理的大量先验知识和经验。传感器仿真三个不同层级的仿真:
a、物理信号的仿真 - 就是直接仿真传感器接收到的信号,如摄像头:直接仿真摄像头检测到的光学信号;雷达:直接仿真声波和电磁波信号。
b、原始信号仿真 - 即把传感器的探测单元拆掉,因为控制电控嵌入系统中有专门的数字处理芯片,可以直接仿真数字处理芯片的输入单元。
c、目标级信号仿真 - 目标级输入信号一般是CAN总线输入信号或者其他通讯协议格式输入信号。比如差分GPS和IMU可以通过串口通讯来仿真。
图6. 传感器仿真层级结构图
4)车辆动力学仿真
一般将车辆模型参数化,包括:车体模型参数化,轮胎模型参数化,制动系统模型参数化,转向系统模型参数化,动力系统模型参数化,传动系统模型参数化,空气动力学模型参数化,硬件IO接口模型参数化,根据实际测试车辆的动力学配置合适的参数。使用这些复杂的车辆参数,可以保证车辆的仿真精度更高,使被控对象更接近于真实的对象。
图7. 车辆动力学仿真测试示例
5)并行计算
a、在有了丰富的交通场景库,准确的传感器模型和车辆动力学仿真模型后,如何通过仿真平台加速自动驾驶算法测试和验证的迭代周期,这一问题可以通过纯软件方式的并行计算架构实现;
b、并行计算或称平行计算是相对于串行计算来说的,它是一种一次可执行多个指令的算法,目的是提高计算速度,以及通过扩大问题求解规模,以解决大型而复杂的计算问题。
c、并行计算可分为时间上的并行和空间上的并行。时间上的并行就是指流水线技术,而空间上的并行则是指用多个处理器并发的执行计算;
3、自动驾驶仿真测试的评价方法
3.1 自动驾驶仿真测试评价体系
自动驾驶仿真测试的评价体系,主要针对的是自动驾驶整体算法的测试和评估。
图8. 自动驾驶仿真测试评价体系
3.2 仿真测试运行环境的条件模型
1)在算法接入仿真平台后,起到测试目的的关键部分是交通场景的仿真,即系统预期运行环境的条件模型。
运行环境条件模型(包括但不限于以下“场景”):
— — 道路属性 :车道数、坡度、出口、路障、道路条件等;
— — 交通属性:其他交通参与者的数量和速度、其他驾驶员的可能模型;
— — 总体环境条件: 能见度、天气条件等;
这些运行环境的条件模型的组合形态包括:
— — 实际交通中经常出现的“标准工况”
— — 对于安全性评价,导致事故的“危险工况”
— — 两者相结合的“复杂交通流”
关于“场景”抽象划分的三个级别:
— — 功能场景:是场景表述的最抽象级别,是通过语义表述的操作场景,通过语言场景符号来描述域内的实体以及实体间的关系;
— — 逻辑场景:以状态空间呈现操作场景。通过定义状态空间内变量的参数范围,可以表达实体特征和实体间的关系。
— — 具体场景:以状态空间详细描述了操作场景。通过确定状态空间中每个参数的具体值来明确描述实体和实体间的关系。
3.3 自动驾驶仿真测试的评价依据及评价内容
1)评价依据
标准化交通场景确定之后,自动驾驶算法接入仿真平台即开始测试,自动驾驶测试评价的依据源于原子结果和车辆状态;
a、原子结果:自动驾驶车辆从起点出发之后所有的细微表现:如是否闯红灯,压实线,是否发生碰撞,是否达到终点;
b、车辆状态:自动驾驶车从起点出发之后到终点的全程过车中的油门、刹车、转向状态;
2)评价内容
a、驾驶安全性 - 指车辆在道路上的行驶决策和行为。自动驾驶车辆也需要遵守交通规则,必须在各种驾驶情境(不论该情境是预期内还是预期外的)为用户提供导航,确保驾驶安全性;
—— 首先是对自动驾驶模块运行可靠性的判定,类似模块是否会发生软件的致命错误、内存泄漏和数据延迟等;
—— 其次是对自动驾驶基础功能的评价。类似是否按照道路指示标志行车,是否冲撞行人,是否发生交通事故等。
b、驾驶舒适性 - 指车辆在道路上行驶期间驾驶员或乘员的驾乘体验
—— 依据行驶过程记录下的油门、刹车、转向状态,评估车辆驾乘是否平稳,转弯是否平顺;
——利用多自由度驾驶模拟器,通过驾驶员在环,评估驾驶员的体感判定和心理感受;
(体感判定包括了横摆角,顿挫感等评估体系,心理感受包括了心理安全感以及迟钝感等。)
c、交通协调性 - 指车辆在道路上行驶时相对其他交通参与者的交通移动表现
在仿真平台内,对交通协调性的评价方法是比较困难的,只能从外部交通参与者或者全局视角去分析评价它。协调性的提升,靠算法不断自我强化学习。
d、标准匹配性 - 指按不同国家的法律法规,对自动驾驶行为作出评价。
在仿真平台内,因为我们输出的是原子结果,通过不同的排列组合和条件筛选,可以从不同维度,按不同行业标准,对自动驾驶算法做出评价。
4、自动驾驶仿真测试的验证与精度
4.1 自动驾驶仿真测试系统架构
自动驾驶仿真测试平台包括虚拟场景、动态案例仿真、传感器仿真、车辆动力学仿真等独立模块,如下图所示,描述了仿真平台的典型软件架构,所以对自动驾驶仿真测试的验证与精度评估主要就是对存在于此架构内各个模块的评估和对整体框架的再评估。
图9. 自动驾驶仿真系统典型架构
4.2 仿真系统的可信性验证
仿真系统的可信性可以通过校核与验证加以测量,通过确认来正式地加以认证,可以为某一特定的应用目的服务,这个过程就是仿真系统的校核,验证与确认,即VV&A;
1)仿真系统校核(Verification):确定仿真系统准确地代表了开发者的概念描述和技术要求的过程;
2)仿真系统验证(Validation):从仿真系统应用目的出发,确定其代表真实系统正确程度的过程;
3)仿真系统确认(Accreditation): 是官方正式地接受一个仿真系统为专门地应用服务地过程。
4.3 仿真模型必须满足的三个条件
1)仿真模型与系统原型之间具有一定程度上的相似关系,以保证两者之间的可类比性。
2)仿真模型在 一定程度应该能够代替系统原型,极具有代表性。
3)通过对仿真模型的研究,能够得到关于系统原型的一些准确信息,即仿真模型具有外推性。
5、自动驾驶仿真技术的意义
5.1 仿真是自动驾驶研发测试的基础关键技术
1)自动驾驶仿真是自动驾驶车辆测试和试验的基础关键技术
2)自动驾驶仿真是未来行业定义自动驾驶车辆相关开发流程与技术准入标准的基础工具;
3)“自动驾驶软件开发”和“自动驾驶系统及整车验证与集成”,在很大程度都依托于计算机仿真技术提供共性技术的支撑;
4)仿真测试已经成为大多数企业研发自动驾驶系统的共同需求。
5.2 仿真测试的根本是保证自动驾驶车辆安全上路
1)仿真虚拟测试为软件算法的迭代提供了基础的训练数据,为不安全行为的识别和处理提供了量化的测试环境,为风险控制策略提供了早期快速的评价工具。
2)自动驾驶仿真技术可以帮助认证机构去完善对汽车智能化软件产品的认证过程与监管方法,尤其是从测试技术上,弥补目前偏重实车路试的不足;
3)自动驾驶仿真系统有能力承载自动驾驶车辆运行全生命周期中的实时数据。最终形成更为科学有效的功能测试方法和产品性能评价指标,形成完整的信息物理系统。
5.3 发展自动仿真软件做行业研发的备用系统
1)发展自动驾驶仿真软件平台,是在培养一批人才和建立一套备用系统。当国外的巨头对工业软件实施断供,那么这套系统就可以立即投入使用,保证我国汽车自动驾驶技术与智慧交通与出行的持续自主发展;
2)未来软件定义智能汽车,而仿真是测试软件最基本有效的工具。只有开发出自主的仿真测试平台,才能获得标准规范的制定主动权,保证汽车产品在中国市场的安全底线。
5.4 仿真测试是自动驾驶技术发展的必然结果
1)以往的仿真软件不能很好的支持自动驾驶感知决策算法软件的迭代与测试,对复杂场景的构建也缺乏相应自动化技术。国际车厂与新技术企业通过内部研发和对外投资的方式,搭建了企业内部的仿真平台;未来企业内建的自动驾驶开发平台,以及满足自动驾驶算法开发与整车系统集成的商业化仿真软件比将成为研发链条上的底层基础工具之一。
2)智能网联汽车已经进化为信息物理系统的一部分,仿真软件也将形成智能网联汽车与智能交通的中央数据平台。自动驾驶仿真技术不仅帮助人工智能算法安全应用于智能汽车,未来也是车队运营、道路设施与智慧交通的管理平台;
参考资料:
中国自动驾驶仿真技术研究报告(版)
注:文章首发于公众号“筋斗云与自动驾驶”,扫描下方二维码关注公众号并在主页面点击左下角“福利”,有40余篇自动驾驶与EE架构相关国外参考技术文献赠送。