基于遗传算法的一阶倒立摆双闭环PD控制_第1页
基于遗传算法的一阶倒立摆双闭环PD控制_第2页
基于遗传算法的一阶倒立摆双闭环PD控制_第3页
基于遗传算法的一阶倒立摆双闭环PD控制_第4页
基于遗传算法的一阶倒立摆双闭环PD控制_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

清华大学2012届毕业设计说明书页共43页1引言1.1论文选题的目的和意义本文建立了直线一阶倒立摆的数学模型,设计了双闭环PD控制器,控制倒立摆的摆杆角度和小车位置的平衡状态,并在MATLABSIMULINK环境中对其进行仿真验证。在一组可用的PD控制参数基础上,利用C语言编写遗传算法程序对其进行优化,以提高控制效果。倒立摆控制系统是一个复杂的、不稳定的非线性高阶系统,是控制理论教学及开展各种控制实验的理想实验平台。早在20世纪50年代,麻省理工学院(MIT)的控制论专家就根据火箭发射助推器原理设计出一阶倒立摆实验设备,此后其控制方法和思路在军工、航天、机器人领域和一般工业过程中都有着广泛的用途,如机器人行走过程中的平衡控制、火箭发射中的垂直度控制、卫星发射架的稳定控制、飞机安全着陆、化工过程控制以及日常生活中所见的任何重心在上、支点在下的控制问题等,均涉及到“倒立摆问题”。应该说倒立摆系统一直以来都是控制理论的研究热点。1.2倒立摆倒立摆系统是由导轨、小车和各级摆杆组成的。小车依靠直流电机施加的控制力,可以在导轨上左右移动,其位移和摆杆角度信息由传感器测得,目标是使倒立摆在有限长的导轨上竖立稳定,达到动态平衡。1.2.1倒立摆的特性[1倒立摆的种类类型虽然很多,但所有的倒立摆都有其共同特性:(1)非线性倒立摆是一个典型的复杂非线性系统,但在实际的研究过程中,我们可以对其通过线性化得到近似模型,然后在进行控制。当然也可以利用非线性控制理论对其进行控制。(2)不确定性倒立摆的不确定性主要是模型误差以及机械传动间隙,各种阻力等造成的。实际控制中一般通过减少各种误差来降低不确定性,比如通过施加预紧力减少皮带或齿轮的传动误差,利用滚珠轴承减少摩擦阻力等不确定因素。(3)耦合性倒立摆的各级摆杆之间,以及和运动模块之间都有很强的耦合关系,在倒立摆的控制中一般都在平衡点附近进行解耦计算,忽略一些次要的耦合量。(4)开环不稳定性倒立摆的平衡状态只有两个,即在垂直向上的状态和垂直向下的状念,其中垂直向上为绝对不稳定的平衡点,垂直向下为稳定的平衡点。(5)约束限制由于机构的限制,如运动模块行程限制,电机力矩限制等。为了制造方便和降低成本,倒立摆的结构尺寸和电机功率都尽量要求最小,行程限制对倒立摆的摆起影响尤为突出,容易出现小车的撞墙现象。1.2.2倒立摆技术的国内外发展现状[2倒立摆的研究和自动控制理论的发展是息息相关的,随着自动控制理论的发展,作为自动控制原理应用的典型被控对象,倒立摆的研究也得到了很大的发展。倒立摆控制系统是一个复杂的、非线性、多变量、强耦合、不稳定的非线性高阶系统。对倒立摆的研究,国外从上世纪六十年代开始,国内起始于八十年代。在上世纪60年代后期,倒立摆的概念被提出后。由于倒立摆系统所具有的特性,逐渐的被作为一个典型的被控对象并将其用于检验各种先进的控制方法上,受到世界各国许多科技工作者的青睐。1972年Sturegeon和Loscuto应用极点配置并使用全维观测器设计了模拟控制器实现了对二级倒立摆的稳定控制。80年代后期,由于模糊控制的飞速发展,许多学者试着用模糊控制理论控制倒立摆,采用模糊控制方法已经成功的控制住了一级倒立摆,通过这个实验可以检验模糊控制理论对快速、绝对不稳定系统的适应能力。90年代初期,科学家实现了运用神经网络控制倒立摆系统。此后的十年内,国内外众多学者对倒立摆系统的研究更加深入,而且取得了很多实质性的突破和进展。国外在1993年己经实现了对三级倒赢摆的仿真控制,美国、瑞士、日本等许多国家的学者都对倒立摆系统进行了大量的研究,检验了许多先进的控制算法对处理多变量、非线性、强耦合的快速不稳定系统的控制能力。在国内,对倒立摆系统的研究虽然起步比较晚,但是随着用于倒立摆系统的控制理论和方法的广泛应用,国内很多大学和科研机构都对倒立摆进行了大量卓有成效的研究工作。如今,我国的倒立摆研究在某些方面己经走在了世界的前列。例如,北京航空航天大学张明廉教授领导的课题组提出的“拟人智能控制理论”,并成功实现了利用单电机控制三级倒立摆;北京师范大学李洪兴教授提出的自适应模糊控制算法并成功地实现了全球首例四级倒立摆实物系统控制;而后李洪兴教授领导的“复杂系统智能控制实验室”应用具有高维PID调节功能的变论域自适应控制理论成功的实现了对平面运动二级倒立摆实物系统的稳定控制,并于2003年10月第一个成功的实现了平面三级倒立摆实物系统的控制;李德毅院士最早提出了“隶属云”1.3遗传算法遗传算法是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。它是由美国的J.Holland教授1975年首先提出,其主要特点是直接对结构对象进行操作,不存在求导和函数连续性的限定;具有内在的隐并行性和更好的全局寻优能力;采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应地调整搜索方向,不需要确定的规则。由于遗传算法的整体寻优策略以及优化计算时不依赖梯度信息,所以它具有很强的全局搜索能力。它适用于问题结构不是十分清楚、总体很大、环境复杂的场合。作为一种新型的智能优化算法,与传统的寻优算法相比,遗传算法主要具有下述特点:(1)遗传算法是对问题参数的编码群体进行进优化,而不是对参数本身。因此,不受被优化函数约束的限制,也不受搜索空间的限制。(2)遗传算法在字串群体中进行搜索,而不是在单个点上进行寻优。如此一来,就可以大大减小陷入局部优化和局部收敛的可能性,具有全局快速收敛的特点。(3)遗传算法仅使用问题本身所具有的目标函数或其适应度进行工作,而不需要任何先决条件和其他信息(单调性或可导性等)。(4)遗传算法使用随机规则进行操作,而不是某个确定性的规则,因此,可以很快达到最优解附近。(5)遗传算法具有隐含的并行性,它使用相对少的字串,就可以在数量相当大的区域中完成搜索。1.4本文章节安排本文的研究重点是倒立摆数学模型的建立、PD控制器的设计以及遗传算法程序的参数优化,核心内容是PD控制器的设计。其章节安排如下(1)一阶直线倒立摆数学模型的建立;(2)一阶直线倒立摆PD双闭环位置伺服控制系统的设计;(3)基于MATLAB计算引擎的评估函数的实现与遗传算法C语言程序的编制。2一阶倒立摆系统的数学模型2.1倒立摆系统简介[3]倒立摆系统是由导轨、小车和各级摆杆组成的。小车依靠直流电机施加的控制力,可以在导轨上左右移动,其位移和摆杆角度信息由传感器测得,目标是使倒立摆在有限长的导轨上竖直稳定,达到动态平衡。如下图2.1所示即为一阶倒立摆的实验装置图。图2.1一级倒立摆实验装置图倒立摆的种类有很多,接其形式可分为:悬挂式倒立摆、平行式倒立摆、环形倒立摆和平面倒立摆;按级数可分为:一级、二级、三级、四级、多级等;按其运动轨道可分为:水平式、倾斜式;按控制电机又可分为:单电机和多电机。倒立摆的控制问题就是使摆杆尽快的达到一个平衡位置,并且使之没有大的震荡和过大的角度和速度。当摆杆到达期望的位置后,系统能克服随机扰动而保持稳定的位置。常用的倒立摆控制方法有:PID控制、状态反馈控制、线性二次型(LQR)控制等。倒立摆控制系统是由轴角编码器测得小车的位置和摆杆相对于垂直方向的角度,作为系统的两个输入量被反馈至控制计算机。计算机再根据一定的控制算法计算出控制参数,并转换为相应的电压信号提供给驱动电路,以驱动直流力矩电机的运动,从而通过牵引机构带动小车的移动来达到控制摆杆角度和小车位移的平衡。2.2一阶倒立摆系统数学模型的建立2.2.1模型的建立及其重要性(1)模型的分类系统模型是对系统的特征与变化规律的一种定量抽象,是人们用以认识事物的一种手段或工具,一般分为物理模型、数学模型和描述模型这三种。比如,在飞行器的研制中,将其置放在“风洞”之中进行的实验研究,就是模拟空中情况的物理模型的仿真实验研究,其满足“环境相似”的基本原则。又如,在船舶设计制造中,常常按一定的比例尺缩小建造一个船舶模型,然后将其置放在水池中进行各种动态性能的实验研究,其满足“几何相似”的基本原则,是模拟水中情况的物理模型的仿真实验研究。在物理模型上所作的仿真实验研究具有效果逼真、精度高等优点;但是,其或者造价高昂,或者耗时过长,不宜为广大的研究人员所接受,大多数是在一些特殊场合下(比如,导弹或卫星一类的飞行器的动态仿真,发电站综合调度仿真与培训系统等)。随着计算机与微电子技术的飞速发展,人们越来越多的采用数学模型在计算机(数字或模拟的)上进行仿真实验研究。在数学模型上所进行的仿真实验室建立在“性能相似”的基本原则之上的。因此,通过适当的手段与方法建立高精度的数学模型是其前提条件。(2)系统模型建立的重要性由于控制系统的仿真是以其“数学模型”为前提的,所以对于仿真结果的“可靠性”来讲,系统建模至关重要,它在很大程度上决定了仿真实验的“成败”。现代的仿真技术已日趋完善地向人们提供强有力的仿真软件工具,从而对“系统建模”的要求越来越高,因此应予以充分的重视与熟练的掌握。(3)模型建立的步骤建立系统模型就是(以一定的理论为依据)把系统的行为概括为数学的函数关系。其包括以下内容:eq\o\ac(○,1)确定模型的结构,建立系统的约束条件,确定系统的实体、属性和活动;eq\o\ac(○,2)测取有关的模型数据;eq\o\ac(○,3)运用适当理论建立系统的数学模型;eq\o\ac(○,4)检验所建立的数学模型的准确性。2.2.2系统建模[4]在忽略了空气流动阻力,以及各种摩擦之后,可将倒立摆系统抽象成小车和匀质杆组成的系统,如图2.2所示,其中:M:小车质量m:为摆杆质量J:为摆杆惯量图2.2一阶倒立摆物理结构模型图2.2一阶倒立摆物理结构模型x:小车位置θ:摆杆与垂直向上方向的夹角L:摆杆转动轴心到杆质心的长度根据牛顿运动定律以及刚体运动规律,可知:(1)摆杆绕其重心的转动方程为(2-1)(2)摆杆重心的运动方程为(2-2)(2-3)(3)小车水平方向上的运动为(2-4)联立上述四个方程可以得出一阶倒立摆精确模型为(2-5)其中式中的J为摆杆的转动惯量:若只考虑θ在其工作点附近()的细微变化,则可以近似认为:则可简化得:(2-6)再经过拉斯变换可得:(2-7)现给定一阶倒立摆参数如下:M=1kg,m=1kg,L=0.3m,g=10m/s则将上述参数分别代入(2-5)、(2-6)、(2-7)得:一阶倒立摆的精确模型为:(2-8)一阶倒立摆的线性化模型为:(2-9)一阶倒立摆的传递函数为:(2-10)2.3电动机、驱动器及机械传动装置的模型[5]选用日本松下电动MSMA021型小惯量交流伺服电动机,其有关参数如下:驱动电压:U=0~100V额定功率:额定转速:n=3000r/min转动惯量:额定转矩:最大转矩:电磁时间常数:机电时间常数:经传动机构变速后输出的拖动力为:F=0~16,与其配套的驱动器为:MSDA021A1A,控制电压:=0~10V。若忽略电动机的空载转矩和系统摩擦,就可以认为驱动器和机械传动装置均为纯比例环节,并假设这两个环节的增益分别为和.对于交流伺服电动机,其传递函数可近似为:(2-11)由于是小惯性的电动机,其时间常数、相对都很小,这样可以进一步将电动机模型近似等效为一个比例环节K。那么综上所述,电动机、驱动器、机械传动装置三个环节就可以合成为一个比例环节:(2-12)2.4一阶倒立摆系统模型的验证[6]因本文采用仿真实验的方法来设计小车倒立摆控制系统,故需要分别建立其对应的精确simulink模型与线性化simulink模型。其中,精确模型用来检验控制的效果,而线性化模型是为了方便利用经典控制理论对控制系统进行设计。为了确保线性化模型的正确性,即可替代精确模型进行控制系统的设计,我们给出了一种“必要条件法”(我们所进行的模型验证实验的结果是依据经验可以判定的,其正确的结果是“正确的模型”所应具备的“必要性质”)。我们由(2-8)和(2-9)分别得到一阶倒立摆系统的精确数学模型和线性化模型。一阶倒立摆系统的精确数学模型:(2-13)一阶倒立摆系统的线性化数学模型:(2-14)根据上述两个数学模型,得模型验证原理图2.3,其中上半部分是线性化后的模型,下半部分是精确的模型。由数学模型(2-13)和(2-14)可得,Fcn、Fcn1、Fcn2、Fcn3的函数形式如下所示:Fcn=0.8*u[1]-6*u[3]Fcn1=40*u[3]-2.0*u[1]Fcn2=(0.12*u[1]+0.036*sin(u[3])*power(u[2],2)-0.9*sin(u[3])*cos(u[3]))/(0.24-0.09*power(cos(u[3]),2))Fcn3=(0.3*cos(u[3])*u[1]+0.09*sin(u[3])*cos(u[3])*power(u[2],2)-6*sin(u[3]))/(0.09*power(cos(u[3]),2)-0.24)图2.3数学模型验证原理图将2.3原理图运行仿真后得到如图2.4的仿真结果:图2.4精确模型与简化模型的对比验证曲线如图2.4中,θ(t)、θ’(t)、x(t)与x’(t)所指向的曲线依次为精确模型摆杆角度随时间变化曲线、线性化模型摆杆角度随时间变化曲线、精确模型小车位移随时间变化曲线和线性化模型小车位移随时间变化曲线。当输入信号为持续0.1秒的0.1N冲击力,从图2.4中可以看出,此时倒立摆倒下(θ(t)与θ’(t)所指向的曲线随时间增大),小车位移(x(t)与x’(t)所指向的曲线)逐渐增加,这一结果符合前述的实验设计,故可在一定程度上确认该“一阶倒立摆系统”的数学模型是有效的。同时,在图中也可以看出,近似线性简化模型在0.9秒以前与精确模型非常接近,因此,也可以认为近似模型在一定条件下可以表述原系统模型的性质。2.5本章小结本章利用牛顿定律及刚体绕定轴转动规律对倒立摆和驱动装置进行了数学建模,然后利用线性近似在θ=0附近(-10°<θ<10°)对倒立摆精确数学模型进行了模型简化,以便于利用经典控制理论进行PD双闭环控制器的设计。最后通过精确模型与简化模型相似度的对比,证明了简化模型对精确模型的可替代性。这意味着在控制器的设计过程中,我们可以用简化模型代替精确模型,从而简化控制器的设计过程。3双闭环PD控制器的设计[7]3.1控制系统的设计方法所谓控制系统的设计就是在系统中引入适当的环节,用以对原有系统的某些性能(如上升时间、超调量、过渡过程时间等)进行校正(又称综合),使之达到理想的效果,故又称之为系统的校正与综合。对于采用传递函数的控制系统,常用的经典设计方法是根轨迹和频域法。从一阶倒立摆系统动态结构图中不难看出,对象传递函数中含有不稳定的零极点,即该系统是一个“自不稳定的非最小相位系统”。由于一阶倒立摆系统位置伺服控制的核心是“在保证摆杆不倒的条件下,使小车位置可控”,因此,依据负反馈闭环控制原理,将系统小车位置作为“外环”,而将摆杆摆角作为“内环”,则摆角作为外环内的一个扰动,能够得到闭环系统的有效抑制(实现其直立不倒的自动控制)。综上所述,设计一阶倒立摆位置伺服控制系统如图3.1所示:Xr(s)X(s)DXr(s)X(s)D2(s)G1(s)D1(s)KsG2(s)D’1(s)D’2(s)+-+-图3.1一级倒立摆双闭环PD位置伺服系统总体设计方案3.2系统内环控制器的设计3.2.1控制器结构的选择考虑到对象为一个非线性的自不稳定系统,故拟采用反馈校正,这是因为其具有如下特征:eq\o\ac(○,1)消弱系统中非线性特性等不希望特性的影响;eq\o\ac(○,2)减低系统对参数变化的敏感性;eq\o\ac(○,3)抑制扰动;eq\o\ac(○,4)减小系统的时间常数。所以,我们对系统内环采用反馈校正进行控制。如图3.2为内环控制系统框图。其中,Ks为伺服电动机与减速机构(包括驱动器和机械传动装置)的等效模型(Ks=1.6),反馈控制器D1’(s)可有PD、PI、PID三种形式,通过各种控制器结构下内环系统的根轨迹图的绘制,我们发现采用PD结构的反馈控制器可使系统结构简单,使原自不稳定的系统稳定。所以,综上所述,,同时为了加强对干扰量D(s)的抑制能力,我们在前向通道上加一个比例环节D1(s)=K1。G1(s)G1(s)K11KsD’1(s)+-Θr(s)Θ(s)D(s)+图3.2内环控制系统框图3.2.2内环控制器参数的确定首先暂定比例环节D1(s)的增益K1=-20,又已知Ks=1.6。这样可以求出内环的传递函数为:(3-1)令(3-2)由于对系统内环的特性并无特殊的指标要求,因此对于这一典型的二阶系统,采取典型参数整定办法,即以保证内环系统具有“快速跟随性能特性”(使阻尼比ζ=0.7,闭环增益K=1即可)为条件来确定反馈控制器的参数和,这样就有:(3-3)由上式得,(3-4)则系统内环的传递函数为:(3-5)3.2.3系统内环的动态跟随性能指标(1)理论分析系统内环的动态跟随性能指标如下:固有频率:阻尼比:超调量:调节时间:(5%误差所对应的)(2)仿真实验根据内环系统的闭环传递函数,搭建如下图3.3的simulink仿真模型图3.3搭建的simulink模型运行后得响应曲线如图3.4所示:图3.4内环系统闭环传递函数的响应曲线从上图分析得,超调量=,且误差达到5%之内的时间为=0.5s左右,均与理论分析值相符合。3.3系统外环控制器设计外环系统前向通道的传递函数为(3-6)可见,系统开环传递函数可视为一个高阶(四阶)且带有不稳定零点的“非最小相位系统”,为了便于设计,需要先对它进行一些必要的简化处理,否则不便于利用经典控制理论与方法对其进行设计。3.3.1系统外环模型的降阶对于一个高阶系统,当高次项的系数小到一定的程度时,该环节对系统的影响可忽略不计。这样可降低系统的阶次,以使系统得到简化。(1)对内环等效闭环传递函数的近似处理由上可知,系统内环传递函数为(3-7)若将高次项忽略,则可以得到近似的一阶传递函数为(3-8)近似条件可由频率特性导出,即(3-9)所以,近似条件是:。(2)对象模型近似处理我们知道对于,如果可以将分子中的高次项忽略,则可以近似为二阶环节,即。同理,近似条件为:。经过上述处理以后,系统开环传递函数被简化为:(3-10)近似条件:。3.3.2控制器设计经过上述的简化,我们可以得到如下图3.5所示的系统外环前向通道上传递函数的等效过程。从这个简化模型上我们不难看出,这是一个二型系统;鉴于一阶倒立摆位置伺服控制系统对抗扰性能与跟随性能的要求(对摆杆长度、质量的变化和外力的干扰应具有一定的抑制能力,同时可使小车有效定位),可以将外环系统设计成典型二型的结构形式。同时,系统还应满足前面各环节的近似条件,即系统外环的截止角频率。G1(s)KG1(s)K11KsD’1(s)+-Θr(s)D(s)+G2(s)X(s)W1(s)ΘW1(s)Θr(s)G2(s)X(s)ΘΘr(s)W1(s)G2(s)X(s)图3.5系统外环模型简化过程为了满足以上对系统的设计要求,不难发现所需要加入的调节器也应为PD的形式。设加入的调节,同时为了使系统有较好的跟随性,采用单位反馈()来构成外环反馈通道,如下图3.6所示。此时系统的开环传递函数为(3-11)为了保证剪切频率,我们不妨取;则由“典型二型系统”最佳参数选择经验(中频宽h=5)可知:W1(s)W1(s)D’2(s)+-Xr(s)G2(s)D2(s)X(s)图3.6闭环系统结构图则,取,则有开环系统传递函数为(3-12)再由“典型二型系统”Bode图特性()得:(3-13)综上所示得:(3-14)3.4系统的SIMULINK仿真与分析利用MATLABSIMULINK搭建系统的仿真模型如图3.7所示:图3.7系统的simulink仿真原理图输入为1时,小车位移与摆杆摆角变化曲线如图3-8所示图3.8系统仿真结果曲线为了检验控制系统的鲁棒性,我们通过改变倒立摆系统的部分参数来达到检验控制系统鲁棒性的目的。例如,我们将倒立摆的摆杆质量m改为1.1Kg,此时系统的仿真原理图仍如图3.7所示,只需要将Fcn和Fcn1函数改为如下:Fcn=(0.132*u[1]+0.0436*sin(u[3])*power(u[2],2)-1.090*sin(u[3])*cos(u[3]))/(0.2772-0.1090*power(cos(u[3]),2))Fcn1=(0.33*cos(u[3])*u[1]+0.1090*sin(u[3])*power(u[2],2)-6.93*sin(u[3]))/(0.1090*power(cos(u[3]),2)-0.2772)则仿真结果如下图3.9所示:图3.9改变倒立摆质量后系统的仿真曲线从图3.9可以看出,当输入为1时,小车经过7秒后于给定位移1处静止,而摆杆也在7秒之后在竖直位置静止。这说明,我们设计的系统最终达到了所要求的目标,且具有较好的鲁棒性,双闭环PD控制是有效的。3.5本章小结由于倒立摆系统对摆角的要求高于小车的位移,选取系统小车位置作为“外环”,而将摆杆摆角作为“内环”,则摆角作为外环内的一个扰动,能够得到闭环系统的有效抑制。利用经典控制理论的工程设计方法,在对各环节传递函数进行了近似处理的条件下,根据“快速跟随性能指标”与二型系统最佳参数选择经验,我们采用PD控制方法对倒立摆控制系统的内环和外环进行了设计。最后,通过改变系统的某项参数对所设计的系统进行了鲁棒性的测试,结果表明了此系统控制效果达到了预期目标,说明了双闭环PD控制是有效的。4基于遗传算法的控制系统参数的优化4.1控制系统的优化设计所谓优化设计,就是在所有可能的设计方案中寻找具有最优目标(或结果)的设计方法。它以一定的数学原理为依据,借助于计算机强大的分析计算能力,在自动控制、机械设计、经济管理和系统工程等方面为人们所广泛应用。控制系统的优化设计包括两个方面的内容:一方面是控制系统参数的最优化问题,即在系统构成确定的情况下选择适当的参数(对于非线性、时变系统,传统设计方法是难于实现的),以使系统的某种性能达到最佳;另一方面是系统控制器结构的最优化问题,即在系统控制对象确定的情况下选择适当的控制结构或控制规律,以使系统的某种性能达到最佳。4.1.1优化设计过程中的几个概念一般情况下,由于优化设计是相对某些具体设计要求或某一人为规定的优化指标来寻优的,所以优化设计所得结果往往是相对的最佳方案。图4.1给出了优化设计的流程框图,下面简要介绍其中的几个概念。设计设计变量数学模型目标函数评判优化方法计算最优方案图4.1优化设计框图(1)设计变量在优化设计中,将某些有待选择的量值称为设计变量。通常,设计变量的初始值不影响优化的结果,但会影响优化设计的效率。(2)约束条件在优化设计中,某些设计变量的结果可能超出了某些设计要求的限制(不满足工程技术的要求);计算机应能自动抛弃不合理的设计方案,而去继续寻找最优化方案,以提高优化设计的效果。这些限制条件在数学上称之为约束条件。(3)目标函数实际上,真正意义上的“最优”是很难寻求的,我们所说的“最优”是指在一定“条件”下的最优,而此条件就是人们所设计的目标函数。目标函数的选择是整个优化设计过程中的最重要的决策之一,其选择直接影响最终结果。(4)目标函数值的评定对于不同的优化设计问题,其目标函数的选取方式依据不同的控制目标是不一样的。但总的来说,控制系统参数的优化设计过程中,常用的目标函数有以下几种:IAE准则,即(4-1)ISE准则,即(4-2)ITAE准则,即(4-3)ITSE准则,即(4-4)ISTAE准则,即(4-5)ISTSE准则,即(4-6)这些目标函数对于同一个优化问题,其优化结果是不相同的,使控制系统所具有的动态性能也不一样(如快速性、超调量等),具体应用哪一种目标函数还需要在实际应用中适当的加以选择,或者在试验中加以选择。4.1.2优化算法[8]所为优化算法,其实就是一种搜索过程或者规则,它是基于某种思想和机制,通过一定的途径或规则来得到满足用户的问题的解。就优化机制与行为来分,目前工程上常用的优化算法主要分为:经典优化算法、构造性优化算法、智能优化算法和混合型优化算法。(1)经典优化算法包括线性规划、动态规划、整数规划和分枝定界等运筹学中的传统算法,其算法计算性一般复杂性较大,只适合于求解小规模问题。(2)构造性优化算法用构造的方法快速建立问题的解,通常算法的优化质量差,难以满足工程的需要。比如,调度问题中的典型构造方法有:Johnson法、Palmer法、Gupta法、CDS法、Daunenbring的快速接近法、NEH法等。(3)智能优化算法智能优化算法是通过模拟或揭示某些自然现象或过程发展而来的,与普通的搜索算法一样都是一种迭代算法,对问题的数学描述不要求满足可微性、凸性等条件,是以一组解(种群)为迭代的初始值,将问题的参数进行编码,映射为可进行启发式操作的数据结构,仅用到优化的目标函数值的信息,不必用到目标函数的导数信息,搜索策略是结构化和随机化的(概率型的),其优点是:具有全局的、并行高效的优化性能,鲁棒性、通用性强等。智能优化算法的适用范围非常广泛,特别适合于大规模的并行计算。(4)混合型算法混合型算法是指上述各算法从结构和操作上相互混合而产生的各类算法。在本文中,我们根据要求选择智能优化算法中的遗传算法对控制系统的参数进行优化。4.2遗传算法4.2.1遗传算法概述[9]遗传算法(GeneticAlgorithms,简称GA)是人工智能的重要新分支,是基于达尔文进化论,在计算机上模拟生命进化机制而发展起来的一门新学科。它根据适者生存,优胜劣汰等自然进化规则来进行搜索计算和问题求解。对许多用传统方法难以解决或明显实效的复杂问题,特别是优化问题,GA提供了一种行之有效的途径,也为人工智能的研究带来了新的生机。从实质上讲,GA是生物科学与工程技术相结合的一门边缘学科,已成为继专家系统、人工神经网络之后有关人工智能学科的第三个研究热点。目前,GA已在组合优化问题求解、自适应控制、程序自动生成、机器学习、神经网络训练、人工生命研究、经济组合等领域取得了令人著目的应用成果,GA也成为了当前人工智能及其应用的热门课题。4.2.2遗传算法的主要特点[10]遗传算法的基本思想是将待求解问题转换成一个由个体组成的演化群体和对该群体进行操作的一组遗传因子,经历生成—评价—选择—遗传变异等操作的演化过程,反复进行迭代,直到搜索到符合条件的最优解。本文之所以选择遗传算法,是因为与传统的寻优算法相比,遗传算法主要具有下述特点:(1)遗传算法是对问题参数的编码群体进行进化,而不是对参数本身。因此,不受被优化函数约束的限制,也不受搜索空间的限制。(2)遗传算法在字串群体中进行搜索,而不是在单个点上进行寻优。如此一来,就可以大大减小陷入局部优化和局部收敛的可能性,具有全局快速收敛的特点。(3)遗传算法仅使用问题本身所具有的目标函数或其适应度进行工作,而不需要任何先决条件和其他信息(单调性或可导性等)。(4)遗传算法使用随机规则进行操作,而不是某个确定性的规则,因此,可以很快达到最优解附近。(5)遗传算法具有隐函的并行性,它使用相对少的字串,就可以在数量相当大的区域中完成搜索。4.2.3遗传算法常用术语[8](1)基因(gene)基因是染色体的一个片段,通常为单个参数的编码值。例如个体S=10111,则其中的10111这五个元素分别被称为基因。(2)染色体(chromosome)染色体是携带着基因信息的数据结构,也叫基因串,简称个体,一般表示为二进制位串或整数数组。(3)种群(population)个体的集合称为种群,个体是种群中的元素。(4)种群大小(populationsize)在种群中个体的数量称为种群的大小,也叫群体规模。(5)搜索空间(searchspace)如果问题的解能用N个实值参数集来表示的话,则认为搜索工作是在N维空间进行的,这个N维空间被称为问题的搜索空间。(6)适应度(fitness)反应个体性能的一个数量,表示某一个体对于生存环境的适应程度,对生存环境适应程度较高的个体将获得更多的繁殖机会,而对生存环境适应程度较低的个体,其繁殖机会就会相对较少,甚至逐渐灭绝。(7)基因型(genetype)基因组合的模型叫基因型,他是染色体的内部表现。(8)表现型(phenotype)由染色体决定性状的外部表现,或者说,根据基因型形成的个体。(9)编码(coding)从表现型到基因型的映射。(10)解码(decoding)从基因型到表现性的映射。引入上述术语后,我们就可以更好的描述与理解遗传算法了。4.2.4遗传算法的简单流程[11]遗传算法(GeneticAlgorithm,以下简称GA)是基于自然选择,在计算机上模拟生物进化机制的寻优搜索算法。它把搜索空间(与求解问题的解空间)映射为遗传空间,即把一个没有可能的解编码为一个向量(二进制数或者十进制数字串),成为一个染色体(chromosome,或一个个体),向量的每一个元素成为基因(gene)。所有染色体组成群体(population,或集团)。并按预订的目标函数(或某种评价指标,如商业经营中的利润、工程项目中的最小费用、最短路径等)对每个染色体进行评价,根据其结果给出一个适应度的值。算法开始时先随机地产生一组染色体(这叫做初始种群的生成),分别计算其适应度,然后根据适应度对诸染色体进行选择、交换、变异等遗传操作,剔除适应度低(性能不佳)的染色体,留下适应度高(性能优良)的染色体,从而得到新的群体。由于新群体的成员是上一代群体的优秀者,继承了上一代的优良特性,因而在总体上明显优于上一代。GA就如此反复迭代,向着更优解的方向进化,直至满足某种预订的优化指标。上述GA的工作过程可用图4.2表示:初始种群的生成初始种群的生成种群P(t)染色体解码适应度值求解复制交叉变异种群P(t+1)满足要求?解码优化参数最优保存策略P(t+1)—>P(t)NY图4.2遗传算法编程流程简单的遗传算法的三个基本运算操作是选择、交换与变异。(1)选择选择运算又称为繁殖、再生或复制运算,用于模拟生物界去劣存优的自然选择现象。它根据适应度值从旧种群中选择出性能优良(相对适应度值大的个体)的染色体,放入匹配集缓冲区,为染色体交换和基因变异运算产生新种群做准备。适应度越高的染色体被选择的可能性越大,其遗传基因在下一代群体中的分布就越广,其子孙在下一代出现的数量就越多。(2)交叉复制操作虽然能够从旧种群中选择出优秀者,但不能创造新的染色体,因此,遗传算法的开创者提出了交换操作。它模拟生物进化过程中的繁殖现象,产生优良品种,即:在匹配集中任选两个染色体(称为双亲);随机选择一点或多点交换点位置J(0<J<NVARS,NVARS是染色体中基因的个数,即染色体长度);交换双亲染色体左边的基因,即可得到两个新的(下一代)染色体数字串。也就是说,交换操作能够创造新的染色体(子孙染色体),从而允许对空间中的新个体进行搜索和评估。此外,交换也体现了自然界中信息交换的思想。(3)变异变异运算用于模拟生物在自然界的遗传环境中由于各种偶然因素引起的基因突变,它以很小的概率随机改变遗传基因(表示染色体的符号串的某一位)的值。在染色体以二进制编码的系统中,它随机地将染色体的某一个基因由1变成0,或由0变成1。若只有选择和交换,而没有变异操作,则无法在初始基因组合以外的空间进行搜索,使进化过程在早期就陷入局部解而终止进化过程,从而使解的质量受到很大限制。通过变异操作,可确保群体中遗传基因类型的多样性,以使搜索能在尽可能大的空间中进行,避免丢失在搜索中有用的遗传信息而陷入局部解,获得质量较高的优化解答。4.2.5遗传算法的数学理论基础模式是指种群个体基因串中的相似样板,它用来描述基因串中某些特征相同的结构。在二进制编码中,模式是基于三个字符集(0,1,*)的字符串,符号*代表任意字符,即0或者1。在模式H中确定位置的个数成为模式H的阶,记作。例如0(10**1)=3;模式H中第一个确定的位置和最后一个确定位置之间的距离成为模式H的定义距,记作δ(H)。例如δ(10**1)=4。模式定理指出,一个种群中的特定模式H经过复制、交叉和变异操作的共同作用,在下一代中的数量可表示为(4-7)其中,表示特定模式H在t代中的数量,表示t时刻对应于模式H的位串的平均适配值,表示整个种群的平均适配值,表示交叉概率,表示模式的定义长度,表示位串长度,表示模式位数,表示变异概率。根据模式定理我们可以知道,随着遗传算法的一代一代地进行,那些定义长度短的、确定位数少的、适配值高的模式将越来越多,因而可以期望最后得到的位串(即这些模式的组合)的性能越来越得到改善,并最终趋向全局的最优点。4.3遗传算法程序设计[12-13]根据图4-2所示遗传算法的步骤流程,对本文所设计的遗传算法程序进行详细的介绍:(1)程序中遗传参数的设置:为了保证遗传算法的快速寻优与全局收敛的特性且经过了多次试验,确定相关遗传参数如下:种群大小POPSIZE20,染色体基因个数NVAR40,交叉概率PXOER0.9,变异概率PMUTATION0.05,寻优代数20。(2)初始种群的生成利用随机函数rand(),以0.5的概率对种群中每个基因为复制为0或1;此外,值得注意的是,为了节省参数寻优的时间,本文将第二章中设计所得一组PD控制参数(P1=D1=0.12,P2=1.625,D2=0.175)作为初始种群中的一个染色体。(3)编码与解码函数本算法采取二进制编码方式,解码为十进制后各参数范围0<P1<1,0<D1<1,0<D2<1,1<P2<2。每条染色体由40个基因位组成,从前往后分为四组,每组10个,解码得到的十进制数依次对应为PD控制参数P1,D1,P2和D2。根据线性解码原理,控制参数P1、D1、P2和D2与编码的对应函数如下所示:(4-8),(4-9)(4-10),(4-11)(4)评价函数因评价函数采用C语言与MATLAB混合编程并调用matlab中计算引擎的方法实现,内容较多,将在下一节中单独介绍。(5)选择操作本文选择了现行比较普遍的适应度比例法来进行个体的选择,其简述与编程步骤如下:适应度比例法又称轮盘赌法,它把种群中所有染色体适应度的总和看作一个轮盘的圆周,而每个染色体按其适应度在总和中所占的比例占据轮盘的一个扇区。每次染色体的选择可看作是轮子的一次随机转动,它转到哪个扇区停下来,那个扇区对应的染色体就被选中。其实就是将适应度值视为其权值,权值大的被选中的概率也大。尽管这种选择方法是随机的,但它与各染色体适应度值成正比。某一染色体被选中的概率,即为其相对适应度值(4-12)其中,是个体c的适应度值,是种群的适应度值总和。用适应度比例法进行选择的时候,首先计算旧种群中每个个体的适应度值,然后按每个个体的相对适应度值的概率进行选择,其具体的编程步骤如下:eq\o\ac(○,1)计算每个染色体的适应度值;eq\o\ac(○,2)累加所有的适应度值,得最终累加值SUM=,并记录对应于每个染色体的中间累加值。用各自的中间累加值除以最终累加值SUM,得各自的相对适应度值rfitness()。eq\o\ac(○,3)产生一个随机数p=rand()%1000/1000.0,0<p<1;eq\o\ac(○,4)选择其对应的相对适应度值满足rfitness()<p<rfitness()的个体复制进入交换集;eq\o\ac(○,5)重复步骤eq\o\ac(○,3)eq\o\ac(○,4),直到交换集中包含了足够多的(种群大小)个体为止。选择操作程序段如下所示:(6)交叉操作选择操作的具体程序编制步骤如下:eq\o\ac(○,1)产生一个随机数x=rand()%1000/1000.0(0<x<1),当x小于交叉概率PXOVER时,此染色体被标记为待交叉个体;eq\o\ac(○,2)重复一次上述操作,找到第二个待交叉个体。eq\o\ac(○,3)产生一个随机数point=(rand()%(NVARS-1))+1,它代表上述两个体的交叉位置;eq\o\ac(○,4)将上述两个染色体交叉位置左边的基因互换。(7)变异操作本文选择单点变异算法,其编程步骤如下:eq\o\ac(○,1)对于种群中一条染色体的一个基因位生成一个随机数x=rand()%1000/1000.0,(0<x<1),若x小于变异概率PMUTATION,则对该位取反,即当此位为1时变为0,0时变为1;eq\o\ac(○,2)重复以上操作,直到遍历了种群中所有的基因为止。(8)最优保存策略在遗传算法的运行过程中,通过对个体进行交叉、变异等遗传操作而不断地产生出新的个体。虽然在群体的进化过程中会产生出越来越多的优良个体,但由于选择、交叉、变异等遗传操作的随机性,他们也有可能破坏掉当前群体中适应度最好的个体。这并不是我们所希望发生的,因为它会降低群体的平均适应度,并且对遗传算法的运行效率、收敛性都有不利的影响。所以,我们希望适应度最好的个体要尽可能地保留到下一代群体中。为了达到这个目的,在选择的过程本文加入了最优个体保留的过程。其具体步骤如下:eq\o\ac(○,1)找出上一代中适应度值最大的染色体bestnum,适应度为curbest;eq\o\ac(○,2)找出当前代适应度最高与最低的染色体,分别为best_mem,worst_mem,适应度值分别为best与worst;eq\o\ac(○,3)若curbest>best,则用染色体bestnum取代best;否则,则用染色体bestnum取代染色体worst_mem。4.4基于MATLAB与C混合编程的评估函数的实现4.4.1多目标优化问题评估函数的选择对于一阶倒立摆位置伺服控制系统,一般要求“快速-无超调”的阶跃响应特性。经验表明,IAE准则可使控制系统具有无超调的特性,因此所选目标函数中应含有IAE准则;除此之外,一阶倒立摆位置伺服控制系统的优化还是一个典型的多目标优化,即小车的位移特性优化与摆杆角位移特性的优化。遗传算法具有求解多目标优化问题的优点。早在1967年,Rosenberg博士在其博士学位论文中曾提到可用遗传搜索算法来求解多目标的优化问题,但直到1985年才出现基于向量评估的VEGA算法,这是第一个多目标演化算法,其本质上是加权和方法,即首先根据控制系统对目标的精度要求等条件分别赋之以权值,而后相加求和得到评估函数。本文选择此算法作为评估函数选择的依据[14]。一阶倒立摆位置伺服控制系统对于摆杆的灵敏度与角位移特性要求更高,而且与小车的位移相比而言,角位移小的多。综合以上所述,并在多次试验之后,本文选取目标评价函数如下:(4-13)取采样时间为0.1s将其离散化,得评价函数:(4-14)其中,是种群中一条染色体解码后所对应的一组PD控制参数,表示在0到10秒的仿真过程中采样点处小车位移与输入量的差值的绝对值,则表示摆杆角位移的绝对值,30是摆杆角位移的权值。4.4.2VisualC++6.0中调用MATLAB引擎的评估函数的实现若要评价一组参数控制性能的优劣,我们有必要找到一个合适的评价函数。根据上节的评估函数式(4-2),我们知道,若要得到一组参数的评估函数值,就必须用这组参数在已设计的控制系统中进行仿真,从而得到0到10秒这一时间段中每间隔0.1s处的小车位移与摆杆角位移值。本文采用C语言与MATLAB的混合编程的方式,在C语言程序中调用MATLAB引擎,以实现评估函数值复杂的计算。其优点如下:(1)系统的算法模块与其他模块分开,这将提高模块的内聚性,降低模块间的耦合性。(2)其次,大量数学工具包的调用避免了程序设计中的重复性劳动,使得研究开发的周期和成本得到了控制。(3)最后,由于提供的数学工具包都针对运算过程和结果进行了专门的优化,这将有效地提高应用系统的精确度和稳定性。4.4.3C语言调用MATLAB引擎简介[15MATLAB引擎采用客户机/服务器(Client/Server)计算方式,就是一种把应用处理负载分布到客户机和服务器上的计算模式。客户机与服务器既可以存在于同一台计算机上,也可以通过网络来共享信息。一般情况下,客户机是运行前端软件的PC机,并且知道如何与服务器通信;服务器与此相对应,是接受请求信息,并采取相应行动的机器。由于客户机与服务器共同承担处理负载,使系统总体性能大为提高。MATLAB引擎函数库是MATLAB提供的一系列程序的集合,可以在C/C++或者FORTRAN应用程序中对其进行调用。此时MATLAB将被用作一个计算引擎使用,在后台运行,完成复杂的矩阵计算,简化前后台用户程序设计的任务。MATLAB引擎函数库因此而得名。在启动MATLAB引擎时,相对于启动了另外一个MATLAB进程,不过它是在后台运行。在实际应用中,C/C++语言的程序作为前端客户机,它向MATLAB引擎传递命名和数据信息,并从MATLAB引擎接收数据信息,而MATLAB在后台进行相关的数据处理,这样便缩短了软件程序的开发时间。在Windows操作系统上,两者之间的通信主要是通过ActiveX来完成的。MATLAB引擎与C/C++进行数据交换时通过一种专门的对象类MATLAB数组(mxArray)。这是由于MATLAB语言仅利用这一专门的对象类型进行各种处理,所有的MATLAB变量,无论是标量、矢量,还是矩阵、字符串,都是利用MATLAB数组来存储。MATLAB提供C/C++语言下的各种有效的MATLAB数组(mxArray)处理函数。4.4.4C调用MATLAB引擎的具体实现[16-1MATLAB的基本计算单元是数组,因此应用程序将主要对MATLAB数组进行处理。它被定义成名为mxArray的结构体。不论是输入数据还是最后的结果都保存在mxArray类型的变量中,都需要通过MATLAB提供的mxArray处理函数进行处理。本文中调用MATLAB引擎的应用程序设计思想如下:eq\o\ac(○,1)建立系统仿真的simulink模型,命名为dyjq,保存于MATLAB路径下D:ProgramFiles\matlab\dyjq.mdl.图4.3被C调用的simulink模型eq\o\ac(○,2)为了实现VisualC++6.0与MATLAB之间的通信,在进行程序的编写之前需要做如下的环境设置:(1)打开visualc++6.0软件,新建Win32ConsoleApplication工程,命名为ga,单击确定。选择“一个空工程”,单击完成。图4.4新建工程(2)在菜单栏中点击“工程”“设置”,在如下对话框中选择“连接”,并在对象/库模块中添加“libmx.liblibmat.liblibeng.lib”,两两中间用空格隔开,并点击确定。图4.5添加库文件的设置(3)在菜单栏中依次选择“工具”“选项”。选择“目录”,并依次在“Includefiles”和“Libraryfiles”中添加D:ProgramFiles\MATLAB\R2008a\EXTERN\INCLUDE和D:ProgramFiles\MATLAB\R2008a\EXTERN\LIB\WIN32\MICROSOFT这两条路径。图4.6添加Includefiles和Libraryfiles的设置(4)MATLAB的注册在调用MATLAB引擎之前需要完成在DOS环境下的注册操作。首先,通过“开始——附件——命令提示符”打开DOS,输入命令:“D:”并回车,切换至MATLAB的安装所在路径;然后,输入命令“cdD:ProgramFiles\MATLAB\R2008a\bin”切换到安装目录下;最后,在DOS中输入命令“\MATLAB/regserver”,回车之后,会弹出matlab的命令窗口,就成功的完成了注册。eq\o\ac(○,3)最后进行评估函数代码的编辑。值

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论