模糊控制算法PID算法比较分析

合集下载

机器人学中的控制算法技术

机器人学中的控制算法技术

机器人学中的控制算法技术随着科技的不断发展,机器人技术正在得到越来越广泛的应用。

而机器人学中的控制算法技术是机器人技术中的一个重要领域。

一、传统控制算法技术在机器人学中,传统的控制算法技术主要有PID控制和模糊控制。

PID(Proportional-Integral-Derivative)控制是一种分析和控制过程输出的稳定性的控制算法。

在机器人应用中,PID控制可以用于机器人的运动控制和位置控制。

PID控制器通过比较实际测量值与目标设定值之间的差异,计算出相应的控制量,从而实现对机器人的控制。

模糊控制是一种基于模糊逻辑的控制技术。

它不需要精确的模型或控制参数,通过对输入和输出之间的关系进行模糊化,实现对系统的控制。

模糊控制在机器人控制中的应用广泛,可以用于机械臂的控制、物体抓取、平衡控制等。

二、现代控制算法技术现代的控制算法技术主要有自适应控制和强化学习控制。

自适应控制是一种可以根据系统动态特性自动调整控制器参数的控制技术。

在机器人应用中,自适应控制可以用于控制机器人的外力干扰、变形补偿等。

强化学习控制是一种通过对系统的交互学习来优化控制策略的控制技术。

在机器人应用中,强化学习控制可以用于机器人的路径规划、决策制定等。

三、应用案例机器人技术在各个领域中都有广泛的应用。

以下是几个机器人学中控制算法技术应用的案例。

1. 机器人的运动控制机器人的运动控制是机器人控制的核心之一。

传统的PID控制器可以用于机器人的运动控制,而现代的自适应控制技术可以自适应地调整系统参数,实现更加精准的运动控制。

2. 机械臂的控制机械臂在工业自动化中的应用广泛,控制机械臂的动作是机器人学中重要的问题之一。

模糊控制器可以用于控制机械臂的位置和姿态,而强化学习控制可以用于机械臂的路径规划和决策制定。

3. 物体抓取机器人的物体抓取是机器人学中一个重要的问题。

强化学习控制可以通过对机器人的动作经验进行学习,实现对物体的自适应抓取。

模糊控制与PID控制的对比及其复合控制

模糊控制与PID控制的对比及其复合控制

Co a io n mp st f u z nrl n nr l mp r na dCo o i o z yCo t dPI Co t s e F oa D o
YANG h ・ o Байду номын сангаасU u - n S iy ng, G ol i
( . c o l f mp trYa ti i es yYa ti 6 0 5C ia 1 S h o Co ue, na v ri , na 4 0 hn ; o Un t 2 2 De at n lcr a gn eig Y na o ain olg , a ti 6 0 0Chn . pr me t f et c l ie r , a ti ct a C l e Y na 2 4 0 ia) oE i En n V ol e
o e s o t n h re e u aig t e e s , h I c n r le c st e v tt ro . t o i e h rt o h v rh o d s o tnr g lt i , le t eP D o to lra t or mo esai er r I c mb n steme is fte a n m c t o to to s a d i y t ei u lt sa eb t rt a ec m mo D o to n h a i u z o to . e woc n r l meh d , n ss n h t q aii r et h n t o t c e e h nPI c nr la dt eb scf z yc n r 1 Th
短、 优势互补 , 了一种模糊 PD复合 型控 制器 。 设计 I 该复合控制器根据偏差范围的大小 , 通过模糊控制与 PD 制的 自 I控 动切换

工业控制最常用的控制算法

工业控制最常用的控制算法

工业控制中必备的算法大全一、PID控制算法PID控制算法是最常用的一种工业控制算法,它是一种反馈控制算法,通过对被控制系统的测量值与期望值之间的差值进行比较,按照比例、积分和微分的系数来调整控制器的输出,使被控制系统稳定在设定的目标状态。

PID控制算法可以适用于各种各样的控制系统,包括温度、压力、流量、位置等控制系统。

二、模糊控制算法模糊控制算法是基于模糊逻辑的一种控制算法,与PID算法相比,模糊控制算法更适用于复杂的非线性系统控制。

模糊控制算法通过将输入变量与输出变量之间的关系表示为模糊规则,利用模糊推理引擎来控制被控制系统。

和PID控制算法相比,模糊控制算法更加适用于大量输入变量和复杂的非线性系统。

三、神经网络控制算法神经网络控制算法是基于神经网络理论的一种控制算法,它可以自适应地调节系统的控制参数。

神经网络控制算法可以根据过去的测量数据和控制输出值来自适应地调整神经网络的权重和阈值,以满足控制系统的要求。

神经网络控制算法可以适用于非线性、时变、参数变化等具有复杂动态性的工业控制系统。

四、遗传算法遗传算法是一种优化算法,可以用来解决复杂优化问题。

在工业控制中,遗传算法可以用来寻找最佳的控制参数。

遗传算法通过模拟自然界的进化过程来搜索最优解。

遗传算法将控制参数看做是染色体上的基因,通过交叉、突变等基因操作来生成新的染色体,逐步优化控制参数,直至得到最优解。

五、模型预测控制算法模型预测控制算法是一种基于模型的控制算法,它通过建立被控制系统的数学模型,预测未来的状态,并根据预测结果来生成控制信号。

模型预测控制算法能够适用于复杂的非线性系统,但需要建立准确的数学模型。

【结论】在工业控制中,PID控制算法是最为常用的控制算法,但是针对一些非线性、复杂的系统,模糊控制、神经网络控制、遗传算法和模型预测控制等算法也逐渐得到广泛应用,提高了工业控制技术的精度和效率。

模糊控制与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模糊控制算法

pid模糊控制算法

pid模糊控制算法PID模糊控制算法是一种常见的控制算法,可用于控制各种系统,如机械、电子、化学等。

PID模糊控制算法是基于PID控制算法和模糊控制算法的结合,通过模糊化处理PID控制算法的参数,使其更适应实际控制系统的特性,达到更好的控制效果。

PID控制算法是一种常见的控制算法,它通过不断调整控制器的比例、积分和微分系数,使系统的输出与期望输出尽可能接近,从而实现对系统的控制。

PID控制算法具有简单、稳定等特点,但在实际应用中,由于不同系统的特性不同,需要不断调整PID参数才能达到最优控制效果。

模糊控制算法是一种基于模糊逻辑的控制算法,它通过将模糊逻辑应用于控制系统中的输入和输出,实现对系统的控制。

模糊控制算法具有适应性强、能够处理非线性问题等特点,但需要大量的实验数据和人工经验才能确定模糊规则和隶属函数,且计算量较大。

PID模糊控制算法是将PID控制算法和模糊控制算法相结合的一种控制算法。

通过模糊化处理PID控制算法的参数,使其更适应实际控制系统的特性,达到更好的控制效果。

在PID模糊控制算法中,模糊化处理的方法可以采用模糊逻辑进行处理,也可以采用神经网络等方法进行处理。

PID模糊控制算法的基本步骤包括:确定系统模型、设计模糊控制器、模糊化处理PID参数、计算控制量、实现控制。

