自适应控制基本思想

自适应控制

  1. 自适应控制所讨论的对象,一般是指对象的结构已知,仅仅是参数未知,而且采用的控制方法仍是基于数学模型的方法
  2. 但实践中我们还会遇到结构和参数都未知的对象,比如一些运行机理特别复杂,目前尚未被人们充分理解的对象,不可能建立有效的数学模型,因而无法沿用基于数学模型的方法解决其控制问题,这时需要借助人工智能学科,也就是智能控制
  3. 自适应控制与常规的控制与最优控制一样,是一种基于数学模型的控制方法
  4. 自适应控制所依据的关于模型的和扰动的先验知识比较少,需要在系统的运行过程中不断提取有关模型的信息,使模型愈来愈准确
  5. 常规的反馈控制具有一定的鲁棒性,但是由于控制器参数是固定的,当不确定性很大时,系统的性能会大幅下降,甚至失稳

设计思路

问题的提出

对于一个非线性系统

x ˙ = − a x 2 + u \dot{x} =-ax^{2}+u x˙=ax2+u
a a a是未知参数, u u u是控制输入

要求设计一个合理的控制信号 u u u,使得系统状态 x ( t ) x( t) x(t)跟踪上期望信号 x d ( t ) x_{d}( t) xd(t),假设 x d ( t ) x_{d}( t) xd(t)是解析并有界的,且其微分 x ˙ d ( t ) \dot{x}_{d}( t) x˙d(t)也是连续且有界的,这个假设在实际中可以满足,因为跟踪信号往往是认为设计的


解决思路

对于现代控制理论,正如前面所述,设计控制信号实际上是设计误差动力学系统,因此,设误差信号 e ( t ) = x ( t ) − x d ( t ) e( t) =x( t) -x_{d}( t) e(t)=x(t)xd(t),则误差的动力学系统方程为

e ˙ ( t ) = − a x 2 ( t ) + u − x ˙ d ( t ) \dot{e}( t) =-ax^{2}( t) +u-\dot{x}_{d}( t) e˙(t)=ax2(t)+ux˙d(t) ----------- (1)

由于原系统是满足matching条件的,即控制信号和未知参数处于一个方程中,那么根据等价确定性原则(certainty equivalence, CE)设计控制器

u = a ^ x 2 + x ˙ d − K e u=\hat{a} x^{2} +\dot{x}_{d} -Ke u=a^x2+x˙dKe ----------- (2)
a ^ \hat{a} a^是参数 a a a的估计值
K > 0 K>0 K>0是控制器参数

接下来需要设计估计参数 a ^ \hat{a} a^的更新律,这里采用结合Lyapunov稳定性进行设计
假设 a ~ = a ^ − a \tilde{a} =\hat{a} -a a~=a^a,将控制 u u u代入(1),则(1)可以写成

e ˙ ( t ) = a ~ x 2 ( t ) − K e ( t ) \dot{e}( t) =\tilde{a} x^{2}( t) -Ke( t) e˙(t)=a~x2(t)Ke(t) ----------- (3)

定义Lyapunov函数

V ( e , a ~ ) = 1 2 e 2 + 1 2 η a ~ 2 V\left( e,\tilde{a}\right) =\dfrac{1}{2} e^{2} +\dfrac{1}{2\eta }\tilde{a}^{2} V(e,a~)=21e2+2η1a~2 ----------- (4)

求导,得

