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

    文章

    4

    浏览量

    8296
  • 自动驾驶
    +关注

    关注

    776

    文章

    13243

    浏览量

    164122
收藏 人收藏

    评论

    相关推荐

    自动驾驶仿真测试实践:高精地图仿真

    引言随着自动驾驶技术的快速发展,基于高精地图的自动驾驶功能已初步落地应用,并持续迭代升级。在研发测试阶段,多方面因素导致测试人员可能无法拿到控制器内部高精地图对应的OpenDRIVE文件①,使得
    的头像 发表于 06-13 08:25 678次阅读
    <b class='flag-5'>自动驾驶</b><b class='flag-5'>仿真</b>测试实践:高精地图<b class='flag-5'>仿真</b>

    百度发布全球首个L4级自动驾驶模型

    近日,百度Apollo宣布了全球首个支持L4级自动驾驶的大模型Apollo ADFM(Autonomous Driving Foundation Model)。这一突破性的技术成果,标志着自动驾驶领域迈出了重要的一步。
    的头像 发表于 05-17 09:58 190次阅读

    智能驾驶模型:有望显著提升自动驾驶系统的性能和鲁棒性

    智能驾驶模型是近年来人工智能领域和自动驾驶领域最为前沿的研究方向之一,它融合了深度学习、多模态融合、世界模型构建等多种技术,有望显著提升自动驾驶
    的头像 发表于 05-07 17:20 980次阅读
    智能<b class='flag-5'>驾驶</b>大<b class='flag-5'>模型</b>:有望显著提升<b class='flag-5'>自动驾驶</b>系统的性能和鲁棒性

    8路GMSL视频注入回灌的自动驾驶半实物仿真平台

    8路GMSL视频注入回灌的自动驾驶半实物仿真平台
    的头像 发表于 04-17 11:33 365次阅读
    8路GMSL视频注入回灌的<b class='flag-5'>自动驾驶</b>半实物<b class='flag-5'>仿真</b>平台

    未来已来,多传感器融合感知是自动驾驶破局的关键

    方面表示,这是L4级自动驾驶公司和车企为了打造Robotaxi量产车,在国内成立的首个合资公司。首款车型已完成产品定义,正在进行设计造型的联合评审,计划明年实现量产。未来已来,2024年是全球L3
    发表于 04-11 10:26

    上海人工智能实验室发布自动驾驶视频生成模型GenAD

    上海人工智能实验室近日取得重大技术突破,联合香港科技大学、德国图宾根大学及香港大学共同研发并发布了大规模自动驾驶视频生成模型——GenAD。这一创新模型通过精准预测和模拟真实世界场景,
    的头像 发表于 03-26 10:40 271次阅读

    基于实车在环(ViL)的自动驾驶功能一致性评估

    必须能够顺畅地执行,至少要与人类驾驶员一样快。本文将介绍德国MdynamiX及其合作伙伴联合实现的适用于实验室开发的实车在环(ViL)方法,以支持自动驾驶功能一致
    的头像 发表于 03-05 08:25 838次阅读
    基于实车在环(ViL)的<b class='flag-5'>自动驾驶</b><b class='flag-5'>功能</b>一致性评估

    鉴源实验室|自动驾驶仿真测试技术分析

    的过程。在真实道路上进行测试存在许多挑战,包括安全性、成本和时间。为了克服这些问题,仿真测试技术不失为一种有效的解决方法。 自动驾驶仿真测试是通过虚拟环境来模拟各种驾驶场景,以评估
    的头像 发表于 01-19 15:10 322次阅读
    鉴源实验室|<b class='flag-5'>自动驾驶</b><b class='flag-5'>仿真</b>测试技术分析

    LabVIEW开发自动驾驶的双目测距系统

    精确的距离信息,从而提高车辆的主动安全性能。这一系统的开发和应用有望在自动驾驶领域取得更多突破性进展。 ​ 这是LabVIEW的一个功能介绍,更多的使用方法与开发案例,欢迎登录官网,了解更多信息。有需要LabVIEW项目合作开发,请与我们联系。
    发表于 12-19 18:02

    自动驾驶“十问十答”

    说起自动驾驶, 大家现在已经不陌生, 但是关于自动驾驶你又了解多少呢? 今天小编总结了关于自动驾驶的 “十问十答” , 带你了解更多 自动驾驶的来龙去脉 。 问题1. 为什么会 出现
    的头像 发表于 11-29 07:40 420次阅读
    <b class='flag-5'>自动驾驶</b>“十问十答”

    自动驾驶公开数据集的现状与挑战

    一方面,自动驾驶技术需要大量数据来训练算法模型,以识别和理解道路环境,从而做出正确的决策和行动,实现准确、稳定和安全的驾驶体验,数据的建设对于自动驾驶技术的发展至关重要。
    发表于 11-08 11:23 371次阅读
    <b class='flag-5'>自动驾驶</b>公开数据集的现状与挑战

    农机自动驾驶显示系统组成部分以及配置

    随着科技的发展,传统的农机行业正趋于饱和,新生事物层出不穷,无论是传统农机还是从业者都面临如何转型升级的问题。农机自动驾驶系统就是当下最热的概念之一。身为新时代农机人,作业的提质增效是无论如何也绕
    发表于 10-17 17:52

    【KV260视觉入门套件试用体验】八、VITis AI自动驾驶多任务执行MultiTask V3

    是一种模型,旨在同时执行自动驾驶场景中的不同任务,同时实现优异的性能和效率。这些任务包括对象检测、分割、车道检测、可行驶区域分割和深度估算,这些都是自动驾驶感知模块的重要组成部分。 三、代码实现
    发表于 09-26 16:43

    新兴大模型自动驾驶行业的影响有哪些

    目前存在的一些关于自动驾驶技术的综述文章,包含整个系统/平台到单个模块/功能[1-2,4-8,10-13,15-33]。在本节中,我们简要介绍图1所示的基本自动驾驶功能和模块,硬件和软
    发表于 09-08 12:53 1199次阅读
    新兴大<b class='flag-5'>模型</b>对<b class='flag-5'>自动驾驶</b>行业的影响有哪些

    华为盘古大模型如何赋能自动驾驶

    华为盘古大模型如何赋能自动驾驶?  随着智能时代的到来,自动驾驶已成为许多汽车制造商和科技公司的追求,华为作为智能时代的领导者之一,自然也积极布局并投入大量资源研发自动驾驶技术。而华为
    的头像 发表于 08-31 10:18 1618次阅读