资源描述:
《倒立摆的lqr控制器算法的设计与仿真》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、LQR控制器算法的设计与仿真4.1线性二次最优控制的概述应用经典控制理论设计控制系统,能够解决很多简单、确定系统的实际设计问题。但是对于诸多新型而复杂的控制系统,例如多输入多输出系统与阶次较高的系统,往往得不到满意的结果。这时就需要有在状态空间模型K建立的最优控制策略。最优控制是现代控制理论的核心。所谓最优控制,就是在一定条件K,在完成所要求的控制任务时,使系统的某种性能指标具有最优值。根据系统不同的用途,可提出各种不用的性能指标。最优控制的设计,就是选择最优控制,以使某一种性能指标为最小。最优控制就是在满足一定的约束条件下
2、,寻求最优控制策略,使系统的某种性能指标具有最优值的一种控制方法。对于一个线性系统,如果其性能泛函是状态变量或控制变量的二次型函数的积分,则这样的最优控制问题就称为线性二次型最优控制问题,而利用线性二次型性能指标设计的控制器就被称作线性二次型最优(LinearQuadraticRegulator)控制器,缩写为LQR拉制器H51。利用线性二次型最优控制算法不仅易于分析、处理和计算,得到的系统控制方法还具有较好的鲁棒性与动态特性以及能够获得线性反馈结构等优点,而且特别可贵的是,线性二次型最优控制得到状态线性反馈的最优控制规律,
3、易于构成闭环最优控制。而且,MATLAB的应用为线性二次型最优控制的理论仿真提供了很好的条件,更为实现稳、准、快的控制目标提供Y方便。因而线性二次型控制器已经成为自动控制系统屮反馈控制设计的一种重要的控制方法,在实际的控制系统设计屮得到了广泛的应用。4.2线性二次最优控制的原理线性二次最优控制的控制原理框图如图:图4.1LQR控制系统结构图对于状态方程式所表示的连续时间的线性被控对象有:x(t)=Ax(t)+x(0)=x()(4-1)上式中,x⑴为n维状态向量;为m维控制向量;A,B分别为nxn及nxm阶的常数矩阵。在进行线
4、性二次最优控制系统设计时,比较令人感兴趣的是如何选择控制向量使得给定的性能指标达到最小,线性二次最优调节器(LQR)是针对系统状态方程,寻找最优控制,使得控制性能指标J达到最小,其中Q、R分别表示了对状态变量和输入变量的加权值。二次型性能指标函数:+OO(4-2)(4-3)(4-4)(4-5)J={XTQX^UTRU)dt则有如下状态反馈控制律:U(t)=-Kx(t)式中,K为最优反馈矩阵:K=R-{BtP在式(4-4)中,P为Riccati方程非负定对称解。而Riccati方程为:PA+ATP-PBR-lBTP+Q=Q如
5、此,可得到状态反馈增益向量K:K=R-lBTP(4-6)由此可见最优控制器的设计的关键是选择合适的加权矩阵Q和R,并根据式(4-6)可以算出P,这样就能求出反馈增益K了。而加权矩阵Q和R的具体作用为:Q中某元素相对增加时,其对应的状态变量的响应速度增加,其他状态变量的响应速度相对减慢;R增加时,控制力减小,角度变化变小,跟随速度变慢。改变矩阵Q的值,可以得到不同的响应效果,Q主对角线元素的值在一定范围之内越大,系统调整时间越短,而且抵抗干扰的能力越强,但是Q不能过大,不然将对实验结果有一定的影响ll6j。上述推导过程即为线性
6、二次最优控制的控制原理。而当今现在,随着计算机技术的飞速发展,已经可以不使用上述公式进行繁琐的计算,而利用MATLAB的lqr命令轻松的得到反馈矩阵K的值:K=lqf(A,B,Q,R)4.3二次最优控制器的参数调整二次最优控制器的参数调整关键在于选择好合适的加权矩阵Q和R,这样就能得出反馈增益Kll其中,加权矩阵中的Q和R的具体作用为:Q中某元素相对增加时,其对应的状态变量的响应速度增加,其他状态变量的响应速度相对减慢;R增加时,控制力减小,角度变化变小,跟随速度变慢。而在实际应用中,通常将R值进行固定,然后对Q进行调整以
7、得到较好的按制效果ll8j。所以,在这里,选取R=0.003。在LQR控制器设计中,选取R=0.003,Q阵为对角阵:00024,4(4-7)0022,20023,300其中,Ql,l代表小车位置的权重(即幻,Q2,2代表小车速度的权重(即幻,Q3,3代表摆杆角度的权重(即0),Q4,4代表摆杆角速度的权重(即4)。而在该实验中,只考虑小车的位移及摆杆的摆动角度问题,所以,可以将Q2,2和Q4,4都定义为0,这样,只需要调整Ql,l和Q3,3。则Q的矩阵可以变换为:21,1o000000000023,3000X0100"X'
8、0"••X0-0.002411.725470X1.00503•—+e0001e0e0-0.0055626.581990參e_2.32597_接下来,根据第二章所建立的系统的状态空间表达式:U(4-8)(4-9)(4-10)可以得到:'001-0.0024101.725470'0"0"1.0