倒立摆实验报告(PID控制)

 

第二篇:一级倒立摆的PID控制设计

一级倒立摆的PID控制设计

摘 要

本文主要研究的是一级倒立摆的PID控制问题,并对其PID的参数进行了优化,优化算法是遗传算法。倒立摆是典型的快速、多变量、非线性、强耦合、自然不稳定系统。由于在实际中有很多这样的系统,因此对它的研究在理论上和方法论上均有深远的意义。本文首先简单的介绍了一下倒立摆以及倒立摆的控制方法,并对其参数优化算法做了分类介绍。然后,介绍了本文选用的优化参数的算法遗传算法的基本理论和操作方法。接着建立了一级倒立摆的数学模型,并求出其状态空间描述。本文着重讲述的是利用遗传算法来对PID的参数进行优化的实现方法。最后,用Simulink对系统进行了仿真,得出遗传算法在实际控制中是一种较为理想的PID参数优化方法的结论。

关键词:PID控制器;一级倒立摆;



目 录

1 引言.................................................................... 1

1.1 倒立摆介绍以及应用................................................ 1

1.2 倒立摆的控制方法.................................................. 2

1.3 PID参数整定方法................................................... 2

1.4 本文的主要任务.................................................... 5

2 PID简介................................................................ 7

2.2 PID控制器的参数整定............................................... 8

2.3 PID控制的基本用途................................................. 8

2.4 PID控制的现实意义................................................. 9

3 遗传算法的基本理论和基于遗传算法的PID参数寻优......................... 11

3.1 遗传算法的基本原理............................................... 11

3.2 遗传算法的操作方法............................................... 12

3.2.1 二进制编码.................................................. 12

3.2.2 适应度函数.................................................. 12

3.2.3 遗传操作.................................................... 15

3.3 遗传算法的应用关键............................................... 18

3.4 基于遗传算法的PID参数寻优....................................... 18

3.4.1 基于遗传算法的PID寻优的优点................................ 19

3.4.2 基于遗传算法的PID寻优的方法................................ 19

4 一级倒立摆的模型....................................................... 22

4.1 一级倒立摆的物理模型............................................. 22

4.2 一级倒立摆的数学模型............................................. 22

5 直线一级倒立摆PID控制器系统的仿真研究................................. 26

5.1 PID控制器的设计.................................................. 26

5.2 一级倒立摆系统的Simulink模型及系统仿真.......................... 26

5.2.1 MATLAB及Simulink........................................... 26

5.2.2 一级倒立摆系统的Simulink的模型............................. 26

5.2.3 仿真结果.................................................... 27

5.3 小结............................................................. 28

结 论.................................................................... 30

致 谢.................................................................... 31

参考文献................................................................. 32

附 录.................................................................... 33


1 引言

1.1 倒立摆介绍以及应用

倒立摆控制系统是一个复杂的、不稳定的、非线性系统,是进行控制理论教学及开展各种控制实验的理想实验平台。对倒立摆系统的研究能有效的反映控制中的许多典型问题:如非线性问题、鲁棒性问题、镇定问题、随动问题以及跟踪问题等。通过对倒立摆的控制,用来检验新的控制方法是否有较强的处理非线性和不稳定性问题的能力。

通过对它的研究不仅可以解决控制中的理论和技术实现问题,还能将控制理论涉及的主要基础学科:力学,数学和计算机科学进行有机的综合应用。其控制方法和思路无论对理论或实际的过程控制都有很好的启迪,是检验各种控制理论和方法的有效的“试金石”。倒立摆的研究不仅有其深刻的理论意义,还有重要的工程背景。在多种控制理论与方法的研究与应用中,特别是在工程实践中,也存在一种可行性的实验问题,使其理论与方法得到有效检验,倒立摆就能为此提供一个从理论通往实践的桥梁,目前,对倒立摆的研究已经引起国内外学者的广泛关注,是控制领域研究的热门课题之一。

倒立摆不仅仅是一种优秀的教学实验仪器,同时也是进行控制理论研究的理想实验平台。由于倒立摆系统本身具有的高阶次、不稳定、多变量、非线性和强耦合特性,许多现代控制理论的研究人员一直将它视为典型的研究对象,不断从中发掘出新的控制策略和控制方法,相关的科研成果在航天科技和机器人学方面获得了广阔的应用。二十世纪九十年代以来,更加复杂多种形式的倒立摆系统成为控制理论研究领域的热点,每年在专业杂志上都有大量的优秀论文出现。因此,倒立摆系统在控制理论研究中是一种较为理想的实验装置。

    倒立摆主要应用在以下几个方面:

(1)机器人的站立与行走类似于双倒立摆系统,尽管第一台机器人在美国问世至今已有三

十年的历史,机器人的关键技术--机器人的行走控制至今仍未能很好解决。

(2)在火箭等飞行器的飞行过程中,为了保持其正确的姿态,要不断进行实时控制。

(3)通信卫星在预先计算好的轨道和确定的位置上运行的同时,要保持其稳定的姿态,使卫星天线一直指向地球,使它的太阳能电池板一直指向太阳。

(4)侦察卫星中摄像机的轻微抖动会对摄像的图像质量产生很大的影响,为了提高摄像的质量,必须能自动地保持伺服云台的稳定,消除震动。

(5)为防止单级火箭在拐弯时断裂而诞生的柔性火箭(多级火箭),其飞行姿态的控制也可

以用多级倒立摆系统进行研究。

