基于simulink的定速巡航系统

2023-12-22 21:30

本文主要是介绍基于simulink的定速巡航系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

1.工作原理:

2.设计过程:

2.1 PID 控制的基本理论:

2.3 PID控制系统原理图

2.4车辆动力学模型建立:

2.5 simulink建模:        

3.结果分析与讨论:

4.总结:


1.工作原理:

由巡航控制组件读取车速传感器发来的脉冲信号与设定的速度进行比较,从而发出指令由伺服器机械的来调整节气门开度的增大或减小,以使车辆始终保持所设定的速度。电子式多功能定速巡航系统摒除了拉线式定速巡航器的机械控制部分,完全采用精准电子控制,使控制更精确,避免了机械故障的风险。拉线式定速巡航系统的工作原理,简单地说就是由巡航控制组件读取车速传感器发来的脉冲信号与设定的速度进行比较,从而来调整节气门开度的增大或减小,以使车辆始终保持所设定的速度。 

2.设计过程:

题目:已知:车辆在道路上行驶,受力如图2.2所示,请结合受力对车辆进行受力分析并建立纵向动力学数学模型,并利用 PID 控制算法或者其他控制算法设计控制器进行车辆的定速巡航控制。车辆参数如图2.1 所示。 

图2.1车辆基本参数

图 2.2 车辆受力     

2.1 PID 控制的基本理论:

PID 控制器是一种比例、积分、微分并联控制器。它是最广泛应用的一种控制器。在 PID 控制器中,它的数学模型由比例、积分、微分三部分组成。

PID控制器各环节的作用为:

(1)比例环节:成比例地反映控制系统的偏差信号e(t),偏差一旦产生,控制器立即有控制作用,使控制量朝着减小偏差的方向变化,控制作用强弱取决于比例系数K_{p},K_{p}越大,则过渡过程越短,控制结果的稳态误差也越小:但K_{p}越大,超调量也越大,越容易产生振满,导致动态性能变坏,甚至会使闭环系统不稳定。故而,比例系数K_{p},选择必须适当,才能取得过渡时间少、稳态误差小而又稳定的效果。

(2)积分环节:主要用于消除偏差,只要存在偏差,则它的控制作用就会不断地积累,输出控制量以消除偏差。可见,积分部分的作用可以消除系统的偏差。可是积分作用具有滞后特性,积分控制作用太强会使系统超调加大,控制的动态性能变差,甚至会使闭环系统不稳定。积分时间T_{i}对积分部分的作用影响极大。当T_{i}较大时,则积分作用较弱,这时,有利于系统减小超调,过渡过程不易产生振荡。但是消除误差所需时间较长。T_{i}较小时,则积分作用较强。这时系统过渡过程中有可能产生振荡,消除误差所需的时间较短。

 (3)微分环节:反映偏差信号的变化趋势,微分控制得出偏差的变化趋势,增大微分控制作用可加快系统响应,减小超调量,克服振荡,提高系统的稳定性,但使系统抑制干扰的能力降低。微分部分的作用强弱由微分时间T_{d}决定。T_{d}越大,则它抑制e(t)变化的作用越强,T_{d}越小,它反抗e(t)变化的作用越弱。它对系统的稳定性有很大的影响。

2.2基本公式:

PID控制是一种线性控制,它是将给定值与实际值构成的控制偏差:

e(t)=r(t)-c(t)

 的比例(P)、积分(I)、微分(D)进行线性组合构成控制量,将被控对象进行控制。其模拟表达式为:

u(t)=K_{p}\left [ e(t)+\frac{1}{T_{i}}\int_{0}^{t}e(t)dt+\frac{de(t)}{dt} \right ]

 其中:

u(t)一控制器的输出。

e(t)一控制器输入,它是给定值和被控对象输出值的差,称偏差信号。

K_{p}一控制器的比例系数。

T_{i}一控制器的积分时间。

T_{d}一控制器的微分时间。

传递函数形式为:

G(s)=\frac{U(s)}{E(s)}=K_{p}\left [ 1+\frac{1}{T_{i}s}+T_{d}s \right ]

上式中,K_{p}为比例系数,T_{i}为积分时间常数,T_{d}为微分时间常数。

2.3 PID控制系统原理图

图2.3常规PID控制系统原理图

 

2.4车辆动力学模型建立

车辆的纵向动力学模型如下:

根据牛顿运动定律得到汽车的运动方程如下:

\dot{S_{i}}=\dot{V_{i}}

\dot{V_{i}}=\frac{1}{m^{_{i}}}\left ( F_{I}-F_{a}-F_{r}-F_{g} \right )

 式中,m_{i},s_{i},v_{i}分别为当前车辆的质量,位置和速度,F_{i}为车辆的牵引力或制动力,F_{a}为车辆行驶过程中的空气阻力,F_{r}为滚动阻力,F_{g}为坡道阻力。其中,空气阻力由车辆行驶的速度,空气的阻力系数C_{D},空气密度ρ和迎风面积A决定。

