非线性控制1.1——稳定与跟踪问题概念

2023-05-16

一、非线性控制系统的两大任务

1. 稳定(或称调节)问题

稳定问题是要使得闭环系统的状态稳定在一个平衡点附近。对于稳定问题,系统的输出不一定要有具体的物理意义,此时可以借助输入-输出状态线性化方法把原非线性熊转换为线性系统,从而用线性系统额理论解决系统的稳定问题。

2. 跟踪(或称伺服)问题

跟踪问题是要使得闭环系统的输出跟踪一个给定的时变轨迹。其定义如下:

对于给定的某一连续信号y_{r}(t),控制输出y(t)满足下述条件:

                                                                     \lim_{t\rightarrow \infty }[y(t)-y_{r}(t)]=0

称上述问题为渐近跟踪问题。

 


跟踪问题与镇定问题的区别:跟踪问题相比于镇定问题要求更为严格,镇定问题只需确保系统状态稳定在某个区域或者某个点,而跟踪问题在稳定的前提下,还需要系统的实际输出跟随期望输出,即两者之间的误差趋于零。因此,在解决跟踪问题时,需要将期望的输出或者状态量考虑在内,构造一个增广系统,确保增广系统渐近稳定,则可实现期望输出或者期望状态的跟随。


二、重要定理

