资源描述
武汉科技大学
智能控制系统
学院:信息科学和工程学院
专业:控制理论和控制工程
学号:10104045
姓名:李倩
基于MATLAB智能控制系统介绍和设计实例
摘要
现代控制系统,规模越来越大,系统越来越复杂,用传统控制理论方法己不能满控制要求。智能控制是在经典控制理论和现代控制理论基础上发展起来,是控制理论、人工智能和计算机科学相结合产物。MATLAB是现今流行一个高性能数值计算和图形显示科学和工程计算软件。本文首先介绍了智能控制部分基础理论知识,在这些理论知识基础之上经过列举倒立摆控制具体实例,结合matlab对智能控制技术进行了深入研究。
第一章 引言
自动控制就是在没有些人直接参与条件下,利用控制器使被控对象(如机器、设备和生产过程)一些物理量能自动地根据预定规律改变。它是介于很多学科之间综合应用学科,物理学、数学、力学、电子学、生物学等是该学科关键基础。自动控制系统实例最早出现于美国,用于工厂生产过程控制。美国数学家维纳在20世纪40年代创建了“控制论”。伴伴随计算机出现,自动控制系统研究和使用取得了很快发展。在控制技术发展过程中,待求解控制问题变得越来越复杂,控制品质要求越来越高。这就要求必需分析和设计对应越来越复杂控制系统。智能控制系统(ICS)是复杂性急剧增加了控制系统。它是由控制问题复杂性急剧增加而带来结果,其采取了当今其它学科部分优异研究结果,其根本目标在于求解复杂控制问题。多年来,ICS引发了大家广泛爱好,它表现了众多学科前沿研究高度交叉和综合。
作为一个复杂智能计算机控制系统,在其建立投入使用前,必需首优异行仿真试验和分析。计算机仿真(Compeer Simulation)又称计算机模拟(Computer Analogy)或计算机试验。所谓计算机仿真就是建立系统模型仿真模型进而在计算机上对该仿真模型进行模拟试验(仿真试验)研究过程。计算机仿真方法即以计算机仿真为手段,经过仿真模型模拟实际系统运动来认识其规律一个研究方法。计算机仿真方法有时也称计算机仿真技术,这二者有时又简称计算机仿真。当今,针对不一样应用领域,不一样软件企业开发了不一样设计仿真软件,如在电子电路设计中应用PSPICE软件,用于电力系统仿真SABER软件等很多,而作为通用单机运行工程计算仿真软件,当首推MATLAB。MATLAB提供了一个高性能数值计算和图形显示科学和工程计算软件环境。这种易于使用MATLAB环境,是由数值分析、矩阵计算、信号处理和图形绘制等组成。在这种环境下,问题解答表示形式几乎和它们数学表示式完全一样,而不像传统编程那样繁杂。MATLAB是一个交互系统,它基础数据单元是无须指定维数矩阵,所以在处理数值计算问题时,使用MATLAB要比使用诸如BASIC、FORTRAN、和C等语言简便得多,大大提升了编程效率。
第二章 智能控制系统理论知识
1.智能控制系统基础功效特点
①容错性
对复杂系统(如非线性、快时变、复杂多变量和环境扰动等)能进行有效全局控制,并含有较强容错能力。
⑵多模态性
定性决议和定量控制相结合多模态组合控制。
③全局性
从系统功效和整体优化角度来分析和综合系统。
④混合模型和混累计算
对象是以知识表示非数学广义模型和以数学模型表示混合控制过程,人智能在控制中起着协调作用,系统在信息处理上现有数学运算,又有逻辑和知识推理。
⑤学习和联想记忆能力
对一个过程或未知环境所提供信息,系统含有进行识别记忆、学习,并利用积累经验深入改善系统性能和能力。
⑥动态自适应性
对外界环境改变及不确定性出现,系统含有修正或重构本身结构和参数能力。
⑦组织协调能力
对于复杂任务和分散传感信息,系统含有自组织和协调能力,表现出系统主动性和灵活性。尽管最初大家认为智能控制是自动控制理论和人工智能和运筹学结合,但实际上,智能控制是一门仍在不停丰富和发展中含有众多学科集成特点科学和技术。它不仅包含了AC、AI、OR、系统理论内容,而且还从生物学、生理学、心理学、协同学及人类知识理论等学科中吸收了丰富营养。现在,在世界范周内,智能控制和智能自动化科学和技术正在成为自动化领域中最兴旺和发展最快速一个分支学科,并被很多发达国家确定为面向二十一世纪和提升国家竞争力关键技术。
智能控制系统(Imelligent Control System):智能控制系统是含有某种程度自治性控制系统。
智能控制方法(Intelligent Control Methodology):利用意在模拟人、动物或生物系统功效技术或过程来为动态系统结构或实现控制、以达成预定要求控制方法集合。
2.智能控制系统特征
①处理多种不确定性、定性信息和数据结构能力。
②处理非结构化信息和数据能力。
③对含有高度抽象性离散符号指令作出响应能力。
④辩识主控系统结构或组成、改变能力。
⑤处理和利用多种不一样性质知识能力。
⑥依据主控系统或环境改变,对本身参数或结构进行修正或重构能力。
⑦在运行过程中学习和获取相关对象和环境新知识并利用新知识改善控制行为能力。
⑧基于对象行为估计控制多目标性。
任何含有上述一个或多个能力控制系统均被认为是智能控制系统。从这个意义上讲,经典反馈控制、变结构控制、自校正控制及自适应控制均被认为属于智能控制范围,它们和通常所说智能控制区分在于它们仅含有较低层次智能。而智能控制理论及应用研究目标就是利用包含传统控制及系统理论在内已经有多种理论及技术来结构在某种程度上含有上述特征控制系统,并最终实现含有完全自治力系统。
3.智能控制关键分类
①模糊逻辑控制
传统控制问题通常是基于系统数学模型来设计控制器,而大多数工业被控对象是含有时变、非线性等特征复杂系统,对这么系统进行控制,不能仅仅建立在平衡点周围局部线性模型,需要加入部分和工业情况相关人控制经验。这种经验通常是定性或定量,模糊推理控制正是这种控制经验表示方法。这种方法优点是不需要被控过程数学模型,所以可省去传统控制方法建模过程,但却过多地依靠控制经验。另外因为没有被控对象模型,在投入运行之前就极难进行稳定性、鲁棒性等系统分析。多年来,部分研究者们在模糊控制模式中引入模糊模型概念,出现了模糊模型。模糊模型易于表示结构性知识,成为模糊控制系统研究关键问题。最近,模糊控制理论成功地应用于飞行器优化跟踪设计和产品加工过程。
②神经网络控制
神经网络控制NNC是研究和利用人脑菜些结构机理和人知识和经验对系统控制。通常地,神经网络控制系统智能性、鲁棒性均很好,它能处理高维、非线性、强耦合和不定性复杂工业生产过程控制问题。显示了神经网络在处理高度非线性和严重不确定性系统控制方面含有很大潜力。即使神经网络在利用系统定量数据方面有较强学习能力。但它将系统控制问题看成“黑箱”映射问题,缺乏明确物理意义,不易把控制经验定性知识融入控制过程中。最近,在神经网络自适应控制、人工神经网络阀函数数字设计、新混合神经网络模型等方面全部有部分关键进展,如应用于机器人操作过程神经控制、核反应堆载重操作过程神经控制。多年来,神经网络、模糊推理、多种特殊信号有机结合,还造成了部分新综合神经网络出现。比如,小波神经网络、模糊神经网络和混沌神经网络出现,为智能控制领域开辟了新研究方向。
③实时教授系统
实时教授系统是基于广义模型化概念和系统仿真技术和人工智能技术深度结合,结构出一个带模型库控制系统。这种新型教授系统能在工业生产系统动态过程中,随时监视外界环境,自动采集生产过程变量,并对生产过程实时在线修改和补充。传统教授系统是以交互方法操作,从外界获取信息全部是一次性和静止,而信息采集是主动。实际工业生产系统中多数信息全部是连续时变,且信息是大量。所以,采取通常模糊辨识方法得到模型在精度上往往不是十分理想。为适应该代工业要求,实时教授系统应用模糊逻辑控制和神经元网络理论,将线模和模糊型结合在一起,融进教授系统,经过教授系统启发性、透明性和灵活性和线性模型良好跟踪能力,对模糊模型进行动态修改和补充,这么不再需要事先建立过程数学模型。实时教授系统关键应用在咨询;自动化装置设计、组态;诊疗或诊疗支持;复杂系统调整等领域。其关键特点是:含有更高智能判定能力和推理速度;同时,对外界估计能力和自适应能力也很强。
现在相关智能控制研究和应用沿着多个关键分支发展,关键为:自适应控制(fadaptivo Control)、模糊控制(Fuzzy Control)、神经网络控制(Neural Net-based Control)、基于知识控制(Knowledge Based Control)、复合智能控制(Hybrid Intelligent Control)、学习控制(1earning Control)和基于进化机制控制(Evolutionary Mechanism Based Control)。这些有已在现代工业生产过程智能控制和智能自动化投入实际应用。计算机仿真方法在多种工程领域和非工程领域中有很多成功应用范例,其成效十分显著,影响也很大。在宇航工业中,有著名阿波罗登月仿真系统。该系统包含混累计算机、运动仿真器、月球仿真器、驾驶舱、视景系统等,可实现在计算机上预先对登月计划进行分析、设计和检验,同时还可对宇航员进行仿真操作训练,从而大大降低了实际登月风险系数。
第三章 MATLAB平台及对应工具箱
MATALAB是集科学计算、结果可视化和编程于一身,能够方便地进行科学计算和大量工程计算数学软件。现在,它已成为世界上应用最为广泛工程计算软件之一。MATALAB最初版本是由Cleve Moler博士用FORTRAN语言开发矩阵分析软件, MATALAB是“矩阵试验室”(Matrix Laboratory)缩写,它是一个以矩阵计算为基础交互式程序语言,最早用来作为LINPACK(线性代数软件包)和EISPACK(基于特征值计算软件包)矩阵软件包接口。在80年代早期,由Cleve Moler和John Little采取C改写了MATALAB内核。很快,她们成立了MathWorks软件开发企业,并于1984年将MATALAB正式推向市场。1992年初推出了应用于Windows操作系统MATALAB4.X版本,1998年推出5.2版本,1999年推出MATLAB5.3版本,为MATLAB6.0版本,现在最新为MATLAB6.5版本。
1.MATLAB关键特点
①MATLAB基础单位为矩阵,其表示式和数学、工程计算中常见形式类似。而且矩阵行和列无需定义,可随时添加和修改;
②MATLAB语言以解释方法工作,对每条语句进行解释后即运行,键入算式即得结果,无需编译,对错误可立即作出反应,大大降低了编程和调试工作;
③MATLAB语言规则和大家长久以来使用在演算纸上进行演算书写习惯十分相同,易学易读适于交流;
④含有强大作图和数据可视化功效。能够把数据以多个形式加以表现,很简单、直观、方便;
⑤含有极强可扩展性;
⑥含有很友好人机界面。
2.MATLAB软件包含MATLAB主程序和很多日益增多工具箱,工具箱实际就是用MATLAB 基础语句编写多种子程序集,用于处理某首先专门问题或实现某一类新算法。MATLAB 还提供了和其它应用语言接口,以实现数据共享和传输。
3.MATLAB基础组成.MATLAB关键由MATLAB主程序、SIMULINK动态系统仿真和MATLAB工具箱三大部分组成。
其中MATLAB主程序包含MATLAB语言、工作环境、句柄图形、数学函数库和应用程序接口五个部分;SIMULINK是用于动态系统仿真交互式系统,许可用户在屏幕上绘制框图来模拟一个系统,并能动态地控制该系统,现在SIMULINK能够处理线性、非线性、连续、离散、多变量及多系统;工具箱实际就是用MATLAB基础语句编写多种子程序集和函数库,用于处理某首先特定问题或实现某一类新算法,它是开放性,能够应用也能够依据自己需要进行扩展。MATLAB工具箱大致可分为功效性工具箱和学科性工具箱两类。功效性工具箱关键用于扩展MATLAB符号计算功效、图形建模功效、文字处理功效和和硬件实时交互过程,如符号计算工具箱等;学科性工具箱则有较强专业性,用于处理特定问题,如信号处理工具箱和通信工具箱。
第四章 Matlab程序设计实例——倒立摆控制
倒立摆系统是一个经典非线性、强耦合、多变量和不稳定系统,作为控制系统被控对象,很多抽象控制概念全部能够经过倒立摆直接表现出来。对系统建立数学模型是系统分析、设计前提,而一个正确又简练数学模型将大大简化后期工作。为了简化系统分析,在实际建立模型过程中,要忽略空气流动阻力,和各个次要摩擦阻力。这么,能够将倒立摆系统抽象成小车和匀质刚性杆组成,图1所表示。
图1 倒立摆系统
假定倒立摆系统参数以下。
摆杆质量:m=0.1g
摆杆长度:2l=1m
小车质量:M=1kg
重力加速度:g=10/s2
摆杆惯量:I=0.003kg/m2(摆杆质量在摆杆中心)
设计一个控制系统,使适当给定任意初始条件(由干扰引发)时,最大超调量d %≤10%,调整时间ts≤4s,使摆返回至垂直位置,并使小车返回至参考位置(x=0)。要求:
①建立倒立摆系统数学模型;
②分析系统性能指标——能控性、能观性、稳定性;
③设计状态反馈阵,使闭环极点能够达成期望极点,这里所说期望极点确定是把系统设计成含有两个主导极点,两个非主导极点,这么就能够用二阶系统分析方法进行参数确实定;
④用MATLAB进行程序设计,得到设计后系统脉冲响应、阶跃响应,绘出对应状态变量时间响应图。
⑤依据本身课题情况,任意选择一个被控对象,根据上题所表示步骤进行分析和设计,并给出仿真程序及其实施结果。
控制系统设计步骤:
1.系统建模
图2是系统中小车和摆杆受力分析图。其中,N和P为小车和摆杆相互作用力水平和垂直方向分量。Φ是摆杆和垂直向上方向夹角;θ是摆杆和垂直向下方向夹角(考虑到摆杆初始位置为竖直向下)。
注意:在实际倒立摆系统中检测和实施装置正负方向已经完全确定,所以矢量方向定义图所表示,图示方向为矢量正方向。
N Iθ
P
M
F bx θ
Mg N
图2 小车及摆杆受力分析
分析小车水平方向所受协力,能够得到以下方程:
由摆杆水平方向受力进行分析能够得到下面等式:
即:
把这个等式代入式(3-1)中,就得到系统第一个运动方程:
为了推出系统第二个运动方程,我们对摆杆垂直方向上协力进行分析,能够得到下面方程:
力矩平衡方程以下:
注意:此方程中力矩方向,因为,故等式前面有负号。
合并这两个方程,约去和,得到第二个运动方程:
设(是摆杆和垂直向上方向之间夹角),假设和1(单位是弧度)相比很小,即,则能够进行近似处理:。用来代表被控对象输入力,线性化后两个运动方程以下:
对式(3-9)进行拉普拉斯变换,得到
注意:推导传输函数时假设初始条件为0。
因为输出为角度,求解方程组第一个方程,能够得到:
或
假如令,则有:
把上式代入方程组第二个方程,得到:
整理后得到传输函数:
其中
设系统状态空间方程为:
方程组 对解代数方程,得到解以下:
整理后得到系统状态空间方程:
代入倒立摆系统参数可得:
2.系统分析
①判定系统能控性和能观性
在MATLAB中,能够利用ctrb()和obsv()函数直接求出能控性和能观性矩阵
A=[0 1 0 0;0 0 1 0;0 0 0 1;0 0 11 0];
B=[0;1;0;1];
C=[1 0 0 0;0 0 1 0];
D=[0;0];
Uc=ctrb(A,B);rc=rank(Uc);
n=size(A);
if rc==n
disp('system is controlled.')
elseif rc<n
disp('system is uncontrolled.')
end
Vo=obsv(A,C);
ro=rank(Vo);
if ro==n
disp('system is observable.')
elseif ro~=n
disp('system is no observable.')
End
运行情况以下:
②系统稳定性
A=[0 1 0 0;0 0 1 0;0 0 0 1;0 0 11 0];
B=[0;1;0;1];
C=[1 0 0 0;0 0 1 0];
D=[0;0];
P=poly(A),v=roots(P)
运行结果以下:
特征值为0(二重),3.3166,-3.3166,显然,其中一个极点在右半平面,该系统不稳定。
3.系统设计:极点配置和控制器设计
极点配置方法就是经过一个合适状态反馈增益矩阵状态反馈方法 ,将闭环系统极点配置到任意期望位置。
=Ax(t)+Bu(t),其中x是状态变量(n维),u是控制信号,这里选择控制信号为u=-Kx,=(A-BK)x(t)该方程解为x(t)、、x(0),系统稳态响应和瞬态响应特征由矩阵A-BK特征决定。K=-(K1 K2 K3 K4)x,闭环系统方程为=Ax+Bf=(A-BK)x,选择所期望极点值为p1、p2、p3、p4。设计状态反馈阵时,要使系统极点设计成含有两个主导极点,两个非主导极点,这么就能够用二阶系统分析方法进行参数确实定。
最大超调量小于等于10%,调整时间为4S,利用超调量计算公式,,其中z为阻尼系数,有该公式可求得,阻尼系数z=0.59,小于1,是欠阻尼。(-s为极点实部),能够求得Wn=1.27,则极点公式为Wn,得到两个共轭极点为:p1,2=-0.75±j1.025,配置非主导极点p3=-15、p4=-15。
在MATLAB控制系统工具箱中提供了单变量系统极点配置acker(),其格式为
K=acker(A,B,p)
程序以下:
A=[0 1 0 0;0 0 -2 0;0 0 0 1;0 0 22 0];
B=[0;1;0;-1];
C=[1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1];
D=0;
rc=rank(ctrb(A,B));
p=[-0.75+1.025j,-0.75-1.025j,-15,-15];
K=acker(A,B,p)
运行结果以下:
4.仿真结果
该二阶系统阶跃响应为下图所表示:
脉冲响应:
第五章 结束语
相关智能控制研究,是自动控制领域热点之一,仍然存在着很多争论,对于实际应用,大全部停留在仿真或试验室阶段。本文是在学习MATLAB软件基础上,经过对智能控制理论知识学习,就智能控制研究中一个经典对象——小车倒立摆控制问题,以MATLAB为平台,经过建立对象模型,经过系统分析,进行了matlab仿真。由仿真结果可见,由这种控制方法能够实现小车倒立摆控制,并得到了很好控制效果。MATLAB软件是功效强大计算和仿真软件,它不仅提供了开放编程环境,用户可在其基础上进行扩展编程,还提供了和其它程序接口,方便用户开发实用子程序,直接在实际中使用。不过在处理实际应用问题中还存在很多问题,期望能在以后学习中不停地进步。
附录
1.参考文件
[1]易继凯,侯媛摈.智能控制技术.北京工业大学出版社,,6
[2]师黎,陈铁军等.智能控制试验和综合设计指导.清华大学出版社,,7
[3]韩力群.人工神经网络理论设计及应用.化工工业出版社,,11
[4]李国勇.智能控制及其matlab实现.电子工业出版社,,12
[5]罗军等.智能控制工程及其应用实例.化学工业出版社,,3
[6]邹伯敏.自动控制理论.机械工业出版社,,2
[7]顾毅.智能控制发展综述.信息技术出版社,,6
[8]左力,熊有伦.智能控制是自动控制发展高级阶段.中国机械工程出版社,1996,6
[9]冯明琴.自动控制发展和现实状况.攀枝花大学学报,,3
[10]杨嘉墀.自动控制向智能控制发展.中国科技论坛,1995,2
[11]邹伯敏.自动控制理论.机械工业出版社,,7
[12]郑南宁.智能控制发展过程综述.工业控制出版社,1999,3
[13]贾新春,袁泽剑.控制科学和技术发展及其思索.自动化学报,,1
[14]许晓鸣,杨煜普.智能控制理论新进展.世界科学报,1995,07
[15]黄苏南,邵惠鹤,张钟俊.智能控制理论和方法控制理论和应用.工业出版社,1999,04
2. 程序代码
①能控能观性判定:
A=[0 1 0 0;0 0 1 0;0 0 0 1;0 0 11 0];
B=[0;1;0;1];
C=[1 0 0 0;0 0 1 0];
D=[0;0];
Uc=ctrb(A,B);rc=rank(Uc);
n=size(A);
if rc==n
disp('system is controlled.')
elseif rc<n
disp('system is uncontrolled.')
end
Vo=obsv(A,C);
ro=rank(Vo);
if ro==n
disp('system is observable.')
elseif ro~=n
disp('system is no observable.')
End
②稳定性判定:
A=[0 1 0 0;0 0 1 0;0 0 0 1;0 0 11 0];
B=[0;1;0;1];
C=[1 0 0 0;0 0 1 0];
D=[0;0];
P=poly(A),v=roots(P)
③极点配置和控制器设计:
A=[0 1 0 0;0 0 -2 0;0 0 0 1;0 0 22 0];
B=[0;1;0;-1];
C=[1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1];
D=0;
rc=rank(ctrb(A,B));
p=[-0.75+1.025j,-0.75-1.025j,-15,-15];
K=acker(A,B,p)
展开阅读全文