空气阻力为:              F_{a}=\tfrac{1}{2}C_{D}\rho Av_{i}^{2}

滚动阻力为:                 Fr=\mu m_{i}gcos\theta

式中,μ为滚动阻力系数,g为重力加速度,θ表示道路坡度。

车辆的坡道阻力为:        F_{g}=m_{i}sin\theta

所以            

 \dot{V_{i}}=\frac{1}{m_{i}}\left [ F_{i}-\left (\frac{1}{2}C_{D}\rho Av_{i}^{2} +\mu m_{i}gcos\theta +m_{i}gsin\theta \right ) \right ]

2.5 simulink建模:        

利用matlab中的simulink建立汽车动力仿真模型如图2.5-1,2.5-2

图2.5-1汽车动力仿真模型:

图2.5-1汽车动力仿真模型:

图2.5-2汽车动力仿真模型:

 将汽车动力仿真模型建成子系统与PID控制仿真模型做最后的仿真连接,得到总的仿真模型如图2.5-3,2.5-4

图2.5-3系统总仿真模型:

 图2.5-4系统总仿真模型:

 

3.结果分析与讨论:

通过调节最左端的预设巡航车速即可实现较优的一定范围内的巡航车速调节,当巡航车速发生大幅的变化时,可以再次调节上述仿真模型的相关参数以达到最佳的效果。我们分别设定巡航车速为80km/h,100km/h,120km/h,对整个仿真模型运行后,得到仿真结果曲线如图3.1所示。

将巡航车速设定为80km/h时,其仿真情况如下:

 图3.1巡航车速80km/h仿真结果:

 从上图的仿真结果可以看出,巡航车速为80km/h时,调节时间大致在2s之后便能以80km/h的速度匀速前行。

 

4.总结:

1.搜索、查阅并研究了前人做出的汽车巡航控制技术研究成果的基础上,并从从大量的文献资料中提取了汽车受力模型和PID控制模型。

2.根据汽车的受力模型,认真的分析了汽车行驶过程中受到的驱动力和阻力,建立了汽车巡航控制系统的仿真模型;并在逐一的试验中基本上确定了各个模块的参数合适范围。

3.用 MATLAB中的Simulink 软件建立了整个系统的仿真模型,通过不断调节,最终做出了巡航车速分别为80km/h的仿真结果,且调节效果较为理想。

总的来说,基于位置式和增量式PID控制算法的汽车巡航控制系统较其他单一PID算法的控制系统有着很大的优越性,能够实现较高要求的巡航控制条件。

 

这篇关于基于simulink的定速巡航系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/525544

相关文章

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

Linux系统之dns域名解析全过程

《Linux系统之dns域名解析全过程》:本文主要介绍Linux系统之dns域名解析全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、dns域名解析介绍1、DNS核心概念1.1 区域 zone1.2 记录 record二、DNS服务的配置1、正向解析的配置

Linux系统中配置静态IP地址的详细步骤

《Linux系统中配置静态IP地址的详细步骤》本文详细介绍了在Linux系统中配置静态IP地址的五个步骤,包括打开终端、编辑网络配置文件、配置IP地址、保存并重启网络服务,这对于系统管理员和新手都极具... 目录步骤一:打开终端步骤二:编辑网络配置文件步骤三:配置静态IP地址步骤四:保存并关闭文件步骤五:重

Windows系统下如何查找JDK的安装路径

《Windows系统下如何查找JDK的安装路径》:本文主要介绍Windows系统下如何查找JDK的安装路径,文中介绍了三种方法,分别是通过命令行检查、使用verbose选项查找jre目录、以及查看... 目录一、确认是否安装了JDK二、查找路径三、另外一种方式如果很久之前安装了JDK,或者在别人的电脑上,想

Linux系统之authconfig命令的使用解读

《Linux系统之authconfig命令的使用解读》authconfig是一个用于配置Linux系统身份验证和账户管理设置的命令行工具,主要用于RedHat系列的Linux发行版,它提供了一系列选项... 目录linux authconfig命令的使用基本语法常用选项示例总结Linux authconfi

Nginx配置系统服务&设置环境变量方式

《Nginx配置系统服务&设置环境变量方式》本文介绍了如何将Nginx配置为系统服务并设置环境变量,以便更方便地对Nginx进行操作,通过配置系统服务,可以使用系统命令来启动、停止或重新加载Nginx... 目录1.Nginx操作问题2.配置系统服android务3.设置环境变量总结1.Nginx操作问题

CSS3 最强二维布局系统之Grid 网格布局

《CSS3最强二维布局系统之Grid网格布局》CS3的Grid网格布局是目前最强的二维布局系统,可以同时对列和行进行处理,将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局,本文介... 深入学习 css3 目前最强大的布局系统 Grid 网格布局Grid 网格布局的基本认识Grid 网

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创