我是靠谱客的博主 无情长颈鹿,最近开发中收集的这篇文章主要介绍carsim与simulink联合仿真之主动避撞控制策略实现,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

carsim与simulink联合仿真之主动避撞控制策略实现


之前看过很多关于主动避撞的算法仿真,因此在前人的基础上利用simulink搭建了可变车间时距控制节气门开闭的模型,非常适合初学者学习car与simulink联合仿真。笔者在carsim的学习上也走过很多弯路,非常感谢强大的博主们的指导,所以为了让初学者们更快的掌握联合仿真,笔者特发此篇文章。
文中每一步都非常详细,按照步骤来没有太大问题。希望能够帮到初学者们。

ACC跟车实验:
新建数据库(建立第一辆车):
1、 点击file下拉菜单选择New Dataset(Empty);
2、 在新数据库的目录栏填写class model1,在新数据库的题目栏填写CAR1。
对Simulated Test Specification进行设置:
1、 对车辆参数进行设置:选择Vehicles—Vehicles:Assembly会出现Vehicle Configuration:Ind-Ind的字样;
2、 选择CS B-Class—B-Class,sports car;
3、 对仿真工况进行设置:选择proceduces;
4、 选择Sensors and Traffic—Radar Active Cruise Control:First Car。
对Run Control:Built-In Solvers进行设置:
1、 打开MATLAB,运行simulink,新建simulink模块,保存在CarSim Data>Extensions>Simulink路径下并命名为classmodel1;
2、 点击Models下拉菜单选中Models:Simulink;
3、 选择Adaptive Cruise Control—Radar Active Cruise:First Car(Ext.Sen);
在这里插入图片描述图一
4、 点击Radar Active Cruise:First Car(Ext.Sen)进入;
5、 Browse步骤一建立的classmodel1;
在这里插入图片描述(此界面设置的参数如上图所示)
6、 点击Home返回至主界面
对Analyze Results(Processing)进行设置:
1、选择Vehicle Reference—180 deg Azimuth,15deg.EI.,55FOV.

再次新建数据库(建立第二辆车):
1、 点击file下拉菜单选择New Dataset(Empty);
2、 在新数据库的目录栏选择建立好的目录class model1,在新数据库的题目栏填写CAR2。
对Simulated Test Specification进行设置:
1、 对车辆参数进行设置:选择Vehicles—Vehicles:Assembly会出现Vehicle Configuration:Ind-Ind的字样;
2、 选择CS E-Class–E-Class,Sedan;
3、 对仿真工况进行设置:选择proceduces;
4、 选择Sensors and Traffic—Radar Active Cruise Control:Second Car。
对Run Control:Built-In Solvers进行设置:
1、 点击Models下拉菜单选中Models:Simulink;
2、选择Adaptive Cruise Control—Radar Active Cruise:Second Car(Ext.Sen);
在这里插入图片描述(至此设置的参数界面如上图所示)
3、 Browse步骤一建立的classmodel1;
在这里插入图片描述(此界面设置的参数如上图所示)
4、 点击Home返回至主界面;
对Analyze Results(Processing)进行设置:
1、 选择Vehicle Reference—180 Azimuth,15deg.EI.,55FOV.

Simulink控制算法模块的搭建:
1、 点击Send to Simulink,进入simulink环境下的classmodel1空白模型,
2、 找到CarSim S-Function模块并把它拖入classmodel1中
在这里插入图片描述(设置两车模型的参数如上图所示)
3、 在classmodel1的环境下点击File下拉菜单选择OPEN,打开CarSim Data>Extentions>Simulink路径下的Radar_Acc_Extsen_CS9文件;
4、 全部复制Radar_Acc_Extsen_CS9文件中的内容,粘贴到classmodel1中,并删除原有的两个carsim s-function,把我们自己建立的carsim s-function加进模型中,如下图:
在这里插入图片描述
5、 回到carsim环境下,在Analyze Results(Post Processing)中,勾选Overlay animations and plots other runs;
6、 选择classmodel1中的另一辆车(如果你目前窗口为CAR1模型,则选择CAR2),两辆车都需要设置;如下图:
在这里插入图片描述在这里插入图片描述 7、 在上图两辆车环境下分别点击Send to Simulink;
8、 保存classmodel1;
9、 点击Run Now;
10、 点击Video+plot查看仿真结果。

主动避障实验
在实验一的基础上修改相关设置即可,需要更改前车的速度,前车和后车的道路模型,搭建控制算法。
对于前车(CAR1)
1、 点击Radar Active Cruise Control:First Car
2、 在Miscellaneous:3D Road下点击Copy and Link Dataset—新建新数据集目录名为class road,新建新数据集名称为class road;
在这里插入图片描述 3、 点击上一步建立的class road进入道路总体编辑页面;
4、 在Reference Path:X-Y Coordinates of Path下点击Copy and Link Dataset–新建新数据集目录名为class road,新建新数据集名称为class road;
5、 点击上一步建立的class road进入道路路径编辑页面;
在这里插入图片描述
6、 建立如下图所示路径;
在这里插入图片描述 7、回到第5步的界面,点击右下角的Video Preview查看道路模型,然后退出
8、在Diver Controls环境下,选择Target speed vs.station下拉菜单下的Copy and Link Dataset–新建新数据集目录名为class speed,新建新数据集名称为class speed;
在这里插入图片描述 9、 点击上一步建立的class speed 进入速度编辑栏,建立如下图所示的速度模型;在这里插入图片描述 10、 点击Home 回到主页面,点击CAR2进行后车的道路设置;
对于后车(CAR2)
1、 点击Radar Active Cruise Control:Second Car;
2、 在Miscellaneous:3D Road下找到我们建立的class road;
同设置CAR1的第七步,点击右下角的Video Preview查看道路模型,然后退出;
在这里插入图片描述 3、 点击Home回到主页面;
进行控制算法的搭建
1、 分别在两辆车模型中点击Send to Simulink;
2、 搭建如下图所示控制模型:
在这里插入图片描述 其中MATLAB Function函数的设置如下图:在这里插入图片描述 其中对于Active Cruise Controller1的设置如下图:在这里插入图片描述 3、 保存simulink控制模块。
4、 在Carsim中点击Run Now即可,在Video+Plot中查看仿真结果。
5、 关于更改速度和道路摩擦系数,自己尝试设置即可。
实验一的仿真结果图为:在这里插入图片描述 实验二的仿真结果图为:在这里插入图片描述

最后

以上就是无情长颈鹿为你收集整理的carsim与simulink联合仿真之主动避撞控制策略实现的全部内容,希望文章能够帮你解决carsim与simulink联合仿真之主动避撞控制策略实现所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部