参考视频: PreScan&carsim&simulink联合仿真_哔哩哔哩_bilibili
参考文档:matlab、carsim、prescan联合仿真从零开始详细步骤
版本:MATLAB2021b,Prescan8.5,CarSim2019.1
CarSim设置:
例子位置:D:\PreScan8.5.0\Experiments\DemoTemplates\Demo_PreScanCarSim3D
1处:链接 CarSim 中 Simulink 的模型
2处:指定生成的 simfile.sim 文件的绝对路径,一般指定在Prescan的自己创建的实验目录下,如果不指定,一般会生成在 CarSim2019.1_Data 。
注:此处生成的路径和 Simuink 中的 CarSim S-Function 模型路径一致。
设置完成后,回到主页电机Send to Simulink 并看生成的模型是否能成功运行,不要关闭simulink
Prescan设置:
修改车的动力学模型
模型位置:D:\Carsim2019.1\CarSim2019.1_Data\Extensions\Simulink(和上述CarSim中1处的Simulink模型是同一个)
进行检查并编译,打开Simulink模型
之后进入 CarSim_Vehicle 添加
注意:如果CarSim S-Function没有输入端,则在Carsim中打开的Simulink环境中打开Demo_PreScanCarSim3D_cs.slx,并添加CarSim S Function
设置完成后直接运行即可
注意:
1.点击“RUN”,运行模型会出现报错,出现“vs_state无法识别”或者“StopMode无法识别”在模型中右键选择“模型属性”,点击“回调”->“InifFcn”,在右侧编辑区加上两行
vs_state = 1;
StopMode = 0;
2.PrsScan中车辆外观显示异常,解决:
修改车辆信息: 第一张(修改前);第二张(修改后);
3.PrsScan仿真中车辆只走直线
需要修改方向盘转角(0°修改成500°),修改方式如下:
选中PathFollower_Preview_1右键打开
设置如下:
学习记录:
2.如果误触了Don't show ......
在File中勾选如下
3.carsim常用输入输出
输入:
1.速度 km/h IMP_SPEED
2.前轮转角 deg IMP_STEER_L1(左) IMP_STEER_R1(右)
3.后轮转角 deg IMP_STEER_L2 IMP_STEER_R2
4.油门 - IMP_THROTTLE_ENGINE(-)
5.刹车(制动压力) MPa IMP_PCON_BK(MPa)
6.发动机扭矩 N*M IMP_MENGINE
输出:
1.纵向位置 m X0-X coordinate, vehicle origin(m)
2.横向位置 m Y0-Y coordinate, vehicle origin(m)
3.横摆角 deg Yaw-Yaw,vehicle(deg)
4.横摆角导数 deg/s AVz-Yaw rate(body-fixed),vehicle(deg/s) (角速度)
5.纵向车速 km/h Vx-Longitudinal speed, vehicle (km/h) Longitudinal(纵向的)
6.横向车速 km/h Vy-Lat, speed,inst,CG, vehicle (km/h) lateral(横向的)
7.方向盘转角 deg Steer_SW-Steering wheel angle(deg)
8.发送机转速 rpm AV_ENG-Engine crankshaft spin(rpm)
9.X方向的加速度 g Ax_Long,accel,inst,CG,vehicle(g)
R:右 L:左 1:前 2:后
点错了双击就会消失
第8个加速度单位是g,一般要乘以9.8换算成m/s^2
4.仿真时间
仿真时间到达10s,或者运行210m,两个条件满足一个就会停止
5.
Carsim中的simfile.sim文件是一个用于存储Carsim模型参数的二进制文件。它包含了Carsim模型的所有信息,包括车辆基本信息、动力学参数、控制逻辑等。
6.CarSim设置道路形状
设置道路半径时,左转默认道路半径是正的,右转半径是负的
7.
把参数输入进carsim,要把弧度换成角度,carsim是根据角度值控制的,可以看carsim的单位都是deg
opl_steer_ext(1) 4 表示可以直接控制前轮转角改变车的航向,不写这句话,在CarSim里面只能通过方向盘控制前轮转角,加上这句话后可以直接控制前轮转角改变车的航向,可以直接将前轮转角作为模型的输入。
opl_steer_ext函数用于设置车辆的外部转向信号,传入的参数包括一个整数和一个实数。在这里,参数1代表车辆的编号,而参数4代表转向角度值。因此,这个函数调用的含义是将车辆1的转向角度设置为4度。???
8.
CarSim的速度输出单位是km/h,要 除以3.6 换算成m/s