用于太阳跟踪器的跟踪系统及跟踪方法与流程

文档序号:12731822阅读:353来源:国知局
用于太阳跟踪器的跟踪系统及跟踪方法与流程

本发明涉及太阳跟踪器技术领域,具体来说是用于太阳跟踪器的跟踪系统及跟踪方法。



背景技术:

为了能够精确的跟踪太阳,用于太阳能发电和移动车载测量的掩日通量遥测技术(Solar-occulation flux,SOF)的太阳跟踪器应运而生。用于太阳能发电的太阳跟踪器是定点监测,目前多采用双轴太阳跟踪器,根据经纬度信息,可算出太阳实时的方位角和高度角,该输出做出控制信号用于调节俯仰轴和方位轴的状态从而实现太阳跟踪。而用于车载SOF的太阳跟踪器,目前采用PSD作为反馈元件,根据PSD上光斑的位置作为反馈信号用于调节主反射镜的位置,从而使后端的光谱仪获得最大的光强。而在控制算法上,根据PSD输出信号的大小设置不同的调节步长。

其中,x为调节步长,a,b为常数,且a>b,e为PSD输出的太阳实际位置与中心点的误差信号,e0为设定的阈值常数。目前的控制算法跟踪速度慢和精度差且鲁棒性差,当车辆出现颠簸或有其他因素带来的干扰信号时,会出现跟踪效果差甚至不能跟踪的情况。为了改进移动太阳跟踪器的性能,采用GA算法优化BP网络的二自由度PID控制。



技术实现要素:

本发明的目的是为了解决现有技术中太阳跟踪器的控制算法跟踪速度慢和精度差且鲁棒性差,当车辆出现颠簸或有其他因素带来的干扰信号时,会出现跟踪效果差甚至不能跟踪的缺陷,提供用于太阳跟踪器的跟踪系统及跟踪方法来解决上述问题。

为了实现上述目的,本发明的技术方案如下:

用于太阳跟踪器的跟踪系统,包括GA样本数据预处理模块、BP网络调整模块、PID控制器模块;

所述GA样本数据预处理模块根据样本数据进行个体寻优,得到适应度最大的个体并传递给BP网络调整模块作为最优初值进行训练;

在最优初值的基础上,通过BP网络调整模块反向传输,调整隐含层和输出层的权值和阈值,使得到的误差评价函数小于设定的误差阈值,得到调整好的P、I、D参数;

BP网络调整模块将调整好的P、I、D参数传递给PID控制器模块,PID控制器模块根据二自由度对被控对象进行控制,使PID控制器跟踪性能和抗干扰性能达到最佳。

优选的,跟踪系统还包括反馈系统模块;所述反馈系统获取被控对象的输出信号和PID控制器的输入信息,反馈系统根据给定的输入信号和被控对象的输出信号求得误差信号并根据误差信号进行调节,形成一个闭环控制。

优选的,所述GA样本数据预处理模块包括选择、交叉、变异算子操作单元;所述选择、交叉、变异算子操作单元对交叉率pc和变异率pm进行自适应调整求得种群中适应度最优的个体,并将适应度最优的个体不经任何交叉、变异操作直接进入下一代种群,即新种群。

优选的,所述GA样本数据预处理模块还包括灾变判断单元;所述灾变判断单元计算所述新种群的适应度,若灾变停止或到达设定的灾变次数,则GA算法预处理完成,将得到的最优初始权值和阈值传递给BP网络。

优选的,所述BP网络调整模块包括BP网络训练单元;所述BP网络训练单元获取优化后的权值和阈值作为初始值,根据动量-自适应学习率调整初始权值和阈值,并采用Levenberg-Marquardt算法最优化算法寻找最优的PID参数值。

本发明还提供一种应用于上述任一所述的用于太阳跟踪器的跟踪系统的跟踪方法,该方法首先以跟踪性能最佳为控制目标进行PID参数调节,再以抗干扰性能最佳为控制目标进行参数调节,具体调节步骤如下:

1)样本数据预处理

先通过GA算法对样本数据进行个体寻优,得到适应度最大的个体并传递给BP网络作为最优初值进行训练;

