基于模糊控制和PID控制自主车辆速度跟踪控制
基于模糊控制理论的自适应PID算法
基于模糊控制理论的自适应PID算法近年来,随着科技的发展,自适应控制技术被越来越广泛地应用于各种控制系统中。
其中,基于模糊控制理论的自适应PID算法是一种很常见的控制方法,具有很强的实际应用价值。
一、什么是自适应PID算法PID控制器是一种广泛应用于工业生产中的控制器,其可以通过对被控对象的反馈信号进行加权处理,从而实现对被控对象的控制。
但是,在实际应用中,由于被控对象的动态特性和环境条件的变化,经常会出现PID控制器参数难以确定和调节的情况,这就需要使用自适应控制技术来解决这种问题。
自适应PID算法是一种自动调整PID控制器参数的方法,其主要原理是根据被控对象的实际工作状态和控制效果来调节PID控制器的参数值,从而实现对被控对象的控制。
在PID控制器中,P 代表比例项、I代表积分项、D代表微分项,而在自适应PID算法中,P、I、D三项参数值是根据被控对象的实际工作状态和控制效果来自适应调整的。
二、模糊控制理论在自适应PID算法中的应用模糊控制理论是一种基于模糊数学的控制方法,其主要特点是可以处理不确定、模糊的信息,具有很强的适应性和鲁棒性。
在自适应PID算法中,模糊控制理论主要用于调节PID控制器中的比例项、积分项和微分项的权重。
具体来说,在模糊控制理论中,有三个基本元素:模糊集合、模糊逻辑运算和模糊推理机。
在自适应PID算法中,这三个元素分别对应着被控对象的状态、PID控制器参数的权重和PID控制器参数的调节规则。
在调节PID控制器中的比例项、积分项和微分项的权重时,主要采用了模糊控制理论中的模糊控制策略。
具体来说,首先将被控对象的状态划分为若干个模糊集合,并为每个模糊集合定义一个隶属度。
然后,根据这些隶属度和一定的模糊逻辑运算规则,得到PID控制器中各项参数的权重值。
最后,再根据这些权重值和一定的模糊推理机规则,得到PID控制器中比例项、积分项和微分项的具体参数值。
三、自适应PID算法的应用范围自适应PID算法广泛应用于各种控制系统中,主要包括以下几个方面:1、工业自控领域:在各种流程控制、物料输送、物流控制等方面均有广泛应用,如化工、机械、电力、冶金等行业。
基于模糊自适应PID的智能车辆路径跟踪控制
智 能控 制 理论 的 发展 ,这些 先 进 的控 制技 术 也逐 渐 被 应用 于 智能
车辆 控制 系统 上 ,本文 将 常规 PD I 与模 糊控 制思 想相 结合 ,用 一种 模 糊 自适应PD 制方 法实 现 了智能 车辆 的路 径跟 踪 ,并相应 地给 I控
2 车 辆 位 姿 误 差 模 型
T CHNI OR E C F UM/ 术 论 坛 I O o 技 2 l/2 1
基于模糊 自适应 P 的智 能车辆 路径跟踪控制 I D
L ne F l w i Cont ol orI el ge a olo ng r nt l ntVehi e Ba ed on F z f i cl s uz y Ada i e PI ptv D
1 引言
研 究热 点 。智 能车 辆 在运 行 过 程 中 由控 制系 统感 知 和检 测 道路 信
控 制系 统 是决 定 智能 车辆 整 体 性能 好坏 的关键 。学 者们 针 对 智能
线 方 向与 横坐 标 的 夹 角 为 。现 将全 局 坐标 系 中的跟 踪 误 差转 化
在 车辆 局部坐 标 系 中跟 踪参 考点 的误 差如 下 。
m a e r s c i e y b sn o v n i n l P D n uz y a a i e P D o to l o ih s h w z y d e pe t l y u i g c n e t a I a d f z d pt I c n r l ag rt m ,s o f z v o v u
第 一作 者 : 肖灵 芝 ,女 , 18 年生 ,硕 士研 究生 ,从事 95 汽车电子与信号技术研 究。
cnrl r r dutda tmaiayb s gfzyrao igmeh d T es lt nrsl , hc r o t l eajse uo t l yui z esnn to . h i ai eut w i ae oe a cl n u mu o s h
基于模糊PID算法的自动控制研究
基于模糊PID算法的自动控制研究基于模糊PID算法的自动控制研究摘要:随着科技的发展和工业化进程的加快,自动控制系统在许多领域里都得到了广泛应用。
传统的PID控制算法虽然具有简单、易实现等优点,但在复杂的控制环境中效果较差。
为了克服这些问题,人们提出了一种基于模糊PID算法的自动控制方法。
本文将详细介绍模糊PID算法的原理和应用,并通过实验验证了其在自动控制系统中的有效性。
关键词:PID控制算法、模糊控制、自动控制系统一、引言自动控制系统是通过对被控对象进行测量和调节,实现系统参数的自动调整,从而使系统在给定的条件下保持所要求的稳定性和性能。
PID控制算法是目前应用最广泛的自动控制算法之一,通过对系统误差的反馈调整,可以实现对被控对象的精确控制。
然而,传统的PID控制算法在一些复杂的控制环境中存在一些问题,如对系统非线性特性的适应能力差、鲁棒性较弱等。
为了提高自动控制系统的性能,人们提出了一种基于模糊PID算法的控制方法。
模糊控制是一种基于模糊逻辑原理的控制方法,它通过模糊化输入和输出,建立模糊规则库,通过模糊推理和解模糊操作,实现对系统的控制。
模糊PID算法将模糊控制和PID控制相结合,通过引入模糊控制的思想和方法,克服了传统PID控制算法的一些缺点,提高了控制系统的性能。
二、模糊PID控制算法原理模糊PID控制算法是在传统PID控制算法的基础上引入了模糊控制的思想和方法。
传统PID控制算法主要包括比例环节、积分环节和微分环节,通过对误差进行线性加权,实现对控制对象的调节。
而模糊PID控制算法将比例环节、积分环节和微分环节分别模糊化,通过模糊控制的方法来求解模糊化的输入和输出。
模糊PID控制算法的模糊化过程主要包括模糊化输入、建立模糊规则库和模糊推理三个步骤。
模糊化输入主要是将实际输入转化为模糊输入,建立模糊规则库是通过人工经验,将模糊输入和模糊输出之间的关系进行建模,模糊推理是通过将模糊化的输入和模糊规则库进行运算,得到模糊输出。
模糊PID控制算法在智能小车中的研究与应用
模糊PID控制算法在智能小车中的研究与应用一、本文概述随着科技的快速发展和智能化水平的提高,智能小车在各个领域的应用越来越广泛,如无人驾驶、物流运输、环境监测等。
然而,智能小车的运动控制是一个复杂的问题,需要解决路径规划、避障、速度控制等多个方面的问题。
其中,速度控制是智能小车运动控制的核心问题之一。
传统的PID控制算法在速度控制方面有着广泛的应用,但由于其对于系统参数变化的敏感性,使得其在实际应用中往往难以达到理想的控制效果。
因此,本文提出了一种基于模糊PID控制算法的智能小车速度控制方法,旨在提高智能小车的运动控制精度和稳定性。
本文首先对模糊PID控制算法的基本原理和特点进行了介绍,然后详细阐述了模糊PID控制算法在智能小车速度控制中的应用方法。
在此基础上,通过实验验证了模糊PID控制算法在智能小车速度控制中的有效性和优越性。
本文的研究工作不仅为智能小车的运动控制提供了一种新的方法,同时也为模糊PID控制算法在其他领域的应用提供了有益的参考。
接下来,本文将从模糊PID控制算法的基本原理、智能小车的运动控制模型、模糊PID控制算法在智能小车速度控制中的应用方法、实验结果与分析等方面展开详细的阐述。
二、模糊PID控制算法的基本原理模糊PID控制算法是一种结合了模糊逻辑和传统PID控制算法的控制策略。
该算法利用模糊逻辑处理PID控制中的非线性、不确定性和复杂性问题,从而提高了系统的鲁棒性和控制精度。
模糊逻辑是一种基于模糊集合和模糊推理的控制系统设计方法。
在模糊逻辑中,变量不再局限于具体的数值,而是可以在一定的范围内取任意值,这种变量被称为模糊变量。
模糊逻辑通过模糊集合和模糊运算,能够处理不确定性、非线性和不精确性等问题,使系统更加适应复杂环境。
PID控制算法是一种经典的闭环控制算法,由比例(P)、积分(I)和微分(D)三个部分组成。
PID控制器通过比较实际输出与期望输出的偏差,根据偏差的大小和方向,调整控制量以实现系统的稳定控制。
模糊控制与PID控制的比较
模糊控制与PID控制的比较自20世纪60年代中期起,模糊控制逐渐崭露头角,其优越性也引起了人们的关注。
除了模糊控制,当今热门的控制算法之一是PID控制。
那么,模糊控制与PID控制之间的区别是什么呢?它们各自的优缺点是什么?在特定的应用场合下,哪种控制算法更适用?一、模糊控制概述模糊控制是一种无需准确模型或参数即可执行复杂控制系统的方法,它仅使用模糊逻辑来描述输入和输出之间的关系。
模糊控制系统的输入和输出都是模糊变量。
与其他控制方法相比,模糊控制系统可以更好地处理不确定性和模糊性,具有更强的容错能力和适应性。
模糊控制系统由四个主要组成部分组成:模糊化、模糊推理、解模糊化和规则库。
模糊化部分将传感器输出信号转换为模糊变量,模糊推理部分使用模糊逻辑基于模糊规则将模糊变量转换为控制信号,解模糊化部分将控制信号转换为精确的控制信号,规则库存储了模糊规则及其权重。
二、PID控制概述比例积分微分(PID)控制是一种经典的控制算法,其控制草图由三个部分组成。
比例项(P)根据当前误差大小进行输出,积分项(I)可以消除稳态误差,微分项(D)可以提高系统的稳定性并抑制系统的震荡。
PID控制器的设计基于系统的数学模型,在许多应用中,这个模型是已知的。
在这些情况下,PID控制器可以通过调整不同部分的增益以进行优化。
三、模糊控制与PID控制的对比1. 精度PID控制器可以实现非常高的精度,特别是在恒定环境下,模糊控制器具有更高的容错能力和适应性,而且围绕控制正常的范围内快速做出反应。
2. 调节PID调节通常是更容易实现的PLC控制器中自动化开发环境的系统。
Fuzzy可能更多地需要手动调整和对规则进行逐步精细的训练,但它也可以被训练自动化。
3. 适应性模糊控制器的好处是可以轻松地处理不确定性和模糊性,因此可以应对复杂环境。
PID控制器则对不确定性和模糊性更加敏感,而且会因不确定性的变化而导致过度响应或不足响应的问题。
4. 实际应用PID控制器广泛应用于许多领域,如化工、制造和机械工程。
基于模糊PID—Smith控制的汽车怠速控制方法的研究
图 I 模糊逻辑和模糊数学虽然只有短短的三十余年历史, 但其
理论 和应用 的研究 已取得 了丰 富的成 果 。与 传统控 制方法 如
转动惯量 和摩擦 ,因此转矩对 于发 动机速度的传递 函数为 G= o
, J。则怠速速度控制框如图5 :
图 3 模糊 控制 系统的基 本结构
3 模糊 PD S i I— mt h控制
图 5 怠 速 速 度 控 制 框
仿 真 中在发 动机模 型的前 、 后各 加 了扰 动 , 因为这 样更接
★j 椭 日期:()一 ( 1 I ∈ 2X6 o 2
c 2模糊 捌节器控制过程 ! } I
模糊 诟节器的主要优点 就是 它的鲁棒性 , j 这在控制本质不
稳 定的过程 中尤其氡要 。 糊控制 是从 人类智能活动 的角度和 1 噍
维普资讯
第2 期
传统的模糊控制器对大时滞系统稳 态精 度效 果较差 , 制 控 近于实际情况 。设 怠速转速 由 20 r i 降到 70 mn按发动 00 mn / 3r i, / 动态 响应品质也很 差并容易出现振荡 ,说 明系统 时滞造成 了模 机旋转部 分的重量 ( 估计 8 ) O 和当量 回转半径 ( 估计 O1 , .m)可 糊输 出的控制量与系统实时所需控 制量 不符 , 纯滞 后环节 是引 设转动惯 量 0 k m , . g z根据摩 擦力矩 与发动 机转速 的关 系 , 4 可设 起控制信息混乱的根源 ,这是 因为时滞 系统的控制 量要 等待 一 摩擦系数 O2 6 。 . 7 6
周兆爽等 : 基于模糊 PD-S t 控制的汽车怠速控制方法的研 究 I - mi h
基于模糊控制的汽车自适应巡航系统设计
and improves the accuracy and stability of the cruise process.
列问题,不断增加的汽车数量所带来的交通拥堵、能
身参数会发生变化,易对车辆动力性能和整车控制
源消耗、空气污染等方面的问题日益突出,提升汽车
器操作功能产生不利影响,进而影响驾驶体验甚至
的电动化及智能化水平作为解决包括降低能源消
导致控制器失效,因此设计与研究巡航系统模型与
耗、确保行车过程安全稳定、减轻驾驶负担等问题的
巡航控制及高速行驶中的定速控制(引导车辆大于
航系统及跟车巡航控制过程具有复杂性、非线性及
安全车距或前方无引导车辆时以预设车速行驶)及
不确定性的特点,该文以分层控制原理为依据,对车
距离控制(前方有车辆行驶于安全车距内且其速度
辆 巡 航 控 制 系 统(CCS,恒 速 行 驶 系 统)主 要 构 成 为
-171-
《电子设计工程》2021 年第 9 期
2.2.2
输出语言变量
对输出语言变量进行定义(共包含 3 个),即比
航和跟车巡航间自适应切换,通过模糊 PID 控制确
保系统性能的实现 [13]。
例 系 数 调 校 参 数(由 Kp′表 示)、积 分 系 数 调 校 参 数
3.1
Ti′、Td′对应的语言值均可定义为{零(Z),小(S),中(M),
在对控制系统模糊规则进行制定时,需对包括
车加速度、
车间距及速度误差等)为依据对当前车辆所
高速列车速度跟踪神经网络PID控制器的设计
基于模糊PID控制方法的列车速度控制
基于模糊PID控制方法的列车速度控制作者:周洪斌来源:《中国科技博览》2014年第18期[摘要]针对列车运行系统的非线性特性,本文提出一种利用模糊算法在线调整PID参数的控制方法,并应用于ATO自动驾驶中的列车运行速度控制。
通过Matlab仿真,结果表明本方法能够控制列车实现对目标速度的跟踪运行。
[关键词]模糊PID控制;列车自动控制;仿真;MATLAB中图分类号:U284;TP273 文献标识码:A 文章编号:1009-914X(2014)18-0111-011、概述列车运行控制系统以地面信号、调度命令等行车指挥命令为依据,结合各种运行条件对列车的启动、加减速、惰行、制动、停车等操作控制[1]。
但列车运行过程极其复杂,它受许多因素的影响,如线路条件、环境条件、列车司机熟练操作程度等。
在不同的工况下,如何实现高效的ATO成为人们关心的焦点问题之一。
本文在研究讨论传统基于PID控制的ATO速度控制策略的基础上,分析其缺点和不足,提出了利用模糊算法改进PID控制参数的方法,并利用MATLAB进行了仿真和结果比对。
2、通过模糊规则调整PID参数的方法PID是一种线性调节器,以列车制动模型理论和经验公式为基础来实现列车的运行控制和速度调整。
连续PID的控制规律为:为了对PID参数进行在线调整,我们通过制定模糊规则,用模糊控制器进行处理。
偏差和偏差变化率是对PID控制器参数整定的主要影响因素[2]。
当较大时,为了加快系统的响应速度,应取较大的;但为了避免由于开始时的偏差的瞬时变大可能出现的微分过饱和而使控制作用超出许可的范围,应取较小的;同时为了防止系统响应出现较大的超调,产生积分饱和,应对积分作用加以限制,通常取=0。
当偏差处于中等大小时,为使系统响应具有较小的超调,应取得小些,的取值要适当。
在这种情况下的取值对系统影响较,取值要大小适中,以保证系统的响应速度当偏差较小即接近于设定值时,为使系统具有良好的稳态特性,应增加和的取值。
车辆自适应巡航控制系统的模糊PID实现
[ btat A cua eiel gtdnl ya c dlo aatecus ot lytm ist pwt A s c] nacrtvhc ni ia dnmi moe f dpi ri cnr s i r e l o u s r v e os e seu h
好 、 有 A C系 统 的 车 辆 , 其 它 车 辆 不 适 用 。建 装 C 对 立 的车辆纵 向动力 学模 型如 图 1所示 。
[] 2 所建模型分析修改 的基础上 , 建立了一种精确 的车辆纵 向动 力学 模 型 , 克 服 了 以往 模 型过 于复 它
杂 或简 单 的 缺 陷 , 适 合 于 A C系 统 的 控 制 。 目 更 C 前 , 用于 A C系统 的控制 算 法主要 有 PD、 参数 应 C I 变
实现 A C系统 的定 速 和跟驰 两 个控 制 目标 。 C
刖 吾
1 车辆纵 向动力学模型
车辆 自适应 巡 航 控 制 系统 ( dpiec i o - a a t r s cn v u e
t l A C) 仅 具 有 定 速 巡 航 功 能 ( 速 模 式 ) 而 r, C 不 o 定 , 且能够 通过 对本 车 车速 的调 整使 其与 前行 车辆 保持 安全 问距 ( 跟驰 模 式 ) C 。A C系 统 对 减 轻 驾驶 员 负 担 , 高驾 驶安 全性 、 适性 和节 省燃 油 等 具有 十 分 提 舒
P、 I滑模控制和模糊控制理论等 , 结合 PD算法和模 I 糊控 制算法 的优 点 , 者 采 用 混合 型模 糊 PD算 法 作 I
智能车基于pid及模糊控制的油门刹车速度控制算法
首先定义速度偏差-50 km/h ≤e (k )≤50km/h ,-20≤ec (i )= e (k )- e (k-1)≤20,阀值e swith =10km/h ,∂throttle 为油门当前的控制量,∂brake 为刹车当前的控制量 设计思想:油门控制采用增量式PID 控制算法,输入量为e (k )、e (k-1)、e (k-2)和u (k-1)(上一时刻的输出量),输出量u (k )为油门控制量(油阀);刹车控制采用模糊控制算法,输入为e (k )和ec (i ),输出量为刹车控制量;最后通过选择规则进行选择。
选择规则:-50 km/h ≤e (k )<0 ① e (k )>- e swith 选择油门控制② e (k )≤- e swith 若∂throttle ≠0先选择油门再从新进行选择 若∂throttle =0选择刹车 0<e (k )≤50 km/h ① u brake ≤ ∂brake 选择刹车控制 ② u brake > ∂brake 先选择刹车后选择油门 e (k )=0 直接跳出选择刹车控制:刹车采用模糊控制算法1.确定模糊语言变量e 基本论域取[-50,50],ec 基本论域取[-20,20],刹车控制量输出u 基本论域取[-30,30],这里我将这三个变量按照下面的公式进行离散化:)]2(2[ba x ab n y +--=其中,],[b a x ∈,n 为离散度。
E 、ec 和u 均取离散度n=3,离散化后得到三个量的语言值论域分别为:E=EC=U={-3,-2,-1,0,1,2,3}其对应语言值为{ NB,NM,NS,ZO, PS,PM,PB } 2.确定隶属度函数E/EC 和U 取相同的隶属度函数即:E E CU (,5,1)(,3,2,0)(,3,1,1)u (,2,0,2)(,1,1,3)(,0,2,3)(,1,5)g x trig x trig x trig x trig x trig x g x ∧∧--⎧⎪--⎪⎪--⎪=-⎨⎪-⎪⎪⎪⎩说明:都选用三角形隶属度函数,图像略实际EC 和E 输入值若超出论域范围,则取相应的端点值。
基于模糊PID控制的智能同步车的设计
P 43
P30
一 0 卜 ’ ; o
盆 盆 g 岔 墨盆
寸 n 一
72 V
5 V +3 3 C 1 H 6
图 2单 片机 与驱 动 芯 片 原 理 图
1 6
基于模糊 PD控制的智能同步车的设计 /
电子质量 ( 1 第0 期) 22 2 0
3系统软件设计
据送给不加 5 O 上拉电阻的单片机 I . 1 k / O口上。 同步调速
机电源 , 通过 7 0 变成 5 85 V供给采集光电管。 同时, 另设一 个 7 0 供 给检测码 盘 的三个光 电管和经 过 3 l 85 l7变成 3 V供给单片机。 . 3 之所以x- / ,  ̄集电路和码盘检测 电路的光 电管独立供 电的原因是这样可以提高供电质量 , 电池电 在 压较低时 , 会对码盘采集有很大的影 响。故系统采用单独
P22 P23
I
3
j
J
6
‘ _ : 。
5 v
+ 卜—1 3 3
P 2 9 46 D P 45 1 0
P24 P 5 2 P 6 2
P l 44 l
P 2 43 1
P 4 4
P2 7
图 3单 个 光 电 管采 集 电路
23电机驱动模块 _ 电机驱动芯片一般 为 L 9 N和 MC 3 8 ,电机驱动 28 3 86 芯片的选用一般从 电流输出能力和发热量两方面进行选
择。 因比赛赛道不长, 因此发热量不做为主要考虑因素, 而 MC 3 8 输 的电流 比 L 9 N的大一倍 ,而方案又采用 386 28 两块 MC 38 并联使用 , 3 86 这样输出的电流可达 1A左右。 0 单片机与 M 3 86 C 3 8 驱动连接 图如图 2 所示。
基于模糊PID控制器的控制方法研究
基于模糊PID控制器的控制方法研究一、本文概述随着科技的进步和工业的快速发展,控制系统的精确性和稳定性成为了诸多领域,如自动化、机器人技术、航空航天等的关键需求。
PID (比例-积分-微分)控制器作为经典的控制策略,已被广泛应用于各种实际工程问题中。
然而,传统的PID控制器在面对复杂、非线性和不确定性的系统时,其性能往往会受到限制。
因此,寻求一种更加灵活、适应性强的控制方法成为了当前的研究热点。
本文旨在探讨和研究基于模糊PID控制器的控制方法。
模糊PID控制器结合了传统PID控制器的优点和模糊逻辑控制的灵活性,能够在不确定和非线性环境中实现更为精准和稳定的控制。
文章首先将对模糊PID控制器的基本原理进行介绍,包括其结构、特点和工作机制。
然后,通过对比实验和仿真分析,评估模糊PID控制器在不同场景下的控制效果,并探讨其在实际应用中的潜力和挑战。
文章还将讨论模糊PID控制器的参数优化方法,以提高其控制性能和鲁棒性。
本文的研究不仅有助于深入理解模糊PID控制器的控制机理,也为相关领域提供了一种新的控制策略选择,对于推动控制理论的发展和应用具有重要的理论价值和实践意义。
二、模糊PID控制器的基本原理模糊PID控制器是一种结合了模糊逻辑与传统PID控制算法的控制方法。
它旨在通过引入模糊逻辑的优点,改善传统PID控制在处理复杂、非线性系统时的不足。
模糊化过程:将PID控制器的三个主要参数——比例系数(Kp)、积分系数(Ki)和微分系数(Kd)进行模糊化。
这通常涉及到将连续的参数值映射到一组离散的模糊集合上,如“小”“中”和“大”。
模糊推理:在模糊化之后,模糊PID控制器使用模糊逻辑规则对输入误差(e)和误差变化率(ec)进行推理。
这些规则通常基于专家知识和经验,旨在确定如何调整Kp、Ki和Kd以优化系统性能。
解模糊化:经过模糊推理后,得到的输出是模糊的。
为了将这些输出应用于实际的控制系统,需要进行解模糊化过程,即将模糊输出转换为具体的、连续的控制信号。
一种基于模糊pid和滑膜控制复合控制的控制方法
在控制工程中,PID控制和模糊控制都是常见的控制方法。
每种方法都有其优点和局限性。
在一些特定的应用中,我们可能需要结合多种控制方法来实现更好的控制效果。
基于模糊PID和滑膜控制的复合控制方法就是其中一种。
1. 概述模糊PID和滑膜控制模糊PID控制是PID控制和模糊控制相结合的一种控制方法。
它在传统的PID控制基础上,增加了模糊控制的思想,使控制系统更具智能化和鲁棒性。
而滑膜控制是一种基于理想转移函数的控制方法,通过引入滑膜面的概念,能够有效地克服系统参数变化和外部扰动的影响。
2. 模糊PID和滑膜控制的优势通过将模糊控制和滑膜控制相结合,可以充分发挥两种控制方法的优势。
模糊控制能够处理系统非线性和不确定性问题,而滑膜控制能够应对系统的参数变化和外部扰动。
基于模糊PID和滑膜控制的复合控制方法能够在复杂的控制环境中取得良好的控制效果。
3. 深入探讨基于模糊PID和滑膜控制的复合控制方法在实际应用中,基于模糊PID和滑膜控制的复合控制方法可以通过以下步骤来实现:3.1 模糊PID控制器设计需要设计模糊PID控制器,通过模糊化和解模糊化的过程,将模糊控制引入到传统的PID控制中。
这样可以使控制系统具有更好的适应性和鲁棒性。
3.2 滑膜面设计接下来,设计滑膜面,通过引入滑膜面的概念,可以将系统的动态响应特性进行调整,以应对系统的参数变化和外部扰动。
3.3 复合控制器设计将模糊PID控制器和滑膜面结合起来,形成基于模糊PID和滑膜控制的复合控制器。
这样的控制器能够充分发挥模糊控制和滑膜控制的优势,实现更好的控制效果。
4. 个人观点和理解在我看来,基于模糊PID和滑膜控制的复合控制方法是一种在特定应用中非常实用的控制方式。
它能够充分发挥模糊控制和滑膜控制的优势,解决传统PID控制难以处理的复杂问题。
通过合理的设计和参数调节,可以使复合控制器在实际控制系统中取得良好的效果。
总结:基于模糊PID和滑膜控制的复合控制方法能够充分发挥模糊控制和滑膜控制的优势,解决传统PID控制难以处理的复杂问题。
基于Smith预估器的模糊PID调车自动驾驶系统速度控制研究
基于Smith预估器的模糊PID 调车自动驾驶系统速度控制研究王浩然1,王兴有2,盛玉1,尚涛3(1.中国铁道科学研究院集团有限公司北京华铁信息技术有限公司,北京100081;2.国能朔黄铁路发展有限责任公司机辆分公司,河北肃宁062356;3.中国铁路西安局集团有限公司电务部,陕西西安710054)摘要:针对铁路站场调车作业的复杂性,研发基于调车的自动驾驶系统可降低劳动强度并提高车站作业效率,而速度控制策略是系统的重点和难点。
根据调车牵引控制系统和制动控制系统特性,建立传递函数模型,并对模型参数的不稳定因素进行分析;利用Smith预估方法处理时滞系统的优势,结合模糊PID算法,设计基于Smith预估器的模糊PID控制器(简称新型控制器);通过模拟模型参数不稳定,分别使用阶跃响应曲线和司机实操速度曲线进行仿真,对比传统的PID控制器、模糊PID控制器与新型控制器的控制效果。
结果表明:新型控制器适应能力更强,速度跟踪效果和停车精度都更高。
关键词:调车ATO系统;Smith预估器;模糊控制;PID;速度控制中图分类号:U283.1 文献标识码:A 文章编号:1001-683X(2024)02-0093-08 DOI:10.19549/j.issn.1001-683x.2023.09.06.0020 引言速度控制策略是列车自动驾驶系统(简称ATO系统)研究的重点[1]和难点[2],对列车的运行效率、停车精度、舒适度等性能指标具有重要影响[3]。
其相关算法研究从早期的比例积分微分(PID),到后来的模糊控制、神经网络等各种新型智能算法[4]。
新算法相对PID虽然提高了控制准确性,但对基础数据和硬件算力的要求也大大提高,限制了现场的实际应用。
当前现场广泛使用的仍以PID为主。
文献[5]讨论了根据误差和误差变化率设计滑膜结构控制器,与PID控制结合,实现自适应列车相关参数来提高控制准确性,但其滑膜面选择容易产生抖振。
自适应模糊PID控制在系统调速中的应概要
在陶瓷压机布料系统中,料车速度控制十分重要,由于压机工作时具有非线性、滞后、大惯性等特点,料车速度受压机工作的影响较大,很难达到高精度的要求,料车速度控制精度决定了布料的均匀度,从而决定了陶瓷砖的质量,所以陶瓷砖质量的优劣受布料系统料车速度的影响。
在国内,目前采用PID控制料车速度,随着技术的发展,更多先进技术运用到生产中。
在实际控制过程中,常规PID控制的优点在于原理简单、使用方便、适用性好,具有很强的鲁棒性,因而得到了广泛的应用。
但是PID 控制需要建立被控对象精确的数学模型,而实际上大多数工业过程都不同程度地存在非线性、参数时变性和模型不确定性,常规的PID控制无法实现这样的过程精确控制,不能实时调整PID参数,且响应速度不够快。
而模糊控制对数学模型的依赖性弱,不需要建立过程的精确模型,它可以把人的经验转化为控制策略,对时变的、非线性的、滞后的、高阶大惯性的被控对象,能获得良好的动态特性,即反映速度快、稳定性好,但它无法消除静态误差,需要引入积分作用。
基于以上原因,本文将模糊控制系统与传统PID控制相结合,设计了一种自适应模糊PID控制器。
该自适应模糊PID控制器的设计分为两部分,简单方便,它在偏差|E|较大时范围内采用模糊推理控制,以偏差e(k和偏差变化率ec(k作为输入,经过模糊推理,得到不同时刻PID的3个参数,在偏差|E|较小时范围采用PID精确输出。
本文运用MATLAB的模糊逻辑工具箱对其进行了仿真研究。
2陶瓷压机布料系统液压调速现代压机布料系统液压控制已从传统的电磁阀与节流阀控制,由接近开关控制动作转换发展到采用电液比例方向阀,由线性位移传感器监测运动,可实现在行程过程中任意点的速度无级调节与转换,转换位置准确。
为了实现布料的均匀性,料车的速度转换也由采用传统的液压元件发展为采用比例电磁方向阀,由角度编码器或转速传感器检测料车的运动,可实现料车在任意位置的多种速度变换。
本论文主要是在液压控制的基础上,采用液压电液比例控制技术与系统输出负反馈控制方案,在控制精度上运用先进的自适应模糊PID调整控制。
智能车辆路径跟踪控制方法研究
智能车辆路径跟踪控制方法研究智能车辆路径跟踪控制方法研究摘要:智能车辆是一种具有自主决策和路径规划能力的交通工具,其路径跟踪控制是智能车辆控制系统中的重要组成部分。
本文主要研究智能车辆路径跟踪控制方法,包括传统的PID控制、模糊控制、神经网络控制、遗传算法控制等,同时结合现代控制理论,提出了一种基于自适应控制的智能车辆路径跟踪控制方法。
该方法具有较好的稳定性和精度,能够有效地控制智能车辆的路径,提高智能车辆的行驶安全性和效率。
关键词:智能车辆;路径跟踪控制;PID控制;模糊控制;神经网络控制;遗传算法控制;自适应控制正文:一、智能车辆的发展历程智能车辆是一种具有自主决策和路径规划能力的交通工具,它的出现极大地提高了交通运输的效率、安全性和舒适性。
智能车辆的核心技术包括计算机视觉、机器学习、传感器技术和控制系统等。
近年来,随着计算机视觉和传感器技术的不断发展,智能车辆的核心技术得到了进一步的提升。
二、智能车辆路径跟踪控制方法智能车辆路径跟踪控制是智能车辆控制系统中的重要组成部分,其目的是使智能车辆能够沿着预定的路径行驶,达到指定的目的地。
智能车辆路径跟踪控制方法包括传统的PID控制、模糊控制、神经网络控制、遗传算法控制等。
1. PID控制PID控制是一种常见的路径跟踪控制方法,它通过控制器对系统参数进行调整,使系统处于稳定状态。
PID控制的优点是可以精确地控制系统的输出,但是其缺点在于系统的响应速度较慢,无法应对复杂的控制系统。
2. 模糊控制模糊控制是一种基于模糊逻辑的控制方法,它通过模糊控制器对系统参数进行调整,使系统处于稳定状态。
模糊控制的优点是可以精确地控制系统的输出,并且具有较好的鲁棒性,但是其缺点在于系统的响应速度较慢。
3. 神经网络控制神经网络控制是一种基于神经网络的控制方法,它通过神经网络对系统参数进行调整,使系统处于稳定状态。
神经网络控制的优点是可以精确地控制系统的输出,并且具有较好的鲁棒性,但是其缺点在于系统的学习速度较慢。
基于模糊PID的工程车辆远程控制系统
第4 0卷
第 9期
基 于 模 糊 P D 的 工 程 车 辆 远 程 控 制 系 统 I
黄水 军 , 苏凡 囤 , 宋胜利
( 解放 军理 工大学 工程 兵工程 学 院 , 江苏 南京
2 00 ) 1 0 7
摘要 : 为满足 工程车辆控 制 系统的信 息化 和智能化 发展 需 求 , 设计 了基 于无线局 域 网的 工程 车辆
人 员现场控 制 的方 式 已经 不 适 应发 展 的需 要 。 因
而, 在信息 技 术 和 计 算 机 网络 技 术 迅 速 普 及 的今 天 , 以往 单机 检测监 控系统 和分布式 监控 系统 的 在 基 础上 , 立远程 监测 和控制 的研究具 有重 大的实 建 际意义 [_ 1。
图 3 模 糊 PI 控 制 器 结 构 D
在运行 中通 过不 断检 测 e c 根据模 糊控 制 和e ,
原 理来 对 PD 的 3个 参 数 进 行 在 线 修 改 , I 以满 足 不 同 e e 对控 制参 数 的要求 , 而 使被控 对象 有 和 c 从
移动车载终端
图 1 工 程 车 辆远 程控 制 系统 结 构 方 案 图
收稿 日期 :0 1 3—3 2 1 一O 1
作者简介 : 黄水军 (9 7一)男 , 18 , 江西鄱阳人 , 解放军理工大学硕 士研究生, 主要研究领域为远程控制 、 模糊控制 。
・
智能 控制 技术 ・
黄水 军
被控 对象 的精确 模 型 、 棒性 强 、算法 简 明易 懂 等 鲁 特点 , 比较 适 合 应 用 于 非 线 性 和不 确 定 性 控 制 对
象 。本 文设 计 的模 糊 P D控 制 器 , 是 用 以改 善 I 就 网络 时延 和丢包 等不 确定 因素 对控 制 系统 的影响 。 模 糊 P D控 制器 以误差 e和误 差变 化率 e I c作 为输 入 , 以满足 不 同时刻 的 和e 对 P D参数 自整 c I
无人驾驶车辆轨迹跟踪控制
无人驾驶车辆轨迹跟踪控制
无人驾驶车辆的轨迹跟踪控制是指控制车辆沿着规划好的路径运行,并在运行过程中实时调整车辆的行驶方向和速度,以保证车辆能够安全、稳定、高效地行驶。
下面介绍一些无人驾驶车辆轨迹跟踪控制的方法:
1.基于模型预测控制(MPC):MPC是一种优化控制方法,通过预测未来车辆的运动轨迹和状态变化,然后利用优化算法得出最优的控制策略,从而实现车辆的轨迹跟踪控制。
2.基于模糊控制:模糊控制是一种基于规则的控制方法,它能够对车辆运行过程中的不确定性因素进行有效的处理。
在无人驾驶车辆轨迹跟踪控制中,可以使用模糊控制方法来根据车辆运行状态和环境条件实时调整车辆的速度和方向,以实现轨迹跟踪控制。
3.基于逆向模型控制:逆向模型控制是一种反向控制方法,通过先建立一个反向模型,将目标轨迹映射到车辆控制输入,然后利用这个反向模型进行控制。
这种方法可以提高轨迹跟踪的精度和稳定性。
4.基于增量式PID控制:PID控制是一种经典的控制方法,在无人驾驶车辆轨迹跟踪控制中,可以采用增量式PID 控制方法,通过实时调整车辆的速度和方向来实现轨迹跟
踪控制。
总之,无人驾驶车辆的轨迹跟踪控制需要采用多种控制方法,结合实际情况进行选择和调整,以确保车辆能够稳定、高效地行驶。
同时,需要结合传感器、通信、数据处理等多种技术手段,共同实现无人驾驶车辆的轨迹跟踪控制。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、设计原理设计思想:油门控制采用增量式PID 控制算法,刹车控制采用模糊控制算法,最后通过选择规则进行选择控制量输入。
选择规则:首先定义速度偏差-50 km/h ≤e (k )≤50km/h ,-20≤ec= e (k )- e (k-1)≤20,阀值e swith =10km/h 。
若:e (k )<0① e (k )>- e swith and throttlr_1≠0 选择油门控制② 否则:先将油门控制量置0,再选择刹车控制 若:0<e (k ) 先选择刹车控制,再选择油门控制 若:e (k )=0 直接跳出选择 刹车控制:刹车采用模糊控制算法1.确定模糊语言变量e 基本论域取[-50,50],ec 基本论域取[-20,20],刹车控制量输出u 基本论域取[-30,30],这里我将这三个变量按照下面的公式进行压缩离散化:)]2(2[ba x ab n y +--= 其中,],[b a x ∈,n 为离散度。
e 、ec 和u 均取离散度n=3,离散化后得到三个量的语言值论域分别为:E=EC=U={-3,-2,-1,0,1,2,3}其对应语言值为{ NB,NM,NS,ZO, PS,PM,PB } 2.确定隶属度函数E/EC 和U 取相同的隶属度函数,边界选取钟形隶属度函数,中间取三角形隶属度函数,即:E EC U(,5,1)(,3,2,0)(,3,1,1)u (,2,0,2)(,1,1,3)(,0,2,3)(,1,5)g x trig x trig x trig x trig x trig x g x ∧∧--⎧⎪--⎪⎪--⎪=-⎨⎪-⎪⎪⎪⎩说明:边界选择钟形隶属度函数,中间选用三角形隶属度函数,图像略。
实际EC 和E 输入值若超出论域范围,则取相应的端点值。
3.模糊控制规则由隶属度函数可以得到语言值隶属度(通过图像直接可以看出)如下表:表1:E/EC 和U 语言值隶属度向量表设置模糊规则库如下表:表2:模糊规则表3.模糊推理由模糊规则表3可以知道输入E 与EC 和输出U 的模糊关系,这里我取两个例子做模糊推理如下:if (E is NB) and (EC is NM) then (U is PB)那么他的模糊关系子矩阵为:1211U EC E R R R R ⨯⨯=其中,711)0,,0,5.0,1(0⨯==ΛP R E ,即表1中NB 对应行向量,同理可以得到,712)0,,0,5.0,1,0(1⨯==ΛP R EC , 711)0,,0,5.0,1(0⨯==ΛP R U7721000000000005.05.00005.010)0,,0,5.0,1,0()0,,0,5.0,1(⨯⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=⨯=⨯ΛM M M M M M ΛΛΛΛΛTEC E R R49121)0,,0,5.0,5.0,0,0,0,0,0,5.0,1,0(⨯=ΛEC E R7491211000000005.05.00005.0100000)0,,0,5.0,1()0,,5.0,1,0(⨯⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=⨯=⨯=ΛM ΛM M M M ΛΛΛΛΛTU EC E R R R if (E is NB or NM) and (EC is NB) then (U is PB)21211()E E EC U R R R R R =⨯⨯U ,结果略。
按此法可得到27个关系子矩阵,对所有子矩阵取并集得到模糊关系矩阵如下:)27,,2,1(21ΛY ΛY Y ==i R R R R i由R 可以得到模拟量输出为:()U E EC R =⨯o4.去模糊化由上面得到的模拟量输出为1×7的模糊向量,每一行的行元素(u (z ij ))对应相应的离散变量z j ,则可通过加权平均法公式解模糊:21210()(1,2,,21)()ijji iji u zz u i j u z=====∑∑L从而得到实际刹车控制量的精确值u 。
油门控制:油门控制采用增量式PID 控制,即:)2()1()2()()()1()(-+---++++-=k e k k e k k k e k k k k u k u d d p d i p其中k i =kp ×ts/Ti ,d k =kp ×Td/ts 只需要设置p k 、Ti 、Td 三个参数即可输出油门控制量。
二、调整参数按照上述算法流程,应用MATLAB 进行仿真实现,在参数调试过程中采用如下方法:首先将油门和刹车分开进行调整参数,最后再将调整好的参数写入总程序中调整。
1.油门PID 参数调节油门只需要调整kp 、Ti 、Td 三个参数,根据经验,首先令Ti 、Td 为0,kp 由0逐渐增大,在增大kp 的过程可知,kp 越大系统调节时间越短并趋于稳定,在达到一定程度后,继续增大系统将出现波动。
time(s)v d ,ytime(s)v d ,ykp=0.1kp=0.4time(s)v d ,ykp=0.9调节Ti 的过程发现,Ti 对系统稳定性影响并不大,将Ti 由10增大到30的过程中系统输出没有变化。
time(s)v d ,ytime(s)v d ,yTi=10 Ti=30在给Td 赋值时,最开始从1增大,发现系统越来越不稳定,于是逐渐减小,到0.003时趋于稳定,它的可调节范围很小,随其值的减小最大误差值逐渐减小,增大则系统趋于不稳定。
time(s)v d ,ytime(s)v d ,ykp=0.001 kp=0.002time(s)v d ,ykp=0.0032.刹车调节首先,为了适应该系统,将刹车输出量限制在[-150,150]之内(最初设计其范围为[-30,30]),对于该控制,可调节参数较多,包括隶属度函数、模糊规则表、输入输出变量区间、语言值论域、模糊推理及解模糊方法等等,这里由于模糊规则需要经验设定,本算法没有实际参考,所以这里只调整规则表,其他参数固定不变。
由于实际刹车控制中对于加速采取比较单一的置零(在选择规则中设定)输出,所以在规则表中e<0部分没有规则,然而为了仿真方与此同时,将刹车的输出变量取反,以此来实现减速的效果!在调整模糊规则表的时候,必须依据输入变量e 和ec 的范围逐个检验,按照他们各自的语言值以及相应的输出语言值进行调整。
例如,初始速度为50,期望速度为0,即e=-50,ec=-50,则此时输出对应模糊规则表中第一行第一列PB ,而下一时刻ec 几乎为0,所以在调节过程中,主要进行对EC 变量的ZO 行进行调节,若响应时间短,则增大相应输出语言值,反之亦然。
仿真时,分两段,首先加速,之后减速,采用上面的模糊规则表,得到如下图像:time(s)v d ,y从图像的上升阶段分析可以看出,其加速阶段并不能达到稳态值,但对于刹车控制可以忽略其影响,而减速阶段实际上已经比较理想,我取稳态误差达到5%稳定,则此规则达到稳态的时间为7.4s ,这里尝试进行如下修改,将规则表中带下划线的部分以此改为:PM,PS,PS,ZO,即,增大了输出语言值。
则得到如下图像:time(s)v d ,y此规则达到稳定的时间为6.9s ,由此分析模糊规则的调整规则如下:若想加快响应时间,增大误差和误差变化率负大区域附近的输出语言值,并增大误差变化率零区域附近的输出语言值,可能还会引起超调量的增大,所以只需做临近语言值之间的变化。
3.整体调节此时将刹车与油门同时加到仿真模型中,分别做加速和减速仿真,依据分别调节时的规律做微量调节就可以基本达到要求。
time(s)v d ,y4.待解决问题在调试过程中发现,油门控制(PID )过程在达到稳态时出现抖动,并且三个参数对他的影响很小,具体原因待考证;油门控制给系统的输入值出现大波动,每一次达到峰值持续相同时间后变为0再持续一段时间又变为峰值;模糊控制的语言值论域较小,对于扩大语言值论域对系统的影响还有待验证;模糊控制的输入变量压缩方式有待验证其合理性;模糊控制与PID控制的相互配合,在该程序中,由于两种控制的输出控制量不同,在给到仿真系统时很难统一;油门与上车的选择规则与实际系统还存在很大的改进。
附录MATLAB仿真程序function kk=bingji(A)for i=1:49for k=1:7for j=1:26n=7*j+k;if(A(i,k)>=A(i,n))kk(i,k)=A(i,k);elseA(i,k)=A(i,n);kk(i,k)=A(i,k);endendendendfunction o=dikaer(A,n,B,N)for i=1:nfor j=1:Nif(A(i)<=B(j))C(i,j)=A(i);elseC(i,j)=B(j);endo=C;endendreturn;function T=flisan(a,b,n,x)y=(a+b)/2+(b-a)*x/(2*n);T=round(y);return;function mm=bell(x,a,b,c)z=abs((x-c)/a)^(2b);y=1/(1+z);mm=y;return;function ooo=jbing(A,B)for i=1:49for j=1:7if(A(i,j)<B(i,j))A(i,j)=B(i,j);endendooo=A;endreturn;function MM=jdikaer(A,n,B,m) for i=1:mfor j=1:nif(A(j)<B(j,i))B(j,i)=A(j);endendMM=B;endreturn;function oo=jiao(A,B)for i=1:7for j=1:7if(A(i,j)>B(i,j))A(i,j)=B(i,j);endendoo=A;endreturn;function mm=lbell(x,a,b,c)if(x<c)mm=1;elsez=(x-c)/a;v=abs(z);n=v^(2*b);y=1/(1+n);mm=y;endreturn;function L=lisan(a,b,n,x)y=2*n*x/(b-a)-n*(a+b)/(b-a); L=y;return;function UU=max(A)for i=1:7for j=1:49if(A(j,i)>=Q(i))Q(i)=A(i,j);endendUU=Q;endreturn;function sum1=mean(U)a=[-3 -2 -1 0 1 2 3];sum2=0;sum3=0;for i=1:7sum2=sum2+U(i);sum3=sum3+U(i)*a(i);endsum1=sum3/sum2;return;function mm=rbell(x,a,b,c) if(x>c)mm=1;elsez=(x-c)/a;v=abs(z);n=v^(2*b);y=1/(1+n);mm=y;endreturn;function mww=trig(x,a,b,c) if(x<=a)mww=0;elseif(x>a&&x<=b)mww=(x-a)/(b-a);elseif(x>b&&x<=c)mww=(c-x)/(c-b);elseif(x>c)mww=0;endendendendreturn;function ooo=xbing(A,B)for i=1:7if(A(i)<B(i))A(i)=B(i);endooo=A;endreturn;clear all%************************Ä£ºýËã·¨%/*********Á¥Êô¶ÈÏòÁ¿*****%P0=[1,0.5,0,0,0,0,0];%*********NBP1=[0,1,0.5,0,0,0,0];%*********NMP2=[0,0.5,1,0.5,0,0,0];%*********NSP3=[0,0,0.5,1,0.5,0,0];%*********ZOP4=[0,0,0,0.5,1,0.5,0];%*********PSP5=[0,0,0,0,0.5,1,0];%*********PMP6=[0,0,0,0,0,0.5,1];%*********PB%***********ÓïÑÔÖµ*****%NB=-3;NM=-2;NS=-1;ZO=0;PS=1;PM=2;PB=3;%/*********Ä£ºý¹æÔò±í*****%Pg=[PB PB PM PM PS ZO ZO;PB PM PM PS ZO ZO NS;PM PM PS PS ZO NS NS;PM PS PS ZO ZO NS NM;PS PS ZO ZO ZO NS NM;PS ZO ZO ZO NS NM NB;ZO ZO ZO NS NM NM NB];%/*********¸ù¾ÝÄ£ºý¹æÔò±í¼ÆËãÄ£ºý¹Øϵ¾ØÕóR*****% R1_=dikaer(xbing(P0,P1),7,P0,7);R1_=reshape(R1_,1,49);R1=dikaer(R1_,49,P6,7);R2_=dikaer(xbing(P2,P3),7,P0,7);R2_=reshape(R2_,1,49);R2=dikaer(R2_,49,P5,7);R3_=dikaer(P0,7,P1,7);R3_=reshape(R3_,1,49);R3=dikaer(R2_,49,P6,7);R4_=dikaer(xbing(P1,P2),7,P1,7);R4_=reshape(R4_,1,49);R4=dikaer(R4_,49,P5,7);R5_=dikaer(P3,7,P1,7);R5_=reshape(R5_,1,49);R5=dikaer(R5_,49,P4,7);R6_=dikaer(xbing(P0,P1),7,P2,7);R6_=reshape(R6_,1,49);R6=dikaer(R6_,49,P5,7);R7_=dikaer(xbing(P2,P3),7,P2,7);R7_=reshape(R7_,1,49);R7=dikaer(R7_,49,P4,7);R8_=dikaer(P0,7,P3,7);R8_=reshape(R8_,1,49);R8=dikaer(R8_,49,P5,7);R9_=dikaer(xbing(P1,P2),7,P3,7);R9_=reshape(R9_,1,49);R9=dikaer(R9_,49,P4,7);R10_=dikaer(P3,7,P3,7);R10_=reshape(R10_,1,49);R10=dikaer(R10_,49,P3,7);R11_=dikaer(xbing(P0,P1),7,P4,7); R11_=reshape(R11_,1,49);R11=dikaer(R11_,49,P4,7);P45=xbing(P4,P5);R12_=dikaer(xbing(P2,P3),7,P45,7); R12_=reshape(R12_,1,49);R12=dikaer(R12_,49,P3,7);R13_=dikaer(P0,7,P5,7);R13_=reshape(R13_,1,49);R13=dikaer(R13_,49,P4,7);R14_=dikaer(P1,7,P5,7);R14_=reshape(R14_,1,49);R14=dikaer(R14_,49,P3,7);P01=xbing(P0,P1);R15_=dikaer(xbing(P01,P2),7,P6,7); R15_=reshape(R15_,1,49);R15=dikaer(R15_,49,P3,7);R16_=dikaer(P3,7,P6,7);R16_=reshape(R16_,1,49);R16=dikaer(R16_,49,P2,7);R17_=dikaer(P4,7,P0,7);R17_=reshape(R17_,1,49);R17=dikaer(R17_,49,P4,7);R18_=dikaer(xbing(P5,P6),7,P0,7); R18_=reshape(R18_,1,49);R18=dikaer(R18_,49,P3,7);R19_=dikaer(xbing(P4,P5),7,P1,7); R19_=reshape(R19_,1,49);R19=dikaer(R19_,49,P3,7);R20_=dikaer(P6,7,xbing(P1,P2),7); R20_=reshape(R20_,1,49);R20=dikaer(R20_,49,P2,7);P23=xbing(P2,P3);R21_=dikaer(P4,7,xbing(P23,P4),7); R21_=reshape(R21_,1,49);R21=dikaer(R21_,49,P3,7);R22_=dikaer(P5,7,xbing(P23,P4),7);R22_=reshape(R22_,1,49);R22=dikaer(R22_,49,P2,7);R23_=dikaer(P6,7,xbing(P3,P4),7);R23_=reshape(R23_,1,49);R23=dikaer(R23_,49,P1,7);R24_=dikaer(P4,7,P5,7);R24_=reshape(R24_,1,49);R24=dikaer(R24_,49,P2,7);R25_=dikaer(P5,7,P5,7);R25_=reshape(R25_,1,49);R25=dikaer(R25_,49,P1,7);R26_=dikaer(P6,7,xbing(P6,P5),7);R26_=reshape(R26_,1,49);R26=dikaer(R26_,49,P0,7);R27_=dikaer(xbing(P4,P5),7,P6,7);R27_=reshape(R27_,1,49);R27=dikaer(R27_,49,P1,7);m=[R1,R2,R3,R4,R5,R6,R7,R8,R9,R10,R11,R12,R13,R14,R15 ,R16,R17,R18,R19,R20,R21,R22,R23,R24,R25,R26,R27];R=bingji(m);%*************³õʼ»¯±äÁ¿e=0;ec=0;y_1=0;y_2=0;u=0;u_1=0;u_2=0;u_3=0;e_1=0;e_2= 0;Eswith=10;throttle_1=0;brake_1=0;x=[0 0 0];ts=0.001;sys=tf(1,[1,2,1],'inputdelay',0.5);dsys=c2d(sys,ts,'zoh');[num,den]=tfdata(dsys,'v');for k=1:1:40000%****************¿ØÖÆϵͳtime(k)=k*ts;if(k<20000)vd(k)=50;elsevd(k)=0;endy(k)=-den(2)*y_1-den(3)*y_2+num(2)*u_1+num(3)*u_2;e=vd(k)-y(k);ec=e-e_1;u_3=u_2;u_2=u_1;u_1=u;y_2=y_1;y_1=y(k);x(1)=e;x(2)=(e-e_1)/ts;x(3)=x(3)+e*ts;%*******************************ÓÍÃÅ¿ØÖÆkp=0.42;Ti=30;Td=0.0018;%*** vd(k)=1% kp=0.42;Ti=30;Td=0.0018;%*** vd(k)=1% kp=0.0015;Ti=0.01;Td=0.002;%***vd(k)=1*time(k)+10 % kp=0.0015;Ti=0.001;Td=0.002;%***vd(k)=1*time(k)^2+time(k)+2;ki=kp*ts/Ti;kd=kp*Td/ts;dthrottle=kp*x(1)+kd*x(2)+ki*x(3);throttle=u_1+dthrottle;if(throttle>2000)throttle=2000;endif(throttle<-2000)throttle=-2000;end%****************************ɲ³µ¿ØÖÆ%/*********ѹËõÊäÈë±äÁ¿*****%E=lisan(-50,50,3,e);EC=lisan(-20,20,3,ec);%/*********¼ÆËãʵ¼ÊÎó²î¡¢Îó²î±ä»¯ÂʵÄÁ¥Êô¶ÈÏòÁ¿*****% E_R(1)=lbell(E,1,4,-3);E_R(2)=trig(E,-3,-2,0);E_R(3)=trig(E,-3,-1,1);E_R(4)=trig(E,-2,0,2);E_R(5)=trig(E,-1,1,3);E_R(6)=trig(E,0,2,3);E_R(7)=rbell(E,1,4,3);EC_R(1)=lbell(EC,1,4,-3);EC_R(2)=trig(EC,-3,-2,0);EC_R(3)=trig(EC,-3,-1,1);EC_R(4)=trig(EC,-2,0,2);EC_R(5)=trig(EC,-1,1,3);EC_R(6)=trig(EC,0,2,3);EC_R(7)=rbell(EC,1,4,3);%/*********¼ÆËãÄ£ºýÁ¿Êä³ö*****%U_R1=dikaer(E_R,7,EC_R,7);U_R1=reshape(U_R1,1,49);U_R2=jdikaer(U_R1,49,R,7);U_R=max(U_R2);u_L=mean(U_R);%ÐèÒª¸Ä½ø%/*********¼ÆË㾫ȷÁ¿Êä³ö*****%brake=-flisan(-2000,2000,3,u_L);e_2=e_1;e_1=e;%/************************Ñ¡Ôñ¹æÔòif (e<0)if ((e>-Eswith)||(throttle_1~=0))if(throttle<=throttle_1)throttle_1=throttle;% throttle_1=throttle_1-throttle; u=throttle;Q(k)=u;W(k)=0;elsethrottle=0;throttle_1=throttle;u=throttle;Q(k)=u;W(k)=0;endelseif(throttle_1==0)brake_1=brake;u=brake;W(k)=u;Q(k)=0;elsethrottle=0;throttle_1=throttle;u=throttle;Q(k)=u;W(k)=0;endendelseif(e~=0)if(brake_1==0)throttle_1=throttle;u=throttle;Q(k)=u;W(k)=0;elsebrake=0;brake_1=brake;u=brake;endelseu=0;W(k)=0;Q(k)=0;endend%********************»-ͼÊä³öÁ¿¶¨ÒåM(k)=u;N(k)=e;%******************************³ÙÖÍ»·½Úif (time(k)<=0.5)u=0;elseu=M(k-0.5/ts);endend% »-ͼfigure(1);plot(time,vd,'r',time,y,'k','linewidth',2); xlabel('time(s)');ylabel('vd,y');legend('ÆÚÍû','ʵ¼Ê');figure(2);plot(time,Q,'r',time,W,'k','linewidth',2); xlabel('time(s)');ylabel('u');figure(2);plot(time,Q,'r','linewidth',2);xlabel('time(s)');ylabel('u');figure(3);plot(time,W,'r','linewidth',2);xlabel('time(s)');ylabel('u');figure(4);plot(time,N,'b'); xlabel('time£¨s£©'); ylabel('e');。