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

    文章

    15865

    浏览量

    175225
  • HIL
    HIL
    +关注

    关注

    2

    文章

    41

    浏览量

    17608
收藏 人收藏

    评论

    相关推荐

    教学验证篇丨PPEC+HIL BUCK仿真验证

    PPEC:ProgrammablePowerElectronicsController,可编程电力电子控制器HIL:Hardware-in-the-Loop,硬件在环EasyGo电力电子科研/教学
    的头像 发表于 09-04 18:20 320次阅读
    教学验证篇丨PPEC+<b class='flag-5'>HIL</b> BUCK<b class='flag-5'>仿真</b>验证

    新书推荐 | TSMaster开发入门到精通

    书名:TSMaster开发入门到精通书号:9787302667193作者:杨金升刘矗刘功申定价:99.80元《CANoe开发入门到精通》作者又一力作!本书旨在帮助广大汽车工业领域的研发工程师快速
    的头像 发表于 08-30 12:37 137次阅读
    新书推荐 | <b class='flag-5'>TSMaster</b>开发<b class='flag-5'>从</b>入门到精通

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

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

    教学验证篇丨PPEC+HIL DAB仿真验证

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

    教学验证篇丨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 257次阅读
    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

    多电机仿真篇丨双电机实时仿真测试应用

    国内虚拟研究平台多基于单电机设计,而实际工业中多电机配合工作更为常见,如机器人、3D打印机等。多电机同步控制在工业自动化生产系统中广泛存在,但目前基于FPGA纳秒级实时仿真平台多为单电机设计,进行多
    发表于 03-19 16:13

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

    控制器软件开发的V流程中,有两个需要通过实时仿真完成的重要环节,即快速控制原型(RCP)与硬件在环仿真
    的头像 发表于 02-23 10:32 879次阅读
    快速<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 990次阅读
    详解快速<b class='flag-5'>控制</b>原型RCP与硬件在环<b class='flag-5'>仿真</b><b class='flag-5'>HIL</b>

    如何理解实时仿真

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

    2023年中国半实物仿真模拟(HiL)行业洞察报告

    ,其中尤以汽车行业HiL应用市场规模占比最高,预期可达到123.8亿元 出品:适道研究院   半实物仿真(Hardware-in-Loop Simulation,简称HiL)是一种结合实物硬件和
    的头像 发表于 01-03 22:22 672次阅读
    2023年中国半实物<b class='flag-5'>仿真</b>模拟(<b class='flag-5'>HiL</b>)行业洞察报告

    聊聊车辆仿真软件之DYNA4——Overview

    作随着汽车行业如火如荼的发展,各种车辆仿真软件也不断获得工程师的诸多关注。虚拟车辆仿真,无论是在开发前期还是HIL阶段都有着举足轻重的作用。
    的头像 发表于 10-19 08:25 727次阅读
    聊聊<b class='flag-5'>车辆</b><b class='flag-5'>仿真</b>软件之DYNA<b class='flag-5'>4</b>——Overview