自2018年美国国防部正式发布数字工程战略以来,数字化在其装备采办中的分量日益加重。试验鉴定是采办过程中的重要环节,贯穿全寿命周期过程。如何将数字化技术应用于试验鉴定,是美军研究和实践的重要课题。装备试验鉴定(T&E)是联参智库跟踪研究领域之一,今天向大家推送一篇国际试验鉴定协会最新一期期刊中的文章:《将数字孪生技术用于自主系统的研制和试验》,供大家参考。
相关文章推荐:
ITEA网络安全试验鉴定研讨会2023年会议资料
“试验鉴定专题资料”
将数字孪生技术用于自主系统的研制和试验
摘要
数字孪生技术在研制和测试系统及其子系统中的应用已相当成熟。然而,将其应用于自主系统的研制和测试则属于新兴领域。自主系统测试的复杂性在于必须评估机器执行类似人类的特定功能的能力,这些功能包括模仿人类的结构、感知、直觉和学习能力。数字孪生在此过程中扮演关键角色,重点在于对环境进行精确建模和模拟,而非简单地模仿人类感知。本文介绍了美国陆军阿伯丁试验中心如何应用数字孪生技术测试自主系统在驾驶装载货物系统(PLS)时的表现,以验证自主系统替代人类驾驶员的能力。
背景
美国陆军阿伯丁试验中心(ATC),隶属于美国陆军试验鉴定司令部(ATEC),提出了对自主地面车辆进行虚拟实验的需求。为此,成立了系统集成实验室(SIL),通过虚拟领队和实时跟随者在道路模拟器上运行数千个场景,借助高性能计算机(HPC)进行测试。SIL的建立是一种成熟的系统集成方法,但将其应用于自主系统则更具挑战。集成过程中需要模拟或仿真自主传感器和车辆基本功能。文章将阐释如何确定PLS和领队/跟随者计划中的故障区域和环境条件。程序要求有人领队,并确保跟随车辆能在规定的距离或时间内自主跟随,并能在遇到障碍物时停下。本文聚焦于自主地面车辆和车队的测试,不包括武装无人地面车辆或无人飞行器,并专注于使用数字工程工具进行测试,而非研制阶段。
目的
本文旨在介绍自主地面车辆的测试程序和工具,并阐明ATEC所采用的方法论。目标是确保未来自主系统的现场测试准备就绪,并通过高效的现场测试场景全面展示自主系统的能力。阿伯丁试验中心和ATEC在进行士兵验证前几周才获得自主系统,ATEC还负责编写安全文件,支持演示验证和装备部队的安全确认。由于时间和资金限制,无法执行完整场景列表来审查这些系统,因此在编写安全发布文件时必须格外小心。
图1:装载货物系统(PLS)在阿伯丁试验中心高速测试轨道的数字孪生上行驶
方法论
自主系统测试能力(ASTC)项目于2020年5月启动,旨在研制满足上述需求的工具。这是美国国防部试验资源管理中心资助的项目,约1600万美元,是中央测试和鉴定投资项目群的一部分。该项目历时两年,于2022年12月完成研制。ASTC采用虚拟环境测试自主软件决策制定能力,创建了地形、特定机动性能车辆、传感器以及集成被测试自主软件的数字视觉和机械双胞胎。使用名为虚幻引擎(Unreal Engine)的3D计算机图形游戏引擎来集成所有这些组件。
系统集成实验室(SIL)研发
系统集成实验室(SIL)是验证代码按计划运行的有效方法,能验证已定义的子系统是否按设计的接口通信和共享数据。它由正在研制的软件和计划用于车辆的硬件副本组成。通过模拟或刺激来验证软件是否符合设计标准,例如,模拟移动组件响应自主软件命令,并将计划的相应响应发送回自主软件。
图2:自主系统测试能力系统集成实验室(SIL)
自主性
自主性或人工智能/机器学习能够执行从简单到复杂的多种任务。本文中,我们以PLS跟随者驾驶为例,它是具有特定任务和间隙距离的军事车队的一部分。这些任务是基于整体军事任务描述的复杂军事任务和子任务集合。
在研究自主软件的工作机制时,首先要分析其输入与输出。跟随车辆根据领队车辆的指令和特定信息进行操作,如特定地点的速度和加速度。因此,系统集成实验室在测试中至少应包含两辆车的信息,或者是领队车辆信息。这些数据通过标准的计算机通信模式传输,激发自主软件的响应。第3.5节详细介绍了如何通过修改领队发送给跟随者的数据,以模拟实际无线电通信性能,并测试对潜在错误条件的反应。
自主软件在接收到正确指令后,会从车载传感器(如GPS)获取数据,判断距离是否适宜执行移动指令。同时,它还会接收来自激光雷达(LiDAR)传感器的数据,以确保向指定方向移动是安全的。如果没有障碍物,自主软件会向移动模拟器发送指令,模拟车辆运动。新的位置信息由GPS仿真器提供,并更新跟随者的位置。这一位置变化反映了自主软件根据当前位置和激光雷达子系统提供的数据所做出的新指令。第3.6节和第3.8节则描述了如何实际修改激光雷达数据,以测试对潜在错误条件的响应。
在“领队/追随者”模型中,“待测自主”被称为“自主工具包”(A-Kit)。还有一个“By-Wire工具包”(B-Kit),它接收A-Kit的请求,并向实际车辆发送必要信号,使其按照A-Kit的指令移动。B-Kit在SIL中被模拟,因为创建详细的实时车辆系统模型既复杂又昂贵。通过仿真让A-Kit像平常一样运行,并允许在实验室环境中进行详尽测试。B-Kit测试通过硬件在回路仿真器完成,即用于军用车辆的空中交通管制道路仿真器。该仿真器模拟汽车运动,包括转弯,但实际上不会移动。利用这种仿真器,可以通过一辆实车进行自动驾驶车队测试。数字化的虚拟领队可以与现场追随者及其他虚拟追随者进行交互。尽管现场追随者认为它正在跟随领头车辆行驶,但实际上它是在仿真器上进行模拟。以下图片展示了这种能力:2021年12月,一名驾驶员操作虚拟领队在ATC佩里曼试验赛道上行驶,并向道路仿真器上的现场追随者发送位置信号。这些图片还展示了在与虚拟鹿交互后,追随者能够适时停车。这是通过关闭现场追随者上的传感器,而改为提供虚拟场景中的传感器刺激反馈来实现的。
图3:虚拟领队指挥道路仿真器上的跟随者
图4:有关道路仿真器的参考资料
图5:与虚拟鹿交互后跟随者的停止情况
仿真/刺激
仿真/刺激是指随时间变化对系统或子系统产生影响的建模。它为软件系统或子系统提供输入或响应,以协助功能测试。在A-Kit测试中,仿真与刺激并用。关键性能输入,如激光雷达,其模拟对A-Kit的响应至关重要,因此应准确模拟其性能,包括受操作环境影响的性能变化。激光雷达对环境条件,如雨、雪、雾和尘土等非常敏感。第3.8节介绍了天气如何实际影响激光雷达仿真,以及用于测试和验证A-Kit软件功能的方法。刺激用于复制一些必要的子系统功能,保持A-Kit正常运行,并模拟子系统进行详细性能测试。导航盒是领队/追随者系统中的一个受刺激子系统,它负责车辆定位。车辆定位依赖于GPS、惯性运动单元(IMU)、车轮编码器和地形注册输入。计算出的位置、与目标的距离和领队的信息共同帮助A-Kit决定向B-Kit提供何种方向和速度建议。
故障注入
故障注入是一种测试方法,用于测试无人驾驶车辆对异常模拟或刺激输入数据的反应,以确保安全。通过向A-Kit、B-Kit或导航系统等特定子系统注入故障来实现。例如,汽车故障可能涉及到发动机、动力系统、悬挂系统、动力传动系统、转向、制动或车轮和轮胎。特别有趣的是空气制动压力故障,因为它可能影响领先跟随者之间的距离。这有助于分析A-Kit在失去空气制动压力时的反应,并描述在特定情况下产生的异常间隔距离规则,例如车辆通过丘陵地区时。
支持基于时间和基于事件的故障注入非常重要。基于时间的故障注入为测试人员提供了更好的控制水平,并确保了一致性和可重复性。基于事件的故障注入支持更多动态注入。其他有益的故障注入包括降低传感器数据质量,如激光雷达数据,或降低车辆与外部系统间的通信质量。这两种情况将在第3.5节和第3.6节进一步讨论。
通信系统退化故障注入
为了有效防范通讯试验中可能出现的退化问题,SIL系统允许我们监测无线电性能如何影响“领导者”与“跟随者”车辆间的数据传输。这一过程可通过故障服务器向通讯应用程序发送特定消息来实现,即故障注入。这些消息包含网络流量控制指令,其执行结果会通过数据包的丢失、重复、延迟或带宽变化等多种操纵手段,导致网络数据发生变化。
正如我们所提到的,通过模拟特定输入,我们可以观察并验证车辆对这些输入的反应,进而确认代码是否按预期工作。例如,若我们故意让100%的数据包丢失,我们将观察到车辆因为接收不到无线电信号而暂停运行。通过这种方式,我们不仅可以精确控制无线电性能测试,还能对实际可能发生的各种故障情况做出响应。
激光雷达模糊故障注入
在激光雷达模糊故障注入方面,为了模拟实际环境中激光雷达(LiDAR)信号退化的情况,我们采用了激光雷达模糊(LiDAR Fuzzing)技术。该技术在网络接口层面实现,通过拦截并修改传入的激光雷达数据流,然后将其发送到原始目标,从而模拟各种故障。激光雷达模糊服务能够控制故障模式,并与第3.7节所述的故障服务通信,以报告和调整状态。通过这些实时修改,我们可以观察到恶劣环境条件下自动控制器如何受到干扰。
鉴于激光雷达模糊是实时进行的,因此需要使用Wireshark等工具记录网络流量,或者使用VeloView等工具直观观察输出结果。即使是很低比例的改变,也会显著影响激光雷达性能。
故障管理
为了有效管理各种故障服务,建议创建一个集中的故障管理程序。这样用户就可以通过一个统一界面管理所有的故障注入。ASTC故障服务器可以远程创建故障,并将它们发送到相应的服务上。
自主系统测试能力(ASTC)故障服务器通过网络服务器进行访问,并可以同时向特定的车辆或整个车队发送故障信息。任何连接到网络并安装了NodeJS的计算机都可以运行这个程序,这样可以快速部署而无需修改每个服务。外部故障管理服务器还能排列故障、管理激活状态,并保存所有故障信息。保持微服务的最小化可以提升定制性,并减轻每个微服务对A-Kit计算能力的负担。
ASTC故障服务器能够动态创建故障,并通过网站或JSON文件批量发送给车辆。每个故障服务接收由服务器注入的故障,并使用UUID标识符进行跟踪和保存。
激光雷达仿真天气效果
ASTC SIL 使用商业游戏引擎虚拟引擎Unreal Engine。激光雷达的性能问题,特别是涉及粒子的天气条件,这是虚拟引擎没有很好的模型。这通常意味着在天气条件下使用游戏引擎的激光雷达模型的性能优于现实世界。由于激光雷达是 A-Kit 的关键输入杠杆,我们开发了虚拟自主导航环境: 环境传感器引擎(VANE: ESE)。VANE 采用 Phong 模型模拟辐射能(光)与环境的相互作用。Phong 模型描述了当发射的能量以给定的角度和给定的反射率入射到一个表面时,有多少能量被反射。在 VANE: ESE 的激光雷达传感器的情况下,Phong 模型实现跟踪从发射器发射的激光束沿着一个矢量到一个表面。表面是用编码到纹理映射中的反射率指数来描述的。特殊的激光雷达传感器建模在 VANE: ESE 首先建模根据规格声明的制造商。然后验证该模型是否按照制造商数据表规范中的描述操作。激光雷达的规格通常包括波长、视场、带角分辨率的帧/旋转率、最小/最大探测范围、距离精度、采样率和光束描述(分歧、形状)。然后根据实验室的试验结果验证模型。最后,激光雷达传感器被放置在开始清晰的现场条件下,然后进入雨、雾、降雪和尘埃条件,以便与 VANE: ESE 传感器模型进行比较和调整。在应用制造商的固件更新后,可能需要重新调整型号。另外,激光雷达制造商通常不描述传感器性能退化的降雨率,雾能见度距离,降雪率,也不在各种灰尘浓度。因此,有必要查阅文献并进行现场测试,以描述各种天气或环境条件如何降低传感器性能。再次引用 Phong 模型,当光被发射出来时,它在到达表面或目标之前会穿过一个介质。当光穿过介质时,如果光束遇到能够吸收或扩散部分光束能量的粒子,能量就会损失。例如,雨滴、雾气溶胶、雪花和尘埃粒子根据粒子浓度和相对于激光波长的粒子大小散射光束能量。
结论
总结来说,上述功能的构建对于测试至关重要。它们使试验单位能够在采购周期的早期开始测试,从而节省后期资源。尽管仍需进行现场测试,但这些工具的应用可以大大减少必要的测试次数。在进行现场测试时,我们可以进行风险评估,并制定相应程序,确保在安全且有效的环境中对无人机进行试验。不仅可以减少实时测试,而且可以实现从资源角度无法测试的场景。这将允许程序在获得更多信息的同时减少实时测试。我们对以前的试验系统进行了研究,确定是否采用了上面列出的方法,一个典型的测试场景可以在2.5小时内运行。这些不会取代现场测试,但会发现信息,需要8-10周的现场试验赛道。这个过程可以在节省3200加仑燃料的同时,以五分之一的成本完成同样的情况。