一、状态反馈调节器设计问题

对于被控对象:
x˙=Ax+Bu,x(0)=x0\dot x=Ax+Bu,x(0)=x_0x˙=Ax+Bu,x(0)=x0​
其中,x∈Rn,u∈Rpx\in R^n,u\in R^px∈Rn,u∈Rp。
采用状态反馈控制律有:
u=−Kxu=-Kxu=−Kx
那么闭环系统转化为:
x˙=(A−BK)x,x(0)=x0\dot x=(A-BK)x,x(0)=x_0x˙=(A−BK)x,x(0)=x0​
该微分方程的解为:
x(t)=e(A−BK)tx0x(t)=e^{(A-BK)t}x_0x(t)=e(A−BK)tx0​
因此,如果设计一个控制器K,其使得(A-BK)渐进稳定,那么当t→∞t\to \inftyt→∞时,x(∞)→0x(\infty)\to 0x(∞)→0,这是一个典型状态调节器的设计问题。

二、极点配置算法

有定理:
若原系统的状态完全可控,则存在状态反馈增益矩阵K,使得状态反馈闭环系统完全可控,并且状态反馈增益矩阵K可以配置到任意期望的极点位置上。

  1. 首先,对于原系统,给定期望的闭环系统特征值δi(i=1,2,...,n)\delta _i(i=1,2,...,n)δi​(i=1,2,...,n)。
  2. 检测原系统是否可控,其能控矩阵Qc=[B,AB,...,An−1B]Q_c=[B,AB,...,A^{n-1}B]Qc​=[B,AB,...,An−1B]的秩是否为n,Qc∈Rn×npQ_c\in R^{n\times np}Qc​∈Rn×np。
  3. 求取矩阵A的特征多项式:det(sI−A)=sn+a1sn−1+...+andet(sI-A)=s^n+a_1s^{n-1}+...+a_ndet(sI−A)=sn+a1​sn−1+...+an​。
  4. 求取变换矩阵:T=QcWT=Q_cWT=Qc​W,W=[an−1an−2...a11an−2an−3...10............0a11......010...00]W=\begin{bmatrix} a_{n-1} & a_{n-2} & ... & a_1 & 1 \\ a_{n-2} & a_{n-3} & ... & 1 & 0 \\ ... & ... & ... & ... & 0 \\ a_{1} & 1 & ... &... & 0 \\ 1 & 0& ... & 0 & 0\end{bmatrix}\quadW=⎣⎢⎢⎢⎢⎡​an−1​an−2​...a1​1​an−2​an−3​...10​...............​a1​1......0​10000​⎦⎥⎥⎥⎥⎤​,W∈Rnp×nW\in R^{np\times n}W∈Rnp×n。
  5. 求取期望闭环系统的特征多项式:det(sI−A+BK)=(s−δ1)(s−δ2)...(s−δn)=sn+β1sn−1+...+βndet(sI-A+BK)=(s-\delta_1)(s-\delta_2)...(s-\delta_n)=s^n+\beta_1s^{n-1}+...+\beta_ndet(sI−A+BK)=(s−δ1​)(s−δ2​)...(s−δn​)=sn+β1​sn−1+...+βn​。
  6. 计算状态反馈增益矩阵:Kp×n=[βn−an,βn−1−an−1,...,β1−a1]p×nT−1K_{p\times n}=[\beta_n-a_n,\beta_{n-1}-a_{n-1},...,\beta_1-a_1]_{p\times n}T^{-1}Kp×n​=[βn​−an​,βn−1​−an−1​,...,β1​−a1​]p×n​T−1。

MATLAB有相关的求解函数place,可直接求解K,其调用格式为K=place(A,B,P)K=place(A,B,P)K=place(A,B,P),其中,P=[δ1,δ2,...,δn]P=[\delta _1,\delta _2,...,\delta _n]P=[δ1​,δ2​,...,δn​]。

三、状态调节器设计实例

某系统为:
x˙=Ax+Buy=Cx\dot x=Ax+Bu\\y=Cxx˙=Ax+Buy=Cx
其中,A=[−6.555.56861.98160.48290.1298−3.7204−0.01430.664300−100000−10]A=\begin{bmatrix} -6.55 & 5.5686 & 1.9816 & 0.4829 \\ 0.1298 & -3.7204 & -0.0143 & 0.6643 \\ 0 & 0 & -10 & 0 \\ 0 & 0 & 0 & -10 \end{bmatrix}\quadA=⎣⎢⎢⎡​−6.550.129800​5.5686−3.720400​1.9816−0.0143−100​0.48290.66430−10​⎦⎥⎥⎤​
B=[0000100010]B=\begin{bmatrix} 0 & 0 \\ 0 & 0 \\ 10 & 0 \\ 0 & 10 \end{bmatrix}\quadB=⎣⎢⎢⎡​00100​00010​⎦⎥⎥⎤​
C=[−0.88321.14240.73630.00020100]C=\begin{bmatrix} -0.8832 & 1.1424 & 0.7363 & 0.0002 \\ 0 & 1 & 0 & 0 \end{bmatrix}\quadC=[−0.88320​1.14241​0.73630​0.00020​]
根据极点配置法对其设计状态调节器:

