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

功能模型接口FMI(Functional Mock-up Interface)是一个开放且与工具解耦的标准。FMI包含了一个C-API(接口),一个用于描述接口的XML文件以及可交换的功能模型单元FMU(Functional Mock-up Unit),通常会是“zip”文件。FMI实际上是提供了容器化形式的模型,能够在不同的目标上轻松进行重复使用和部署,实现在不同的自动驾驶仿真工具之间动态交换仿真模型和联合仿真。


目录

一、FMI的使用

1、导入和导出工具

2、FMU文件结构

3、FMI 2.0和FMI 3.0

二、FMI 3.0.1中的联合仿真

1、多个仿真程序耦合

2、子系统耦合

3、示例

4、同步和误差管理

作者介绍

崔工


一、FMI的使用

1、导入和导出工具

通常来说在使用FMI时会有包含导入和导出工具。

导出工具通常是开发模型的地方,能够将模型按照FMI标准打包为FMU;导入工具通常独立于导出工具,可以在外部设置由C-API定义的一个变量、一个值或是触发一个计算步骤,在接收FMU后在,可以在导入工具中与其他模型结合并实现联合仿真。

实际上FMI标准只定义了一个FMU的接口,在多个FMU进行耦合并实现联合仿真时,FMI标准并不涉及到的联合仿真算法或是FMU 的求解器。

2、FMU文件结构

FMU作为模型的容器能够自由的进行分发,通常来说是一个以".fmu"结尾的zip文件。

在一个FMU文件中,至少包含了一个模型描述文件,其描述了模型变量、接口、能力以及模型架构扩展限制的元数据信息。

还至少包含了一个二进制的模型表示,在Linux系统下是.so文件,在window系统中是dll文件。也可以是C源码,能够让使用者进行重新编译创建一个新的二进制文件用于新的目标,这一部署机制可以方便的扩展到不同的系统平台上。

除此以外,可能还包括额外的文件,比如模型文档和相关的头文件。

3、FMI 2.0和FMI 3.0

FMI2.0包括:

带有事件的常微分方程(ODEs),这些方程描述了系统的动态行为,需要通过数值求解器来进行求解;

连续和离散变量,即FMI的模型中,变量可能是随时间变化,也可以是在特定时间点发生变化;

时间概念,或可以理解为更广泛的独立变量,或是自变量,比如可以是一个角度,从而表述系统的动态变化。

FMI3.0增加:

不仅限于动态方程,也支持纯代数方程,可以处理不随时间变化的静态关系;

进一步支持了复杂的离散行为,即通过使用始终和模型分区来管理模型的顺序和同步;

同时不仅仅是基于物理的方程还可以:

  • vECU模型

  • 机器学习模型

  • AI模型

  • ......

二、FMI 3.0.1中的联合仿真

1、多个仿真程序耦合

联合仿真时将多个仿真程序耦合在一起,最终实现由多个子系统组成整理自动驾驶HiL系统的行为。

2、子系统耦合

子系统之间是互相耦合的,也就是每个子系统的行为依赖于其他子系统的行为,所以联合仿真必须是以逐步计算的方式进行。

3、示例

每个仿真程序负责计算一个子系统的行为,比如在自动驾驶HiL系统中,aiSim负责场景和传感器仿真,CarSim负责车辆动力学,两个仿真程序互相使用对方产生的输出来进行计算。

CarSim中车辆动力学更新的频率时1kHz,那么需要同步aiSim中场景更新的频率也为1kHz,而且只有在收到动力学信息后才会进行下一步的仿真。

4、同步和误差管理

在联合仿真的过程中,可能会产生附加误差,需要通过合适的联合仿真算法或是通信模式来将其限制在可接受的范围内,比如设置更新步长等。


作者介绍

崔工

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


如您对上述产品和解决方案感兴趣,

欢迎联系康谋自动驾驶团队了解更多信息。

我们将竭诚为您服务!

期待与您的交流!

康谋科技 - 您的一站式自动驾驶解决方案合作伙伴,助力自动驾驶商业化落地 - keymotek康谋科技有限公司是原虹科自动驾驶业务孵化出来的全新独立公司,专注于自动驾驶领域。我们以数据为驱动力,提供高性能的数据采集、记录、传输方案,针对各种驾驶场景进行精准的仿真模拟,以及对大量自动驾驶数据进行高效、高质量处理。我们的一站式服务能够满足自动驾驶领域研发测试的全流程需求,助力客户在自动驾驶领域取得更大突破。icon-default.png?t=N7T8https://keymotek.com/

  • 23
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 通用模型接口标准FMI(Functional Mock-up Interface)是一种用于共享仿真模型的开放标准。它为不同软件工具和环境提供了一种统一的接口规范,使得不同模型之间可以互相交互和协作。 FMI有两个版本,分别是FMI 1.0和FMI 2.0。FMI 1.0定义了一种基于C语言的接口规范,通过定义了模型的数据输入输出接口和函数接口,实现了模型的可移植性和互操作性。而FMI 2.0进一步扩展和改进了FMI 1.0,并引入了新的功能和特性,例如支持多种数据交换格式(XML和二进制)和模型的共享内存通信等。 FMI的主要目标是提供一个开放和灵活的标准,使得不同软件工具能够方便地将仿真模型进行共享和集成。通过使用FMI,用户可以使用不同的仿真工具进行模型开发和测试,然后将模型导出为FMI的格式,以便在其他工具中使用和集成。这样一来,用户可以充分利用各种软件工具的特点和优势,提高模型的开发效率和仿真结果的准确性。 FMI在多个领域中都得到了广泛应用,例如汽车、航空航天和能源系统等。它不仅可以用于模型开发和精细化调试,还可以用于系统级联和跨工具的集成仿真。此外,FMI还为模型共享和模型交换提供了一种标准化的方式,使得各种模型可以更容易地被复用和集成,促进了模型驱动工程的发展。 总而言之,FMI作为一种通用模型接口标准,为不同仿真软件工具之间的互操作性和模型共享提供了一种标准化的解决方案。通过使用FMI,用户可以更加灵活地开发和使用仿真模型,提高了工程仿真的效率和质量。 ### 回答2: 通用模型接口标准 (FMI) 是一种用于描述和交换仿真模型接口标准。FMI 的目标是提供一个开放的规范,使得不同仿真软件之间能够无缝地交换模型,并且保持模型功能和性能不变。 FMI 是由国际FMI协会组织(FMI Association)开发和管理的。它定义了一种使用XML(可扩展标记语言)和二进制格式的模型描述文件,以及使用C和C++编程语言的可执行模型。这些模型可以在不同的仿真环境中进行交互和共享。 FMI 提供了一种基于功能的方法来描述和交换仿真模型。它使用了多个接口和函数,包括模型初始化、参数设置、状态更新和结果输出等。这些接口和函数通过模型描述文件进行定义,使得各个仿真软件可以理解和使用。 FMI 还支持模型的版本控制和复用。模型开发者可以为每个版本的模型生成独立的描述文件,使得用户可以选择不同的版本。同时,模型也可以在不同的仿真环境中进行复用,从而提高模型的可移植性和复用性。 总的来说,FMI 通过标准化模型描述和交换接口,促进了仿真模型的互操作性和可复用性。它为不同仿真软件的用户提供了更多选择,并且简化了模型开发和集成过程。FMI 在工业领域和学术界有着广泛的应用,成为了一种通用的模型接口标准。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值