首页/文章/ 详情

仿真测试入门参考(14):万字长文说明仿真测试的各种手段

1年前浏览5749

 经常有朋友问如何学习仿真测试,于是想着把自己的一些经验和理解分享出来,希望能有所帮助。不过视野和技术有限,所说不一定对,供大家批评和参考。这是第14篇,模拟仿真测试各种手段

之前写过SILHIL不同仿真手段层次的对比,本篇进行了完善。

温馨提示,为了不错过文章,建议点击蓝字“孙工自动驾驶”,并点击右上方三个点,选择“设为星标”。


仿真测试系统可以通过模型或者设备模拟车辆行驶过程中的环境、传感器和车辆情况,创建自动驾驶系统的闭环运行环境,在车辆开发的不同阶段对自动驾驶系统进行测试。在不同的开发阶段,作为被测对象的自动驾驶系统也可能具有不同的形态,如算法软件或者控制器。因此,仿真测试也被称为在环测试(XIL,x in the loop),“X”代表不同形态的被测对象(即自动驾驶系统),“the loop”代表被测对象接收输入、进行计算、对被控对象(即自动驾驶车辆)进行控制、被控对象状态变化并再次被被测对象接收、进而周而复始的运行“闭环”,如下图所示。

在环测试方法在基于模型的设计方法(MBD,Model-Based Design)得到了广泛应用,并在自动驾驶仿真测试中进行了适配和发展。


1. 基于模型的设计方法

基于模型的设计方法是一种以模型为核心的嵌入式软件设计方法,模型中包含了与系统表现相关的各项内容并贯穿整个开发流程。基于模型的设计方法支持进行系统和部件级的设计及仿真、自动代码生成和持续的测试验证。其开发流程如下图所示。


1.1 需求管理

不同于传统工作流程中使用文档管理需求,基于模型的设计方法中采用模型管理需求。整个流程的第一步便是将需求转化为可执行的模型文件,该模型是一个高级别低保真度的系统架构模型,包含了所有设计信息,如预期实现的功能、系统组件和关系、输入输出等。

使用模型管理需求的好处是:模型比文档包含更多的信息,而且是明确的、不需要解释,可以方便的在不同人员之间进行无歧义、无遗漏的沟通。


1.2.设计

设计的过程也是分层建立模型的过程:系统设计会建立系统级的模型,组件设计会建立组件级模型。建模时使用MBD开发工具(如Mathworks Simulink)进行图形化操作。

模型不仅包括预期开发的功能模块的模型,也包括被控对象和环境的模型,这便于在不同的开发阶段、随时进行充分的仿真测试。系统级仿真可验证系统设计是否满足了所有需求、各模块间的逻辑和信号交互是否正确,同时可以对各种设计思路进行快速评估和验证;组件级仿真可用于验证组件设计是否满足功能要求。


1.3.实现

这一步骤中进行各组件功能、算法的详细设计和实现,实现的过程也是模型逐步细化、迭代测试、并自动生成代码的过程。下面对不同开发阶段和采取的仿真测试手段进行说明。


1.3.1. 模型细化和模型在环测试

模型细化过程中,可以视需求进行仿真测试。此处的仿真测试和设计阶段进行的仿真测试,都为模型在环测试(MIL,Model-In-the-Loop)。模型在环测试的被测对象是算法模型,测试目的是验证算法模型功能是否完整、正确。测试闭环中的被控对象也为模型,两者都运行在模型开发环境(如Windows电脑上的Simulink中)。

算法模型的功能验证、改进完毕后,可通过MBD工具自动生成代码。自动生成代码是MBD的一个显著优势,可大幅提高开发效率并减少代码错误。由于自动代码生成工具的配置、模型由浮点向定点转化等原因,可能引入一些错误,因而也要对自动生成的代码进行充分测试。


1.3.2. 代码自动生成和软件在环测试

