基于 Carsim 2016 和 Simulink的无人车运动控制联合模拟(一) 前言: 前段时间在做MPC(模型预测控制)的模拟实验,在Carsim的设置上走了不受弯路,网上多是关于老版本的Carsim教程。单单在输入通道设置上就试了一两天,才可以控制车速和方向盘角。所以给大家分享下Carsim 2016的使用心得,少踩点坑。该模拟基于Carsim 2016和MATLAB 2016a实现,其他版本的MATLAB可能会导致两个软体无法正常通信。 1. 新建数据集 选择菜单栏中的Datasets项,进入Simulink and LabVIEW Models类中的任意一个数据集,将其备份成一个新的数据集,(将软体自带的Simulink模拟例子作为模板,可以避免自定义文件路径引起的模拟失败情况;同时可以防止后续的修改破坏软体自带的数据集),具体步骤如下图所示: 图1 将数据集命名为My_MPC(无限制,可自拟名称) 图2 2. 车辆本身的参数设置 进行Simulated Test Specifications中的Vechicle Configuration设置: 图3 将原有数据集备份,(建议选择Cs E-Class中的E-Class SUV,其他车型可能存在无法控制车速的问题),并命名为My_MPC,具体操作如下: 图4 图5进入新建的车体数据集中,此处不对原有参数进行修改。 3. 车辆的控制参数设置 进行Simulated Test Specifications中的Procedure项设置,备份原有数据集并命名为My_MPC 图6进行具体参数设置: 图7第一步:汽车的油门设置,选择Constant target speed项,后面的数值可以为任意值(速度的大小由Simulink中的控制器决定);第二部:刹车设置,选择Braking下拉菜单中的No linked library项; 第三步:变速箱设置,选择Shifting Control: Closed-Loop Shift Control类别 的下拉菜单中的AT 5th Mode项;第四步:转向设置,选择Steering下拉菜单中的No linked library项; 4. 道路设置 进行道路参数设置,将原有数据集备份并命名为My_MPC 图8 进入新建好的道路的数据集,并进行相关参数的修改 图9此处只进行第一项的参考轨迹几何参数设置,其余保持默认值 图10可以编辑参考轨迹长度、车的起始位置等参数,除了直线选项,也有多种曲线供选择,可以随意组合。 5. Run Control的设置 进入Model的下拉菜单,选择Model:Simulink项,将原有数据集备份且命名为My_MPC 图11第一步:进行Simulink模型的路径设置,(新建一个空白的Simulink模型,并存放在Carsim默认路径下C:UsersPublicDocumentsCarSim2016.1_DataExtensionsSimulink 图12第二步:输入、输出通道参数设置 图13输入通道参数设置,1通道为车速(单位m/s),2通道为方向盘转角(单位°) 图14输出通道设置,1通道为X轴坐标,2通道为Y轴坐标,3通道为车身航向角,4通道为车速,5通道为方向盘转角 图15第三步:模拟时间、步长的设置,具体参数如下(模拟时间视情况而定) 图166. 实验结果00:06追踪直线Y=2的效果00:06追踪Y=0.3*Sin(0.1*pi)的效果Simulink模型搭建、S-Function编写、MPC演算法细节将在后续的文章呈现~ 推荐阅读: 相关文章 {{#data}} {{title}} {{/data}}