由于倒立摆系统与双足机器人、火箭飞行控制和各类伺服云台稳定有很大相似性,因此对倒立摆控制机理的研究具有重要的理论和实践意义。

1.2 倒立摆的控制方法

倒立摆有多种控制方法[1]。对倒立摆这样的一个典型被控对象进行研究,无论在理论上和方法上都具有重要意义。不仅由于其级数增加而产生的控制难度是对人类控制能力的有力挑战,更重要的是实现其控制稳定的过程中不断发现新的控制方法,探索新的控制理论,并进而将新的控制方法应用到更广泛的受控对象中。当前,倒立摆的控制方法可分为以下几类 :

(1)线性理论控制方法

将倒立摆系统的非线性模型进行近似线性化处理,获得系统在平衡点附近的线性化模型,然后再利用各种线性系统控制器设计方法,得到期望的控制器。PID控制、状态反馈控制、能量控制[2]、LQR控制算法是其典型代表。

(2)预测控制和变结构控制方法

预测控制:是一种优化控制方法,强调的是模型的功能而不是结构。变结构控制:是一种非连续控制,可将控制对象从任意位置控制到滑动曲面上仍然保持系统的稳定性和鲁棒性,但是系统存在颤抖。预测控制、变结构控制和自适应控制在理论上有较好的控制效果,但由于控制方法复杂,成本也高,不易在快速变化的系统上实时实现。

1.3 PID控制器参数整定方法

PID控制是工业过程控制中应用最广的策略之一,因此PID控制器参数的优化成为人们关注的问题,它直接影响控制效果的好坏,并和系统的安全、经济运行有着密不可分的关系。PID控制器作为最早实用化的控制器已有50多年历史,现在仍然是应用最广泛的工业控制器。PID控制器简单易懂,使用中不需精确的系统模型等先决条件,因而成为应用最为广泛的控制器。

PID控制器由比例单元(P)、积分单元(I)和微分单元(D)组成。其输入与输出的关系为:

                                  (1.1)

式中积分的上下限分别是,因此它的传递函数为:   

比例作用下,通过现场试验找到等幅震荡的过渡过程,记下此时的比例度和等幅振荡周期,再通过简单的计算求出衰减振荡时控制器的参数。

(2)经验凑试法

此时是根据经验先将控制器的参数放在某一数值上,直接在闭环控制系统中,通过

改变设定值施加干扰试验信号,在记录仪上看被控量的过渡过程曲线形状,控制器参数凑试的顺序有两种方法:一种认为比例作用是基本的控制作用,因此,首先把比例度凑试好,待过渡过程已基本稳定,然后加积分作用以消除余差,最后加入微分作用以进一步提高控制质量。另一种整定顺序的出发点是:比例度与积分时间在一定范围内相匹配,可以得到相同递减比的过渡过程。这样比例度的减小可用增大积分时间来补偿,反之亦然。所以要预先确定一个积分时间数值,然后由大到小调整比例度以获得满意的过渡过程。

    (3)专家控制

专家系统[4]是一类包含着知识和推理的智能计算机程序,其内部包含有大量的某个领域专家水平的知识和经验,能够利用人类专家的知识和解决问题的方法来处理该领域的问题。

专家控制的实质是基于受控对象和控制规律的各种知识,以智能的方式来利用这些知识,求得受控系统尽可能地优化和实用化,它反映出智能控制的许多重要特征和功能。随着微机技术和人工智能技术的发展,出现了多种形式的专家控制器。人们自然地也想到用专家经验来建立PID参数。

    通常,一个以规则为基础,以问题求解为中心的专家系统由知识库、推理机、综合数

粒子群算法[5]是由Kennedy和Eberhart等1995年提出的一种演化计算算法。它是对鸟群觅食过程中的迁徙和聚集的模拟,更确切地说,是由简单个体组成的群落与环境以及个体之间的互动行为。该模拟系统利用局部信息,从而可能产生不可预测的群体行为。目前已广泛应用于函数优化、神经网络训练和模糊系统控制等领域。该算法与其他进化算法相似,也是基于群体的迭代算法。粒子在解空间追随最优的粒子进行搜索,类似梯度下降算法使各染色体向适应度函数最优的方向群游。

(5)遗传算法

遗传算法是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法,它最初由美国Michigan大学J.Holland教授于1975年首先提出来的,并出版了颇有影响的专著《Adaptation in Natural and Artificial Systems》,GA这个名称才逐渐为人所知,J.Holland教授所提出的GA通常为简单遗传算法(SGA)。

遗传算法具有很强的寻优能力,能够解决各类复杂的优化问题,且具有广泛的适应性和优良的鲁棒性。其应用前景十分广阔。根据遗传算法的特点,只要将控制器的参数构成基因型,将性能指标构成相应的适应度,便可利用遗传算法来整定控制器的最佳参数,并不要求系统是否为连续可微。

GA采用纯数值计算方法和随机进化策略,无需梯度信息,能有效解决困难的优化结果分析。


2 PID简介

2.1PID控制的原理和特点

在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节[6]。PID控制器问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的 其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,

在积分控制中,控制器的输出与输入误差信号的积分成正比关系。对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统。为了消除稳态误差,在控制器中必须引入“积分项”。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。因此,比例加积分(PI)控制器,可以使系统在进入稳态后无稳态误差。   

微分(D)控制   

