1.RBF监督控制

基于RBF神经网络的监督控制系统,其控制思想是:初始阶段采用PD反馈控制,然后过渡到神经网络控制。在控制过程中,如出现较大的误差,则PD控制起主导作用,神经网络控制起调节作用。

图1 基于RBF神经网络的监督控制系统

设:

(1) 径向基向量h=[h1,...,hm]T,(高斯基函数),hj=exp( -||x(k)-cj||^2/(2bj^2))。

其中,i=1;j=1,...,m;x(k)为RBF网络的输入;cj=[c11,...,c1m];b=[b1,...,bm]T。

(2) 权值向量w=[w1,...,wm]T。

(3) RBF神经网络的输出为un(k)=h1w1+...+hjwj+...hmwm。

(4) 总控制输入为u(k)=un(k)+up(k)。

(5) 误差指标为E(k)=(1/2)*(un(k)-u(k))^2。

(6) 采用梯度下降法,网络权值学习算法为

△wj(k)=-η*(∂E(k)/∂wj(k))=η(un(k)-u(k))hj(k),η为学习率,[0,1]。

w(k)=w(k-1)+△w(k)+α(w(k-1)-w(k-2)),α为动量因子,[0,1]。

2. 仿真实例

设被控对象为G(s)=1000/(s^3+87.35s^2+10470s)。

设采样周期为:1ms。

对上述对象进行离散化,可得:y(k)=-den(2)y(k-1)-den(3)y(k-2)+num(2)u(k-1)+num(3)u(k-2)。

设神经网络结构为:1-4-1。

理想跟踪指令为:x(k)=yd(k)。

网络的初始权值取[0,1]之间的随机数。

根据网络输入范围,高斯函数中心参数为cj=[-5,-3,0,3,5]T。

设学习速率:η=0.3。

设动量因子:α=0.05。

%% RBF监督控制
clear all;
close all;ts   = 0.001;           % 采样周期
sys  = tf(1000,[1,87.35,10470]);
dsys = c2d(sys,ts,'z'); % 离散化
[num,den] = tfdata(dsys,'v');y_1 = 0;
y_2 = 0;
u_1 = 0;
u_2 = 0;
e_1 = 0;xi = 0;            % 输入层为1个输入
x  = [0,0]';b  = 0.5*ones(4,1);
c  = [-2 -1 1 2];  % 隐藏层为4个节点
w  = rands(4,1);
w_1 = w;
w_2 = w_1;xite = 0.30;
alfa = 0.05;kp = 25;
kd = 0.3;
for k = 1:1:1000time(k) = k*ts;
S = 1;
if S == 1yd(k) = 0.5*sign(sin(2*2*pi*k*ts));  % 理想的跟踪指令:方波信号
elseif S == 2yd(k) = 0.5*(sin(3*2*pi*k*ts));      % 理想的跟踪指令:正弦信号
endy(k) = -den(2)*y_1-den(3)*y_2+num(2)*u_1+num(3)*u_2;
e(k) = yd(k)-y(k);xi = yd(k);for j = 1:1:4h(j) = exp(-norm(xi-c(:,j))^2/(2*b(j)*b(j)));
end
un(k) = w'*h'; % 总体控制输入量% PD控制器
up(k) = kp*x(1)+kd*x(2); % PD控制输入量M = 2;         % 使用整体控制
if M == 1      % 仅使用PD控制器u(k) = up(k);
elseif M == 2  % 总体控制u(k) = up(k)+un(k);
end
% 限制总控制量的范围在[-10,10]
if u(k) >= 10u(k) = 10;
end
if u(k) <= -10u(k) = -10;
end
% 更新神经网络权值
d_w = -xite*(un(k)-u(k))*h';
w   = w_1+ d_w+alfa*(w_1-w_2);w_2 = w_1;
w_1 = w;
u_2 = u_1;
u_1 = u(k);
y_2 = y_1;
y_1 = y(k);x(1) = e(k);                % 计算PD控制器的比例项
x(2) = (e(k)-e_1)/ts;       % 计算PD控制器的微分项
e_1  = e(k);
endfigure(1);
plot(time,yd,'r',time,y,'k:','linewidth',2);
xlabel('time(s)');
ylabel('Position tracking');
legend('理想的位置信号','跟踪的位置信号');figure(2);
subplot(311);
plot(time,un,'k','linewidth',2);
xlabel('time(s)');
ylabel('un');
legend('RBF控制输入量');
subplot(312);
plot(time,up,'k','linewidth',2);
xlabel('time(s)');
ylabel('up');
legend('PD控制输入量');
subplot(313);
plot(time,u,'k','linewidth',2);
xlabel('time(s)');
ylabel('u');
legend('总控制输入量');

图1 方波跟踪效果
图2 神经网络输入、PD控制输入及总控制输入

