基于改进PSO及SVM的编码器故障诊断系统及方法与流程

文档序号:15978856发布日期:2018-11-17 00:05阅读:644来源:国知局

本发明涉及检测技术领域,特别是涉及基于改进pso及svm的编码器故障诊断系统及方法。

背景技术

在多种多样的移动机器人中,运动控制系统是机器人的基础核心部分,无论是工业机器人还是服务机器人,运动系统的安全性与稳定性都是其产品化进程最强调的因素。众所周知,较好的运动控制系统多采用闭环控制方式,增量式编码器是运动控制系统中常用的数字测速反馈元件,可以将位移信号转换成周期性的方波脉冲信号,是速度闭环反馈控制系统中的重要环节,也是控制系统中的脆弱环节。

为了使服务机器人在闭环运动控制过程中编码器发生故障时不会出现飞车的情况,并能够从闭环状态自动切换到安全模式下直至安全停机,首先系统应该能够诊断出编码器故障,然后进行相应的闭环容错控制,使系统达到安全可靠运行的目的。

目前国内外最流行的速度检测手段是基于增量式编码器的速度测量方案,随着控制系统技术的快速发展,速度测量系统的成本和复杂性也越来越高,编码器的任何故障,都将对测控系统造成毁灭性打击。对于服务机器人系统来说,底层闭环运动控制系统中的增量式编码器最常见的三种故障模式为:丢码、断码和完全失效。

在机器人实际运动过程中,很难避免由于干扰、老化、信号线断线、接触不良等自然原因导致的系统元器件故障问题。而当测速反馈元件编码器发生断码、丢码故障时,机器人的速度闭环控制系统将遭到破坏而使其开环,轻则会引起系统性能下降,重则会导致控制系统飞车,设备损坏。尤其对于家庭环境下工作的服务机器人,运动控制系统故障的发生甚至会对家庭人员的人身财产安全造成威胁。因此,对增量式编码器进行实时的故障诊断与容错控制研究,对提高服务机器人运动控制系统的鲁棒性及安全水平具有重大意义。



技术实现要素:

为了解决现有技术的不足,本发明提供了基于改进pso及svm的编码器故障诊断系统,利用改进pso优化的svm预测模型建立增量式编码器故障检测系统,并进行容错控制,使机器人达到安全稳定运行的目的。

基于改进pso及svm的编码器故障诊断系统,该系统适用于轮式服务机器人,该系统包括:

pid控制器、电机驱动模块、增量式编码器、改进pso-svm预测模型、惯导模块;

所述pid控制器的输出值一路输入至改进pso-svm预测模型,一路输出至电机驱动模块,所述电机驱动模块驱动电机工作并通过增量式编码器测量其实际速度;

所述惯导模块测量的加速度值输出至改进pso-svm预测模型,所述改进pso-svm预测模型输出值分两路,一路输出至故障容错切换机制模块,一路与编码器实际速度测量值作差得到残差信号,sprt故障检测算法实时对残差信号进行检测,当检测到编码器故障时,故障容错切换机制模块切断故障编码器的测量值,并将编码器实际测量值替换为改进pso-svm预测模型预测输出值作为反馈信号反馈给pid控制器,形成模拟闭环控制;

当系统恢复正常之后,故障容错切换机制模块将编码器实际测量值作为反馈信号反馈给pid控制器,最终达到软闭环安全容错控制的目的。

进一步优选的技术方案,所述改进pso-svm预测模型的建立是基于轮式服务机器人正常历史数据建立的。

进一步优选的技术方案,所述改进pso-svm预测模型的单维数据采集特征量还包括设定速度值,时间点t,t-1时刻速度值,t-2时刻速度值,t时刻惯导模块速度变化量,实际测速值y。

进一步优选的技术方案,所述改进pso-svm预测模型杂构建时,设置有一个随时间滚动的窗口,窗口宽度为n保持不变,随着时间的推移,窗口从左到右移动,旧的数据从窗口左边移出,新的数据从右边进入;

设滑动时间窗的当前位置为i,则输入样本向量xi为[i,i+n-1]时刻区间内的数据,输出样本yi为i+n时刻的数据,依次滚动时间窗获取样本数据集,n为窗口宽度。

进一步优选的技术方案,所述改进pso-svm预测模型的最优参数的获取方法是:

