现代控制理论

B站学习视频https://space.bilibili.com/230105574/channel/seriesdetail?sid=1569601

一.引入状态-空间表达

(本质上是使用一组向量的线性组合来表示整个系统任意物理量,也就是一个特征分解的过程)

现代控制理论的基础是 状态-空间表达方式,还是用经典控制理论里的弹簧系统

在经典控制理论中会用到拉普拉斯变换来对上式进行转换,以找到这个系统的传递函数,而在现代控制理论中会找新的表达方式——状态-空间,这里可以理解成一种包含输入、输出和系统变量的集合,把这个集合用一阶微分方程的方式进行表达

就比如上面的m\ddot{x}+B\dot{x}+kx=f(t)就要选择合适的状态变量消除高阶项,例如z_{1}=x,z_{2}=\dot{x}\Rightarrow \dot{z_{1}}=\dot{x}=z_{2}, \dot{z_{2}}=\ddot{x}=\frac{f(t)-kx-B\dot{x}}{m}

(其实就是多用一个变量表示一阶项)

然后用矩阵的形式表示上述的\dot{z_{1}}\: and\: \dot{z_{2}},u(t)是输入,y=x是输出,只不过所有的东西都表示成\dot{z_{1}}\: \dot{z_{2}}\: and\: u(t)的关系——

\begin{bmatrix} \dot{z_{1}}\\ \dot{z_{2}}\end{bmatrix}=\begin{bmatrix} 0 &1 \\ -\frac{k}{m} & -\frac{B}{m} \end{bmatrix}\begin{bmatrix} z_{1}\\ z_{2}\end{bmatrix}+\begin{bmatrix} 0\\ \frac{1}{m}\end{bmatrix}\begin{bmatrix} u(t) \end{bmatrix}

\begin{bmatrix} y\end{bmatrix}=\begin{bmatrix} 1 &0 \end{bmatrix}\begin{bmatrix} z_{1}\\ z_{2}\end{bmatrix}+\begin{bmatrix} 0\end{bmatrix}\begin{bmatrix} u(t) \end{bmatrix}

 因此在现代控制理论中,特征值和系统的稳定性是会有一定关系的

二.状态-空间方程求解方法

例1:\dot{x}(t)=ax(t)

sX(s)-x(0)=aX(s)\Rightarrow X(s)=\frac{x(0)}{s-a}\Rightarrow x(t)=x(0)e^{at}

当出现多个状态变量时,有如下两种情况(无耦合和有耦合):

