CarSim与Simulink联合仿真——控制车速

一、 实验目的

本实验通过搭建CarSim与Simulink联合仿真模型来实现。即,使用Matlab中Simulink来建模、仿真和分析动态多维系统,并在汽车动力学仿真软件CarSim中建立整车模型和测试工况。

本次实验旨在探究通过控制油门和刹车,调节节气门的开度大小,以实现并保持车速在60km/h的稳定运行。这种控制方式对于提高车辆的燃油经济性、降低排放以及提升驾驶舒适性具有重要意义。

二、软件介绍

CarSim软件是针对车辆动力学的仿真软件,能够仿真车辆对驾驶员、路面及空气动力学输入的响应,可以用来预测和仿真汽车整车的动力性、燃油经济性操纵稳定性、制动性和平顺性等,也可以应用于现代汽车控制系统的开发。CarSim可以方便灵活地定义试验环境和试验过程,详细地定义整车各系统的特性参数和特性文件。

CarSim软件的主要功能如下:

  1. 提供多种车型的建模数据库和友好的图形用户界面,可快速方便实现建模仿真,能够实现用户自定义变量的仿真结果输出。
  2. 适用于轿车、轻型货车、轻型多用途运输车及SUV等车型的建模仿真。
  3. 包括图形化数据管理界面、车辆模型求解器、绘图工具、三位动画回放工具、功率谱分析模块,可以图形曲线及三维动画形式观察仿真结果。
  4. 软件可以实时的速度运行,并可以通过CarSim RT进行硬件在环仿真。
  5. 可以通过软件如Matlab、Excel等进行绘图和分析。
  6. 先进的事件处理技术,具备多种仿真工具的批运行功能。

主界面可以分为三部分:如下图中的红框的部分

1、最左边部分可设置车辆的基本参数;

2、中间部分设置仿真的参数,以及控制模型(如simulink)的接口;
3、最右边部分查看运行的结果,动画以及曲线

另外,CarSim还附带了英文学习文档,按F1键即可进入:

三、仿真过程

首先,创建CarSim工程,双击桌面图标,选择存放地址。

接着选择官方的快速开始模型。

这里我们复制一个Dataset,命名为Demo和demo1(为了不改变官方的例程)

同理,复制一个Procedure,命名与上一步相同。

修改Procedure中demo1的参数如下:

接下来选择Simulink模型,同时新建一个Run Control with Simulink中的Dataset,取名依旧同上。

链接到simulink文件(.slx文件),在新建一个即可此(后续在里面进行修改),取名为demo1.slx,位置随意,接着将其链接到Simulink Model。

设置输入输出,重复步骤如下:

找到油门和刹车,添加到模型的输入与输出

选择输出参数(速度):

所有设置完成以后,点击Home回到主页面。

进行Carsim/Simulink联合仿真,点击“Send to Simulink”(注意一定要从这里打开Matlab/Simulink,否则后面Library Browser里搜索不到carsim组件)会打开 Matlab/Simulink,且打开文件就是之前选择链接的 demo1.slx

点击模型库浏览器(Library Browser)进行 Simulink 模型搭建(若搜索不到carsim组件,说明不是在CarSim中进入Simulink)

添加函数模块。直接在页面搜索(鼠标左键双击),英文输入 “matlab function”,会有模块提示。

双击 fcn 模块,进入函数编写,控制逻辑如下,写完后保存并关闭。

回到 Simulink,添加 Mux 模块,连接输入。然后,连接输出。最后再添加一个 scope 查看。

最终框图如下图所示:

进行Simulink模型运行:点击 Run 按钮,然后点击scope查看波形。

由上图的波形可知,车辆达到了60km/h的指定速度

我们点击Home回到主页面,点击Video + Plot

可以看见,车辆正在运行,且给出了9个图型曲线。

双击纵向速度窗口放大观察,可见CarSim显示的纵向车速曲线和matlab 的scope显示的波形图一致。

以上便是通过搭建CarSim与Simulink联合仿真模型来进行车辆仿真实验的全部过程,下面对实验结果进行分析。

四、结果分析

关于视频与曲线的操作,可按F1键寻找快捷键进行相应的操作。

下图便是纵向车速曲线:

通过上图仿真数据分析,可得到如下结论:

  1. 车速稳定性:汽车的最高纵向车速为60.773km/h,且在4.650s之后大致能够保持在指定车速60km/h附近,表明控制策略对于维持车速具有较好的效果。但在某些时刻,车速会出现轻微的波动,可能是由于控制精度不足或外部干扰因素引起的。
  2. 节气门开度变化:节气门的开度随着油门和刹车信号的变化而调整,以保证车速的稳定。在车速接近60km/h时,节气门的开度趋于稳定,表明控制系统能够有效地调节节气门的开度以适应车速的变化。
  3. 油门与刹车信号:油门和刹车信号的变化反映了控制系统对于车速的调节过程。在车速低于目标值时,油门信号增加以增大节气门的开度,提高车速;在车速高于目标值时,刹车信号增加以减小节气门的开度,降低车速。通过不断调整油门和刹车信号,控制系统能够保持车速在目标值60km/h附近。

