经典算法仿真实验平台设计
2014-09-10张道德宋成龙
张道德,尹 洋,宋成龙
(湖北工业大学机械工程学院,湖北武汉 430068)
经典算法仿真实验平台设计
张道德,尹 洋,宋成龙
(湖北工业大学机械工程学院,湖北武汉 430068)
通过labview设计算法仿真实验平台,以弥补传统实验的不足,并结合当前网络教学的特点,实现远程学习程序中相关算法。
LabVIEW;算法仿真;远程访问
算法是本科生和研究生提高科研素养的重要学习内容。然而大部分算法的学习是需要经过实验来体验理解,而传统教学实验需要相当大的投入,通过仿真来学习算法则经济、有效。虚拟仿真实验平台的搭建为学习算法的工程人员和学生提供了一套很好的方法。学习者可以通过程序来了解算法的运算过程,从而得以灵活运用。平台搭建需要方便快捷的软件来实现。本文通过LabVIEW编程让程序更加简单易懂,界面友好简洁,而且拓宽了学习途径。
1 算法仿真平台的设计
1.1 算法仿真平台的功能特点
算法仿真平台具有良好的交互性和美观开放的仿真环境,主要功能包括:
1)界面友好,操作方便,实验结果直观;
2)可根据需要随时修改相关参数,从而分析算法的特点,通过分析不同参数所得结果,以对算法有更深层次的理解;
3)可以远程访问或者下载程序学习。
1.2 仿真平台的主要内容和结构
本实验平台包含的例子主要有:增量PID算法仿真、位置PID算法仿真、遗传算法仿真、模糊算法仿真和BP神经网络仿真。仿真界面有1个主界面5个子界面。系统软件设计的结构图如图1所示。
图1 系统软件设计结构图
1.3 仿真主界面
主界面结构简单,列举了5大算法的对应控件,点击对应按钮即可进入学习(图2)。
图2 仿真平台主界面
2 仿真实例
2.1 增量PID算法
增量式PID是指数字控制器的输出只是控制量的增量Δu(k)。采用增量式算法时,计算机输出的控制量Δu(k)对应的是本次执行机构位置的增量,而不是对应执行机构的实际位置,因此要求执行机构必须具有对控制量增量的累积功能,才能完成对被控对象的控制操作。执行机构的累积功能可以采用硬件的方法实现,也可以采用软件来实现,如利用算式u(k)=u(k-1)+Δu(k)程序化来完成。
式中:Kp为控制器的比例放大系数;Ti为控制器的积分时间;Td为控制器的微分时间。计算机控制系统的采样周期T一般在选定后就不再改变,所以一旦确定了Kp、Ti、Td,只要利用前后3次测量的偏差值,即可由式(1)或式(2)求出控制增量。
在LabVIEW中,程序通过位移寄存器的运用求得E(k),E(k-1),E(k-2),A,B,C,实现增量PID的编程。通过点击前面板“增量PID算法仿真”出现如图3所示界面。
图3 增量PID仿真界面
2.2 位置PID算法
基本PID理想式为
式中:u(t)为控制器(也称调节器)的输出;e(t)为控制器的输入(常为设定值与被控量之差,即e(t)=r(t)-c(t))。
设u(k)为第k次采样时刻控制器的输出值,可得离散的PID算式:
由于计算机的输出u(k)直接控制执行机构(如阀门),u(k)的值与执行机构的位置(如阀门开度)一一对应,所以通常称式(2)为位置式PID控制算法。由于LabVIEW中有对应的位置PID的vi(图4),因此编程很方便。
图4 位置PID子vi
通过比较学习这两个PID算法可以更好地掌握PID算法原理与整定方法。
2.3 模糊算法
通过对现实对象的分析,处理数据并构建模糊型数学模型。用隶属关系将数据元素集合成模糊集合,确定隶属函数,进行模糊统计,多依据人自身的经验,因而它往往是通过心理测量来进行的。
模糊算法大部分通过模糊控制器进行学习,MATLAB或LabVIEW中都有对应的模糊控制器设计方法。本程序设计了优美的界面(图5),显示出模糊控制每次运算关键步骤的结果,让用户更加清晰了解模糊控制。
图5 模糊算法仿真界面
由图5可见,模糊控制的输入输出论域,通过隶属度函数求得的隶属度、模糊化的结果、反模糊化的结果。
2.4 遗传算法
遗传算法是一类借鉴生物界的进化规律演化而来的随机化搜索方法。遗传算法过程如下。
1)编码以及初始种群的产生。
2)适应度函数。一般情况下,染色体(也叫个体,或一个解)的适应度函数为目标函数的线性组合。本文直接以目标函数作为适应度函数,即每个染色体的适应度值就是它的目标函数值:f(x)=-x2+5。
3)选择算子。初始种群产生后,要从种群中选出若干个体进行交叉、变异,这些个体的选择方法就叫做选择算子。一般有轮盘赌选择法、锦标赛选择法、排序法等。本文采用排序法来选择,即每次选择都选出适应度最高的两个个体。那么执行一次选择操作后,得到的新种群的一部分如图6所示。
4)变异。变异就是对染色体的结构进行变异,使其改变原来的结构(值也就改变),达到突变进化的目的。变异操作也要遵从一定的概率来进行,一般设置为0到0.5之间。本文的变异方法直接采取基因位反转变异法,即0变为1,1变为0。要进行变异的基因位的选取也是随机的。
5)终止规则。遗传算法是要一代一代更替的,停止迭代的规则就叫终止规则。一般常用的终止规则有:若干代后终止、得到的解达到一定目标后终止、计算时间达到一定限度后终止等方法。本文采用迭代数来限制。
通过本界面,可以学习到遗传算法流程图。输入迭代次数,点击开始即可出现每次经过比例选择、单点交叉运算、变异后的新种群结果。遗传算法求极值的界面如图6所示。
图6 遗传算法仿真界面
2.5 BP神经网络算法
BP算法是一种有监督式的学习算法,其主要思想是:输入学习样本,使用反向传播算法对网络的权值和偏差进行反复调整训练,使输出的向量与期望向量尽可能地接近,当网络输出层的误差平方和小于指定的误差时,训练完成,保存网络的权值和偏差。
在本文的仿真实验中BP神经网络的学习是通过LabVIEW作为编程语言实现BP曲线拟合。本实验描述了神经网络的正向传播和误差反向传播的过程。本实验选取的学习样本,输入样本点Xi(i=1,2,…,nq)为(0,1)上的随机数,这些随机数由LabVIEW自带的函数产生。该神经网络为三层结构的神经网络,即由输入层、隐含层和输出层组成。实验界面如图7所示。通过界面,用户可以观察曲线逼近过程、BP流程图、每次训练后的X输入层,以及隐含层到输出层权值、输出层到隐含层权值和输出层各值。
图7 BP曲线逼近仿真界面
3 远程学习
LabVIEW本身提供远程访问和实现。在2012的版本中通过菜单栏中的工具选项,再点击web发布工具选项,即可方便地实现程序的远程发布,用户可以通过自动生成的网址,实现远程访问虚拟实验平台,程序中对每个仿真算法分别生成了对应的网址,如:“http://samsung-149cc84:8000/%D4% F8%C1%BFPID.html”。当主机发布到网上时,“samsung-149cc84”需要改为当前主机IP客户机才可以访问。在用户访问到界面后,可以点击右键获取控制权,自行进行仿真学习。增量PID远程实验界面如图8所示。
图8 增量PID远程实验界面
4 结论
该算法仿真平台的设计包括了工程应用中的常用算法,有增量PID、位置PID、模糊控制、遗传算法、BP神经网络,并且为每个算法提供了友好界面和远程访问界面。由于LabVIEW具有编程方便、可扩展性强的特点,平台还可以根据用户需要添加更多的算法进行仿真。通过不断的测试,实验平台可以提高用户学习算法的效率,激发用户学习兴趣,因此已经具备良好的实用价值。
[1] 高 静.基于LabVIEW图形化编程的PID控制算法[J].软件导刊,2012,11(04):81-83.
[2] 李海芳,张 民,陈俊杰,等.LabVIEW下远程虚拟实验室的研究与实现[J].太原理工大学学报,2010,41(02):147-149.
[3] 谢东坡,高 云,余成波.基于labVIEW平台的虚拟实验室研究[J].试验技术与试验机,2007(09):40-43.
[4] 陈锡辉,张银鸿.LabVIEW8.20程序设计从入门到精通[M].北京:清华大学出版社,2007.
[5] 雷振山,肖成勇,魏 丽,等.高级编程与虚拟仪器工程应用[M]北京:中国铁道出版社,2012.
[6] 刘金琨.先进PID控制MATLAB仿真[M]北京:电子工业出版社,2004.
[责任编校:张 众]
Design of Classical algorithm Simulation Experimental Platform
ZHANG Dao-de,YIN Yang,SONG Cheng-long
(School of Mechanical Engin.,Hubei Univ.of Tech.,Wuhan 430068,China)
In order to improve the efficiency of learning algorithms commonly used,the algorithms simulation experimental platform,based on LabVIEW,was designed in this paper.The relevant algorithms in the distant learning program was brought about combining the characteristics of online learning.
labVIEW;algorithm simulation;remote access
TP312
A
1003-4684(2014)02-0073-04
2014-02-17
张道德(1973-),男,湖北黄梅人,工学博士,湖北工业大学教授。研究方向为智能控制,图像识别