美文网首页
预测性维护相关资料

预测性维护相关资料

作者: Kiven_1994 | 来源:发表于2020-05-04 17:24 被阅读0次

引言

对预测性维护相关资料进行整理,便于查阅。

预测性维护工作流

使用数字孪生体进行预测性维护

预测性维护工作流

结合Simulink仿真和预测性维护工具箱(Predictive Maintenance Toobbox)

  • 构建数字孪生体
  • 获取数据
  • 数据预处理
  • 创建预测模型
  • 部署算法

预测性维护主要包括两个方向:故障诊断和剩余寿命(RUL)预测。

Data Ensembles for Condition Monitoring and Predictive Maintenance

所需数据主要包括三类:

  • 系统正常运行
  • 系统在故障状态下运行
  • 系统运行的寿命记录(从正常到故障的数据)

小迈步之人工智能(二):大数据跌进人工智能的坑,预测性维护如何实现和落地

主要内容包括:

  • 利用数字孪生仿真目标对象,并产生仿真数据
  • 利用数据进行预处理和特征提取
  • 利用机器学习技术构建设备的故障诊断和剩余寿命预测模型
  • 利用 App Designer 生成用户界面

故障诊断工作流相关

Predictive Maintenance in Hydraulic Pump

Multi-Class Fault Detection Using Simulated Data

Analyze and Select Features for Pump Diagnostics

  • 导入带标签的数据
  • 对数据进行预处理
  • 对数据进行探索和特征提取
  • 选择合适的机器学习分类模型
    • 决策树
    • SVM
    • 朴素贝叶斯分类器
    • 最近邻分类器
    • 集成分类器
      • 提升树
      • 装袋树
      • ...
    • ...

寿命预测工作流相关

Wind Turbine High-Speed Bearing Prognosis

Data Import

数据导入主要通过 fileEnsembleDatastore 函数来完成。

Data Exploration

对初始数据进行初步的探索,包括一些基础特征的变化等等。主要通过各类统计图的观察来初步分析。

Feature Extraction

基于前一步数据探索后的结果对需要、有价值的特征进行提取,主要包括以下特征:

  • 时域(time-domain)
    • Mean
    • Std
    • Skewness
    • Kurtosis
    • Peak2Peak
    • RMS
    • CrestFactor
    • ShapeFactor
    • ImpulseFactor
    • MarginFactor
    • Energy
    • ...
  • 频域
    • spectral kurtosis
      • SKMean
      • SKStd
      • SKSkewness
      • SKKurtosis
      • ...

关于信号频域分析方法的理解,参见:信号频域分析方法的理解(频谱、能量谱、功率谱、倒频谱、小波分析) - Mr.括号的文章 - 知乎

Feature Postprocessing

提取出的特征通常包含噪声,因此需要进行平滑处理。

这里采用的是移动均值平滑(moving mean smothing),对应的 matlab 函数为 movmean 。该方法会引入信号的时间延迟,可以通过在 RUL 预测中选择适当的阈值来减轻延迟影响。

对于时间序列的平滑处理主要包括两种方法:移动平均法(Moving average, MA)和指数平滑法(Exponential Smoothing, ES),具体可参考:

Training Data

创建训练集。通常利用现有数据的部分数据作为训练集。

Feature Importance Ranking

对数据特征的重要性进行排序。这里选择的是单调性(monotonicity)来度量这些特征的重要性。对应的 matlab 函数为 monotonicity

Dimension Reduction and Feature Fusion

利用主成分分析(PCA)对特征进行降维,在进行 PCA 之前,需要对特征数据进行归一化处理。

可通过观察主成分之间的关系,选择合适的健康指标。

Fit Exponenential Degradation Models for Remaining Useful Life (RUL) Estimation

观察健康指标的变化趋势选择合适的衰退模型,这里使用的是指数衰退模型(Exponenential Degradation Models)。利用 predictRULupdate 方法对 RUL 进行预测,并实时更新参数分布。

real-time RUL estimation

RUL Estimation Using RUL Estimator Models

使用 RUL 预测模型的工作流:

  1. 选择合适的 RUL 预测模型
  2. 利用历史数据训练该模型,使用 fit 命令
  3. 利用同种类型组件的历史数据预测待估计 RUL 的测试组件,使用 predictRUL 命令,同时还可以利用该测试组件已产生的数据对预测模型进行更新,使用 update 命令

RUL 预测模型家族:

rul_families

Performance Analysis

\alpha-\lambda 图用于预后性能分析(prognosis performance analysis),其中 \alpha 界限设为 20\%。估计的 RUL 介于真实 RUL 的 \alpha 界限之间的概率被计算作为模型的性能度量:

{\rm Pr}(r^*(t)-\alpha r^*(t)<r^*(t)+\alpha r^*(t)|\Theta(t))

其中 r(t)t 时刻估计的 RUL,r^*(t) 表示在 t 时刻真实的 RUL,\Theta(t)t 时刻估计的模型参数。

alpha-lambda plot alpha20 probability

matlab 相关方法

编程建模

编程建模基础知识

  • 加载模型
    • load_system(<modelname>)
  • 创建模型并指定参数设置
    • new_model(<modelname>)
    • set_param(<modelname>, <Variable>, <Value>)
  • 打开模型时通过编程方式加载变量
    • set_param(<modelname>, 'PreloadFcn', <variable=value>)
  • 以编程方式添加和连接模块
    • add_block
    • add_line
    • delete_line
    • ...
  • 通过编程方式命名信号
  • 自动排列模型布局
    • Simulink.BlockDiagram.arrangeSystem
    • Simulink.BlockDiagram.routeLine
  • 在多个窗口中打开同一个模型
    • open_system(<modelname>, 'window')
  • 获取 Simulink 标识符
    • Simulink.ID.getSID(<model/block>)
  • 以编程方式指定颜色

