一种基于深度学习的AUV控制系统优化与故障监测方法与流程

文档序号:15852741发布日期:2018-11-07 10:22阅读:407来源:国知局
一种基于深度学习的AUV控制系统优化与故障监测方法与流程

本发明涉及的是一种水下机器人(autonomousunderwatervehicle,auv)控制、故障诊断方法。具体地说是一种auv控制系统优化与故障监测方法。

背景技术

如今在开发远海、深海资源时,智能水下机器人(autonomousunderwatervehicle,auv)由于能够完成潜水人员无法完成的极限任务,正在成为海洋资源探索开发中不可或缺的部分。auv一般工作在未知复杂的海洋环境下,长时间的离线工作,有效载荷的频繁变化使形状和重量平衡发生变化,会造成运动特性的变化以及系统动态性能下降,对系统指令的响应能力不足,并且长时间的自主工作一旦发生事故就可能造成巨大的财产损失,这就要求水下机器人具有识别自身状态并且根据自身状态调节控制指令的能力,即自动故障诊断和实现容错控制的能力。

考虑水下机器人作业时具有运动自由度高、外部环境干扰大、动态性能变化多样的特性,传统的辨识方法具有很大的局限性,对于这种强非线性系统,浅层神经网络的能力在面对复杂多样的故障特征是过于依赖设计人员的经验判断无法满足故障检测系统自适应的要求。深度神经网络具有克服目前智能诊断方法中上述缺陷的潜力,由于深度的架构数据可以通过多个非线性变换和具有最小误差的复杂非线性函数,dnn能够自适应地提取来自原始数据的特征信息,并根据自提取的特征信号进行信号分类。

2010年1月《系统仿真学报》第22卷第1期的“无人水下机器人推进系统故障诊断与容错控制”提出一种根据跟踪比较推进器实际转速与理论转速之间差值来判断推进器是否故障的方法。

上述文献提供的方法直接跟踪推进器理论状态值与实测状态值的残差来判断故障是否发生,具有一定的可行性,但是这种方法忽略了机器人闭环控制器对控制量的补偿作用,当发生可控范围内的故障时,控制器持续补偿控制量使得实测值接近理论值,这会导致故障检测系统无法预先识别故障的发生给机器人系统的运行留下隐患。



技术实现要素:

本发明的目的在于提供一种具有较高控制优化性能,故障诊断效率及准确性高的基于深度学习的auv控制系统优化与故障监测方法。

本发明的目的是这样实现的:

(1)将auv控制器发出的控制信号经过auv模型模拟得出理论状态值;

(2)将得出的理论状态值与auv传感器的实测状态值比较得出一组残差信号;

(3)将所述残差信号送入故障检测器,故障检测器为已经训练好的深度神经网络dnn,dnn网络输出向量即为各推进器补偿量;

(4)将补偿量与阈值进行比较来判断是进行控制量补偿还是发生了故障。

本发明还可以包括:

1.dnn神经网络的训练先用降噪自动编码器进行预训练,然后采用bp算法对网络结构进行微调,具体包括:

用降噪自动编码器进行预训练时采用降噪自动编码器dae算法,即在预训练时将输入向量加上一组服从二项分布的高斯噪声,然后dae网络的期望输出设为未加噪声的原始信号,然后在通过最小优化期望输出与实际输出对网络的权值进行调整:

其中为噪声的分布类型,选用服从二项分布的高斯噪声,其模型为:

其中,x(n)为输入向量,fa(·)和fs(·)分别表示编码和解码阶段的激活函数,wa,ba和ws,bs分别为解码和解码阶段的权重,选取

然后基于能量的损失构建优化目标函数为:

参数按照正则项定义为:

2.故障检测器的输入向量为auv模型输出的理论状态值与传感器的实际测量值的残差向量

x(k)=[u_r(k),v_r(k),w_r(k),p_r(k),q_r(k),r_r(k),roll_r(k),pitch_r(k),yaw_r(k)],其中u_r(k)、v_r(k)、w_r(k)为实测纵向速度、横向速度、垂向速度与理论状态值的差值,q(k)、r(k)、roll(k)分别为实测横倾角、纵倾角和艏向角与理论横倾角、纵倾角和艏向角的差值。

