控制系统综合课程设计—切换系统的仿真

  • 格式:doc
  • 大小:447.01 KB
  • 文档页数:23

下载文档原格式

  / 23
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录

题目:切换系统的仿真 (2)

摘要 (3)

1 引言 (4)

2 一般控制系统 (4)

2.1 控制器的设计 (4)

2.2 仿真实例 (5)

2.3 改变参数对系统性能的影响 (6)

2.3.1 时滞环节对系统性能的影响 (7)

2.3.2 切换函数对系统性能的影响 (8)

2.4 状态观测器的设计 (10)

2.4.1 仿真实例 (10)

3 非线性系统 (12)

3.1 非线性切换系统的稳定性 (12)

3.2 改变参数对非线性系统性能的影响 (16)

3.2.1 时滞环节对系统性能的影响 (16)

3.2.2 切换函数对系统性能的影响 (17)

3.3 非线性系统的控制器设计 (18)

3.3.1 仿真实例 (18)

4 结论 (21)

参考文献 (23)

题目:切换系统的仿真

问题描述:利用Matlab 软件仿真如下随机切换系统

1、一般控制系统:)())(()()(t u D t t x B t x A t x

σσσστ+-+= 其中x 为状态,u 为控制。

2、非线性系统:)))((())(()()(t d t x g W t x g B t x A t x

-++=σσσ 要求:

(1)给出仿真程序,系统的状态曲线;

(2)改变参数,探索控制算法的设计及其性能。

课程设计报告摘要

1 引言

切换系统是一个由一个系列的连续或离散的子系统以及协调这些子系统之间起切换的规则组成的混合系统。关于切换系统最重要的研究是关于其稳定性能的研究,切换系统的稳定性具有三个基本问题:对于任意切换序列系统的稳定性;对给定的某类切换序列系统的稳定性;构造使系统能够稳定的切换序列,即镇定问题。切换系统的稳定性有一个显著的特点是,其子系统的稳定性不等于整个系统的稳定性,即可能存在这样的情形,切换系统的每个子系统的是稳定的,但是在按照规则进行切换时,会导致整个系统不稳定,与此相对,也可能存在这样的情形,尽管每个子系统是不稳定的,但是可以通过某种切换规则使整个系统稳定。切换系统是非线性系统,即使每个子系统都是线性定常系统。

2 一般控制系统

给定一般线性切换系统模型如下:

)())(()()(t u D t t x B t x A t x

σσσστ+-+= (1) 其中,i A 、i B 、i D 分别是第i 个子系统的适当维数的矩阵,x ∈n R 、u ∈r R 分别为系统的状态和控制输入,σ:[0,+∞] → k ={1,2,…,m }是切换函数[1],τ(t )是一个延时环节。本文研究的是一个基于二维状态变量共两个切换模式的线性切换系统。

2.1 控制器的设计

切换系统是一个由一个系列的连续或离散的子系统以及协调这些子系统之间起切换的规则组成的混合系统。切换系统的稳定性是切换系统分析研究的重点问题。对于切换系统稳定性方面的研究,目前使用最广泛的一种方法是李雅普诺夫函数法。其主要思想为:对于切换系统,如果所含各子系统存在统一李雅普诺夫函数,那么系统对于任意的切换规则都是稳定的[2]。徐启程[1]等人通过构造Lyapunov 函数,设计出鲁棒状态反馈控制器u =i K x ,确保闭环系统在任意切换策略下是随机渐进稳定性。

对系统(1)设状态反馈控制律为:u =i K x ,则⎩⎨⎧=+-+=)()())(()()(t x K u t u D t t x B t x A t x σσσσστ ,

通过状态反馈形成的闭环系统如下:

))(()()()(t t x B t x K D A t x

τσσσσ-++= ,)0()(0x t x = (2)

2.2 仿真实例

设系统(2)有两个切换模式:

1A =[-4 0;0 -5];1B =[-1 0;0 -1];1D =[0.2;0.1];1K =[-4.1095 3.8660]

2A =[-8 0;0 -5];2B =[-2 0;0 -1];2D =[0.1;0.1];2K =[1.6342 1.0718] 设初始状态0x =[-1;1],延时τ(t )=1s 。

(1)搭建simulink 模型。

图2.1 系统(1)simulink 模型

(2)编写仿真程序,即在Function 模块中编写状态方程以及切换函数。 function y = fcn(x,x1 ) %#codegen

A1=[-4 0;0 -5];B1=[-1 0;0 -1];D1=[0.2;0.1];K1=[-4.1095 3.8660]; A2=[-8 0;0 -5];B2=[-2 0;0 -1];D2=[0.1;0.1];K2=[1.6342 1.0718]; m=x(1)*x(2); if (m>0.5)

A=A1;B=B1;D=D1;K=K1; else

A=A2;B=B2;D=D2;K=K2; end

u=K*x;y = A*x+B*x1+D*u;

这里选择切换函数)2(*)1(x x m ,当乘积大于0.5时,选择第一个子系统,否则选择第二个子系统。

(3)在matlab 命令行窗口分别输入如下指令,得到仿真结果。 plot(simout.time,simout.signals.values); x=simout.signals.values;plot(x(:,1),x(:,2),'-');

t/s

x (1),x (2)

状态响应曲线

图2.2 系统状态响应

x(1)

x (2)

状态轨迹曲线

图2.3 系统状态轨迹

由图2.3可以看出,系统状态由初始状态趋向于0,快速稳定,系统性能良好。

2.3 改变参数对系统性能的影响

在上述仿真实例中,影响系统性能的参数变量有延时时间,切换函数等,下面就对这两个参数分别进行讨论。