2)BP网络训练

在最优初值的基础上,通过BP网络反向传输,调整隐含层和输出层的权值和阈值,使得到的误差评价函数小于设定的误差阈值,得到调整好的P、I、D参数;

3)PID控制

BP网络调整模块将调整好的P、I、D参数传递给PID控制器模块,PID控制器模块根据二自由度对被控对象进行控制,使PID控制器跟踪性能和抗干扰性能达到最佳。

优选的,所述跟踪方法还包括信号反馈调节过程;具体为:

所述反馈系统获取被控对象的输出信号和PID控制器的输入信息,反馈系统根据PID控制器的输入信号和被控对象的输出信号求得误差信号并根据误差信号进行调节,形成一个闭环控制。

优选的,所述步骤1)中,具体为通过选择、交叉、变异算子操作单元对交叉率pc和变异率pm进行自适应调整求得种群中适应度最优的个体,并将适应度最优的个体不经任何交叉、变异操作直接进入下一代种群,即新种群;采用的自适应交叉率pc和变异率pm的计算公式为:

其中,α1,α2为两个大于0的常数,pc1,pc2,pm1,pm2为根据经验得出的常数,分别为0.85、0.65、0.1、0.001;favg、fmax、fc'分别为该种群的平均适应度、总适应度、该个体的适应度。

优选的,得到所述新种群后,再对该新种群的适应度进行灾变判断,若灾变停止或到达设定的灾变次数,则GA算法预处理完成,将得到的最优初始权值和阈值传递给BP网络。

优选的,所述步骤2)中,所述BP网络训练单元获取优化后的权值和阈值作为初始值,根据动量-自适应学习率调整初始权值和阈值,并采用Levenberg-Marquardt算法最优化算法寻找最优的PID参数值;其中,动量-自适应学习速率调整计算公式为:

β(k+1)=τ*3λ*β(k)

其中,β为学习速率因子,λ为梯度方向,τ为学习误差系数;

Levenberg‐Marquardt算法的计算公式为:

Δw=(JTJ+μI)-1JTe

其中,e为误差量,J是网络误差度对权值的雅可比矩阵,I为的单位矩阵,μ为比例系数。

本发明的与现有技术相比,具有以下有益效果:

二自由度ID分别采用跟踪性能最佳和抗干扰能力最佳为控制参数,分别对PID参数进行调整。将遗传算法与神经网络相结合,充分利用了两者的优点,使控制系统既有神经网络的学习功能,鲁棒性和泛化能力,又有遗传算法的全局搜索优化能力。

在本专利中采用GA算法优化BP网络根据控制参数分别完成PID参数的整定,从而在最短的时间内,得到最精确的P、I、D参数,从而输入更准确地控制信号,对于在太阳跟踪器而言,即是实现太阳的实时精确跟踪。

采用启发式学习规则中的动量项和自适应学习率和数字优化学习方法相结合的方法,每个改进方法互补,有效的改善了BP网络存在的收敛速度缓慢,已陷入极小值的缺点,大大改善了后期的控制精度和速度。

该算法用于对闭环的太阳跟踪系统的控制,具有跟踪精度高调节时间短,抗干扰能力强的特点

附图说明

图1为本发明实施例1的模块结构框图;

图2为本发明实施例1的系统原理框图;

图3为本发明实施例2中的4:7:3BP网络拓扑结构图;

图4为本发明实施例2的算法流程图;

图5为本发明实施例2的算法功能模块框图;

图6为本发明实施例3中太阳跟踪器的控制回路图。

具体实施方式

为使对本发明的结构特征及所达成的功效有更进一步的了解与认识,用以较佳的实施例及附图配合详细的说明,说明如下:

概念说明:下述中的样本为所有个体的组合,种群是一定数量个体的组合,这个数量由设定的种群大小决定。而个体则是神经网络初始值或是随机产生的训练数据。

实施例1

如图1、图2所示,用于太阳跟踪器的跟踪系统,包括GA样本数据预处理模块、BP网络调整模块、PID控制器模块、反馈系统模块。