具体来说,首先需要确定系统的数学模型,包括系统的输入、输出、状态变量等。

然后,设计模糊控制器,包括模糊规则、隶属函数等。

接下来,将PID控制算法的参数进行模糊化处理,得到模糊PID控制算法的参数。

然后,计算控制量,根据控制量调整系统的输出。

最后,实现控制,将控制量输入到控制系统中进行控制。

PID模糊控制算法的优点在于能够克服PID控制算法的缺点,具有更好的适应性、稳定性和鲁棒性。

同时,由于模糊控制算法具有非线性处理能力,因此可以处理更加复杂的系统,提高控制精度和系统响应速度。

PID模糊控制算法是一种基于PID控制算法和模糊控制算法相结合的控制算法,具有更好的适应性、稳定性和鲁棒性,能够处理更加复杂的系统,提高控制精度和系统响应速度。

传统PID控制与模糊控制方法的仿真比较研究

传统PID控制与模糊控制方法的仿真比较研究

科技资讯科技资讯S I N &T NOLO GY I NFORM TI ON2008N O.07SCI EN CE &TECHN OLOG Y I NFOR M A TI O N高新技术传统PI D 控制是通过调整参数获得良好控制效果的,但参数整定值只具有一定局域性的优化值,全局控制效果不是很理想。

模糊控制器是近年来发展很快的一种新型控制器,它能方便地将专家的经验与推理输入计算机中,使计算机在控制时可以像人一样思考并解决问题,从而达到控制被控对象的目的。

本文利用M at l ab 仿真软件,分别将传统PI D 控制与模糊PI D 控制应用于交流伺服系统的控制中,并作了仿真比较研究。

1加入传统PI D 控制器的交流伺服电机系统的仿真对于交流伺服电机这一具有非线性、不确定性等特征的被控对象,我们可用近似的数学模型传递函数来表征系统在无转动惯量变化、无冲击和力矩干扰等情况下的系统的动态特性。

1.1程序法先用M at l ab 程序法,对该伺服电机系统进行传统PI D 控制模拟仿真,程序运行后结果为:加入传统PI D 控制器前后的幅值裕量分别为21.114(dB )和20.4876(dB ),相位裕量分别为18.3824度和63.5621度,最大超调量分别为59.0024%和20.5%;传统PI D 控制器加入前后的阶跃响应仿真曲线对比如图1所示。

1.2模块法为使传统PI D 控制产生更好的效果,可用模块法仿真加入传统PI D 控制器的伺服电机系统(即用M a t l ab/Si m ul i nk 的现成PI D 控制模块)中,仿真框图如图2所示。

在开关打到下面时,即接入PI D 控制器,在线根据经验反复调整PI D 控制器的kp 、kd 、ki 三个参数,当kp=7.6179,kd =0.1001,ki =144.868时,运行仿真得出的阶跃响应波形如图3所示,其控制效果的动态性能(调节时间t s =0.4s、超调量)比程序法好了不少,但控制精度还差些。

模糊控制与PID控制在机器人控制系统中的应用比较研究

模糊控制与PID控制在机器人控制系统中的应用比较研究

模糊控制与PID控制在机器人控制系统中的应用比较研究机器人控制系统是现代机器人技术的关键之一。

机器人控制系统通常由多种控制算法组合而成,以实现控制机构、传感器和执行器之间的有效沟通和合作。

其中,模糊控制和PID控制是被广泛应用的两种控制算法。

本文将对这两种控制算法进行比较研究,探讨它们在机器人控制系统中的应用情况。

1. 模糊控制模糊控制是一种基于模糊逻辑的控制技术,它使用模糊变量和规则来描述并控制非线性、模糊和复杂的系统。

模糊控制器通常包括模糊推理机、模糊集和模糊逻辑。

通过对输入变量的模糊化和规则的匹配,模糊控制器可以对机器人的动作进行柔性控制,从而满足不同场景下的控制需求。

在机器人控制系统中,模糊控制应用广泛。

例如,机器人的避障控制、路径规划控制和手臂控制等都可以采用模糊控制算法进行优化。

模糊控制有以下优点:1.1 适应复杂系统由于模糊控制算法能够实现非线性、模糊和复杂系统的控制,因此可以针对具有多种信号输入和输出的机器人进行调整和优化,使机器人的响应更为准确。

1.2 开发简单快速使用模糊控制进行机器人控制时,只需要基于模糊集、模糊逻辑和模糊推理等基本概念,即可实现所需的控制动作,而无需进行大量的复杂运算和数据处理,开发难度较小且开发速度快。

1.3 灵活性高机器人控制中的模糊控制通过对机器人动作的柔性控制,使得可实现与机器人环境之间的互动,等效于人的行为,因此其兼容性和灵活性更高。

2. PID控制PID控制器是一种基于比例、积分、微分(英文缩写P、I、D)三个参数的控制算法。

PID控制器能够检测到偏差、积分误差和微分误差,并结合比例系数、积分系数和微分系数,计算出一个控制动作,使机器人实现期望动作。

在机器人控制系统中,PID控制同样应用广泛。

例如,对于机器人的姿态控制、精密装配控制和行走活动控制等,PID控制都可以派上用场。

PID控制有以下优点:2.1 稳定性好PID控制器天然的误差反馈机制,使得可以有效地避免系统出现较大的误差,保证系统状态中的稳态性。

PID及模糊控制算法

PID及模糊控制算法

PID及模糊控制算法背景介绍PID控制是一种常见的控制方法,它通过不断调整系统的输出使得系统的反馈信号与参考信号趋于一致。

控制器的功能是计算出控制信号使得系统输出与参考信号的差值最小化。

PID控制器可以广泛应用于机械、电子、化工、航空等领域。

虽然在实际控制中,PID控制器的效果非常好,但是在某些场合,PID控制器无法满足要求。

因此,近年来,模糊控制算法得到了广泛发展和应用。

模糊控制算法采用模糊逻辑建立控制系统,能够处理一些非线性、复杂的系统,并且控制效果也非常不错。

PID控制算法PID控制器是由比例环节(P)、积分环节(I)和微分环节(D)组成的。

PID 控制器的原理如下:1.假设系统的输出为y,参考信号为r,控制器的输出为u;2.平衡方程为:u(t) = Kp * e(t) + Ki * ∫e(t)dt + Kd * de(t)/dt;其中e(t)= r(t) - y(t);3.将u(t)作为系统输入控制器,通过调节Kp、Ki和Kd参数使得系统输出y(t)达到参考信号r(t);4.在实际应用中,PID控制器常根据具体需要对Kp、Ki和Kd参数进行调整。

虽然PID控制器能够有效地控制系统,提高系统稳定性和精度,但是在一些非线性、时变、复杂的系统中,其控制效果并不理想。

模糊控制算法模糊控制算法是一种基于模糊逻辑的控制算法,它通过建立模糊推理规则,实现输出和输入的模糊化和去模糊化。

模糊控制器的基本结构如下:1.模糊化:将输出和输入变量映射为模糊集合,通过模糊运算得到规则库中的模糊。

2.规则库:建立模糊推理规则,将模糊化的输出和输入变量映射到规则库中,得到模糊。

