自适应神经网络控制

自适应神经网络控制

基本思路

自适应控制率 u

u=1b(x)[a(x)+v][1εb(x)+1εb2(x)b(x)˙2b2(x)]es ———— (1)

之所以这么设计的原因,一方面是基于反馈控制的基本思想,设计误差动态系统,另一方面是为了保证系统的稳定性,也就是为了使得基于误差系统的Lyapunov稳定性可以保证

误差 es 动态方程

es˙=a(x)+b(x)u+v+d(t) ———— (2)
v=y(n)d+[0 ΛT]e

利用神经网络 u1(Z) 拟合控制 u

u=u1(Z)1εes ———— (3)

HONN自适应控制

神经网络控制器 u1(Z)

u1(Z)=W^S(Z) ———— (4)

自适应律

W^˙=Γ[S(Z)es+σW^] ———— (5)

拟合误差

u1(Z)=WS(Z)+μl ———— (6)
WS(Z) 表示最优网络
μl 表示拟合误差

推导误差 es 动态方程
1. 将控制(4)代入误差动态方程(2)

es˙=a(x)+b(x)W^S(Z)+v+d(t)

  1. 添加辅助项 b(x)u

    es˙=a(x)+b(x)[W^S(Z)u]+b(x)u+v+d(t) ———— (7)

  2. (6)代入

    es˙=a(x)+v+b(x)[W^S(Z)WS(Z)μl]+b(x)u+d(t)
    由于 W~S(Z)=W^S(Z)WS(Z) ,则
    es˙=a(x)+v+b(x)[W~S(Z)μl]+b(x)u+d(t)
    这里体现出线性神经网络的优点,便于化简

  3. (1)代入

    由于 b(x)u=[a(x)+v]b(x)[1εb(x)+1εb2(x)b(x)˙2b2(x)]es ,则
    es˙=b(x)[W~S(Z)μl]b(x)[1εb(x)+1εb2(x)b(x)˙2b2(x)]es+d(t)
    es˙=b(x)[b(x)˙2b2(x)es1εb(x)es1εb2(x)es+W~S(Z)μl]+d(t) ———— (8)

Lyapunov方程

Vs=12[e2sb(x)+W~TΓ1W~]

稳定性证明

V˙s=ese˙sb(x)b(x)˙2b(x)e2s+W~TΓ1W^˙

(5)(8)代入,得

V˙=es[b(x)˙2b2(x)es1εb(x)esb(x)˙2b(x)e2s+W~S(Z)μl]+esd(t)b(x)e2sb(x)˙2b2(x)+
        W~TΓ1[Γ[S(z)es+σW^]]
V˙=e2s(1εb(x)1εb2(x))esμl+esd(t)b(x)W~TσW^ ———— (9)

补充说明1

Lyapunov稳定性证明可以分为两种思路
第一直接设计的控制率使得 V˙<0
第二构造形如 V˙<V+β(x)

补充说明2

控制率和自适应律的设计也分为两部分
第一部分为了消除Lyapunov中的某些项
第二部分是为了满足稳定性条件,此部分有两种思路,第一种为了满足 V˙<0 ,第二种是为了构造 V ,使得 V˙<V+β(x) 的条件满足

从化简的过程可以出来
(5)自适应律的设计分为两部分,第一部分 S(z)es 是为了抵消Lyapunov V˙ 的非线性项,第二部分 σW^ 是为了构造 V

再对(9)继续化简之前,需要考虑以下不等式

2aba2+b2
2aε(εb)(aε)2+(εb)2


Lyapunov方程中的项采用如下不等式进行化简

2W~TW^=W~2+W^2W2W~2W2
d(t)b(x)es=esb(x)1ε2(ε2d(t))12esb(x)1ε22+12(ε2d(t))2
            =e2sεb2(x)+ε4d2(t)
|μles|e2s2εb(x)+ε2μ2lb(x)
|μl|μ0
|dt|d0 
0<b(x)<b1

因此Lyapunov方程可以化简为

V˙e2s2εb2(x)+ε2μ20b1+ε4d20σ2W~2+σ2W2

对于该Lyapunov方程的处理我们采用构造 V˙<V+β(x) 的方式进行稳定性证明
再进一步处理之前,我们需要利用如下不等式对Lyapunov函数 Vs 进行变换

W~TΓ1W~λmaxW~2
σ2W~2σ2W~TΓ1W~λmax

V˙ 可以转化为

V˙e2s2εb2(x)σ2W~TΓ1W~λmax+ε2μ20b1+ε4d20+σ2W2

假设

α0=max{ε,λmaxσ}
σ0=ε2μ20b1+ε4d20+σ2W2

V˙1α0V+12σ0

  • 13
    点赞
  • 77
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
自适应神经网络反步控制matlab代码主要是使用神经网络算法反馈控制系统,完成对非线性系统的控制和优化,实现了系统的自适应阻尼和鲁棒性控制。下面为您简要介绍其实现方法及代码实现。 首先,导入所需的matlab包,包括控制工具箱、神经网络工具箱和仿真工具箱等,以及定义控制系统的控制周期、步长和阻尼系数等参数。 其次,搭建自适应神经网络反步控制模型,在模型中设置控制变量和控制规则,同时根据反馈信号进行学习和优化,使系统能够自适应地调节控制参数和阻尼系数,最终实现对非线性系统的稳定控制。 最后,对神经网络模型进行训练和测试,测试模型的性能并对结果进行评估和优化,最终得到可靠的控制算法和数据。 以下为代码示例: ```matlab %导入所需的matlab包 pkg load control; pkg load nnet; pkg load sim; %设置控制系统参数 T = 0.001; %控制周期 dt = 0.0001; %控制步长 damp = 0.05; %阻尼系数 %搭建自适应神经网络反步控制模型 net = newff( MAX_input, MAX_output, MAX_cell, {'tansig', 'tansig'}, 'trainbr'); %设置神经网络模型的控制变量和控制规则 net.layers{1}.size = [MAX_input, MAX_cell]; net.layers{2}.size = [MAX_cell, MAX_output]; net.inputWeights{1}.initFcn = 'randsmall'; net.layerWeights{2,1}.initFcn = 'randsmall'; net.biases{1}.initFcn = 'randsmall'; net.biases{2}.initFcn = 'randsmall'; net.trainFcn = 'trainbr'; net.performFcn = 'mse'; %对神经网络模型进行训练和测试 [X,T] = simplefit_dataset; net = train(net,X,T); outputs = net(X); mse = perform(net,T,outputs); ``` 以上就是自适应神经网络反步控制matlab代码的一般实现方法和示例,需要根据具体的控制系统进行参数设置和模型调整,以实现对非线性系统的更稳定和高效的控制

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值