Ggpoker官网

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

Table of Contents

本文主要介绍如何基于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时 ,紧急制动 ,要完成这个操作 ,只需要在Ggpoker官网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时 ,才停止仿真。

近期文章
×
×

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

【网站地图】