3.去模糊化:将模糊映射为实际控制信号,并输出到被控制系统。

模糊控制算法能够有效地处理非线性、复杂的控制问题,并且其控制效果也非常优秀。

尤其是在多变量控制、非线性控制、自适应控制等方面得到了广泛应用。

模糊PID控制算法模糊PID控制算法综合了PID控制算法和模糊控制算法的优点,是一种非常优秀的控制方法。

数字电源常用控制算法

数字电源常用控制算法

数字电源常用控制算法数字电源的控制算法是指用于调节和控制数字电源输出电压和电流的计算方法和策略。

数字电源控制算法的设计和实现对于数字电源的性能和稳定性具有重要影响。

本文将介绍几种常用的数字电源控制算法。

一、PID控制算法PID控制算法是一种经典的控制算法,在数字电源控制中得到了广泛应用。

PID控制算法通过对输出电压和电流与设定值之间的误差进行比例、积分和微分的运算,来调节控制器的输出信号,实现对数字电源输出的精确控制。

PID控制算法具有简单、稳定、易于实现的特点,在数字电源控制中表现出较好的性能。

二、PWM控制算法PWM控制算法是一种将输入信号转换为脉冲宽度调制信号的控制算法。

在数字电源控制中,PWM控制算法通过调节输出脉冲的占空比来控制数字电源输出的电压和电流。

PWM控制算法具有快速响应、高精度和高效率的特点,在数字电源控制中得到了广泛应用。

三、模糊控制算法模糊控制算法是一种基于模糊逻辑推理的控制算法。

在数字电源控制中,模糊控制算法通过建立模糊规则库和模糊推理机制,将输入信号的模糊化处理和输出信号的去模糊化处理相结合,实现对数字电源输出的控制。

模糊控制算法具有较好的鲁棒性和适应性,能够有效应对数字电源输出的非线性和不确定性。

四、神经网络控制算法神经网络控制算法是一种基于神经网络模型的控制算法。

在数字电源控制中,神经网络控制算法通过训练神经网络模型,将输入信号映射为输出信号,实现对数字电源输出的控制。

神经网络控制算法具有较好的自适应性和学习能力,能够适应数字电源输出的动态变化和非线性特性。

五、遗传算法控制算法遗传算法控制算法是一种基于进化计算的控制算法。

在数字电源控制中,遗传算法控制算法通过建立适应度函数和遗传操作,对控制参数进行优化,实现对数字电源输出的控制。

遗传算法控制算法具有全局搜索能力和较好的优化效果,能够找到数字电源控制的最优解。

六、模型预测控制算法模型预测控制算法是一种基于数学模型的控制算法。

智能家居系统中的温控算法研究

智能家居系统中的温控算法研究

智能家居系统中的温控算法研究随着科技的发展,智能家居系统已成为人们生活中必不可少的一部分。

智能家居系统能够为家庭提供智能化的控制功能,使家庭更加便捷、舒适和安全。

其中,温控技术是智能家居系统重要的一部分,能够根据室内外温度、时间等因素自动调节室温,为居住者创造更加舒适的环境。

本文将介绍智能家居系统中的温控算法研究,包括传统的PID控制和新兴的模糊控制、神经网络控制等。

1. 传统的PID控制算法PID控制是传统的温控算法之一,其基本思想是根据系统的误差、积累误差和微分误差来控制输出。

智能家居系统中,PID控制通常由温度传感器和执行器组成,能够快速、准确地控制温度。

PID控制算法利用比例系数、积分系数和微分系数来控制输出,具有稳定性好、响应速度快等优点。

但是,PID控制算法需要对系统进行较为精确的模型建立和参数调整,对于复杂的系统计算量较大,调优困难。

2. 模糊控制算法随着人工智能的发展,模糊控制算法逐渐得到应用。

模糊控制算法能够利用“模糊”的概念来处理复杂的系统和模糊的输入。

在智能家居系统中,模糊控制算法能够根据事先设定的模糊规则和模糊量化函数来控制输出。

具有适应性强、容错性好等优点。

模糊控制算法是基于人类经验和知识,对于一些人类难以准确描述的问题具有较好的处理能力。

但是,模糊控制算法需要提前设定模糊规则和模糊量化函数,对于系统变化较大的情况下需要进行反复的调整。

同时,模糊控制算法计算量较大,对于高速控制系统不够适用。

3. 神经网络控制算法神经网络控制算法是近年来发展较为迅速的一种温控算法,能够利用大量的历史数据进行学习和预测。

神经网络控制算法能够自适应地学习系统特性,对于时间变化较大的系统具有较好的适应性。

在智能家居系统中,神经网络控制算法能够通过学习历史数据来预测当前的温度变化情况,并根据预测结果进行相应的调节。

具有适应性好、预测能力强等优点。

但是,神经网络控制算法需要大量的历史数据进行学习,对于新系统需要较长时间的训练和调试。

DC/DC变换器模糊控制和PID控制比较研究

DC/DC变换器模糊控制和PID控制比较研究
调 节器 设计 . 用 Ma a 运 t b软件 的 SS 设计 工 具 对 l IO 变 换 器 频 率特 性 进 行 补 偿 ,可 直 观 的 设计 调 节 器 达 到 良好 效 果 。经 设 计 , I P D调 节 器 可 用 G ( ) s =
特 定 工作 点 Q , R) 控制 到输 出 电压 的 ( D, 处
ma c s u i g t e e t o c n r l r ae c mp e a e n h x e me t e u s p ro e y r tt p f a n e sn h s w o tol s r o a d b s d o t e e p r n a r s h ef r d b a p o oy e o e r i l m
摘要 : 糊控 制器 因 具有控 制鲁 棒性 强 , 模 设计 不 依赖 于被控 对 象精 确模 型等 优 点而 逐渐 应用 在 电力 电子变 换 器 中。以 B ot 换器 为例 , os变 从设计 方法 、 具体 工程 实现和 实验 结果三方 面对传 统线性 比例积 分微 分 (i ) ro 控制 器和模 糊控 制器进 行 了对 比分析 。详细 阐述 了 PD控制 器和 模糊控 制器 的设 计方 法 , I 对其 设计 的侧 重 点进行 了对 比。 过实验 对 比 了线性 PD控 制器 与模糊控 制器 的控制 性能 。 通 I 实验结 果表 明 , 糊控 制技 术相对 于线性 模

个 比例 环 节 , : 即
H( ) 1G , G () 1 s= / : / () 4

(I ) 厂

1V ] hS
调节器
一 V c} D =
&J -
: ;

电气工程中的自动化控制算法

电气工程中的自动化控制算法

电气工程中的自动化控制算法自动化控制算法在电气工程中扮演着重要的角色,它们能够有效地控制和管理各种电气系统。

本文将介绍几种常见的自动化控制算法,包括PID控制、模糊控制和神经网络控制,并探讨它们在电气工程中的应用。

一、PID控制算法PID(Proportional-Integral-Derivative)控制算法是最常用的自动化控制算法之一。

它通过测量偏差值、积分误差和差分误差来调整输出信号,从而实现系统的稳定控制。

