一种基于局部权值学习及元自增减的神经自适应控制方法与流程

文档序号:13003260阅读:665来源:国知局
一种基于局部权值学习及元自增减的神经自适应控制方法与流程

本发明涉及非线性系统控制领域和神经网络控制领域,特别涉及一种用于处理复杂不确定系统的未知非线性项的方法。



背景技术:

尽管面向复杂非线性系统的自适应神经网络控制理论在过去数十年取得了很大进展,在神经控制的研究领域,还存在着许多理论与工程应用中尚未解决的问题。其中,比较有代表性的两个问题:1)怎样满足紧集先决条件以发挥可靠的神经网络函数逼近功能;2)如何设计可变结构的神经网络以达成预期的控制性能指标。目前,这两个问题各自得到了不同程度的解决,典型的方法有:基于直接与间接自适应神经控制,小脑模型关节控制,状态反馈或输出受限控制,鲁棒自适应容错控制,模糊神经控制和模型参考控制等。

一些研究工作给出了满足紧集先决条件的方法,但方法大多相对且不具备实际操作性,此外为实现指定的渐近精度,固定结构的神经网络通常需要包含大量的学习单元,这会造成因过度参数化而导致的运算负担加重和性能受损。因此,这些控制器尚不能在实际系统中得到很好的应用。

关于如何构造可变结构网络实现期望控制指标,比较常见的作法是基于局部权值学习框架的自组织或自构造渐近法。然而,在绝大部分研究成果中,紧集先决条件被直接忽略或默认成立。为数不多的工作同时考虑了紧集先决条件与可变结构网络两个问题。其中比较典型的方法提到用滑模控制器将神经网络的输入状态首先带入到一个紧集区间使得所有网络输入满足紧集先决条件,随后切换到自组织控制模式让神经网络具有自动构造的能力。需要注意的是,因为这种控制器中存在切换控制、非光滑的四次幂权重函数以及不连续的权值自适应更新律,控制信号不可避免地出现了不连续的情况,其在实际工程中会对执行器产生巨大损害甚至影响整个系统的正常运转及寿命。此外,当采用了切换控制后,自组织神经控制单元无法在系统运行之初立即发挥功能,而是需要等待一段未知时间后,即系统满足切换条件时,才能开启神经控制模式。这不仅与神经网络的设计初衷相违背。更糟糕的情况是,这类自组织方法的网络结构更新规则依赖于神经网络输入状态所在的紧集区间,一旦有不在紧集区间的网络输入出现,网络就需要引入额外的神经元来应对这一部分不在紧集内的网络输入,从而导致系统运算资源被大大浪费。



技术实现要素:

有鉴于此,本发明的目的是提供一种基于局部权值学习及元自增减的神经自适应控制方法,其针对一类n阶不确定非仿射系统构建神经自适应控制器,通过结合受限李雅普诺夫函数(barrierlyapunovfunction,blf)与局部权值学习的基本方法,以确保神经网络在系统运行全过程中的紧集先决条件始终成立,并使神经网络能发挥更好的学习与推理能力。

本发明基于局部权值学习及元自增减的神经自适应控制方法,其特征在于:包括以下步骤:

步骤一、建立如下n阶非仿射系统:

其中,x=[x1,...,xn]t∈rn为系统状态向量,u∈r为系统控制输入,f(x,u)为不确定非线性函数;其中f(x,u)关于变量x满足lipschitz连续条件,关于变量u可微;并且,对于任意x∈rn和u∈r,存在

其中,标量函数a(x),b(x),c(x)有界且正定;

定义滤波误差s(t)为

s(t)=pte(t)

其中,选取系数向量p=[p1,p2,...,pn-1,1]t以确保sn-1+pn-1sn-1+…+p2s+p1=0是hurwitz多项式,其中s代表laplace算子;e(t)=x(t)-xr(t)=[e1,e2,...,en]t∈rn为跟踪误差向量;由此,得到滤波误差关于时间的导数

其中

步骤二、设计基于自增长神经元网络的控制器对n阶非仿射系统进行控制:

1)定义神经网络输入向量z=[z1,...,zq]t

其中β0,kp和η为已知正常数;

2)神经网络输入的紧集限制

结合受限李雅普诺夫函数,blf:

其中,s为滤波误差,β1为控制目标中给定的正常数;vb(s)在集合上正定,并且一阶导数连续;

3)建立自调节网络结构

a、构建局部权值学习框架:

对于连续函数g(z)的渐近表达式写为:

代表第i个径向基子网络,定义为:其中权值向量

φi(z)=[1,gi,1(z1),...,gi,q(zq)]t∈rq+1为lipschitz连续高斯基函数;

b、确定权值自适应律:

令权值估计误差向量为:

权值自适应律为:

其中选取正常数kp>0避免权值漂移,常数ρ>0为设定学习速率,β1为给定的正常数;

c、确定高斯权重函数:

给出归一化权重函数的具体表达式:

其中,径向对称高斯权重函数为

和σ分别代表ψi(z)的中心位置和宽度;

4)设计神经自适应控制器u,如下:

u=unn+uc

其中,控制补偿单元

uc=kc(-kps-ηsatm(s/β0)-er)

神经网络单元

m(t)代表在t时刻神经元簇的个数;kc为设计常数,且满足不等式cl=min(c(x))为c(x)的最小值,β0>0是滤波误差s的给定精度,η>0为一小正数并与神经网络逼近精度相关;

5)制定有限神经元自增长策略,以引导系统添加神经元至整体网络的过程,使神经网络具有结构自调节特性,具体如下:

记n为系统当前所含神经元总个数,每个rbf子网络具有(q+1)个神经元,若系统网络结构的变化来自rbf子网络的增加,则每生成一个子网络,便会给整个网络带来(q+1)个新增神经元;因此,若系统包含m个子网络,则神经元总量n可写为:

n=m(q+1)

并通过如下步骤新增一个子网络:

a、在n=m(q+1)时刻,初始化子网络个数为m=1;

b、取则通过及高斯函数分别求得和ψ1(z(t));由步骤a和n=m(q+1)得知,对于仅存在1个子网络的系统,所含神经元个数为n=(q+1);

计算t时刻的ψ1(z(t))值,根据高斯函数特性有ψ1(z(t))≤ψ1(z(0));

d、当状态变量z(t)第一次满足ψ1(z(t))<γ时,记录当前系统时间并用表示;

e、考查滤波误差变量s(t)在时刻的值:

(1)若|s(t)|≤β0,即系统已达到预先给定的精度,不新增子网络,故系统中神经元总数保持不变;

(2)若|s(t)|呈下降趋势,即|s(t)|≤|s(t-ts)|,其中ts为系统采样周期,并且|s(t)|>β0,则说明当前控制器能够使误差趋向收敛,系统当前子网络数保持不变;

(3)若|s(t)|呈上升趋势,即|s(t)|>|s(t-ts)|,且|s(t)|>β0,则意味着当前系统的神经元总数不足以达到期望的渐近精度,此时需要至少新增一个子网络,进而避免系统性能恶化:

f、令第二个子网络生成的时刻为则第二个子网络的高斯权重函数的中心值于是有且系统当前总元数增长为n=2(q+1);

步骤三、神经网络训练输入由步骤二中的步骤2)确定,通过权值自适应律对网络权值迭代更新,整体网络按照步骤二中制定的有限神经元自增长策略进行元数量更新,将控制器u作用到如上非仿射系统,使系统状态x1按给定精度β0跟踪期望轨迹xd(t),同时确保系统跟踪误差e(t)在t≥0有界。

本发明的有益效果:

1、本发明基于局部权值学习及元自增减的神经自适应控制方法,其充分利用blf确保神经网络的输入在所有t≥0时有界,从而使紧集先决条件在系统运行之初得以满足。相比传统控制方法,本控制器中的神经网络单元能够发挥其最大的学习和推理能力,同时避免了切换控制所产生的尖刺控制信号。

2、本发明基于局部权值学习及元自增减的神经自适应控制方法,首次提出有限元自增长(fnsg)策略,用于引导在系统中添加合适数目的神经元簇,使神经控制器具有结构自调节功能,在应对建模不确定性和外部干扰时展现出更强的学习能力和鲁棒性。

3、本发明基于局部权值学习及元自增减的神经自适应控制方法,通过设计高斯权重函数、光滑饱和函数以及连续的权值自动更新律,控制器信号输出始终保证连续,并且除神经元簇生成的瞬时时刻外具有光滑连续性。

4、本发明基于局部权值学习及元自增减的神经自适应控制方法,与固定网络结构控制和自组织控制方法对比,具有更高的控制精度、更短的算法执行时间、更快的收敛速度以及更少的运算资源,所设计的控制器不仅结构灵活,同时有助于提升系统的整体控制性能。

附图说明

图1是blf示意图;

图2是生成第二个rbf子网络的流程图;

图3是基于fnsg策略的自调节网络控制框图;

图4是控制器初始结构仅包含一个rbf子网络的控制框图;

图5是在时刻子网络总数增长图;

图6是系统状态跟踪误差收敛至期望跟踪精度曲线图;

图7是在fnsg控制、自组织控制、固定网络结构控制下,滤波误差s(t)的演变情况曲线图;

图8是控制信号u,unn,uc在无外界干扰时的演变情况曲线图;

