状态反馈极点配置控制器设计学习笔记
一、状态反馈调节器设计问题
对于被控对象:
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可以配置到任意期望的极点位置上。
- 首先,对于原系统,给定期望的闭环系统特征值δi(i=1,2,...,n)\delta _i(i=1,2,...,n)δi(i=1,2,...,n)。
- 检测原系统是否可控,其能控矩阵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。
- 求取矩阵A的特征多项式:det(sI−A)=sn+a1sn−1+...+andet(sI-A)=s^n+a_1s^{n-1}+...+a_ndet(sI−A)=sn+a1sn−1+...+an。
- 求取变换矩阵:T=QcWT=Q_cWT=QcW,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−1an−2...a11an−2an−3...10...............a11......010000⎦⎥⎥⎥⎥⎤,W∈Rnp×nW\in R^{np\times n}W∈Rnp×n。
- 求取期望闭环系统的特征多项式: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+β1sn−1+...+βn。
- 计算状态反馈增益矩阵: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×nT−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.1298005.5686−3.7204001.9816−0.0143−1000.48290.66430−10⎦⎥⎥⎤
B=[0000100010]B=\begin{bmatrix} 0 & 0 \\ 0 & 0 \\ 10 & 0 \\ 0 & 10 \end{bmatrix}\quadB=⎣⎢⎢⎡0010000010⎦⎥⎥⎤
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.883201.142410.736300.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−C00],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);
控制结构如下图所示:
状态量变化:
输出变化:
状态反馈极点配置控制器设计学习笔记相关推荐
- 模电设计学习笔记(二)——反相放大电路
模电设计学习笔记(二) 反向放大电路设计 反向放大电路:输出信号与输入信号的相位相反并且电压或电流值成一定比例. 如下图就是一个简单的反向放大电路. 设计反向放大电路,同样的需要先清除需求,然后定量的 ...
- 数字IC设计学习笔记_Formality 形式验证
数字IC设计学习笔记 Formality 形式验证 1. 基本特点 2. Reference Design 和Implementation Design 3. container 4. 读入共享技术库 ...
- Mockplus原型设计学习笔记(1)—— 图层的调节
Mockplus原型设计学习笔记(1)-- 图层的调节 前言: 本节内容: 总结:
- 数字IC设计学习笔记_静态时序分析STA_ PrimeTime 基本概述
数字IC设计学习笔记 PrimeTime 基本概述 1. PrimeTime 基本概述 2. 运行模式 1. PrimeTime 基本概述 PrimeTime,Synopsys公司提出的,针对于复杂的 ...
- 数字IC设计学习笔记_静态时序分析STA_伪路径False Paths
数字IC设计学习笔记 半周期路径Half Cycle Path 1. 伪路径False Paths 2. 如何处理False Paths 1. 伪路径False Paths 在设计中,有些路径是不可能 ...
- 数字IC设计学习笔记_静态时序分析STA_ STA基本概念
数字IC设计学习笔记 STA基本概念 1. STA基本概念 2. 时序弧概念 Timing Arc 3. 建立时间和保持时间概念 4. 时序路径概念Timing Path 5. 时钟域概念clock ...
- 多层高速PCB设计学习笔记(二)基本设计原则及EMC分析
系列文章目录 多层高速PCB设计学习(一)初探基本知识(附单层设计补充) 多层高速PCB设计学习笔记(二)基本设计原则及EMC分析 多层高速PCB设计学习笔记(三) GND的种类及PCB中GND布线实 ...
- 多层高速PCB设计学习笔记(五)四层板实战(下)之阻抗控制计算(SI9000)
系列文章目录 多层高速PCB设计学习(一)初探基本知识(附单层设计补充) 多层高速PCB设计学习笔记(二)基本设计原则及EMC分析 多层高速PCB设计学习笔记(三) GND的种类及PCB中GND布线实 ...
- 多层高速PCB设计学习笔记(三) GND的种类及PCB中GND布线实战
系列文章目录 多层高速PCB设计学习(一)初探基本知识(附单层设计补充) 多层高速PCB设计学习笔记(二)基本设计原则及EMC分析 多层高速PCB设计学习笔记(三) GND的种类及PCB中GND布线实 ...
最新文章
- 在i386平台Linux 2.6 上实现一个系统调用
- 2020年, VQA论文汇总
- 剑与远征新海盗版本10章怎么去过?Boss也会随着章节、等级提升
- 嵌入式系统UBOOT
- jquery-通过按钮控制模态的显示与隐藏
- html5窗口播放插件,基于jQuery UI的模拟windows窗口插件
- C语言 mallocfree
- CSS3背景图片百分比及应用
- UOS桌面操作系统专业版字体
- 台式机安装黑苹果-新手教程
- Mysql压缩包版的安装教程
- 2021年电工(初级)考试内容及电工(初级)考试资料
- 基于myscript.js的web手写板(支持中文识别)
- 如何在MATLAB画一个首尾相连的数据矩阵图形
- 自己动手写操作系统学习笔记(一)---MBR,PBR,BPB,文件系统
- Springboot配置Redis报:io.lettuce.core.RedisCommandExecutionException: NOAUTH Authentication required.
- linux 下 cents os 7 下 安装JDK JRE TOMCAT 并配置环境变量
- 振动数据 自相关计算时时延_振动诊断技术
- 时间序列 R 08 指数平滑 Exponential smoothing
- EC600N(二)--核心板初次点亮