基于状态空间的数字控制器的设计

article/2025/9/12 22:18:30

目录

一.目的... 2

二.内容... 2

三.实验过程与结果... 2

1.推算出控制对象的模型参数... 2

2. 状态空间的数字控制器的设计原理... 2

3、实验代码(借鉴PPT内容)... 3

4、仿真图像... 3

5、仿真结果... 4

四、实验分析与结论... 5

1.性能分析... 5

2、存在不足... 5

3、总结... 6

前言:尽管不太想传这一期内容,但是这门课的老师卡我绩点,真的难受,害怪我太菜了,怪我,怨我。愿后来者能轻松点。能站着就不要躺,要站也要站在巨人的肩膀上。

一.目的

1.加深理解和掌握计算机控制系统的组成结构和原理。

2.学习并掌基于状态空间的数字控制器的设计。

二.内容

设计任务:考虑一个典型的电机位置伺服系统,其传递函数是 ,其中参数K和A根据学生学号最后三位数abc来确定:A=a+5, K=(b+1)*7+3*c。系统的输入端存在扰动w=-0.2, 控制信号的饱和限幅范围是(-5, +5), 并假定系统的初始状态为0。系统的输出量(位置信号)通过一个光电编码器进行测量,而速度信号没有测量。

(1)采用基于离散状态空间的方法设计一个数字控制器(带有状态估计器),实现准确的伺服定位控制,性能要求:对单位阶跃给定信号(r=1)进行跟踪的调节时间<5秒(误差带1%),超调<20%, 无稳态误差;

(2)利用上一步设计的控制器,分别考察当给定信号r取不同值(比如r=10)或扰动w取不同值(比如w=0.2)时的闭环系统性能。

三.实验过程与结果

1.推算出控制对象的模型参数

随机数213 。 

因此 A=2+5=7;K=(1+1)*7+3*3=23     传递函数使用零极点模式。

2. 状态空间的数字控制器的设计原理

离散的状态空间模型如下

设置控制律如下

变化后状态空间模型变为

使用终值定理

3、实验代码(借鉴PPT内容)

num= [23];
den= [1,7,0];
[A,B,C,D]=tf2ss (num, den) ;
% Discrete state-space model
T = 0.1;
[Phi,Gama,H,J]=c2dm (A,B,C, D,T, 'zoh' ) 
E = Gama;
% pole-placement;
zeta=0.307;
omega=2.1;
s1=-zeta*omega+j*sqrt(1-zeta^2)*omega;
s2=-zeta*omega-j*sqrt(1-zeta^2)*omega;
p=[exp(s1*T); exp(s2*T)];K = acker(Phi, Gama, p);
N = inv(H*inv(eye(2)-Phi+Gama*K)*Gama);
Kw = N*H*inv(eye(2)-Phi+Gama*K)*E;
%desired estimator poles (n+1)
pe = [p*0.5; sum(p)/4];
Phi_bar=[Phi E; 0 0 1];
H_bar=[H 0];
% prediction estimator gain
Lp = acker(Phi_bar', H_bar', pe)';
Gama_bar=[Gama; 0];
% Estimator matrices
Av=Phi_bar - Lp*H_bar;
Bv=[Gama_bar Lp];
Cv=eye(3);
Dv=zeros(3,2);sim('estimate_design');

4、仿真图像

5、仿真结果

四、实验分析与结论

1.性能分析

①r=1,w=-0 .2时由输出信号曲线可知,该系统超调量小于5%,调节时间小于5秒,无稳态误差,很好地满足了设计要求。当扰动进入时间延后时系统的输出变化量比较大。

②r=10,w=-0 .2时输出曲线超调量太大将近10%,不符合要求,但调节时间小于5s,响应较快。

③r=1,w=0.2时输出曲线超调量太大将近50%,不符合要求,同样调节时间小于5s,响应较快。

2、存在不足

(1)对于simulink的模块使用不是很熟悉,比如Gain里面调参数。

3、总结

基于状态空间的数字控制器的设计是一门大学问。


