tensorboard ckpt pb 模型的输出节点_基于RBF神经网络的模型参考自适应(10)

1.控制系统设计

ae01983caafa3d64603eedba8cd73436.png
图1 基于RBF神经网络的模型参考自适应控制系统

设理想跟踪指令为ym(k),则定义跟踪误差为e(k)=ym(k)-y(k);

网络权值学习误差指标为:E(k)=(1/2)*(e(k)^2);

控制输入为RBF网络的输出:u(k)=h1*w1+...+hjwj+...+hmwm;

其中,m为隐含层的节点个数,wj为节点的权值,hj为高斯基函数的输出。

在RBF网络中,x=[x1,...,xn]T为网络的输入;h=[h1,...,hm]T;

hj为高斯基函数:hj=exp( ||x-cj||^2/2bj^2);

其中,i=1,...,n,j=1,...,m;bj>0;cj=[cj1,...,cji,...,cjm];b=[b1,...,bm]T。

设权值向量为:w=[w1,...,wm]T。

由于梯度下降法,网络学习算法为:

Δwj(k)=-η(∂E(k)/∂w)=ηe(k)(∂y(k)/∂u)hj

wj(k)=wj(k-1)+Δwj(k)+αΔwj(k)

其中,η为学习率[0,1];α为动量因子[0,1];

同理,可得:

Δbj(k)=-η(∂E(k)/∂bj)=η*e(k)*(∂y(k)/∂u(k))*(∂u(k)/∂bj)=η*e(k)*(∂y(k)/∂u(k))*(∂u(k)/∂bj)

=η*e(k)*(∂y(k)/∂u(k))*wjhj*(||x-cij||/bj^3)

分析上式:(∂u(k)/∂bj)=wjhj*(||x-cij||/bj^3),因此,这里的u(k)即为RBF神经网络的输出值。

bj(k)=bj(k-1)+ηΔbj(k)+αΔ(bj(k-1)-bj(k-2))

Δcij(k)=-η(∂E(k)/∂cij)=η*e(k)*(∂y(k)/∂u(k))*(∂u(k)/∂cij)=η*e(k)*(∂y(k)/∂u(k))*(∂u(k)/∂cij)

=η*e(k)*(∂y(k)/∂u(k))*wjhj*((x-cij)/bj^2)

cij(k)=cij(k-1)+ηΔcij(k)+αΔ(cij(k-1)-cij(k-2))

其中,∂y(k)/∂u(k)为jacobian阵,表征系统输出对控制输入的灵敏度。

2.仿真实例

设离散被控对象为:y(k)=(-0.10y(k-1)+u(k-1))/(1+y(k-1)^2)

其中:

采样周期为ts=1ms;

参考模型为ym(k)=0.6ym(k-1)+yd(k)

理想的跟踪指令为yd(k)=0.50sin(2pi*k*ts)

RBF神经网络的输入为yd(k)、e(k)和u(k)

学习速率为η=0.35

动量因子为α=0.05

高斯基函数的参数初值为:c=[-3,-2,-1,1,2,3;-3,-2,-1,1,2,3;-3,-2,-1,1,2,3],b=[2,2,2,2,2,2]。

网络的初始权值为:w=[-0.0316,-0.0421,-0.0318,0.0068,0.0454,-0.0381]。

%% RBF模型参考自适应控制

e16ac4ef22be67781da2f0d35c6e61f2.png
图2 正弦跟踪

391f7fa37401bad2a313b661ef31a015.png
图3 控制输入

问题1:为什么仅仅使用权值调节?

问题2:∂y(k)/∂u(k)的求解仅是微分后的符号值?

参考文献:《RBF神经网络自适应控制MATLAB仿真》_刘金琨

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值