PID控制算法的数学模型如下:u(t) = Kp * e(t) + Ki * ∫e(t)dt + Kd * de(t)/dt其中,u(t)是输出信号,e(t)是偏差值,Kp、Ki和Kd分别是比例、积分和微分系数。

PID控制算法广泛应用于电气工程领域,例如电机控制、温度控制和压力控制。

它通过调节输出信号的权重,使系统能够迅速响应变化并保持稳定。

二、模糊控制算法模糊控制算法基于模糊逻辑理论,它能够处理模糊输入和模糊输出。

相比于传统的二值逻辑,模糊逻辑允许更加灵活的推理和决策。

模糊控制算法的核心是模糊推理系统,它由模糊集合、模糊规则和模糊推理机制组成。

通过模糊集合的隶属度函数和模糊规则的匹配度,模糊推理系统可以根据输入信息生成相应的模糊输出。

在电气工程中,模糊控制算法被广泛应用于电力系统、电网优化和风力发电等领域。

它能够适应复杂的环境和非线性的系统,并具有较强的鲁棒性和鲁棒性。

三、神经网络控制算法神经网络控制算法是一种基于神经网络模型的自动化控制算法。

它通过训练神经网络来学习和逼近系统的输入和输出之间的映射关系,从而实现控制目标。

神经网络控制算法的基本思想是将控制问题转化为模式识别问题。

通过调节神经网络的连接权重和阈值,神经网络可以逼近复杂的控制系统,并具有良好的泛化能力。

在电气工程中,神经网络控制算法被广泛应用于电力系统、智能电网和能源管理等领域。

它能够处理大规模和高复杂度的电气系统,并具有较强的自适应能力和鲁棒性。

PID控制与模糊控制比较

PID控制与模糊控制比较

PID控制与模糊控制的比较专业:控制理论与控制工程班级:级班姓名:X X X学号:xxxxxxxxxxxxxx摘要:介绍了PID控制系统和模糊控制系统的工作原理。

PID控制器结构简单,实现简单,控制效果良好,已经得到了广泛的应用。

而模糊控制器相对复杂,但在许多的智能化家用电器中也得到了大量应用。

但对于一个简单的系统来讲,哪一种控制方法更好,是不是越智能的控制就能得到越好的效果。

关键词:PID控制,模糊控制,比较Abstract: Introduced the working principle of PID control system and fuzzy control system. PID controller structure is simple, implementation is simple, the control effect is good, has been widely used. And fuzzy controller is relatively complicated, but in a lot of intelligent household appliances also received a large number of applications. But for a simple system, which kind of control method is better, is weather the intelligent control can obtain the good effect.Key words: PID control, fuzzy control, compare目录一、问题的提出 (1)二、PID控制器的设计 (2)1.PID控制原理图: (2)2.PID控制器传递函数的一般表达式 (2)三、模糊控制器的设计 (3)1.模糊控制原理图 (3)2.模糊控制器传递函数一般表达形式 (4)四、系统仿真 (4)五、总结 (14)参考文献: (15)一、问题的提出当今的自动控制技术都是基于反馈的概念。

控制系统参数优化算法的综述及比较

控制系统参数优化算法的综述及比较

控制系统参数优化算法的综述及比较引言:控制系统参数优化是控制理论与应用中的重要研究方向之一。

通过调整控制系统中的参数,可以改善系统的性能指标,提高系统的稳定性、响应速度和抗干扰能力。

针对不同的控制系统和性能需求,研究者提出了许多参数优化算法。

本文将综述常用的控制系统参数优化算法,并进行比较分析,旨在为研究者提供选择合适算法的参考。

一、PID算法PID(比例-积分-微分)算法是目前最常用的控制系统参数优化算法之一。

PID算法根据系统的误差、偏差和变化率进行计算,通过调整比例、积分和微分增益参数,可以实现系统的稳定控制和良好的响应速度。

PID算法简单易懂,计算速度快,但对于非线性系统和时变系统效果有限。

二、遗传算法遗传算法是一种模拟生物进化过程的优化算法,通过模拟遗传、变异和选择等操作,在参数空间中搜索最优解。

遗传算法具有全局优化能力,适用于非线性、多约束的复杂系统。

遗传算法的优点是可以通过引入随机性来避免陷入局部最优解,但算法收敛速度较慢,需要大量的计算资源。

三、模糊控制算法模糊控制算法模拟人类的模糊推理过程,基于模糊逻辑进行控制规则的设计。

模糊控制算法适用于具有模糊规则和模糊输入输出的系统,可以处理一些非精确性和模糊性较强的问题。

模糊控制算法的优点是简化了控制系统的建模过程,但在应对高精度控制和复杂的非线性系统时表现一般。

四、人工神经网络算法人工神经网络算法模拟人脑的神经网络结构和工作方式,通过学习和适应来进行参数优化。

人工神经网络算法适用于非线性、时变的系统,能够处理大量的输入输出数据。

人工神经网络算法的优点是具有自适应能力和非线性逼近能力,但需要大量训练数据和较长的训练时间。

五、粒子群优化算法粒子群优化算法模拟鸟群觅食行为,并通过互相通信和合作来搜索最优解。

粒子群优化算法具有简单、快速和全局搜索能力的优点,对于参数优化问题具有一定的适应性。

但在处理高维参数空间和复杂约束时效果较差。

六、灰色系统理论灰色系统理论通过将数据处理为灰色数列,利用灰色关联度分析和灰色预测等方法来进行参数优化。

模糊控制与传统PID控制比较

模糊控制与传统PID控制比较

模糊控制与传统PID控制比较引言:模糊控制不需要确定系统的精确数学模型,是一种基于规则的控制。

模糊控制在智能控制领域由于理论研究比较成熟、实现相对比较简单、适应面宽而得到广泛的应用。

不论是对复杂的水泥回转窑的控制,还是在智能化家用电器中的应用,模糊控制都充当着重要的角色。

一个典型工业过程通常可以等效为二阶系统加上一个非线性环节(如纯滞后),给出如下典型控制对象传递函数的一般形式:Gp(s)=K*e-τs/(T1s+1)(T2s+1)PID控制:PID控制是自动控制领域产生最早、应用最广的一种控制方法。

PID控制原理图:PID控制器传递函数的一般表达式为:Gc(s)=kp+ki/s+kd*skp为比例增益;ki为积分增益;kd为微分增益控制器的关键是确定三个增益值,在simulink中搭建PID系统控制模型如下图示:PID仿真结果:模糊控制:模糊控制是运用语言归纳操作人员的控制策略,运用变量和模糊集合理论形成控制算法的一种控制。

模糊控制原理框图:一个基本模糊控制器主要有三个功能:(1)模糊化:把精确量(如偏差e和偏差变化ec)转化为相应的模糊量(E、EC);(2)模糊推理:按总结的语言规则(模糊控制规则表)进行模糊推理;(3)模糊判决:把推理结果(U)从模糊量转化为可以用于实际控制的精确量(u)模糊控制器的基本机构设计模糊控制器主要步骤:1.选择偏差e、偏差变化ec和控制量u的模糊语言变量为E、EC和U。