在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。其原因是由于存在有较大惯性组件(环节)或有滞后组件,具有抑制误差的作用, 其变化总是落后于误差的变化。解决的办法是使抑制误差的作用的变化“超前”,即在误差接近零时,抑制误差的作用就应该是零。这就是说,在控制器中仅引入 “比例”项往往是不够的,比例项的作用仅是放大误差的幅值,而目前需要增加的是“微分项”,它能预测误差变化的趋势,这样,具有比例微分的控制器,就能 够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。所以对有较大惯性或滞后的被控对象,比例微分(PD)控制器能改善系统在调节过程中的动态特性。 

2.2 PID控制器的参数整定

PID控制器的参数整定是控制系统设计的核心内容。它是根据被 控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。PID控制器参数整定的方法很多,概括起来有两大类:一是理论计算整定法。它主要是 依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改。二是工程整定方法,它主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。PID控制器参数的工程整定方法,主要有临界比例法、反应曲线法和衰减法。三种方法各有其特点,其共同点都是通过试验,然后按照工程经验公式对控制器参数进行整定。但无论采用哪一种方法所得到的控制

它由于用途广泛、使用灵活,已有系列化产品,使用中只需设定三个参数()即可。在很多情况下,并不一定需要全部三个单元,可以取其中的一到两个单元,但比例控制单元是必不可少的。

首先,PID应用范围广。虽然很多工业过程是非线性或时变的,但通过对其简化可以变成基本线性和动态特性不随时间变化的系统,这样PID就可控制了。

其次,PID参数较易整定。也就是,PID参数可以根据过程的动态特性及时整定。如果过程的动态特性变化,例如可能由负载的变化引起系统动态特性变化,PID参数就可以重新整定。

第三,PID控制器在实践中也不断的得到改进,下面两个改进的例子。

在工厂,总是能看到许多回路都处于手动状态,原因是很难让过程在“自动”模式下平稳工作。由于这些不足,采用PID的工业控制系统总是受产品质量、安全、产量和能源浪费等问题的困扰。PID参数自整定就是为了处理PID参数整定这个问题而产生的。现在,自动整定或自身整定的PID控制器已是商业单回路控制器和分散控制系统的一个标准。

在一些情况下针对特定的系统设计的PID控制器控制得很好,但它们仍存在一些问题需要解决:

如果自整定要以模型为基础,为了PID参数的重新整定在线寻找和保持好过程模型是较难的。闭环工作时,要求在过程中插入一个测试信号。这个方法会引起扰动,所以基于模型的PID参数自整定在工业应用不是太好。

如果自整定是基于控制律的,经常难以把由负载干扰引起的影响和过程动态特性变化引起的影响区分开来,因此受到干扰的影响控制器会产生超调,产生一个不必要的自适应转换。另外,由于基于控制律的系统没有成熟的稳定性分析方法,参数整定可靠与否存在很多问题。

因此,许意义

目前工业自动化水平已成为衡量各行各业现代化水平的一个重要标志。同时,控制理论的发展也经历了古典控制理论、现代控制理论和智能控制理论三个阶段。智能控制的典型实例是模糊全自动洗衣机等。自动控制系统可分为开环控制系统和闭环控制系统。一个控制系统包括控制器、传感器、变送器、执行机构、输入输出接口。控制器的输出经过输出接口、执行机构,加到被控系统上;控制系统的被控量,经过传感器,变送器,通过输入接口送到控制器。不同的控制系统,其传感器、变送器、执行机构是不一样的。比如压力控制系统要采用压力传感器。电加热控制系统的传感器是温度传感器。目前,PID控制及其控制器或智能PID控制器(仪表)已经很多,产品已在工程实际中得到了广泛的应用,有各种各样的PID控制器产品,各大公司均开发了具有PID参数自整定功能的智能调节器 (intelligent regulator),其中PID控制器参数的自动调整是通过智能化调整或自校正、自适应算法来实现。有利用PID控制实现的压力、温度、流量、液位控制器,能实现PID控制功能的可编程控制器(PLC),还有可实现PID控制的PC系统等等。 可编程控制器(PLC) 是利用其闭环控制模块来实现PID控制,而可编程控制器(PLC)可以直接与ControlNet相连,如Rockwell的PLC-5等。还有可以实现 PID控制功能的控制器,如Rockwell 的Logix产品系列,它可以直接与ControlNet相连,利用网络来实现其远程控制功能。

3 状的外部表现。

基因座:遗传基因在染色体中占据的位置。

等位基因:同一基因座它可能有的全部基因称为等位基因。

个体:指染色体带有特征的实体。

种群:染色体带有特征的个体组成了种群。群体中个体数目大小称为群体大小,也叫群体规模。

适应度:各个体对环境适应程度。

选择:指决定以一定概率从种群中选择若千个体的操作。一般而言选择过程是一种基于适应度的优胜劣汰的过程。

交叉:两个染色体之间通过交叉而重组形成新的染色体。

变异:染色体的某一基因发生变化,产生新的染色体,表现出新的性状。

编码:遗传编码可看成是从表现型向基因型的映射。

解码:是基因型向表现型的映射。

