0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

技术分享 | 使用TSMaster从零打造车辆控制器HIL实时仿真系列4

上海同星智能科技有限公司 2022-05-30 18:16 次阅读

HIL实时仿真系列4

50b238e0-dde5-11ec-b80f-dac502259ad0.jpg

今天我们接着上一章节的内容继续介绍如何基于TSMaster打通ECU算法与整车模型之间的桥梁。

SDK融入TSMaster运行环境

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

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

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

50f2781a-dde5-11ec-b80f-dac502259ad0.png

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

SDK控制动力学模型

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

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

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

513bf2ec-dde5-11ec-b80f-dac502259ad0.png

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

51a9065c-dde5-11ec-b80f-dac502259ad0.png

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

车辆加速仿真试验

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

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

>IMP_THROTTLE_ENGINE = 0.6;

5210c3c8-dde5-11ec-b80f-dac502259ad0.png

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

5267d21c-dde5-11ec-b80f-dac502259ad0.png

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

52be74fa-dde5-11ec-b80f-dac502259ad0.png

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

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

530c56c0-dde5-11ec-b80f-dac502259ad0.jpg

转到变量组上,点击右键添加变量表,依次输入车速,行驶距离,油门,各个轮速和各个压力值。点击确定后,一系列变量变申明好了,与全局定义不同的是,这些变量是系统变量,可以被其他小程序,或是被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);

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

53429b9a-dde5-11ec-b80f-dac502259ad0.jpg

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

5380f732-dde5-11ec-b80f-dac502259ad0.jpg

再转到自动化模块中,将我们现有的逻辑做一些修改,也就是启动后等待车辆加速到80公里每小时,再进行制动,只有制动到车速为0时,才停止仿真。(具体操作步骤详情可直接观看我们的B站视频哦~)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    16332

    浏览量

    177813
  • HIL
    HIL
    +关注

    关注

    2

    文章

    53

    浏览量

    17667
收藏 人收藏

    评论

    相关推荐

    优化电动汽车充电器控制:C-HIL技术与双有源桥实时仿真解决方案

    交通电气化正在改变车辆的设计、测试和制造方式。控制器硬件在环(C-HIL),也被称为信号-HIL,已成为测试电力电子控制固件的一种替代方法,
    的头像 发表于 12-06 11:21 555次阅读
    优化电动汽车充电器<b class='flag-5'>控制</b>:C-<b class='flag-5'>HIL</b><b class='flag-5'>技术</b>与双有源桥<b class='flag-5'>实时</b><b class='flag-5'>仿真</b>解决方案

    面向汽车T-BOX与域控制器HIL测试新方案

    电子发烧友网站提供《面向汽车T-BOX与域控制器HIL测试新方案.pdf》资料免费下载
    发表于 10-28 10:55 2次下载

    基于TSMaster的MIL/HIL仿真开发(空簧和连续阻尼控制篇)

    ,本文HIL的测试对象为控制器本身而非整套悬架系统。#02仿真前提满足ASU&CDC的MIL/HIL测试须要满足如下条件1.建立CDC物理模型,即CDC速度-电流-力
    的头像 发表于 10-26 08:02 546次阅读
    基于<b class='flag-5'>TSMaster</b>的MIL/<b class='flag-5'>HIL</b><b class='flag-5'>仿真</b>开发(空簧和连续阻尼<b class='flag-5'>控制</b>篇)

    解决方案丨EasyGo新能源系统实时仿真应用

    控制器,EG-Box-Mini k1011用来做HIL实时仿真器4、实验例程实时
    发表于 10-18 09:37

    PPEC-HIL 三相整流逆变实时仿真测试

    PPEC:Programmable Power Electronics Controller,可编程电力电子控制器HIL:Hardware-in-the-Loop,硬件在环EasyGo电力电子科
    发表于 10-12 15:40

    【干货分享】硬件在环仿真HiL)测试

    技术,通过接入真实的控制器,采用或者部分采用实时仿真模型来模拟被控对象和系统运行环境,实现整个系统的仿真测试。
    的头像 发表于 09-19 17:15 888次阅读
    【干货分享】硬件在环<b class='flag-5'>仿真</b>(<b class='flag-5'>HiL</b>)测试

    教学验证篇丨PPEC+HIL 单相逆变仿真验证

    实时仿真平台的仿真实验的可靠性。 为便于进行比较测试实验,控制部分统一采用携带PPEC芯片的控制器。本次测试我们将被控部分(真实单相逆变拓扑
    发表于 08-09 10:25

    教学验证篇丨PPEC+HIL LLC拓扑仿真验证

    芯片的控制器。本次测试我们将被控部分(真实LLC功率电路板和载入LLC拓扑的EasyGo实时仿真器NetBox)的参数配置调整一致,通过在恒压开环、闭环模式,恒流闭环模下进行测试,可以看到仿真
    发表于 06-11 13:45

    PPEC+HIL LLC拓扑仿真验证

    PPEC:ProgrammablePowerElectronicsController,可编程电力电子控制器HIL:Hardware-in-the-Loop,硬件在环森木磊石推出的电力电子科研/教学系列
    的头像 发表于 06-08 08:23 432次阅读
    PPEC+<b class='flag-5'>HIL</b> LLC拓扑<b class='flag-5'>仿真</b>验证

    实战电力电子,移相全桥仿真验证起步!

    控制器。本次测试我们将被控部分(真实移相全桥功率板和EasyGo实时仿真器NetBox)的参数配置调整一致,可以看到仿真设备在观测参数上与真实设备表现一致,误差较小。 也就是说,Ea
    发表于 05-16 11:35

    【分享】基于Easygo仿真平台的三电机实时仿真测试应用

    算法效果的前期仿真评估及算法或控制器参数设计及仿真验证,可以很大程度上减少系统开发周期及成本。对多电机同步控制系统进行实时
    发表于 04-09 16:49

    快速控制原型RCP与硬件在环仿真HIL该如何区分呢?

    控制器软件开发的V流程中,有两个需要通过实时仿真完成的重要环节,即快速控制原型(RCP)与硬件在环仿真
    的头像 发表于 02-23 10:32 1325次阅读
    快速<b class='flag-5'>控制</b>原型RCP与硬件在环<b class='flag-5'>仿真</b><b class='flag-5'>HIL</b>该如何区分呢?

    【分享】EasyGo 链式SVG系统的实时仿真应用

    步长1e-4,另外一块FPGA 用来做脉冲发生,这样,我们利用PXIBox的多FPGA并行的独特优势,一台PXIBox即可完成HIL+RCP的半实物放着验证,控制系统和电路仿真系统通过
    发表于 02-21 17:31

    详解快速控制原型RCP与硬件在环仿真HIL

    控制器软件开发的V流程中,有两个需要通过实时仿真完成的重要环节,即快速控制原型(RCP)与硬件在环仿真(
    的头像 发表于 01-19 13:41 1734次阅读
    详解快速<b class='flag-5'>控制</b>原型RCP与硬件在环<b class='flag-5'>仿真</b><b class='flag-5'>HIL</b>

    如何理解实时仿真

    实时仿真?硬件在环?RCP?HIL...这些词是否还有些傻傻分不清呢?本期将带大家走近实时
    的头像 发表于 01-16 10:34 1212次阅读