系列文章目录



前言

模型参考自适应控制模块计算控制动作,使不确定的受控系统跟踪给定参考被控对象模型的行为使用程序块,可以实现以下模型参考自适应控制 (MRAC) 算法

直接和间接 MRAC 还能估算被控系统外部干扰和不确定性模型。然后,控制器计算控制动作使用该模型对干扰和不确定性进行补偿。

在这两种情况下,控制器都会根据跟踪误差实时更新估计参数和干扰模型。


一、参考模型

对于直接和间接 MRAC 而言,以下参考被控对象模型是理想的系统,它描述了您在实践中想要实现的理想行为

x

˙

m

(

t

)

=

A

m

x

m

(

t

)

+

B

m

r

(

t

)

{dot{x}}_{m}(t)=A_{m}x_{m}(t)+B_{m}r(t)

x˙m(t)=Amxm(t)+Bmr(t)
此处

二、扰动与不确定性模型

模型参考自适应控制模块维护受控系统中干扰和模型不确定性内部模型

u

a

d

u_{a d}

uad

u

a

d

=

w

T

ϕ

(

x

)

u_{a d}=w^{T}phi(x)

uad=wTϕ(x)
w 是控制器根据跟踪误差实时更新的自适应控制权向量

定义 ϕ(x),可以使用以下特征定义之一。

三、直接 MRAC

直接 MRAC 控制器的控制结构如下

在这里插入图片描述

控制器计算控制输入 u(t) 的方法如下

u

(

t

)

=

k

x

x

(

t

)

+

k

r

r

(

t

)

u

a

d

u

a

d

=

w

T

ϕ

(

x

)

begin{array}{c}{{u(t)=k_{x}x(t)+k_{r}r(t)-u_{a d}}}\ {{u_{a d}=w^{T}phi(x)}}end{array}

u(t)=kxx(t)+krr(t)uaduad=wTϕ(x)

此处

对于单隐层神经网络

u

a

d

u_{a d}

uad

u

a

d

=

w

T

σ

(

V

T

x

)

u_{a d}=w^{T}sigma(V^{T}x)

uad=wTσ(VTx)
此处

控制器计算受控系统状态与参考模型状态之间的误差 e(t)。然后利用误差实时调整 kx、kr 和 w 的值。

名义模型

受控系统通常具有建模确定性和外部干扰,其标称状态方程如下。控制器在更新控制器参数时,会使用这一预期的标称被控对象行为

x

˙

(

t

)

=

A

x

(

t

)

+

B

(

u

(

t

)

+

f

(

x

)

)

{dot{x}}(t)=A x(t)+B(u(t)+f(x))

x˙(t)=Ax(t)+B(u(t)+f(x))
这里

参数更新

直接 MRAC 控制器使用以下公式更新状态矢量、径向基函数和外部源特征定义的控制器增益和干扰模型权重

k

˙

x

=

Γ

x

x

(

t

)

e

T

(

t

)

P

B

k

˙

r

=

Γ

r

r

(

t

)

e

T

(

t

)

P

B

w

˙

=

Γ

w

ϕ

(

x

)

e

T

(

t

)

P

B

begin{array}{l}{{dot{k}_{x}=Gamma_{x}x(t)e^{T}(t)P B}}\ {{dot{k}_{r}=Gamma_{r}r(t)e^{T}(t)P B}}\ {{dot{w}=Gamma_{w}phi(x)e^{T}(t)P B}}end{array}

k˙x=Γxx(t)eT(t)PBk˙r=Γrr(t)eT(t)PBw˙=Γwϕ(x)eT(t)PB
单隐层干扰模型更新方程使用相同的控制器增益更新和以下更新方程

w

˙

=

(

σ

(

V

T

x

)

σ

(

V

T

x

)

V

T

x

)

e

T

(

t

)

P

B

Γ

w

V

˙

=

Γ

V

x

e

T

(

t

)

P

B

w

T

σ

(

V

T

x

)

begin{array}{l}{{dot{w}=-(sigma(V^{T}x)-{{sigma}}^{prime}(V^{T}x)V^{T}x){{e}}^{T}(t){{P}}{{B}}Gamma_{w}}}\ {{dot{V}=-Gamma{{V}}{{x}}{{e}}^{T}(t){{P}}{{B}}w^{T}{{sigma}}(V^{T}x)}}end{array}