引用了这些术语,可以更好的描述遗传算法,遗传算法也就是从代表问题的可能潜在解集的一个种群出发,而一个种群则由基因编码的一定数目个体组成。每个个体其实是染色体带有特征的实体。染色体作为遗传物质的主要载体,即多个基因的集合,其内部表现是某种基因的组合,它决定了个体的外部表现形状。因此,在一开始要实现从表现型到基因型的编码工作。由于仿照基因编码工作很复杂,往往采取简化形式,如二进制编码,初代种群产生后,按照适者生存和优胜劣汰的原理,逐代演化出越来越好的近似解。在每一代,根据问题域中个体的适应度大小选择个体。并借助于自然遗传学的遗传算子进行组合交叉和变异产生出代表新的解集的种群。这个过程将导致种群象自然进化索空间的基因型变换到解空间的表现型时的译码方法,编码方法也影响到交叉操作数、变异操作数等遗传操作数的运算方法。由此可见,编码方法在很大程度上决定了如何进行群体的遗传进化运算以及遗传算法进化计算的效率。好的编码方法,有可能会使得交叉运算、变异运算等遗传操作可以简单的实现和执行。遗传算法编码方式有多种形式,本文采用适用于多种问题的一类多变量二进制编码形式。二进制编码是遗传算法中最常用的一种编码方法,它使用的编码符号集是由二进制符号0和1所组成的二值符号集{0,1},它所构成的个体基因型是一个二进制编码符号串。二进制编码符号串的长度与问题所要求的求解精度有关。参数的二进制字符串表示值和实际值之间的关系为:

                        (3.1)

其中,bin是参数a的二进制编码;是参数a的取值范围,n为二进制编码的长度,总共能够产生种不同的编码。

3.2.2 适应度函数

在研究自然界中生物的遗传和进化现象时,生物学家使用适应度这个术语来度量某个物种对于其生存环境的适应程度。遗传算法中也使用适应度这个概念来度量群体中各个个体在优化计算中有可能达到或接近于或有助于找到最优解的优良程度。适应度较高的个体遗传到下一代的概率就较大;而适应度较低的个体遗传到下一代的概率就相对小一些。度法的欺骗问题。适应度函数设计不当,可能造成这种问题的出现,因此适应度函数的设计是遗传算法设计的一个重要方面。

2.适应度函数的设计

适应度函数设计主要满足以下条件:

(1)单值、连续、非负、最大化。

(2)合理、一致性的要求适应度值反映对应解的优劣程度,这个条件的达成往往比较难以衡量。

(3)计算量小的适应度设计应尽可能简单,这样可以减少计算时间和空间上的复杂性,降低计算成本。

(4)通用性强的适应度对某类具体问题,应尽可能通用,最好无需使用者改变适应度函数中的参数。

衡量控制系统的性能可用稳定性、可控性、可观性、稳态特性和动态特性来表征,用稳定裕量、稳态指标、动态指标以及综合指标评价。在控制系统中,由于其本身特有的惯性、滞后等特点,一般采用偏差积分指标来衡量控制系统性能的优良程度。偏差积分指标是过渡过程中被调节量偏离其新稳态值的偏差沿时间轴的积分。无论是偏差幅度大,还是过渡过程时间长,都会使得误差积分指标增大。因此,偏差积分指标是一类综合指标,希望越小越好。

常用的偏差积分指标如下:

1)误差积分:

                             (3.2)

2)误差平方和积分:

                              (3.5)

5)绝对误差的积分:

                            (3.6)

该性能指标是一种容易应用的指标,其最佳性能时,表明系统具有适当的阻尼和令人满意的瞬态响应,因此系统将有较快的输出响应,超调量略大。

6)绝对误差的矩的积分:

                          (3.7)

这是绝对误差积分指标的一种改进,它对阶跃响应的起始的大的偏差考虑较少,而是着重权衡瞬间响应后期的偏差。该指标的特点是瞬态响应超调量小,振荡有足够阻尼。

7)绝对误差的一阶矩的积分:

                              (3.8)

采用不同的积分公式意味着估计整个过渡过程优良程度的侧重点不同。控制系统的设计往往也要求同时满足多个性能指标,这些性能指标可能包括优化目标和对系统性能的约束条件等,是根据对控制系统的要求预先给定的。有时候,这些指标之间往往含有相互矛盾的因素,由于控制目标具有一定的模糊性,约束指标常常也存在着一定的柔性。在一定条件下难以满足较高的性能指标时,适当放宽要求,对整个控制系统可能是有利的。性能指标的设计本身就是控制系统设计中的一个重要环节。无论是对系统性能指标的“硬约束”或“软性能期望”,都可以统一地通过定义一个满意度函数方式描述,以综合满意度函数反映对系统总体性能的综合评价,只是具体的函数形式的区别。

3.2.3 遗传操作

遗传操作是模拟生物基因遗传的操作,在遗传算法中,通过编码组成初始群体后,遗传操作的任务就是对群体的个体,按照它们环境适应程度施加一定操作,从而实现优胜劣汰的进化过程,从优化搜索而言,遗传操作可使问题的解,一代又一代的优化,并逼近最优解。

遗传操作包含三个基本遗传算子:选择、交叉、变异。

这是与个体的编码方式直接相关。

1.选择

从群体中选择优胜个体,淘汰劣质个体的操作叫选择。选择算子有时又称为再生算子[16]。选择的目的是把优胜的个体直接传到下一代或通过交叉配对再遗传到下一代。选择操作是建立在群体中个体适应度评估的基础之上,即个体适应度越高,其被选择的机会就越多,日前常用的选择算子有:适应度比例方法、最优保留法、期望值方法、排序选择方法、联赛选择方法、排挤方法。

选择过程的第一步是计算适应度。被选择的每个个体具有一个选择概率,这个概率取决于种群中个体的适应度及其分布。

按比例分配的适应度分配是个体选择概率的常用分配方法。按比例分配的适应度分配,可称为蒙特卡罗法,是利用比例于各个个体适应度的概率决定其子孙的遗留可能性。若某一个个体i其适应度为fi,则其被选取的概率表示为:

                          (3.9)

