本文介绍TSMaster HIL实时仿真系列第三章节。在了解如何自动生成ECU的嵌入式代码,并且集成到于TSMaster的实时运行环境中的基础上,来分享ECU算法如何进行数据层面的交互。
一、脱离RT的实时仿真
不论我们的ABS算法是处在TSMaster的小程序中,还是处在真实的ECU硬件中,它的运行必然都需要输入外部环境给它提供的轮速等信号,它的输出也必然要施加到外部的环境中,这里的外部环境就是指整车以及其他的控制器。很明显,我们需要一个整车模型来参与仿真的过程,通常意义上,这个整车模型就是CarSim的RT版本。
基于第一章节的实时性探讨,我们同样可以使用非RT版本的CarSim,而仅仅通过实时调用CarSim相关的API函数,将整车模型搬到个人电脑上来运行。
二、Carsim Controller
在这个例子中用到了我们专门为CarSim打造的CarSim Controller,它相当于CarSim的RT版本,具有在个人电脑上高精度的仿真车辆模型的能力。
我们首先通过CarSim Controller打开CarSim的自动化实例,选定CarSim中需要运行的车辆模型配置,在此我们同样使用的是对开路面,可以看到左侧是高附右侧是低附的洒水瓷砖。
我们再切换回CarSim Controller中,点击运行按钮,就可以实时的看到仿真的运行过程了。
当前我们看到车辆正在缓慢的前进,这是由于车辆处于怠速状态的缘故。我们切换到输入接口表中在这里可以浏览CarSim的流量接口变量,这相当于Simulink中的CarSim’s function inputs。我们过滤一下已经分配的接口变量,就可以看到我们预先配置的油门以及自动等输入。我们可以通过界面也可以通过API来实时控制这个车辆模型。
如果我们想要停止给油门,并且给左前轮施加自动压力,例如15兆帕的自动压力,切换到视频中可以看到左前轮抱死,而其他车轮还在正常的滚动,以上便是车辆动力学的手动控制功能。
三、TSMaster对模型的自动控制
我们当然可以通过TSMaster对车辆模型施加可重现的自动控制,这就需要TSMaster加载一个CarSim Controller的客户端,CarSim engine小程序库。
我们点开小程序库,可以看到CarSim engine的小程序库有一系列自动控制的API函数,他们负责完成CarSim车辆各类参数的自动修改、动力学模型实时控制等等一些列无人值守的自动化命令。从而实现仅仅使用个人电脑就可以执行CarSim RT等实时仿真的功能。而基于个人电脑直接运行HIL的好处是显而易见的,各类参数的配置和部署都在本地,对比传统HIL的部署可以说是瞬间完成。
而基于TSMaster的软件平台,我们就可以轻易的干预ECU算法中的任意变量。需要说明的是CarSim Controller仅仅是将一个动力学软件CarSim做到实时控制的千万种方法中的一种。基于此原理,同样可以实现Carmaker等等其他动力学软件的实时控制。