基于LQR的一阶倒立摆控制仿真

(1)LQR简介

LQR(linear quadratic regulator)即线性二次型调节器,其对象是现代理论中以状态空间形式给出的线性系统。LQR最优设计是指设计出的状态反馈控制器 K要使二次型目标函数J 取最小值,而 K由权矩阵Q 与 R 唯一决定,故此 Q、 R 的选择尤为重要。

(2)LQR的特点

LQR理论是现代控制理论中发展最早也最为成熟的一种状态空间设计法。特别可贵的是 ,LQR可得到状态线性反馈的最优控制规律 ,易于构成闭环最优控制。而且 Matlab 的应用为LQR 理论仿真提供了条件 ,更为我们实现稳、准、快的控制目标提供了方便。

(3)LQR针对的问题

LQ问题的几种特殊情况
1、状态调节器问题:用不大的控制能量,使系统状态X(t)保持在零值附近
2、输出调节器问题:用不大的控制能量,使系统输出Y(t)保持在零值附近
3、跟踪问题:用不大的控制量,使系统输出Y(t)紧紧跟随Yr(t)的变化

(4)LQR应用原理

线性二次型是指系统的状态方程是线性的,指标函数是状态变量和控制变量的二次型。考虑线性系统的状态方程为:
基于LQR的一阶倒立摆控制仿真_第1张图片
找一状态反馈控制律:
在这里插入图片描述
使得二次型性能指标最小化:
在这里插入图片描述
其中,x(t)为系统的状态变量;t0,tf 为起始时间与终止时间;S为终态约束矩阵;Q(t)为运动约束矩阵;R(t)为约束控制矩阵。其中Q(t)、R(t)决定了系统误差与控制能量消耗之间的相对重要性。为使J最小,由最小值原理得到最优控制为:
在这里插入图片描述

在这里插入图片描述
式中,矩阵P(t)为微分Riccatti方程的解在这里插入图片描述对于最优反馈系数矩阵,使用Matlab中专门的求解工具lqr()来求取。 [K,P]=lqr(A,B,Q,R).
以下是以一阶倒立摆为研究对象,使用LQR算法实现倒立摆的稳定。
步骤一:将倒立摆系统表达为状态间的形式,详细的推导可参考其他资料。
步骤二:利用matlab的lqr函数求解K。
步骤三:将输入u(t)=-K*x(t)带入系统中。
基于LQR的一阶倒立摆控制仿真_第2张图片
(下方第一幅图为输入力的大小,断点为添加的干扰,第二幅图的为位置x的变化,第三幅图为摆杆与垂直方向的夹角随时间的变化,初始倒立摆的角度为10°)
仿真源码

你可能感兴趣的:(LQR)