从上式就可以看出:

适应度高的个体,繁殖下一代的数目比较多。

适应度低的个体,繁殖下一代的数目比较少,甚至被淘汰。

这样,就间解。当选择的概率确定后,产生[0,1]区间的均匀随机数来决定哪一个个体参加交配。显然选择概率大的个体能多次被选中,它的遗传因子就会在种群中扩大。上述方法以适应度为基础进行选择。

2.交叉

自然界生物进化过程中起核心作用的是生物遗传基因的重组(加上变异)。同样,遗传算法中起核心作用的是遗传操作的交叉算子。所谓交叉又是指把两个父代个体的部分结构加以替换重组而生成新个体的操作。通过交叉,遗传算法的搜索能力得以飞跃提高。基因重组是遗传算法获取新优良个体的最重要手段。交叉有实数重组和二进制交叉两种方法,这里重点介绍二进制交叉。

二进制交叉又分单点交叉、多点交叉和均匀交叉。

(1)单

父个体1   0  1  1  1  0  0  1  1  0  1  0

父个体2   1  0  1  0  1  1  0  0  1  0  1

交叉点的位置为5,交叉后生成两个子个体:

子个体1   0  1  1  1  0  1  0  0  1  0  1

子个体2   1  0  1  0  1  0  1  1  0  1  0

(2)多点交叉         

对于多点交叉,m个交叉位置Ki可无重复随机地选择,在交叉点的变量间续地相互交换,产生两个新的后代,但在第一位变量与第一个交叉点之间的一段不做交换。

考虑如下两个11位变量的父个体:

父个体1   0  1  1  1  0  0  1  1  0  1  0

父个体2   1  0  1  0  1  1  0  0  1  0  1

交叉点的位置为:           2           6           10

交叉后的新个体为:

子个体1   0  1  1  0  1  1  1  1  0  1  1

子个体2   1  0  1  1  0  0  0  0  1  0  0

多点交叉的思想源于控制个体特定行为的染色体表示信息的部分无须包含于邻近的子串中,多点交叉的破坏性可以促进解空间的收缩,而不是促进过早的收敛。因此搜索更加强壮。

(3)均匀交叉

单点和多点交叉的定义使得个体在交叉点处分成片断[17]。均匀交叉更加广义化,将每个点都作为潜在的交叉点。随机地产生与个体等长的0~1掩码,掩码中的片段表明了哪个父个体向子个体提供变量值。

考虑如下两个11位变量的父个体:

父个体1   0  1  1  1  0  0  1  1  0  1  0

父个体2   1  0  1  0  1  1  0  0  1  0  1

掩码样本(1表示父个体1提供变量值,0表示父个体2提供变量值):

样本1   0  1  1  0  0  0  1  1  0  1  0

样本2   1  0  0  1  1  1  0  0  1  0  1

交叉后两个新个体为:

子个体1   1  1  1  0  1  1  1  1  1  1  1

子个体2   0  0  1  1  0  0  0  0  0  0  0

均匀交叉类似多点交叉,可减少二进制编码长度与给定参数特殊编码之间的偏差。

3.变异

遗传算法中,交叉算子因其具有全局搜索能力而作为主要算子,变异算子因其具有局部搜索能力而作为辅助算子,遗传算法通过交叉和变异这一对相互配合又相互竞争的操作而使其具备兼顾全局和局部的均衡搜索能力。所谓相互配合,是指当群体在进化中陷入搜索空间中某个超平面而仅靠交叉不能解脱时,通过变异操作有助于这种摆脱。所谓相互竞争,是指当通过交叉已形成所期望积木块时,变异操作有可能破坏这些积木块。

在问题求解过程中,遗传算法是这样不断地进行选择、交叉和变异操作,不断地进行迭代处理,也就是说群体继续不断一代代进化下去,那么最终可以得最优或近似最优解。

重组之后是子代的变异,子个体变量以很小的概率或步长产生转变,变量转变的概率或步长与维数(即变量的个数)成反比,与种群的大小无关。据研究,对于单峰函数1/n是最好的选择,开始时增加变异率,结束时减小变异率可以改善搜索速度。但对于多峰函数变异率的自适应过程是很有益的选择。变异本身是一种局部随机搜索,与选择/重组算子结合一起,保证了遗传算法的有效性,使遗传算法具有局部的随机搜索能力;同时使得遗传算法保持种群的多样性,以防止出现非成熟收敛。在变异操作中,变异率不能取得太大,如果变异率大于0.5,遗传算法就退化为随机搜索,而遗传算法的一些重要的数学特性和搜索能力也不复存在了。

对于二进制编码的个体而言,变异意味着变量的翻转。对于每个个体,变量值的改变是随机的,如下所示,有11位变量的个体,第4位发生了翻转。

变异前:  0  1  1  1  0  0  1  1  0  1  0

变异后:  0  1  1  0  0  0  1  1  0  1  0

3.3 遗传算法的应用关键

遗传算法在应用中最关键的问题有如下3个:

1.串的编码方式:一般把问题的各种参数用二进制编码构成子串,然后把子串拼接成染色体串(串的长度及编码形式对算法收敛影响很大)。

2.适应函数的确定:适应函数也称为对象函数,这是问题求解品质的测量函数,往往也称为问题的“环境”。一般可以把问题的模型函数作为对象函数,但有时也需要另行构造。

