方案摘要
方案下载应用领域 | 汽车及零部件 |
检测样本 | 智能联网/自动驾驶 |
检测项目 | |
参考标准 | 无 |
本文带您了解,如何在aiSim中,通过UDP和aiSim车辆动力学API(Vehicle Dynamics Interface, VDI)来实现和外部的FMU车辆动力学模型的联合仿真?
在之前的文章中,我们介绍了如何构建简单的车辆模型,并基于FMI2.0构建了其FMU,其最终结构为:
今天将会和大家分享如何在aiSim中,通过UDP和aiSim车辆动力学API(Vehicle Dynamics Interface, VDI)来实现和外部的FMU车辆动力学模型的联合仿真。
一、操作步骤
车辆动力学仿真是aiSim的核心组件,能够根据驾驶指令来确定车辆的运动变化。基于准确可靠的车辆动力学模型,可以确保车辆模拟更加真实。在aiSim可以将FMU单独视作动态库来实现车辆动力学,也可以基于VDI和UDP来实现和FMU的联合仿真。
1、实例化VDI
VDI中提供了5种不同的车辆动力学模型,包括:
2d:横向自行车模型
23d:底盘俯仰和侧倾分离的横向自行车模型
3d:具有3D刚性车身和独立车轮悬挂的横向轮胎模型(计算量很大)
拖车模型:用于牵引车辆
FMU:基于FMI对于车辆动力学的不同描述
整个联合仿真的进程可以分四个部分:
根据车辆名称匹配对应的ego
在VehicleDB.json或是ego自己的asset包中确认所定义的车辆动力学模型
实例化专属的VDI来处理FMU,定义必须的输入/输出数据
通过socket和pyfmi处理FMU
在实例化VDI时,我们将会遵循以下四个部分来获取车辆动力学的相关数据
2、通过UDP实现FMU的读取
在实例化VDI的同时,初始化一个UDP接口来处理收到的数据。
如果我们通过UDP来实现FMU的读取(为了分布式系统),那么我们还需要pyfmi和socket来协助我们读取和写入FMU的数据,整个脚本主要实现功能为:
①创建UDP的socket,用于监听和读取来自VDI的数据
②解析来自VDI的数据,获取动力学数据和标志信号,后者主要用于步进操作
③基于标志信号步进式执行仿真
④基于fmipy读取FMU中定义的各种动力学数据,并将其打包成UDP,在读取时,同样遵循modelDescription.xml中的定义。
3、效果展示
在完成以上工作后,可以启动整个进程,看一下分布式联合仿真的效果。FMU和对应的脚本运行在PC1上,aiSim运行在PC2上。
以上就是关于功能模型接口FMI的联合仿真的全部内容,通过FMU我们可以快速的在不同工具之间进行集成,而不需要进行大规模的模型移植或是繁琐的联调。
如果涉及到联合仿真,每个子系统都需要对应的仿真器进行求解,在通信时数据的交换频率和吞吐量都会对延时造成影响,从而造成仿真的偏差,可以优化不同的通信机制或是采用案例中主动触发的方式来减少负面影响。
康谋分享 | Nerf和3DGS神经重建技术在自动驾驶模拟中的应用
康谋分享 | ADTF过滤器全面解析:构建、配置与数据处理应用
康谋分享 | 汽车仿真与AI的结合应用
相关产品
德思特SAF手持式频谱分析仪16-26GHz J0GSAP5301
德思特Vaunix紧凑型迷你射频移相器TS-LPS-123
德思特Vaunix紧凑型迷你射频移相器TS-LPS-802
德思特Vaunix紧凑型迷你射频移相器TS-LPS-402
德思特Vaunix紧凑型迷你射频移相器LPS-202
德思特Vaunix紧凑型迷你射频和微波开关LSW-802P4T-2-12
德思特Vaunix紧凑型迷你射频和微波开关LSW-802P4T-1-6
德思特Vaunix紧凑型迷你射频和微波开关LSW-802P4T
德思特Vaunix紧凑型迷你射频和微波开关LSW-802PDT
德思特Vaunix紧凑型迷你射频和微波开关LSW-602P4T
德思特Vaunix紧凑型迷你射频和微波开关LSW-602PDT
德思特Vaunix紧凑型迷你射频和微波开关LSW-102P4T-75F
德思特Vaunix紧凑型迷你射频和微波开关LSW-102PDT-75F
德思特Vaunix紧凑型迷你射频功分器TS-LPD-752-16-2Q
德思特Vaunix紧凑型迷你射频功分器TS-LPD-752-16
关注
拨打电话
留言咨询