您好,欢迎光临2020中国自动驾驶测试验证技术创新论坛!

自动驾驶运动控制算法的模型在环测试

发布日期:2020-08-13

GRCC 自动驾驶测试验证技术创新论坛 昨天 

手机阅读

点击上方蓝色字体,关注我们


(图片源于网络)

写在前面


如今,自动驾驶汽车已经成为各大车企竞相研发的领域之一。相对于传统汽车,自动驾驶汽车依靠系统中的感知、决策、控制三大子系统完成汽车的无人驾驶任务。自动驾驶控制系统的研发必须把该系统的安全性放在第一位,而如何保证系统的安全性成为研发中**挑战性的难题。为了提高控制软件的开发效率和品质,基于 MATLAB/Simulink 的 MBD(Model- BasedDevelopment)开发方法,文章介绍了一套控制软件算法的仿真测试环境,并使用该环境对控制软件进行了测试,达到了预期的目的。





1 MIL 环境的搭建及有效性验证


在 V 字形开发流程中,MIL 测试环节的位置,如图 1 所示。



文章介绍的 MIL 环境主要分为 4 个部分,如图 2所示。





ADSM


1)ADSM (Autonomous Driving Service Module)。ADSM 模型主要包含传感器对环境的感知、数据融合和轨迹规划等功能。其中,传感器对环境的感知部分由CarSim 中的 Sensor 模型来模拟,其它部分由 ADSM 中的模型来完成。



MCM

2)MCM(Motion Control Module)。该部分主要包含车辆的模式管理、横向控制、纵向控制、安全决策、人机管理等模型。这部分值得注意的是,搭建的自动驾驶车辆运动控制 MIL 仿真模型的主要目的之一就是为了测试基于模型开发的 MCM控制器的功能是否满足需求,在设计智能 PHEV 系统 MIL 平台时,更多考虑的是如何仿真实现 MCM的所有功能,因此另外 3 个部分是围绕如何实现 MCM功能来设计的。




Vehicle

3)Vehicle。该模型由车辆动力学仿真工具 CarSim来完成,通过 S- Function 的形式和 Simulink 中的控制算法模型进行联合仿真。CarSim 中动力系统的设置,如图 3 所示,其中原车中的发动机、变速箱等部分被屏蔽掉,在差速器的输入端接入 MCM发来的驱动扭矩指令,另外再接入从 MCM发来的转向盘转角指令和制动主缸压力指令,CarSim 输出车辆的坐标、速度、加速度、Yaw、Row、转向盘转角、车道线和障碍物信息等。




光流和自动驾驶



4)Others。 这 部 分内 容 包括 电 子 液 压 制 动 系统(EHB:Electric Hydraulic Brake)、 车 身 稳 定 控 制 器(ESC:Electronic Stability Control)等,为了提高仿真效率,这部分的控制器模型大部分是使用现有车型的控制器模型做简化后集成的。


上述 MIL 环境搭建好之后,为了验证该环境的正确性,选取了一种工况,采集实车的驱动扭矩、制动主缸压力和转向盘转角数据,同时在 MIL 模型中模拟同一种工况,记录驱动扭矩、制动主缸压力和转向盘转角,并与实车数据进行了对比,如图 4 所示。从对比结果来看,MIL 仿真结果在趋势上与实车结果是吻合的,因此,该环境可以用来对自动驾驶车辆控制算法进行功能性验证和测试。


测试用例的编写

测试用例编写的难易程度受到需求描述是否足够详细、明确,以及测试工具的易用程度的影响。当上游工程将软件需求释放之后,准确理解需求是写好测试用例的前提条件。测试工具选择 MATLAB/Simulink 工具箱 Simulink Test,文章以 MCM中的模式管理模块为例,介绍测试用例的编写方法。

首先,自动驾驶车辆运动控制 MIL 仿真模型中根据测试需求将需要操作的输入输出信号通过 Simulink的 Inport、Outport 模块引出来,创建带有 Test Sequence模块的 Test Harness(Test Harness 是 Simulink Test 根据模型生成的测试框架模型,它附着在主模型上,也可以进行批量化管理),如图 5 所示。






 Test Sequence


在 Test Sequence 模块中可以实现对输入信号的控制和对输出信号的判断,以及对每个测试步骤设置迁移条件。Test Sequence 支持丰富的语句,包含赋值语句、when、verify()、assert()等,迁移条件语句有 duration (),after (),true。创建好 TestHarness 后,便可在 Test Sequence 中编写测试用例。


表 1 示出模式管理模块的部分软件需求,依据该软件需求,使用 Test Sequence 模块设计出的测试用例,如图 6 所示。





测试用例



图 7 示出从示波器中观察到的运动控制模式信号(XCU_AutoDriverSts)随测试步骤的跳转图。

如果编写的测试用例数量很多,可以借助 SimulinkTest 中的 Test Manager 工具实现批量化自动执行,如图 8 所示。Test Manager 可实现多个 Test Harness 一键运行测试,并在运行结束后产生测试报告。应用此方法,在第 1 轮 MCM软件迭代开发过程中,MIL 测试共发现了包含软件开发与需求不符,软件 bug 等在内的42 个软件问题,其中:1)软件 bug 问题占 4 个;2)需求功能软件暂未实现问题占 6 个;3) 软件功能与需求不符问题占 32 个。




结论


文章主要介绍了一种基于 Simulink Test 的自动驾驶车辆运动控制的 MIL 测试方法。在完成对 MIL 环境的搭建之后,通过与实车数据进行对比,验证了该 MIL环境的正确性。


在此基础上,对软件需求进行了理解和分析,借助于 MATLAB/Simulink 工具箱 Simulink Test,编写出相应的测试用例并进行了 MIL 测试。


测试结果表明,使用该方法,可以在控制软件开发的早期,发现软件中存在的 bug 以及需求和软件不符之处,有效地提高了软件的品质,缩短了软件的开发周期。


然而,在实际测试过程中也发现了以下不足之处:

1) 软件需求难于理解;

2)CarSim 交通场景搭建耗时耗力;

3)MIL 模型复杂导致的仿真速度慢。


对于此类问题,将在后续的工作中持续加以解决和改善。





参考文献:

[1] 张剑锋,马玲,李广召.  自动驾驶运动控制算法的模型在环测试[J].汽车工程师,2019ISSN1674-6546

[2] 成沢文雄,佐藤真也,安島俊幸,等制御システムの高度化·高信頼化を支える モデルベース開発技[J]. 組込みシステムの進化を加速する開発技術とソリューショ,2009915):426- 427.

[3] SMITH P F, PRABHU S M, FRIEDMAN J. Best Practices forEstablishing a Mode-Based Design Culture[J]. SAE Paper, 2007, 44(1):881-884.

[4] 潘晓东,龚俊星,刘祥环电动汽车整车控制软件测试用例设计方法及应用[J]. 兵器装备工程学报,20173811):163-168.


来源:KITTAMP自动驾驶学院


相关文章

技术揭秘:Mobileye的RSS安全模型究竟有哪些技术要点
视觉交通仿真研究:自动驾驶中的模型,评估和应用




SELECTED EVENTS




 

长按二维码识别关注



我就知道你“在看”


  • 电话咨询
  • 021-2230 6692
  • 15021948198
None