图9是基于fnsg控制方法得到的t∈[0,80]的相位图;

图10是自组织控制方法得到的t∈[0,80]的相位图。

具体实施方式

下面结合附图和实施例对本发明作进一步描述。

本实施例基于局部权值学习及元自增减的神经自适应控制方法,包括以下步骤:

步骤一、建立如下n阶非仿射系统:

其中,x=[x1,...,xn]t∈rn为系统状态向量,u∈r为系统控制输入,f(x,u)为不确定非线性函数;其中f(x,u)关于变量x满足利普希茨(lipschitz)连续条件,关于变量u可微;并且,对于任意x∈rn和u∈r,存在

其中,标量函数a(x),b(x),c(x)有界且正定;

定义滤波误差s(t)为

s(t)=pte(t)

其中,选取系数向量p=[p1,p2,...,pn-1,1]t以确保sn-1+pn-1sn-1+…+p2s+p1=0是hurwitz多项式,其中s代表拉普拉斯(laplace)算子;e(t)=x(t)-xr(t)=[e1,e2,...,en]t∈rn为跟踪误差向量;由此,得到滤波误差关于时间的导数

其中

步骤二、设计基于自增长神经元网络的控制器对n阶非仿射系统进行控制:

1)定义神经网络输入向量z=[z1,...,zq]t

其中β0,kp和η为已知正常数;

2)神经网络输入的紧集限制

结合受限李雅普诺夫函数(barrierlyapunovfunction,blf):

其中,s为滤波误差,β1为控制目标中给定的正常数;vb(s)在集合上正定,并且一阶导数连续;

3)建立自调节网络结构

a、构建局部权值学习框架:

对于连续函数g(z)的渐近表达式写为:

代表第i个径向基(rbf)子网络,定义为:其中权值向量φi(z)=[1,gi,1(z1),...,gi,q(zq)]t∈rq+1为lipschitz连续高斯基函数;

b、确定权值自适应律:

令权值估计误差向量为:

权值自适应律为:

其中选取正常数kp>0避免权值漂移,常数ρ>0为设定学习速率,β1为给定的正常数;

c、确定高斯权重函数:

给出归一化权重函数的具体表达式:

其中,径向对称高斯权重函数为

和σ分别代表ψi(z)的中心位置和宽度;

4)设计神经自适应控制器u,如下:

u=unn+uc

其中,控制补偿单元

uc=kc(-kps-ηsatm(s/β0)-er)

神经网络单元

m(t)代表在t时刻神经元簇的个数;kc为设计常数,且满足不等式cl=min(c(x))为c(x)的最小值,β0>0是滤波误差s的给定精度,η>0为一小正数并与神经网络逼近精度相关;

5)制定有限神经元自增长(fnsg)策略,以引导系统添加神经元至整体网络的过程,使神经网络具有结构自调节特性,具体如下:

记n为系统当前所含神经元总个数,每个rbf子网络具有(q+1)个神经元,若系统网络结构的变化来自rbf子网络的增加,则每生成一个子网络,便会给整个网络带来(q+1)个新增神经元;因此,若系统包含m个子网络,则神经元总量n可写为:

n=m(q+1)

并通过如下步骤新增一个子网络:

a、在n=m(q+1)时刻,初始化子网络个数为m=1;

b、取则通过及高斯函数分别求得和ψ1(z(t));由步骤a和n=m(q+1)得知,对于仅存在1个子网络的系统,所含神经元个数为n=(q+1);

计算t时刻的ψ1(z(t))值,根据高斯函数特性有ψ1(z(t))≤ψ1(z(0));

d、当状态变量z(t)第一次满足ψ1(z(t))<γ时,记录当前系统时间并用t1e表示;

e、考查滤波误差变量s(t)在时刻的值:

(1)若|s(t)|≤β0,即系统已达到预先给定的精度,不新增子网络,故系统中神经元总数保持不变;

(2)若|s(t)|呈下降趋势,即|s(t)|≤|s(t-ts)|,其中ts为系统采样周期,并且|s(t)|>β0,则说明当前控制器能够使误差趋向收敛,系统当前子网络数保持不变;

(3)若|s(t)|呈上升趋势,即|s(t)|>|s(t-ts)|,且|s(t)|>β0,则意味着当前系统的神经元总数不足以达到期望的渐近精度,此时需要至少新增一个子网络,进而避免系统性能恶化:

f、令第二个子网络生成的时刻为则第二个子网络的高斯权重函数的中心值于是有且系统当前总元数增长为n=2(q+1);