对建模所需的数据进行预处理,将样本数据集分为训练样本和测试样本;

初始化粒子种群,第i个粒子可表示为对应于(c,g),c正则化参数和g为核参数;

根据当前的(c,g)训练svm模型,计算适应度值fitnessi(t),并比较;

根据迭代公式对粒子的速度和位置进行更新;

返回初始化粒子种群直到判断是否满足最大迭代次数或者给定精度,当满足条件时结束循环,输出svm模型最优参数c,核参数g。

进一步优选的技术方案,适应度评价函数为:

式中yi代表实际值,代表估计值,fitness为适应度值,n为窗口宽度。

进一步优选的技术方案,参数ω称为pso算法的惯性权重,取值范围介于[0,1]区间,ω较大时有利于提高解空间的全局搜索能力,较小时会提高局部搜索能力。

进一步优选的技术方案,

其中,进化速度α(x),tm:表示设定的迭代最大次数,t:表示0-tm之间的取值,即第t次迭代。

进一步优选的技术方案,种群进化速度α(x)为:

由pso模型可知,个体粒子的最优值决定了种群的全局最优值,在迭代过程中,第t代全局最优值总是优于或等于第t-1次迭代的全局最优值,算法迭代初期,α(x)值变化较大,进化速度较快;随着迭代次数的增加,当α(x)值保持为1时,表明算法结束或寻找到全局最优值。

本申请还公开了一种基于改进pso优化的svm编码器故障诊断方法,包括:

pid控制器的输出值一路输入至改进pso-svm预测模型,一路输出至电机驱动模块,所述电机驱动模块驱动电机工作并通过增量式编码器测量其实际速度;

惯导模块测量的加速度值输出至改进pso-svm预测模型,所述改进pso-svm预测模型输出值分两路,一路输出至故障容错切换机制模块,一路与编码器实际速度测量值作差得到残差信号,sprt故障检测算法实时对残差信号进行检测,当检测到编码器故障时,故障容错切换机制模块切断故障编码器的测量值,并将编码器实际测量值替换为改进pso-svm预测模型预测输出值作为反馈信号反馈给pid控制器,形成模拟闭环控制;

当系统恢复正常之后,故障容错切换机制模块将编码器实际测量值作为反馈信号反馈给pid控制器,最终达到软闭环安全容错控制的目的。

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

本发明建立pso-svm预测模型;基于实验获取的残差信号,采用sprt检验方法进行故障检测,故障时将硬件闭环切换到软件闭环进行容错。仿真实验表明,该方法能够快速、准确的检测出传感器故障,实现闭环控制的切换,大大提高了控制系统的可靠性和安全性。

附图说明

构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。

图1为服务机器人系统架构组成;

图2为服务机器人底层控制系统硬件架构图;

图3为故障检测系统框架;

图4为基于改进pso优化svm参数流程图;

图5为编码器故障检测与容错控制方案;

图6为搭建的机器人故障仿真平台;

图7为仿真平台工作流程;

图8为机器人故障仿真流程;

图9为pso-svm预测模型输出曲线;

图10为故障检测仿真平台人机交互界面;

图11为闭环容错控制效果;

图12为故障指示量与残差。

具体实施方式

应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

本申请所针对的服务机器人系统,如图1所示,服务机器人系统根据功能可以分为感知子系统、运动控制子系统、通讯子系统、决策子系统、电源子系统几个系统模块。以上几个子系统组成了完整的服务机器人系统,感知子系统将采集到的环境信息通过通讯子系统反馈给决策子系统,然后决策子系统对感知信息进行分析处理决策后通过通讯子系统将指令发送给运动控制子系统。运动控制子系统在完成相应动作的同时会将速度信息通过编码器反馈给决策子系统,这是整个闭环控制的过程。

感知子系统:传感器是机器人的感觉器官,服务机器人通过自身携带的各种传感器对外部环境进行感知,本服务机器人采用声纳传感器、红外光电传感器、惯性导航传感器来实时获取准确而全面的环境信息,反馈给决策子系统进行避障。

决策子系统,服务机器人作为家庭的一员需要有一定的自主性,有能力完成一定的指令和任务,这就需要机器人具有决策能力。服务机器人的决策子系统是整个系统最核心的部分,是机器人的大脑。决策子系统一方面实时接收感知子系统反馈的外部环境信息,通过既定的信息处理和判断做出决策;另一方面通过通讯子系统将运动指令发送给运动控制子系统。