对自动生成的算法软件进行的测试,称为软件在环测试(SIL,Software-In-the-Loop)。软件在环测试的对象是自动生成的算法软件,测试目的是验证自动生成的代码功能是否与算法模型一致。从而,软件在环测试有两种思路:

(1)采用带被控对象的闭环测试,测试闭环中的被控对象依然为模型,算法软件和被控模型都运行在模型开发环境。采用和模型在环测试一致的测试用例,验证算法软件功能是否完整、正确;

(2)采用不带被控对象的开环测试,在模型在环测试时记录不同测试用例的输入和输出,并将相同的输入信号发送给算法软件,查看算法软件的输出是否与算法模型一致;或者是并列连接算法软件和模型,并比较两者输出是否一致。


1.3.3. 软件下载和处理器在环测试

之后便可将算法模型交叉编译为适配目标处理器的代码,并下载到目标处理器上,验证算法软件在目标处理器上的运行情况。这一仿真测试的手段,称为处理器在环测试(PIL,Processor-In-the-Loop)。处理器在环测试的对象是运行着算法软件的处理器,测试目的是验证算法软件在目标处理器上的运行情况,本质也是验证其表现是否与算法模型预期的一致。从而,处理器在环测试也有两种思路:

(1)采用带被控对象的闭环测试,测试闭环中的被控对象依然为模型,算法软件运行在目标处理器上,被控模型运行在模型开发环境,两者通过串口等形式通信。采用和模型在环测试一致的测试用例,验证运行在目标处理器上的算法软件功能是否完整、正确;

(2)采用不带被控对象的开环测试,在模型在环测试时记录不同测试用例的输入和输出,并将相同的输入信号发送给处理器,查看处理器的输出是否与算法模型一致;或者是并列连接处理器和模型,并比较两者输出是否一致。


1.3.4. MBD中的手写代码

MBD中不一定所有的代码都可以通过模型的自动生成,比如处理器底层驱动代码由于与硬件型号关联大、逻辑复杂,难以搭建模型或者没有必要搭建模型,一般基于处理器厂家提供原始代码进行手动修改。


1.4.集成与硬件在环测试

这一阶段既包括不同模块生成代码的集成、自动生成的代码与手写代码的集成,也包括软件和硬件的集成,集成的结果是运行着算法软件的控制器。

对控制器的测试手段是硬件在环测试(HIL,Hardware-In-the-Loop)。硬件在环测试的被测对象是运行着算法软件的控制器,测试目的是验证算法软件在目标控制器运行时的功能是否完整、正确。测试闭环中的被控对象模型下载到实时仿真机中运行,以保证运行的实时性;由于控制器需要通过CAN、串口等接口收发数据,实时仿真机上还具备与之连接并通信的IO接口。


1.5.四种测试手段的总结

四种仿真测试手段在MBD不同开发阶段采用,发挥着各自不可或缺的目的。对四种测试手段的特点总结如下表所示。


2. 自动驾驶的在环测试

传统的嵌入式控制器(如发动机控制器、变速箱控制器等)的开发过程中已广泛采用MBD方法,但是自动驾驶系统的功能更为复杂、开发难度更大,并且往往需要用到其他学科(如机器学习、通信、互联网等)的知识积累,从而目前大多采用手写代码的形式,而不是采用基于模型的设计方法。

自动驾驶的仿真测试采用了MBD中的软件在环测试和硬件在环测试,并根据本身的特点发展了整车在环测试、车辆在环测试和驾驶员在环测试。


2.1.概述

在环测试的本质是在自动驾驶系统开发的不同阶段,根据测试对象的不同,模拟与之交互的其他系统,形成闭环运行环境,分阶段、逐步对自动驾驶系统进行测试。各种在环测试手段的特点如下表所示,总体来讲是真实部件越来越多,测试系统也越来越复杂。


2.2.软件在环测试

软件在环测试的定义与前面MBD中提到的一致,被测对象为自动驾驶算法软件,被控对象为虚拟车辆,两者都运行在开发环境。不过其与MBD中的软件在环测试也有两点不同:

(1)自动驾驶算法主要采用手写代码的形式开发,即使存在控制模块基于模型开发并自动生成代码的情况,手写代码也占大部分比例。这使得作为被测对象的自动驾驶算法软件,不是由模型自动生成的,不需要验证与模型的一致性,自动驾驶软件在环测试的目的是验证算法软件功能的完整性和正确性。

(2)自动驾驶算法的运行环境包含道路、交通、天气等多方面的复杂情况,作为被控对象的车辆本身也是一个机电液一体的复杂系统,这使得环境和被控对象的建模难度较大,从而软件在环测试时往往采用第三方的成熟工具来模拟环境和被控对象,而不是自己来建模。

一个完整的自动驾驶软件在环测试系统,除自动驾驶算法软件以外,还包括仿真模块、中间件、测试管理模块和场景库,如下图所示。其中,仿真模块模拟各项测试要素,通过中间件与算法交互,为算法提供运行环境;测试管理模块实现自动化测试和评价,并输出测试结果;场景库中包含进行测试的各项场景,充分覆盖实车运行的工况。


2.2.1. 仿真模块

仿真模块用于模拟自动驾驶车辆及其运行环境,提供自动驾驶算法运行需要的输入信息,并对算法发出的控制指令进行响应,主要包括车辆模块、传感器模块、道路交通模块和驾驶员模块。

(1)车辆模块

车辆模块根据算法的控制输入和道路情况,计算车辆动态信息,并把相关信息输出给算法,从而实现持续的闭环运行。

根据建模方法和精度的不同,可以将车辆动力学模型分为两种:

①基于机械结构的车辆动力学模型:将零部件(如弹簧、卡钳)作为计算单元,采用其几何和动力学参数,考虑彼此的受力和运动关系建立复杂的多体动力学模型。该模型可由零部件参数计算得到系统特性,计算精度高,但计算耗时较长,难以保证实时性,多用于结构设计和性能优化。

②基于系统特性的车辆动力学模型:将系统(如悬架系统、制动系统)作为计算单元,考虑影响系统特性的可测量参数和曲线(如簧上质量、转动惯量、悬架KC特性、制动油压和制动力的关系等)建立系统模型。该模型精度适中,计算速度快,是自动驾驶仿真测试中普遍采用的建模方法。

(2)传感器模块

传感器模块的作用是模拟各种传感器,探测仿真环境中的目标信息,并输出给自动驾驶算法。根据模拟内容的不同,可分为理想模型和详细模型,如下图所示。

①理想模型:不考虑实际传感器类型或物理原理,模拟感知结果信息,输出探测范围内的目标列表,作为规划模块的输入,从而支持规划控制算法的仿真测试。

