倒立单摆LQR控制器设计方法的研究

  • 格式:doc
  • 大小:80.00 KB
  • 文档页数:6

新疆大学研究生课程考试(查)论文2009 —2010 学年第二学期最优控制理论及参数优化课程名称:最优控制理论及参数优化任课教师:谢丽蓉学院:电气工程学院专业:控制理论与控制工程学号:107550900956姓名:黄振中成绩:倒立单摆LQR 控制器设计方法的研究黄振中 谢丽蓉(新疆大学 电气工程学院,新疆 乌鲁木齐 830047)摘要:采用LQ 校正、参考输入及状态观测器的设计方法来设计最优二次控制器,选取加权矩阵Q 和R 使控制器的性能达到最优。

从介绍代数Riccati 方程求解着手,利用MATLAB 的强大计算功能及仿真能力,不断的调整参数得到设计结果并画出系统的输出响应曲线。

很多文献介绍了基于输出反馈的PID 控制系统,但其控制效果不理想,主要原因是系统的高阶次和多变量。

本文采用基于状态空间设计法的LQR 最优调节器,较好地兼顾了系统的鲁棒稳定性和快速性,倒立摆的实例说明了该方法的有效性。

[关键词]:LQR 控制器;MATLAB;Riccati 方程;倒立单摆系统 1引言倒立摆系统是非线性、强藕合、多变量和自然不稳定的系统. 在控制过程中, 它能有效的反映控制理论中诸如系统稳定性、可控性、鲁棒性、系统收敛速度、随动性以及跟踪等问题, 是检验各种控制理论的理想模型. 线性二次型最优控制(LinearQuadratic Regulator —LQR) 问题在现代控制理论中占有非常重要的位置. 由于线性二次型(LQ) 性能指标易于分析、处理和计算,而且通过线性二次型最优设计方法得到的控制系统具有较好的鲁棒性与动态特性等优点,线性二次型在控制界得到普遍重视. 通过倒立摆LQR 最优控制系统设计与研究,并从实时控制效果出发,找出系统的动态响应与加权阵Q 和R 之间的变化规律,并用于指导实践[1]。

1线性二次型最优控制器设计对于线性系统,若取状态变量和控制变量的二次型函数的积分作为性能指标,这种动态系统最优化问题称为线性系统二次型性能指标的最优控制问题,简称线性二次问题。

它的最优解可以写成统一的解析表达式,而且可以导出一个简单的状态线性反馈控制律,其计算和工程实现都比较容易。

MATLAB 控制系统工具箱中提供了一些LQ(Linear Quardratic ),线性二次型)设计工具,可以很方便地完成线性二次型最优控制器的设计。

1.1 代数Riccati 方程求解一个线性定常系统的状态方程模型可以用下面的一组方程来描述[2]:设线性系统的状态方程模型(A ,B ,C ,D)已知,如果希望这样一个系统能够满足某种最优的要求,最简单的可以引入线性二次最优控制指标,即:其中Q(t)和R(t)分别是对状态变量和控制量的加权矩阵。

简记Q(t)=Q ,R(t)=R 。

线性二次型最优控制就是求出J 最小时的控制量u(t),从而获得性能最优。

