现代控制理论课程实验三:一阶倒立摆的LQR控制器设计
一、实验目的
1、理解并掌握线性状态反馈控制的原理和方法;
2、理解并掌握LQR控制器设计方法;
3、练习控制性能比较与评估的方法。
二、实验设备与软件
实验设备
- 倒立摆实验台
实验软件
- MATLAB软件
三、实验原理
3.1、被控对象模型及其线性化
倒立摆系统的各量含义与关系如下表和下图。
根据牛顿定律建立系统垂直和水平方向的动力学方程,计及 u = F
,可得到
如下所示
该状态方程输入是加速度,输出是小车位置和摆杆角度。而小车的位置和摆杆角度以及它们的导数均可以通过传感器测量,所以在系统可控制的情况下,可以利用状态反馈综合控制器改善性能。
3.2、时不变线性连续系统的状态反馈控制与线性二次型最优控制LQR
- 对时不变线性连续系统
3.3、实验平台的基本原理与使用指南
倒立摆系统的控制结构框图如下
“Pendulum”模块内部包含三种模块,每种模块的具体功能是通过S-Function实现的,这里不做介绍。其中“Set Car’s Vcc and Vel”模块的作用是设置小车运动的速度和加速度,“Get Car’s Position”模块的作用是读取小车当前的实际位置,“Get Pend’s Angle”的作用是角度编码器读取摆杆当前摆起的实际角度,该角度顺时针为“+”,逆时针为“-” (以竖直向下的状态为起始状态,见图1)。这里需要注意的是,由于编码器所读脉冲的正负号与实际需要的数符号相瓣,所以编码器输出经过一个负的比例增益后转化为输出角度
另外,在Simulink中搭建系统模型时,需要将Inverted_Pendulum_RealTime_lib中的GT400-SV Initialization模块放到编辑的模型中。
四、实验内容
动手实验与分析:
基于式(6)所示的倒立摆模型(控制摆角和位置),根据原系统的特点设计LQR最优控制器,并分析参数 和 阵的选取对系统的影响。实物实验前先进行理论分析计算(包括能控性分析和稳定性分析,指标转化计算,可以编制相应的程序计算,也可以手算),并在MATLAB/Simulink中进行离线数值计算分析,调整相关参数,合适后在倒立摆平台上做在线实验,比较仿真结果与实验结果。
4.1、MATLAB仿真结果
系统的MATLAB/Simulink仿真图如下
4.2、MATLAB程序如下
clear;
A = [ 0