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);
carsim与simulink联合仿真之主动避撞控制策略实现_第1张图片图一
4、 点击Radar Active Cruise:First Car(Ext.Sen)进入;
5、 Browse步骤一建立的classmodel1;
carsim与simulink联合仿真之主动避撞控制策略实现_第2张图片(此界面设置的参数如上图所示)
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);
carsim与simulink联合仿真之主动避撞控制策略实现_第3张图片(至此设置的参数界面如上图所示)
3、 Browse步骤一建立的classmodel1;
carsim与simulink联合仿真之主动避撞控制策略实现_第4张图片(此界面设置的参数如上图所示)
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中
carsim与simulink联合仿真之主动避撞控制策略实现_第5张图片(设置两车模型的参数如上图所示)
3、 在classmodel1的环境下点击File下拉菜单选择OPEN,打开CarSim Data>Extentions>Simulink路径下的Radar_Acc_Extsen_CS9文件;
4、 全部复制Radar_Acc_Extsen_CS9文件中的内容,粘贴到classmodel1中,并删除原有的两个carsim s-function,把我们自己建立的carsim s-function加进模型中,如下图:
carsim与simulink联合仿真之主动避撞控制策略实现_第6张图片
5、 回到carsim环境下,在Analyze Results(Post Processing)中,勾选Overlay animations and plots other runs;
6、 选择classmodel1中的另一辆车(如果你目前窗口为CAR1模型,则选择CAR2),两辆车都需要设置;如下图:
carsim与simulink联合仿真之主动避撞控制策略实现_第7张图片carsim与simulink联合仿真之主动避撞控制策略实现_第8张图片 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;
carsim与simulink联合仿真之主动避撞控制策略实现_第9张图片 3、 点击上一步建立的class road进入道路总体编辑页面;
4、 在Reference Path:X-Y Coordinates of Path下点击Copy and Link Dataset–新建新数据集目录名为class road,新建新数据集名称为class road;
5、 点击上一步建立的class road进入道路路径编辑页面;
carsim与simulink联合仿真之主动避撞控制策略实现_第10张图片
6、 建立如下图所示路径;
carsim与simulink联合仿真之主动避撞控制策略实现_第11张图片 7、回到第5步的界面,点击右下角的Video Preview查看道路模型,然后退出
8、在Diver Controls环境下,选择Target speed vs.station下拉菜单下的Copy and Link Dataset–新建新数据集目录名为class speed,新建新数据集名称为class speed;
carsim与simulink联合仿真之主动避撞控制策略实现_第12张图片 9、 点击上一步建立的class speed 进入速度编辑栏,建立如下图所示的速度模型;carsim与simulink联合仿真之主动避撞控制策略实现_第13张图片 10、 点击Home 回到主页面,点击CAR2进行后车的道路设置;
对于后车(CAR2)
1、 点击Radar Active Cruise Control:Second Car;
2、 在Miscellaneous:3D Road下找到我们建立的class road;
同设置CAR1的第七步,点击右下角的Video Preview查看道路模型,然后退出;
carsim与simulink联合仿真之主动避撞控制策略实现_第14张图片 3、 点击Home回到主页面;
进行控制算法的搭建
1、 分别在两辆车模型中点击Send to Simulink;
2、 搭建如下图所示控制模型:
carsim与simulink联合仿真之主动避撞控制策略实现_第15张图片 其中MATLAB Function函数的设置如下图:carsim与simulink联合仿真之主动避撞控制策略实现_第16张图片 其中对于Active Cruise Controller1的设置如下图:carsim与simulink联合仿真之主动避撞控制策略实现_第17张图片 3、 保存simulink控制模块。
4、 在Carsim中点击Run Now即可,在Video+Plot中查看仿真结果。
5、 关于更改速度和道路摩擦系数,自己尝试设置即可。
实验一的仿真结果图为:carsim与simulink联合仿真之主动避撞控制策略实现_第18张图片 实验二的仿真结果图为:carsim与simulink联合仿真之主动避撞控制策略实现_第19张图片

你可能感兴趣的:(车辆仿真,carsim,simulink,主动避撞ACC,控制算法)