3.dnn网络输出向量为5个推进器的控制量补偿量u(k)=[thr1_p(k),thr2_p(k),thr3_p(k),thr4_p(k),thr5_p(k)],然后对控制量的补偿量与阈值进行比较当补偿量小于阈值时认为该补偿量由机器人适应系统动态性能变化而引起的属于控制系统优化,当补偿量大于阈值时该补偿量由机器人推进器发生故障所引起,然后向auv控制系统发出故障指令执行抛载上浮任务。

本发明利用深度神经网络(deepneuralnetwork,dnn)可以自适应地从测量信号中挖掘故障特征以及可以很好地建立不同健康度之间的非线性影射并进行分类的能力,考虑到auv作业环境对故障检测系统的干扰采用提高系统鲁棒性的dae算法进行预训练方法,并以auv理论状态值与实测状态值的残差作为dnn网络的输入信号,再根据网络提取特诊后的输出的补偿量作为与阈值比较的信号,来从一定程度上弥补闭环控制造成检测系统对故障的敏感程度下降。本发明不仅详细描述了dnn网络与dae算法的构造与功能,并给出了基于深度学习的auv控制系统优化与故障监测方法的原则与依据。

为了弥补闭环控制系统对控制量的补偿作用对故障检测器对故障信号的判断不敏感的影响降低精度,采用提取与分析理论状态值和实测状态值残差信号的特征,然后根据提取的信号特征与阈值进行比较判断和分类的方法。

与传统的故障诊断方法相比,该专利所提出的方法区别于直接根据理论状态值与实测状态值的残差是否大于阈值来判断故障的方法的地方是,考虑到闭环控制系统对由于故障产生的推进器补偿量容易使得故障检测系统忽略该故障的影响,本发明中考虑将理论状态值与实测状态值的残差输入到dnn网络自动提取其特征值,并且与推进器补偿量非线性映射,通过比较补偿量是否大于阈值来判断auv推进器是否发生故障,相比于传统方法具有更强的精确度与鲁棒性。

dnn网络具有多隐层的结构,相比于浅层的神经网络其在拟合复杂非线性系统中具有更好的表现。通过多层非线性变换的层层转换将低层的数据特征组合成更抽象的高层表达形式,这样的网络结构就能脱离人工选择特征的局限性,数据的特征可以通过复杂的高位表达功能由网络自适应地学习和提取。同时对于激活函数,本专利在隐藏层选用sigmod函数即在输出层选用线性函数即其中l为网络层数,h为上一个隐层输出向量,w,b为网络权重,这样网络结构能够以任意的精度逼近任何一个有理函数。

降噪自动编码器(dae)是一个包含输入层(编码层)和输出层(解码层)的三层无监督网络结构,其运行原理是通过输入层将原始信号进行降维压缩后再由解码层将数据还原,即在输入信号时,给信号增加一个符合一定分布规律的噪声,然后期望输出为没有噪声的原始数据。考虑到水下机器人的工作环境对诊断系统的干扰较大,在进行dae无监督训练时,通过将输入信号随机增加高斯噪声来模拟外界环境的干扰,以此增加诊断系统的鲁棒性。在训练时将dnn网络的输入层与第一层隐层组合成第一个dae网络进行预训练,然后将第一层dae网络训练结束后的输出与第二隐层组成第二个dae网络进行预训练直到训练完最后一层隐层与输出层之间的权重参数。

附图说明

图1是基于深度学习的auv控制系统优化与故障监测方法流程图;

图2是dnn网络结构图;

图3是dae算法网络结构图;

图4是基于深度学习的auv控制系统优化与故障监测方法系统图。

具体实施方式

下面举例对本发明做更详细的描述。

本发明的目的在于提供auv控制系统优化与故障检测方法其流程如图1所示,基于深度学习的auv控制系统优化与故障检测方法。

