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

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

3天内不再提示

康谋分享 | 自动驾驶联合仿真——功能模型接口FMI(二)

康谋自动驾驶 2024-06-26 14:40 次阅读

FMU中时间概念的连续性和离散性实际上是变量的属性。并且FMU都能够包含连续时间的变量或是离散时间的变量。在模型交换类型和联合仿真类的FMU通信中可以看到这一点。

在FMI2.0中通过通信点来进行数据交换的通信结构是离散的。

一、模型交换:导入工具提供求解器

wKgaomZ7ty-AdCzsAAB45AN-C80271.png

  • 仿真工具之间模型集成非常紧密。
  • 在导入工具和模型之间的接口非常复杂。
  • 导入工具必须提供合适的求解器。

二、联合仿真:导出工具提供求解器

wKgZomZ7t0-AB1zAAAB184voApc737.png

  • 模型和求解器之间有着紧密的耦合关系。
  • 导入工具和模型之间的接口相对简单。
  • 可以选择不同的联合仿真算法和通信步长来实现更稳定精确的仿真方案。

三、联合仿真的接口 Interface

通信时间步长可以和内部步长不同,通信时间步长主要是不同FMU之间交换信息,而在各自的内部可以时是不同的可变时间步长。

在联合仿真接口中,参数会根据FMI标准有着典型的调用顺序:

  • 得到输出:fmiGetXXX(...)
  • 触发计算直到下一个通信节点:fmidoStep(...)
  • 设置输入值:fmi2SetXXX(...)

以C代码为例:

  • 使用FMI2Instantiate函数实例化FMU

CALL (FMI2Instantiate(S, resourceURI, fmi2CoSimulation, modelDescription->instantiationToken, fmi2Flase, fmi2Flase))

其中涉及到的参数分别是FMI实例、FMU资源的URI、声明FMU的类型为联合仿真、唯一标识符、是否显示FMU的GUI和是否启动日志记录的参数。

  • 应用初始值和输出

CALL(applyStartValues(S,settings)); CALL(FMIApplyInput(S,input,setttings->startTime,true,true,false));

  • 设置参数并进入初始化模式,如果有FMU初始状态文件的话,可以在实例化FMU后执行

CALL(FMI2SetupExperiment(S,settings->tolerance>0,settings->tolerance,settings->startTime,fmiFalse,0)); CALL(FMI2EnterInitializationMode(S)); CALL(FMI2ExitInitializationMode(S));

  • 进入仿真循环,按照时间步长进行采样和应用输入

