TSMasterHIL实时仿真系列4-打通ECU算法与整车模型之间的桥梁

TSMasterHIL实时仿真系列4-打通ECU算法与整车模型之间的桥梁

本文主要介绍如何基于TSMaster打通ECU算法与整车模型之间的桥梁。


一、SDK融入TSMaster运行环境

由于此视频采用了CarSim controller自带的CarSim engine客户端,需要对代码库做一些配置,也就是需要引用CarSim controller开发包的相关sdk文件。我们打开ABS算法小程序的代码库。

 

向上进入common文件夹,这个文件夹可存放多个小程序公共的头文件和代码文件,我们将SDK文件拖入此文件夹中。

 

接着转到全局定义中,第一行代码,引用一个C++头文件 #include “CarSimAPIUtilities.hpp”。

TSMasterHIL实时仿真系列4-打通ECU算法与整车模型之间的桥梁

随后点击编译,可以看到,SDK也融入了TSMaster的运行环境中。


二、SDK控制动力学模型

接下来我们就可以通过调用SDK来轻松控制动力学模型了。

 

我们可以使用CarSim engine自带的这 47 个API函数来操作CarSim,当然也可以选用基于CarSim engine开发的SDK来实现,相比起来SDK的函数更加简洁,它将整个 CarSim的控制分为三个阶段:初始化、运行、和结束运行。

 

初始化函数名为 callback_setup,放在程序启动事件中。

TSMasterHIL实时仿真系列4-打通ECU算法与整车模型之间的桥梁

运行函数名为 callback_start_carsim,放在step函数中,并且让它只执行一次;这需要再申请一个全局变量 vToStart,来实现单次操作。

 

TSMasterHIL实时仿真系列4-打通ECU算法与整车模型之间的桥梁

结束运行函数名为 callback_teardown,放在程序停止事件中;写完后我们编译程序,运行程序。

三、车辆加速仿真试验

接下来我们尝试加速车辆,并在车速高于80kph时,紧急制动,要完成这个操作,只需要在我们的ABS小程序中,再自 定义两个API函数即可,我们将这两个函数分别命名为acc和brake。

 

在acc中,我们操纵油门,此时需要到CarSim controller中拷贝输入变量名,throttle,cs->IMP_THROTTLE_ENGINE = 0.6;

TSMasterHIL实时仿真系列4-打通ECU算法与整车模型之间的桥梁

在brake中,我们模拟驾驶员以150 bar的压力踩下制动踏板进行紧急制动,这就需要设置主缸压力为15MPa,我们设置一个全局变量 vPMC 来接收这个主缸压力,同时,还需要到全局定义中声明这个 vPMC。

TSMasterHIL实时仿真系列4-打通ECU算法与整车模型之间的桥梁

为了对比有无ABS的制动效果,我们首先尝试没有ABS算法的情况,那么这个压力将直接作用在四个轮缸上,这里还需声明一个变量 vHasABS,默认为假。

 

TSMasterHIL实时仿真系列4-打通ECU算法与整车模型之间的桥梁

接着来到step函数中,通过 vHasABS 来区分算法的执行与否,若没有执行算法,则直接赋值轮缸压力。

 

完成逻辑之后,我们需要观测轮速和压力,这些变量都来自于整车模型,如何观测呢?我们可以使用小程序的变量将其表达出来。

TSMasterHIL实时仿真系列4-ECU HIL仿真的具体实施

转到变量组上,点击右键添加变量表,依次输入车速,行驶距离,油门,各个轮速和各个压力值。点击确定后,一系列变量变申明好了,与全局定义不同的是,这些变量是系统变量,可以被其他小程序,或是被graphics或者面板等等窗口获取并自动绘制曲线。

 

我们回到step函数,需要依次对这些系统变量进行赋值,赋值使用set操作

 

v.set(cs->VX); 

station.set(cs->STATION);

throttle.set(cs->IMP_THROTTLE_ENGINE); 

vFL.set(cs->VX_L1);

vFR.set(cs->VX_R1); 

vRL.set(cs->VX_L2); 

vRR.set(cs->VX_R2); 

pFL.set(cs->IMP_PBK_L1); 

pFR.set(cs->IMP_PBK_R1); 

pRL.set(cs->IMP_PBK_L2); 

pRR.set(cs->IMP_PBK_R2);

 

随后运行程序,打开系统变量表,就可以看到我们为这个小程序添加的一系列监控变量。

TSMasterHIL实时仿真系列4-打通ECU算法与整车模型之间的桥梁

我们打开graphics,将图形分为三栏,上栏显示速度,中栏显示压力,下栏显示油门和行驶距离等信息,随后添加各个系统变量进行观测。

 

TSMasterHIL实时仿真系列4-打通ECU算法与整车模型之间的桥梁

再转到自动化模块中,将我们现有的逻辑做一些修改,也就是启动后等待车辆加速到80公里每小时,再进行制动,只有制动到车速为0时,才停止仿真。

zh_CNChinese
×
×

产品入口: 产品添加到购物车

下载位置

请点击下方的下载按钮,开始体验强大的TSMaster功能。感谢您的支持!

Beta版每周更新,正式版每月更新
安装环境
  • 1
    Windows 7 SP1 版本以上,支持 Win10, 与 WIn11

    操作系统

  • 2
    8GB

    内存

  • 3
    至少550MB可用空间

    磁盘空间

  • 4
    双核(2核)或更高

    CPU

请确保您的计算机至少满足以上要求,以便顺利安装和运行 TSMaster 软件。如果您的计算机不符合这些要求,可能会导致性能问题或无法正常运行软件。如果您需要更流畅运行功能,可能需要考虑升级您的硬件。
XML 地图