matlab、carsim、prescan联合仿真从零开始详细步骤

matlab、carsim、prescan联合仿真详细步骤

在matlab、carsim、prescan联合仿真中,prescan提供测试场景和传感器模型,但prescan也提供车辆动力学2D和3D模型,因此在验证自动驾驶算法功能逻辑时,或者对车辆动力学模型要求没有那么高时,可以选择matlab和prescan的联合仿真,而无需配置carsim的环境。matlab、carsim、prescan下载和安装资源见软件下载和安装
下面默认matlab、carsim、prescan已经安装好。
版本如下:
carsim 2019.1
PreScan 8.5
matlab R2020b

1、prescan场景建立和车辆配置

1、打开prescan,点击"File"->"New Experiment"新建实验项目,编辑项目文件夹名字和存储位置,实验采样时间默认为20Hz,在联合仿真中建议改为1000Hz。
在这里插入图片描述
在这里插入图片描述
2、在prescan中建立测试场景,首先建立背景环境,在左侧功能区中选择“Environment”->“Underlays”,选择一种背景底色,按住拖到中间编辑区中,选择“Nature Elements”,可以在场景中添加植被,选择“Dirt Spots”,可以在场景中添加泥点。

在这里插入图片描述
3、建立道路模型,在功能区中选择“infrastructure”,此处选择道路类型,可以通过连接不同道路段构建复杂的道路场景,以直线段举例。按住“Straight Road”,拖动到中间编译区中,在右侧属性编辑界面可以设置右侧行驶车道数量、车道宽度、总车道数和车道长度等属性。
在这里插入图片描述
4、设置车辆行驶路径,点击左侧功能区中的“Inherited Path Definition”,在场景的车道线上会出现可行驶路线的端点,从起点处开始逐个连接路径控制点。

在这里插入图片描述

5、添加车辆模型,在左侧功能区选择“Actors”->“Cars&Motors”,选择“Audi A8 Sadan”,左键车辆型号的小图标拖到道路上的路径线上,车辆图标会自动调整到路径的起点处。
在这里插入图片描述
在这里插入图片描述

6、添加摄像头传感器模型,功能区选择“Sensors”->“Detailed”,左键选中“Camera”按住不放,拖到车辆模型上松手。设置摄像头属性,包括安装位置、角度、帧率等属性。
在这里插入图片描述
在这里插入图片描述
7、设置车辆属性,在编辑区中右键车辆图标,选择“Object configuration”,此处可以设置车辆的属性,在“Trajectories”中确认行驶路径和速度文件,在速度文件中可以设置初始速度和目标速度等;在“Driver Model”中选择“Path Follower”;在“Animation”中勾上“Wheel displacement”;在“Dynamics”中选择动力学模型,如果对动力学模型精度要求不到,那么选择不使用动力学模型(“None”),可以选择prescan中自带的动力学模型(2D Simple或者3D Simple),点击“Apply”,点击“OK”。如果选择使用carsim中的车辆动力学模型,请参考第二部分;如果不使用,直接跳到第三部分。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、carsim车辆动力学模型设置

8、在工作目录中新建一个文件夹,用于存储carsim生成的车辆动力学模型,在matlab中将工作目录切换到这个文件夹下,点击“Simulink”,新建一个Simulink模型,将空模型保存到这个文件夹下。
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

9、carsim设置,建议将carsim自带的数据库备份一下,将carsim自带的数据库复制到工作目录下,后期设置到carsim的操作在复制出来的文件夹下操作。
在这里插入图片描述
10、双击carsim图标,打开软件,选择数据库时选择从其他数据库中选择,打开工作目录下的carsim数据库,确定打开,在选择使用模块界面,默认选择全部组件,点击“select”。
在这里插入图片描述
在这里插入图片描述
11、加载prescan中的动力学模型,点击“File” -> “Import Parsfile…”,在弹出的文件选择对话框中选择prescan数据库安装路径下的…\DemoTemplates\Demo_PreScanCarSim3D目录下的Demo_PreScanCarSim3D.cpar,并进行加载。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
12 设置模型属性,点击“Carsim_VehicleDynacis”,在新对话框中勾选“Identify Simulink working directory”,在上方新出现的工作目录中选择第8步中新建的文件夹。在右侧“simulink model”对话框中选择文件夹下的simulink模型。将动画刷新速率设置为1000Hz(可以不用更改),将数学模型和输出文件对话框中的频率设置为1000Hz。
在这里插入图片描述
在这里插入图片描述
13 调整carsim车辆模型输入输出接口,点击“Model:Simulink:CarSim_VehicleDynamic”->“Import:Inputs”,选择转向角,油门和制动三个信号作为输入,对于想要去掉的信号,双击信号名前的序号位置即可删除信号,信号含义可以通过点击打开“View Spreadsheet”查看信号详细含义。如果点击无法打开,可以在carsim安装路径下搜索“Run_imp.xls”查找打开。
检查输出信号中包含x,y,z三个方向上的位置、速度、角度共9个信号。
点击上方的“Home”,回到主界面,点击“Send to Simulink”将模型发送到simulink中。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