通讯子系统,通讯子系统的功能是进行环境反馈信息和决策指令的传输。将感知子系统的环境信息反馈给决策子系统,并将决策子系统的命令信息发送给运动控制子系统完成规定的动作。通讯子系统的设计重点在于私有定义运动控制子系统与决策子系统之间的通信协议格式及协议内容解析,确保命令信息可靠准确的传输。本文采用的是基于串口通信设计的私有通信协议,来实现决策子系统和运动控制子系统的信息交互。

运动控制子系统,运动控制子系统的功能是将决策子系统发送的指令通过设计的算法进行解析,使得服务机器人能够及时准确的执行动作,该系统设计的关键在于闭环控制程序的编写和电机驱动电路的搭建。

电源子系统,作为服务机器人的能量来源,电源子系统的可靠性至关重要。服务机器人的运动特性决定了其不能采用有线方式供电,只能使用电池供电,同时需要设计稳定的电源电路将电池降压为不同等级的电压,为不同的元件进行供电,系统运行的同时,要注意对电池电量进行监控和保护,延长电池的使用寿命。

服务机器人本体分为上位机系统和底层控制系统,采用双cpu的分布式控制结构。上位机采用主频更高、运算性能更好的卡片式pc机,负责系统决策,音视频处理和网络资源调度等任务,下位机底层控制系统负责机器人运动控制、环境数据采集处理及上下位机的通信。底层控制系统硬件设计架构如图2所示。

编码器是对速度进行测量的旋转式位置传感器,一般与被测器件的转轴相连,将旋转轴的角度或角速度转换成脉冲信号或数字量。

采用的yc-52010系列磁编码器是两通道增量式磁编码器,由一个磁栅和磁敏检测电路组成。相比于光电式编码器,磁编码器采用非接触式磁感应技术,几乎不存在机械磨损,从而具有超长的使用寿命和卓越的稳定性。灰尘、污物以及潮湿等恶劣环境均不会影响其功能。具有响应速度快、抗震性强、传输距离远等优点。在系统中,yc-52010磁编码器配合直流电机的60:1减速比,可以达到足够的测量精度。

为了实现速度的闭环控制,使编码器采集的速度脉冲信息正确反馈至控制器,设计了速度鉴向及四倍频电路。

测速可靠性方面,磁编码器输出的方波脉冲信号在传输过程中经常发生波形畸变,出现上升沿和下降沿不理想的情况,所以采用施密特触发器整形,获得较稳定的方波。电机运转的方向由d触发器来辨别,为了提高速度的测量精度,采用四倍频电路。设p为驱动轮转动一圈经过四倍频后的线数,x为采样周期t时间段内编码器输出的脉冲数,r为驱动轮的半径,则驱动轮的转速为:

v=(2πr·x)/(p·t)

在机器人实际运动过程中,很难避免由于干扰、老化、信号线断线、接触不良等自然原因导致的系统元器件故障问题。而当测速反馈元件编码器发生断码、丢码故障时,机器人的速度闭环控制系统将遭到破坏而使其开环,轻则会引起系统性能下降,重则会导致控制系统飞车,设备损坏。尤其对于家庭环境下工作的服务机器人,运动控制系统故障的发生甚至会对家庭人员的人身财产安全造成威胁。因此,对增量式编码器进行实时的故障诊断与容错控制研究,对提高服务机器人运动控制系统的鲁棒性及安全水平具有重大意义。

本文针对服务机器人pid闭环调速系统中的编码器故障问题,提出一种基于数据驱动的模型故障检测系统方案,系统方案总体框架如图3所示。

编码器故障数据预测问题属于一个小样本问题,适合支持向量机的应用场景,为了提升支持向量机的分类预测性能,有必要对其参数进行优化。

设搜索问题的解空间为d维,粒子群体规模为n。向量表示第i个粒子的位置,向量表示第i个粒子的速度,粒子个体搜索到的最优位置为粒子群体搜索到的最优位置为早期版本粒子群优化算法的迭代算子形式如公式(1)和(2)所示。

