当前位置: 首页 > news >正文

MATLAB 控制系统设计与仿真 - 31

二次型最优控制

考虑到系统如果以状态空间方程的形式给出,其性能指标为:

J=\frac{1}{2}x^T(t_f)Fx(t_f)+\frac{1}{2}\int_{t_0}^{t_f}[x^T(t)Qx(t)+u^T(t)Ru(t)]dt

其中F,Q,R是有设计者事先选定。线性二次最优控制问题简称LQ(Linear Quadractic)问题,就是寻找一个控制u^*(t),使得系统沿着由指定初态x_0出发的相应轨迹x^*(t),其性能指标J取得最小值。

LQ问题分为有限时间LQ问题和无限时间LQ问题。在有限时间LQ问题中,终端时刻t_f是固定的,且为有限值;而在无限时间LQ问题中,t_f=\infty

此外,从工程应用角度,还可以把LQ最优控制问题分为调节问题和跟踪问题,而调节问题又分为状态调节问题和输出调节问题。所谓状态调节问题,就是设计最优控制u^*(t),使在其作用下把系统由初始状态x_0驱动到平衡状态x_e=0,同时性能指标J取得最小值。而跟踪问题,则要求在使系统的输出y(t)跟踪已知的或未知的参考信号y_r(t)的同时,使某个相应的二次型性能指标J为极小。

无限时间LQ状态调节

无限时间LQ状态调节问题中的性能指标为:

J=\frac{1}{2}\int_{t_0}^{\infty}[x^T(t)Qx(t)+u^T(t)Ru(t)]dt

其中{A,B}为能控的,\left \{ A,Q^{1/2} \right \}为能观的。

无限时间最优调节器系统的结构图如下:

对于无限时间LQ状态调节问题,u^*(t)为其最优控制的充分必要条件是其具有形式:

u^*(t)=-K^*x^*(t) \\ K^*=R^{-1}B^TP

而最优性能指标为:

J^*=\frac{1}{2}x_0^TPx_0

其中P为下述Riccati矩阵代数的解。

PA+A^TP+Q-PBR^{-1}B^TP=0​​​​​​​

应该指出的是,这种设计所得到的闭环控制系统是渐进稳定的。

在MATLAB中,提供了lqr函数用于求无限时间LQ状态调节问题,函数的调用格式为:

[K,P,e]=lqr(sys,Q,R,N); % 计算联系时间系统的最优反馈增益矩阵
                        % K为最优反馈增益矩阵
                        % P为对应的Riccati方程的解
                        % e为对应的闭环系统的极点
                        % Q为状态权重矩阵
                        % R为输入权重矩阵
                        % N为状态,输入交叉权重矩阵

其性能指标为:

J=\frac{1}{2}\int_{0}^{\infty}[x^TQx+u^TRu+2x^TNu]dt

默认时N=0。

例如:

假设系统状态空间表达式为:

\dot{x}(t)=\begin{bmatrix} 0 &1 &0 \\ 0&0 & 1\\ -1 & -4 &-6 \end{bmatrix}x(t)+ \begin{bmatrix} 0\\ 0\\ 1 \end{bmatrix}u(t)

采用输入反馈,系统的性能指标为:

J=\frac{1}{2}\int_{0}^{\infty}[x^TQx+u^TRu]dt

Q=\begin{bmatrix} 1 & 0 & 0\\ 0 & 1 & 0\\ 0& 0 & 1 \end{bmatrix},R=1

试设计LQ最优控制器,计算最优状态反馈矩阵,并绘制闭环系统的阶跃响应曲线。

MATLAB代码如下:

clear all;clc;
A=[0 1 0;0 0 1;-1 -4 -6];
B=[0 0 1]';
C=[1 0 0];
D=0;
sys=ss(A,B,C,D);
Q=diag([1,1,1]);
R=1;
[K P e]=lqr(sys,Q,R);
Ac=A-B*K;
Bc=B;
Cc=C;
Dc=D;
sysC=ss(Ac,Bc,Cc,Dc);
step(sysC);
xlabel('time(s)');
ylabel('response')
title('step response');
grid on

程序运行结果如下:

最后,欢迎大家有问题给我留言。

非常感谢小伙伴们的-点赞-收藏-关注

相关文章:

  • AUTOSAR Mcal SPI - 基于Ifx TC37x
  • 地下水砷超标处理技术解析
  • 邪性!Anaconda安装避坑细节Windows11
  • RPC 同步与异步之使用Spring WebFlux + WebClient或Netty + Reactor
  • ruoyi-vue部署 linux 系统项目安装部署 oa 项目部署 (合集)
  • 2025年湖南建筑安全员B证备考资料
  • 【AI论文】LEGO拼图:大型语言模型在多步骤空间推理方面的表现如何?
  • 【SPP】蓝牙串口协议(SPP)深度解析:从 RS232 仿真到设备互联的技术实现
  • 基于深度学习的图像超分辨率技术研究与实现
  • 格雷码、汉明码,CRC校验的区别
  • Vue3.X项目中包依赖的解析与安装出现问题如何解决?
  • 21天Python计划:python下载和开发工具介绍
  • 【Linux】进程的详讲(上)
  • 开源测试用例管理平台
  • beanie.exceptions.CollectionWasNotInitialized
  • L2正则化:优化模型的平滑之道
  • JAVA 应用实现 APM 自动注入(Docker 篇)
  • HX324双运算放大器:赋能万物互联时代的信号处理基石
  • C++Primer学习(13.6 对象移动)
  • K8S学习之基础六十一:k8s中部署helm
  • 免费建设淘宝客网站/做企业推广的公司
  • 网站优化外包公司/鄂州seo
  • wap网站下载/怎样做网络推广
  • 前端是做网站吗/百度上如何做优化网站
  • 舟山市城市建设档案馆网站/在线seo短视频
  • 做网站一定要有营业执照吗/大型网站seo课程