五、结语

在本次实验中,我主要搭建了一个CarSim与Simulink的联合仿真模型,用于模拟车辆在不同驾驶条件下的动态响应。实验的核心目的是通过控制油门和刹车,调节节气门的开度大小,从而保持车速稳定在60km/h。这一过程中,我深入了解了车辆动力学模型、控制系统设计以及仿真软件的使用方法。实验结果能够较好地反映车速稳定性,但仍然存在着一些不足。针对实验中车速出现的轻微波动问题,可以考虑进一步提高控制精度或引入更先进的控制算法来优化控制效果。此外,还可以考虑加入更多的影响因素(如道路坡度、风阻等)以模拟更真实的行驶环境,进一步验证控制策略的鲁棒性和适应性。

通过本次实验,我还学到了一些知识点:

  1. 车辆动力学模型:在CarSim中,我学习了如何建立并调整车辆动力学模型,包括车辆质量、轮胎特性、悬挂系统等参数的设定。这些参数对于模拟车辆的动态响应至关重要,也让我对车辆的运动学有了更深入的理解。
  2. 控制系统设计:在Simulink中,我设计并实现了车辆的控制策略。通过调整油门和刹车信号,我能够控制节气门的开度,进而影响车辆的速度和加速度。这一过程中,我学习了控制理论的基本原理,如反馈控制、PID控制等,并将其应用到实际问题中。
  3. 仿真软件的使用:我熟练掌握了CarSim和Simulink软件的基本操作,包括模型的搭建、参数的设定、绘制原理图、仿真结果的查看等。这些技能对于我今后在相关领域的研究和工作具有重要意义。

通过本次实验,我深刻体会到了理论与实践相结合的重要性。只有将理论知识应用到实际问题中,才能更好地理解和掌握这些知识。同时,我也认识到了自己在某些方面的不足,如控制理论的应用、仿真软件的高级功能使用等。这些不足将成为我今后学习和努力的方向。

总而言之,本次汽车高级辅助驾驶实验周让我收获颇丰,我不仅学到了许多宝贵的知识和技能,还深刻体会到了学习和探索的乐趣。在未来的学习和工作中,我将继续努力,不断拓宽自己的知识面和视野,提高自己的实践能力和创新能力。同时,我也希望能够在相关领域做出更多的贡献和成果。

### CarsimSimulink实现车辆纵向控制仿真的方法 #### 1. 平台介绍 为了有效地进行车辆纵向控制的研究,通常采用SimulinkCarSim联合仿真平台。这两大工具的结合可以提供强大的建模、仿真功能,支持复杂的控制系统设计验证[^1]。 #### 2. MPC控制算法的应用 对于多辆车组成的车队列,在Simulink环境中实现了模型预测控制(Model Predictive Control, MPC),这是一种先进的优化控制策略,特别适用于处理具有约束条件的过程系统。通过调整参数设置并利用历史数据对未来状态做出预估,MPC能够在保持安全距离的同时最大化整个队伍的速度一致性。 #### 3. 多层次结构的设计 针对单个汽车的动力学特性及其运动规律,提出了分层式的纵向跟踪控制系统架构: - **上层控制器**:由两个独立工作的比例积分微分(PID)调节器组成——位置PID负责计算目标加速度;而速度PID则用于修正实际行驶过程中产生的偏差。这两个部分共同作用来决定所需的加速/减速指令。 - **下层执行机构模拟**:考虑到真实的物理机制,引入了逆向驱动模型(Reverse Drive Model,RDM) 逆向刹车模型(Inverse Brake Model,IBM), 它们分别对应于油门踏板角度到轮毂扭矩之间的转换关系以及制动液压至减速度映射过程。此外还有一个专门用来管理两者之间平滑过渡的状态机(Switching Module)[^2]. #### 4. 数据交换接口配置 为了让上述两大部分协同工作,必须建立稳定可靠的信息传递渠道。具体来说就是把来自顶层决策单元所发出的动作请求(比如期望达到的目标车速)传送给底层硬件层面去执行;此同时还要反馈当前传感器读数给高层以便及时更新内部估计值。此环节涉及到MATLAB/Simulink中的S函数编程技巧以及CarSim API调用等方面的知识点. #### 5. 实验环境搭建指南 按照官方文档指示完成软件安装之后,建议新手先熟悉几个基础操作步骤: - 打开车辆动力学分析界面(CarSim Vehicle Dynamics Analysis,VDA); - 导入预先准备好的场景描述文件(.scn); - 构造简单的闭环回路框图; - 设置好初始条件后点击“Run Simulation”按钮启动测试流程; - 查看结果图表以评估性能指标是否满足预期要求. ```matlab % 创建一个新的 Simulink 模型窗口 new_system('MyVehicleControlSystem'); % 添加必要的模块库链接 add_block('simulink/Commonly Used Blocks/Gain',... 'MyVehicleControlSystem/PID_Gain'); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

先把态度摆正

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

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

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

打赏作者

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

抵扣说明:

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

余额充值