14 在通过carsim打开的simulink中点击“Library Browser”->“carsim s-function”,将“CarSim S-Function”模块拖到simulink模型中去。点击保存。点击上方的“RUN”,运行模型。正常运行后,停止模型运行。
在这里插入图片描述
15 回到prescan中,设置车辆属性,在编辑区中右键车辆图标,选择“Object configuration”->“Dynamics”->“User specified”->“Browse”,选择我们新建放置carsim生成的动力学模型的文件夹下的slx文件,点击“打开”。在“Model file”对话框中选择“CarSim Contact”,点击“OK”确认退出。
在这里插入图片描述

3、模型编译、联合仿真

16、prescan仿真频率设置,将仿真频率设置为1000Hz,设置完成后点击“Parse”检查设置是否正常,然后点击“Build”编译模型,编译完成后,点击“Invoke”将模型发送到matlab中。

在这里插入图片描述
17 在新打开的matlab界面中双击工作目录下的项目文件夹,将工作目录切换到项目文件夹下,
在这里插入图片描述
18 双击打开目录下的…_cs.slx文件,或者将其拖到命令行窗口打开,在打开的simulink模型中点击“Regenerate”重新生成。每次prescan修改模型后,都需要重新发送到simulink中再次重新生成。

在这里插入图片描述
19 连接carsim模型接口。点击simulink中的模型,进入到CarSim_Vehicle模块中。如果模块边线正常,跳到下一步。如果出现CarSim S-Function为红色虚线框,则需要在matlab中设置carsim路径。在matlab主界面中点击“设置路径”->“添加并包含子文件夹”,选择carsim的安装路径下的求解器文件夹…\CarSim2019.1_Prog\Programs\solvers,->“选择文件夹”,点击“保存”后点击“关闭”。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
20 关闭simulink模型后再次打开,并进入到CarSim_Vehicle模块中发现模块已经正常。将CarSim S-Function模块两端如图连接起来。

在这里插入图片描述
在这里插入图片描述
21 组合carsim输入信号,在Audi_A8_Sedan_1模块内新建一个“Mux”模块,输入端口设置为3,输入分别连接转角信号、油门信号和制动压力信号,输出连接到carsim_vehicle中。保存模型。
在这里插入图片描述
22 此时直接点击“RUN”,运行模型会出现报错,出现“vs_state无法识别”或者“StopMode无法识别”在模型中右键选择“Model Properties”,点击“Callbacks”->“InifFcn”,在右侧编辑区加上两行

vs_state = 1;
StopMode = 0;

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
23 此时运行模型仿真如果出现“Unable to find solver DLL path from sim file”,则需要在carsim模型中添入simfile的完整路径
在这里插入图片描述
24 运行模型,成功开始仿真,同步在prescan和simulink中出现仿真动画。
在这里插入图片描述

  • 35
    点赞
  • 169
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 13
    评论
CarsimMatlabPrescan都是用于车辆动态仿真的工具。Carsim是一种车辆动力学仿真软件,用于模拟车辆在不同道路和行驶条件下的运动行为。它模拟了车辆的动力系统、车辆控制系统和驱动环境,并提供了准确的车辆动态性能分析结果。 Matlab是一种数学计算和仿真软件,以其强大的数值计算和仿真能力而闻名。它可以与Carsim结合使用,用于分析和处理Carsim模拟结果,并进行更加复杂的算法开发和优化。 Prescan是一种先进的虚拟仿真平台,用于汽车感知、控制和测试。它可以生成逼真的虚拟环境,并模拟车辆在其中的行驶过程。Prescan还可以与CarsimMatlab进行集成,使车辆动力学仿真与实际环境感知和控制系统交互更加紧密。 通过CarsimMatlabPrescan联合仿真,我们可以更加准确地模拟和分析车辆在不同场景下的行驶情况。首先,我们可以使用Carsim进行车辆动力学仿真,得到车辆在不同驾驶条件下的动态性能,如加速度、制动距离等。然后,我们可以将Carsim模拟结果导入Matlab进行进一步分析和处理,比如开发车辆控制算法,优化车辆性能等。最后,我们可以将Matlab开发的算法与Prescan进行集成,模拟车辆在虚拟环境中的感知和控制过程,以及与其他交通参与者的交互。 通过CarsimMatlabPrescan联合仿真,我们可以更好地理解车辆动力学行为,开发更准确和高效的车辆控制系统,并进行更加全面的场景测试和评估。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NeilSwift

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值