3.遗传算法自身参数设定:遗传算法自身参数有3个,即群体大小、交叉概率和变异概率。群体大小太小时难以求出最优解,太大则增长收敛时间。交叉概率太小时难以向前搜索,太大则容易破坏高适应值的结构。变异概率太小难以产生新的基因结构,太大会使遗传算法成了单纯的随机搜索。

3.4 基于遗传算法的PID参数寻优

PID参数优化的目的是在控制对象已知,控制器结构形式确定的情况下,通过调整控制器的参数,使控制系统调节品质到达最佳[8]。因此,PID参数寻优方法的关键在于采用过渡过程的系统性能指标函数(目标函数)和基因差异自适应算法的遗传算法作为最优参数搜索策略的选择。

3.4.1 基于遗传算法的PID寻优的优点

在PID控制器参数优化中可采用遗传算法。遗传算法因利用了生物进化和遗传的思想,所以有许多与传统优化算法不同的特点,主要有:

(1)擅长全局搜索,鲁棒性高,并具有获得全局最优解的能力;

(2)对搜索空间和目标函数没有任何特殊的要求(如凸性),只利用适应值信息,而不需要导数等其它辅助信息,因而适用范围更广;

(3)从问题解的串集而不是从单个解开始搜索最优解,故有隐含的并行性;

(4)是对问题参数的编码(染色体)群进行进化,而不是参数本身;

(5)是随机搜索而非确定性搜索过程,且此随机搜索具有一定的方向性,可指导搜索向着最优解前进,故其效率远远高于一般的随机方法。

3.4.2 基于遗传算法的PID寻优的方法

1.参数解码与编码

由于优化的PID参数Kp、Ki、Kd均为实数,而本次又采用二进制编码。因为是多参数优化问题,故需进行多参数映射编码。它是把每个参数先进行二进制编码得到子串,再把这些子串连成一个完整的染色体,即个体。对应的编码形式如下:

  ———————>Kp

    ———————>Ki

  ———————>Kd

该字串的每一位只有0或1两种取值,Kp、Ki、Kd各取八位,一共24位,该字串即为遗传算法可以操作的对象。二进制数转化为十进制数用遗传算法工具箱中的函数“bs2rv”实现。

2.适应度函数的确定

一般的寻优方法在约束条件下可以求得满足条件的一族参数,而在本设计中,则是从该族参数中寻找一个最好的。适应函数同目标函数相关,所以,以具有约束条件的调节品质型目标函数为适应函数。所以本文仅采用偏差积分指标对控制系统进行优化,其目的只是为验证遗传算法在按照某个特定指标下优化控制参数时的效果。由于PID控制器参数优化问题是求在偏差积分指标最小情况下的Kp、Ki、Kd参数,即

                        (3.10)

所以需要对目标函数进行改造,将最小值问题转换成最大化问题,来满足遗传算法的要求。定义适应度函数f为:

f==                            (3.11)

3.初始种群生成

种群即每代中所包含二进制串的个数。初始种群的选取可以采取随机方法进行。比如通过投硬币,投取一次代表一个二进制数,正面表1,反面为0。该方法产生的种群具有随机性、全面性,避免了局部最优解的问题。

初始种群可以采取随机方法进行选取。该方法产生的种群具有随机性、全面性,免了局部最优解的问题。种群中字串的个数越大,其代表性越广泛,最终进化到最优解的可能性越大,但势必造成计算时间的增加。按照Ziegler-Nichols的经验公式先计算出三个参数值,然后在参数值附近生成初始群体。这样有利于缩小搜索空间,迅速找到最优解的位置。具体算法如下:首先系统只加比例环节,改变Kp的值使系统输出发生周期震荡,记录(使系统输出发生周期震荡的值)和(震荡周期)。然后根据得到的的值利用公式=0.6*Ko,=2Kp/To,=算出参数

4.遗传算子的确定

遗传算法的三个算子:选择概率Ps,交叉概率Pc和变异概率Pm。选择概率通过适配值来确定。交叉概率决定了交叉的次数,Pc过小导致搜索停滞不前;而太大也会使高适配置的结构被破坏掉。因此,选择概率一般选取0.40-0.99,交叉概率一般选取0.25-0.8之间,变异概率一般为0.001-0.1,太大会引起不稳定,太小难以寻到全局最优解。

所以本文采用的方法是:首先按赌轮选择机制执行遗传算法的选择功能,即各个个体被选中的概率和其适应度值成正比。适应度值大的在下一代中将有较多的子孙,相反则会被淘汰。遗传算法强调交叉操作的功能。此功能由MATLAB遗传算法工具箱中的“select”函数来实现。从遗传算法的观点来看,解的进化主要靠选择机制和交叉策略来完成,单点交叉对保护最优解不被破坏有很重要的作用,本文选择单点交叉,由“recombin”函数来实现。交叉概率Pc=0.8。变异由函数“mut”来执行,它是根据变异概率,从群体中随机选取若干个体,对于选中的个体随机选取某一位进行取反运算,即由0→1或由1→0。本文的变异概率Pm = 0.01。

5.生成新一代种群

计算新群体的适应度值,然后判断是否满足终止条件。若是满足就结束遗传算法迭代,如果不满足则返回重新进行遗传操作。本文的遗传结束条件选取为遗传的最大代数,为MAXGEN=60。

   

 

 

 


4 一级倒立摆的模型

4.1 一级倒立摆的物理模型

倒立摆的物理构成可以表述为:光滑的导轨,可以在导轨上自由移动的小车,和一个质量块的摆杆。它们的铰接方式决定了它们在竖直平面内运动。水平方向的驱动力使小车根据摆角的变化而在导轨上运动,从而达到倒立摆系统的平衡。