问题:传递函数离散化?

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

rbf神经网络_基于RBF神经网络的监督控制(09)相关推荐

  1. 径向基函数神经网络_基于RBF神经网络的网络安全态势感知预测研究

    点击上方"网络空间安全学术期刊"关注我们 基于RBF神经网络的网络安全态势 感知预测研究 钱建, 李思宇 摘要 针对网络安全态势的感知问题,结合巨龙山和者磨山风电场的运行情况,文章 ...

  2. 多层感知机 深度神经网络_使用深度神经网络和合同感知损失的能源产量预测...

    多层感知机 深度神经网络 in collaboration with Hsu Chung Chuan, Lin Min Htoo, and Quah Jia Yong. 与许忠传,林敏涛和华佳勇合作. ...

  3. 图神经网络基础--基于图神经网络的节点表征学习

    图神经网络基础–基于图神经网络的节点表征学习 引言 在图节点预测或边预测任务中,首先需要生成节点表征(Node Representation).我们使用图神经网络来生成节点表征,并通过基于监督学习的对 ...

  4. 【神经网络】基于RBF神经网络的六关节机械臂无模型控制

    前言:最近在搞神经网络,看到有用神经网络逼近未建模动态的,也有用神经网络来逼近整个模型的,后者即是无模型控制.无模型控制它不需要知道系统的名义模型,直接用神经网络来逼近整个系统,感觉这个方法还蛮厉害的 ...

  5. python输出一首诗_基于循环神经网络(RNN)的古诗生成器

    基于循环神经网络(RNN)的古诗生成器,具体内容如下 之前在手机百度上看到有个"为你写诗"功能,能够随机生成古诗,当时感觉很酷炫= = 在学习了深度学习后,了解了一下原理,打算自己 ...

  6. matlab rbf函数_基于径向基函数(RBF)的无网格伪谱法与程序实现(2)——微分矩阵...

    参考资料 Gregory E. Fasshauer. Meshfree Approximation Methods with MATLAB. P.387 P401 数值实现 Matlab 2019a ...

  7. bilinear 神经网络_基于多尺度双线性卷积神经网络的多角度下车型精细识别

    [1] 许可.基于卷积神经网络的细粒度车型识别[D]. 哈尔滨:哈尔滨工程大学, 2015:1. (XU K. Fine grained vehicle identification based on ...

  8. 医学图像处理医学图像处理-卷积神经网络卷积神经网络_基于深度卷积神经网络的刀具磨损量自动提取方法...

    ⬆点击上方蓝色字体,关注<工具技术>官方微信~ 数控加工实质上是刀具和毛坯的相互运动,包含众多的不可控因素,在工件成型的过程中,刀具不可避免发生磨损.为了提高加工效率,实际加工中一般采用高 ...

  9. python裂缝检测_基于卷积神经网络的高楼外墙裂缝检测系统

    fy the severity, general or slight damage degree of external wall cracks, and the effective identifi ...

最新文章

  1. 面试官:请简述一下vue-cli命令行工具,你能自己手写一个吗?
  2. Python(四)IP代理
  3. [SharePoint][SharePoint2013循序渐进]SPS2013简介
  4. python网络爬虫学习笔记(六):Requests库的使用
  5. android文件管理器--界面效果二(layout)
  6. 给Mysql服务添加 iptables防火墙策略
  7. 摆脱Wi-Fi信号干扰的对策
  8. WINDOWS 下将 FAT OR FAT32 转换成 NTFS 格式
  9. python车牌识别_python+opencv实现车牌识别
  10. sqlmap安装和使用
  11. 大厂Android高级多套面试专题整理集合,大厂直通车!
  12. 浙江计算机二级word试题,浙江省计算机二级高级办公软件word试题
  13. QT 如何在背景图中将部分区域设置为透明
  14. ICCV 2019|70 篇论文抢先读,含目标检测/自动驾驶/GCN/等(提供PDF下载)
  15. 数学建模·层次分析法基本步骤及参考代码
  16. 电脑访问打印机连接的共享文件夹
  17. RecyclerView的使用(二):添加头部和尾部
  18. 废旧手机安装Syncthing作为文件服务器之2-文件同步
  19. 什么样的程序猿适合去创业公司
  20. Well-known DEP-violating thunks

热门文章

  1. 三种权重的初始化方法
  2. Java NIO学习系列一:Buffer
  3. Vue.js 组件基础
  4. Java深度历险(五)——Java泛型
  5. windows中遍历指定文件夹下的所有子文件夹
  6. 深度学习(二十四)矩阵分解之基于k-means的特征表达学习
  7. 算法相关(2)-单向链表
  8. 改写Unity DropDown 支持多次点击同一选项均回调
  9. GBRT(GBDT)(MART)(Tree Net)(Tree link)
  10. OSGI 面向Java的动态模型系统