首页 > 制动知识 > 正文
自动驾驶运动控制算法的模型在环测试
作者: 未名 来源: 汽车测试网 日期: 2020年3月24日

如今,自动驾驶汽车已经成为各大车企竞相研发的领域之一。相对于传统汽车,自动驾驶汽车依靠系统中的感知、决策、控制三大子系统完成汽车的无人驾驶任务。自动驾驶控制系统的研发必须把该系统的安全性放在第一位,而如何保证系统的安全性成为研发中最具挑战性的难题。为了提高控制软件的开发效率和品质,基于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仿真结果在趋势上与实车结果是吻合的,因此,该环境可以用来对自动驾驶车辆控制算法进行功能性验证和测试。
 
\
 
2,测试用例的编写
测试用例编写的难易程度受到需求描述是否足够详细、明确,以及测试工具的易用程度的影响。当上游工程将软件需求释放之后,准确理解需求是写好测试用例的前提条件。测试工具选择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个。
 
\
 
3,结论,
文章主要介绍了一种基于Simulink Test的自动驾驶车辆运动控制的MIL测试方法。在完成对MIL环境的搭建之后,通过与实车数据进行对比,验证了该MIL环境的正确性。
 
在此基础上,对软件需求进行了理解和分析,借助于MATLAB/Simulink工具箱Simulink Test,编写出相应的测试用例并进行了MIL测试。
 
测试结果表明,使用该方法,可以在控制软件开发的早期,发现软件中存在的bug以及需求和软件不符之处,有效地提高了软件的品质,缩短了软件的开发周期。
 
然而,在实际测试过程中也发现了以下不足之处:
1)软件需求难于理解;
2)CarSim交通场景搭建耗时耗力;
3)MIL模型复杂导致的仿真速度慢。
 
对于此类问题,将在后续的工作中持续加以解决和改善。

(转载请注明来源: 汽车制动网/chebrake.com 责任编辑:sara)

推荐好友:
加入收藏: 加入收藏夹
】【打印本页】【发表评论】【关闭窗口
 
   
   
 
联系电话:021-50325218
Copyright 2007 www.chebrake.com. All rights reserved.
© 2007 汽车制动网 版权所有|法律声明 沪ICP备13016240号-2