式中,c1、c2称为加速因子,代表粒子飞向个体最优和全局最优的加速权重,根据经验通常设置c1=c2=2。r1、r2是介于[0,1]之间的随机数。

在后续的研究中表明,公式(1)中的更新太具有随机性,从而使得整个pso算法的全局优化能力很强,但是局部搜索能力较差。在实际优化问题中,我们需要在pso算法迭代初期有较强的全局优化能力,而在算法的后期,整个种群应该具有更强的局部搜索能力,避免算法陷入局部最优。

引入惯性权重因子对公式(1)进行了改进,提出了pso的惯性权重模型,其速度迭代公式如下:

式中,参数ω称为pso算法的惯性权重,取值范围介于[0,1]区间,ω较大时有利于提高解空间的全局搜索能力,较小时会提高局部搜索能力。恰当的ω能够起到平衡全局搜索能力和局部开发能力的作用,提高寻优能力,减少迭代次数。

粒子群算法的实现步骤如下:

step1:种群初始化:可以在允许的范围内随机初始化或者根据被优化的问题设计特定的初始化方法,初始化设置微粒的初始位置和速度,将各微粒的p设为初始位置,取pgd为pid中的最优值。

step2:评价种群,分别计算每个微粒的目标函数值。

step3:对于每个微粒,比较粒子的适应值与自身经历的最优值pid,如果当前值较好,则将当前值置为最优值。

step4:对于每个微粒,比较粒子的适应值与群体经历的最优位置,如果较好,则将适应值作为当前全局最优位置。

step5:根据速度和位置迭代公式对粒子的速度和位置进行更新,产生新种群。

step6:终止条件判断,通常判断是否达到足够好的适应值或者是否达到最大迭代次数,否则继续进行迭代,跳转至step2。

在粒子群优化算法的可调参数中,惯性权重因子ω是调节其搜索能力的重要参数。较大的ω有利于增强优化算法的全局搜索能力,但不易得到精确解;较小的ω有利于提高局部搜索能力,但是算法收敛速度慢且容易陷入局部最优。基于惯性权重对粒子群算法性能的重要作用,许多学者对惯性权值的取值方法进行了大量的研究工作。

惯性权重线性递减策略的改进,改善了原始的惯性权重策略,但是由于其线性递减的特性,在一些问题的迭代过程中,算法一旦进入局部最优就很难跳出来,随着粒子对全局最优值的不断更新,粒子群在进化的过程中表现出强烈的一致趋同性,当粒子群在达到局部极值点附近时,粒子的速度向量主要靠ω×v决定。所以惯性权重对种群粒子速度的更新具有重要作用,进一步影响算法的优化性能。本文从惯性权重调整的角度出发提高粒子群算法在优化过程中的性能。

由于神经网络中常用的sigmoid函数在线性与非线性之间呈现极好的平衡性,受惯性权重非线性递减策略的启发,提出了基于sigmoid函数的惯性权值非线性递减方法:

式中,t表示当前迭代次数;tm表示最大迭代次数。

当惯性权重在[0.4,0.95]区间取值时,pso算法的优化性能可以得到较大提升。在pso算法粒子寻优过程中引入粒子速度进化程度α(x)的概念,并提出随粒子进化而动态改变惯性权值的策略,使得粒子速度能够自适应调整,进而调整粒子的多样性,有效降低陷入局部最优的可能性。对于α(x)可以理解为种群的进化速度,设第t代种群的全局最优值为pgbest(t),则第(t-1)代全局最优值为pgbest(t-1),那么种群进化速度α(x)为:

由pso模型可知,个体粒子的最优值决定了种群的全局最优值,在迭代过程中,第t代全局最优值总是优于或等于第t-1次迭代的全局最优值。算法迭代初期,α(x)值变化较大,进化速度较快;随着迭代次数的增加,当α(x)值保持为1时,表明算法结束或寻找到全局最优值。

本小结在sigmoid函数作为惯性权值非线性递减策略的基础上,引入进化速度α(x)动态参数,提出改进的基于sigmoid函数的惯性权值动态调整策略,策略如下:

与传统的神经网络算法相比,svm所需样本较少,在解决小样本数据、非线性及高维模式识别问题中表现出突出优势,而且具有全局最优、维数不敏感和泛化能力强的特点,广泛应用于复杂系统的建模和系统的故障检测。