clc;clear all
%% 原系统状态空间实现
A=[-6.55 5.5686 1.9816 0.4829;0.1298 -3.7204 -0.0143 0.6643;0 0 -10 0;0 0 0 -10];
B=[0 0; 0 0 ;10 0;0 10];
C=[-0.8832,1.1424,0.7363,0.0002;0,1,0,0];
%% 1、给定期望特征值
P=[-2+1.186i -2-1.186i -18 -19];
%% 2、检测可控性条件
Qc=[B,A*B,A*A*B,A*A*A*B];   %4*8
rank(Qc)
%% 3、求矩阵A的特征多项式
pA=poly(A);
%% 4、求取变换矩阵
W1=[pA(4),pA(3),pA(2),1;pA(4),pA(3),pA(2),1;pA(3),pA(2),1,    0;pA(3),pA(2),1,    0;pA(2),1,    0,    0;pA(2),1,    0,    0;1    ,0,    0,    0;1    ,0,    0,    0;];   %8*4
W2=[pA(4),pA(3),pA(2),1;pA(4),pA(3),pA(2),1;pA(3),pA(2),1,    0;pA(3),pA(2),1,    0;pA(2),1,    0,    0;pA(2),1,    0,    0;1    ,0,    0,    0;1    ,0,    0,    0;];   %8*4
T1=Qc*W1;                     %4*4=4*4 * 4*4
T2=Qc*W2;
%% 5、构造闭环系统特征多项式
close_loop_det=poly(P);
beta_a(1)=close_loop_det(5)-pA(5);
beta_a(2)=close_loop_det(4)-pA(4);
beta_a(3)=close_loop_det(3)-pA(3);
beta_a(4)=close_loop_det(2)-pA(2);
%% 6、计算反馈矩阵K
K1=beta_a*pinv(T1);
K2=beta_a*pinv(T2);
KK=[K1;K2];
%% MATLABplace函数计算反馈矩阵K
% KK=place(A,B,P)

状态调节器结构搭建如下:
其仿真结果如下图所示:

四、跟踪控制器实例设计

为了达到无静差跟踪,将状态量增广为xˉ=[x˙TeT]T\bar x=[\dot x^T~~e^T]^Txˉ=[x˙T  eT]T,为该系统设计状态调节器,即可达到控制效果。
误差有:
e=r−y=r−Cxe˙=r˙−Cx˙e=r-y=r-Cx\\\dot e=\dot r-C\dot xe=r−y=r−Cxe˙=r˙−Cx˙对于阶跃型指令,有:
r˙=0\dot r=0r˙=0因此增广后的系统为:
xˉ˙=Aˉxˉ+Bˉuˉ\dot{\bar x}=\bar A\bar x+\bar B\bar uxˉ˙=Aˉxˉ+Bˉuˉxˉ=[x˙e],uˉ=u˙,Aˉ=[A0−C0],Bˉ=[B0]\bar x=\begin{bmatrix} \dot x \\ e \end{bmatrix}\quad,\bar u=\dot u,\bar A=\begin{bmatrix} A & 0 \\ -C & 0 \end{bmatrix}\quad, \bar B=\begin{bmatrix} B \\ 0 \end{bmatrix}\quadxˉ=[x˙e​],uˉ=u˙,Aˉ=[A−C​00​],Bˉ=[B0​]控制律为:uˉ=−Kxˉu˙=−K[x˙e]\bar u=-K\bar x\\ ~~~~~~~~~\dot u=-K\begin{bmatrix} \dot x \\ e \end{bmatrix}\quaduˉ=−Kxˉ         u˙=−K[x˙e​]得到:u=−K[x∫e]=−[Kx˙Ke][x∫e]=−Kx˙x−Ke∫eu=-K\begin{bmatrix} x \\ \int e \end{bmatrix}\quad=-[K_{\dot x}~~~~K_{e}]\begin{bmatrix} x \\ \int e \end{bmatrix}\quad=-K_{\dot x}x-K_e\int eu=−K[x∫e​]=−[Kx˙​    Ke​][x∫e​]=−Kx˙​x−Ke​∫e
基于此设计控制器如下:

clc;clear all
%% 原系统状态空间实现
A=[-6.55 5.5686 1.9816 0.4829;0.1298 -3.7204 -0.0143 0.6643;0 0 -10 0;0 0 0 -10];
B=[0 0; 0 0 ;10 0;0 10];
C=[-0.8832,1.1424,0.7363,0.0002;0,1,0,0];
%% 增广系统
Ab=[A,zeros(4,2);C,zeros(2,2)];     %6*6
Bb=[B;zeros(2,2)];                  %6*2
%% 1、给定期望特征值
P=[-2+1.186i -2-1.186i -10 -11 -1.4 -2];
%% 2、检测可控性条件
Qc=[Bb,Ab*Bb,Ab*Ab*Bb,Ab*Ab*Ab*Bb];   %6*8
rank(Qc)
%% MATLABplace函数计算反馈矩阵K
KK=place(Ab,Bb,P)
Kx=KK(:,1:4);
Ke=KK(:,5:6);