本发明所采用的技术方案是:

步骤1:构建dnn网络模型:

如图2所示,本发明所采用的dnn网络模型的拓扑结构为:多隐层、全连接且有向无环型,包含一层输入层,四层隐藏层以及一层输出层为五层dnn结构,其中输入层根据输入信号维度判定选用9个神经元,四层隐藏层分别选用9,8,7,6个神经元,输入层包含5个神经元结构。其中输入x∈rm,输出y∈rs(m和s分别表示输入与输出向量的维度),隐层的输出为:

其中h(0)和h(l)分别为输入层与输出层,隐层的个数共计l-1层,对应的超参数(层数、隐层单元个数、激活函数)分别为:

其中n0=m,nl=s,有待学习的参数记为:

由上式可以推出输入与输出的关系为:以此递推可以得出输出与输入的关系表示为:y=f(l)(f(l-1)(…f(1)(x,θ1)…,θl-1),θl)记为f(x,θ)。

步骤2:采用降噪自动编码器(dae)来预训练网络间权值参数;

降噪自动编码器的网络结构如图3所示,利用auv样本数据对网络间权值进行初始化赋值,其算法可以归纳如下:

首先为了模拟外部环境的干扰,在预训练时给训练样本的输入信号加上一组高斯噪声:

其中为噪声的分布类型,本发明中选用服从二项分布的高斯噪声。

相应的模型为:

其中,fa(·)和fs(·)分别表示编码和解码阶段的激活函数,wa,ba和ws,bs分别为解码和解码阶段的权重,这里选取

然后基于能量的损失构建优化目标函数为:

其中λ为人为设置的系数,参数按照正则项定义为:

利用基于随机梯度下降方式优化迭代算法实现求解,其方法如下:

(1)解码阶段,目标函数关于参数的偏导数为:

其中每一样本的误差项所对应的偏导数可通过如下公式求出:

其中⊙是向量的点积运算符,表示对应元素相乘;diag(·)是将向量扩展为对角方阵,其对角上的元素为该向量的元素,非对角元素为0;另外1v为元素为1的v维列向量,fs'为解码阶段的激活函数的导数。

(2)编码阶段,目标函数关于参数的偏导数为:

为了便于分析,引入误差传播项(即每一样本的误差项关于隐层输出的导数)并记为:

进一步,根据链式法则有:

其中fa'为编码阶段的激活函数的导数。

(3)正则项关于参数的偏导数:

基于以上分析,优化更新参数的公式为:

其中α为学习率。

步骤3:在dae初始化网络间权值之后,采用bp算法对网络结构进行微调:

其中α,γ分别为学习率与步长,l(θ),r(θ)分别为损失项和正则项表示为:

其中yn为样本数据的实际输出。

步骤4:将训练好的dnn模型用于auv控制系统的优化与故障检测:

将水下机器人理论状态值与实测状态值比较做差,得到残差向量x(k)=[u_r(k),v_r(k),w_r(k),p_r(k),q_r(k),r_r(k),roll_r(k),pitch_r(k),yaw_r(k)],其中u_r(k),v_r(k),w_r(k)为实测纵向速度、横向速度、垂向速度与理论状态值的差值,q(k),r(k),roll(k)分别为实测横倾角、纵倾角和艏向角与理论横倾角、纵倾角和艏向角的差值,将这组残差向量作为dnn网络的输入信号,经过已经训练好的dnn网络后输出为对各推进器的控制量补偿向量y(k)=[thr1_p(k),thr2_p(k),thr3_p(k),thr4_p(k),thr5_p(k)],在这之后将补偿量与阈值进行比较,若补偿量小于阈值则认为该补偿量是由于机器人系统长时间作业导致动态性能下降所引起的控制补偿。若补偿量大于阈值则认为该补偿量是由于机器人系统推进器部件发生故障所引起的控制补偿,当判断出系统推进器部件发生故障后立即向auv控制cpu发送指令执行应急抛载上浮或其他容错控制任务。

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