理想传感器模型一般按照所探测目标的不同来分类,如物体传感器、交通标志传感器、车道线传感器、道路传感器、碰撞传感器等,可以探测仿真场景中不同类型元素的信息,发送给自动驾驶算法使用。下图是IPG CarMaker[ IPG官方网站:https://ipg-automotive.com/cn/]软件中理想传感器模型的示例


②详细模型:考虑实际传感器类型和物理原理,模拟传感器输出的视频、点云等原始信息,可作为感知模块的输入,从而支持包含感知模块的完整算法的测试。

详细传感器模型可根据所模拟的传感器类型来分类,如激光雷达模型可模拟发送周围环境和交通参与者的点云信息、毫米波雷达可模拟发送探测到的目标列表及其位置速度信息、摄像头可模拟发送视频、GNSS可模拟卫星导航定位信息。下图是VTD[ VTD软件官方网站:https://vires.mscsoftware.com/]软件激光雷达和摄像头模型的示例


(3)道路交通模块

道路交通仿真用于模拟自动驾驶车辆在实际道路运行时可能遇到的各种场景,对算法进行充分测试。下图是PanoSim[ PanoSim软件官方网站:http://www.panosim.com/]软件中停车场和城市道路仿真的示例。

可分为道路环境和交通场景两个部分:

①道路环境:用于描述场景中静态的部分,包括路网、交通设施、临时改变、路侧物体等静态的部分,是交通参与者运行的基础。

▪路网,指道路的拓扑结构,如直路、弯路、路口和环岛等元素及其各种组合;

▪交通设施,指布置在路网上的交通指挥、引导设施,如红绿灯、禁止停车标志和车道线等;

▪临时改变,指在道路上添加的、可对交通造成影响的临时附着物,如路障、锥桶等;

▪路侧物体,指在道路两侧的固定物体,如建筑、树木等。

②交通场景:用于描述场景中动态的部分,包括交通参与者及其动态行为。

交通参与者的类别包括车辆、行人、动物和运动物体等,每个类别可进一步细化,如车辆包括乘用车、商用车,乘用车包括轿车、卡车、摩托车,轿车又分不同品牌和型号等。多样的交通参与者类别,为模拟自动驾驶车辆运行可能遇到的场景提供了可能性。

交通参与者的动态行为可通过两种方式进行描述:场景和交通流。

场景指的是一段时间和空间范围内自车和交通环境的动态变化和相互关系。仿真测试场景就是在仿真软件中提前设定的一个自车和交通参与者的动态片段。交通参与者的动态变化可以通过行为(相对较长时间的状态)、动作(行为的切换)和触发(动作发生的条件)来描述,如下图所示。

交通流指的是类似于实际交通的、大量交通参与者参与的、长时间运行的交通场景,其中的交通参与者具有一定的智能,可自主决定加速、减速、换道等动作。

(4)驾驶员模块

驾驶员模块向车辆模型输出加速/制动踏板、方向盘等控制命令,实现加速、减速、换道、跟车等行为。为更好的模拟不同交通车辆的行为,还可设置多种类型,如普通型、激进型、保守型,并对具体的参数(如目标车速、切换踏板的间隔、最大加速度/减速度、跟车距离)进行设置。

驾驶员模块有两个功能:

①控制自车按照预定的行为和动作等行驶,这一般用于驾驶辅助系统的测试中,自动驾驶系统测试中会由自动驾驶系统全程控制自车。

驾驶辅助系统未控制车辆时(如AEB/LKA功能未触发,ACC未启动),实车测试中车辆由人类驾驶员操纵,仿真测试中虚拟车辆则由驾驶员模块操纵。

②控制交通车辆按照预定的行为和动作等行驶,实现预定的仿真测试场景。


2.2.2. 中间件

仿真模块一般是独立于自动驾驶算法的软件,可通过API调用或者按照特定格式通信的方式,与其进行信息交互。API或者通信格式一般与算法中定义的不同,从而需要中间件来对两者进行桥接,实现信息的转换和转发。

信息的内容主要包括在仿真模块中模拟的自车状态(如位置、车速等)和传感器探测到的周围交通环境信息(如障碍车距离、红绿灯状态等)以及自动驾驶算法发出的控制指令(如加速/制动踏板开度、方向盘转角等)。

中间件对信息的转换工作一般有三类:

(1)信息在仿真模块和算法中都存在,仅进行简单的格式或数据转换。

例如:①车速值在仿真软件中单位为km/h,而在算法中单位为m/s,则中间件中需要进行单位转换。②仿真模块中传感器输出的障碍物信息顺序是位置/速度/加速度,而算法中为速度/位置/加速度,则中间件中需要对目标信息顺序进行重新组合。

(2)信息在仿真模块或算法的一方中存在,另一方中需要通过其他现有信息计算得到。

例如:①仿真模块中传感器输出的障碍物在传感器坐标系中的位置,而算法中为障碍物在大地坐标系中的位置,则中间件中需要根据障碍物在传感器坐标系中的位置、自车位置和传感器的安装位置计算得到障碍物在大地坐标系中的位置;②对车辆横向控制,算法发出的是方向盘转角,而仿真模块需要前轮转角,则中间件中需要根据方向盘转角和前轮转角的传动关系进行计算。

(3)自动驾驶系统与车上其他系统有逻辑交互关系,需要开发虚拟控制器,模拟其他系统与自动驾驶系统的交互。

例如:①自动驾驶系统与转向系统的握手;②自动驾驶系统请求接管后驾驶员的响应。


2.2.3. 测试管理模块

通过中间件连接仿真模块和自动驾驶算法,构建了对算法进行测试的闭环运行环境:仿真模块提供算法需要的输入(自车状态和传感器信息),算法根据自车和周围的交通环境信息,做出决策,并发出对车辆的控制指令,仿真模块中的车辆模型根据控制指令和道路情况更新状态,传感器模型更新交通环境信息,从而周而复始持续运行。

通过该闭环环境可对算法进行手动测试,即手动选择待测试的场景并运行,查看测试结果数据并评价算法工作是否正确。鉴于仿真测试场景数量众多,评价指标复杂,手动测试远远不能满足测试要求,因而需要测试管理模块。

测试管理模块的主要子模块有场景管理、任务管理、数据管理和自动评价:

(1)任务管理

包括创建和管理测试计划,对测试计划中的不同任务选择合适的测试场景,启动测试并查看测试运行进展和结果等。

(2)自动测试

实现各仿真测试元素的自动运行,包括自动选择测试场景、启动仿真模块、中间件和算法,并进行数据记录等。

(3)自动评价

自动评价子模块读取测试运行数据,并根据不同场景的评价项目和评分方法进行计算,输出测试结果。

(4)数据管理

仿真测试过程会涉及到多种类型的数据,如测试场景数据、测试运行数据和测试结果数据等,数据管理子模块实现对这些数据的存储和管理。


2.2.4. 场景库

场景库包括场景数据库和场景管理模块。

场景数据库是对自动驾驶算法进行仿真测试所应用的测试场景的总和,根据来源的不同可以将其分为标准标准法规、危险事故、功能定义、自然驾驶和路试记录等不同种类。

场景数据库建设的目的是建成一个尽可能覆盖自动驾驶车辆在实际道路行驶时可能遇到的所有工况的集 合,从而利用该场景库可以在上路前通过仿真测试方法对自动驾驶系统进行充分测试。

场景管理模块包括测试场景的新建、编辑、复 制、删除、查找和统计等功能,从而实现对测试场景的维护。


2.2.5. 作用

通过软件在环测试可以在自动驾驶算法开发的早期、采用丰富多样的场景、快捷高效的对其进行充分的测试验证,提高测试速度和安全性;同时,可通过大批量的场景测试,探索算法边界和调整测试参数,加快开发进度。


2.3.硬件在环测试

硬件在环测试的定义与前面MBD中提到的一致,被测对象为是运行着算法软件的控制器,被控对象为虚拟车辆(可能有部分传感器或执行器为物理部件),仿真模型运行在实时仿真机。

一个完整的自动驾驶硬件在环测试系统,除自动驾驶控制器以外,还包括仿真软件、仿真硬件、测试管理模块和场景库,如下图所示。其中,仿真软件进行各种信号的模拟,对仿真硬件进行驱动;仿真硬件作为仿真软件运行的平台,并提供与自动驾驶控制器进行交互的各种硬件接口;测试管理模块和场景库与软件在环测试中的内容和作用一致,不再赘述。


2.3.1.仿真软件

仿真软件是硬件在环测试中各种软件的集 合,主要包含三个方面:

(1)仿真模块

仿真模块与软件在环测试中的内容和作用一致,用于模拟车辆、传感器、交通场景等各项内容,作为仿真硬件中各项设备的数据源头。

(2)中间件

中间件与软件在环测试中的内容和作用一致,用于实现仿真模块和自动驾驶系统之间的信息转换。

(3)试验管理

试验管理模块用于对各种仿真硬件和运行在仿真硬件上的仿真模块进行管理和配置。具体包括:

①进行各种仿真硬件的加载、驱动安装、软件更新;

②加载需要在仿真硬件中运行的仿真模型,并进行配置;

③将仿真软件的各种信号与仿真硬件的通道进行关联映射,从而实现各种信号的正确发送和接收;

④启动和停止仿真硬件的运行,并对测试运行中的各项数据进行查看。

下图为恩艾 (中国) 仪器有限公司(NATIONAL INSTRUMENTS CORP.,NI)[ NI公司官网:https://www.ni.com/zh-cn.html]的试验管理软件VeriStand的界面示例


2.3.2.仿真硬件

仿真硬件是硬件在环测试中各种硬件设备的集 合,其中实时仿真机和I/O板卡是不同程度的硬件在环测试都需要的,而传感器模拟器、执行器模拟器和负载模拟器则根据测试对象和测试目的进行选择。

(1)实时仿真机

实时仿真机提供了各种仿真软件和模型的运行环境以及不同仿真硬件的连接基础,主要由机箱、高性能控制器和运行在其上的实时系统构成。

机箱是实时仿真机的框架和基础,提供不同处理器和各种板卡的安装插槽以及供电和散热设备。机箱中还具备大带宽的实时通信总线,用于实现连接于其上的多种I/O板卡的数据传输和同步。

高性能处理器可以看作一个微型计算机,包含CPU、硬盘驱动器、内存、以太网/USB/串口/视频接口等设备;实时系统是为保证仿真测试中软件、模块运行的实时性而开发的专用系统,如NI Linux Real-Time系统、Concurrent RedHawk Linux系统等。有的系统为保证实时运行,还会使用专门的时钟板卡。

(2)I/O板卡

I/O板卡提供了与被测控制器交互的接口,包括按照仿真模型的计算输出控制器所需的信号和采集控制器发送的信号并发送给仿真模型,从而实现闭环运行。

I/O板卡包括通用I/O板卡和通讯板卡两个大的类别:

①通用I/O板卡:用于输出和接收各种模拟量和数字量,例如变化的电压和电流信号,或者是高低电平等开关信号;

②通讯板卡:用于输出和接收各种通迅信号,实现与控制器的交互,如CAN、以太网、串口通信等。

下图是dSPACE公司的 SCALEXIO LabBox实时系统的示例,其中包含了机箱、控制器和I/O板卡[ dSPACE公司官网:https://www.dspace.com/zh/zho/home.cfm]。


(3)传感器模拟

自动驾驶系统中常使用的传感器有摄像头、激光雷达、毫米波雷达和超声波雷达等,不同传感器所发送的内容和精细程度不同,从而需要采用不同的传感器模型来模拟其信号,甚至需要专用的设备来运行,如摄像头和激光雷达的模型往往需要运行在包含GPU的图形工作站上。

不同传感器将其信号发送给控制器的方式也不同,如摄像头的视频信号通过GMSL、FPD-Link等发送、激光雷达的点云信号通过以太网发送、毫米波和超声波雷达信号通过CAN发送。为了将不同传感器的信号发送给控制器,需要配置视频注入设备、以太网板卡、CAN板卡等专用的信号转换设备。


(4)执行器和负载模拟

自动驾驶系统的硬件在环测试中一般不用进行执行器和负载的模拟,不过有时为了实现更多的测试目的,可进行执行器和负载的模拟。比如增加制动器来验证制动的响应,增加转向器及转向负载(即根据转向角度和车速的不同施加不同的转向反馈力矩)来测试转向系统的响应。

更进一步,可使用完整车辆或添加车辆动态效果,进行车辆在环测试和驾驶员在环测试。


2.3.3.作用

通过硬件在环测试可在完整的实车开发完成前,验证自动驾驶算法在其最终平台的运行情况,并对不同模块的兼容性以及通信接口和底层驱动等进行测试。


2.4.整车在环测试

整车在环测试(VeHIL,Vehicle Hardware-In-the-Loop),即将真实的车辆作为被测对象,通过模拟部分传感器输入和运行环境,实现闭环运行,达到测试效果,其本质上也是一种硬件在环测试,不过在环的硬件是完整的车辆。

VeHIL的原理如下图所示,将完整的实际车辆安置于试验台上,通过转鼓或者轴耦合测功机模拟纵向负载(如行驶阻力),还可通过在转向机构上添加反馈机构模拟转向负载(如转向阻力),由上文提到的硬件在环系统运行车辆模型,根据车辆运行状态计算并驱动负载。

对于交通环境信息,可以由传感器模拟生成虚拟障碍物信息,并发送给自动驾驶控制器(此时旁路了实车上安装的真实传感器),也可以在试验台前方运行假人假车(此时采用实车上安装的真实传感器探测目标)。

VeHIL中采用真实车辆,运行时启动了车辆的动力、底盘、车机等系统,其好处在于:①仅需要进行车辆纵向和转向负载的建模,而不用对车辆部件建模,简化了车辆建模难度、提高了测试真实度;②实现了对完整车辆的测试,特别是可以评估人机交互能力;③采用真实传感器时,若增加雨雾、光线等环境模型,则可测试自动驾驶系统在特殊天气条件下的表现。


2.5.车辆在环测试

车辆在环测试(VIL,Vehicle-In-the-Loop)的原理如下图所示,真实的车辆行驶在真实道路上,车辆位置被GNSS采集并发送给搭载在车上的HIL系统,使得HIL系统中的虚拟车辆跟随真实车辆移动;在仿真软件中模拟交通参与者,并发送给自动驾驶控制器,对自动驾驶系统进行测试。

VIL中的真实车辆运行在真实道路上,并模拟交通参与者,这种方式的好处在于:①采用完全真实的车辆,省去了车辆建模环节,可测试自动驾驶系统对车辆的控制精度;②可以对紧急切入、行人横穿等危险场景进行测试,保证测试安全性;③与实车测试相比,场景复现性更好;与场地测试相比,场景丰富性更好;④实现了对完整车辆的测试,可以评估人机交互能力。


2.6.驾驶员在环测试

驾驶员在环测试(Driver-In-the-Loop,DIL),是通过驾驶模拟器采集人类驾驶员的操纵信号,发送给虚拟车辆,虚拟车辆模型进行状态计算和更新,并驱动驾驶模拟器动作,在此过程中关注的内容进行测试的系统。

驾驶员在环测试系统的核心是驾驶模拟器。其主要的组成部分有:①座舱,简易的座舱可以仅包含座椅,复杂的座舱可以是由真实的车辆改制而成,提供了人机交互的环境;②运动平台,根据虚拟车辆模型的状态,驱动座舱运动,实现运动、旋转、加减速等驾乘体验;③操作输入模块,包括方向盘、踏板、挡杆等,用于采集驾驶员的操纵指令,同时给以驾驶员真实的驾驶反馈,如方向盘和踏板的力反馈;④视听系统,在显示大屏、环幕投影或者VR设备上显示与座舱姿态相配合的画面,并提供音响效果,给予驾驶员身临其境的感受;⑤驾驶员数据采集系统,用于采集实验过程中驾驶员的各项表现。

驾驶员在环测试中引入的真实的人类驾驶员,并且具有真实的感官体验,从而在驾驶行为研究、人机交互测试、自动驾驶车辆乘坐舒适性测试等方面可发挥比较好的效果。

来源:孙工自动驾驶

碰撞通用建筑通信UMSimulink多体动力学自动驾驶传动控制试验
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-06-22
最近编辑:1年前
孙工自动驾驶
硕士 专注自动驾驶仿真测试
获赞 19粉丝 27文章 82课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