该系统的被控变量分别为:为摆杆偏离垂直方向的角度,为小车相对参考点(导轨的最左端位置)的相对位移。摆杆的中心坐标为()。

实际上,倒立摆系统要保持竖直方向的稳定状态,前提是摆杆与竖直方向所成的角度必须在一定的范围之内。一般情况下,要求不得小于5

 

                            图4.1 直线一级倒立摆的物理模型

4.2 一级倒立摆的数学模型

利用牛顿力学方法建立直线型一级倒立摆系统的数学模型。

为简化系统,我们在建模时忽略了空气阻力和各种摩擦,并认为摆杆为刚体。

在忽略了空气阻力和各种摩擦之后, 可将直线一级倒立摆系统抽象成小车和匀质杆组成的系统,如图2所示。

我们不妨做以下假设:

M    小车质量 

m    摆杆质量 

b    小车摩擦系数 

l    摆杆转动轴心到杆质心的长度 

I    摆杆惯量

    φ    摆杆与垂直向上方向的夹角

θ    摆杆与垂直向下方向的夹角(考虑到摆杆初始位置为竖直向下)

倒立摆系统数学模型的建立基于以下假设:

1.摆杆及小车都是刚体。

2. 皮带轮与皮带之间无相对滑动,传动皮带无伸长现象。

3. 小车的驱动力与直流放大器的输入成正比,而且无滞后,忽略交流伺服电机电枢组中的电感。

4. 实验过程中的库仑摩擦、各种动摩擦等所有摩擦力足够小,在建模过程中可忽略不计。

对摆杆进行受力分析,建立一级倒立摆系统的数学模型。

对摆杆的受力分解如图3所示。图中为摆杆与竖直方向的夹角。为小车对摆杆的水平分力,为小车对摆杆的竖直分力。

图4.2  对摆杆的受力分析

水平方向的方程为:

                 (4.1)

竖直方向的方程为:

                (4.2)

将两个方程合并:

                                      (4.3)

当摆杆与垂直向上方向之间的夹角相比很小时,则可以进行如下处理:为了得到控制理论的习惯表达,即u为一般控制量,用u代表控制量的输入力F,线性化得到数学模型方程为:

                                              (4.4)

                                               (4.5)

将(4),(5)进行拉普拉斯变化为:

                               (4.6)

整理后得以u为输入量,以摆杆摆角为输出量的传递函数,将上式整理得:

            (4.7)

其中

由现代控制理论可知,控制系统的状态空间方程为:

                                   (4.8)

   

    方程组对解代数方程,得如下状态空间方程:

      (4.9)

          

                                      (4.10)

以小车加速度作为输入的系统状态方程,设摆杆长为0.25m,设则有:

                                    (4.11)

                                          (4.12)

5 直线一级倒立摆PID控制器系统的仿真研究

5.1 PID控制器的设计

本文采用的方法是在得到被控对象有效模型的基础上,通过评价MATLAB仿真控制系统的性能指标对控制器参数进行优化的。由于一级倒立摆是一个多输入多输出的多变量系统,而PID是一个单输入单输出的控制器,所以这里用两个PID控制器分别对一级倒立摆的两个变量进行控制。这两个变量分别是小车的位移,一级摆的角度。

由于应用遗传算法来整定PID参数其中有一个步骤是在利用遗传算法对PID参数的比例系数Kp、积分系数Ki和微分系数Kd进行搜索时,可先根据经验粗略地选择一个搜索范围,然后可利用搜索结果缩小搜索范围再进行搜索,直至获得一个较合适的搜索范围和为止。

5.2 一级倒立摆系统的Simulink模型及系统仿真

5.2.1 MATLAB及Simulink

MATLAB是美国MathWorks公司出品的商业数学软件[9],用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

而Simulink是MATLAB最重要的组件之一[10],它提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink。

5.2.2 一级倒立摆系统的Simulink的模型

本文采用的方法是在得到被控对象有效模型的基础上,通过评价MATLAB仿真控制系统的性能指标对控制器参数进行优化的。由于一级倒立摆是一个多输入多输出的多变量系统,而PID是一个单输入单输出的控制器,所以这里用两个PID控制器分别对一级倒立摆的两个变量进行控制。这两个变量分别是小车的位移和一级摆的角度。

 由于应用遗传算法来整定PID参数其中有一个步骤是在利用遗传算法对PID参数的比例系数Kp、积分系数Ki和微分系数Kd进行搜索时,可先根据经验粗略地选择一个搜索范围,然后可利用搜索结果缩小搜索范围再进行搜索,直至获得一个较合适的搜索范围和为止。

图6.1为一级倒立摆系统的Simulink模型

5.2.3 仿真结果

以下为仿真结果:Kp1 =-2.3412;Ki1 =0;Kd1 =-2.6235;Kp2 =27.6471;Ki2 =0;Kd2 =4.2314;Kp7 =1;Kp8 =1

对小车位移进行控制的PID控制器的参数,经遗传算法优化后值如下:

Kp1 =-2.3412;Ki1 =0;Kd1 =-2.6235。小车的位移响应曲线如图6.2所示:

图5.1 小车位移

对摆角角度进行控制的PID控制器的参数,经遗传算法优化后值如下:

Kp2 =27.6471;Ki2 =0;Kd2 =4.2314。小车的摆角响应曲线如图6.3所示:

图5.2 小车摆角

5.3 小结