GA样本数据预处理模块根据样本数据进行个体寻优,得到适应度最大的个体并传递给BP网络调整模块作为最优初值进行训练;

在最优初值的基础上,通过BP网络调整模块反向传输,调整隐含层和输出层的权值和阈值,使得到的误差评价函数小于设定的误差阈值,得到调整好的P、I、D的参数;

BP网络调整模块将调整好的P、I、D的参数传递给PID控制器模块,PID控制器模块根据二自由度进行控制,分别使跟踪性能和抗干扰性能达到最佳。

被控对象的输出信号通过反馈系统模块传输到PID控制器的输入端,反馈系统根据PID控制器的输入信号和被控对象的输出信号求得误差信号并根据误差信号进行调节,形成一个闭环控制。

其中,GA样本数据预处理模块包括设置迭代次数和参数初值单元、编码单元、适应度计算单元、选择/交叉/变异算子操作单元、灾变判断单元;BP网络调整模块包括网络结构确定单元、初始化网络单元、获取初始值单元、BP网络训练单元、精度判断单元。

首先通过设置迭代次数和参数初值单元初始化GA算法的迭代次数n、交叉率pc、变异率pm、种群规模m;然后通过网络结构确定单元确定BP网络的拓扑结构,网络总共为三层:输入层、隐含层、输出层;其中输入层有4个神经元分别为指定输入信号rin(k),实际输出信号yout(k),误差量e(k)和常数a;输出层的三个神经元分别对应PID控制的三个参数kp,ki,kd;而隐含层的神经元个数根据经验公式为基础,经过不断地仿真调试,确定隐含层神经元的个数为7个,即BP网络的拓扑结构为4:7:3,如图3所示。初始化网络单元对BP网络的权值和阈值初始值以及误差评价函数和误差阈值,并计算在初始值的情况下误差信号是否小于误差阈值,若是,则BP网络无需训练,直接进入测试阶段,否则,进入训练阶段。

如果进入训练阶段,则通过编码单元对含有BP网络初始值的种群进行实数编码,并将适应度函数定义为期望数据与实际输出数据之差,然后通过适应度计算单元进行适应度计算,具体为GA操作包括选择算子、交叉算子、变异算子;其中交叉率pc和变异率pm采用自适应方法求得该种群中适应度最优的个体,然后将适应度最优的个体不经任何交叉、变异操作直接进入下一代种群,即新种群,其他的个体进入下一种群的概率与其在整个种群中的相对适应度成正比;采用的自适应交叉率pc和变异率pm的计算公式为:

其中,α1、α2为两个大于0的常数,pc1,pc2,pm1,pm2为根据经验得出的常数,分别为0.85、0.65、0.1、0.001;favg、fmax、fc'分别为该种群的平均适应度、总适应度、该个体的适应度,最后通过灾变判断单元计算产生的新种群的总适应度,若连续n代未出现更优秀的个体时,这说明GA算法出现了早熟线程,陷入局部极小值,此时需要进行灾变,杀死当前种群所有优秀的个体,进入一下代。若若干次灾变后,适应度值与未灾变前一样,则停止灾变;若灾变停止或到达设定的灾变次数,则GA算法预处理完成,将得到的最优初始权值和阈值传递给获取初始值单元,获取初始值单元将获取到的初始值传输给BP网络训练单元。BP网络训练单元根据动量-自适应学习率调整初始权值和阈值,并采用Levenberg-Marquardt算法最优化算法寻找最优的PID参数值;

动量-自适应学习速率调整计算公式为:

β(k+1)=τ*3λ*β(k)

其中,β为学习速率因子,λ为梯度方向,τ为学习误差系数;

Levenberg‐Marquardt算法的计算公式为:

Δw=(JTJ+μI)-1JTe

其中,e为误差量,J是网络误差度对权值的雅可比矩阵,I为的单位矩阵,μ为比例系数;当μ很大时,即为Gauss-Newton算法,当μ很小时,接近梯度下降法。精度判断单元进行最后评价,当BP网络的误差评价函数小于误差阈值时,则整个BP网络的学习过程完成,然后再用测试数据测试BP网络的学习效果和泛化能力。