根据e、ec和u实际的基本论域,设定E、EC 和U论域都为[-6,6],可以确定出量化因子Ke、Kc和比例因子Ku。

2.选取E、EC和U的各语言变量直,正大PB,正中PM,正小PS,零ZE,负小NS,负中NM,负大NB,它们各自在论域上的模糊子集隶属度函数均为三角形,3.根据总结的人工操作策略设计出模糊控制策略表:ek=yr-yk △ek=ek-ek-1模糊规则:eu NB NM NS ZE PS PM PBde PB ZE PS PS PM PM PB PB PM NS ZE PS PS PM PM PB PS NS NS ZE PS PS PM PM Z NM NS NS ZE PS PS PM NS NM NM NS NS ZE PS PS NM NB NM NM NS NS ZE PS NB NB NB NM NM NS NS ZE3.选择一种模糊判决方法,将控制量由模糊量变为精确量,这个过程叫做“去模糊化”,这里采用“面积平分法”仿真结果:总结:设给定r为单位阶跃输入,通过改变控制对象象的参数,在同一坐标内观察它们的输出y响应曲线对两种控制方案的性能进行对比分析,模糊控制器比PID控制器,动态性能很好,上升速度快,基本没有超调。

PID及模糊控制算法

PID及模糊控制算法

PID及模糊控制算法PID控制算法是一种传统的控制算法,它通过对系统的误差进行测量并相应地调整控制器的输出来实现系统稳定和精确控制。

PID算法是基于系统的反馈控制原理设计的,并广泛应用于各种工业系统中。

PID控制算法由三个参数组成:比例项(P),积分项(I)和微分项(D)。

比例项根据当前误差的大小进行控制输出,积分项根据历史误差的累积进行控制输出,微分项根据误差变化的速率进行控制输出。

这三个项的组合使用可以使系统具有快速响应、稳定性和抗干扰能力。

比例项的作用是根据当前误差对控制器的输出进行调整。

当误差较大时,比例项可以使控制器更快地对系统进行调整,以减小误差。

然而,如果比例项过大,就可能导致系统产生振荡甚至不稳定。

积分项的作用是根据历史误差的累积对控制器的输出进行调整。

当系统存在静态误差时,积分项可以通过积累误差来逐渐减小静态误差。

然而,积分项过大可能导致系统产生超调或过冲现象。

微分项的作用是根据误差变化的速率对控制器的输出进行调整。

微分项可以通过反馈误差的变化率来提前调整控制器的输出,以减小误差的变化速率。

然而,由于微分项对高频噪声敏感,过大的微分项可能导致系统产生振荡。

模糊控制算法是一种基于模糊逻辑的控制算法,它能够处理非线性和模糊性问题。

模糊控制算法通过将输入和输出的模糊集合和一组模糊规则进行匹配,来确定控制器的输出。

模糊控制算法适用于无法准确建立系统数学模型或系统模型非常复杂的情况下。

模糊控制算法主要由三个部分组成:模糊化、推理和解模糊化。

模糊化将输入和输出的实际值通过模糊化函数转换为模糊集合,推理根据一组模糊规则来确定控制器的输出模糊集合,解模糊化将输出模糊集合通过解模糊化函数转换为实际值作为控制器的输出。

模糊控制算法中的模糊集合和模糊规则的设计通常需要经验和专业知识。

模糊集合的划分和隶属函数的选择会对控制器的性能产生重要影响。

模糊控制算法的设计也需要进行系统的调试和优化,以获得最佳的控制效果。

模糊控制与传统PID控制比较

模糊控制与传统PID控制比较

模糊控制与传统PID控制比较引言:模糊控制不需要确定系统的精确数学模型,是一种基于规则的控制;模糊控制在智能控制领域由于理论研究比较成熟、实现相对比较简单、适应面宽而得到广泛的应用;不论是对复杂的水泥回转窑的控制,还是在智能化家用电器中的应用,模糊控制都充当着重要的角色;一个典型工业过程通常可以等效为二阶系统加上一个非线性环节如纯滞后,给出如下典型控制对象传递函数的一般形式:Gps=Ke-τs/T1s+1T2s+1PID控制:PID控制是自动控制领域产生最早、应用最广的一种控制方法;PID控制原理图:PID控制器传递函数的一般表达式为:Gcs=kp+ki/s+kdskp为比例增益;ki为积分增益;kd为微分增益控制器的关键是确定三个增益值,在simulink中搭建PID系统控制模型如下图示:PID仿真结果:模糊控制是运用语言归纳操作人员的控制策略,运用变量和模糊集合理论形成控制算法的一种控制;模糊控制原理框图:一个基本模糊控制器主要有三个功能:(1)模糊化:把精确量如偏差e和偏差变化ec转化为相应的模糊量E、EC;(2)模糊推理:按总结的语言规则模糊控制规则表进行模糊推理;(3)模糊判决:把推理结果U从模糊量转化为可以用于实际控制的精确量u模糊控制器的基本机构设计模糊控制器主要步骤:1.选择偏差e、偏差变化ec和控制量u的模糊语言变量为E、EC和U;根据e、ec和u实际的基本论域,设定E、EC和U论域都为-6,6,可以确定出量化因子Ke、Kc和比例因子Ku;;2.选取E、EC和U的各语言变量直,正大PB,正中PM,正小PS,零ZE,负小NS,负中NM,负大NB,它们各自在论域上的模糊子集隶属度函数均为三角形,3.根据总结的人工操作策略设计出模糊控制策略表:ek=yr-yk △ek=ek-ek-13.选择一种模糊判决方法,将控制量由模糊量变为精确量,这个过程叫做“去模糊化”,这里采用“面积平分法”仿真结果:总结:设给定r为单位阶跃输入,通过改变控制对象象的参数,在同一坐标内观察它们的输出y响应曲线对两种控制方案的性能进行对比分析,模糊控制器比PID控制器,动态性能很好,上升速度快,基本没有超调;。

浅议模糊控制与PID控制的性能对比

浅议模糊控制与PID控制的性能对比

( ) 1 确定性干扰 时 : 图如图 2 原理 所示 。
①当对象为 G() - s
时, 调节 K ,2K 1K ,3的数值
即相应 的 P ID对应 的数值分别为 O ,.59 干扰 d 1 ,, . O2 , , 7 =, 得到一组仿 真结果图如 图 3 所示。
② 当对象 为 G()