为了达到这一目的,首先构造一个Hamilton 函数:[][])()()()()()(21t Bu t AX t Ru t u t QX t X H T T+++-=λ 然后通过求导的方法可以求出最优控制信号u(t)为: )()()(t X t P B Rt u T T--= 其中P(t)矩阵就是Riccati 方程的解:上面的方程是微分Riccati 方程,一般是多个相互耦合的非线性微分方程组,除了特)()()()(t Du t Cx y t Bu t Ax x+=+= ⎰++=∙f t t T T f f T dtt t t t t t t t u J 0)]()()()()()([21)()(21))((u R u x Q x Sx x )()()()()()()()()()()(1t Q t P t B t R t B t P t P t A t A t P t P TT+-+=--∙殊情况下,一般不存在解析解。

这就给求解最优控制信号u(t)造成了困难。

因此,我们一般求解u(t)的稳态解。

即令t f 趋于无穷,则P(t)趋于一个常值矩阵,P(t)的一阶导数趋于零,有:上式被称为代数Riccati 方程,其求解就比较容易了。

并且,因为都是矩阵运算,用MATLAB 实现起来也比较容易。

并且,MATLAB 提供了一条求解代数Riccati 方程的函数care(),省去了我们手工编程的工作。

其基本调用格式为[3]: [X,L,K,RR]=care(A,B,Q,R,S,E) 它所求解的代数Riccati 方程形式为::0)()(1=-++-+-Q S XE B R S XB E XA E XE A T T T T T一般缺省设置S=0,E=1,这样该方程就和原始的代数Riccati 方程一致了。

X 是求得的代数Riccati 方程的解,L 是闭环状态方程参数矩阵的特征值,G 是状态反馈矩阵,RR 是残留矩阵的Frobenius 范数。

有了代数Riccati 方程的解,我们就可以求出最优控制信号u(t)和系统的响应曲线了。

1.2 倒立单摆LQR 控制器设计1.2.1 分析原系统的阶跃响应使用线性二次型最优控制器进行控制系统设计和校正的最大优点就是不必根据要求的性能确定闭环极点的位置,只需要根据系统的响应曲线寻找出合适的状态变量和控制量的加权矩阵即可。

因为求得的控制器是误差指标J 最优意义下的控制器,所以系统的性能也是J 指标意义下最优的。

倒立摆控制系统是一个典型的高阶次、不稳定、多变量、非线性和强藕合控制系统。

许多现代控制理论的人都将其作为研究对象,很多文献介绍了基于输出反馈的PID 控制系统,但其控制效果不理想,主要原因是系统的高阶次和多变量。

本文采用基于状态空间设计法的LQR 最优调节器,较好地兼顾了系统的鲁棒稳定性和快速性[4],实例说明了该方法的有效性。

某倒立单摆系统如图1所示,其状态方程为:图1 倒立单摆系统其中,小车的质量为M=0.5kg ,倒立单摆的质量为m=0.5kg ,小车的摩擦系数为b=0.1N/m/s ,端点与倒立单摆质心的距离为l=0.3m ,倒立单摆的惯量为I=0.006kg*m ,输入量u=F 是施加在小车上的外力,四个状态变量分别是小车的坐标x, x 的一阶导数,倒立单摆的垂直角度θ,θ的一阶导数。

输出的被控量分别是小车的坐标x 倒立单摆的垂直角1=+-+-Q P B PBR P A PA T T度θ。

试根据误差指标J 最优意义下最优的规则设计线性二次型最优控制器和相关的参考输入以及观测器,满足以下指标:1.输出量x 和Φ的过渡过程时间小于2s 。

2.输出量x 的上升时间小于0.5s 。

3.输出量Φ的超调量小于是20o(0.35 rad/s)。

用MATLAB(程序略)绘制系统时知道有一个右半平面的极点,因此不稳定,必须加入校正装置。

此时系统的阶跃响应曲线如图所示。

图2 上半部分是小车坐标x 的阶跃响应曲线,下半部分是倒立摆的垂直角度θ的阶跃响应曲线。

00.511.522.5T o : O u t (1)00.10.20.30.40.50.60.70.80.915101520T o : O u t (2)Step ResponseTime (sec)A m p l i t u d e图2原系统的阶跃响应曲线从图2中可以看出它们都不稳定,无法与期望的性能指标作比较。

下面加入LQ 校正装置。

1.2.2 线性二次型最优控制器设计设计线性二次型最优控制器关键是选择加权矩阵Q 和R 。

一般来说,Q 选择的越大,系统达到稳态所需的时间越短;而同样减小R ,系统达到稳态所需的时间也越短。

当然还需要实际的系统允许。

我们首先选择Q=C' *C,R=1,然后根据实际情况进行调节。

编程运行后得图3并求得的线性二次型最优状态反馈矩阵矩阵为:K =[ - 1.0000 - 1.6567 18.6854 3.4594 ]0.51 1.52 2.53 3.54 4.55-1.2-1-0.8-0.6-0.4-0.20.2图3初步校正后系统的阶跃响应曲线从图 3 系统的阶跃响应曲线中可以看到,系统超调量基本满足要求,但一方面系统的稳态值与期望值相差很远(小车坐标的响应曲线稳态值为负值),另一方面过渡过程时间和上升时间很大,必须重新校正。

方法就是加大加权矩阵Q 或减小R 的值。

经不断仿真发现,当x=5000,y=100 或R=0.0005 时效果比较理想。

因此,在MATLAB Editor/Debugger 下将上一段代码中的x 和y 或R 改成相应的值,重新运行代码,求得的线性二次型最优状态反馈矩阵矩阵为:K =[ - 70.7107 - 37.8345 105.5298 20.9238 ] 可以看到,该状态反馈矩阵要明显大于上一步设计的的反馈矩阵。

此时系统的阶跃响应曲线如图4所示。

0.51 1.52 2.53 3.54 4.55-0.015-0.01-0.0050.0050.010.015图4加入LQ 校正后系统的阶跃响应曲线从图 4 中可以看到,系统响应的快速性得到了明显的改善,上升时间和过渡过程时间都满足最初设计的要求。

2 结束语综上所述,基于最小值原理的线性二次型最优控制,通过求解代数Riccati方程,得到的状态反馈控制律K,可以使系统的各个状态获得渐近稳定特性。

它的不足之处在于,加权矩阵Q、R的值与系统响应性能之间的关系式定性的,往往不能一次得到满意的结果,需要多次调整它们的值得到满意的系统响应。

参考文献:[1] 谢丽蓉,李伟. 线性二次型最优控制在倒立摆系统中的应用[J]重庆工学院学报(自然科学),2008年3期;124-128[2]郑大钟编著.《线性系统理论》(第二版)[M],北京:清华大学出版社,2002.10[3]李国勇,谢克明,杨丽娟编著.《计算机仿真技术与CAD—基于MATLAB的控制系统》(第二版)[M],北京:电子工业出版社,2008.1[4] 王晓侃,冯冬青. 基于MATLAB 的LQR 控制器设计方法研究[J]微计算机信息,2008年10期;37-39。