实施例2

如图4、图5所示,用于太阳跟踪器的跟踪方法,应用于实施例1提供的跟踪系统中。该算法首先以跟踪性能最佳为控制目标进行PID参数调节,再以抗干扰性能最佳为控制目标进行参数调节,具体调节步骤如下:

步骤1.随机产生2000组数据,其中1500组数据用于训练BP网络,另外500组数据用于测试BP网络,并将数据进行归一化处理;

步骤2.确定BP网络结构

首先确定网络总共为三层:输入层、隐含层、输出层;其中输入层有4个神经元分别为指定输入信号rin(k),实际输出信号yout(k),误差量e(k)和常数a;输出层的三个神经元分别对应PID控制的三个参数kp,ki,kd;而隐含层的神经元个数根据经验公式为基础,经过不断地仿真调试,确定隐含层神经元的个数为7个,即BP网络的拓扑结构为4:7:3,如图3所示。

步骤3.初始化BP网络

设置BP网络的权值和阈值初始值以及误差评价函数和误差阈值,并计算在初始值的情况下误差信号是否小于误差阈值,若是,则BP网络无需训练,直接进入测试阶段,否则,进入步骤4);其中初始值为权值和阈值初值;

步骤4.初始化GA算法的进化次数n、交叉率pc、变异率pm、种群规模m;

步骤5.对含有BP网络初始值的种群进行实数编码,并将适应度函数定义为期望数据与实际输出数据之差;

步骤6.执行GA操作

GA操作包括选择算子、交叉算子、变异算子;其中交叉率pc和变异率pm采用自适应方法求得该种群中适应度最优的个体,然后将适应度最优的个体不经任何交叉、变异操作直接进入下一代种群,即新种群,其他的个体进入下一种群的概率与其在整个种群中的相对适应度成正比;采用的自适应交叉率pc和变异率pm的计算公式为:

其中,α1,α2为两个大于0的常数,pc1,pc2,pm1,pm2为根据经验得出的常数,分别为0.85、0.65、0.1、0.001;favg、fmax、fc'分别为该种群的平均适应度、总适应度、该个体的适应度;

步骤7.灾变判断,计算产生的新种群的总适应度,若连续n代未出现更优秀的个体时,这说明GA算法出现了早熟线程,陷入局部极小值,此时需要进行灾变,杀死当前种群所有优秀的个体,进入一下代。若若干次灾变后,适应度值与未灾变前一样,则停止灾变;若灾变停止或到达设定的灾变次数,则GA算法优化完成,将得到的最优初始权值和阈值传递给BP网络;

步骤8.BP网络训练

根据接收到的GA算法优化后的权值和阈值作为初始值,根据动量-自适应学习率调整初始权值和阈值,并采用Levenberg-Marquardt算法最优化算法寻找最优的PID参数值;

动量-自适应学习速率调整计算公式为:

β(k+1)=τ*3λ*β(k)

其中,β为学习速率因子,λ为梯度方向,τ为学习误差系数;

Levenberg‐Marquardt算法的计算公式为:

Δw=(JTJ+μI)-1JTe

其中,e为误差量,J是网络误差度对权值的雅可比矩阵,I为的单位矩阵,μ为比例系数;当μ很大时,即为Gauss-Newton算法,当μ很小时,接近梯度下降法。

步骤9.当BP网络的误差评价函数小于误差阈值时,则整个BP网络的学习过程完成,然后再用测试数据测试BP网络的学习效果和泛化能力。

实施例3

本实施例将介绍现有技术到实施例2提供的算法的演变过程。

二自由度

PID控制系统的控制指标主要有:外扰抑制作用和目标跟踪特性,在采用一自由度控制时,两者呈现相反的变化趋势,不同同时达到最优性能。二自由度PID(Two degree of freedom PID,2DOF PID)控制就是使目标跟踪特性为最优和外扰抑制特性为最优的PID参数分别进行整定,使整个控制系统的性能达到最佳。