设训练样本为输入向量为目标向量为{-1,+1}。其中,n为训练样本个数,m为输入变量个数。线性支持向量机原始优化问题可以表示为:

式中,c为惩罚参数,ζi为松弛变量,对应数据点允许偏离的量,针对噪声过拟合问题和线性可分到线性不分求解问题,svm的处理方法是引入拉格朗日对偶性,转化为对偶问题的最优化问题,针对数据维度中的“维度爆炸”问题,人为的引入核函数通过将数据映射到高维空间,来解决在原始空间中线性问题不可分的问题。

式中,αi为拉格朗日系数,κ(xi,xj)为核函数。核函数的引入巧妙的解决了维数灾难问题。目前,并没有成熟的理论指导我们如何选择最合适的核函数。但是相比线性核函数与多项式核函数,高斯核函数(rbf)只需要一个参数,学者研究发现rbf函数的精确度比线性函数和sigmoid函数效果更好,而且可以逼近任意非线性函数,因此本文选取高斯核函数作为核函数,即

支持向量机模型的准确度往往受多个变量的影响,比如核函数、惩罚因子c及核函数的参数g。为了寻找最佳的模型,我们需要对上述参数进行寻优。本文基于改进的粒子群优化算法展开对svm参数c和g进行参数寻优工作。

采用rbf函数构造svm分类器,模型中需要我们调节的参数是正则化参数c和核函数参数g,c表示模型对误差的惩罚系数,即对误差的宽容度;正则化参数c取值越大,表示模型越不能容忍出现误差,训练样本点与实际值拟合会越好,但是模型容易陷入过拟合,c过小,模型容易出现欠拟合;g参数是选择高斯核函数作为核函数后自带的一个参数,反映了样本数据映射到高维特征空间后的分布复杂度,参数g取值越大,支持向量越多,复杂度越小;g取值越小,支持向量越少,泛化性能越好,模型拟合出的曲线更加光滑。鉴于改进的pso优化算法具有较好的全局收敛性,寻优速度更快,效率更高,本文通过改进的pso算法来优化svm模型的c和g参数,期望获得更好的模型预测精度。

首先定义改进粒子群算法的适应度函数,本文取适应度评价函数为:

式中yi代表实际值,代表估计值,fitness为适应度值。

基于高斯核函数的svm模型中,正则化参数c和核参数g是影响支持向量机模型精度的关键参数,图4为改进粒子群算法优化的svm模型参数流程图。

采用改进粒子群算法解决svm训练模型参数优化问题的主要步骤如下:

(1)确定模型所需的参数,对建模所需的数据进行预处理,将数据集分为训练样本和测试样本;

(2)初始化粒子种群,第i个粒子可表示为对应于(c,g);

(3)根据当前的(c,g)训练svm模型,计算适应度值fitnessi(t),并比较;

(4)确定种群中粒子的局部最优值和全局最优值;

(5)根据迭代公式(2)、(3)对粒子的速度和位置进行更新;

(6)返回步骤2,直到判断是否满足最大迭代次数或者给定精度,当满足条件时结束循环,输出svm模型最优参数。

由于svm预测模型的精度主要由其参数确定,参数调整的过程即是参数优化的过程,为了提高svm预测模型的精度,本章在标准粒子群优化算法的基础上,针对惯性权重参数ω进行改进,提出基于sigmoid函数的惯性权值动态调整策略,测试函数实验表明了改进pso算法收敛性较好,寻优速度较快。利用改进的pso算法进行svm参数寻优,解决了svm模型参数c和g难以确定的问题。

本申请的整体诊断控制系统如图5所示,图中,yr(k)为系统转速期望设定值,u(k)为pid控制器输出值,y(k)为编码器实际速度测量值,δv(k)为惯导模块测量的加速度值,用于辅助测量机器人速度,为svm预测模型输出值,z(k)为转速反馈信号,r(k)为编码器实际测量值与svm模型预测值产生的残差信号,即在本故障诊断与容错控制方案中,改进pso优化的svm预测模型、sprt故障检测方法及故障容错切换机制是三个重要组成模块。

切换机制具体内容:当故障检测方法没有检测到故障时,将编码器实际测速值作为信号反馈给系统;当故障检测方法检测到故障时,会将编码器实际测速值替换为svm模型速度预测值作为信号反馈给系统,这样当编码器故障时,能够对故障进行容错。