http://chatgpt.dhexx.cn/article/QYoOvM3l.shtml

相关文章

人工智能:状态空间图(超详细经典例题讲解,通过例题教会你如何解决状态空间图问题)

1、定义 状态空间常记为三元组&#xff1a;<S&#xff0c;F&#xff0c;G>。 其中&#xff0c;S为初始状态的集合&#xff0c;F为操作的集合&#xff0c;G为目标状态的集合。 问题的状态空间图是一个描述该问题全部可能的状态及相互关系的有向图。 如考虑操作的代价&…

状态空间模型

&#xfeff;&#xfeff; 一、状态空间模型简述 状态空间模型是动态时域模型&#xff0c;以隐含着的时间为自变量。状态空间模型包括两个模型&#xff1a; 一是状态方程模型&#xff0c;反映动态系统在输入变量作用下在某时刻所转移到的状态&#xff1b; 二是输出或量测方程模…

什么是状态空间法

1 状态空间法 在经典控制理论中&#xff0c;在建立数学模型时是通过传递函数进行的&#xff0c;在这个过程中&#xff0c;只考虑输入和输出之间的关系&#xff0c;所以会将系统变成一个黑盒子&#xff0c;里面的内容被浓缩了。 而在现代控制理论中&#xff0c;会首先从系统中抽…

动态系统建模-状态空间方程

动态系统建模-状态空间方程 状态空间方程是现代控制理论的基础, 它以矩阵的形式表达系统状态变量、 输入及输出之间的关系。 它可以描述和处理多输入多输出(MultipleInput Multiple Output, MIMO) 的系统。 状态空间方程 单输入单输出(SingleInput Single Output,SISO) 系统…

人工智能——状态空间表示法

状态空间表示法 状态空间表示法引入问题状态空间的构成状态算符状态空间问题的解 状态空间法表示问题的步骤状态空间方法表示问题的步骤如下 利用状态空间求解问题的过程利用状态空间表示法解题示例状态空间表示法简要小结 状态空间表示法引入 状态空间表示法就是以 “ 状态空间…

传递函数与状态空间

传递函数与状态空间之间可相互转换&#xff0c;可以使用的matlab函数有 [A,B,C,D] tf2ss(NUM,DEN) [NUM,DEN] ss2tf(A,B,C,D,iu)传递函数的形式唯一&#xff0c;但状态空间的形式不唯一&#xff0c;可以有多种。 1、一阶惯性环节 时间常数为T&#xff0c;本身为低通滤波器&…

状态空间搜索

http://www.lencomputer.com/xk2008/lesson19/search_algorithm.htm 状态空间搜索是程序设计中的最基本方法之一。它通过在状态空间中的初始状态出发&#xff0c;按照一定的顺序和条件对空间中的状态进行遍历&#xff0c;最终找到目标状态。一般的状态空间搜索方法有枚举、深度…

状态空间

1. 定义 状态变量(state variables)是指在系统中所含变量个数最少的变量&#xff0c;也就是决定系统状态的最小数目的变量的有序集合&#xff0c;有时也称为状态向量&#xff08;state vector&#xff09;&#xff0c;例如表示天体运动状态的位置和速度的变量。状态变量表示系统…

状态空间树

状态空间树&#xff1a; 就是问题的解空间树&#xff0c;分为子集树和排列树 子集树 当所给的问题是从n个元素组成的集合set中找到满足某一条件的一个子集时&#xff0c;相应的解空间树称为子集。 要注意&#xff0c;这个解空间树是一个虚拟的树&#xff0c;并不是构建出来的…

matlab状态空间程序,将状态空间表示形式转换为传递函数

理想的一维振荡系统由位于两面墙壁间的两个单位质点 m1 和 m2 组成。每个质点通过一根单位弹性常量弹簧连接到最近的墙壁。另外一根弹簧连接这两个质点。传感器以 Fs=16 Hz 的频率对 a1 和 a2(质点的加速度)采样。 将总测量时间指定为 16 秒。定义采样间隔 Δt=1/Fs。 Fs = 16;…