V ˙ ( e , a ~ ) = e e ˙ + 1 η a ~ ⋅ a ~ ˙ = e e ˙ + 1 η a ~ ⋅ a ^ ˙ \dot{V}\left( e,\tilde{a}\right) =e\dot{e} +\dfrac{1}{\eta }\tilde{a} \cdot \dot{\tilde{a}} =e\dot{e} +\dfrac{1}{\eta }\tilde{a} \cdot \dot{\hat{a}} V˙(e,a~)=ee˙+η1a~a~˙=ee˙+η1a~a^˙
            = e ( a ~ x 2 − K e ) + 1 η a ~ ⋅ a ^ ˙ = − K e 2 + a ~ ( e x 2 + 1 η a ^ ˙ ) \ \ \ \ \ \ \ \ \ \ \ =e\left(\tilde{a} x^{2} -Ke\right) +\dfrac{1}{\eta }\tilde{a} \cdot \dot{\hat{a}} =-Ke^{2} +\tilde{a}\left( ex^{2} +\dfrac{1}{\eta }\dot{\hat{a}}\right)            =e(a~x2Ke)+η1a~a^˙=Ke2+a~(ex2+η1a^˙)

为了达到系统的稳定,则要使得 V ˙ ≤ 0 \dot{V}\leq 0 V˙0,因此,设计 a ^ \hat{a} a^的更新律为

a ^ ˙ = − η ⋅ e ⋅ x 2 \dot{\hat{a}} =-\eta \cdot e\cdot x^{2} a^˙=ηex2 ----------- (5)

代入,得到

V ˙ ( e , a ~ ) ≤ 0 \dot{V}\left( e,\tilde{a}\right) \leq 0 V˙(e,a~)0 ----------- (6)

由(4),(6)的positive definite特性可以确定(4)是一个合理的Lyapunov函数,由(6)可知(4)有界,即 e e e a ~ \tilde{a} a~也有界,且 e e e平方可积。根据期望信号 x d x_{d} xd的假设,以及参数误差和跟踪误差的定义可知, x x x a ^ \hat{a} a^也是有界的,因此由(2)得到的控制 u u u也是有界的,且由(1)得到 e ˙ ( t ) \dot{e}( t) e˙(t)也有界。
由Barbalat’s Lemma可得 e ˙ ( t ) \dot{e}( t) e˙(t)uniformly continuous且

lim ⁡ t → ∞ e ( t ) = 0 \lim _{t\rightarrow \infty } e( t) =0 limte(t)=0

由此可以得到系统渐进稳定,但是我们此时只是得到了系统的跟踪误差渐进收敛到0,但是参数的估计误差并没有收敛到0,因为我们设计参数的更新律时,是从系统的角度来设计的。

综合,整体思路为,先求出对期望信号 x d ( t ) x_{d}( t) xd(t)跟踪误差的误差动态方程;根据等价确定性原则(certainty equivalence, CE)设计控制器 u ( t ) u(t) u(t),包含耦合抵消项和线性负反馈项两项组成,其中的未知参数用其参数估计值代替;然后设计Lyapunov函数,求导得出参数估计更新律;最后在保证Lyapunov函数导数非正的情况下,根据Barbalat引理得出跟踪误差渐近收敛得结论


存在的问题

参数估计的更新律中,并没有包含参数估计误差的负反馈,而是与跟踪误差直接耦合在一起 a ^ ˙ = − η ⋅ e ⋅ x 2 \dot{\hat{a}} =-\eta \cdot e\cdot x^{2} a^˙=ηex2,结果导致跟踪误差影响参数估计的过程,而参数估计在控制器中直接影响跟踪误差,两者的直接耦合造成了系统闭环性能的下降


改进

解决办法就是浸入与不变(Immersion and Invariance, I&I)理论。通过引入关于状态的修正项,从而间接将未知参数引入到参数估计动态当中

这里写图片描述

我们需要人为设计估计误差的动态特性,此时 u u u是已知量,对于这个问题不同于控制系统的设计在于,我们并不知道 z z z的具体值,因为我们队最终参数 θ \theta θ是未知的,所以我们只能利用已经存在的动态结构,最大可能的构造利于证明收敛的自适应律,也就是 θ ^ ˙ \dot{\hat{\theta }} θ^˙,相当于控制系统设计中的 u u u
对于, z ˙ = − ∂ β ∂ x ⋅ x 2 ⋅ z \dot{z} =-\dfrac{\partial \beta }{\partial x} \cdot x^{2} \cdot z z˙=xβx2z,我们需要构造Lyapunov函数,设计 β ( x ) \beta ( x) β(x),从而证明了参数收敛的稳定性。


