经典滑模控制趋近律收敛性的理解
经典滑模控制趋近律收敛性的理解 本文部分参考AI内容,仅作为个人理解使用,严谨分析请查阅相关文献 在经典的滑模控制中,考虑问题 $$ \ddot{e}(t)=u(t)+\delta(t) $$ 其中,$e(t)$为系统的误差, $u(t)$为控制输入, $\delta(t)$为系统的有界扰动,定义$\bar{\delta}=\sup_t\|\delta(t)\|$,这里$\sup$表示上确界,即扰动的范数(此处为标量系统即为绝对值)的最大值。 滑模控制的核心思想之一是降阶,将原来的一个二阶系统转换为两个一阶子系统(分别对应两个阶段)。 经典的滑模控制中,首先设计一个滑模面$s(t)=\dot{e}(t)+a e(t)$, 其中$a>0$。 所设计的控制律为: $$ u(t)-k\operatorname{sgn}(s)-a \dot{e}(t) $$ 从系统的轨线的角度,如下图,整个闭环系统的过程可以分为两个阶段: 趋近阶段:首先在有限时间上收敛到所设计的滑模上,其动态为公式(eq 1),包含扰动 滑动阶段:再在滑模面上收敛到期望的平衡点,其动态为$\dot{e}=-a e(t)$,不含扰动。 $$ \dot{s}=-k\operatorname{sgn}(s)+\delta(t) \tag{eq 1} $$ 针对这两个阶段有这些值得关注的: 趋近律中的$\operatorname{sgn}(e)$函数,在标量的情况(本文)通常选取符号函数,在多维向量的情况有两种表达,一种是逐元素的定义,一种为基于范数的定义,如果使用的是二范数,那么表示向量的单位向量。由于符号函数是非连续函数,系统会有震颤chattering的问题,于是有了减少和抑制震颤的一些方案: 减少震颤:通常为用连续的函数替代sign,这样会牺牲收敛精度,一般称作边界层法(boundary layer),即不再收敛到滑模面$s=0$而是收敛到这个滑模面的一定距离的边界内; 抑制震颤:主流为使用高阶滑模,这样会牺牲部分抗扰的能力。如使用二阶滑模算法,通常只能抵抗导数有界的扰动。 这里的滑动阶段使用的是线性滑模,所以系统状态渐进收敛,如果需要有限时间收敛,可以使用终端滑模$s=\dot{e}+|e|^{\alpha}\operatorname{sgn}(e)$, $0<\alpha<1$。但是终端滑模会有歧义的问题,改进方案有非奇异终端滑模。 图片中这是经典的相轨迹图,在横轴上方$\dot{e}(t)>0$,$e(t)$增加,系统状态向右变化,反之,在横轴下方$\dot{e}(t)<0$,$e(t)$减少,系统状态向左变化,系统总体有一个顺时针变化的趋势。线性滑模的线性在图中体现为$s=\dot{e}(t)+a e(t)$为一条直线,斜率$-a$为负,保证系统稳定。在直线上方满足$s>0$在直线下方满足$s<0$. 到达阶段的系统其实就是一个线性系统,不存在扰动了,现代控制理论或者经典控制理论都可以很容易地分析。 但是趋近阶段有sign函数和扰动函数,这是一个时变非连续系统,系统不能再经典意义下理解。 常见的趋近阶段分析方法 一般网上的教程分析趋近阶段都是采用这样一个Lyapunov函数: $$ V=\frac12 \|s\|^2 $$ 对这样的函数求导可得: $$ \begin{aligned} \dot{V} &=s\dot{s}=s\left(-k\operatorname{sgn}(s)+\delta(t)\right)\\ &=-k\|s\|+s\delta \leq -k\|s\|+\|s\| \|\delta\|\\ &\leq -(k-\bar{\delta})\|s\| \end{aligned} $$ 这里使用了条件$\sup_t\|\delta(t)\|< \bar{\delta}$. 于是我们应用Lyapunov 定理得到$s\to 0$. ...
控制系统中的分离原理
控制理论中的分离原理 (一)线性系统状态空间模型下的分离 系统模型 考虑一个线性时不变系统,其状态空间方程通常表示为: $\dot{x}=Ax + Bu$(连续时间系统状态方程,其中$x$是状态向量,$A$是系统矩阵,$B$是输入矩阵,$u$是输入向量) $y = Cx+Du$(系统输出方程,$C$是输出矩阵,$D$是前馈矩阵) 观测器设计与分离 当系统状态$x$不能全部直接测量时,需要设计观测器来估计状态。全阶观测器的方程为: $\dot{\hat{x}}=A\hat{x}+Bu + L(y - C\hat{x})$(其中$\hat{x}$是估计的状态向量,$L$是观测器增益矩阵) 定义状态估计误差$e=x - \hat{x}$,对其求导可得: $\dot{e}=\dot{x}-\dot{\hat{x}}=(Ax + Bu)-(A\hat{x}+Bu + L(y - C\hat{x}))$ 因为$y = Cx+Du$,代入上式化简得: $\dot{e}=(A - LC)e$ 这里通过定义误差将系统真实状态和估计状态分离开来。通过选择合适的观测器增益$L$,可以使误差系统渐近稳定,即$\lim_{t\rightarrow\infty}e(t) = 0$。这样就实现了在状态估计过程中,将状态估计问题和系统状态本身的动态特性分离开来进行分析。 (二)使用高增益观测器的非线性系统的分离原理 以下为Nonlinear Systems 第14.5.2节呈现的高增益观测器。 假设$\dot\chi = f(\chi)$的原点是渐近稳定的,并且$\mathcal{R}$是它的吸引域。 令$\mathcal{S}$为$\mathcal{R}$内部的任意紧集,且令$\mathcal{Q}$为$\mathbb{R}^\rho$的任意紧子集。 那么,给定任意的$\mu > 0$,存在依赖于$\mu$的$\varepsilon^* > 0$以及$T^* > 0$,使得对于每一个满足$0 < \varepsilon \leq \varepsilon^*$的$\varepsilon$,闭环系统以$\mathcal{S} \times \mathcal{Q}$内为起始点的解$(\chi(t), \hat{x}(t))$对于所有$t \geq 0$都是有界的,并且满足 $$ \|\chi(t)\| \leq \mu \text{ 且 } \|\hat{x}(t)\| \leq \mu, \quad \forall t \geq T^* $$$$ \|\chi(t) - \chi_r(t)\| \leq \mu, \forall t \geq 0 $$ 其中$\chi_r$是从$\chi(0)$出发的$\dot\chi = f(\chi)$的解。 ...
非连续动态系统分析——绝对连续的Caratheodory解和Filippov解
前文已经说明了在考虑非连续的向量场的时候,classical解具有非常大的局限性。 为了处理微分方程的不连续部分, 我们首先放宽解必须始终沿着向量场方向的要求。 数学中对应的就是绝对连续的Caratheodory解。 Caratheodory解不足以保证解的存在性。 由于向量场的非连续性, 他的值在任意靠近一个点的时候可能表现出显著的振荡。 这种不匹配可能导致无法构造一个Caratheodory解。 Filippov解的思路是不再只考虑向量场上的各个点, 而是考虑向量场上各个点邻域。 Caratheodory解 数学定义 考虑微分方程: $$ \dot{x}(t)=X(x(t)),\quad x(0)=x_0. \tag{10} $$微分方程(10) 的定义在$[0,t_1]\subset \mathbb{R}$的Caratheodory解是一个绝对连续映射。 该映射在几乎(almost)所有时间$t\in [0,t_1]$上满足微分方程(10)。 这里说的“几乎”是在Lebesgue测度的意义上的。 也就是说,Caratheodory解只在Lebesgue测度为0的时刻集合上没有沿着向量场的方向。 也可以等价地说,Caratheodory解是满足微分方程(10)的Lebesgue积分形式(16)的绝对连续解。 $$ x(t)=x(t_0)+\int_{t_0}^t X(x(s)) ds,\quad t>t_0 \tag{16} $$当然,所有的classical解都是Caratheodory解。 Example 9: 具有Caratheodory解,但是没有classical 解的系统 $$ X(x)=\begin{cases} 1, & x>0,\\ \frac{1}{2}, & x=0,\\ -1, & x<0\\ \end{cases} $$ 该系统由两个从$x(0)=0$出发的Caratheodory解,分别是 $x_1(t)=t,t\in [0,\infty)$和$x_1(t)=-t,t\in [0,\infty)$。 这两个解在$t=0$时,都不满足向量场,也就是 $\dot{x}_1(0) \neq X(x_1(0))$ 和 $\dot{x}_2(0) \neq X(x_2(0))$ 。 然而,可以找到很多不接受Caratheodory解的系统,这其中一些可以用Filippov解理解。 Example 9: 不具有Caratheodory解的系统 ...
非连续动态系统分析——连续性定义与连续可微的classical解
非线性动态系统理论是滑模控制的重要理论基础,也是我学习滑模的最大障碍。 我决定花一些时间从工科本科数学知识出发整理非线性动态系统中的一些概念。 这篇笔记主要回顾连续性的定义,同时介绍传统的连续可微的classical解在应对非连续系统时存在性与唯一性的缺陷。 前言 最近在看滑模控制的文章,其中对于非连续系统的论述多有不解,比如如下Filippov微分包含到底是什么, 结合一下材料,打算整理一下所学内容 定义 2.2 A $\dot{x}\in F(x), x\in R^n$, is called a Filippov differential inclusion 当一个向量场(vector-set field)$F(x)$具有如下性质的时候, 称一个微分包含(differential inclusion) noempty 非空, closed+locally bounded=compact 紧集(有界闭集), convex 图集, and the set-value map $F$ is upper-semi-continuous(the maximal distance of the point of $F(x)$ and $F(y)$vanishes when $x\to y$).Solutions are defined as absolutely continuous functions of time satisfying the inclusion almost everywhere. Filippov 微分包含的解的所有广为人知的性质(existence,extendability etc)但是不包含唯一性(uniqueness) 知乎讨论:请问filippov解大概是什么意思?是怎么定义的?有什么作用? https://www.zhihu.com/question/55951952 主要是翻译的这个文献:CORTES J. Discontinuous dynamical systems[J/OL]. IEEE Control Systems Magazine, 2008, 28(3): 36-73. DOI:10.1109/MCS.2008.919306. HAN Z, CAI X, HUANG J. Theory of control systems described by differential inclusions[M/OL]. Berlin, Heidelberg: Springer Berlin Heidelberg, 2016[2023-12-17]. http://link.springer.com/10.1007/978-3-662-49245-1. DOI:10.1007/978-3-662-49245-1. 回顾:经典非线性系统解的条件 经典非线性系统的解存在性和唯一性需要微分方程右端Lipschitz连续, 一个使用较多的数学表述是khalil的非线性控制的引理1.3: ...
我的latex工作流
我的latex工作流 继WSL/gWSL技术使得”windows成为最好的Linux发行版“之后, 加上overleaf也是运行在linux里面的, 我发现我们的latex工作流完全可以全部迁移到*nix系统之中了。 这样的好处是我可以统一用linux的一些规范,避免一些不同系统带来的问题。 LATEX安装教程 我遇到过的错误 找不到字体STIX TWO MATH ubuntu里面可以直接用sudo apt install fonts-stix安装stix,但是它和所需的不一样。 stix2字体下载地址: 我用的ttf格式 Linux 安装字体