控制仿真状态:

set_param(<modelname>, 'SimulationCommand', <command>)

<command> 可以是 startpausecontinuestop

如果使用 start 参数启动仿真,则必须使用 stop 参数来停止仿真。

<command> 还可以是:

  • update:在仿真运行时动态更新以更改的工作区变量
  • WriteDataLogs:将所有数据记录变量写入基础工作区

检查仿真的状态:

get_param(<modelname>, 'SimulationStatus')

将返回 stoppedinitialzingrunningpausedcompiledupdatingterminatingexternal

常用 matlab 特性

对于大数据,防止数据溢出内存,可以使用 tall 类型,推迟运算,使用 gather 函数进行运算获取结果。具体参见:Deferred Evaluation of Tall Arrays

timer:定时器。

生成和使用模拟数据集合

Generate and Use Simulated Data Ensemble

Manage System Data

载入模型

mdl = 'TransmissionCasingSimplified';
open_system(mdl)

生成模拟数据集合

toothFaultValues  = -2:0.5:0; % 5 ToothFaultGain values

% 设置多组仿真
for ct = numel(toothFaultValues):-1:1
    tmp = Simulink.SimulationInput(mdl);
    tmp = setVariable(tmp,'ToothFaultGain',toothFaultValues(ct));
    simin(ct) = tmp;
end

mkdir Data
location = fullfile(pwd,'Data');
[status,E] = generateSimulationEnsemble(simin,location);

模拟数据集合存储

ensemble = simulationEnsembleDatastore(location)

% ensemble.DataVariables
% ensemble.SelectedVariables

读取数据

ensemble.SelectedVariables = ["Vibration";"SimulationInput"];
data1 = read(ensemble)
% data1=1×2 table
%         Vibration               SimulationInput
%     _________________    ______________________________
%
%     {581x1 timetable}    {1x1 Simulink.SimulationInput}

data2 = read(ensemble)
% data2=1×2 table
%         Vibration               SimulationInput
%     _________________    ______________________________
%
%     {594x1 timetable}    {1x1 Simulink.SimulationInput}

% 可以设置一次性读取数据的大小
ensemble.ReadSize = 2;

ensemble.SelectedVariables = ["Vibration";"ToothFault"];
data3 = read(ensemble)

% data3=2×2 table
%         Vibration        ToothFault
%     _________________    __________
%
%     {581x1 timetable}      false
%     {594x1 timetable}      false

read(<ensemble>) 函数类似于 Python 中的 next,模拟数据集合相当于 Pyhon 中的生成器。

可通过 reset(<ensemble>) 来将整体数据置于未读状态,从而能够从头读取数据。

追加集合成员数据

reset(ensemble);
sT = false;
while hasdata(ensemble)
    data = read(ensemble);
    SimInputVars = data.SimulationInput{1}.Variables;
    TFGain = SimInputVars.Value;
    sT = (abs(TFGain) < 0.1);
    writeToLastMemberRead(ensemble,'ToothFault',sT);
end

相关文章

  • 预测性维护相关资料

    引言 对预测性维护相关资料进行整理,便于查阅。 预测性维护工作流 使用数字孪生体进行预测性维护 结合Simulin...

  • 数据驱动的设备故障预测

    上篇文章《一文看懂预测性维护》带你了解了预测性维护的全貌,相信你已经对预测性维护有了整体性的认识。那么今天我们换一...

  • 预测性维护——未来工厂之光

    摘要:预测性维护技术是工业物联网常探讨的内容,但是大部分人对此却不甚了解。笔者可以肯定,预测性维护必将是未来工厂之...

  • 预测性维护怎么玩之实践篇

    引言 去年写过一篇《预测性维护怎么玩之科普篇》,为大家介绍了预测性维护的基础知识。正所谓,纸上得来终觉浅,欲知此事...

  • Fits –Cross Correlations

    交互相关性使用此窗口为所有拟合残差和输入执行相关性分析。残差与预测窗口上设置的预测时域相对应。 概述–Fit An...

  • 一文看懂预测性维护

    当前,新一轮科技革命和产业变革孕育兴起,大数据的集聚、理论算法的革新、计算能力的提升及网络设施的演进,驱动人工智能...

  • 模型评估:精确率召回率准确率

    A: 相关,且召回(预测为1)后也认为相关B: 不相关,但召回(预测为1)后认为相关C: 相关,但召回(预测...

  • 【IBF】浅谈使用预测软件的成本及收益

    因为工作需要,近期在搜素需求计划与销售预测相关的资料。但是网上中文资料有限,在IBF网站上看到几篇文章,试着翻译了...

  • 预测性维护怎么玩之科普篇

    引言 预测性维护可以算是智能制造中比较火的应用场景了,其中涉及了以机器学习为核心的众多先进技术。在这里做个科普讲座...

  • [译]机器学习技术用于预测性维护

    英文原文链接:https://www.infoq.com/articles/machine-learning-te...

网友评论

      本文标题:预测性维护相关资料

      本文链接:https://www.haomeiwen.com/subject/peeyghtx.html