步骤三、神经网络训练输入由步骤二中的步骤2)确定,通过权值自适应律对网络权值迭代更新,整体网络按照步骤二中制定的有限神经元自增长策略进行元数量更新,将控制器u作用到如上非仿射系统,使系统状态x1按给定精度β0跟踪期望轨迹xd(t),同时确保系统跟踪误差e(t)在t≥0有界。

下面通过仿真试验,以验证本实施例基于局部权值学习及元自增减的神经自适应控制方法的有效性。

针对如下二阶非仿射系统进行仿真:

其中,f(x,u)的选取为

注意到f(x,u)表示系统未知非线性模型,因此控制器中不会用到该函数的信息。求出若取min(c(x))=cl=0.75,显然满足系统设定条件。此外,注意到fnsg控制器与a(x)和b(x)独立,因此仿真中无需获得a(x)和b(x)的具体信息。

对于任意给定连续有界的参考信号r(t)=sin(t)+2sin(0.5t),采用三阶滤波器生成期望轨迹xd及其各阶导数

其中,为期望状态轨迹向量,在控制器中可用,仿真中用到的前置过滤器参数设置为a1=a2=27,a3=9。

系统的初始状态值为[x1(0),x2(0)]=[0.5,0.2]。其余参数可根据控制算法相应给出,那么仿真结果可以得出。

图6给出了在无外界扰动情况下,系统状态跟踪误差e1(t)=x1(t)-x1r(t)和e2(t)=x2(t)-x2r(t)的变化情况。为观察误差与给定精度的关系,图中标注了期望精度带的位置。可以清楚看到随着系统的运行,状态误差e1(t)和e2(t)能够快速收敛到精度带内,即0<ψj(t)<γ<1,|e2(t)|≤θ2β0。该结果验证了本实施例给出的基于fnsg策略的神经控制器符合目标2。

图7描绘了滤波误差s(t)在三种不同控制器作用下的演变结果,包括基于fnsg策略的神经控制器、自组织型控制器、以及固定网络结构控制器。为便于对比观察,特将t∈[0,80]划分为两个时间区间:t∈[0,1]秒和t∈[1,80]秒。图中结果表明,三种控制方法都能够使系统收敛。由于所选控制参数相同,因此影响收敛速度的关键因素取决于控制算法本身。相比其他两种控制方法,本实施例给出的fnsg控制器使系统具有较快的收敛速度,s(t)在经历12.94秒后稳定在期望精度带β0内,即t≥12.94秒时,恒有|s(t)|≤β0成立。然而,基于自组织型的控制方法与固定网络结构的控制方法则分别花费39.29秒和23.47秒才使s(t)进入并停留在所给定的精度带内。值得注意的是,这里自组织控制方法用了比固定网络控制更长的时间使系统达到预期指标,推测其中一个可能原因是自组织控制算法消耗了过多运算资源,导致总体控制能力下降,后续仿真将对该现象进行验证和阐述。

图8给出了控制信号u及其两个分量unn和uc在系统运行期间的变化情况。其中m(0)=1,m(0.1)=2,m(12.94)=3三条垂直竖线标识三个rbf子网络相继生成的时刻。控制信号仅在新的子网络产生的时刻不具有光滑性,从第一、二张子图中可以明显观察到这一特点,即在t=0.1秒和t=12.94秒,控制信号连续但不平滑。并且,除去t=0,t=0.1,t=12.94三个时刻外,发现控制信号在时间轴的各点均为连续且光滑的。

图9和图10分别展现了在fnsg控制和自组织控制作用下80秒内的系统状态相位图。在图8中,“+”表示某一子网络神经元处于最强激活态时对应的系统状态,在以“+”为圆心的虚线圆区域内的系统状态可使相应的子网络神经元呈现激活状态。注意到,图9中以“+”为圆心的圆周改为实线描绘,这是因为基于自组织的控制方法要求所有子网络的状态输入必须在某一个有界闭区间内(或称为“紧集支撑域”)。换言之,不在实线圆区域内的系统状态,均不满足紧集先决条件,对于这些状态,系统将停止使用神经网络进行逼近。相反,基于fnsg策略的控制能够确保紧集先决条件始终成立,因此即便系统当前状态没有落在虚线圆内部,神经网络依旧可以发挥有效的函数逼近能力。从图8中可以看出,系统在t=0.1和t=12.94的两个时刻先后生成了两个新的子网络,而在t>12.94秒之后,子网络数量达到上限且不再继续增长。而且系统仅需m(12.94)×(3+1)=12个神经元即可完成指定的轨迹跟踪任务。然而,图9显示,自组织控制产生了16个用“+”标识的紧集支撑域,并为系统引入了64个神经元。正如给出的理论预期结果,在达成同一控制目标的前提下,基于fnsg策略的控制所需的神经元数量远远小于传统的自组织控制方法。

最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。

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