其中,惯导模块mpu6050由加速度计和陀螺仪传感器组成。功能:可以测量物体的在某一方向运动的加速度或者角速度。

svm学习过程所需样本少,求解速度快,能够满足实时性要求较高的服务机器人运动控制系统,第四章提出的一种改进pso优化的svm模型在运动控制系统中担任预测速度的角色,在系统运行过程中将此模型的预测输出值与编码器实际输出值相比较产生残差,为编码器的故障诊断做准备。基于残差信号进行故障判断的传统方法是将残差与人为预先设定的阈值进行比较,故障检测的结果受阈值的选取影响比较大,阈值取值过大易造成漏报,取值过小易造成误报,故障检测的精度难以保证。为了降低故障检测的误报率和漏报率,选用序贯概率比检验(sprt)算法,该算法可以根据期望的误报率和漏报率灵活的设定阈值。

服务机器人运动控制系统在正常运行的时候是完整的闭环控制过程,为确保编码器故障时系统能够在检测故障的同时依然可以将故障控制住并运行至安全状态,容错控制是必不可少的。当检测到编码器故障时,立即用预测模型的输出值替代编码器的实际测量值,形成新的闭环,并将机器人系统运行至安全区域并且给用户提出故障警示信息。

将运动控制系统正常运行过程中采集的历史数据集作为pso-svm模型的训练集,建立预测模型,系统运行时,pso-svm模型预测输出值与编码器实际测量输出值比较之后得到r(k),sprt故障检测算法会实时的对残差信号进行检测,达到降低误报率和漏报率的目的。当检测到编码器故障时,故障容错机制会切断故障编码器的测量值,并将编码器实际测量值y(k)替换为改进pso-svm模型预测输出值作为反馈信号z(k)反馈给控制器,形成模拟闭环控制,防止故障信息传播到控制系统中,避免意外事故发生,当系统恢复正常之后,再将实际测量值y(k)作为反馈信号z(k)反馈给控制系统,最终达到软闭环安全容错控制的目的。

历史数据:机器人在按照加速、匀速、减速的运动过程中,采集设定速度值,时间点t,pid控制器输出值,t-1时刻速度值,t-2时刻速度值,t时刻惯导模块速度变化量,实际测速值y。按50毫秒一个周期采集这些数据组成数据集。

基于序贯概率比(sprt)检验法的编码器故障检测:基于正常历史数据建立改进pso-svm预测模型后,模型的预测输出值与编码器实际测量值比较可以获得残差信号,残差法在故障诊断中是一种常用的故障判决方法。在故障检测过程中,实际系统正常运行时,由于系统本身固有的不确定性和外部环境的干扰,残差信号r(k)是一个均值偏于零的噪声序列,明显的特征是正常运行时残差较小,发生故障时残差较大。

序贯概率比(sprt)检验算法区别于人工阈值检测方法受经验限制、灵活性差、准确性难以确定的缺点,可以预先根据要求的漏报率和误报率获得合理的阈值,在故障检验过程中,会不断增加观测样本数据,直到达到待设定的阈值时停止检验,在确保检测可靠性高、速度快的同时能够保证漏报率和误报率最低并且需要最少的样本。本文采用序贯概率比检验方法进行故障诊断,序贯概率比的阈值判决式t(h0)、t(h1)为:

式中,pf为允许的误报率,pm为允许的漏报率。k时刻的对数似然概率比判决函数λ(k)为:

式中r(k)为残差序列,即θ0为系统正常运行未发生故障时残差序列的均值;判决函数和检测阈值确定后,系统编码器是否发生故障的判决规则为:

①λ(k)≤lnt(h0),k时刻之前编码器没有发生故障;

②λ(k)≥lnt(h1),k时刻编码器发生故障;

③lnt(h0)<λ(k)<lnt(h1),需要增加样本数据继续检测。

由于对数似然比λ在h0>0时,有可能会变为较小的负数。当故障发生时,依据判决规则,系统必须积累一段时间的正值才能使λ达到故障检测阈值lnt(h1),从而造成检测延迟。为此对判决函数λ(k)进行改进,方式如下:

此时观测判决函数λ*(k)的数值变化,当λ*(k)≥lnt(h1),判定编码器出现故障。

