倒立摆的现代控制问题.docx
《倒立摆的现代控制问题.docx》由会员分享,可在线阅读,更多相关《倒立摆的现代控制问题.docx(19页珍藏版)》请在冰豆网上搜索。
![倒立摆的现代控制问题.docx](https://file1.bdocx.com/fileroot1/2022-11/24/6ba98463-ccab-42e0-9407-c5a05cf7840d/6ba98463-ccab-42e0-9407-c5a05cf7840d1.gif)
倒立摆的现代控制问题
《现代控制理论基础》课程报告
单倒立摆系统的控制系统分析和设计
电气工程学院2013级硕士研究生
专业:
电力电子与电力传动
学生:
YU
学号:
指导老师:
2013年12月
0本文的亮点及单倒立摆的重述
问题重述:
图示为单倒立摆系统的原理图,其中摆的长度l=1m,质量m=0.1kg,通过铰链安装小车上,小车质量M=1kg,重力加速度g=9.8m/s2。
控制的目的是当小车在水平方向上运动时,将倒立摆保持在垂直位置上。
Ø分别列写小车水平方向的力平衡方程和摆的转矩平衡方程,通过近似线性化处理建立系统的状态空间表达式;
Ø绘制带状态观测器状态反馈系统的模拟仿真图,要求系统期望的特征值为:
-1,-2,-1+j,-1-j;状态观测器的特征值为:
-2,-3,-2+j,-2-j;
Ø根据模拟仿真图,分别绘制系统综合前后的零输入响应曲线
本文的仿真实验亮点如下:
●对单倒立摆进行传统的传递函数、状态空间建模,全面分析了单倒立摆的物理性质。
●在物理模型建立时,强调了角速度
不能近似为0。
●建立状态空间表达时,选择位移x和角度
作为输出,是一个多输出系统。
但增加了状态观测器设计的复杂度。
●在摆运动过程中,初始扰动角
可达60度左右;而且调节过程中,倒立摆
在(-90,90)范围内变化,符合实际情况。
●在仿真波形图中,展示了状态观测器的跟踪过程,体现了其在反馈控制中起到的作用。
●在初始扰动60度下,分别在原始系统、状态反馈系统、带状态观测器反馈系统,进行了零输入响应、阶跃输入响应的仿真实验。
●解释了带状态观测器反馈时,阶跃输入,但系统前1秒处于稳态的现象的原因。
1单级倒立摆数学模型的建立
倒立摆系统是一个典型的非线性、强耦合、多变量和不稳定系统,作为控制系统的被控对象,许多抽象的控制概念都可以通过倒立摆直观地表现出来。
本设计是以一阶倒立摆为被控对象来进行设计的。
传递函数法:
对SISO系统进行分析设计,在这个系统中
作为输出,因为它比较直观,作用力u作为输入。
状态空间法:
状态空间法可以进行单输入多输出系统设计,因此在这个实验中,我们将尝试同时对摆杆角度和小车位置进行控制,并给小车加一个阶跃输入信号。
本文利用Matlab,对系统的传递函数和状态空间进行分析,并用指令计算状态空间的各种矩阵,仿真系统的开环阶跃响应。
Matlab将会给出系统状态空间方程的A,B,C和D矩阵,并绘出在给定输入为阶跃信号时系统的响应曲线。
在忽略了空气阻力、各种摩擦之后,可将直线一级倒立摆系统抽象成小车和匀质杆组成的系统。
假设系统内部各相关参数为:
和
都表示摆杆与垂直向上方向的夹角
都表示摆杆长度1m
M小车质量1kg
m摆杆质量0.1kg
x小车位置
单倒立摆系统力的平衡方程分析
小车、摆杆力的分析图如下所示:
小车的平衡方程:
摆杆的X轴方向力的平衡方程:
摆杆Y轴方向,力的平衡方程:
摆杆的转矩平衡方程:
选择摆杆的质心在端点处,则惯性惯量
方程的线性化处理
当
很小时,可对方程进行线性化。
由于控制的目的当小车在水平方向上运动时,将倒立摆保持在垂直位置上。
在施加合适的外力下,
比较小,接近于0,
对以上方程进行线性化。
但要注意的是,
不能约等于0,因为摆杆的角速度在实际情况中是比较快的。
但对以上方程先求导会产生
及其平方项,但这些项都和
相乘,于是这些项还是约等于0。
另外,如果先线性化,再求导,则不会产生以上需要考虑的问题。
线性化后方程如下:
线性化方程:
1.1系统的传递函数分析
对SISO系统进行分析设计,可选择传递函数法,在这个系统中
作为输出,因为它比较直观,作用力u作为输入。
根据前面所建的数学模型,消除中间项后,可得到传递函数如下:
带入题目中的数据后可得到传递函数:
在matlab中,求单倒立摆传递函数的阶跃响应:
G=tf(num,den)
step(G)
传递函数阶跃响应
Figure1零初始扰动系统的零输入响应(和预期效果一样,若无初始扰动,系统处于稳态)
Figure2初始扰动0.1弧度,传递函数的零输入响应
Figure3传递函数的波特图以及相角裕度
Figure4原始系统传递函数的根轨迹分析
由以上分析可得原系统是一个不稳定的系统,存在两个极点,其中一个在右半平面
1.2系统的状态空间分析
系统状态方程为:
应用牛顿-欧拉方法,可得到系统状态空间方程为:
以上就是单倒立摆系统的状态空间表达式。
表达式中:
x为小车的位移;
为小车的速度;
(
)为摆杆的角度;
(
)为摆杆的角速度;u为输入;y为输出。
代入题目中的数据后可得单倒立摆的状态空间表达式(其中转动惯量为
):
>>A=[0100;00-0.89770;0001;009.87480];
B=[0;0.9924;0;-0.916];
C=[1000;0010]
D=[0;0]
GSS=ss(A,B,C,D)
>eig(GSS)
ans=
0
0
3.1424
-3.1424
开环系统的阶跃响应:
图中上方是位移输出,下方是角度输出。
Figure5阶跃响应,图中上方是位移输出,下方是角度输出
从状态空间分析可知,原系统不稳定,存在四个极点,有两个位于原点处,一个处于右半平面。
阶跃响应也呈发散状。
2系统的状态反馈闭环系统设计
Figure6状态反馈闭环系统
在状态空间中,可通过状态反馈求取K阵,以任意配置极点,达到设计要求。
但状态反馈必须要求系统完全可控,现进行可控性分析。
AC=A-B*K;B矩阵不变;u=r-K*x;C矩阵不变
在MATLAB中,输入
Tc=ctrb(A,B);
rank(Tc);
Tc=
00.992400.8223
0.992400.82230
0-0.91600-9.0453
-0.91600-9.04530
Ans=4.
可知,可控性矩阵满秩,系统完全可控。
要求系统期望的特征值为:
-1,-2,-1+j,-1-j
P=[-1-2-1+i-1-i];
K=place(A,B,P);
AC=A-B*K;
eig(AC)
GCS=ss(AC,B,C,D);
由以上指令可求得K矩阵:
验证配置的极点是否正确:
Figure7零初始条件下,状态反馈系统的阶跃响应,图中上方是位移输出,下方是角度输出。
由图可知,倒立摆在阶跃输入下,摆动角度范围是(-4.6,2.29)度。
最终位移输出是-2.25m。
Figure8初始扰动弧度为1(60度),系统的零输入响应
小结:
此节内容设计了系统的状态反馈,并按要求配置了系统极点。
分析了系统的阶跃响应和60度初始扰动情况下,系统的零输入响应。
由于系统极点配置在S平面的左半平面,可知是一个稳定的系统,从系统的阶跃响应和零输入响应可得到验证。
3状态观测器的设计
Figure9观测器设计图,上方为原系统,下方为观测器
在设计系统的观测器前,必须对系统可观性进行判定,否则不能设计系统的状态观测器。
系统可观性判定:
由上可知,系统可观测。
根据系统的要求配置极点,由于一般要求观测器响应速度要快所以配置的极点更靠左些。
状态观测器的特征值为:
-2,-3,-2+j,-2-j
根据以下指令求出观测器的G矩阵
PS=[-2-3-2+i-2-i];
G=place(A',C',PS)'
G=
4.81040.0084
5.8233-0.4745
-1.10744.1896
-1.898514.8885
>>AO=A-G*C
AO=
-4.81041.0000-0.00840
-5.82330-0.42320
1.10740-4.18961.0000
1.89850-5.01370
现在测试系统的跟踪性能。
设计状态观测器,并将观测器输出和原始系统输出进行比较。
Figure10观测器的跟踪性能(四条曲线,表示原始系统的两个输出)
放大后可以看到,观测器输出并不是和系统输出完全一致。
Figure11放大后观察观测器输出(虚线为实际系统输出,实线为观测器跟踪)
小结:
此节设计了状态观测器,并且测试了其跟踪性能。
4带状态观测器的状态反馈闭环系统
Figure12带观测器的闭环控制系统
带状态观测器的闭环控制系统,如上图所示。
由图可知,我们需要设计G矩阵和K矩阵。
在前文中,我们已经设计了K矩阵和G矩阵,所以按系统框图搭建即可。
在搭建仿真图时,由于G矩阵是个两列的矩阵,所以观测器的闭环系统会复杂不少。
搭建的仿真图如下所示:
Figure13观测器反馈的闭环控制系统
Figure14零初始条件下,系统的零输入响应
零初始条件,系统的零输入响应:
可以看到系统处于稳定状态,和预期相符。
状态观测器并没有使之不稳定。
无扰动的阶跃响应:
零初始条件下,系统的阶跃响应。
零初始状态下,系统的阶跃响应:
可以看到系统的开始的1s处于稳定状态。
理论上,阶跃输入,系统应该立即有所反应,是系统达到平衡状态,但仿真显示系统第一秒是稳定的,系统没有任何动作。
所以我们查看一下阶跃输入波形:
Figure16阶跃信号的波形
由阶跃输入波形可知,阶跃输入在1秒时才有输出,所以第一秒系统实际处于零初始零输入响应状态。
带扰动的系统的阶跃响应:
初始扰动1弧度,即60度情况下,位移输出不为0
Figure17初始扰动1弧度,系统的阶跃响应
Figure18初始扰动1弧度,观测器的阶跃响应
Figure19
初始扰动角度为60度时,系统的零输入响应:
由图可知,系统最终都能在7秒时稳定,且倒立摆的摆动角度范围在(-90,+90)范围内。
Figure1560度扰动下系统的零输入响应
观测器输出
Figure16扰动60度观测器的零输入响应
5设计小结
状态空间分析比传递函数分析更为准确全面。
状态反馈相比观测器反馈设计要简单很多,但是观测器仍然是非常重要的反馈设计手段。
本文对单倒立摆进行传统的传递函数、状态空间建模,全面分析了单倒立摆的物理性质。
建立状态空间表达时,选择位移x和角度
作为输出,是一个多输出系统。
但增加了状态观测器设计的复杂度。
本文所做的仿真实验达到了如下效果:
(1)在摆运动过程中,初始扰动角
可达60度左右;而且调节过程中,倒立摆
在(-90,90)范围内变化,符合实际情况。
(2)解释了带状态观测器反馈时,阶跃输入,但系统前1秒处于稳态的现象的原因。
(3)分别在原始系统、状态反馈系统、带状态观测器反馈系统,在初始扰动60度下,进行了零输入响应、阶跃输入响应的仿真实验。
有待进一步解决的问题是:
(1)系统的优化设计,进一步缩短调节时间,减小超调量;极点选择的优化设计。
(2)设计控制算法,达到系统的最优控制。
(3)将数学控制模型设计为实际的电路控制,由于在仿真中都是数学表达式,相对于实际系统中的模块有不少差距。
所以根据理论设计为实物,进行验证是很有必要的。
在这次课程设计中,我遇到了很多问题,但都通过自己的努力把它们一一解决,很有成就感。
并且能有机会和全班同学一起分享,也是一个非常愉快激动的过程。
同时由于设计时间比较短,所以还有很多问题有待进一步研究解决。