( !
黄小 丽[ 吴 中华旧 】
2 60 ; 2 07 26 0 2 O7)

浅议模糊控 制与 P 制的性 能对 比 l D控
(1南通农 业 职业技 术 学院机 电工程 系 江苏 ・ 『 1 南通 『1 2南通农 业职 业技 术 学院信 息工程 系 江 苏 ・ 南通
OO 00 O0 .
O0 00
0O O2
PM OO 00 . OO 00 00 OO O0 OO . O2 . O7 1O . O7 02
P B 0O OO OO OO OO . OO . OO 0O 01 . O. 4 07 0 10 .


— 5
— 4 07 . 10 0 3
—3 O4 . 07 O7 OO . 00 O0 .
— 2 01 02 10 . 01 00 . 0O
—1

1 0O
2 00
3 0O .
4 00 O0 . 00 00 . 00 0 3

^ ,
传统 的 PD控 制器 由比例单元 ( 、 J P 积分单元(和微分单元() ) I ) D 组成 。比例项用 于纠正偏差 , 积分项用 于消除系统的稳态误差 , 微 分项用于减小系统的超 调量 , 增加系统稳定性 。肼D控制器的性能 就决定于 , 和 d 3 系数 。 这 个 如何选择这 3 个系数是 P D控 I 制的核心。 3 模糊控 制与 PD控 制器仿真 及性 能对 比 I

神经pid,模糊pid,常规pid的matlab比较

神经pid,模糊pid,常规pid的matlab比较

图4.BP神经网络PID系统输出响应曲线图6. PID 参数自适应模糊控制器系统框图图7.e,ec,Kp,Ki,Kd的隶属度函数通过不断进行仿真实验和借鉴专家经验可以得到如下的49条规则:图8.模糊PID控制系统输出曲线图9.模糊PID控制系统误差曲线图中1为常规整定PID 阶跃响应曲线,2为BP 神经网络PID 阶跃响应曲线,3为模糊自适应整定PID 阶跃响应曲线。

从曲线中以看出,三种PID控制方式中模糊PID几乎没有超调,调节时间短,控制效果最好;BP 网络PID效果次之;都比常规PID 效果好。

比较图5神经PID与图9模糊PID的误差曲线可以看出,模糊PID具有更短的学习时间。

仿真和实验结果均证明了神经网络PID 控制算法能有效地控制大时滞大惯性的温控系统,将神经网络与PID控制相结合,可以在线调整PID控制器的各个参数,减少了凭经验整定参数带来的误差,提高了温控系统的鲁棒性和自适应性。

此外,神经网络PID控制器还能有效的抑制干扰,而且对对象模型要求不高,具有较好的抗干扰性。

同时也可以进一步优化BP神经网络的结构和算法,使温度控制最终趋于最优,更好地满足实际生产对温度控制的要求。

但是由于该控制器的初始权值是随机值,控制输出在开始时波动很大,随着网络的自学习,不断调整权值控制输出来跟踪输入。

由于神经网络收敛速度慢,回到稳定状态所需时间较长,这个问题有待进一步研究解决。

,模糊PID控制响应几乎没有超调,但是响应速度较慢;在模型失配的情况下,模糊PID虽然产生了震荡,超调量也有所增加,但总体来说还能够保持稳定;在添加干扰后,系统持续产生小幅震荡,但超调量很小,系统整体还是稳定的,抗干扰能力强。

参考文献:1、陶永华.新型PID控制及其应用(第二版) [ M].北京:机械工业出版社,2002.2、杨智,朱海锋,黄以华.PID控制器设计与参数整定方法综述[ J ].化工自动化及仪表,2 005,32 ( 5 ):1-7 .3、杨智.工业自整定P ID调节器关键设计技术综述[J].化工自动化及仪表,2000,27 ( 2 ):5-10.4、王伟,张晶涛,柴天佑.PID参数先进整定方法综述[ J ].自动化学报,2000,26 (5):347-355.5、何宏源,徐进学,金妮.PID继电自整定技术的发展综述[ J ].沈阳工业大学学报,2005,27 (4):4 09-413.6、叶岚.基于继电反馈的PI D控制器的参数整定[ D].上海:上海交通大学自动化系,2007.7、李少远.基于继电反馈的PID控制器的参数整定[D].上海:上海交通大学自动化系,2007.8、吴泽宁等.BP神经网络的改进及应用[J ].河南科学,2003-4:202 -2069、李遵基编著.热工自动控制系统[M].中国电力出版社,1997.1010、俞海斌,褚健.CFB锅炉汽包水位的专家PID控制[J].机电工程,2000(3):103~10611、潘祥高等.模糊PID控制在工业锅炉控制系统中的应用[J].工业出版社,200412、刘金琨.先进PID 控制MA TLAB仿真M7.2 版.北京电子工业出版社,200413、薛定宇.控制系统计算机辅助设计MA TLAB 语言与应用M7.2 版.北京清华大学出版社,2006常规PID实现程序:clear all;close all;ts=10;sys=tf([1],[150,1],'inputdelay',50);dsys=c2d(sys,ts,'z oh');[num,den]=tfdata(dsys,'v');u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;u_6=0;y_1=0;y_2=0;y_3=0;error_1=0;error_2=0;ei=0;for k=1:1:1000time(k)=k*ts;yout(k)=-den(2)*y_1+num(2)*u_6;rin(k)=1;error(k)=rin(k)-yout(k);ei=ei+error(k)*ts;kp=0.03;kd=1;ki=0.004;u(k)=kp*error(k)+kd*(error(k)-error_1)/ts+ki*ei; if u(k)>=10u(k)=10;endif u(k)<=-10u(k)=-10;endif k==200u(k)=u(k)+1;endu_6=u_5;u_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k); y_3=y_2;y_2=y_1;y_1=yout(k);error_2=error_1;error_1=error(k);endfigure(1);plot(time,rin,'b',time,yout,'r');xlabel('time(s)');ylabel('rin,yout');figure(2);plot(time,u,'r');xlabel('time(s)');ylabel('u');BP神经网络PID程序:%BP based PID Controlclear all;close all;xite=0.9;IN=4;H=5;Out=3; %NN Structurewi=[-0.6394 -0.2696 -0.3756 -0.7023;-0.8603 -0.2013 -0.5024 -0.2596;-1.0749 0.5543 -1.6820 -0.5437;-0.3625 -0.0724 -0.6463 -0.2859;0.1425 0.0279 -0.5406 -0.7660];%wi=0.50*rands(H,IN);wi_1=wi;wi_2=wi;wi_3=wi;wo=[0.7576 0.2616 0.5820 -0.1416 -0.1325;-0.1146 0.2949 0.8352 0.2205 0.4508;0.7201 0.4566 0.7672 0.4962 0.3632];%wo=0.50*rands(Out,H);wo_1=wo;wo_2=wo;wo_3=wo;x=[0,0,0];du_1=0;u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;u_6=0;y_1=0;y_2=0;Oh=zeros(H,1); %Output from NN middle layerI=Oh; %Input to NN middle layererror_2=0;error_1=0;ts=10;for k=1:1:1000time(k)=k*ts;rin(k)=1.0;%Unlinear modelyout(k)=0.9355*y_1+0.0645*u_6;error(k)=rin(k)-yout(k);xi=[rin(k),yout(k),error(k),1];x(1)=error(k)-error_1;x(2)=error(k);x(3)=error(k)-2*error_1+error_2;epid=[x(1);x(2);x(3)];I=xi*wi';for j=1:1:HOh(j)=(exp(I(j))-exp(-I(j)))/(exp(I(j))+exp(-I(j))); %Middle Layer endK=wo*Oh; %Output Layerfor l=1:1:OutK(l)=exp(K(l))/(exp(K(l))+exp(-K(l))); %Getting kp,ki,kd endkp(k)=K(1);ki(k)=K(2);kd(k)=K(3);Kpid=[kp(k),ki(k),kd(k)];du(k)=Kpid*epid;u(k)=u_1+du(k);dyu(k)=sign((yout(k)-y_1)/(du(k)-du_1+0.0001));%Output layerfor j=1:1:OutdK(j)=2/(exp(K(j))+exp(-K(j)))^2;endfor l=1:1:Outdelta3(l)=error(k)*dyu(k)*epid(l)*dK(l);endfor l=1:1:Outfor i=1:1:Hd_wo=xite*delta3(l)*Oh(i)+alfa*(wo_1-wo_2);endendwo=wo_1+d_wo+alfa*(wo_1-wo_2);%Hidden layerfor i=1:1:HdO(i)=4/(exp(I(i))+exp(-I(i)))^2;endsegma=delta3*wo;for i=1:1:Hdelta2(i)=dO(i)*segma(i);endif k==200u(k)=u(k)+1;endd_wi=xite*delta2'*xi;wi=wi_1+d_wi+alfa*(wi_1-wi_2);%Parameters Updatedu_1=du(k);u_6=u_5;u_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k);y_2=y_1;y_1=yout(k);wo_3=wo_2;wo_2=wo_1;wo_1=wo;wi_3=wi_2;wi_2=wi_1;wi_1=wi;error_2=error_1;error_1=error(k);endfigure(1);plot(time,rin,'r',time,yout,'b');xlabel('time(s)');ylabel('rin,yout');figure(2);plot(time,error,'r');xlabel('time(s)');ylabel('error');figure(3);plot(time,u,'r');xlabel('time(s)');ylabel('u');figure(4);subplot(311);plot(time,kp,'r');xlabel('time(s)');ylabel('kp');subplot(312);plot(time,ki,'g');xlabel('time(s)');ylabel('ki');subplot(313);plot(time,kd,'b');xlabel('time(s)');ylabel('kd');模糊PID程序:clear all;close all;a=newfis('fuzzpid');a=addvar(a,'input','e',[-3,3]); %Parameter e a=addmf(a,'input',1,'NB','zmf',[-3,-1]);a=addmf(a,'input',1,'NM','t rimf',[-3,-2,0]);a=addmf(a,'input',1,'NS','trimf',[-3,-1,1]);a=addmf(a,'input',1,'Z','t rimf',[-2,0,2]);a=addmf(a,'input',1,'PS','trimf',[-1,1,3]);a=addmf(a,'input',1,'PM','t rimf',[0,2,3]);a=addmf(a,'input',1,'PB','smf',[1,3]);a=addvar(a,'input','ec',[-3,3]); %Parameter ec a=addmf(a,'input',2,'NB','zmf',[-3,-1]);a=addmf(a,'input',2,'NM','t rimf',[-3,-2,0]);a=addmf(a,'input',2,'NS','trimf',[-3,-1,1]);a=addmf(a,'input',2,'Z','t rimf',[-2,0,2]);a=addmf(a,'input',2,'PS','trimf',[-1,1,3]);a=addmf(a,'input',2,'PM','t rimf',[0,2,3]);a=addmf(a,'input',2,'PB','smf',[1,3]);a=addvar(a,'output','kp',[-0.3,0.3]); %Parameter kp a=addmf(a,'output',1,'NB','zmf',[-0.3,-0.1]);a=addmf(a,'output',1,'NM','t rimf',[-0.3,-0.2,0]);a=addmf(a,'output',1,'NS','trimf',[-0.3,-0.1,0.1]);a=addmf(a,'output',1,'Z','t rimf',[-0.2,0,0.2]);a=addmf(a,'output',1,'PS','trimf',[-0.1,0.1,0.3]);a=addmf(a,'output',1,'PM','t rimf',[0,0.2,0.3]);a=addmf(a,'output',1,'PB','smf',[0.1,0.3]);a=addvar(a,'output','ki',[-0.06,0.06]); %Parameter kia=addmf(a,'output',2,'NB','zmf',[-0.06,-0.02]);a=addmf(a,'output',2,'NM','t rimf',[-0.06,-0.04,0]);a=addmf(a,'output',2,'NS','trimf',[-0.06,-0.02,0.02]);a=addmf(a,'output',2,'Z','t rimf',[-0.04,0,0.04]);a=addmf(a,'output',2,'PS','trimf',[-0.02,0.02,0.06]);a=addmf(a,'output',2,'PM','t rimf',[0,0.04,0.06]);a=addmf(a,'output',2,'PB','smf',[0.02,0.06]);a=addvar(a,'output','kd',[-3,3]); %Parameter kpa=addmf(a,'output',3,'NB','zmf',[-3,-1]);a=addmf(a,'output',3,'NM','t rimf',[-3,-2,0]);a=addmf(a,'output',3,'NS','trimf',[-3,-1,1]);a=addmf(a,'output',3,'Z','t rimf',[-2,0,2]);a=addmf(a,'output',3,'PS','trimf',[-1,1,3]);a=addmf(a,'output',3,'PM','t rimf',[0,2,3]);a=addmf(a,'output',3,'PB','smf',[1,3]);rulelist=[1 1 7 1 5 1 1;1 2 7 1 3 1 1;1 3 6 2 1 1 1;1 4 6 2 1 1 1;1 5 5 3 1 1 1;1 6 4 4 2 1 1;1 7 4 4 5 1 1;2 1 7 1 5 1 1;2 2 7 1 3 1 1;2 3 6 2 1 1 1;2 4 5 3 2 1 1;2 5 5 3 2 1 1;2 6 4 43 1 1;2 7 34 4 1 1;3 1 6 1 4 1 1;3 2 6 2 3 1 1;3 3 6 3 2 1 1;3 45 3 2 1 1;3 5 4 4 3 1 1;36 3 5 3 1 1;37 3 5 4 1 1;4 1 6 2 4 1 1;4 2 6 2 3 1 1;4 3 5 3 3 1 1;4 4 4 4 3 1 1;4 5 3 5 3 1 1;4 6 2 6 3 1 1;4 7 2 6 4 1 1;5 1 5 2 4 1 1;5 2 5 3 4 1 1;5 3 4 4 4 1 1;5 4 3 5 4 1 1;5 5 3 5 4 1 1;5 6 2 6 4 1 1;5 7 2 7 4 1 1;6 1 5 4 7 1 1;6 2 4 4 5 1 1;6 3 3 5 5 1 1;6 4 2 5 5 1 1;6 5 2 6 5 1 1;6 6 27 5 1 1;6 7 1 7 7 1 1;7 1 4 4 7 1 1;7 2 4 4 6 1 1;7 3 2 5 6 1 1;7 4 2 6 6 1 1;7 5 2 6 5 1 1;7 6 1 7 5 1 1;7 7 1 7 7 1 1];a=addrule(a,rulelist);a=setfis(a,'DefuzzMethod','centroid');writefis(a,'fuzzpid');a=readfis('fuzzpid');%PID Controllerts=10;sys=tf([1],[150,1],'inputdelay',50);dsys=c2d(sys,ts,'t ustin');[num,den]=tfdata(dsys,'v');u_1=0.0;u_2=0.0;u_3=0.0;u_4=0.0;u_5=0.0;u_6=0.0;y_1=0;y_2=0;x=[0,0,0]';error_2=0;error_1=0;e_1=0.0;ec_1=0.0;kp0=0.0929;kd0=0.0078;ki0=0.0518;for k=1:1:1000time(k)=k*ts;rin(k)=1;%Using fuzzy inference to tunning PIDk_pid=evalfis([e_1,ec_1],a);kp(k)=kp0+k_pid(1);ki(k)=ki0+k_pid(2);kd(k)=kd0+k_pid(3);u(k)=kp(k)*x(1)+kd(k)*x(2)+ki(k)*x(3);if u(k)>=10u(k)=10;endif u(k)<=-10u(k)=-10;endif k==200u(k)=u(k)+1;endyout(k)=-den(2)*y_1+num(2)*u_6;error(k)=rin(k)-yout(k);%%%%%%%%%%%%%%Return of PID parameters%%%%%%%%%%%%%%% u_6=u_5;u_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k);y_2=y_1;y_1=yout(k);x(1)=error(k); % Calculating Px(2)=error(k)-error_1; % Calculating Dx(3)=x(3)+error(k); % Calculating Ie_1=x(1);ec_1=x(2);error_2=error_1;error_1=error(k);endshowrule(a)figure(1);plot(time,rin,'b',time,yout,'r');xlabel('time(s)');ylabel('rin,yout');figure(2);plot(time,error,'r');xlabel('time(s)');ylabel('error');figure(3);plot(time,u,'r');xlabel('time(s)');ylabel('u');。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