在采用2DOF PID控制时,需满足易懂,结构简单,与传统技术有较好的结合性且能继承其技术成果的要求。在对于太阳跟踪器的控制回路中,采用目标值滤波器型的2DOF PID控制。控制回路图6所示。

目标值滤波器H(s)可表示为:

其中,α为比例增益的二自由度化系数(一般0≤α≤1),β为积分时间的二自由度化系数(一般0≤β<1),γ为微分时间的二自由度化系数(一般0≤γ<2),1/η为微分增益(一般0.1≤γ≤1)。

采用二自由度化系数可变的方法进行太阳跟踪器的PID控制,调整步骤为:加外扰,调整Kp,Ki,Kd,使外扰抑制特性为最佳;根据Chian-Hrone-Reswick(CHR)调整法初步得到α,γ的值,根据工程经验,取β=0.15;根据目标值的变化量,在设定值附近微调二自由度化系数α,β,γ,使目标跟踪特性为最佳。

二自由度既能改善控制特性,又易进行调整,只需增加目标值滤波器,在保证结构简单的情况下,可实现控制性能达到最佳。

BP网络

人工神经网络出现在20世纪40年代,由众多的而神经元可调的连接权值连接而成,在智能控制领域取得很好的应用成果.作为应用最广泛的人工神经网络模型,误差反向传播神经网络(BPNN)具有实现任何复杂非线性映射的能力,能以任何精度逼近任何非线性连续函数;并行分布处理方式;具有自学习能力;具有一定的推广,概括和自适应能力,具有泛化能力,即将这组权值应用于一般情形的能力;数据融合的能力,可同时处理定量和定性信息;可用于多变量系统和在线学习的能力。

BP算法基本思想是最小二乘法,它采用梯度搜索技术,使网络的实际输出值与期望输出值的误差均方值为最小。算法的学习过程由信息的正向传播和误差的反向传播组成。输入信息从输入层经隐含层逐层处理后传向输出层,每层神经元节点的状态只影响下一层神经元的状态。当输出层不能得到期望的输出时,则转入反向传播,将误差信号沿着原来的连接通路返回,通过修改各层神经元的连接权值和闭值,使误差函数沿着负梯度方向下降,最终达到实际输出值与期望输出值之间的误差最小。

BP神经网路有输入层,隐层和输出层,每层都不同的神经元个数。根据研究对象结构和复杂程度不同,神经网络的拓扑结构也各不相同。在该系统中,采用一个输入层,一个隐含层,一个输出层,且神经元个数为3:5:3的拓扑结构。

三个输入信号分别为指定输入信号rin(k),实际输出信号yout(k),误差量e(k)。三个输出信号分别对应PID控制的三个参数kp,ki,kd

BP网络的学习过程由正向传播和反向传播两部分组成。首先是信号的正向传播过程,输入层的信息向前传播到隐含层的节点上,经过个单元的激活函数运算,并把隐含层的信息传输到输出层的节点,再经过输出层上各节点的激活函数的运算输出。在正向传播过程中,每一层的神经元状态只影响下一层神经元网络。若实际输出与期望输出值之间的误差大于设定的误差函数阈值,则转向反向传播过程,将误差信号反向传播,逐次修改各层神经元的权值,再经正向传播得到修正后的输出,两个过程的反复应用,使得误差信号最小。当实际误差信号小于设定的误差阈值时,网络的学习过程结束。

在正向传播过程中,隐含层节点的输入输出为:

输出层的输入输出为:

wij,wjk分别为输入层与隐含层,隐含层与输出层之间的连接权值。分别为隐含层和输出层的输出值。f(k),g(k)为激活函数,用来加入非线性因素,从而弥补线性模型表达力不够的缺点,激活函数的选择需满足单调递增有界且一阶可微的特点,经过仿真,隐含层的激活函数双极S形函数:

误差评估函数表示为:

根据误差评估函数经反向传播过程对每个节点的权值进行调整,权值的修正量与误差的负梯度方向成正比,即:令则

隐含层与输入层之间的权值调整量为:

令有Δwij=ηδjxi

其中,η为学习步长,即学习速率。下一次迭代时隐含层与输出层任一节点之间的权值,输入层与隐含层之间的权值分别为:

wjk(k)=Δwjk+wjk(k)

wij(k)=Δwij+wij(k)

然而,这种标准的BP神经网路实际上也是一种梯度下降搜索法,存在收敛速度慢,易陷入局部极小值的缺点,而这些缺点可以通过使用改进的BP算法进行校正,改进的BP算法可分为两类,一是采用启发式学习规则,如添加附加动量项,采用自适应学习率等;二是基于数值优化的学习方法,如共轭梯度法,拟牛顿法和Levenberg-Marquardt方法(简称L-M法),

1.加入动量项

为了加快收敛速度,在权值的修正量加上上一次修正权系数,把他作为本次修正的依据之一,即有:

Δwij(k+1)=ηδjxi+αΔwij(k)

其中,α为动量因子。

2.动量‐自适应学习速率调整算法

在进行学习速率的自适应调整时,基本思想是在学习收敛的情况下,增大η,以缩短学习时间;当η偏大致使不能收敛时,要及时减小η,直到收敛为止。

β(k+1)=τ*3λ*β(k)

其中,β为学习速率因子,λ为梯度方向,τ为学习误差系数。

3.采用Levenberg-Marquardt算法

L-M法实质上是梯度下降法和牛顿法的结合,网络权值较少时具有很高的收敛速度。L-M优化算法的权值调整率为:

Δw=(JTJ+μI)-1JTe

其中,e为误差量,J是网络误差度对权值的雅可比矩阵,I为的单位矩阵,μ为比例系数,当μ很大时,即为Gauss‐Newton算法,当μ很小时,接近梯度下降法。

动量项的加入改善了收敛速度,但是对学习率的选择存在困难,且对初值要求较高;自适应学习速率大大的改善了易陷入局部极小值的缺点,但是收敛速度较慢。

Levenberg-Marquardt算法大大的提高了收敛速度,但是却并不能改善易陷入局部极小值的问题,采用启发式学习规则中的动量项和自适应学习率和数字优化学习方法相结合的方法,每个改进方法互补,有效的改善了BP网络存在的收敛速度缓慢,已陷入极小值的缺点,大大改善了后期的控制精度和速度。

改进的BP算法降低了进入局部极小值得概率,但是没有从根本上实现快速的全局搜索,GA算法GA时一种模拟自然界生物进化机制的搜索技术,具有全局搜索的能力,因此,采用GA算法和BP网络相结合的模式可以更好地进行网络权值的调节,实现快速,高精度的PID控制。

GA算法:

GA-BPNN算法的主要思想:首先用GA算法较快地搜索到最优解附近,在解空间中定位出一个较好的搜索空间,并给BP网络提供较好的初始值,然后采用BP算法在这个小的搜索空间搜索出最优解。GA算法与BP算法之间的切换可通过误差的大小来实现,如果误差大于某个值时采用GA算法,当小于该值时采用BP算法,直到达到所限制的精度或最大步数为止。

简单的GA算法使用了选择算子,交叉算子,变异算子,GA过程如下:

1.确定编码方式:实现解空间到搜索空间的转换,编码形式为:

其中,分别为输入层与隐含层,隐含层与输出层之间的连接权值。

2.确定参数:群体大小,交叉,变异概率,终止迭代的次数;

3.初始化:随机生成n个个体,提供初始种群P(0);

4.评价:译码到解空间,计算候补解,解集合的适应度,平均适应度。

5.GA操作:包括选择算子、交叉算子、变异算子,对种群P(t)进行操作,产生下一代P(t+1)。

6.重复4,5,直至参数收敛或达到预定的指标。

简单的GA算法以易出现早熟,即过早的想局部最优解收敛的情况,因此,需要对交叉率和变异率进行自适应调整。改进的自适应交叉率pc和变异率pm的计算公式为:

α1,α2为两个大于0的常数,pc1,pc2,pm1,pm2为根据经验得出的常数,分别为0.9、0.6、0.1、0.001。

以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是本发明的原理,在不脱离本发明精神和范围的前提下本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明的范围内。本发明要求的保护范围由所附的权利要求书及其等同物界定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1