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.csdn.net/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.csdn.net/download/qq_33125039/11293771