w˙=(σ(VTx)σ(VTx)VTx)eT(t)PBΓwV˙=ΓVxeT(t)PBwTσ(VTx)

Here, P is the solution to the following Lyapunov function based on the reference model state matrix and B is the control effective matrix from the nominal plant model.

A

m

T

P

+

P

A

m

+

Q

=

0

A_{m}^{T}P+P A_{m}+Q=0

AmTP+PAm+Q=0
这里,Q 是大小为 N 乘 N 的正定矩阵,其中 N 是状态向量 x(t) 的大小

间接 MRAC

间接 MRAC 控制器的控制结构如下。参考模型

在这里插入图片描述

控制器计算控制输入 u(t) 的方法如下

u

(

t

)

=

k

x

x

(

t

)

+

k

r

r

(

t

)

u

a

d

u

a

d

=

w

T

ϕ

(

x

)

begin{array}{c}{{u(t)=k_{x}x(t)+k_{r}r(t)-u_{a d}}}\ {{u_{a d}=w^{T}phi(x)}}end{array}

u(t)=kxx(t)+krr(t)uaduad=wTϕ(x)

这里

  • x

    ^

    (

    t

    )

    hat{x}(t)

    x^(t) 是由估计模型产生的受控系统估计状态。

  • r(t) 是外部参考信号。

  • kx 和 kr 分别是反馈前馈控制器增益。

  • u

    a

    d

    u_{a d}

    uad 是根据扰动模型得出的自适应控制分量。

  • ϕ

    (

    x

    )

    phi(x)

    ϕ(x) 包含干扰模型特征。

  • w 是自适应扰动模型权重向量。

控制器计算实际系统状态和估计系统状态之间的误差 e(t)。然后利用误差实时调整 w 的值。控制器还利用 e(t) 实时更新估计模型的参数。增益 kx 和 kr 的值来自估计模型和参考模型的参数。

估计器模型和控制器增益

间接 MRAC 控制器包含以下受控系统的估计模型。

x

^

˙

(

t

)

=

A

^

x

(

t

)

+

B

^

u

(

t

)

dot{hat{x}}(t)=hat{A}x(t)+hat{B}u(t)

x^˙(t)=A^x(t)+B^u(t)
这里

  • x

    ^

    ˙

    (

    t

    )

    dot{hat{x}}(t)

    x^˙(t) 是估计的系统状态。

  • u

    (

    t

    )

    u(t)

    u(t) 是控制输入

  • A

    ^

    hat{A}

    A^ 是估计器的状态转换矩阵

  • B

    ^

    hat{B}

    B^ 是估计器的控制有效矩阵

运行过程中,控制器基于估计误差 e(t)更新

A

^

hat{A}

A^

B

^

hat{B}

B^

间接 MRAC 控制器不直接估算控制器增益,而是采用基于动态反演的方法,从参考模型和估算模型的参数中导出反馈增益

k

x

k_x

kx前馈增益

k

r

k_r

kr,具体如下。

k

r

=

B

m

B

^

k

x

=

1

B

^

(

A

m

A

^

)

begin{array}{c}{{k_r={displaystyledfrac{B_m}{hat{B}}}}}\ {{k_{x}={displaystylefrac{1}{hat{B}}}left(A_m-hat{A}right)}}end{array}

kr=B^Bmkx=B^1(AmA^)
这里

1

B

^

displaystylefrac{1}{hat{B}}

B^1矩阵

B

^

hat{B}

B^ 的 Moore-Penrose 摩尔-彭罗斯伪逆。

参数更新

间接 MRAC 控制器使用以下公式更新状态矢量、径向基函数和外部源特征定义的估计模型参数和干扰模型权重

A

^

˙

=

Γ

a

x

(

t

)

e

T

(

t

)

P

B

^

˙

=

Γ

b

u

(

t

)

e

T

(

t

)

P

w

˙

=

Γ

w

ϕ

(

x

)

e

T

(

t

)

P

B

begin{array}{l}{{dot{hat{A}}=Gamma_{a}x(t)e^{T}(t)P}}\ {{dot{hat{B}}=Gamma_{b u(t)}e^T{(t)P}}}\ {{dot{w}=Gamma_{w}phi(x)e^T{(t)P B}}}end{array}

A^˙=Γax(t)eT(t)PB^˙=Γbu(t)eT(t)Pw˙=Γwϕ(x)eT(t)PB
单隐层干扰模型更新方程使用相同的估计模型参数更新和以下更新方程

w