or(ubsignedlongstep=0;;step++){constfmi2Realtime=settings->startTime+step*settings->outputInterval;... CALL(FMISample(S,time,result)); CALL(FMIApplyInput(S,input,time,true,true,false)); ...... constFMIStatusdoStepStatus=FMI2DoStep(S,time,settings->outputInterval,fmiTrue); ...... CALL(FMIGetBooleanStatues(S,fmi2Terminated,&terminated)) ...... CALL(FMI2GetRealStatus(S,fmi2LastSuccessfulTime,&lastSuccessfulTime)); CALL(FMISample(S,lastSuccessfulTime,result)); ......

联合仿真算法作用

  • 联合仿真算法不属于FMI标准的一部分,其作用主要是用于:
  • 推进整个仿真系统的时间,使得各个子系统的FMU组件在每个时间步长上同步执行仿真计算,即代码中仿真循环的部分。
  • 交换输入和输出数据。
  • 触发时钟信号,用于同步不同仿真组件或触发某些操作,即代码中。

settings->startTime+step*settings->outputInterval;FMI2DoStep(S,time,settings->outputInterval,fmiTrue);

  • 处理事件,例如状态变化、外部输入、内部条件触发等,即代码中。

CALL(FMI2GetRealStatus(S,fmi2LastSuccessfulTime,&lastSuccessfulTime));CALL(FMISample(S,lastSuccessfulTime,result));

四、模型描述文件是并行的

模型描述文件modelDescription.xml包含了关于FMU所有的静态信息,其定义了FMU支持的接口类型,无论是模型交换或是联合仿真,同时解释了模型变量,包括了输入、输出以及相关参数,以便导入工具进行访问。

除此之外也会包含模型接口的一些信息,比如模型连接时数据是符合输入输出的。

wKgZomZ7tsGAQw-KAArz-1zXPIo374.png

并且在模型描述文件中还会声明一些属性标志,比如“needsExcutionTool”,这一属性表示需要特定的程序或是特定的库文件才能够执行FMU,所以在导入FMU时,在导入工具中需要一个额外的包装Wrapper,并不真正的参与计算,而是用来实现模型、求解工具和执行之间进行通信。

wKgaomZ7ts6Aar64AACWt1kuPeM628.pngwKgaomZ7tteAR3YwAAC4FuR50iQ741.png


作者介绍

崔工

康谋科技仿真测试业务技术主管,拥有超过5年的汽车仿真测试及自动驾驶技术研发经验,熟练掌握仿真测试工具和平台,如aiSim、HEEX等,能有效评估和优化自动驾驶系统的性能和安全性。拥有出色的跨文化沟通能力,成功带领团队完成多项海外技术合作项目,加速了公司在自动驾驶技术上的国际化进程。作为技术团队的核心,领导并实施过大规模的自动驾驶仿真测试项目,对于车辆行为建模、环境模拟以及故障诊断具有独到见解。擅长运用大数据分析和人工智能技术,优化仿真测试流程,提高测试效率和结果的准确性。

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

    关注

    0

    文章

    5

    浏览量

    8336
  • 自动驾驶
    +关注

    关注

    784

    文章

    13826

    浏览量

    166493
收藏 人收藏

    评论

    相关推荐

    分享 | 自动驾驶联合仿真——功能模型接口FMI(四)

    功能模型接口是一个开放且独立于工具的标准,便于实现自动驾驶仿真工具间的模型交换和
    的头像 发表于 07-24 10:54 3153次阅读
    <b class='flag-5'>康</b><b class='flag-5'>谋</b>分享 | <b class='flag-5'>自动驾驶</b><b class='flag-5'>联合</b><b class='flag-5'>仿真</b>——<b class='flag-5'>功能</b><b class='flag-5'>模型</b><b class='flag-5'>接口</b><b class='flag-5'>FMI</b>(四)

    自动驾驶联合仿真——功能模型接口FMI(终)

    本文带您了解,如何在aiSim中,通过UDP和aiSim车辆动力学API(Vehicle Dynamics Interface, VDI)来实现和外部的FMU车辆动力学模型联合仿真
    的头像 发表于 08-07 10:19 2880次阅读
    <b class='flag-5'>自动驾驶</b><b class='flag-5'>联合</b><b class='flag-5'>仿真</b>——<b class='flag-5'>功能</b><b class='flag-5'>模型</b><b class='flag-5'>接口</b><b class='flag-5'>FMI</b>(终)

    自动驾驶真的会来吗?

    。autopilot是用户驾驶的一个辅助功能,可以帮助驾驶员在开车过程中进行更好的判断、更轻松的操作。这个Google等进行的自动驾驶有明显的不同。”张璐说。美国高速公路安全委员会(N
    发表于 07-21 09:00

    自动驾驶的到来

      传统汽车厂商更趋向于通过技术的不断积累,场景的不断丰富,逐步从辅助驾驶过渡到半自动驾驶,进而在将来最终实现无人驾驶;某些高科技公司则希望通过各种外部传感器实时采集海量数据,处理器经过数据分析然后
    发表于 06-08 15:25

    AI/自动驾驶领域的巅峰会议—国际AI自动驾驶高峰论坛

    由南德意志出版及活动有限公司举办的 国际AI自动驾驶高峰论坛 将于 2017年11月28/29日 在 德国慕尼黑 举办,中德联合股份公司作为中国独家合作伙伴,诚邀您拨冗莅临!【活动背景】AI
    发表于 09-13 13:59

    如何让自动驾驶更加安全?

    功能。关于自动驾驶的应用,产业界存在两种不同的转型路径。第一种是传统汽车制造商的“渐进演化”路线,即在传统的汽车上逐渐新增一些自动驾驶功能,最终过渡到完全
    发表于 05-13 00:26

    自动驾驶汽车的处理能力怎么样?

    功能;但作为一个行业,我们仅仅是才触及ADAS系统的表面,更不用说完全自主驾驶了。示意图:自动驾驶的五个级别自动驾驶的级别
    发表于 08-07 07:13

    自动驾驶车的人车交互接口设计方案

    。随着驾驶任务的消失和车辆控制权人数的增加,自动驾驶也必然会带来全新的人车关系。因此,面向自动驾驶车的人车交互接口的再设计面临了机遇和挑战,我们需要重新探讨如何为全新交互场景下的“乘客
    发表于 07-30 07:57

    自动驾驶线控底盘VCU功能介绍

    满足自动驾驶远程遥控的线控底盘整车控制器VCU1 自动驾驶线控底盘VCU功能介绍满足自动驾驶及遥控驾驶的线控底盘整车控制器VCU作为新能源及
    发表于 09-07 06:30

    自动驾驶仿真工具

    仿真平台侧重于提供虚拟场景的搭建,以测试自动驾驶软件的性能,第一类是专门的自动驾驶模拟仿真软件,如Prescan、 VTD、51sim-one、Panosim、GaiA等等。第
    发表于 06-01 14:31 1次下载
    <b class='flag-5'>自动驾驶</b><b class='flag-5'>仿真</b>工具

    新闻丨走进科技——您的自动驾驶解决方案合作伙伴

    面对日益增长的行业需求,虹科自动驾驶事业部正式更名为“”。这一重要改变代表了虹科持续发展进程中新的里程碑,也体现了我们在自动驾驶领域不断创新的精神。
    的头像 发表于 01-19 14:49 409次阅读
    <b class='flag-5'>康</b><b class='flag-5'>谋</b>新闻丨走进<b class='flag-5'>康</b><b class='flag-5'>谋</b>科技——您的<b class='flag-5'>自动驾驶</b>解决方案合作伙伴

    分享 | 自动驾驶联合仿真——功能模型接口FMI(一)

    功能模型接口是一个开放且独立于工具的标准,包含C-API接口、XML描述文件和可交换的功能模型
    的头像 发表于 06-12 13:07 1646次阅读
    <b class='flag-5'>康</b><b class='flag-5'>谋</b>分享 | <b class='flag-5'>自动驾驶</b><b class='flag-5'>联合</b><b class='flag-5'>仿真</b>——<b class='flag-5'>功能</b><b class='flag-5'>模型</b><b class='flag-5'>接口</b><b class='flag-5'>FMI</b>(一)

    分享 | 自动驾驶联合仿真——功能模型接口FMI(三)

    功能模型接口是一个开放且独立于工具的标准,便于实现自动驾驶仿真工具间的模型交换和
    的头像 发表于 07-10 15:52 1486次阅读
    <b class='flag-5'>康</b><b class='flag-5'>谋</b>分享 | <b class='flag-5'>自动驾驶</b><b class='flag-5'>联合</b><b class='flag-5'>仿真</b>——<b class='flag-5'>功能</b><b class='flag-5'>模型</b><b class='flag-5'>接口</b><b class='flag-5'>FMI</b>(三)

    分享 | 汽车仿真与AI的结合应用

    实现高质量的虚拟传感器输出是自动驾驶领域的一项关键挑战,然而传统方案对广角镜头的渲染和处理等方面仍存在一定的局限性。为此,为您介绍aiSim通用高斯泼溅渲染器如何打破限制,在自动驾驶
    的头像 发表于 09-11 09:24 1488次阅读
    <b class='flag-5'>康</b><b class='flag-5'>谋</b>分享 | 汽车<b class='flag-5'>仿真</b>与AI的结合应用

    分享 | 直面AD/ADAS快速开发挑战:IVEX自动驾驶场景管理及分析平台!

    如何快速了解开发 AD/ADAS 组件中的车辆行为以便进行改进,是目前开发 AD/ADAS 组件时面临的重大挑战。为此,推出IVEX自动驾驶场景管理及分析平台来克服这一难题,本文康
    的头像 发表于 09-25 09:27 806次阅读
    <b class='flag-5'>康</b><b class='flag-5'>谋</b>分享 | 直面AD/ADAS快速开发挑战:IVEX<b class='flag-5'>自动驾驶</b>场景管理及分析平台!