最优控制实验报告.docx
- 文档编号:11888012
- 上传时间:2023-04-08
- 格式:DOCX
- 页数:15
- 大小:1.35MB
最优控制实验报告.docx
《最优控制实验报告.docx》由会员分享,可在线阅读,更多相关《最优控制实验报告.docx(15页珍藏版)》请在冰豆网上搜索。
最优控制实验报告
实验报告
课程名称:
现代控制工程与理论
实验课题:
最优控制
学号:
*******1070
*****
授课老师:
施心陵
最优控制
一、最优控制理论中心问题:
给定一个控制系统(已建立的被控对象的数学模型),选择一个容许的控制律,使被控对象按预定要求运行,并使给定的某一性能指标达到极小值(或极大值)
二、最优控制动态规划法
对离散型控制系统更为有效,而且得出的是综合控制函数。
这种方法来源于多决策过程,并由贝尔曼首先提出,故称贝尔曼动态规划。
最优性原理:
在一个多级决策问题中的最优决策具有这样的性质,不管初始级、初始状态和初始决策是什么,当把其中任何一级和状态做为初始级和初始状态时,余下的决策对此仍是最优决策
三、线性二次型性能指标的最优控制
用最大值原理求最优控制,求出的最优控制通常是时间的函数,这样的控制为开环控制当用开环控制时,在控制过程中不允许有任何干扰,这样才能使系统以最优状态运行。
在实际问题中,干扰不可能没有,因此工程上总希望应用闭环控制,即控制函数表示成时间和状态的函数。
求解这样的问题一般来说是很困难的。
但对一类线性的且指标是二次型的动态系统,却得了完全的解决。
不但理论比较完善,数学处理简单,而且在工际中又容易实现,因而在工程中有着广泛的应用。
一.实验目的
1.熟悉Matlab的仿真及运行环境;
2.掌握系统最优控制的设计方法;
3.验证最优控制的效果。
二.实验原理
对于一个给定的系统,实现系统的稳定有很多途径,所以我们需要一个评价的指标,使系统在该指标下达到最优。
如果给定指标为线性二次型,那么我们就可以利用MATLAB快速的计算卡尔曼增益。
三.实验器材
PC机一台,Matlab仿真平台。
四.实验步骤
例题1(P269)考虑液压激振系统简化后的传递函数方框图如下,其中Ka为系统前馈增益,Kf为系统反馈增益,wh为阻尼固有频率。
(如图5-5所示)
将系统传递函数变为状态方程的形式如下:
确定二次型指标为:
.求最优控制使性能指标J最小。
首先将
(t)代入二次型指标,得到
进行系统辨识后可以得到:
ζ=0.2,wh=88,Ka=2,所以
A=
B=
C=
设计线性二次型最优控制器的关键是选择加权矩阵Q。
一般来说,Q越大,系统达到的稳态时间越短,当然,要实际的系统允许。
首先选取M=5,R=0.01,则
在MATLAB中运用care语句,求出卡尔曼增益K。
执行optimumcontron1.m程序,代码如下:
A=[010;001;0-7744-35.2];
B=[0;0;15488];
C=[100];
Q=[500;000;000]
R=0.01;
[P,L,K]=care(A,B,Q,R)
得到结果
K=22.36070.21000.0034
为了看到控制效果,我们进行simulink仿真,搭建平台如下图
图1.1
仿真结果如下:
图1.2最优控制曲线(M=5)
图1.3阶跃响应曲线(M=5)
由图看出,系统达到稳定所用时间要0.14秒,如果我们想更快使系统稳定可以增大M的值,我们另M=100,可以算出
K=100.00001.15300.0101
图1.4最优控制曲线(M=100)
图1.5阶跃响应曲线(M=100)
从图1.4,可以观察看到系统到0.1秒稳定,明显快于图1.2。
但从图1.5又可以发现,系统的稳态定在0.01,显然稳态误差并没有得到改善。
可以通过增大参考输入的方法解决稳态误差的问题,MATLAB提供函数rscale可以求出参考输入倍数Nbar。
添加代码Nbar=rscale(A,B,C,D,K),当M=100时求出
Nbar=100,在信号输入端添加放大器,得到实验结果如下:
我们发现系统稳定到了1.00,稳态误差问题得到了解决。
状态反馈设计
练习:
极点配置法状态控制器和最优控制设计状态控制器效果分析
假设某系统的传递函数为
=10/(
+5
+6s).希望该系统极点在s1=-0.5+j,s2=-0.5-j,s3=-3.
极点配置法设计过程
1.搭建原系统的simulink模型并观察其单位阶跃响应
图2.0原系统simulink模型
图2.1原系统单位阶跃响应
由原系统单位阶跃响应图可知原系统不稳定。
2.利用matlab计算系统的状态空间模型的标准型
>>a=[10];
>>b=[1560];
>>[ABCD]=tf2ss(a,b)
A=
-5-60
100
010
B=
1
0
0
C=
0010
D=
0
3.系统能控性矩阵
>>uc=ctrb(A,B)
uc=
1-519
01-5
001
>>rank(uc)
ans=
3
所以系统完全能控。
4.系统能观性矩阵
>>vo=obsv(A,C)
vo=
0010
0100
1000
>>rank(vo)
ans=
3
所以系统完全能观。
所以可以用极点配置法设计状态反馈控制器。
5.求系统反馈矩阵
>>p=[-3-0.5+j-0.5-j];
>>k=acker(A,B,p)
k=
-1.0000-1.75003.7500
6.搭建加入反馈控制器系统后的simulink模型
图2.2加入反馈控制器后系统的simulink模型
图2.3加入反馈控制器后系统的单位阶跃响应
综上可知,希望极点在S平面的左半平面,所以由此求出的反馈矩阵K能够使不稳定的系统变得稳定,达到了实验前的预期效果。
最优控制法设计过程
1.将系统传递函数变为状态方程的形式如下:
确定二次型指标为:
.求最优控制使性能指标J最小。
首先将
(t)代入二次型指标,得到
计算后可以得到:
A=
B=
C=
,
D=0
2.选取M=100,R=1,则
在MATLAB中运用care语句,求出卡尔曼增益K和参考输入放大倍数Nbar
执行optimumcontron1.m程序,代码如下:
A=[010;001;-1-5-6];
B=[0;0;1];
C=[100]
Q=[10000;000;000]
R=1
N=rscale(A,B,C,0,K)
[P,L,K]=care(A,B,Q,R)
得到结果:
K=9.04997.51311.1433Nbar=101.0000
simulink仿真结果如下:
图2.4当M=5时,两种控制器响应曲线(红色为最优控制)
改变M的值我们可以得到更多信息
图2.5当M=50时,两种控制器响应曲线(红色为最优控制)
图2.7当M=100时,两种控制器响应曲线(红色为最优控制)
改
图2.6当M=200时两种控制器效果比较
图2.7当M=500时,两种控制器效果比较
图2.8当M=10000时,两种控制效果比较
总结:
五.实验总结
通过这次任务,基本了解了matlab的使用方法,对最优控制有了更加深刻的认识,并得出一下结论:
1.最优控制器只是给定指标下的最优,实际效果不一定好于极点配置法设计的控制器。
2.比较图2.4-2.8我们可以发现加权矩阵Q的选取会直接影响到最优控制器的稳定时间,一般来说,Q越大,系统达到的稳态时间越短,然而,Q过大会产生严重振铃现象。
因而设计线性二次型最优控制器时加权矩阵Q的选取非常重要,必须根据实际情况确定。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最优 控制 实验 报告