˙

=

(

σ

(

V

T

x

)

σ

(

V

T

x

)

V

T

x

)

e

T

(

t

)

P

B

Γ

w

V

˙

=

Γ

V

x

e

T

(

t

)

P

B

w

T

σ

(

V

T

x

)

begin{array}{l}{{dot{w}=-(sigma(V^{T}x)-{{sigma}}^{prime}(V^{T}x)V^{T}x){{e}}^{T}(t){{P}}{{B}}Gamma_{w}}}\ {{dot{V}=-Gamma{{V}}{{x}}{{e}}^{T}(t){{P}}{{B}}w^{T}{{sigma}}(V^{T}x)}}end{array}

w˙=(σ(VTx)σ(VTx)VTx)eT(t)PBΓwV˙=ΓVxeT(t)PBwTσ(VTx)
这里,P 是以下 Lyapunov 函数的解。

k

τ

T

P

+

P

k

τ

+

Q

=

0

k_{tau}^{T}P+P k_{tau}+Q=0

kτTP+Pkτ+Q=0

kτ 是估计器反馈增益。默认情况下,该值与参考模型状态转换矩阵 Am 相对应。不过,也可以指定不同的估计器反馈增益值。

学习修正

对于直接和间接 MRAC,为了在更高的学习率下增加稳健性,可以修改参数更新,加入一个可选的动量项。您可以从两种可能的学习修改方法中选择一种:sigma 和 e-modification

对于西格玛修正,每次参数更新的动量项都是动量权重参数 σ 与当前数值乘积例如,以下直接 MRAC 控制器的更新方程包含了 σ 修正项。

k

˙

x

=

Γ

x

x

(

t

)

e

T

(

t

)

P

B

+

σ

k

x

k

˙

r

=

Γ

r

r

(

t

)

e

T

(

t

)

P

B

+

σ

k

x

w

˙

x

=

Γ

w

ϕ

(

t

)

e

T

(

t

)

P

B

+

σ

w

begin{array}{l}{{dot{k}_{x}=Gamma_{x}x(t)e^{T}(t)P B+sigma k_{x}}}\ {{dot{k}_{r}=Gamma_{r}r(t)e^{T}(t)P B+sigma k_{x}}}\ {{dot{w}_{x}=Gamma_{w}phi(t)e^{T}(t)P B+sigma w}}end{array}

k˙x=Γxx(t)eT(t)PB+σkxk˙r=Γrr(t)eT(t)PB+σkxw˙x=Γwϕ(t)eT(t)PB+σw
对于 e-修正,控制器通过误差矢量规范对 sigma-修正动量项进行缩放例如,以下间接 MRAC 控制器的更新方程就包含了一个 e 修正项。

A

^

˙

=

Γ

a

x

(

t

)

e

T

(

t

)

P

+

σ

e

(

t

)

A

^

B

^

˙

=

Γ

b

u

(

t

)

e

T

(

t

)

P

+

σ

e

(

t

)

B

^

w

˙

x

=

Γ

w

ϕ

(

t

)

e

T

(

t

)

P

B

+

σ

e

(

t

)

w

begin{array}{l}{{dot{hat{A}}=Gamma_{a}x(t)e^{T}(t)P+sigma|e(t)|hat{A}}}\ {{dot{hat{B}}=Gamma_{b}u(t)e^{T}(t)P+sigma|e(t)|hat{B}}}\ {{dot{w}_{x}=Gamma_{w}phi(t)e^{T}(t)P B+sigma|e(t)|w}}end{array}

A^˙=Γax(t)eT(t)P+σe(t)A^B^˙=Γbu(t)eT(t)P+σe(t)B^w˙x=Γwϕ(t)eT(t)PB+σe(t)w
要调整这两种方法的学习修正量,可改变动量权重参数 σ 的值。

参考文献

[1] Ioannou, Petros A., and Jing Sun. Robust adaptive control, Courier Corporation, 2012.

[2] Narendra, Kumpati S, and Anuradha M Annaswamy. Stable Adaptive Systems. Courier Corporation, 2012.

[3] Narendra, Kumpati S., and Anuradha M. Annaswamy. “Robust Adaptive Control.” In 1984 American Control Conference, 333–35. San Diego, CA, USA: IEEE, 1984. https://doi.org/10.23919/ACC.1984.4788398

原文地址:https://blog.csdn.net/weixin_46300916/article/details/134743653

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_49304.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注