例2:\begin{cases} \dot{x_{1}}(t)=ax_{1}(t)\\ \dot{x_{2}}(t)=bx_{2}(t) \end{cases}\Rightarrow \left\{\begin{matrix} x_{1}(t)=x_{1}(0)e^{at}\\ x_{2}(t)=x_{2}(0)e^{bt} \end{matrix}\right.              例3:\begin{cases} \dot{x_{1}}(t)=ax_{1}(t)+bx_{2}(t)\\ \dot{x_{2}}(t)=cx_{1}(t)+dx_{2}(t) \end{cases}

如果表述为矩阵的形式即为\frac{\mathrm{d} }{\mathrm{d} t}\begin{bmatrix} x_{1}\\ x_{2} \end{bmatrix}=A\begin{bmatrix} x_{1}\\ x_{2} \end{bmatrix}\Rightarrow \frac{\mathrm{d} }{\mathrm{d} t}\vec{x}=A\vec{x}\frac{\mathrm{d} }{\mathrm{d} t}\vec{x}=A\vec{x}就是状态空间方程

例2是无耦合的形式,A=\begin{bmatrix} 1 & 0\\ 0& -2 \end{bmatrix}

例3是耦合的形式,\dot{x}_{1}(t)\: and\: \dot{x}_{2}(t)这两个变化率不仅仅和自身状态相关的,A=\begin{bmatrix} 1 & 1\\ 4& -2 \end{bmatrix}

这两个例子的求解都期望得到一个和例1一样的形式,即\vec{x(t)}=e^{At}\vec{x(0)}

\vec{x(t)}表示x_{1}(t)x_{2}(t)...x_{n}(t)

通过泰勒级数和矩阵分解可以得到e^{At}=Pe^{\Lambda t}P^{-1}(具体怎么求可以看学习视频,链接在文章置顶),\Lambda是A的特质值,P是特征值对应的特征向量,有了这些铺垫就可以开始求解:

回到上一部分得到的一般状态方程

 三.相图和相轨迹

其实就是表示\dot{x}x的关系,注意\dot{x}\dot{x(t)}这个形式,它本身是一个函数,而x是一个变量,描述的是变量和对应函数导数的关系

 这里 画的是不同状态变量共同变化的线

对于一般形式来说:

 我的理解:将x表示为pyp是坐标变换矩阵,y是对应x的新的状态变量,并且y是对角阵,即这一步的作用可以理解为“解耦”,解耦后\dot{y}y之间的关系按照上面的公式就是A的特征值(所以最后转回去的x中状态变量的变化图就是和A的特征值有关系),最后得出y中状态变量的变化图,再通过坐标变换矩阵转回去就是x中状态变量的变化图

再举个例子,同样按照上面的计算步骤,现有状态空间方程,然后写出A矩阵,对A矩阵求特征值和特征向量,再根据特征值写出\dot{y}y之间的关系,由p将y转回x,最后得到x中状态变量共同构建的关系,这里得到的是一个椭圆表示:

 这个例子主要是想说明特征值为仅有一个虚部的复数时,那么它的相图是椭圆,至于椭圆的方向可以举个x的例子算一个点判断

再举一个例子:

这个例子主要是想说明特征值为有实部虚部的复数,就像上面计算的y=e^{t}e^{2it}e^{2it}就决定了相图是循环往复转(情况和特征值为纯虚数的情况一样,而纯虚数就没有额外增益,就是在一个固定的椭圆上转),加上e^{t}后就是不会转到以前的位置,会越转越大/小,方向可以举个x的例子算一个点判断

(类似经典控制理论的极点,特征值的虚部为系统带来振荡,系统稳定就要特征值的实部小于0)

四.连续系统离散化

1.主要是计算机控制没有“时间”(数字控制器),因此需要将数据采样离散化

2.这里要关注的是采样周期的选择,当选择的采样周期较小时就会产生大量的数据,当选择的采样周期较大时就会使信号混叠,最终无法还原原信号(这些不懂的可以看数字信息处理的采样),理论上采样频率至少要达到原信号最高频率的两倍,但在实际中这只是一个下限,实际要选取达到五倍-10倍的来作为采样频率。

3.对于数字控制器而言,它产生的控制量也是离散的,这里就要引入零阶保持器产生一个小段的恒定信号,如下图中原来只有黑线,但是为了使控制信号连续,就补充蓝线(零阶保持器的作用)

 4.在实时控制中,一般使用时间中断来获取新信息,在中断之后会读取信息并进行计算,再输出控制量,并且从读取、计算到输出的时间必须在一个采样周期内完成(理所应当的,不然下一次采样得到数据,这边还没处理完不搞笑吗?)

对于现在的混合系统(连续离散都有)的控制器设计中,会将连续的系统转为离散系统,直接使用离散系统进行分析,根据这个设定算法再运用到混合系统当中

例如之前推导的\dot{\vec{x(t)}}=A\vec{x(t)}+B\vec{u(t)},解为\vec{x(t)}=e^{A(t-t_{0})}\vec{x(t_{0})}+\int_{t_{0}}^{t}e^{A(t-\tau )}Bu(\tau )d\tau

使用到零阶保持器后\vec{u(t)}=\vec{u(kT)},kT\leqslant t\leqslant (k+1)T,其实就是上图的补蓝线 

再当前的状态作为初始状态,则\vec{x(t_{k+1})}=e^{A(t_{k+1}-t_{k})}\vec{x(tk)}+\int_{t_{k}}^{t_{k+1}}e^{A(t_{k+1}-\tau )}Bu(\tau )d\tau

t_{k} \to t_{k+1}的时间内,由于使用了零阶保持器,那在这个时间段里面输入就是常数,并且数字控制器并不关系具体的时间,只关心当前的状态,因此有t_{k}\Rightarrow k\: \: ,t_{k+1}-t_{k}\Rightarrow T

五. 系统的可控性

 Co矩阵满秩则系统可控

可控性是点对点的可控呢?还是轨迹可控呢?

 其实从上面的相图就可以知道,蓝线是不可能的,因为蓝线表现速度一直为正数,那就不可能会反向移动到点x_{t},黑色的线才是合理的,因此可控性是点到点的可控,轨迹不一定是预期希望的轨迹【当然这也是理论上的可控,实际情况需要具体分析】

六.稳定性(李雅普诺夫意义下的稳定、渐进稳定)

初始状态以平衡状态x_{e}为球心

 蓝线表示李雅普诺夫稳定,只要x(t)一开始在以\delta为半径的圆以内,随着时间的增加,其最后的落点都会在限制在以\varepsilon为半径的圆内;李雅普诺夫稳定对应特征值只有非正实部的情况

棕线表示渐进稳定,只要x(t)一开始在以\delta为半径的圆以内,随着时间的增加,其最后的落点会回到平衡状态(原点);渐进稳定对应特征值只有负实部的情况

注:经典控制理论的稳定性是渐进稳定性(收敛到0)

(后面暂时不看,先看非线性了...)

非线性理论基础

补充:

1.李雅普诺夫稳定性

李雅普诺夫关于稳定性的研究均针对平衡状态,平衡状态是对所有的t满足\dot{x_{e}}=f(x_{e},t)=0,当然如果是时不变的就是f(x_{e})

李雅普诺夫第一法是求出线性化以后的常微分方程的解,从而分析系统稳定性;

李雅普诺夫第二法是不需要求解微分方程,常用于非线性、时变、MIMO系统,是一种基于广义能量函数V及其随时间变化函数\dot{V}的特性来研究系统稳定性

2.平衡状态

一般系统状态方程为\dot{x}=f(x,t),其初始状态为x(t_{0}),系统的状态轨线x(t)是随着时间而变化的,当且仅当x\rightarrow x_{e}时称x_{e}为系统平衡点,如果x_{e}不在坐标原点,可以通过非奇异线性变换使x_{e}=0,因此平衡状态的稳定性问题都可以归结为原点的稳定问题

3.三种稳定

李雅普诺夫意义下的稳定(参考上面的“六.稳定性”:初始状态限制在小圈,最终状态只在大圈内)

渐进稳定(参考“六.稳定性”:初始状态限制在小圈,在大圈内移动,最终收敛到稳定状态(原点))

大范围渐进稳定:即整个状态空间任取一点,最终收敛到稳定状态

一.李雅普诺夫直接方法

用李雅普诺夫第二法来分析平衡点是否稳定

前提条件:系统状态方程为\dot{x}=f(x,t),其平衡状态满足\dot{x}=f(x,t),原点为平衡状态,在原点的邻域存在关于状态的标量函数V(x,t),且V(x,t)具有一阶偏导

注意 稳定 和 渐进稳定 是不同的

定理一:V(x,t)正定,\dot{V}(x,t)负定,则原点为渐进稳定;

定理二:V(x,t)正定,\dot{V}(x,t)半负定,\dot{V}(x,t)x\neq 0时恒不为0,则原点为渐进稳定(如果只有前两个条件就是稳定)

定理三:V(x,t)正定,\dot{V}(x,t)半负定,\dot{V}(x[t;x_{0},t_{0}],t)x\neq 0时恒为0(导数在非平衡点外全为0),则原点为李雅普诺夫意义下的稳定

 我的理解是稳定只需要有包含某些点使\dot{V}为0的一整条轨迹就行,而渐进稳定则要求这条轨迹必须只能在(0,0)点使\dot{V}为0

二.非线性系统的稳定性设计

 对于上述的\dot{V},显然x^{3}不是负定项,-x^{4}是负定项,那么u的设计就是要消除非负定项

u_{1}是直接针对\dot{x}进行消除的,而u_{2}.u_{3}是针对设定的李雅普诺夫函数的导数\dot{V}来进行消除的

仿真结果通过simulink得到,可以看到包含高阶项u_{1}所所需要的初始状态x输入比另外两种u的初始状态x输入高,因此需要尽量避免高阶项;而从u_{2}.u_{3}两种情况下的u_{2}的收敛速度更快,从下列求解出来的x(t)也可以很清楚的看到,-x的引入带来了指数的衰减项,而没有-x的就是线性衰减

反步法(重要!)

第一次尝试自己推导理解(不一定对)

第二次尝试自己推导理解 

 三.自适应控制(系统参数变化慢)

 再引用前面的弹簧例题,若\alpha是要估计的

 

  四.滑模控制(  f(x)有界  )

 u里面的\rho就是f(x)的边界

 

 五.高增益控制和高频控制(  f(x)有界  )

滑模控制由于\frac{e}{|e|}会使得u一直是上下跳变的形式,这对执行器而言是非常高的要求

 对于高增益的理念就是用足够大的输入去抵消不确定性,高频率就是类似滑模那种跳变,只不过将跳变的范围缩小,即往内收

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜以冀北

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值