当基于改进pso优化的svm故障诊断模块检测到故障时,为了防止故障扩散导致运动控制系统瘫痪,需要及时将故障编码器的实际输出值屏蔽掉,将故障诊断模块的速度预测输出值作为反馈信号传送至控制器,形成软闭环系统,使机器人运动控制系统在编码器出现故障时从带速度传感器的控制模式切换到不带速度传感器的软闭环控制模式,从而保证机器人系统安全可靠的运行。

在运动控制系统正常运行时,编码器的速度测量是闭环反馈系统中的重要一环,此时故障检测及切换模块认为无故障,故障指示为0,系统的反馈量为z(k)=y(k);系统依据速度实际测量值与模型的速度估计值比较获得的残差信号,通过序贯概率比检验法判断出编码器故障时,将故障指示量设置为10,容错控制模块如同一个切换开关将反馈回路切换至改进pso-svm模型的预测输出回路,形成软闭环反馈控制,此时容错控制系统及时的将故障编码器的反馈环节排除在外,防止了故障在闭环控制系统中造成不良的后果;当系统故障被排除后,编码器恢复正常,编码器的实际测速值与模型预测值的残差信号在允许的正常范围内,容错控制模块将编码器的实际测速值切换至反馈回路送到控制器,此时z(k)=y(k),从而实现运动控制系统稳定快速的软闭环容错控制。

为了更好地说明本申请上述系统所能带来的优点,本申请还进行了具体的仿真实施例子,如下:

利用webots和matlab建立故障检测仿真平台,如图6所示。

机器人故障仿真工作流程如图7所示,具体步骤如下:

(1)利用webots软件对机器人运动控制系统和运行环境进行3d建模,完成仿真环境的可视化;

(2)在超级控制器中编写运动控制策略程序,在运动过程中实时采集机器人的编码器、电池电压等数据。

(3)基于tcp/ip协议,实现matlab与webots之间的交互,在超级控制器中实现故障注入。

(4)matlab端实现人机交互的设计、数据的处理、构建模型方法的验证试验。

对机器人运动系统进行建模,运动系统包括机械结构,驱动系统及反馈系统。

编码器的常见故障为丢码和断码,总结起来即编码器输出有偏差和编码器失灵。机器人在实际运行过程中,编码器完全失灵的概率较低,大概率为输出有偏差。编码器故障模型如下:

yz(t)=yo(t)±ξ

式中,yo(t)表示t时刻传感器正常输出,yz(t)表示传感器故障输出,ξ表示传感器偏差项。本实验根据需要将偏差项设为恒值或者随机误差来模拟编码器的丢码和强电磁干扰故障。

编码器故障及模型建立后,基于matlab及webots超级控制器可以建立机器人运动系统的故障注入及分析系统,故障实验系统框图如图8所示。

将机器人设置为直线运动,速度为0.3m/s,当机器人的编码器发生故障时,运行路线会发生明显变化,机器人首先沿直线匀速行驶,运行在正常状态下,左右轮速度基本一致。对机器人右轮编码器注入丢码故障后,右轮编码器实际反馈速度减小,由于运动控制系统拥有速度闭环调速机制,控制器根据编码器的反馈会误认为右轮电机没有达到设定速度,所以会增加对右轮电机的pwm输出,这就导致右轮的实际速度值会大于左轮速度值,此时机器人控制系统无法感知左右轮速度的偏差,从而出现右轮速度大于左轮速度,导致机器人偏离直线运动出现向左偏移的现象。当右轮编码器丢码故障消失后,右轮速度恢复正常,机器人恢复直线运动。

使其按照先加速后匀速最后减速的策略进行运动,为了提高模型训练的预测精度,提高故障诊断系统的鲁棒性,排除由于外界环境影响如碰撞、电机堵转等因素导致的编码器输出与设定速度不对应而出现的故障误检测现象,将惯性导航模块作为故障检测系统的辅助模块,惯性模块的加速度数据作为预测模型的特征量之一,考虑到机器人在运动过程中存在与运动速度相关的多个特征量,单维数据采集特征量包括:设定速度值,时间点t,pid控制器输出值,t-1时刻速度值,t-2时刻速度值,t时刻惯导模块速度变化量,实际测速值y。