总结

两种设计方法只不过是将自适应律的设计问题的转化了而已,原先的自适应律的设计是直接根据整个系统的Lyapunov进行设计,改进的方法是建立参数的动态模型,并根据此系统的Lyapunov进行设计

  • 80
    点赞
  • 460
    收藏
    觉得还不错? 一键收藏
  • 25
    评论
### 回答1: matlab模糊自适应控制是一种基于模糊逻辑和自适应控制理论的控制方法。该方法是为了应对系统模型复杂或者无法准确建模的情况下,实现稳定控制和性能优化的一种有效手段。 matlab模糊自适应控制的核心思想是通过模糊逻辑推理和自适应学习来实现系统的控制。在模糊逻辑推理中,通过模糊集合和模糊规则表达系统状态与控制输入之间的关系,将模糊规则与系统的状态进行匹配计算,从而得到相应的控制输入。 在自适应学习中,系统会根据实时的系统状态和控制输入信息对模糊规则进行更新和调整,以不断优化控制性能和适应系统非线性和时变特性的变化。通过这种方式,matlab模糊自适应控制可以实现系统的稳定和性能的优化。 在使用matlab进行模糊自适应控制时,首先需要建立系统的模糊逻辑模型,包括模糊规则表达和模糊集合的定义。然后,通过实时采集系统状态和控制输入的数据,利用自适应学习算法对模糊规则进行更新和调整。最后,根据模糊推理的结果计算出相应的控制输入,并应用于系统中。 matlab模糊自适应控制具有一定的优势和应用价值。它适用于各种非线性、时变和复杂的控制系统,可以提供较好的控制性能和系统稳定性。在工业控制、自动化控制以及机器人等领域有广泛的应用。同时,matlab提供了丰富的模糊工具箱和自适应控制算法,可以方便地进行系统建模和控制设计。 综上所述,matlab模糊自适应控制是一种基于模糊逻辑和自适应学习的控制方法,可以应对系统模型复杂或者无法准确建模的情况下,实现稳定控制和性能优化。它在各个领域都有广泛的应用前景。 ### 回答2: 模糊自适应控制是一种利用模糊理论和自适应控制算法相结合的控制方法。MATLAB是一种功能强大的数学计算软件,可以用于模糊自适应控制的设计和仿真。 模糊自适应控制通过根据当前系统的状态(输入和输出)来自动调整控制器的参数,以实现对系统的最优控制。它的基本思想是将系统的模糊控制器与自适应控制算法相结合,使控制器能够根据系统的变化自动调整。 在MATLAB中,我们可以使用fuzzy工具箱来设计模糊控制器。首先,我们需要确定系统的输入和输出变量,并定义它们的模糊集合。然后,根据系统的行为和控制目标,设计模糊规则库。接下来,我们可以使用fuzzy工具箱的建模和仿真功能,通过输入输出数据来训练模糊控制器,并不断优化模糊规则库的参数。最后,我们可以将训练后的模糊控制器应用于实际的控制系统中,实现对系统的自适应控制。 通过MATLAB模糊自适应控制的设计和仿真,我们可以有效解决一些复杂的控制问题。例如,在工业过程控制中,传感器和执行器的动态性能常常会发生变化,模糊自适应控制可以根据实时的系统状态来自动调整控制器参数,保证系统的稳定性和性能;在机器人控制中,模糊自适应控制可以根据不同的工作环境和任务条件,自动调整机器人的运动规划和轨迹跟踪。 综上所述,MATLAB模糊自适应控制是一种强大的控制方法,可以应用于复杂的控制问题中。它利用了模糊理论和自适应控制算法的优势,使控制器能够根据系统的实时变化自动调整,从而实现系统的最优控制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值