状态空间表示

前言 本文隶属于专栏《人工智能》&#xff0c;该专栏为笔者原创&#xff0c;引用请注明来源&#xff0c;不足和错误之处请在评论区帮忙指出&#xff0c;谢谢&#xff01; 本专栏目录结构和参考文献请见人工智能 引子 人工智能的多个研究领域从求解现实问题的过程来看&#xf…

现控笔记(二):状态空间表达式

控制系统状态空间表达式 系统动态过程的两类数学描述&#xff1a; 外部描述&#xff1a;&#xff08;输入——输出描述&#xff09; 内部描述&#xff1a;状态空间描述 两个方程描述&#xff1a;状态方程&#xff08;动态&#xff09;&#xff0c;输出方程&#xff08;静态&am…

【现控】系统状态空间表达式

【现控】1 系统状态空间表达式 一、基本概念 状态&#xff1a;状态是变化的&#xff0c;是时域里的一系列变量。它可以数字、曲线或者其他什么更为抽象的东西描述。 状态变量&#xff1a;能够完全描述系统的最小一组变量。可抽象可具体。 状态空间&#xff1a;以状态变量构成…

现代控制理论——状态、状态空间、状态空间描述

一、状态&#xff1a; 动态系统的状态粗略地说就是指系统的过去、现在和将来的运动状况。精确地说&#xff0c;状态需要一组必要而充分的数据说明。 对于运动的小车&#xff0c;系统的状态可以为位置和速度&#xff0c;对于电机可以为转速。 二、系统变量 1、状态变量 系统…

现代控制理论(1)——状态空间表达式

文章目录 一、状态变量及状态空间表达式二、状态空间表达式模拟结构图三、状态空间表达式的建立1.由系统框图建立2.由系统的机理建立3.由微分方程或传递函数建立3.1能控标准型3.2能观标准型 四、状态矢量的线性变换1.状态空间表达式变换为约当标准型2.当A为友矩阵时3.系统的并联…

matlab数据类型 —— 逻辑型

matlab系列文章&#xff1a;&#x1f449; 目录 &#x1f448; 文章目录 〇、概述一、逻辑型二、逻辑型创建1. 直接赋值2. 根据表达式创建3. 使用 logical 函数转换 三、逻辑型矩阵1. 创建逻辑型矩阵2. 转化逻辑型矩阵 〇、概述 逻辑型&#xff1a;也就是其它语言中的布尔型&…

matlab数据类型 —— 浮点型

matlab系列文章&#xff1a;&#x1f449; 目录 &#x1f448; 文章目录 〇、概述一、单精度浮点型二、双精度浮点型三、浮点型的最小值与最小值例1. 查看双精度浮点型以及单精度浮点型的最大正值和最小正值 四、浮点型创建例2. 将数据转换成浮点型 四、浮点型参与的运算1. 运…

MATLAB基础—数据类型

一、数据类型 1、整形数据 &#xff08;1&#xff09;有符号整数&#xff08;int&#xff09; ①、int8 —— 8位有符号整数&#xff08;只能取到 -128 — 127&#xff0c;大于127的数&#xff0c;输出结果为127&#xff1b;小于 -128 的数&#xff0c;输出为-128&#xff0…

Matlab里的数据类型

在Matlab里一共有四大类数据类型&#xff1a; 1、数值类型 2、逻辑类型 3、字符和字符串类型 4、结构体类型 这四大类数据类型的存储都是用矩阵来存储的 1、数值类型 数值类型即存储不同种类变量的类型&#xff0c;数值类型有五种&#xff1a;浮点数、整数、复数、Inf、NaN. …

MATLAB数据类型——整数

整数 MATLAB 支持以 1 字节、2 字节、4 字节和 8 字节几种形式存储整数数据。有意识地去使用可容纳您的数据的最小整数类型来存储数据&#xff0c;可以达到节省内存和程序执行时间的目的。 MATLAB具有四个有符号整数类和四个无符号整数类。 有符号类型能够处理负整数以及正整数…