MATLAB与carsim联合仿真——简单AEB算法测试

MATLAB与carsim联合仿真——简单AEB算法测试

0. 前言

原创不易,转载前说明出处。
为了熟悉simulink和carsim的基本操作,主要是为了跑通整个仿真流程,练习常用的设置步骤,特此记录!

1.Carsim软件设置

1.1界面介绍

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
主要的参考文件是来自湖北汽车工业学院的文件,有需要的朋友可以联系本人。

2.Carsim输入和输出设置

注意:carsim的输入就是simulink的输出,而carsim的输出就是simulink模型的输入
(PS:建模技巧,先把模型的输入输出确定好)
因此在设置车辆自身参数之后,还要设置探测雷达用来探测前车车速和前车距离
在AEB模型中,carsim模型的输入是制动压力,如图:在这里插入图片描述
carsim模型的输出是前车与自身车之间的车速差,以及车距。
在这里插入图片描述

3.设置simulink模型

第一步:在carsim中设置model:simulink
在这里插入图片描述
第二步:设置simulink模型所在的位置,(一开始simulink模型可以是一个空模型,但是名字要和底下的AEB.slx匹配上)
在这里插入图片描述
第三步:在simulink中找到carsim建立的库
(PS:本人之前博客有关于无法找到carsim的模块库的解决办法-具体见网址:https://blog.youkuaiyun.com/qq_33125039/article/details/88676390)
在这里插入图片描述
注意此处有对carsim生成模型的设置,否则仿真会报错
在这里插入图片描述

第四步:配置好相应的输入输出
在这里插入图片描述
第五步:设置AEB_System的内部控制策略
主要策略如下:当与前车距离小于40m时,制动压力是2Mpa;当与前车距离小于30m时,制动压力为5Mpa;当与前车距离小于10m时,制动压力为8Mpa,(后续完善算法可以把两车车速差的因素考虑进去,本次只单纯的为了实现联合调试)(Ps:因为涉及到很多if-elseif-else语句,所以推荐使用stateflow)
具体的模型内容如下:
在这里插入图片描述
第六步:开始联合调试
在这里插入图片描述
备注事项:每次更改记得都要点击send to simulink
在这里插入图片描述

4.仿真效果

在simulink中点击仿真之后,打开carsim中的Video+plot去查看仿真的效果,比如下图:
在这里插入图片描述
备注:
仿真最重要的就是为了得到的期望的仿真结果,而不断的去设置对应的参数。如本次中主要是为了寻找不同的与前车的距离而得到合适的制动压力,这里具体的调试过程就不做介绍,多尝试不怕失败就好了。至此联合仿真调试介绍到此结束!

5.后记

1.本人刚刚学习这块知识,为了记录学习过程,如有错误还望指出,欢迎讨论
2.后续优化算法继续推进AEB的学习
3.原创不易,转载前说明出处。
4.感谢提供帮助的小明师兄
5.本demo的下载网址是:https://download.youkuaiyun.com/download/qq_33125039/11293771

### CarsimSimulink AEB 联合仿真的方法 #### 1. 准备工作 为了成功建立CarsimSimulink之间的AEB联合仿真环境,需准备必要的文件和工具。这包括但不限于`cpar`配置文件、Simulink模型文件以及详细的模型搭建过程文档[^1]。 #### 2. 创建基础模型框架 在Simulink环境中创建新的项目,并导入预先设置好的车辆动力学参数文件(即`.cpar`),该文件定义了汽车的基本属性及其行为特性。通过这种方式可以确保模拟的真实性和准确性。 #### 3. 集成控制算法模块 利用MATLAB/Simulink强大的编程能力来设计并集成特定于AEB系统的控制策略。例如,在检测到潜在碰撞风险时触发不同程度的刹车动作;具体来说就是当两车间距小于设定阈值(如40米)时启动预警机制,而一旦间距缩短至更危险水平(比如35米),则实施轻微减速措施直至完全停止以避免事故的发生[^4]。 #### 4. 实现数据交换接口 构建有效的通信桥梁使得两个软件平台能够实时共享重要信息。通常情况下会涉及到状态变量传递(像速度、加速度)、外部输入处理(雷达测距结果)等功能实现。此部分操作可能依赖于专门开发的数据传输协议或API调用来完成。 #### 5. 运行测试验证效果 最终阶段是在整合后的平台上执行一系列实验性场景下的性能评估任务。用户可以在Simulink内部直接运行整个流程,此同时借助Carsim内置的功能选项(`Video+Plot`)获取直观可视化的反馈资料用于后续分析调整之用[^2]。 ```matlab % MATLAB脚本示例:初始化连接并加载.cpar文件 addpath('C:\Path\To\Carsim'); % 添加Carsim路径 car = carInitialize(); % 初始化Carsim对象 loadCarPar(car,'example.cpar')% 加载指定的.cpar文件 ```
评论 46
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值