直线倒立摆、正摆实验报告
实验采用固高科技倒立摆系统,通过控制器设计使倒立摆系统稳定运行(摆角保持零度附近)。倒立摆系统以及正摆系统的控制器的设计,使得系统能够满足一定的性能指标。
1 倒立摆系统分析
倒立摆系统分析包括倒立摆的数学模型的建立,稳定性分析,控制器的设计方法包括状态空间极点配置、线性二次最优控制,使得倒立摆系统能够达到最优的控制的效果。
1.1倒立摆数学模型
倒立摆系统受力分析图如图所示。对系统进行水平方向和竖直方向进行受力分析,可得到系统的运动方程:
对系统的运动方程进行线性处理,得到系统的状态空间描述(以小车的速度作为输入):
根据倒立摆系统的实际参数,以小车的加速度作为输入得到的系统的状态方程为:
1.2 状态空间极点配置
极点配置法通过设计状态反馈控制器将多变量系统的闭环系统极点配置在期望的位置上,从而使系统满足瞬态和稳态性能指标。如图为状态空间极点配置原理图。具体步骤如下(按极点配置步骤进行计算,性能指标定为系统3s的调节时间以及阻尼比为0.5): 利用MALTAB的极点配置函数
[K,PREC,MESSAGE]PLACE(A,B,P)
uKX52.42x24.48x93.2716.16
当系统闭环极点为u110,u210,u32j23,u42j2状态空间极点配置仿真响应图如图所示:
从实验的效果来看,倒立摆系统刚启动的调节幅度较大,调节时间为4秒,最终的稳态误差(角度)接近5%。同时系统调节位移的幅度较大。 给系统干扰(角度),得到系统的响应曲线如下图所示:
从图中可以看出,系统回到稳定的时间为3s。
为了得到更好的控制效果,重新选择一组闭环极点,同理可以采用上述的方法:
u120,u220,u320j2,u42j2,直接利用MATLAB的极点配置函数
[K,PREC,MESSAGE]PLACE(A,B,P),得到系统的增益反馈矩阵为
K217.678176.1905274.3640.0635
此时得到系统的响应曲线图如图1.5所示。
1.3 线性二次最优控制LQR
线性二次最优控制原理为:由系统状态方程XAxBu,从而确定最佳控制向量矩阵
u(t)K*x(t),从而使得性能指标J(xTQxuTRu)达到最小值。其中矩阵Q和R分别
确定了误差和能量损耗的相对重要性。
根据期望性能指标选取Q和R, 利用 MATLAB命令lqr就可以得到反馈矩阵K的值。
K=lqr(A,B,Q,R)
改变矩阵Q的值,可以得到不同的响应效果,Q的值越大(在一定的范围之内),系统抵抗干扰的能力越强,调整时间越短。这两个参数用来平衡输入量和状态量的权重。
Q11
0
现取R=1,Q
00
00000Q3300
00,Q111,Q331;其中Q11代表小车位置的权重,Q33代00
表摆杆角度的权重,输入的权重R=1。
利用MATLAB命令LQRK=lqr(A,B,Q,R),可以得到系统反馈矩阵为:
K-1.0-1.785525.4224.6849
此时得到的系统响应曲线如图1.7所示:
系统的性能指标如表1.3所示:
Q11
0
现取R=1,Q
00
00000Q3300
00,Q111000,Q33200;利用MATLAB命令LQR 00
K=lqr(A,B,Q,R),可以得到系统反馈矩阵为:
K-31.6228-20.150772.718113.1552
此时得到的系统响应曲线(稳定后)如图1.9所示:
2 一级正摆位移和角度控制
系统启动后,在当前位置给正摆施加一角度扰动,当平衡(摆角近似为零,需要有程序自动判断,不能只用停止若干秒)后,让小车直线运行40厘米,并快速保证平衡(摆角为零)。
一级正摆的数学建模、稳定性分析、状态空间极点配置以及线性二次最优控制LQR的实现方法与倒立摆同理。
2.1 正摆数学建模
以小车加速度作为系统的输入,可得到系统的状态方程和输出方程:
2.2 线性二次最优控制LQR
对正摆系统,直接采用线性二次最优控制LQR进行控制器设计,其中选取小车位置权重为1000,摆杆角度权重为 500,一般选取 R=1。之后在MATLAB命令窗口输入线性二次最优控制LQR:
K=lqr(A,B,Q,R)
得到系统的控制矩阵K
31.622814.4046-22.35140.1188
此时得到系统的响应曲线如下图所示(平衡后):
当给系统一干扰,得到系统的响应曲线:
从图中可以看出,当给系统一干扰,系统2秒后能回到平衡点。
直线倒立摆、正摆实验报告
实验采用固高科技倒立摆系统,通过控制器设计使倒立摆系统稳定运行(摆角保持零度附近)。倒立摆系统以及正摆系统的控制器的设计,使得系统能够满足一定的性能指标。
1 倒立摆系统分析
倒立摆系统分析包括倒立摆的数学模型的建立,稳定性分析,控制器的设计方法包括状态空间极点配置、线性二次最优控制,使得倒立摆系统能够达到最优的控制的效果。
1.1倒立摆数学模型
倒立摆系统受力分析图如图所示。对系统进行水平方向和竖直方向进行受力分析,可得到系统的运动方程:
对系统的运动方程进行线性处理,得到系统的状态空间描述(以小车的速度作为输入):
根据倒立摆系统的实际参数,以小车的加速度作为输入得到的系统的状态方程为:
1.2 状态空间极点配置
极点配置法通过设计状态反馈控制器将多变量系统的闭环系统极点配置在期望的位置上,从而使系统满足瞬态和稳态性能指标。如图为状态空间极点配置原理图。具体步骤如下(按极点配置步骤进行计算,性能指标定为系统3s的调节时间以及阻尼比为0.5): 利用MALTAB的极点配置函数
[K,PREC,MESSAGE]PLACE(A,B,P)
uKX52.42x24.48x93.2716.16
当系统闭环极点为u110,u210,u32j23,u42j2状态空间极点配置仿真响应图如图所示:
从实验的效果来看,倒立摆系统刚启动的调节幅度较大,调节时间为4秒,最终的稳态误差(角度)接近5%。同时系统调节位移的幅度较大。 给系统干扰(角度),得到系统的响应曲线如下图所示:
从图中可以看出,系统回到稳定的时间为3s。
为了得到更好的控制效果,重新选择一组闭环极点,同理可以采用上述的方法:
u120,u220,u320j2,u42j2,直接利用MATLAB的极点配置函数
[K,PREC,MESSAGE]PLACE(A,B,P),得到系统的增益反馈矩阵为
K217.678176.1905274.3640.0635
此时得到系统的响应曲线图如图1.5所示。
1.3 线性二次最优控制LQR
线性二次最优控制原理为:由系统状态方程XAxBu,从而确定最佳控制向量矩阵
u(t)K*x(t),从而使得性能指标J(xTQxuTRu)达到最小值。其中矩阵Q和R分别
确定了误差和能量损耗的相对重要性。
根据期望性能指标选取Q和R, 利用 MATLAB命令lqr就可以得到反馈矩阵K的值。
K=lqr(A,B,Q,R)
改变矩阵Q的值,可以得到不同的响应效果,Q的值越大(在一定的范围之内),系统抵抗干扰的能力越强,调整时间越短。这两个参数用来平衡输入量和状态量的权重。
Q11
0
现取R=1,Q
00
00000Q3300
00,Q111,Q331;其中Q11代表小车位置的权重,Q33代00
表摆杆角度的权重,输入的权重R=1。
利用MATLAB命令LQRK=lqr(A,B,Q,R),可以得到系统反馈矩阵为:
K-1.0-1.785525.4224.6849
此时得到的系统响应曲线如图1.7所示:
系统的性能指标如表1.3所示:
Q11
0
现取R=1,Q
00
00000Q3300
00,Q111000,Q33200;利用MATLAB命令LQR 00
K=lqr(A,B,Q,R),可以得到系统反馈矩阵为:
K-31.6228-20.150772.718113.1552
此时得到的系统响应曲线(稳定后)如图1.9所示:
2 一级正摆位移和角度控制
系统启动后,在当前位置给正摆施加一角度扰动,当平衡(摆角近似为零,需要有程序自动判断,不能只用停止若干秒)后,让小车直线运行40厘米,并快速保证平衡(摆角为零)。
一级正摆的数学建模、稳定性分析、状态空间极点配置以及线性二次最优控制LQR的实现方法与倒立摆同理。
2.1 正摆数学建模
以小车加速度作为系统的输入,可得到系统的状态方程和输出方程:
2.2 线性二次最优控制LQR
对正摆系统,直接采用线性二次最优控制LQR进行控制器设计,其中选取小车位置权重为1000,摆杆角度权重为 500,一般选取 R=1。之后在MATLAB命令窗口输入线性二次最优控制LQR:
K=lqr(A,B,Q,R)
得到系统的控制矩阵K
31.622814.4046-22.35140.1188
此时得到系统的响应曲线如下图所示(平衡后):
当给系统一干扰,得到系统的响应曲线:
从图中可以看出,当给系统一干扰,系统2秒后能回到平衡点。