如果u=\begin{bmatrix} K_{x} & K_{y} \end{bmatrix}\begin{bmatrix} x\\ y_{e} \end{bmatrix}=K_{x}x+K_{e}y_{e}是增广系统

 

                                                  \left\{\begin{matrix} \begin{bmatrix} \dot{x}\\ \dot{y_{e}} \end{bmatrix}=\begin{bmatrix} A &0 \\ C & 0 \end{bmatrix}\begin{bmatrix} x\\ y_{e} \end{bmatrix}+\begin{bmatrix} B\\ 0 \end{bmatrix}u -\begin{bmatrix} 0\\ y_{r} \end{bmatrix}+\begin{bmatrix} F\\ 0 \end{bmatrix}d \\ y=\begin{bmatrix} C & 0 \end{bmatrix} \begin{bmatrix} x\\ y_{e} \end{bmatrix}\end{matrix}\right.

的一个状态反馈镇定率,则在干扰d为定常的条件下,系统

                                                                \left\{\begin{matrix} \dot{x}=Ax+Bu+Fd\\ y=Cx \end{matrix}\right.

可在控制率

                                              u=\begin{bmatrix} K_{x} & K_{y} \end{bmatrix}\begin{bmatrix} x\\ y_{e} \end{bmatrix}=K_{x}x+K_{e}y_{e}

的作用下实现其输出对于输入信号的渐近跟踪。

 

三、渐近跟踪实例仿真

3.1 系统方程

给定受控系统为

                                                    \left\{\begin{matrix} \dot{x}=\begin{bmatrix} 0 & 1\\ -2& 1 \end{bmatrix}x+\begin{bmatrix} 0\\ 1 \end{bmatrix}u+\begin{bmatrix} d_{1}\\ d_{2} \end{bmatrix}\\ y=\begin{bmatrix} 1 & 0 \end{bmatrix}x \end{matrix}\right.

其中,参考信号y_{r}(t)和干扰信号d_{1}(t)d_{2}(t)均为正弦信号,要求设计系统的渐近跟随控制器u(t)

3.2 控制器设计

1. 主函数(main.m)

clc
clear all
close all

x0 = [1;0;0.5];

[t,x] = ode45(@gsq,[0,10],x0);
yr = sin(t);

figure;
plot(t,x(:,1),'r-');  % y的实际输出值
hold on;
plot(t,yr,'b-');      % y的期望值
xlabel('时间/s'); ylabel('期望输入与跟随输出');

2. 跟随控制器(gsq.m)

function dx = gsq(t,x)

yr = sin(t);  % 期望输出
d1 = sin(t); d2 = cos(t);   % 扰动信号

y = x(1);          % 输出方程

e = y - yr;   % 输出误差

%u = Kx*x + Ky*e;
u = -4*x(1)-5*x(2)-4*e;  % 控制输入

dx(1) = x(2) + d1;                  % 系统方程
dx(2) = -2*x(1)+x(2)+u+d2;

dx(3) = x(1) - yr;     % ye 输出误差

dx = dx';
end

3.3 仿真结果分析

                                        

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

非线性控制1.1——稳定与跟踪问题概念 的相关文章

随机推荐

  • CMakeLists.txt编写规范模板及CMake常用变量

    文章目录 基本语法规则常见CMakeLists txt中指令剖析从VS项目配置过程理解CMakeLists内容CMake中常用变量汇总常用CMakeLists文件模板 基础模板使用OpenCV库CMakeLists文件模板使用PCL库CMa
  • C++ 多线程detach()操作的坑以及传参

    detach 的作用是将子线程和主线程的关联分离 xff0c 也就是说detach 后子线程在后台独立继续运行 xff0c 主线程无法再取得子线程的控制权 xff0c 即使主线程结束 xff0c 子线程未执行也不会结束 当主线程结束时 xf
  • 条件变量中的唤醒丢失问题分析

    本文是在其他作者博文的基础上进行了部分补充 原文 xff1a https zhuanlan zhihu com p 55123862 0 前言 条件变量 xff08 condition variable xff09 和互斥锁 xff08 m
  • 无人车传感器 IMU与GPS数据融合进行定位机制

    前言 上一次的分享里 xff0c 我介绍了GPS的原理 xff08 三角定位 xff09 及特性 xff08 精度 频率 xff09 xff0c 同时也从无人车控制的角度 xff0c 讨论了为什么仅有GPS无法满足无人车的定位要求 为了能让
  • C++类对象的赋值与=运算符重载

    本文主要介绍C 43 43 中的赋值运算符重载函数 xff08 operator 61 xff09 的相关知识 1 概述 1 1 why 首先介绍为什么要对赋值运算符 61 进行重载 某些情况下 xff0c 当我们编写一个类的时候 xff0
  • 微信小程序开发入门(一)

    所有示例的完整代码 xff0c 都可以从 GitHub 的代码仓库下载 一 小程序是什么 xff1f 学习小程序之前 xff0c 先简单说一下 xff0c 它到底是什么 字面上讲 xff0c 小程序就是微信里面的应用程序 xff0c 外部代
  • rtp载荷H264解包过程分析,ffmpeg解码qt展示

    网络抽象层单元 NALU NALU头 NALU 头 由1个byte组成 它的语法如下 43 43 0 1 2 3 4 5 6 7 43 43 43 43 43 43 43 43 43 F NRI Type 43 43 F 1 个比特 for
  • CPU上下文切换、进程上下文、中断上下文

    由于Linux是一个多任务操作系统 xff0c 能够支持远大于CPU数量的任务同时运行 当然 xff0c 这些任务实际上并不是真的在同时运行 xff0c 而是由CPU进行调度 xff0c 将时间分片 xff0c 每个任务占用1个时间片 xf
  • Gstreamer概述

    1 什么是GStreamer GStreamer 是用来构建流媒体应用的开源多媒体框架 framework xff0c 其基本设计思想来自于俄勒冈 Oregon 研究生学院有关视频管道的创意 同时也借鉴了DirectShow的设计思想 其目
  • grbl学习之旅---serial篇

    serial c和serial h文件是实现了通过串行端口发送和接受字节的功能 首先是serial h中定义了基本函数和常量大小 xff1a ifndef RX BUFFER SIZE define RX BUFFER SIZE 128 定
  • ip rule,ip route,iptables 三者之间的关系

    以一例子来说明 xff1a 公司内网要求192 168 0 100 以内的使用 10 0 0 1 网关上网 xff08 电信 xff09 xff0c 其他IP使用 20 0 0 1 xff08 网通 xff09 上网 首先要在网关服务器上添
  • 什么是Zero-copy零拷贝

    考虑这样 种常 的情形 xff1a 你需要将静态内容 xff08 类似图 件 xff09 展 给 户 那么这个情形就意味着你需要先将静态内容从磁盘中拷贝出来放到 个内存buf中 xff0c 然后将这个buf通过socket传输给 户 xff
  • 图解协程原理

    前言 协程 Coroutines xff0c 是 Kotlin 最神奇 的特性 xff0c 没有之一 本文会以图解 43 动画的形式解释 Kotlin 协程的原理 看完本文后 xff0c 你会发现 xff0c 原来协程也没有那么难 本文要求
  • ubuntu 16.04下安裝和配置ros

    書上和網上關於ubuntu下安裝ros的文章很多 xff0c 但是很多介紹的不完整 xff0c 並且ubuntu和ros之間其實是有版本對應關系的 xff0c 並不是所有的ros都能安裝到所有的ubuntu上 xff0c xff08 很多書
  • Ubuntu 16.04安装docker详细步骤

    因需要安装opendronemap 而这个依赖于docker 所以记录了一下安装docker的步骤 比较简单 通过apt的docker官方源安装最新的Docker CE Community Edition xff0c 即Docker社区版
  • 在本地shell脚本中ssh到远程服务器并执行命令

    shell远程执行 xff1a 经常需要远程到其他节点上执行一些shell命令 xff0c 如果分别ssh到每台主机上再去执行很麻烦 xff0c 因此能有个集中管理的方式就好了 一下介绍两种shell命令远程执行的方法 前提条件 xff1a
  • Catkin_make执行过程

    这是一个比较复杂的问题 xff0c 但是有时候会有莫名其妙的编译错误 xff0c 在找错误的过程中会非常需要了解这个过程 1 模板文件 首先说一下 in文件 在catkin的目录中有许多 in文件 这些都是模板文件 xff0c 以 opt
  • Docker用yum安装步骤

    Docker用yum安装步骤 一 安装docker xff08 完整版 xff09 1 Docker 要求 CentOS 系统的内核版本高于 3 10 uname r 2 使用 root 权限登录 Centos 确保 yum 包更新到最新
  • 1024,如果全世界程序员都消失了,会怎样?

    这两天 xff0c 有一个话题引起了程序员的广泛讨论 xff1a 年薪80W程序员相亲被鄙视 某知名互联网社区 xff0c 一网友发帖 xff0c 自己年薪80W去相亲 xff0c 竟然被鄙视不如在二本学校教书的大学老师 估计令他没想到的是
  • 非线性控制1.1——稳定与跟踪问题概念

    一 非线性控制系统的两大任务 1 稳定 xff08 或称调节 xff09 问题 稳定问题是要使得闭环系统的状态稳定在一个平衡点附近 对于稳定问题 xff0c 系统的输出不一定要有具体的物理意义 xff0c 此时可以借助输入 输出状态线性化方