由于svm预测模型中的输入向量xi是多维向量,服务机器人在实际运行时运动状态具有随机性、不可预测性,运动状态总体分为加速、匀速、减速三种情况,如果单纯的输入某一时刻的单维样本,预测模型是无法判断出机器人当前处于何种运动状态下的,也就达不到预测模型高精度的目的。为了使构建的模型具有较高的预测精度和泛化能力,设计了一个随时间滚动的窗口,窗口宽度为n保持不变。随着时间的推移,窗口从左到右移动,旧的数据从窗口左边移出,新的数据从右边进入。设滑动时间窗的当前位置为i,则输入样本向量xi为[i,i+n-1]时刻区间内的数据,输出样本yi为i+n时刻的数据。依次滚动时间窗获取样本数据集,本文实验中,将时间窗宽度设为n=10。

实验中,以webots软件设计的机器人仿真平台为实验对象,采集800组数据,随机抽取600组数据作为训练集,200组数据作为测试集,建立改进pso优化的svm预测模型,优化后的参数c=24.6,核参数g=0.94。经测试集测试后,将模型的预测输出值与实际值进行对比得出图9所示,为了防止模型预测曲线与实际曲线重合影响视觉效果,将预测曲线沿y轴平移了0.3。计算均方根误差得出所建模型预测精度评价如表1所示。

表1改进pso-svm预测模型性能评价

基于matlabgui对机器人编码器故障仿真设计了人机交互系统,如图10所示。该系统可以与webots机器人仿真软件平台建立连接,运动控制区域可以实现对机器人平台运动状态的控制,包括前进、后退、左转、右转、漫游等;3d场景可视化区域可以实时观察机器人的运行状态变化;故障信息区域可以实现故障的注入、故障检测、历史数据保存等功能;右侧区域为数据显示区域,其中速度版块可以显示左右轮编码器测速数据;仿真与实物速度数据拟合版块分别显示实物机器人、仿真机器人速度预测模型曲线;故障注入及指示版块显示机器人运行过程中故障注入后的速度曲线以及故障注入后的故障检测指示曲线。

以实物机器人平台和仿真机器人平台获取的数据作为数据源,分别进行模型拟合预测。图10中仿真与实物速度数据拟合区域所示,由于实物机器人机械结构及电机传动机构的传动,摩擦及外界环境等不确定性因素,数据源噪声比较大。仿真机器人由于其结构及运行环境均为理想状态,运行状态平稳,数据源噪声较小。通过svm模型预测拟合的效果相似,说明了所建模型的有效性。

容错控制实验设计及验证:本文在故障检测的基础上加入了容错控制机制,为了验证本文所提故障检测与容错控制系统的有效性和鲁棒性,对运动控制系统人工注入故障元素进行故障仿真。系统设定速度为300mm/s,在第10s时,注入高斯噪声故障来模拟编码器受到强电磁干扰,持续时间10s。在第30s时注入幅值为80的阶跃型故障,模拟丢码故障,持续时间10s。运动控制系统刚开始启动时,由于传动装置未完全啮合,svm预测模型会有一定的误差,为防止误差对故障检测产生影响,在系统启动前3s不进行故障检测,待系统进入正常运行状态后,再进行故障检测。故障检测时,设置误报率pf=0.15、漏报率pm=0.15,则计算得到故障检测阈值为lnt(h1)=1.734。实验效果如下:

由图12所示,系统在前3秒处于启动阶段,出现较大残差,没有进行故障检测,所以图中没有指示编码器发生故障;系统稳定运行至第10s和第30s时注入故障,残差信号的均值会发生变化,当sprt统计量λ*(k)超过故障判决阈值lnt(h1)时,提示传感器发生故障,故障指示量为20;系统正常运行时,残差均值保持在0值附近,λ*(k)低于故障判决阈值,认为传感器正常,故障指示量为0。图11中3种曲线为了突出视觉效果,进行了微小的上下平移,不影响实际效果,可知,在第10s和第30s编码器发生故障时,编码器预测值与实际测量值有较大偏差,此时模型预测输出值会替代实际测量值作为反馈信号,形成新的闭环控制,在切换过程中系统表现良好,未出现明显偏差。系统恢复正常时,编码器实际测量值重新切入闭环系统作为反馈量,预测反馈闭环不再起作用。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

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