模糊控制算法PID 算法比较分析
电气学院 控制理论与控制工程专业 徐磊 学号:10310070
一:题目
对于已知系统的传递函数为: e
S S S G 5.01101)(-+=
,假设系统给定为阶跃值R=1,系统的初始值R(0)=0,试分析设计 1〉常规的PID 控制器
2〉常规的模糊控制器
3〉比较两种控制器的控制效果
当通过改变模糊控制器的比例因子时,分析系统响应有什么变化?
二:思路
对于模糊控制,采用二维输入,分别是误差e 和误差变化率∆e,然后通过增益放大,输入到模糊控制器中,然后模糊控制器输出也通过增益放大。

模糊控制器的输入、输出论域取值为[-6,6],隶属度均匀划分为五个区域,隶属度函数采用梯形和三角形函数。

程序框图如下:
三:程序
clear;
num=1;
den=[10,1];
[a1,b,c,d]=tf2ss(num,den);
x=[0]; %状态变量初始
T=0.01; %采样周期
h=T;
N=10000; %采样次数
td=0.5; %延时时间
Nd=50; %延时周期
R=1*ones(1,N); % 输入信号
e=0;de=0;ie=0; %误差,误差导数,积分
kp=12.5;ki=0.8;kd=0.01;
for k=1:N
uu(1,k)=-(kp*e+ki*de+kd*ie); %PID输出序列if k<=Nd
u=0;
else
u=uu(1,k-Nd);
end
%龙格库塔法仿真
k0=a1*x+b*u;
k1=a1*(x+h*k0/2)+b*u;
k2=a1*(x+h*k1/2)+b*u;
k3=a1*(x+h*k2)+b*u;
x=x+(k0+2*k1+2*k2+k3)*h/6;
y=c*x+d*u;
e1=e;
e=y(1,1)-R(1,k);
de=(e1-e)/T;
ie=ie+e*T;
yy1(1,k)=y;
end
%设计模糊控制器
a=newfis('Simple');
a=addvar(a,'input','e',[-6,6]);
a=addmf(a,'input',1,'NB','trapmf',[-6 -6 -5 -3]);
a=addmf(a,'input',1,'NS','trapmf',[-5 -3 -2 0]);
a=addmf(a,'input',1,'ZR','trimf',[-2 0 2]);
a=addmf(a,'input',1,'PS','trapmf',[0 2 3 5]);
a=addmf(a,'input',1,'PB','trapmf',[3 5 6 6]);
a=addvar(a,'input','de',[-6 6]);
a=addmf(a,'input',2,'NB','trapmf',[-6 -6 -5 -3]); a=addmf(a,'input',2,'NS','trapmf',[-5 -3 -2 0]); a=addmf(a,'input',2,'ZR','trimf',[-2 0 2]);
a=addmf(a,'input',2,'PS','trapmf',[0 2 3 5]);
a=addmf(a,'input',2,'PB','trapmf',[3 5 6 6]);
a=addvar(a,'output','u',[-6 6]);
a=addmf(a,'output',1,'NB','trapmf',[-6 -6 -5 -3]); a=addmf(a,'output',1,'NS','trapmf',[-5 -3 -2 0]); a=addmf(a,'output',1,'ZR','trimf',[-2 0 2]);
a=addmf(a,'output',1,'PS','trapmf',[0 2 3 5]);
a=addmf(a,'output',1,'PB','trapmf',[3 5 6 6]);
%规则表
rr=[5 5 4 4 3
5 4 4 3 3
4 4 3 3 2
4 3 3 2 2
3 3 2 2 1];
r1=zeros(prod(size(rr)),3);%初始化
%r1赋值
k=1;
for i=1:size(rr,1)
for j=1:size(rr,2)
r1(k,:)=[i,j,rr(i,j)];
k=k+1;
end
end
r2=ones(25,2);
rulelist=[r1,r2];%得到规则表
a=addrule(a,rulelist);
e=0;de=0;ie=0;
x=[0];
ke=8.5;kd=0.5;ku=2.2;%增益,比例因子
ki=0.01;
for k=1:N
e1=ke*e;
de1=kd*de;
if e1>=6
e1=6;
elseif e1<=-6
e1=-6;
end
if de1>=6
de1=6;
elseif de1<=-6
de1=-6;
end
in=[e1 de1];
uu(1,k)=ku*evalfis(in,a)-ie*ki;
if k<=Nd
u=0;
else
u=uu(1,k-Nd);
end
k0=a1*x+b*u;
k1=a1*(x+h*k0/2)+b*u;
k2=a1*(x+h*k1/2)+b*u;
k3=a1*(x+h*k2)+b*u;
x=x+(k0+2*k1+2*k2+k3)*h/6;
y=c*x+d*u;
yy(1,k)=y;
e1=e;
e=y-R(1,k);
de=(e-e1)/T;
end
%画图
kk=[1:N]*T;
figure(1);
plot(kk,R,'k',kk,yy,'r',kk,yy1,'b'); xlabel('time');
ylabel('output');
四:结论
运行后,
如图,红色的为模糊控制输出,蓝色的为PID控制器输出。

比较起来,有下面的结论:
1、超调明显是PID控制器大一些,模糊控制器在这一点上有优势
2、调整时间模糊控制器就要差很多了
3、稳态误差模糊控制器要小一些
改变比例因子
当ke从8.5 调整到20 时,如图
显著的,模糊控制的超调变大,性能变坏当ke从8.5调整到2时
稳态误差太大,虽然调整时间变短了
所以ke变小,超调也小,调整时间也变短。

相关文档
最新文档