MIL 模型在环测试¶
1. 第三方软件联合仿真兼容性声明¶
| 软件 | 兼容版本 | 备注 |
|---|---|---|
| Matlab | 2018a 以及之后的版本 | 2015-2018 的版本需要进行版本转换,更早的版本不建议使用 |
通过案例教学帮助用户学习和理解联合其他应用进行联合仿真测试。
2. Matlab 联合仿真¶
相关文档
Simulink 各模块的接口参数详情,请参见 第三方中间件:Simulink。
本教程以 AEB 算法为例演示 Simulink 如何接入 SimOne 运行联合仿真。
2.1 视频教程¶
2.2 操作步骤¶
2.2.1 编辑测试用例¶
2.2.1.1 打开用例库,新建标准用例。¶
- 进入用例编辑器后,可使用 默认地图 - 三车道路口,拖入 主车。
- 主车世界坐标为 X: 300 Y: -6.5 Z: 0,坐标仅供参考,用户可自定义主车位置。
- 在同车道距离主车 120 米处摆放一个静态障碍物 水马 01 坐标为 X:420 Y:-5.5 Z:0 ,最后点击编辑器左上角 保存 用例。
2.2.1.2 启动并配置 Matlab¶
启动本地 Matlab,随跟以下步骤完成 Matlab 与 SimOne 的通信。
(1)点击设置路径,按照下图序号,选择 添加并包含子文件夹 将 matlab 目录切换到 SimOneAPI/Matlab/sfunction_R2018a/SimOneModule ,点击 保存。
(2)将左侧当前文件夹定位至 SimOneAPI/Matlab/sfunction_R2018a/SimOneModule。
(3)创建 bus 信号,在命令行窗口运行 Simulink.importExternalCTypes('SimOneIOStructBus.h');
如下图所示,右边工作区的 bus 信号说明创建成功。
(4)创建通信连接,在命令行窗口运行 matlab.engine.shareEngine。
(5)如下图打开 SimOne 提供的 AEB 样例,SimOneAPI/Matlab/sfunction_R2018a/Examples/AEB/AEB_Test_module.slx
(6)设置 Simulink 仿真 Sample Time,在 Simulink 工程中点击 Simuliation 选择 Model Configuration Parameters,将 Solver selection 的 Type 设置成 Fixed-step。
时间同步模块中有帧同步模式的开关,默认使用帧同步模式。 若采用帧同步模式,则需要将 Fixed-step 的 size 设置成与 SimOne 运行频率相同时间,例如 SimOne 60Hz 时,设置为 1/60;
若不采用帧同步模式,则建议将 Fixed-step 的 size 设置成略大于 SimOne 运行频率,例如 SimOne 60Hz,Simulink 100Hz 时,设置为 1/100。
2.2.1.3 运行联合仿真¶
(1)回到 SimOne 用例库,选择 Step 5 保存的用例,右键复制粘贴。
(2)点击运行,主车类型保持 用例设置 即可。
(3)打开 任务管理 -> 正在测试 列表点击摄像头按钮,打开观察者视窗。
(4)可看到 Simulink 和 SimOne 开始联合仿真。
3. 其他第三方动力学联合仿真流程¶
3.1 前端配置¶
打开 SimOne 在主车编辑界面选择自定义动力学并修改对应的参数。如正常乘用车,请将轴数改成2,并对应修改其他的参数。第三方动力学的坐标原点是旋转中心。
3.2 中间件配置及生成¶
测试程序在\SimOneAPI\SimOneTrans\目录下,运行gen_vs_proj.bat或build_release.sh可以生成代码
输入参数:
输出参数:
3.3 通信配置¶
动力学通信文件VehiclSubConfig.ini在下图的路径中
需要确保VehicleConfig.ini的Domain端口与中间件中config.ini的Domain端口一致。

















