硬件在环仿真试验台监控系统的设计与开发
统 仿 真 学 报© Vol. 19 No. 16
2007年8月 Journal of System Simulation Aug., 2007
第19卷第16期 系
硬件在环仿真试验台监控系统的设计与开发
李升波,王建强,李克强
(清华大学汽车安全与节能国家重点实验室,北京 100084)
摘 要:针对基于xPC的硬件在环仿真系统,研究了Matlab GUI监控软件的相关开发技术,以解决时钟驱动模式下,数据更新速率慢、显示停顿的问题。在设计监控系统模块化方案的基础上,利用ActiveX控件技术建立虚拟仪表交互界面,提出S函数驱动GUI界面的实时显示方法,实现仿真数据的动态显示。试验台的使用表明,开发的监控系统具有良好的人机交互功能,对仿真数据的采集频率可达100Hz,虚拟仪表的更新速率超过20Hz,数据传输及显示过程耗时小于21毫秒,满足实时监控的要求。
关键词:硬件在环;实时监控;xPC;GUI
中图分类号:U461.6 文献标识码:A 文章编号:1004-731X (2007) 16-3684-04
Development of Real-time Monitor System for Hardware-in-the-Loop Simulator
LI Sheng-bo, WANG Jian-qiang, LI Ke-qiang
(State Key Laboratory of Automobile Safety and Energy, Tsinghua University, Beijing 100084, China)
Abstract: Aiming at Xpc-based Hardware-In-the-loop simulation system, some key techniques about monitoring software on the platform of Matlab GUI were investigated, thus solving the problem that the sampling and display of simulation data was relatively slow under timer-driven method. On the basis of modular configuration of monitor system, an interface with virtual instruments was constructed using ActiveX technique, and real-time monitor for simulation process was implemented by utilizing GUI driven by S-function method. A series of HIL simulations show that the developed monitor system has favorable human-machine interface, its sampling frequency reaches 100Hz, the updating frequency of virtual instruments exceeds 20Hz and the data transmitting and displaying delay are less than 21ms, satisfying the requirements of real-time monitor. Key words: HIL; real-time monitor; Xpc; GUI
验台(DAS HIL simulator, Hardware-In-the-Loop Simulator for Driver Assistance Systems)。该平台能够将Simulink模型直接编译为实时代码,具备dSPACE系统类似的功能。但由于xPC未提供较好的监控策略,而且基于M语言的用户程序运行速度慢,不能满足实时监控的要求,这使监控系统成为试验台开发的难点之一。
为解决基于xPC的HIL仿真系统的实时监控问题,本文研究了Matlab GUI监控软件的相关开发技术。按照试验台对监控的功能要求,首先设计模块化监控系统结构。在此基础上,采用ActiveX控件技术建立虚拟仪表交互界面,并
[2]
引 言
随着全球汽车工业竞争压力的增大和产品更新换代速度的加快,汽车电控系统开发的一个新的重要指标是短周期和低成本。目前,许多汽车公司已经从传统的开发模式转移到V型开发模型,以减少重复的代码编制和实车试验。作为V型开发模式的关键技术之一,硬件在环 (HIL, Hardware -In-the- Loop)仿真是将ECU及执行器等硬件连接到系统回路中进行仿真,在实验室条件下发现并解决问题,从而提高系统的开发效率[2-4]。
目前,国际上的实时仿真系统主要有三家公司:德国dSPACE公司,美国的ADI及Concurrent公司。在汽车电控系统的研发中,dSPACE公司的产品应用较为广泛,如日立公司ACC仿真器,日产公司ACC仿真器及韩国汉城大学CW/CA试验台[7]。此类系统功能强大,集成度高,易于用户使用,但软硬件成本稍高。此外,VC平台也广泛应用于HIL仿真系统,但手工编制仿真模型和监控程序的代码降低了系统开发效率[8]。为兼顾开发成本和开发难度,本实验室利用xPC技术建立了驾驶员辅助系统硬件在环仿真试
[5]
[6]
[1]
利用S函数驱动GUI界面的方法,实现仿真数据的动态显示。最后,在试验台上进行仿真试验,检验监控系统的使用效果。
1 DAS HIL仿真试验台的简介
xPC是Mathworks公司推出的一种主从机结构的实时仿真技术[9]。基于xPC的实时仿真程序支持Simulink,允许使用I/O模块与实物对象进行数据通讯,因而具备硬件在环仿真功能。该系统中,从机通过实时内核支持仿真模型的运行,利用TCP/IP协议与主机进行数据交互,保证仿真过程的实时监控。
基于xPC,本实验室开发了DAS HIL仿真试验台,基本结构如图1所示。该平台的硬件包括监控计算机,仿真计
收稿日期:2006-06-19 修回日期:2006-09-13
基金项目:北京市科委项目(GYYWK0608003B)
作者简介:李升波(1982-), 男, 山东日照人, 博士生, 研究方向为驾驶员辅助系统和车辆纵向运动控制; 王建强, 男, 副教授, 研究方向为驾驶员辅助系统和车辆主动安全技术等; 李克强, 男, 教授, 博导, 研究方向为智能车辆、HEV整车控制和车辆噪声分析及控制等。
硬件在环仿真试验台监控系统的设计与开发
等:硬件在环仿真试验台监控系统的设计与开发 Aug., 2007 2007年8月 李升波,
算机,整车ECU及执行器,软件包括监控系统与仿真模型。其中,监控计算机以Matlab为软件平台,支持监控程序的运行。仿真计算机的以xPC实时内核为系统软件,是监控程序的运行平台。执行器为电子节气门和电控辅助制动系统,二者通过信号采集卡与仿真计算机进行通讯。ECU采用快速原型控制器代替,与仿真计算机通过CAN总线通讯。为提高模型的可维护性,仿真模型基于模块化思想建立,包含道路、环境、车辆、传感器、设置和监控六个模块。监控系统通过以太网与实时仿真模型进行通讯,完成在线调参、仿真控制、实时显示和数据保存等功能。
图2 监控系统的模块化结构
根据交互式软件的特点,
主程序分为初始化和状态转换两部分。图3是初始化部分的流程图。程序运行后,调用ActiveX控件生成具有虚拟仪
以太网
表的主界面,同时建立xPC目标机对象,并对主机与目标机的通讯进行初步测试。若测试成功,则设置主界面的图形句
图1 试验台总体方案
柄为全局变量,并打开数据交互程序的Simulink框图。初始化过程是HIL仿真系统正常运行的前提。完成之后,程序
HIL仿真试验台中,在线调参和实时监控是实现动态过程分析和控制器参数标定的关键。为实现该功能,xPC提供Matlab命令控制、xPC目标交互模块、基于Web浏览器的交互界面和xPC目标API接口等方法。前三者使用方便,但功能相对简单,可视化功能较弱;利用API接口能够编制功能完善的监控程序,但开发效率较低,周期较长。基于上述考虑,本文综合Matlab命令控制和xPC目标交互模块两种方法,采用ActiveX技术建立虚拟仪表交互界面,提出S函数驱动GUI界面的方法实现仿真过程的在线调参和实时监视等功能。
图3 初始化过程的流程图
进入等待状态,准备接收操作人员的指令信息。
根据操作人员与监控软件的交互过程,状态转换部分分为参数设置,数据保存,仿真控制三个功能状态和一个退出状态。其中,仿真控制内部存在仿真初始、仿真运行和仿真结束三个子状态。它们之间的状态转换关系如图4所示。图中整个网络代表主程序的功能转换,网络节点代表系统的状态,带箭头实线表示操作人员的输入命令。
2 系统模块化结构设计
为使监控功能相对独立,程序结构清晰,易于维护和扩充,依照模块化思想将监控系统分为参数调整,仿真控制,实时显示和数据保存四个模块。图2显示监控系统的基本结构及其各模块的数据传递关系。Matlab中,GUI具有面向对象编程,代码简洁,易于维护的特点,而Simulink支持全部的xPC目标交互模块,易于实现参数下载和信号采集功能。为综合二者优点,将监控系统分为主程序和数据交互程序两部分,前者在GUI平台上采用M语言编制,后者利用Simulink建立。其中,主程序包括仿真控制模块,数据保存模块以及参数调整模块的设置界面和实时显示模块的显示界面(如:实时曲线框,虚拟仪表界面),数据交互程序完成参数下载和信号采集功能。下面将详细介绍二者的基本结构。
图4 主程序的状态转换图
数据交互程序分为参数下载和信号采集两个子系统,基本结构如图5所示。当主程序处于仿真运行状态时,前者中Constant模块的参数由主程序中参数设置模块进行修改,并通过To xPC Target模块实时下载到目标机中,实现在线调参功能。后者中,仿真数据由From xPC Target模块采集,
硬件在环仿真试验台监控系统的设计与开发
2007年8月 系
统 仿 真 学 报 Aug., 2007
标机的仿真数据,经预处理后送至S函数驱动模块。该模块采用M语言编写,其基本流程图如图7所示。按照S函数的运行顺序,驱动程序首先读取全局的图形句柄,初始化信号存储变量。然后在每个Simulink循环中,读取端口输入并保存,利用全局图形句柄,更新虚拟仪表的示值和实时曲线的显示,实现仿真数据的动态显示。
图7 S函数的程序流程图
并送至预处理模块,经线性滤波和重新采样后,由S函数模块驱动主界面实时显示,供研究人员分析仿真的动态过程。
图5 数据交互程序的基本结构
3 监控系统的关键技术
3.1 基于ActiveX技术的界面开发
专业的HIL仿真系统,如dSPACE的ControlDesk工具能够生成虚拟仪表监控软件,对仿真过程进行综合管理。带良好人机交互特性的监控软件不仅可以实现可视化管理,而且为实时分析动态仿真过程提供了方便。为实现类似的功能,本文在GUI平台上,利用ActiveX控件技术建立虚拟仪表交互界面。
基于ActiveX技术的界面开发流程如下:首先,采用VB等工具建立虚拟仪表的ActiveX控件;其次,在GUI
平台中调用actxcontrol( )函数创建控件实例,并初始化其属性;通过全局化实例的句柄,使其他函数能够修改控件示值,为动态显示奠定基础。图6为监控系统的主界面,其上部虚拟仪表分别显示节气门开度(%)、前车速度(km/h)、本车速度(km/h)和制动压力(MPa)。
为了验证该方法的实时性,在试验台上进行两类试验,分别测量数据传输及显示过程的时间延迟和数据采集/显示频率。前者的测量方法为:利用监控系统向仿真计算机发送数据,后者收到数据后送回监控计算机,更新虚拟仪表显示,记录整个过程所需时间。该试验共进行14次,时间延迟的平均值为21毫秒。后者通过计算一段时间的数据点数得到,试验结果如表1所示。
表1 第二类试验结果
数据采集频率(Hz)
显示更新频率(Hz)
试验I 101.0 25.3
试验II 100.8 25.2 试验III 99.7 24.9 试验IV 99.3 24.8
图6 基于ActiveX控件的虚拟仪表界面
结果表明,该方法下数据采集频率可达100Hz,虚拟仪表及实时曲线的更新频率大于20Hz,数据传输及显示过程耗时小于21毫秒,显示流畅,无停顿、迟滞现象,满足试验台对实时监控的要求。另外,由于数据交互程序的Simulink框图处于离线运行状态,运行速度受模型规模和计算机性能影响,故不同试验中数据采集频率略有差别。但因为目标机与主机间采用数字信号传输数据,且传输数据中包含时间信息,所以频率波动并不影响仿真数据的时间精度。
3.2 S函数驱动GUI界面的实时显示技术
监控系统的四大功能中,仿真数据的实时显示是难点。这是因为xPC下,仿真计算机不能存储中间仿真结果,必须由监控计算机实时采集显示并保存,并且考虑数据显示的实时性和视觉暂留效应,程序的采样频率不应小于10Hz。试验表明,由于GUI为解释性语言,运行速度慢,采用Matlab时钟驱动方法的监控系统,数据显示出现明显的停滞,不能满足实时监控要求。为解决上述问题,本文提出S函数驱动GUI界面的数据实时显示方法。
在Simulink框图中,利用From xPC Target模块采集目
4 应用及结论
在本文提出的实时监控系统的基础上,本实验室开发了驾驶员辅助系统硬件在环仿真试验台,用于实时分析驾驶员
硬件在环仿真试验台监控系统的设计与开发
等:硬件在环仿真试验台监控系统的设计与开发 Aug., 2007 2007年8月 李升波,
辅助系统的动态过程、在线标定控制器参数和验证ECU的性能。
以ACC控制器参数标定为例,说明该监控系统的作用。图8是标定前后的距离误差曲线,图9是标定前后的相对速度曲线,其中实线是LQ控制器的仿真结果,虚线是利用试验台标定后的结果。
5
标定前 标定后
0 距离误差/m
对独立,程序结构清晰,不仅降低了开发难度,而且使程序易于维护和功能扩充。
(2) M语言与ActiveX控件技术的结合,能够建立具有虚拟仪表的监控界面,增强了试验台的人机交互能力。
(3) S函数驱动GUI界面技术下,监控程序的数据采集速率可达100Hz,虚拟仪表的更新速率超过20Hz,解决了时钟驱动模式下数据更新速率慢、显示停顿的问题,达到HIL仿真对实时监控的要求。
参考文献:
[1] Kendall I R, R P Jones. An investigation into the use of
hardware-in-the-loop simulation testing for automotive electronic control systems-A visual formalism for complex systems [J]. Control
-5
Engineering Practice (S0967-0661), 1999, 7(11): 1343-1356. [2] 周健, 张静, 朱振才, 等. 小卫星姿态控制系统半物理仿真关键技
术研究 [J]. 空间科学学报, 2002, 22(2): 17-22.
[3] 张子龙, 朱庆华, 杨涤, 等. 基于xPC卫星系统硬件在回路实时仿
-10
0 20 40 60
时间/ s
图8 标定前后的距离误差
真研究 [J]. 系统仿真学报, 2005, 17(S2): 61-63. (Zhang Zi-long, Zhu Qing-hua, Yang Di, et al. Research on Hardware-in-the-Loop Real-time Simulation of a Satellite System Based on xPC [J]. Journal of System Simulation, 2005, 17(S2): 61-63.)
[4] 王永庭, 张付军, 李长文. 基于dSPACE的柴油机ECU硬件在环仿
20
标定前
10 相对速度/(m/s)
标定后
真平台 [J]. 系统仿真学报, 2005, 17(S2): 41-44. (Wang Yong-ting, Zhang Fu-jun, Li Chang-wen. Diesel Engine ECU Hardware-in-the- Loop Simulation System Based on dSPACE [J]. Journal of System Simulation, 2005, 17(S2): 41-44.)
0 [5] Ichinose M, Yokoyama A, Nishigaito T, et al. Development of
Hardware-In-the-Loop Simulator for Adaptive Cruise Control System[C]//Proceedings of AVEC’02. Japan: AVEC’02 Organizing Committee in JSAE, 2002: 207-212.
[6] Oida T, Kubota K, Takeuchi T, Tozawa M, et al. Development of a
Vehicle Dynamics Simulation System for Adaptive Cruise Control[C]//Proceedings of AVEC’02. Japan: AVEC’02 Organizing Committee in JSAE, 2002: 183-188.
[7] Yi Kyongsu, Woo Minsu, Kim Sung Ha, et al. An Experimental
Investigation of a CW/CA System for Automobile Using Hardware in the Loop Simulation [M/CD]. 1999/2006, Proceedings of the American Control Conference. San Diego, U.S.A: AACC Organizing Committee, 1999.
[8] Kyongsu Yi, Minsu Woo, Sung Ha Kim, et al. An Experimental
Investigation of a CW/CA System for Automobile Using Hardware in the Loop Simulation [M/CD]. 1999/2006, Proceedings of the American control conference. San Diego, U.S.A: AACC Organizing Committee, 1999.
[9] 李静, 李幼德, 吴坚, 等. 基于快速成型技术的牵引力控制系统
[J]. 吉林大学学报(工学版), 2004, 34(2): 202-206.
[10] The Mathworks Corporation. xPC Target User's Guide [K]. Matlab
Help, 2002.
-10
-20
0 20 40 60
时间/ s
图9 标定前后的相对速度
由于忽略了车辆对象的非线性特性和模型误差,LQ控制器不能保证ACC系统具有理想的稳态跟踪特性。利用监控系统的实时监控和在线调参功能,可根据实时仿真结果快速修改ACC控制器的参数,直到跟踪特性满足要求为止。仿真结果表明,该标定过程降低了ACC系统的跟踪误差,提高了系统的性能。这说明,该试验台可以代替一定的实车标定工作,从而提高了系统的开发效率。另外,与dSPACE结构的试验台相比,本试验台与之功能几乎类似,但成本远小于前者,且易于功能扩充,满足系统进一步开发的要求。
最后,开发过程及试验台的使用表明:
(1) 采用模块化思想建立的监控系统方案,使各模块相