控制结构如下图所示:

状态量变化:

输出变化:

状态反馈极点配置控制器设计学习笔记相关推荐

  1. 模电设计学习笔记(二)——反相放大电路

    模电设计学习笔记(二) 反向放大电路设计 反向放大电路:输出信号与输入信号的相位相反并且电压或电流值成一定比例. 如下图就是一个简单的反向放大电路. 设计反向放大电路,同样的需要先清除需求,然后定量的 ...

  2. 数字IC设计学习笔记_Formality 形式验证

    数字IC设计学习笔记 Formality 形式验证 1. 基本特点 2. Reference Design 和Implementation Design 3. container 4. 读入共享技术库 ...

  3. Mockplus原型设计学习笔记(1)—— 图层的调节

    Mockplus原型设计学习笔记(1)-- 图层的调节 前言: 本节内容: 总结:

  4. 数字IC设计学习笔记_静态时序分析STA_ PrimeTime 基本概述

    数字IC设计学习笔记 PrimeTime 基本概述 1. PrimeTime 基本概述 2. 运行模式 1. PrimeTime 基本概述 PrimeTime,Synopsys公司提出的,针对于复杂的 ...

  5. 数字IC设计学习笔记_静态时序分析STA_伪路径False Paths

    数字IC设计学习笔记 半周期路径Half Cycle Path 1. 伪路径False Paths 2. 如何处理False Paths 1. 伪路径False Paths 在设计中,有些路径是不可能 ...

  6. 数字IC设计学习笔记_静态时序分析STA_ STA基本概念

    数字IC设计学习笔记 STA基本概念 1. STA基本概念 2. 时序弧概念 Timing Arc 3. 建立时间和保持时间概念 4. 时序路径概念Timing Path 5. 时钟域概念clock ...

  7. 多层高速PCB设计学习笔记(二)基本设计原则及EMC分析

    系列文章目录 多层高速PCB设计学习(一)初探基本知识(附单层设计补充) 多层高速PCB设计学习笔记(二)基本设计原则及EMC分析 多层高速PCB设计学习笔记(三) GND的种类及PCB中GND布线实 ...

  8. 多层高速PCB设计学习笔记(五)四层板实战(下)之阻抗控制计算(SI9000)

    系列文章目录 多层高速PCB设计学习(一)初探基本知识(附单层设计补充) 多层高速PCB设计学习笔记(二)基本设计原则及EMC分析 多层高速PCB设计学习笔记(三) GND的种类及PCB中GND布线实 ...

  9. 多层高速PCB设计学习笔记(三) GND的种类及PCB中GND布线实战

    系列文章目录 多层高速PCB设计学习(一)初探基本知识(附单层设计补充) 多层高速PCB设计学习笔记(二)基本设计原则及EMC分析 多层高速PCB设计学习笔记(三) GND的种类及PCB中GND布线实 ...

最新文章

  1. 在i386平台Linux 2.6 上实现一个系统调用
  2. 2020年, VQA论文汇总
  3. 剑与远征新海盗版本10章怎么去过?Boss也会随着章节、等级提升
  4. 嵌入式系统UBOOT
  5. jquery-通过按钮控制模态的显示与隐藏
  6. html5窗口播放插件,基于jQuery UI的模拟windows窗口插件
  7. C语言 mallocfree
  8. CSS3背景图片百分比及应用
  9. UOS桌面操作系统专业版字体
  10. 台式机安装黑苹果-新手教程
  11. Mysql压缩包版的安装教程
  12. 2021年电工(初级)考试内容及电工(初级)考试资料
  13. 基于myscript.js的web手写板(支持中文识别)
  14. 如何在MATLAB画一个首尾相连的数据矩阵图形
  15. 自己动手写操作系统学习笔记(一)---MBR,PBR,BPB,文件系统
  16. Springboot配置Redis报:io.lettuce.core.RedisCommandExecutionException: NOAUTH Authentication required.
  17. linux 下 cents os 7 下 安装JDK JRE TOMCAT 并配置环境变量
  18. 振动数据 自相关计算时时延_振动诊断技术
  19. 时间序列 R 08 指数平滑 Exponential smoothing
  20. EC600N(二)--核心板初次点亮

热门文章

  1. 美国TELEMARK电源维修电子枪高压控制电源修理
  2. 对IEEE 802.15.4中Slotted CSMA-CA的理解
  3. 查询app android版本,企业名录查询APP
  4. 万象网管怎么在无盘服务器装,一个网吧无盘系统的安装步骤(新手教程)
  5. 微信小程序自定义车牌号输入键盘-附源码
  6. 仿360一键清理实现(一)
  7. PJzhang:有关火绒新版本以及火绒的一些介绍
  8. pdf 转 word 软件
  9. 本科毕业论文写作方法类--小白指南
  10. 给大家介绍一个大文件传输软件