经过上面的仿真及结果分析,此种遗传算法在参数优化上有较好的寻优能力,对一级倒立摆的控制效果很好,精度也很高。经过遗传算法优化PID参数后得出的响应结果好,系统稳定而且无论是系统的响应速度还是超调量都有明显改善,符合要求。


结 论

传统的非线性系统分析方法需要非线性系统的精确模型,而现实世界上存在的大量复杂的多变量非线性系统则表现为参数的不确定性和结构的不确定性。PID控制理论为解决这类复杂多变量非线性系统开辟了一条新途径。本文围绕一级倒立摆系统,采用自动控制理论中的经典控制理论研究了倒立摆控制问题。用Simulink进行了倒立摆的PID控制系统仿真研究,并且结合计算机控制技术研究了倒立摆实物系统的控制问题。通过该系统的设计,也说明了PID控制系统的设计的一般步骤,提供了一套利用matlab进行控制器设计的有效方法,对PID控制系统设计具有借鉴意义。

本文围绕一级倒立摆系统,采用遗传算法对PID参数进行优化的方法研究了倒立摆控制问题,文中设计了倒立摆系统的PID控制器,然后利用遗传算法进行PID参数寻优。

通过实验,得到了一些结论:           

(1) 对于具有非线性、多变量等特点的倒立摆系统进行系统分析,推导出其非线性数学模型,分析其非线性因素,扰动对倒立摆系统的影响。

(2) 详细叙述了以经典控制论为基础的PID控制理论,针对倒立摆系统为控制对象设计了PID控制器及相关的控制方法。以倒立摆摆角为被控量,PID控制器结构简单,实施行好。

(3) PID控制方法实现了倒立摆的良好控制。运用经典控制的基本理论和方法,即可实现对PID参数的最佳自动调整,这就是PID控制。通过实验可知,这种控制方法可以取得良好的控制效果。

(4) 在倒立摆系统仿真试验的基础上,实现了倒立摆的实物控制。将自己设计的控制器嵌入到固高公司设计的倒立摆控制中,进行编译、连接、运行,实现对倒立摆的实时控制。在本课题中,基本达到开题时预定的研究目标,但是在实际调试过程中,若有系统方法精确的计算出控制参数,将大大节省调试时间。但是实时控制唯一不足之处在于PID控制器只能控制摆杆的角度,不能控制小车的位移,这种方法有待于进一步研究。

(5) 此外,我运用了《自动控制理论》课程中的一些内容,如数学模型的建立,PID控制器的设计,从而加深了对所学内容的理解,也培养了理论联系实际的能力。

由于时间和知识水平有限,本文中难免存在错误和不足的地方,还请各位老师批评指正。


致 谢

在本论文结束之际,我要真心感谢所有关心、支持、帮助过我的老师和同学,有了他们的指导、鼓励和帮助,才使我的毕业设计顺利完成。

首先也是我主要感谢的就是我的导师李小华教授。李老师知识渊博,治学严谨,经验丰富,为人和蔼。我的设计工作与论文撰写都是在李老师精心的指导和帮助下完成的。她忘我的工作热情以及严谨的治学态度给了我很大鼓励。这篇论文从题目选择到最终成文,每次我遇到问题,李老师都是不厌其烦地给我讲解,直到我明白为止。通过这次毕业设计,使我对自动化专业的认识有了很大的提高。在经过大量的实验后我把理论同实践结合起来,对我将来的工作有很大的帮助。此次毕业设计我不但完成了设计的任务,也从中得到了训练,这些都与李老师的悉心指导和帮助分不开。在此,我对辛勤培育我的导师致以最崇高的敬意和衷心的感谢!

其次,在这次毕业设计中,我还得到了电信学院其他老师提供的帮助,谨在此对他们表示衷心的感谢!

我还要感谢我的父母和朋友们,是他们在我一次次失败中鼓励我前进的!

最后,对评审论文的各位老师表示忠心的感谢!


参考文献

[1] 薛安客,王俊宏.倒立摆控制仿真与实验研究现状[J].杭州电子工业学院学学报.2002,21(6)25-27.

[2] AstromKJ,Wrttenmark,B.Information technology and information[J].Zhongnan university press.2006,23(8):289-292.

[3] 毛敏.基于遗传算法的PID参数寻优问题的研究[D].北京:华北电力大学,2002.

    10(7):61-64.

[4] 蒋尉孙,俞金寿.过程与控制[M].北京:北京化学工业出版社,1992.

[5] 王介生,王金城,王伟.基于粒子群算法的PID控制器参数自整定[J].控制与决策,2005,20(1):73-76,81.

[6] 王正林,郭阳宽.过程控制与Simulink应用[M].北京:电子工业出版社,2006,52-71 .

[7] 徐征.基于遗传算法的PID控制器参数寻优方法的研究[D].武汉:武汉大学,2004.

[8] 金传伟.基于遗传算法的PID参数优化与仿真[J].微计算机信息,2002,18(7) :72-73.

[9] 黄忠霖.控制系统MATLAB计算及仿真[M].北京:国防工业出版社,2006.

[10] 黄永安,马路,刘慧敏.MATLAB7.0/Simulink6.0建模仿真开发与高级工程应用[M]. 北京:清华大学出版社,2005


附 录

NIND = 50;                %种群中个体的数目

MAXGEN = 60;            %遗传的最大代数

NVAR =8;                 %变量的个数

GGAP = 0.9;               %有多少新个体产生

XOVR = 0.7;               %交叉概率

MUTR = 0.001;             %变异概率

PRECI = 8;                %变量精度

相关推荐