时间:2023-03-14 15:21:32
导言:作为写作爱好者,不可错过为您精心挑选的10篇神经网络设计,它们将为您的写作提供全新的视角,我们衷心期待您的阅读,并希望这些内容能为您提供灵感和参考。
中图分类号:TP18文献标识码:A
文章编号:1004-373X(2010)15-0071-03
Application of Neural Network in Antenna Design
ZHANG Shan-shan
(Xi’an Institute of Electronic Engineering, Xi’an 710100, China)
Abstract: The application of neural network in antenna design is put forward because the processing speed of many antenna design softwares is not fast enough. A neural network-based optimization is to train the neural network with the input and output of a system, and by its associative memory self-learning function to make the output of the network is similar to the output of the original system in the case of the same input. In this way, the network can be used to simulate the output of the original system to achieve the fast calculation since the processing speed of neural networks is generally fast enough.
Keywords: neural network; BP network; antenna; EDA
0 引 言
随着通信技术和计算机技术的日趋成熟和完善,微波通信、移动通信、卫星通信等无线通信都在高速的发展,人们预计无线通信将在通信行业占领愈来愈重要的地位。天线是无线通信领域中非常重要的元器件,对天线的研究是无线通信研究中的一个重要的课题。目前,有很多电磁仿真软件可以用来辅助天线设计,应用较为广泛的Agilent公司的ADS和Ansoft公司HFSS,分别基于矩量法(Method of Moments,MoM)与有限元法(Finite Element Method,FEM),均具有较精确的天线设计方案,但是处理速度一般都不是很理想。随着天线设计的复杂程度提高,而设计周期却在减小,提高微波EDA的处理速度成为迫切需要解决的问题。如果在不大幅度降低精确性的同时对处理速度进行改进,就要找到一种处理方法,它必须满足两点:第一,可以充分逼近任意复杂的非线性关系;第二,使得快速进行大量运算成为可能[1]。
而神经网络就满足这两个条件,基于神经网络的优化计算就是利用神经网络的联想存储及自学习功能,以某一系统的输入作为网络的输入,以这一系统的输出作为网络的目标,反复训练网络,最终使网络具有与原系统相似的输出。这样,在相同的输入下,就可以用网络的输出来模拟原系统的输出。这里以天线设计中某些要变化的参数作为网络的输入,以天线的某些性能指标为网络的训练目标,用少量的原始数据(由微波EDA得出)训练网络,直到误差符合要求,并且用一定量的数据来测试网络,以确保网络的输出接近真实值。训练完毕后,就可以用所训练的网络来代替原EDA进行计算,而神经网络的处理速度要快得多,从而达到了加速的目的。
1 神经网络简介
人工神经网络(Artificial Neural Network,ANN)早期的研究工作应追溯至20世纪40年代,W.Mcculloch和W.Pitts首先提出神经元的数学模型。1982年和1984年美国物理学家Hopfield在美国科学院院刊上发表了两篇关于人工神经网络研究的论文,引起了巨大的反响。随即,一大批学者和研究人员围绕着 Hopfield提出的方法展开了进一步的工作,形成了上世纪80年代中期以来人工神经网络的研究热潮[2]。
表征神经网络需要3个方面:网络拓扑结构、神经元特性、以及学习(或训练)方法。人工神经网络是由简单的处理单元所组成的大量并行分布的处理机,这种处理机具有存储和应用经验知识的自然特性,它与人脑的相似之处概括为两方面:一是通过学习过程利用神经网络从外部环境中获取知识;二是内部神经元用来存储获取的知识信息[3]。
2 天线馈电匹配设计
微带贴片天线以其体积小、重量轻、易与载体共形、电气性能多样化等特点,在无线通信领域得到越来越广泛的应用,因此,本文以贴片天线的贴片尺寸对S11参数影响为例说明神经网络在天线馈电匹配设计中的应用。
利用Ansoft公司HFSS建立天线模型,如图1所示。基底:中心坐标(-30,-30,0) mm,x轴90 mm,y轴80 mm,z轴1.6 mm,介电常数4.4。贴片:中心坐标(0,0,1.6) mm,x轴37.5 mm,y轴25 mm。馈电探针:中心坐标(2.76,10,0) mm,方向z轴,直径0.63 mm,高16 mm。接地探针:中心坐标(1,10,0) mm,方向z轴,直径0.32 mm,高1.6 mm。以贴片长宽为变量,设为fx,fy,在本例中fx范围[3.5,4.0] cm,步长01 cm;fy范围[2.2,2.7] cm,步长01 cm;频率范围[22,24] GHz, 步长0002 GHz。以fx,fy,f为变量进行扫描,共扫描点数:3 636个。
图1 贴片天线HFSS模型
目前,神经网络结构的选择尚无一种统一而完整的理论指导,一般只能由经验选定。而网络的结构直接影响网络的逼近能力及推广性质。因此,应用中如何选择合适的网络结构是一个重要的问题。本文中采取三层的BP网络,BP网络实质上是实现了一个从输入到输出的映射功能,而数学理论已证明它具有实现任何复杂非线性映射的功能。这使得它特别适合于求解内部机制复杂的问题,而且网络能通过学习带正确答案的实例集自动提取合理的求解规则,即具有自学习能力,并具有一定的推广、概括能力[4]。
为了使网络收敛速度加快对训练样本(输入和输出),一般采取先归一化再训练的方法[5],即样本的取值范围都是[0,1]。中间层训练函数tansig,输出层训练函数tansig的定义域都是[-1,+1],都包括了样本的取值范围。在这里学习函数设为trainlm收敛速度较其他学习函数要快。误差设为0000 1,是因为训练样本采取了先归一化再训练的方法,其结果的误差会随着反归一化变换时被放大,所以目标误差设定要小一点,但是不能太小,否则会产生过拟和现象。
Matlab程序(BP网络的训练部分):
net=newff(Pr,[75,1],{′tansig′,′tansig′},′trainlm′); net.trainParam.epochs=1 500; net.trainParam.goal=0000 1;
net.trainParam.show=1; net.trainParam.lr=0.08; net =train(net,p,T);
网络的逼近、推广能力同学习样本的典型性密切相关,而从问题中选取典型样本实例组成训练集是一个很困难的问题。一般来说,要保证BP网络模拟曲线逼近原参数曲线,在选取训练点时注意两个条件:第一,尽量使训练点分布平均,即在各个S参数曲线上的训练点尽量相等[6];第二,尽量在S参数曲线上保持平均分布。本文为了说明BP网络性质是随机选取的训练点,可能不满足这两个条件,但是在应用HFSS时,就可以在平均在各个S参数曲线上取训练点,而且在各个S参数曲线上按一定步长选取训练点,这样就可以保证上述两个条件,使BP网络模拟曲线尽量逼近原参数曲线,获得一定数量的预测值[7]。
2.1 改变样本点数量
图2为样本点为2 500时的模拟S11曲线。图3为样本点为1 500时的模拟S11曲线。训练误为差0000 1,学习效率为008,中间层数为75,中间层训练函数tansig,输出层训练函数tansig,学习函数trainlm。
图2 样本点为2 500时的模拟S11曲线
由图2,图3可知,在训练目标误差为0000 10的情况下,用1 500个点频值模拟3 600个值的S11参数曲线,减小了多一半的工作量,可以看出,随着样本数量的减少,网络逼近能力变差。
一般来说,随着样本数量的减少,网络的泛化能力将变差。泛化能力差,预测能力(也称逼近能力)也差,并且一定程度上,随训练能力地提高,预测能力也提高。但这种趋势有一个极限,当达到此极限时,随训练能力的提高,预测能力反而下降,即出现所谓“过拟合”现象[8]。此时,网络学习了过多的样本细节,而不能反映样本内含的规律。
图3 样本点为1 500时的模拟S11曲线
2.2 改变中间层数量
图4(a)是中间层为200的情况,训练目标误差为0000 10,训练达到目标误差所用步数为98步。图4(b)是中间层为75 的情况,训练目标误差为0000 10,训练达到目标误差所用步数为153步。图4(c)是中间层为50的情况,训练目标误差为0000 10,训练达到目标误差所用步数为512步。
由图4可知,中间层数量对训练函数所用迭代次数有影响,这实质上是网络容量的可能性与可行性的关系问题,即学习复杂性问题。同时中间层数量对训练函数的收敛性也有重要的影响,中间层数过少,可能会导致训练函数过程的不收敛[9]。从数学角度看,BP算法为┮恢知局部搜索的优化方法,但它要解决的问题为求解复杂非线性函数的全局极值,因此,中间层数量过少时,算法很有可能陷入局部极值,使训练失败[10]。
2.3 改变学习效率
图5(a)是学习效率为0.08的情况,训练达到目标误差所用步数为153步。图5(b)是学习效率为0.04的情况,训练达到目标误差所用步数209步。图5(c)是学习效率为0.02的情况,训练达到目标误差所用步数为296步。
由图5可知,学习效率对BP网络预测效果,即泛化能力影响不大,对训练达到目标误差所用迭代次数有影响。由于BP算法本质上为梯度下降法,而它所要优化的目标函数又非常复杂,因此,随着学习效率降低,必然会出现锯齿形现象,这使得BP算法低效,而且由于优化的目标函数很复杂,它必然会在神经元输出接近0或1的情况下,出现一些平坦区,在这些区域内,权值误差改变很小,使训练过程几乎停顿,即存在麻痹现象[7]。
图4 不同中间层数的模拟S11曲线
图5 不同学习效率下的模拟S11曲线
3 结 语
本文以计算贴片天线的S11参数为例,具体说明了神经网络(这里用的是BP网络)在天线设计中的应用, 基于神经网络的优化计算是用某系统的输入输出来训练网络,利用神经网络的联想存储及自学习功能,在相同的输入下,使网络具有与原系统相似的输出。这样,就可以用网络的输出来模拟原系统的输出,而神经网络的处理速度一般来说是很快的,从而达到加快计算的目的。随着天线设计的复杂程度提高,设计周期在减小,本方法具有广泛的应用前景。
参考文献
[1]钟顺时.微带天线理论与应用[M].西安:西安电子科技大学出版社,2000.
[2]张青贵.人工神经网络导论[M].北京:中国水利水电出版社,2004.
[3]海金.神经网络原理[M].叶世伟,译.北京:机械工业出版社,2004.
[4]飞思科技产品研发中心.神经网络理论与Matlab 7实现[M].北京:电子工业出版社,2005.
[5]哈根.神经网络设计 [M].戴葵,译.北京:机械工业出版社,2005.
[6]Georg Dorffner. Artificial Neural Networks [M]. [S.l.]: ICANN, 2001.
[7]许东.基于Matlab 6.X 的系统分析与设计――神经网络[M].西安:西安电子科技大学出版社,1998.
中图分类号:TP183 文献标识码:A文章编号:1007-9599 (2011) 20-0000-02
Design of Control System Based on FNN PID
Duan Zhengjun1,Zhao Ran1,Tian Wenxue2
(1.TISCO Stainless Steel Pipe company,Taiyuan030000,China;2. China Chemical Engineering Second Construction Corporation,Taiyuan030000,China)
Abstract:At present,many of intelligent algorithm apply to the non-linear control system,it is intelligent control systems,for example,neural network,fuzzy control.According to the neural networks and fuzzy control in this article,introduced design principles and implementation based on neural nerwork and PID algorithm.
Keywords:Fuzzy neural network;PID;Control System;Nonlinear
一、引言
模糊神经网络(FNN)是模糊逻辑控制和神经网络两者结合的产物。模糊逻辑控制和神经网络两者单独使用时候,都会有一定的缺陷。模糊逻辑在一定的论域上面有很好的收敛性,在进行模糊量的运算上有优势;而神经网络具有强的自学习、自适应、并行运算和精确计算的能力。因此,两者结合可以优势互补,从而很大提高综合能力。FNN-PID是将模糊神经网络融进PID算法中,实现二者结合。FNN-PID算法具有PID控制器优点、模糊控制的良好收敛性和对模糊量的运算优势,也有神经网络自学习、自适应的特性。
二、FNN系统结构
FNN具有很多种结构和算法,对于不同的控制对象,在综合考虑运算速度和精度的情况下,可以使模糊神经网络结构有所不同。本文模糊神经网络采用如图1的结构,两个输入变量是有 、 ,为误差E与误差变化量EC。输出变量为Y,为PID三要素中的一个。根据专家经验知识把每个输入因子分为(NM,NS,ZO,PS,PM)五个模糊状态记为T[ ]。
图1.模糊神经网络的结构
第一层至第三层是实现模糊控制规则,第四层去除模糊化并实现输出实际控制对象的值,每层的作用如下:
第一层为输入层,该层的节点直接与输入层相连,起着将输入向量X传送到下一层的作用,其节点个数等于输入变量个数。输入输出关系可表示为:
, i=1,2(1)
第二层为隶属函数层,其作用是计算输入量属于各语言变量值模糊集合的隶属函数值,节点个数 ,每个节点代表一个模糊集合,可表示为:
, j=1,2,3(2)
式中j―― 的模糊分割数, 、 ――高斯函数中第j个输入对第i个结点的中心和宽度。
第三层为模糊规则层,每个节点代表一条模糊规则。采用IF-THEN模糊规则,可表示为:
:If is and is and…is THEN Yis(3)
式中,1≤n≤2,1≤i≤3: (4)
第四层为输出层: (5)
三、FNN的学习算法及步骤
在学习方法上,我们选择在线学习,在线学习就是针对整个训练集的每一个输入和对应的输出要求,每学习一条规则,就进行一次连接权的调整;这样一轮一轮不断的自动的调整网络连接权,知道整个网络达到所有的要求的响应为止。学习目的是对产生样本规律的统计特性进行建模,从具体观测推测隐含的规律,输出结果与样本接近。为了提高测量的精度,要求 、 和 三个参数能够适应环境的变化,即可实时调节高斯隶属函数和连接第三、第四层的权重比。具体算法如下:
式(5)可以按下式表示:(6)
设 , , ,从而得到式(6)的简化形式为: ,由式子(6)和式子(7)得到(8)式:
(9)
(10)
定义输出误差为: (11),其中 ――k时刻的输出值, ――k时刻的输出期望值。
定义系统的性能指标为:(12)
采用反方向传播方法进行监督学习,使性能指标E值最小化。根据梯度下降方法有:
以上式子分别为(13),(14),(15)。其中 为学习速度,由于采用在线学习,那么 为一个定值。根据性能指标选取规则和专家经验知识,取终止条件为E≤0.005,具体的学习步骤如下:
步骤1: 、 、 及 的初始值在[0,1]之间随机选取, 的值为恒定值,根据经验决定。
步骤2:根据式子(11),(13),(14),(15)计算得出比较理想的 , , 值。
步骤3:根据式子(12)计算E,若E≤0.002,迭代结束。否则,令 , , 为初始值并返回步骤2。
四、PID-FNN系统的设计及实现
根据FNN结构可知,输入是误差和误差变化量,输出是PID控制参数中的一个,故我们设计PID-FNN系统时要使用3个FNN,选择这样的FNN结构是为了更加精确的得到PID所需要的修正值。当然,这里所用的FNN是已经结束学习过程的。PID-FNN控制系统的具体结构如图2所示。
PID-FNN系统具体实现过程如下:①根据FNN的学习算法,通过提供的样本对FNN-Kp、FNN-Ki和FNN-Kd进行训练,使其得到合适的权值,满足性能指标为止。②误差和误差变化量做归一化处理,作为FNN-Kp、FNN-Ki和FNN-Kd的输入。③根据式子(1)(2)(4)(5)计算FNN的各层的输出,FNN-Kp、FNN-Ki和FNN-Kd最后一层的输出就是PID控制参数Kp、Ki和Kd的修正值。④利用③中得到的修正值,对经典PID控制器所得出的Kp、Ki和Kd的值进行修正。⑤Kp、Ki和Kd的修正后的值传送给控制对象,并由图2中所示,控制结果反馈回到计算误差处进行误差计算。由此跳转到②步。
图2.FNN-PID系统结构
五、结束语
FNN融合了模糊控制和神经网络的特点,本文利用这一点设计了PID-FNN控制系统并予以实现。文章中介绍了FNN的系统结构和学习过程的算法以及步骤,然后设计了PID-FNN的系统结构,并且描述了具体的实现过程。
本文作者创新点:模糊神经网络(FNN)是模糊逻辑控制和神经网络两者结合的产物。两者结合可以优势互补,从而很大提高综合能力。从而能够更迅速、更精确的对PID参数进行修正,已达到最佳的控制状态。
参考文献:
[1]李士勇.模糊控制,神经控制和智能控制论[M].哈尔滨:哈尔滨工业大学出版社,1996
[2]曾黄麟.智能计算[M].重庆:重庆大学出版社,2004
[3]晁勤,傅成华.自动控制原理[M].重庆:重庆大学出版社,2005
关键词: BP神经网络;传感器阵列;气体检测
Key words: BP Neural Network;sensor array;gas detection
中图分类号:TP315文献标识码:A文章编号:1006-4311(2010)31-0204-02
1概述
气体检测系统的工作原理是模拟生物嗅觉系统对被测气体进行感知、分析和识别,由气体传感器阵列、信号处理子系统和模式识别子系统三大部分组成[1]。将气体传感器阵列与人工神经网络的模式识别相结合,是对混合气体进行定性识别和定量检测的一种有效的方法。用气体传感器阵列对气体进行检测具有响应速度快、灵敏度高、制作简单等优点,但同时存在交叉敏感等缺陷,在实际应用中很难有选择地响应被测气体的某种成分,对气体测量的精度有着较大的影响。本课题通过实验研究,将气体传感器阵列采集的输出信号经信号处理,作为神经网络的输入信号,实现了对CO、H2S和CH4三种混合气体的定性定量识别。本文重点研究气体检测系统中BP神经网络结构的设计与实现。
2BP网络的结构设计和实现
进行BP网络的结构设计时,一般应从网络的层数、每层的神经元个数和相应的激活函数、初始值的设置以及学习速度等因素进行考虑。
2.1 输入和输出层的网络设计BP网络的输入层和输出层神经元个数的确定是根据具体的实验需要设定的。网络中,输入类别为n个,检测类别数m,则一般确定输入层的神经元数为n,输出层神经元个数为m。如果训练样本Xi属于第j类,则输出结果公式为[2]:
Y=(0,0,…,,)(1)
上述公式表示为输出向量中第j个输出为1,其余全部为0。输入层的神经元可以根据对求解的问题和数据表示的方式确定,在实际过程中,应尽量减少系统的规模,使学习的时间和系统的复杂性减少。
本课题实验系统确定的传感器阵列中的传感器个数为6个,因此网络的输入将是一个六维向量,即需要6个输入神经元,每个神经元分别和传感器的输出信号一一对应。实验中对CO、H2S和CH4三种气体组成的混合气体进行定性识别和定量检测,因此该网络的输出是一个三维向量,分别对应三种气体的输出值。用二进制编码区分三种气体的输出模式,期望输出分别是[1 0 0]、[0 1 0]、[0 0 1]。
2.2 隐层的设计对于隐层的设计,要考虑隐层层数的选择和每个隐层中神经元单元数的确定。根据Robert Hecht-Nielsen的研究,对于任何在闭区间内连续的函数都可以用具有一个隐层的BP网络来任意逼近,因而一个三层的BP网络可以完成任意的n维输入到m维输出的映射。根据问题的复杂性,也可以设计多个隐层。当各节点均采用s型函数时,一个隐层就足以实现任意判决分类问题,两个隐层则足以表示输入图形的任意输出函数。对于用作分类的BP网络,可参考以下几个经验公式[3,4]:
K
此式中,K为样本数,n1为隐层单元数,n为输入单元数。当i>n1时,C=0。
n=+a(3)
此式中,m为输出单元数,n为输入单元数,a为1至10之间的常数。针对本课题需要,输入单元数n=6,输出单元数m=3,根据上式可得隐层单元数n1在[4,14]之间。
n=logn(4)
此式中,n为输入单元数,由此可得n的值设置为3。
2.3 初始值的确定在网络学习之前,首现要对网络的权值、阈值进行初始化工作。由于系统的非线性特性,初始值的选择对于网络学习是否会达到局部最小、训练时间的长短以及能否收敛都有着很大的关系。如果不对网络中的连接权值进行初始化,网络的学习过程可能会不收敛。如果初始值赋予的太大,网络的神经元就很可能会趋于饱和,致使反向传播中的局部梯度呈现出一个最小值,导致反向传播学习过程缓慢。如果赋予的初始值太小,反向传播算法可能会局限于误差曲面原点的一个非常平缓的区域。一般希望加权后每个神经元的输出值接近于0,这样可以保证每个神经元的权值都能在S型激励函数变化最大之处进行调节,因此通常BP算法初始权值和阈值的选定在(-1,1)内的随机数,经过反复调整,获得稳定值。
2.4 BP网络的Matlab实现
2.4.1 BP网络的初始化当网络创建后,网络的权值和阈值的初始值默认为0。在对神经网络训练之前,要对网络的权值和阈值进行初始化,所使用的函数是init(),函数的命令格式为:
net=init(net)
函数根据网络的初始化函数及其参数值对网络的权值和阈值进行初始化,分别表示为net.initFcn和net.initParam。
2.4.2 BP网络的创建与仿真Matlab神经网络工具箱提供了创建BP网络的函数newff(),常用的指令格式为:
net=newff(P,T,[S1,S2…SN],{TF1 TF2…TFN1})
其中,P,T分别为输入样本和期望响应;Si为第i层神经元的数目,总共为N层;TFi为网络各层的传递函数的类型。执行的结果为创建一个N层的BP神经网络,默认情况下,网络中间的隐层采用tansig函数,输出层采用purelin函数。
BP网络的仿真采用函数sim(),对于高维的多个输入,也可以使用sim函数仿真输出。
2.4.3 BP网络的的传递函数传递函数的作用是将网络的输入转换为输出,又称为激活函数。在BP网络中,传递函数必须是可微的。常用到的传递函数为S型对数函数和双曲正切S型函数。
2.4.4 BP网络的训练对神经网络的权值和阈值初始化后,就可以对网络进行训练。对网络进行训练既可以在指定学习算法的条件下调用普通的train函数,也可以直接调用不同训练算法的对应函数。函数train()是通过调用参数net.trainFcn设定训练函数来实现网络训练的,并且训练方式由参数net.train.Param的值来确定。同样adapt函数是调用参数为net.adaptFcn设定的训练函数进行网络训练,训练方式由net.adaptParam的值确定。在BP网络训练算法中,都是通过计算性能函数的梯度,再沿负梯度方向调整权值和阈值,从而使得性能函数达到最小。第i个循环中的调整公式表示为:
x=x-ag(5)
其中x表示当前的权值和阈值,g表示当前梯度,a是学习率。
2.4.5 BP网络的仿真输出对神经网络进行设置和训练,其目的是应用。神经网络训练完成之后,将后续测得的实验数据输入,利用仿真函数得到网络的输出。仿真函数的格式为:
Sim=(net,P)
其中,net为已经训练好的人工神经网络,P为网络的输入矩阵。
3实验数据和误差分析
3.1 定性识别实验中,采用6个气体传感器组成传感器阵列对CO、H2S和CH4三种气体进行检测。对每种气体分别配制12组不同的浓度,即共获得12×3=36组不同气体浓度的气体样本。隐层采用10个神经元,输入层神经元数由气体传感器阵列的维数决定,即有6个神经元,输出层有3个神经元,其输出分别对应三种不同的气体。用于定性识别的网络结构如图1所示。
对于实验获取的36组气体数据样本,取气体样本的24组用于网络的训练,取其余的12组用于网络的测试。网络的期望输出为:
yyyyyyyyy=100010001
神经网络经过训练后,得到网络固定的连接权值和阈值,然后对测试样本进行分析验证。用训练好的神经网络对测试样本进行验证时,对于网络输出y1,规定满足以下条件即可认为测得样本输出为1,即认为是正确的识别结果:
(1)y=max{y,y,y}
(2)y0.7
(3)y-y0.3, y-y0.3
同理以上条件适合于网络输出y和y。经过神经网络的训练和识别,得出对样本的测试结果,实现了对不同气体的定性识别,并且识别率达到了100%。
3.2 定量检测针对每种气体传感器的测量范围,对三种气体分别取39种不同浓度的实验样本,总共样本数为39×3=117。取每种气体样本的2/3作为网络的训练样本,其余的1/3作为测试样本。为了使实验数据不因被测气体浓度的影响而造成误差,选择训练样本和测试样本时取等差浓度的序列。由于实验样本数目庞大,表1只列出了实验中部分输出结果。
通过实验分析可知,对CO、H2S和CH4三种气体定量检测的最大误差分别为8.51%、9.35%和7.45%。对CO定量检测的平均误差为4.18%,对H2S定量检测的平均误差为4.02%,对CH4定量检测的平均误差为3.60%,达到了实验预期的要求。
4结束语
本文将气体传感器阵列和神经网络模式识别相结合,将传感器阵列对气体检测的输出响应(处理后)作为BP网络的输入,构建了适合混合气体定性定量检测识别的BP网络模型,并成功地对CO、H2S和CH4三种实验气体实现了定性识别和定量检测,实验误差在实验允许范围内。
参考文献:
[1]J.W. Gardner, P. N .Bartlett. A brief history of electronic noses[J]. Sensors and Actuators, 1994, B18-19: 211-220.
中图分类号:TP183 文献标识码:A 文章编号:1671-2064(2017)01-0044-01
近年来,在网络游戏发展过程中,图像的呈现质量已经提升到了一个极高的水平,人工智能游戏已经成为决定一款游戏成功与否的重要关键,并受到了游戏开发商的广泛关注和高度重视。网络游戏作为一种目标性、竞争性、互动性、情节性的娱乐作品,它的智能水平对游戏的质量和可玩性具有着直接的影响作用。因此,将计算机图形学和人工智能有机的结合起来,把人工智能中的预测、路径规划、搜索、学习等技术有效的应用到网络游戏的研发工作中去,不仅能够提升游戏的质量和可玩性,同时还有利于促进游戏开发企业的发展。
1 人工神经网络分析
人脑可以用一套较为独特的方法来解决相关问题,并且还能够从正反两面的行为差异中进行学习,经过研究发现,人脑是由十万种类的遗传因子中的十万亿个细胞组合而成,人工神经网络就相当于模拟人脑功能的一个数学模型。其中神经元作为人脑系统中处理基本信息的单元,是人体神经器官的重要组成部分,通过轴将各个神经元进行有效连接,而其他神经元的发送的信号能够使当前神经元产生相应的反映,这一反映如果能够达到特定的阈值,就会逐渐产生一种新的信号,并且沿着轴将信号传输到其他神经元[1]。人工神经网络主要就是由各种节点相互连接组合形成的,节点类似于人脑的各个神经元细胞,会存在一些节点连接外部环境,主要负责相关的信息输出和输入工作,被称作是输出点或者输入点,而另外一些网络内部的节点,通常被称作隐藏节点。隐藏节点的信息输出通常是输出节点的信息输入,输入节点的信息输出通常是隐藏节点的信息输入。
此外,人工神经网络的主要核心思想就是对人类大脑神经系统功能进行模拟的机器学习的一种方法,并且通过对系统内部各个神经元的各种连接参数进行反复的调节,使得神经网络系统得到训练,并且在遇到一定情况时能够做出最佳的反映[2]。总之,神经网络作为一项发展较为成熟的技术,其在解决相关问题之后,将会使网络游戏的智能化提升到一个全新的高度。
2 人工神经网络中的游戏学习设计分析
与传统方法相比,神经网络解决问题的方式有着明显的不同,其具有着较强的自主学习能力,经过不断的学习,ANN可以从未知式中的各种复杂数据信息中发现规律[3]。这种神经网络方法在很大程度上克服了传统方法在分析中的复杂性以及各种模型函数选择的困难,通过训练对问题进行解答,ANN可以较为快速的建立解决问题的非线性和线性模型。如果想要人工神经网络进行运作,首先就需要让网络进行学习,不断的训练网络,帮助它获取更多的知识信息,最后将这些信息有效的存储起来。一旦完成相关的训练和学习,就可以将知识有效的存储在权值中。在游戏的开发过程中,将神经网络模型看作是人物建模的基础,通过对玩家将要进行的动作或者选择的画面场景进行预测,运用神经网络进行信息存储,并且在游戏的运行过程中要保证学习元素的有效运行,进而让神经网络潜移默化的学会相应的自适应技术,最终实现游戏的可玩性和趣味性,提升游戏的开发设计质量和效果,进而吸引更多的游戏玩家。
3 BP神经网络游戏开发设计分析
在神经网络的众多模型中,BP算法是其中较为常用的一种神经网络,一般分为输入层、输出层、中间层等三个部分,各个层之间按顺序进行连接,因为中间存在隐含层,可以从中发现一定的学习规律,可以通过对这种网络的有效训练,进而形成一种较为复杂、多样的决策界面[4]。同时,BP神经网络具有一个强大的功能,其主要就是能够封装一个将信息输入映射到信息输出的非线性函数。假如不存在隐含层,那么神经网络只能发现信息输入与信息输出之间存在的线性关系。但是,仅仅是为感知网络增添一个隐含层还是远远不够的,需要通过非线性激活函数为网络连接提供相应的非线性元素。大多数的非线性函数基本上都能够进行使用,但是多项式函数除外。
在游戏中,设置网络作为神经网络实现的基本步骤,可以将特定数据当做输入训练网络,并且在游戏的具体输入中进行实际应用。在游戏问题的神经网络设计中,应该注意结构、学习、神经元特点等三个方面的因素。其中结构主要就是指要进行构造的神经网络组织、连接方式以及基本类型。而且在神经网络中节点数设计要遵循相关的原则就是越少越好。神经网络中的节点数越多,那么神经网络搜索正确解的空间范围就越广阔[5]。神经网络中输入节点数在一定程度上决定着模式匹配或网络分类的变量数,例如,篮球类型的游戏中,运动员投篮命中、灌篮动作、球员分布、难度等级等变量数。
4 结语
总而言之,网络游戏作为一种新型的娱乐方式,具有着较强的生活模拟性和互动性,深受广大社会群众的喜爱。因此,我国应该重视游戏产业的发展,不断加大对网络游戏的开发和设计,将神经网络有效的应用到网络游戏开发的实践中去,尤其是BP神经网络,它不仅可以预测玩家的行为,及时提供信息反馈,同时还能提高网络游戏的可玩性和趣味性,提升游戏设计的整体质量和效果,有利于促进我国游戏开发产业的发展和进步。
参考文献:
[1]余颖.基于神经网络和遗传算法的人工智能游戏研究与应用[D].湖南大学,2011.
[2]王淑琴.神经网络和遗传算法在游戏设计中的应用研究[D].东北师范大学,2014.
论文摘要:针对汽车发动机设计和性能评测当中有关参数计算的特点,提出应用人工神经网络方法进行辅助计算,以提高数据计算的结构化程度和处理速度。通过对具体数据的实际操作表明,应用本方法能够很好地表达原图表数据关系,所得结果的精度能够满足计算要求。
汽车发动机的性能包括动力性、经济性、生态特性——排放与噪声、可靠性及耐久性等多个方面,这些参数要通过在一定条件下的测试计算来获得。当发动机在非标准环境下运转时,其相关计算要通过参数进行修正,比如发动机的有效功率和燃油消耗率的计算。当发动机在非标准环境下运转时,其有效功率及燃油消耗率应修正到标准环境状况,当然也可由标准环境状况修正到现场环境状况,其中的有效功率和燃油消耗率修正系数在GB1105..1-87中以图表的形式给出,使用很不方便,本文应用人工神经网络对此图表信息进行处理,提高了数据计算的结构化程度和处理速度,取得了满意的效果。
1.神经网络的识别原理
在神经网络系统中,其知识是以大量神经元的互连和各连接的权值来表示的.神经网络映射辩识方法主要通过大量的样本进行训练,经过网络内部自适应算法不断调整其权值,以达到目的.状态识别器就隐含在网络中,具体就在互连形式与权值上.在网络的使用过程中,对于特定的输入模式,神经网络通过前向计算,产生一输出模式,通过对输出信号的比较和分析可以得出特定解。目前神经网络有近40多种类型,其中BP(Back Propagation,即反向传播)网络是最常用和比较重要的网络之一,本文就应用一种改进型的BP网络进行相应数据图表的识别映射。
BP网络由输入结点、输出层结点和隐层结点构成,相连层用全互连结构.神经网络的工作过程主要有两个阶段:一个是学习期,通过样本学习修改各权值,达到一稳定状态;一个是工作期,权值不变,计算网络输出。
B
P网络的学习过程由正向传播和反向传播两部分组成。在正向传播过程中,输入信息从输入层经隐层单元逐层处理,并传向输出层,每一层神经元的状态只影响下一层神经元的状态。如果在输出层不能得到期望的输出,则转入反向传播,将误差信号沿原来的路径返回,通过修改各层神经元的权值,使得误差信号最小。
当给定一输入模式X=(x1,x2,….,xm)和希望输出模式Y=(y1,y2,…..,yn)时,网络的实际输出和输出误差可用下列公式求出:
隐含层输出:
式中——输入层至隐含层,隐含层至输出层的连接权;
——隐含层结点、输出层结点的阀值;
m、h、n——输入层、隐含层、输出层结点数;
f—— s型函数,f(x)=(1+e-x)-1.
如果误差太大不能满足要求,则需要用下列公式修正各连接权和阀值
为网络提供一组特定的训练模式,随机产生初始连接权和阀值,不断币复上述计算过程,直到网络全局误差小于给定的极小值为止.
由于BP网络的高识别能力,应用中采用了此结构形式.同时为提高其识别效果,加快网络的训练速度,缩短工作周期,应用了附加动量项和自适应速率的改进算法.
附加动量项法使网络在修正其权值时,不仅考虑误差在梯度上的作用,而且考虑在误差曲面上变化趋势的影响,其作用如同一个低通滤波器,允许网络上的微小变化特性,使网络陷入局部极小值的可能性大大减少。自适应速率是通过改变学习率,提高BP算法的有效性和收敛性,缩短训练时间.
2具体应用
根据以上理论,采用改进的BP神经网络形式,动量因子取0.9,对有效功率校正系数和燃油消耗率校正系数与指示功率比和机械效率的关系同时进行识别,采用双输入双输出的2-10-2结构、2-15-2结构、2-20-2结构进行训练,识别情况分别如表3-5所示。
转贴于
从实际的应用效果来看,2-15-2和2-20-2的逼近能力相似,2-15-2的速度快于2-20-2结构,而2-20-2结构的识别能力要远低于前两种结构,采用更少的隐层结点数就会使训练的时间过长,甚至使训练过程无法进行.因此最后选择2-15-2的BP网络结构作为最终的神经网络形式。如图1所示为训练次数与误差平方和之间的关系曲线,表4为部分网络输出与实际数值的比较.
通过以上计算分析可见,神经网络的映射输出能力是相当强的,通过合理的网络结构选择和具体的参数应用,完全可以满足优化设计的计算要求,大大缩短优化当中的计算迭代时间,提高计算效率。
3结论
(1)人工神经网络有很强的数据映射能力,能够很好地识别所给数据之间的对应关系,映射的精度可以满足一般设计计算要求.
(2)对于包含无规律图表数据的有关计算问题,应用神经网络是一个很好的加快运算速度的解决方法.
(3)在数据的映射识别当中,网络的结构形式和参数选择对于问题的求解精度和速度都是致关重要的’同时应当注意数据的过度训练问题.
(4)智能算法的应用为具体的工程计算提供了更方便、有效的手段,寻找有效的计算方法,以及多种算法的混合应用将是摆在设计人员的一个课题.
参考文献
[1]焦李成.神经网络系统理论[M]西安:西安电子科技大学出版社,1990.
[2]焦李成.神经网络的应用与实现[M].西安:西安电子科技大学出版社,1993.
[3]王文成.神经网络及其在汽车工程中的应用[M].北京:北京理工大学出版社,1998.
[4]张成宝,丁玉兰,雷雨成.人工神经网络在汽车变速器齿轮故障诊断中的应用[J].汽车工程,1999,21(6) 374-378.
中图分类号:TP391文献标识码:A文章编号:1009-3044(2011)16-3917-03
Research and Implementation of Intelligent Design System Based on Artificial Neural Network
WU Zheng
(The CAD Research Center of Tongji University, Shanghai 200092)
Abstract:Axisymmetric part of the design for the introduction of the concept of the feature encoded file, its characteristic features in a coded form to be expressed. In order to achieve intelligent process state model output, the use of artificial neural networks for automatic reasoning capabilities. Through the intelligent reasoning system to remove the experience of design continued exploration and improvement, will be part of the feature modeling input, the system can automatically determine the parts of the process, then automate production. The intelligent system can help developers and designers to quickly produce design example, so developers can focus more on product innovation activities of enterprises to improve product design and R & D has important practical significance.
Key words: neural network; intelligent design; feature coding; intelligent reasoning; KBE
产品工艺设计是产品开发的首要环节,也是关系到产品设计成功与否的核心问题。提高工艺设计集成化、系统化和智能化程度,实现经验设计向科学设计的飞跃是研究人员多年追求的目标。而智能设计作为现阶段的热点技术,吸引了越来越多的专家和学者的目光。[1]伴随着计算机软硬件的成熟,以及图形图像学、CAD、人工智能设计技术和工艺模式理论的发展,显著的提高了设计的质量和效率,大大缩短了设计周期和工时,形成了工艺设计的的新领域,对我国智能设计和计算机辅助设计的发展起到了极其重要的推动作用。[2]
1 人工神经网络智能设计系统模型的表达
1.1 智能设计系统的体系结构
该智能设计系统主要的结构模块如图1所示。本文将该智能设计系统主要划分为以下几个模块,特征造型器主要将零件的特征进行录入,数据会同用户的输入数据共同进入特征编码器;特征编码器相当于一个接口,将形式数据转化为模式映射器能够识别的规范化数据(即特征编码文件),在模式映射器内部,通过神经网络对数据的处理,同时结合已有的经验知识库、材料库、规则设计库、工艺特征库、映射规则和标准库的数据交互,将数据输出到数值公式计算模块。数值公式计算模块主要是在具体的场景中将约束条件进行量化,结合具体的设计要求将工艺设计顺序进行调整。最后将结果反馈到用户界面,实现智能设计。
1.2 KBE思想和本系统的有机结合
在工程实践中,人们发现专家知识一般来源于该领域内专家的经验和积累,具有很大程度的不确定性和模糊性,这对于知识的交流和继承带来了很大的困难。欧洲面向KBE应用的方法和软件工具研究联盟提出了KBE的概念,KBE是计算机辅助工程领域的一个进步,它是一种将面向对象方法(Object Oriented Methods)、AI和CAD技术三者集成的工程方法,能够提供设计过程客户化、变量化和自动化的解决方案[3-4]。,我们认为:KBE是通过知识驱动和繁衍,对工程问题和任务提供最佳解决方案的计算机集成处理技术,是AI和CAx技术的有机融合。[5-6]
KBE系统的要点主要是知识的表示、知识建模、知识推理和知识的繁衍。本系统主要通过特征造型器进行知识的表示,进而在特征编码器中对所得知识建模,形成了特征编码文件。模式映射器利用人工神经网络对于特征编码文件进行不断的映射,实现了知识推理;同时模式映射器将学习所得的知识存储在相应的知识库中,进行知识繁衍。将经验知识和隐形知识转化为显式知识,实现了智能系统的关键一步。我们将KBE的思想结合到本文所开发的系统中来。
2 零件的工艺特征及特征的编码
2.1 特征的确定和数字化表达
首先我们需要确定零件的特征,进而将零件的特征数字化。本文根据以下原则确立零件的特征:
1)现实性。零件的特征是客观存在的,不因人的主观意志的转移而改变该特征。2)可测量性。相比于传统的经验化设计模式,能够准确的测量和量化零件特征是智能设计的重要要求。3)唯一性。作为零件信息的重要载体,特征的无歧义性是需要重点考虑的原则,不能同时将一个特征收录到两个属性中,进而造成建模中零件属性的混乱。
本文主要针对轴对称的零件工艺模式,我们将主要研究零件的以下特征:冲孔、翻边、正向拉深、反向拉深、带孔小阶梯成形法等。
考虑到神经网络我们采用的是S型参数,所以我们将特征编码确定为0到1之间的数,本文共确定了10种特征形状。如表1所示。
通过确定特征参数,进而可以构建特征造型器,特征造型器以零件的实体特征为基础,结合零件的几何信息和拓扑信息,将参数化设计思想和特征编码思想统一,用尺寸驱动的方法来定义特征,便于计算机对于零件特征的识别和处理。
2.2 面向对象的特征建模语言
由于在实际设计征的复杂性和多样性,而面向对象的语言具有数据的封装性、数据与操作的集成性、对象重载、现实世界对象的数据和行为的全面抽象、对象数据的继承性等等许多的优点,目前已成为设计领域广泛采用的设计手段,应用在特征设计领域,可将特征的对象数据类型抽象出来。
特征对象首先具有本身的特征尺寸和属性,考虑到具体的应用,这些尺寸要能够实现参数化,除此之外,还具有公差、材料、技术设计要求等信息;特征的操作类型主要分为两种:一种是成型过程,即所谓的造型映射,另一种操作是特征在零件上的形成位置即有关位置的变动操作。在这两种操作中,造型映射与工艺设计的过程联系紧密,而特征位置操作则与产品的设计过程相关。下面主要是该特征对象的基类型的原型定义。
class Feature
{Stringfeature ;//零件对象的三维实体名。
StringName;//零件特征名。
Stringmaterial;//特征的材料。
intfeature_parametre; //特征尺寸的参数。
intfeature_num.;// 特征类型的编号。
intfeature_code;// 特征的编码。
intpt1,pt2,pt3;//特征基点的坐标。
int angle1,angle2,angle3;//特征在三维空间中与X, Y, Z轴的夹角。
Public:
virtualvoidmodel();//构造三维实体特征。
virtualvoidlocate();//确定特征的空间位置。
voidmove (ap_solid *sol, ap_real tx, ap_real ty, ap_real tz);//将特征移动{tx,ty,tz}。
voidrotate (ap_solid *sol, ap_real rx, ap_real ry, ap_real rz);//将特征旋转。
void chang_feature_para (int class_name, ap_solid *sol, ads_point pt, ap_direc ang, feature_parametre, void model); //该特征的几何尺寸的参数化修改操作。
voidcal_area(); // 特征面积的计算。
voidcal_circl();//特征周长的计算。
}
通过实例化语言,我们能够对零件的特征进行描述,进而便于计算机识别和处理。特征编码的构造加入到零件基类中,具体零件的定义将继承特征编码的操作,并能够进行适当的重载。
3 特征编码器和特征编码文件
将特征数字化表示后,本系统主要通过特征编码器将特征组成特征编码文件,使后续的人工神经网络能够对文件进行处理。有了特征编码,我们能够让机器识别特征;但是为了保存特征的其他信息,如冲孔工艺中孔的直径,翻边的高度等等,我们引入了特征参数的概念。特征参数即为了更明确的定义特征的几何、物理属性,跟随在特征编码后面的一系列数值。图3表示了部分特征编码所对应的特征参数。
我们将特征编码和特征参数组成特征编码文件,输入到模式映射器中。特征编码文件的格式为:每一行表示切仅表示一个特征,其中第一个数字为特征编码,特征参数在特征编码之后给出。图4显示了一个特征编码文件的实例。
4 智能设计系统中工艺模式的生成、映射以及神经网络的构造
4.1 工艺模式映射的过程
我们将零件的特征编码文件输入人工神经网络后,人工神经网络进行反向推理,将零件的成型信息反向输出,同时结合知识库、材料库等已有的信息,输出结果。
工艺模式用于指导工艺计算模块的工作,而经过特征造型之后的零件信息只有特征编码文件。因此,人工神经网络的任务就是根据零件的特征编码组信息,推导出生成零件的各个中间成形形状的特征编码组,以及各个中间形状在零件成形过程中的排列顺序。
因为对于神经网络来讲,得到的是设计者输入的零件模式信息,输出是零件成形的各个中间状态(特征编码表示),这就决定了工艺模式在神经网络中的映射过程是一个“逆顺序”的过程,这一过程又可以描述为“反推导”过程,即:将零件的特征编码组(零件模式)输入到经过训练的神经网络中,由其输出该零件成形的各个过程的中间形状的特征编码(中间形状模式)。我们以计算机的视角来看待零件的分解,即:零件->特征->特征编码文件->人工神经网络。在人工神经网络中,特征编码文件被反编译,特征结构后得出特征形成的顺序,进而输出,即:人工神经网络->特征反编译->特征工艺序列->特征编码组->特征->零件。由此可见,人工神经网络是用于处理工艺模式的主要工具,在前面的特征造型器、特征编码器中生成的零件的工艺模式,以及特征编码组等概念,都是为了便于神经网络的处理而建立的。
最后,由这些“中间形状模式”、“零件模式”等特征编码组信息及其排列顺序,组成该零件成形的“工艺模式”信息文件。这一过程,就是以零件模式作为输入、以经过训练。
4.2 神经网络的比较及选择
人工神经网络用于工艺模式映射的工作主要是以下几个:1)是针对输入的零件模式经过映射后输出该零件成形的中间形状;2)生成按照工艺成形的过程而排列的零件成形中间形状的排列顺序;3)进行反向学习,从输入的特征编码文件中提取零件成型顺序,存储到知识库中。[7]
神经网络主要由以下几类:1)分解映射结构;2)集中映射结构;3)前向网络;4)集中反馈式网络。[8]
我们选择的是集中反馈式的神经网络,相比于其他类型的网络,反馈式结构的优点是:统一的网络便于训练模式的组织和映射工作的开展;输入单元和输出单元的数目相同,可以形成对称的网络结构,使得网络的稳定性和收敛性有了保障;工艺模式的成形顺序性问题不占用网络的实际结构形式,顺序性问题转化为反馈映射的顺序问题,映射的顺序代表成形的顺序;网络在结构上将保证各个单步成形映射的准确性,从而提高网络的训练质量。[9]
表2给出了神经网络训练的相关内容,由于神经网络中节点和隐层数目的不同会极大的影响神经网络的性能,本文主要对各个不同的网络进行了比较,得出了一个最优的网络(即网络7)。
5 实例模型
本文在研究的基础上开发了一个应用实例,该实例主要是设计者将零件的特征编码和特征参数输入系统后,经过神经网络的智能推理,将输出反馈到设计平台上。
系统首先进行特征编码的输入,以确定零件的特征造型;然后输入每一个特征编码对应的特征参数,图5显示了拉深工序对应的特征参数的录入。特征参数录入完成后可以选择继续添加特征或者生成特征编码文件。图6为一个以记事本方式打开的特征编码文件。将特征编码文件输入人工神经网络,对应的输出为特征造型顺序文件(Y.SFM),数值公式计算模块处理该文件,最后给出智能设计工艺流程(图7)。
图5特征参数录入 图6特征编码文件图7 智能设计系统给出的零件成型顺序及计算结果
6 结论
本文提出了轴对称零件成型工艺的产品建模方法,然后给出了面向对象的建模语言,能够量化表示零件的特征,在将零件的特征编码文件通过神经网络映射和输出的同时,运用KBE系统的自学习理念,将习得的知识存储。实践表明,通过人工神经网络和工艺智能设计系统的应用,能够解决实际的零件设计成型问题。
参考文献:
[1] 高伟.工艺设计信息系统中的知识发现技术研究[D].成都:四川大学,2005:22-23.
[2] 罗小宾.机械产品图像识别技术及其在反求设计中的应用研究[D].成都:四川大学,2004:15-16.
[3] The Knowledge Engineering and Management Centre at Coventry University,UK,[EB/OL].kbe.cov.ar.uk.
[4] MOKA-Methodology & soft-ware tools-- Knowledge based engineering Applications[M].ESPRIT proposal EP25418,1997.
[5] Peng Ying-hong,Zhao Zhen,Ruen Xue-yu.Application of KBE technology in Die & Mold Design[J].International Conference on Die end Mold Technology, Beijing,2000,90-86.
[6] Peng Ying-hong,Zhao Zhen,Ruen Xue.KBE technology in Engineering Design[J].International Conference on Engineering end Technological Sciences 2000, Beijing,2000:94-100
[7] 刘振凯.智能CAD人工神经网络专家系统的模型和结构[J].中国机械工程,1997(2).
1、引言
为了克服传统人工定期现场抄表技术复杂、信息不及时、人为误差大、管理不方便、人力物力浪费等缺点,随着经济的发展,迫切需要研究开发出一种智能远程动态抄表系统,保证电力运营商进行电能经济合理的计量管理。本文利用改进BP神经网络强大数据分析处理、模型自动学习预测等功能,对视频扫描获得的远程电能数据进行集中模块化“学习”训练,获得相应的模块约束值和预定值,并通过计算机程序自动进行图像数据,最终形成动态的电能数据表格,为电能远程自动采集提供了丰富的理论技术。
2、抄表技术概况
2.1 传统人工抄表
传统人工抄表是通过电力运营商雇佣相应电能抄表员登门查表,完成电能抄表校对工作。随着电网规模的扩大,加上电力用户分散,给供电企业抄表带来的巨大的困难。抄表员需要花大量的时间进行抄表和电能数据校对工作,大大增加了电力运营商的负担,造成了大量的人力浪费,同时由于人为误差的存在,给电力用户带来了许多不便,整个电能的抄录过程在时间上存在着明显的离散性,不利于电力运营商的统一管理。
2.2 远程自动抄表
随着电力电子技术和计算机通信技术的不断成熟,远程自动抄表技术已经逐步取代传统人工抄表技术,成为电力运营企业电能抄表的核心技术。远程抄表系统一般由电能检测表计、视频数据采集模块、数据储存模块、数据通信模块、计算机综合数据管理模块五大部分构成,整个系统采用集散式典型结构,具有明显的树型综合通信结构,利用综合通信技术实现了对电能数据的实时动态采集,便于电力运营商进行电能的检测、综合数据分析管理和收费自动化的要求的实现。
3、改进BP神经网络
改进BP是一种基于误差反馈综合比较的神经网络,由于该模型不需要具有精确的数学模型,只需要将外界已知的原始数据作为系统的输入,对整个网络模型进行“学习”训练,网络层通过输入层(INPUT)获得相关的数据信息,通过中间层(Recurrent)进行数据信息处理,再通过输出层(OUTPUT)获得对应的数据信息。
4、图像识别
数字识别技术包括图像处理和数据识别两项重要的任务,是利用计算机对图像分析处理的核心,在目前较多的图像识别、图像复原、图像预测等领域得到了广泛的发展。
4.1 图像采集模块
图像采集器由视频监控单元、COMS图像传感器单元、环境照明、数据初步处理单元(DSP)及RS-485通信网络单元。图像采集模块的系统结构图如图1所示:
图1中,利用低端COMS图像传感器对电能数据进行采集,当采集系统核心单片机系统收到通信网络传输的上级电能数据读取命令时,通过内部控制立即打开COMS图像传感器,在照明灯的帮助下,实现对电能数据的拍摄。单片机数据处理中心进行对刚拍摄的电能图像数据进行裁剪和压缩,形成系统默认的图像格式,并通过RAM储存模块进行保存,完成对电能数据的实时动态采集。当单片系统获得上级发出的图片传送命令时,就会用串行方式通过RS485网络将电能图像数据传输给改进BP神经网络系统,进行相应的数据分析,获得实时动态的电能数据。
4.2图象特征提取
通过图像采集器采集到的电能数据图像,需要通过数据提取技术将图像中所包含的数据信息从模拟化状态提取为实际计算机默认的二维代码,供给改进BP神经网络系统进行学习判断。在图像特征值提取过程中,广泛采用字符分割和数据归一化等技术,将不规则的图像信息转变为规则整齐的数据信号,并作为特征向量矩阵供给改进BP网络系统进行训练,就可以实现改进BP网络的图像字符的识别。
5、实例分析
5.1 仿真结果
为了验证基于改进BP网络电能预测系统的可靠性,利用已采集的图像和图像中所包含的实际电能数字作为改进BP神经网络的学习样本。将图像中实际数字作为输出矩阵, 原始图像信息作为神经网络的输入数据,采用反馈误差最小思想对改进BP神经网络进行“学习”训练,通过系统自动学习获得模型的权值和阀值。本次实验采用10组数据进行分析,其结构如表1所示。
从表1中所获得结构可知,通过改进BP神经网络对视频采集到的电能数据图片特征进行分析识别,其获得对应电能数据的识别率高达99%以上,且整个系统的误差都在10-2量级以内,说明了整个系统的建模精度十分的高,可以满足图像识别技术的要求,达到了电能数据远程采集、自动传输、数字识别等功能,给电能远程采集提供了一个新的研究思路。
6、结束语
改进BP神经网络具有明显的非线性数据处理能力,能够对图像特征数字等进行预测判断,可以有效提高电能数据的处理效率和精度。利用COMS图像采集单元,将远程的电能数据信息通过摄像功能进行拍摄,通过单片机进行图像的预处理,变成系统默认的图片格式,并通过RAM储存器进行图片信息保存,在上级命令的驱动下自动采集和传输电能数据图像。并通过RS485传输给神经网络系统,通过系统自动识别完成对电能数据的分析,实现电能数据的综合分析。基于改进BP神经网络的远程电能采集系统实现远程电能数据采集、分析判断和统一管理,提高了运营商的电能合理经济的计量管理水平。
参考文献
[1] 李国华等.身份证号码的自动识别系统[J].华南理工大学学报,2002,(3):94-96.
[2] 崔政.一种在线图像编码识别系统的设计[J].微计算机信息,2006,22(2):243-245.
在现代机械制造领域中,随着工厂机械制造机器人的普及,机械臂已经变得越来越重要。与传统的工业机械臂相比,未来的机械臂要能够完成更加复杂的机械加工任务。在实际的机械制造机器人应用中,衡量机械臂的工作性能主要是工作效率和工作可靠性指标。
机械臂是一个开链式的多连杆机构,用固定基座来进行固定,机械臂可以根据需要在自由端安装执行器来实现工厂生产操作,关节之间的运动可以带动连杆运动,使得机械臂运动来达到不同的姿态。本文主要针对这个问题展开研究,探讨机械臂的路径规划问题。
2 径向基函数神经网络介绍
神经网络具有分布式存储、并行协同处理和对信息具有自组织自学习等优点,所以广泛应用在人工智能方面。神经网络的大量神经元之间的连接权值和分布分别代表着特定的信息,当网络受损时可以保证网络的输出正确,这种信息处理方式大大提高了网络的容错性和鲁棒性。
径向基函数神经网络是基于函数逼近理论的,是根据系统的海量样本数据来选择隐含层神经元的径向基激活函数,可以用基函数来表示,能够无限的逼近真实的算法表达,它选择合理的隐含层单元个数和作用函数,能够把原来的非线性不可分问题映射成线性可分问题,把不好处理的非线性问题方便的简化为线性问题。径向基函数神经网络在训练时,在给定训练样本后学习算法要解决的核心问题是:设计神经网络的网络结构和求解相关的参数。网络结构设计主要包括网络的输入、网络的输出个数,隐含层节点数目。相关的参数主要包括涉及的参数有径向基函数的中心值、以及函数宽度和权值。
径向基函数神经网络属于一种性能较优的前馈型神经网络,它具有多维度非线性的映射能力和并行信息处理的能力,以及强大的聚类分析能力。与BP神经网络相比,径向基函数神经网络的网络拓扑结构采用的是径向对称的核函数,这样可以大幅提高神经网络的学习速度,同时能够避免陷入局部极小,具有较好的全局寻优能力,同时也具有较好的逼近任意非线性映射能力。
3 机械臂路径规划设计
机械臂轨迹规划主要研究的是机械臂在多维空间中的运动路线,即给定一个初始状态位姿,一个期望的末端执行器的位姿,根据规定的要求来寻找连接初始状态和期望状态的最优有效路径,然后把最优路径转变为机械臂各个关节的空间坐标,进一步转化为机械臂的各个关节的位移、速度和加速度,就形成了机械臂的路径。
机械臂的动力学状态模型为:
其中:D(q)为对称正定的惯量矩阵,为哥式力与离心力矩阵,G(q)为重力项矩阵,q为机械臂关节角位移矢量,为机械臂的角速度矢量,为机械臂的角加速度矢量,为机械臂各关节控制力矩输入矢量。
机械臂的动力学参考模型为:
其中,y为2n+1的参考模型状态矢量,r为n×1的参考模型输入矢量。
径向基函数神经网络包括一个输入层、一个隐层和一个输出层。隐层由一个径向基函数组成,和每个隐层节点相关的参数为网络中心向量和半径。本文选择高斯函数作为径向基函数。本文选择的神经网络训练方法为:输入层到隐层用无导师的聚类算法来训练,常用的是K-均值算法和模糊聚类算法,来确定神经网络的中心向量和半径,隐层和输出层的权值调整用有导师指导算法,来确定权重向量。
算法流程如下:首先对样本数据进行聚类,然后确定神经网络的隐层节点的中心的初始值,将这些样本进行分组,然后将训练样本按照距离的远近向隐层节点的中心聚类,完成后计算样本的均值,将样本均值赋值给隐层中心作为下一次迭代的聚类中心,下一步要判断聚类过程是否结束,聚类结束标志是当划分的每个聚类的样本中心不再变化。然后再计算下宽度半径,宽度半径等于每个聚类中心与该训练样本之间的平均距离。
中图分类号:TP273文献标识码:A
Design of Adaptive Neural Network Controllers for LEO Dragfree Satellite
LI Ji,FAN Huijin
(School of Automation, Huazhong University of Science and Technology, Wuhan,Hubei 430074, China)
Abstract:Lowdisturbance environment can be achieved by the LEO(LowEarth Orbit) dragfree satellite, which benefits the validation of relativity, detection of gravitational waves and measurement of gravity field. For dragfree control purpose, most researches proposed controllers with linearized model and ignoring the nonlinear characteristics, which lower the accuracy of controllers. In this paper, by taking into account of the nonlinear characteristics, an adaptive neural network controller is established based on Lyapunov methods and adaptive backstepping control theory. For nonlinear characteristics and unmodeled dynamics, RBF neural network is employed for approximation. At the same time, we introduce the update laws of adaptive neural network weights, which guarantee the stability of the closedloop system and satisfy requirements of the dragfree satellite control system. The simulation results indicate that the controller is effective and the accuracy of the dragfree satellite can be satisfied.
Key words:Dragfree satellite;adaptive control;RBF neural network;backstepping
1 引 言
低轨卫星在太空飞行的过程中,承受着来自星际空间的各种扰动[1],例如,地球、太阳、月亮引力的影响,以及大气阻力、太阳辐射和地面反射等非惯性力的影响。然而相对论的验证、引力波探测以及地球重力场的测量等都需要低干扰试验环境。为了消除非惯性力的影响,文献[1]提出无拖曳(drag-free)技术,设计了无拖曳卫星:用一个质量块置于卫星本体内部,质量块将不受大气阻力等外部干扰力的影响,因为质量块不与卫星本体接触,所以几乎处于自由漂移状态,成为理想的宁静参考源。卫星本体保持与质量块之间相互隔离的状态,在适当传感器和控制算法条件下,从而保证卫星本体实现较高的宁静性[1]。
无拖曳卫星控制器不但可以使卫星保持稳定,而且良好的控制效果有助于航天任务的完成以及降低对硬件的要求,所以无拖曳卫星控制器设计一直是无拖曳卫星研究的重点。Stephan Theil[2-3]等人考虑了无拖曳卫星控制系统的不确定性,利用分散控制策略设计了系统的鲁棒控制器。E.Canuto[4-5]等人针对GOCE卫星,建立离散时间状态方程,利用嵌入式模型控制策略设计了可调控制器。文献[6]基于干扰观测模型,设计了混合H2/H
SymboleB@
最优控制器,并以LMI形式给出了求解控制器的条件并证明了控制器的稳定性。文献[7]针对卫星本体与质量块相对轨道动力学模型,采用卡尔曼滤波方法对状态和干扰进行了估计,并基于状态估计设计了最优控制器,有效地抑制了干扰对系统的影响。文献[8]基于H2优化理论设计了最优控制器,通过传递函数法及数值法双重分析表明所设计的控制器符合控制要求。
在这些已有的控制器设计中,大多未考虑系统的非线性环节或采用线性化方法,将系统简化为线性模型,从而降低了控制器的精度。由于无拖曳卫星控制系统本质上是一个复杂的非线性系统,本文将直接针对非线性模型,考虑到系统的非线性特征及未建模动态,利用神经网络对函数的有效逼近能力,对系统模型中的非线性部分进行拟合。首先,本文将无拖曳卫星控制系统根据控制目标划分为三个子系统:卫星本体与质量块相对位移子系统,即drag-free子系统;卫星本体姿态子系统;以及卫星本体与质量块相对姿态子系统。接着,针对每个二阶子系统,利用径向基函数(Radial Basis Function)神经网络对系统的非线性部分进行拟合,通过对基函数中心和方差进行学习,并采用自适应反步控制方法,设计相应控制器,建立神经网络权值自适应律以及分散自适应控制律。仿真结果验证了所设计的控制器的有效性。
计算技术与自动化2014年6月
第33卷第2期李 季等:低轨无拖曳卫星的自适应神经网络控制器设计
本文下面内容安排如下:第2节问题描述,建立无拖曳卫星的动力学模型;第3节针对drag-free控制回路、卫星本体姿态控制回路以及卫星本体与质量块相对姿态控制回路,分别设计控制器,同时给出了稳定性分析;第4节通过仿真证明所设计的控制器的有效性;第5节给出结论与进一步的工作。
2 问题描述
本文所考虑的低轨无拖曳卫星结构设计如下:无拖曳卫星只包含一个质量块,且形状为立方体,卫星内腔壁上的位置敏感器能够测量卫星本体和质量块的相对位置。这里采用静电位置悬浮及测量系统EPS(Electrostatic Positioning/Measurement System) 来测量质量块相对移动并对其施加静电力和力矩,根据EPS的测量结果,命令推进器输出相应的推力,使卫星本体跟踪质量块。推进器可以选择场发射推进器和微胶体推进器,它们具有极低的噪声干扰,而且可以实现极小的推力,非常适合无拖曳控制。但在近地环境中,大气阻力有时比较大,尤其在卫星的迎风面,此时需要采用推力较大的推进器,如离子推进器。所以在近地环境中,无拖曳控制往往采用了多种推进器组合的方式[1,8]。本文将无拖曳卫星控制系统根据控制目标划分为三个控制回路:卫星本体与质量块相对位移控制回路,即dragfree控制回路,卫星本体姿态控制回路以及卫星本体与质量块相对姿态控制回路,相关动力学方程如下[9]:
卫星本体与质量块相对位移动力学方程:
rel=1mtm(FGtm+FDtm+FSCtm)-
1msc(FGsc+FCsc+FDsc+FTMsc)-
2ωsc×rel-ωsc×(ωsc×(rh+rrel))-
sc×(rh+rrel)(1)
其中,rrel表示卫星本体和质量块的相对位移,rh表示敏感器空腔中心与卫星质心的距离,mtm表示质量块的质量,msc代表卫星本体的质量,ωsc表示卫星本体姿态角速度,FGtm、FGsc分别表示卫星本体和质量块受到的重力,FDtm、FDsc分别表示卫星本体和质量块受到的非惯性力,FCsc表示卫星本体受到的控制力,FSCtm、FTMsc表示卫星本体和质量块之间的耦合力。
卫星本体姿态动力学方程:
sc=I-1sc[TCsc+TDsc+TTMsc-ωsc×(Iscωsc)](2)
其中,ωsc表示卫星本体姿态角速度,Isc表示卫星本体的转动惯量,TCsc,TDsc,TTMsc分别表示卫星本体受到的控制力矩、干扰力矩和耦合力矩。
卫星本体和质量块的相对姿态动力学方程:
rel=tm-ATSsc+ωtm×ATSωsc=
I-1tm[TCtm+TDtm+TSCtm-
(ωrel+ωsc)×(Itm(ωrel+ωsc))]-
ATSsc-ATSωsc×ωrel(3)
其中,ωrel表示卫星本体和质量块的相对姿态角速度,ωtm表示质量块的姿态角速度,ωsc表示卫星本体姿态角速度,TCtm,TDtm,TSCtm分别表示质量块受到的控制力矩、干扰力矩和耦合力矩,ATS表示从卫星本体坐标系到质量块本体坐标系的旋转矩阵。
通常将质量块和卫星间的静电耦合基本模型看作一个弹簧―阻尼系统,以质量块为例,在敏感器坐标系下受到的耦合力和力矩形式如下:
FSCtm=-Ktransrrel-Dtransrel(4)
TSCtm=-Krotθrel-Drotrel (5)
其中,Ktrans为卫星本体和质量块之间的耦合水平弹性系数,Dtrans为水平阻尼系数,Krot为卫星本体和质量块之间的耦合旋转弹性系数,Drot为旋转阻尼系数。
通过线性化处理后,得到低轨无拖曳卫星控制系统的动力学简化模型如下:
rel=vrel
rel=-Ktransmtmrrel-Dtransmtmvrel-1mscFCsc+
f1(rrel,vrel
sc=ωsc
sc=I-1scTCsc+f2(φsc,ωsc)
rel=ωrel
rel=I-1tmKrotφrel+I-1tmDrotωrel+
I-1tmTCtm-I-1scTCsc+f3(φrel,ωrel)(6)
系统(6)中,φsc、ωsc分别表示卫星本体的姿态角和姿态角速度,rrel、vrel分别表示卫星本体和质量块的相对位移和相对运动速度,φrel、ωrel分别表示卫星本体和质量块的相对姿态角和相对姿态角速度。本文以欧拉角的形式给出了卫星本体和质量块的姿态。
f1(rrel,vrel),f2(φsc,ωsc),f3(φrel,ωrel)为未知光滑函数,代表系统的非线性特征、未建模动态及未知扰动。
注2.1与文献[9]相比,本文将扰动项1mscFDsc包含在了f1中,I-1scTDsc包含在了f2中,I-1tmTDtm、I-1scTDsc包含在了f3中,因此,文献[9]中所研究的模型是本文系统(6)的特例。
上述系统中所涉及的变量均为3维:包含x、y、z三个坐标轴方向。为了清晰地阐述本文的主要思想,以下将仅考虑单个坐标轴方向,并且假设变量之间以及坐标轴之间的交叉耦合量足够小。
定义x=[x11,x12,x21,x22,x31,x32]T,其中状态变量依次代表rrel、vrel、φsc、ωsc、φrel、ωrel。
系统(6)可写成如下三个子系统:
卫星本体与质量块相对位移子系统,即dragfree子系统:
Σ1:11=x1212=a1x11+b1x12+c1u1+f1(x11,x12)(7)
卫星本体姿态子系统:
Σ2:21=x2222=c2u2+f2(x21,x22)(8)
卫星本体与质量块相对姿态子系统:
Σ3:31=x3232=a2x31+b2x32-c2u2+c3u3+f3(x31,x32) (9)
其中,a1=-Ktransmtm,a2=I-1tmKrot,b1=-Dtransmtm,b2=I-1tmDrot,c1=-1msc,c2=I-1sc,c3=I-1tm,u1=FCsc,u2=TCsc,u3=TCtm。f1(x11,x12),f2(x21,x22),f3(x31,x32)代表系统的不确定性、未建模动态及未知扰动。
3 控制器设计
3.1 RBF神经网络
本文的目的是基于Lyapunov稳定性理论和自适应反步控制,对无拖曳卫星控制系统的非线性模型进行分析,设计一种自适应神经网络控制器。
人工神经网络形式多种多样,RBF神经网络是其中应用较为广泛的一种,表达形式如下[10-11]:
Ψ(X)=WTΦ(X) (10)
其中,W=[w1,w2,...,wl]T∈Rl为权重向量,Φ(x)=[φ1(X),φ2(X),...,φl(X)]T为基函数向量,l为隐含层神经元的个数,X=[x1,x2,...,xn]代表系统中的状态变量,并作为网络的训练样本输入。基函数i(X)选择高斯函数,表达式如下:
φi(X)=exp -X-ci22σ2i(11)
其中,ci=[ci1,ci2,...,cin]T是隐含层第i个径向基函数的中心点,n为输入层向量的维数,σi是径向基函数的宽度。
3.2 dragfree控制回路
3.2.1 控制器设计
系统Σ1表示dragfree控制回路:
Σ1:11=x1212=a1x11+b1x12+c1u1+f1(x11,x12)
f1(x11,x12)为未知光滑函数,由于RBF神经网络对于光滑函数的有效逼近能力,此时我们采用RBF神经网络对其进行拟合,表达式如下:
f1(x11,x12)=WT1Φ1(x11,x12) (12)
定义1为权值的估计值,1为权值的估计误差。即:
1=W1-1(13)
本节将采用RBF神经网络来对f1进行拟合,结合自适应反步控制,建立权重W1的自适应律,通过调节权重,可以达到系统自适应控制的目的。
第一步:考虑x11子系统,选择Lyapunov函数:
V11(x11)=12x211 (14)
对V11求导,得:
11=x1111=
x11x12(15)
将x12看成x11子系统的虚拟控制,令:
x12=z12+α11(x11)(16)
其中,z12为引入的新的虚拟控制,α11(x11)满足α11(0)=0,并选取为:
α11(x11)=-k11x11 (17)
其中,k11>0为可调参数。所以
11=x11(z12+α11(x11))=
-k11x211+x11z12(18)
第二步:考虑系统(x11,x12),选择Lyapunov函数:
V12(x12,x12)=V11(x11)+
12z212+12T1Γ11(19)
其中,Γ1为正定矩阵。
对V12求导,得:
12=-k11x211+x11z12+z1212+•T1Γ11=
-k11x211+z12(x11+12-α11x1111)+•T1Γ11=
-k11x211+z12(x11+a1x11+b1x12+
c1u1+WT1Φ1+k11x12)+•T1Γ11=
-k11x211+z12(x11+a1x11+b1x12+
c1u1+T1Φ1+k11x12)+z12T1Φ1+
•T1Γ11=
-k11x211+z12(x11+a1x11+b1x12+
c1u1+T1Φ1+k11x12)+(z12ΦT1+•T1Γ1)1 (20)
选取控制量为
u1=1c1(-x11-a1x11-b1x12-T1Φ1-
k11x12-k12z12) (21)
其中,k11>0,k12>0为可调参数。
权值自适应律1为
•1=z12Γ-T1Φ1=
(x12+k11x11)Γ-T1Φ1(22)
3.2.2 稳定性分析
定理 1[12] 考虑如下非线性系统
=f(x)
且
f(0)0 (23)
若存在具有连续1阶偏导数的标量函数V(x),满足以下条件:
1)V(x)是正定的;
2)(x)=dV(x)/dt是负定的;
3)当x
SymboleB@
时,V(x)
SymboleB@
。
则在系统原点处的平衡状态是大范围渐近稳定的。
通过上述控制器设计,由式(19),显然V12是正定的,又12=-k11x211-k12z212,由于k11,k12为大于零的可调参数,所以12是负定的,当x11
SymboleB@
,z12
SymboleB@
时,V12
SymboleB@
,所以x11,z12在平衡状态是大范围渐近稳定的。又由式(16)和式(17)可知,当t
SymboleB@
,x110,z120时,有x120,所以x11,x12在平衡状态是大范围渐近稳定的。
3.3 姿态控制回路
3.3.1 卫星本体姿态控制回路
卫星本体姿态状态方程如下:
Σ2:21=x2222=c2u2+f2(x21,x22)
f2(x21,x22)为未知光滑函数,我们采用RBF神经网络对其进行拟合,表达式如下:
f2(x21,x22)=WT2Φ2(x21,x22)(24)
定义2为权值的估计值,2为权值的估计误差。即:
2=W2-2(25)
本节将采用RBF神经网络来对f2进行拟合,结合自适应反步控制,建立权重W2的自适应律,通过调节权重,可以达到系统自适应控制的目的。
第一步:考虑x21子系统,选择Lyapunov函数:
V21(x21)=12x221(26)
对V21求导,得:
21=x2121=x21x22(27)
将x22看成x21子系统的虚拟控制,令:
x22=z22+α21(x21)(28)
其中,z22为引入的新的虚拟控制,α21(x21)满足α21(0)=0,并选取为:
α21(x21)=-k21x21(29)
其中,k21>0为可调参数。所以
21=x21(z22+α21(x21))=-k21x221+x21z22(30)
第二步:考虑系统(x21,x22),选择Lyapunov函数:
V22(x21,x22)=V21(x21)+
12z222+12T2Γ22(31)
其中,Γ2为正定矩阵。
对V22求导,得:
22=-k21x221+x21z22+z2222+•T2Γ22=
-k21x221+z22(x21+22-α21x2121)+•T2Γ22=
-k21x221+z22(x21+c2u2+WT2Φ2+
k21x22)+•T2Γ22=
-k21x221+z22(x21+c2u2+T2Φ2+
k21x22)+z22T2Φ2+•T2Γ22=
-k21x221+z22(x21+c2u2+T2Φ2+
k21x22)+(z22ΦT2+•T2Γ2)2 (32)
选取控制量为
u2=1c2(-x21-T2Φ2-
k21x22-k22z22) (33)
其中,k21>0,k22>0为可调参数。
权值自适应律2为
•2=z22Γ-T2Φ2=(x22+k21x21)Γ-T2Φ2 (34)
3.3.2 卫星本体与质量块相对姿态控制回路
卫星本体与质量块相对姿态状态方程如下:
Σ3:31=x3232=a2x31+b2x32-c2u2+c3u3+f3(x31,x32)
f3(x31,x32)为未知光滑函数,我们采用RBF神经网络对其进行拟合,表达式如下:
f3(x31,x32)=WT3Φ3(x31,x32) (35)
定义3为权值的估计值,3为权值的估计误差。即:
3=W3-3(36)
本节将采用RBF神经网络来对f3进行拟合,结合自适应反步控制,建立权重W3的自适应律,通过调节权重,可以达到系统自适应控制的目的。
第一步:考虑x31子系统,选择Lyapunov函数:
V31(x31)=12x231 (37)
对V31求导,得:
31=x3131=x31x32(38)
将x32看成x31子系统的虚拟控制,令:
x32=z32+α31(x31)(39)
其中,z32为引入的新的虚拟控制,α31(x31)满足α31(0)=0,并选取为:
α31(x31)=-k31x31 (40)
其中,k31>0为可调参数。所以
31=x31(z32+α31(x31))=-k31x231+x31z32(41)
第二步:考虑系统(x31,x32),选择Lyapunov函数:
V32(x31,x32)=V31(x31)+
12z232+12T3Γ33(42)
其中,Γ3为正定矩阵。
对V32求导,得:
32=-k31x231+x31z32+z3232+•T3Γ33=
-k31x231+z32(x31+32-α31x3131)+•T3Γ33=
-k31x231+z32(x31+a2x31+b2x32-c2u2+
c3u3+WT3Φ3+k31x32)+•T3Γ33=
-k31x231+z32(x31+a2x31+b2x32-c2u2+
c3u3+T3Φ3+k31x32)+z32T3Φ3+
•T3Γ33=
-k31x231+z32(x31+a2x31+b2x32-c2u2+
c3u3+T3Φ3+k31x32)+(z32ΦT3+•T3Γ3)3 (43)
选取控制量为
u3=1c3(-x31-a2x31-b2x32+c2u2-
T3Φ3-k31x32-k32z32)(44)
其中,k31>0,k32>0为可调参数。
权值自适应律3为
•3=z32Γ-T3Φ3=(x32+k31x31)Γ-T3Φ3(45)
3.3.3 稳定性分析
由定理1,对于子系统Σ2,由式(31),显然V22是正定的,又22=-k21x221-k22z222,由于k21,k22为大于零的可调参数,所以22是负定的,当x21
SymboleB@
,z22
SymboleB@
时,V22
SymboleB@
,所以x21,z22在平衡状态是大范围渐近稳定的。又由式(28)和式(29)可知,当t
SymboleB@
,x210,z220时,有x220,所以x21,x22在平衡状态是大范围渐近稳定的。同理可得,x31,x32在平衡状态是大范围渐近稳定的。
4 仿真分析
本节为了证实所提出的控制器的有效性,在matlab/simulink环境下进行了仿真验证。
仿真参数如下[9]:卫星本体质量为1050 kg,质量块质量为1 kg,卫星本体和质量块之间的初始相对距离为rrel=1×10-3m,卫星本体和质量块之间的初始相对姿态为φrel=1•π/180rad,卫星本体和质量块之间的耦合水平弹性系数Ktrans=1×10-6N/m,水平阻尼系数Dtrans=1.4×10-11N/m2,卫星本体和质量块之间的耦合旋转弹性系数Krot=1×10-9N•m/rad,旋转阻尼系数Drot=3.3×10-14N/rad,卫星本体的转动惯量Isc=200kg•m2,质量块的转动惯量Itm=2.667×10-4kg•m2。
仿真结果如图1―图3所示。
图1 卫星本体与质量块的相对位移
图2 卫星本体的姿态
从图1中可以看出,在含有不确定的情况下,通过设计的控制器,卫星本体与质量块的相对位移最终趋于零,说明卫星本体能够很好的跟踪质量块,达到dragfree控制的要求,并且精度在10-6数量级,满足dragfree控制的精度需求。图2~图3给出了卫星本体的姿态以及卫星本体与质量块的相对姿态及其控制精度,仿真结果很好的满足了卫星本体与质量块姿态的一致性。
图3 卫星本体与质量块的相对姿态
5 结 论
本文针对无拖曳卫星控制系统,考虑到系统的不确定性、未建模动态以及外界的未知扰动,采用神经网络的方法进行补偿,基于Lyapunov 稳定性理论,结合自适应反步控制,得到权值的更新律以及相应的控制器。仿真结果表明,所设计的控制器有效地抑制了不确定对控制系统的影响。
与传统卫星控制系统相比,无拖曳卫星对控制系统提出了极高的性能指标要求,下一步将考虑存在耦合时,卫星模型的建立和控制器的设计。
参考文献
[1] 施梨,曹喜滨,张锦绣,等. 无阻力卫星发展现状[J]. 宇航学报, 2010,31(6):1511-1520.
[2] PETTAZZI L, LANZON A,THEILS. Design of Robust Decentralized Controllers for Dragfree Satellite[C].Proc.47th IEEE conf. Decision and Control, 2008:602-607.
[3] PETTAZZI A,LANZON A,THEIL S. Design of Robust Drag-Free Controllers with Given Structure[J]. GUIDANCE, CONTROL, AND DYNAMICS, 2009,32(5):1609=1620.
[4] ANDREIS D,CANUTO E. DragFree and Attitude Control for the GOCE satellite[C].Proc.44th IEEE conf. Decision and Control, 2005:4041-4046.
[5] CANUTO E,BONA B,CALAFIORE BM. Indri. Dragfree control for the European satellite GOCE. Part I:modelling[C].Proc.41th IEEE conf. Decision andControl, 2002:1269-1274.
[6] 曹喜滨,施梨,董晓光,等. 基于干扰观测的无阻力卫星控制器设计[J].宇航学报, 2012,33(4):411-418.
[7] 李传江,王玉爽,马广富,等. 带卡尔曼估计器的无拖曳卫星干扰补偿控制[J].哈尔滨工业大学学报, 2012,44(7):8-13.
[8] 李洪银,胡明. 单测试质量无拖曳卫星无拖曳及姿态系统仿真及其控制研究[J].天文学报, 2011,52(6):525-536.
[9] 王玉爽. 无拖曳卫星控制方法研究[D]. 哈尔滨:哈尔滨工业大学, 2011.
中图分类号: TP183
文献标识码:A
0引言
随着计算机图形学和硬件技术的高速发展,计算机游戏近十几年也取得了很大的发展,游戏软件已成为软件产业中非常重要的内容。游戏的类型主要包括FPS(第一人称射击)、RPG(角色扮演类型)和RTS(即时战略游戏)等几种类型,这些不同类型的游戏都要求游戏控制的角色(NPC)与玩家控制的角色(PLAYER)要有行为的交互,交互的方式直接影响玩家对游戏的兴趣度。因此,对NPC与PLAYER之间的角色交互行为方式的研究已经成为游戏软件中的一个非常重要的研究课题。
目前大多数游戏中的角色行为的交互方式采用的是确定型的交互行为,其特征主要表现在角色的行为都是预先确定的,这种类型的行为实现起来较为简单,也是目前大多数游戏所采用的交互方式。像这种确定性的行为往往体现不出角色的自主性,而且还会导致角色行动单调乏味,其行动很容易被玩家所预测,降低游戏的可玩性。为此,我们需要在游戏软件中设计和实现这样的NPC角色,它能够根据当前环境的变化以及以往的经验知识来动态地改变对PLAYER的行为。具有这种能力的角色,我们称之为自主角色,也称为自适应角色。具有自主和自适应特点的角色可具有推理能力和自适应能力,在游戏环境下可更受玩家的欢迎。
一款拥有自主角色的游戏能够牢牢地吸引玩家的注意力,从而延长这款游戏的生命周期,因此促使游戏开发人员花更多的时间来研究自主角色的实现。一些公司已经开始尝试从人工智能领域发展出更加高级的技术,如采用决策树或者强化学习来实现角色的自主性,也有的像著名的游戏Colin McRae Rally2则采用了学习系统和神经网络来实现角色的自主性。
有关自主角色行为的论文已经有很多做出了卓有成效的成绩,如在Reynolds的文献[1]中,对自主角色的群体行为进行了描述。Blumberg和Galyean[2]中引入更多的行为控制机制,并考虑了行为学习这样一个令人感兴趣的问题。对于自主角色的更高层次的认知能力方面,John David Fungc[3]中指出,认知模型是用于创建虚拟世界的模型“金字塔”的顶层,底层的行为模型作为认知模型和物理学模型之间的缓冲区,并将情景演算(situation calculus)[4]用于高度动态的虚拟世界。
但是,上述各种方法因为侧重点不同,各有优缺点,且相互之间较为独立,因此本文结合上述一些方法的优点,在此基础上提出了基于认知角色建模,采用神经网络和遗传算法相结合的游戏自主角色的设计思路。基于此,各小节安排如下:
第一节确定了基于认知建模方法的游戏自主角色模型;第二节介绍了神经网络在实现自主角色中的应用;第三节说明了遗传算法对神经网络的优化;第四节对自主角色的实验进行了分析。
1基于认知建模的角色自主性模型
由于认知建模方法能够采用精确的数学方式来定义自主角色的行为和学习模式,因此本文采用认知建模方法来对游戏角色的自主性进行建模。这里将游戏中存在的非玩家控制的角色简称为NPC,通过认知建模方法研究NPC的高级行为规划,指导NPC,提高NPC的智能水平能力,使NPC能够对环境作出判断,并根据当前的状态进行推理,进而完成相应的行动序列,有利于创建聪明自主的智能体――具有认知能力的自主的角色。
在计算机游戏中,我们将游戏角色关于他所在世界的内部模型称“认知模型”(Cognitive Model)。认知模型可以用于游戏中,控制一类自主的角色。通过认知模型支配游戏角色对其所在环境的了解程度,如何获取知识,以及如何利用知识选择行动。
NPC的行为分为“预定义的”和“非确定性的”两种,建立的认知模型也各不相同。建立预定义行为的认知模型比较简单,只要将事先定义好的NPC所在环境的领域知识赋予NPC系统,NPC就可以根据人们的要求采取某种行动。而非确定性的行为不容易控制。为了实现人为的控制,我们采取一种折中的方法,即将领域知识和人的指导赋予NPC,使NPC主动地向人们希望它达到的目标发展。可由下面的公式表示:
知识+指导=行为
领域知识能够用来规划目标,而指导对如何达到目标提供一种框架计划。
当然NPC在决定采取什么样的行动时并不需要整个虚拟世界的知识。所以,我们认为NPC的认知模型是角色对其虚拟世界的一种内部简化模型〔simplified model〕。
为此我们在现有游戏系统之上营造一个通过认知模型定义的高级行为规划器来实现对NPC的行为指导。规划器模型设计如图1所示。
NPC的预定义行为和非确定行为都可以形式化为认知模型,通过认知模型来指导NPC高级行为规划器,由于神经网络在非确定中的强大的学习作用,因此本项目通过神经网络来实现NPC高级行为规划器的三个方面:目标引导、行为协调、约束满足。
2基于人工神经网络的角色自主系统
这里,我们采用的是神经网络中的BP网络作为NPC的感知系统。BP算法是一种用于多层前向网络的学习算法,它包括输入层、输出层和隐含层,隐含层可以是多层结构。BP网络的学习过程包括两个阶段:第一阶段计算前向输出;第二阶段从反向调整连接权矩阵。
在前向传播过程中,输入信息从输入层经隐含层逐层处理,并传向输出层,每一层神经元的输出作为上层神经元的输入.如果在输出层,实际输出值与期望输出值有误差时,则以反向将误差信号逐层修改连接权系数并且反复迭代,最后使实际输出值与期望值的均方差为最小。在修正连接权系数时,通常采用梯度下降算法。
BP神经网络使用的是指导式的学习方法,即在学习过程中,向网络提供有明确输入和输出目标的样本对。BP学习算法是基于最小二乘法LMS 算法,运用梯度下降方法,使网络的实际输出与期望输出的均方差最小。网络的学习过程是一种误差边向后传播边修正连接权的过程。因为BP网络对以分类为主要目的的学习非常有效,所以,我们采用B P网络进行NPC分类的自学习。需要输入NPC自主系统中BP网络的特征参数主要是NPC的生命值,NPC的攻击力,NPC的防御力,NPC的情感值等,玩家虚拟角色的生命值,玩家虚拟角色的攻击力,玩家虚拟角色的防御力,玩家虚拟角色的情感值等。
NPC在虚拟游戏环境下,在与玩家的不断交互中刺激着感知系统,在外界环境发生变化时产生认知模型指导下的自主行为,通过神经网络最终演化成具有自主性的行为系统,同时,利用遗传算法使适应度有一定程度的增加,使NPC更适应外界环境的变化。关于NPC的感知系统的设置如下:
1) 输入参数的确定
NPC的感知系统由人工神经网络构成,虚拟游戏环境的特征参数作为输入送入神经网络进行学习。在我们的游戏项目中,输入主要包括三种类型:布尔类型、枚举类型和连续类型三种,但是这三种类型都需要转化成神经网络所认可的实数类型。
2) 权重的确定
权重有些类似于生物神经网络的树突联结,权重影响了输出变量的值,并且定义了神经网络的行为,实际上训练或者演化神经网络的主要目标就是确定NPC神经网络的权重。为了确定每个输入参数的权重,需要确定激活函数。
3) 激活函数的确定
激活函数确定了输入与输出参数之间的映射关系,针对NPC自主角色的神经网络,我们采用的是非线性激活函数,具体采用的是S型激活函数。
3基于遗传算法的神经网络优化
神经网络的基本特征是大规模并行处理、容错性、自适应性和自组织性,适合处理直觉和形象思维信息。神经网络与遗传算法的结合使神经网络的训练有了一个崭新的面貌,目标函数既不要求连续,也不要求可微,仅要求该问题可计算,而且它的搜索始终遍及整个解空间,因此容易得到全局最优解。用遗传算法优化神经网络,可以使得神经网络具有自进化、自适应能力,从而构造出进化的神经网络(ENN)[5]。
研究NPC的进化,要建立NPC在虚拟环境中进行的各种行为模型。另外,同虚拟环境本身也会发生竞争。由于适应度是NPC竞争力大小的直接反映,为了建立NPC的竞争机制,首先要建立NPC的适应度函数。
首先,NPC的适应度函数和NPC的种类相关。在同一环境下,不同NPC的适应度肯定是不相同的[6]。同时,为了表现NPC自学习对进化的影响,有了学习能力的同种NPC适应度的取值也有所不同。其次,NPC的适应度还与其所处的不同阶段有关。适应度取值在其不同阶段中不是一成不变的。
在环境不发生变化时,NPC的适应度函数F(t)可以用此函数表示:
其中,参数a表示NPC的生命力值;参数k表示NPC的类型,不同的NPC对同一游戏环境的适应性是不一样的,当k取不同的值时,会得到适应度不同的各种NPC。接着按照以下工作步骤操作:
1) 从NPC神经网络中提取权重向量;
2) 用遗传算法演化出一个新的网络权重群体;
3) 把新的权重插入到NPC神经网络;
4) 转到第一步进行重复,直至获得理想的性能。
4试验分析
我们的实验测试场景如下:
在一个仿真的三维游戏环境下,游弋着若干个NPC角色和一个玩家控制的虚拟角色,主角可以漫游整个游戏场景,这些NPC当遇到主角后,可能会对主角采取不同的行为,比如攻击行为,逃避行为,团队作战行为,对话行为等,所有这些行为的决策都取自于神经网络的训练。
在采用神经网络算法之前,所有的NPC无论强弱,都会主动向玩家角色发起攻击,而在采用神经网络算法之后,这些NPC都具有了一个人工大脑,每个NPC在与玩家角色的交互过程不断地学习,不断地演化,最终变成自主角色,具体表现在:NPC根据以往与玩家角色交互过程中的经验,从而产生较为理智的行为,比如当NPC感觉玩家的综合实力要高于自己时,它可能会采取逃避的行为,而当NPC感觉其综合实力要高于玩家时,它往往会主动攻击玩家。
表1和表2列举了应用神经网络算法前后的测试数据。
应用神经网络算法所采取的实验方案如下:
(1) 对于NPC感知系统的输入,包括与虚拟玩家角色的距离, 虚拟玩家的攻击力,防御力,生命力,魔法力,信誉度,NPC自身的攻击力,防御力,生命力,魔法力,信誉度。并将参数归一化,使最终的参数范围位于[-1, 1]之间;
(2) 对于NPC感知系统的输出,包括躲避,单独攻击,潜伏,召唤同伴,团队攻击等行为。即将神经元的输出元设计成五个,这些行为通过一些标志符来确定,例如, 如果代表攻击的输出位为1,则其他位为零。