首页/文章/ 详情

三相永磁同步电机定子故障的振动和电流数据集(韩国科学技术高级研究所)

1天前浏览16

本期给大家介绍一个同步电机故障的振动和电流公开数据集。

论文链接:通过点击最左下角的阅读原文进行在线阅读及下载

论文基本信息

论文题目: Vibration and current dataset of three-phase permanent magnet synchronous motors with stator faults

论文期刊: Data in Brief
论文日期: 2023年
论文链接: https://doi.org/10.1016/j.dib.2024.110453
数据链接: https://data.mendeley.com/datasets/rgn5brrgrn/5
作者: Wonho Jung, Sung-Hyun Yun, Yoon-Seop Lim, Sungjin Cheong, Yong-Hwa Park*  

机构: Department of Mechanical Engineering, Korea Advanced Institute of Science and Technology

目录

1 摘要
2 参数表
3 数据价值
4 背景
5 数据描述
6 实验设计、材料与方法
    6.1 第1节:实验台描述
    6.2 第2节:故障模拟方法
7 数据读取与频谱分析
    7.1 导入包
    7.2 电流数据分析
    7.3 振动数据分析

1 摘要

永磁同步电机(PMSM)广泛应用于工业领域,如家用电器、制造工艺、高速列车和电动汽车等。PMSM的意外故障直接关系到工程系统的重大损失。电机故障主要包括轴承故障(机械故障)和定子故障(电气故障)。本文公开了三相PMSM在八种不同定子故障严重程度下的振动和驱动电流数据集,涵盖了三种不同功率的电机。实验展示了三种功率分别为1.0 kW、1.5 kW和3.0 kW的PMSM在正常状态、线圈间短路故障和匝间短路故障下的运行情况。所有PMSM均在相同的扭矩负载条件和转速下运行。数据采集使用了一个基于集成电子压电(IEPE)的加速度计和三个电流互感器(CT),并通过美国国家仪器(NI)的数据采集(DAQ)板完成,符合国际标准化组织标准(ISO 10816-1:1995)。该数据集可用于验证新开发的最先进的PMSM定子故障诊断方法。

2 参数表

3 数据价值

该数据集是从三种不同功率(分别为1.0 kW、1.5 kW和3.0 kW)的电机中采集的。实验中设置了两种不同类型的故障,包括匝间短路线圈间短路。数据集包含振动数据电流数据振动数据反映了由于电机定子故障引起的扭矩不平衡对轴承的冲击电流数据反映了电机驱动功率的变化

该数据集是根据ISO标准(ISO 10816-1:1995)采集的。定子故障通过在线圈间电路和匝间电路中旁路电阻人工设置。三种不同功率的电机(1.0 kW、1.5 kW和3.0 kW)在相同的实验条件下进行测试,包括额定转速(3000 RPM)、额定负载条件(允许扭矩极限1.5 Nm的15%)、传感器位置以及采样率振动数据为25.6 kHz电流数据为100 kHz)。

考虑到故障诊断数据集的构建通常需要大量的努力和时间,该数据集可以为故障诊断研究领域提供有价值的数据支持[1]。因此,该数据集可用于分析不同电机功率下电机在不同严重程度的定子故障中的状态[2, 3]。此外,与驱动电流数据同步的振动数据可用于分析故障诊断中的振动-电流相关性。该数据集还可用于评估新开发的基于深度学习的故障诊断方法,特别是针对不同电机功率的情况。

4 背景

该数据集是为基于深度学习的电机故障诊断研究而建立的。与其他研究不同,在故障诊断研究领域获取数据非常困难,因为实际故障难以人为施加。因此,在深度学习算法的训练中存在许多困难。为了解决这一问题,我们根据电机功率模拟了定子故障,并根据故障严重程度获取了振动和驱动电流数据。该数据集基于机械工程知识,并按照ISO国际标准进行测量。该数据集可用于验证基于深度学习的故障诊断方法。

5 数据描述

收集的数据集包括从三种不同功率(1.0 kW、1.5 kW和3.0 kW)的永磁同步电机(PMSM)中获取的振动和电流数据。在每个电机中,共设置了16种定子故障,包括8种线圈间电路故障8种匝间电路故障。电机在额定转速(3000 RPM)和额定负载条件(允许扭矩极限1.5 Nm的15%)下运行。收集的数据集技术数据管理流(TDMS)文件格式存储。TDMS文件格式可以轻松地与其他数据分析程序(如MATLAB [5]和Python [6])进行交互。

振动数据使用加速度计(PCB352C34)测量,并通过NI9234模块采集,采集时长为120秒,采样频率为25.6 kHz。每个振动数据文件包含两列,分别为“时间戳”和“振幅”。振动振幅的单位为“重力常数(g)”(1g = 9.80665 m/s²)。振动数据文件包括PMSM在匝间短路和线圈间短路情况下的z方向振动数据。以下是电机运行状态和健康条件下的振动文件描述:

1.1000W_0_00_vibration_interturn.tdms:此文件包括从功率为1.0kW的电机获取的z方向的健康状态振动数据。

2.1000W_2_26_vibration_interturn.tdms:此文件包括从功率为1.0kW的电机获取的z方向的匝间短路故障振动数据,严重度为2.26%。  

3.1000W_2_70_vibration_interturn.tdms:此文件包括从功率为1.0kW的电机获取的匝间短路故障振动数据,严重度为2.70%。  

4.1000W_3_35_vibration_interturn.tdms:此文件包括从功率为1.0kW的电机获取的z方向的匝间短路故障振动数据,严重度为3.35%。  

5.1000W_4_41_vibration_interturn.tdms:此文件包括从功率为1.0kW的电机获取的Z方向的匝间短路故障振动数据,严重度为4.41%。  

6.1000W_6_48_vibration_interturn.tdms:此文件包括从功率为1.0kW的电机获取的z方向的匝间短路故障振动数据,严重度为6.48%。  

7.1000W_12_17_vibration_interturn.tdms:此文件包括从功率为1.0kW的电机获取的z方向的匝间短路故障振动数据,严重度为12.17%。  

8.1000W_21_69_vibration_interturn.tdms:此文件包括从功率为1.0kW的电机获取的z方向的匝间短路故障振动数据,严重度为21.69%。  

9.1000W_0_00_vibration_intercoil.tdms:此文件包括从功率为1.0kW的电机获取的Z方向健康状态振动数据。  

10.1000W_0_68_vibration_intercoil.tdms:此文件包括从功率为1.0kW的电机获取的Z方向线圈间短路故障振动数据,严重度为0.68%。  

11.1000W_0_81_vibration_intercoil.tdms:此文件包括从功率为1.0kW的电机获取的Z方向的线圈间短路故障振动数据,严重度为0.81%。  

12.1000W_1_01_vibration_intercoil.tdms:文件包括从功率为1.0kW的电机获取的Z方向线圈间短路故障振动数据,严重度为1.01%。  

13 1000W_1_34_vibration_intercoil.tdms:此文件包括从功率为1.0kW的电机获取的Z方向线圈间短路故障振动数据,严重度为1.34%。  

14.1000W_ 2_00_vibration_intercoil.tdms:此文件包括从功率为1.0kW的电机获取的Z方向的线圈间短路故障振动数据,严重度为2.00%。  

15.1000W_ 3_93_vibration_intercoil.tdms:此文件包括从功率为1.0kW的电机获取的Z方向线圈间短路故障振动数据,严重度为3.93%。  

16.1000W_7_56_vibration_intercoil.tdms:此文件包括从功率为1.0kW的电机获取的z方向的线圈间短路故障振动数据,严重度为7.56%。  

17.1500W_0_00_vibration_interturn.tdms:此文件包括从功率为1.5kW的电机获取的z方向健康状态振动数据。  

18.1500W_1_57_vibration_interturn.tdms:此文件包括从功率为1.5kW的电机获取的z方向的匝间短路故障振动数据,严重度为1.57%。  

19.1500W_1_88_vibration_interturn.tdms:此文件包括从功率为1.5kW的电机获取的z方向的匝间短路故障振动数据,严重度为1.88%。  

20.1500W_2_34_vibration_interturn.tdms:此文件包括从功率为1.5kW的电机获取的z方向的匝间短路故障振动数据,严重度为2.34%。  

21.1500W_3_10_vibration_interturn.tdms:此文件包括从功率为1.5kW的电机获取的z方向的匝间短路故障振动数据,严重度为3.10%。

22.1500W_4_57_vibration_interturn.tdms:此文件包括从功率为1.5kW的电机获取的z方向的匝间短路故障振动数据,严重度为4.57%。

22.1500W_4_57_vibration_interturn.tdms:此文件包括从功率为1.5kW的电机获取的z方向的匝间短路故障振动数据,严重度为4.57%。  

23.1500W_8_74_vibration_interturn.tdms:此文件包括从功率为1.5kW的电机获取的z方向的匝间短路故障振动数据,严重度为8.74%。  

24.1500W_16_08_vibration_interturn.tdms:此文件包括从功率为1.5kW的电机获取的z方向的匝间短路故障振动数据,严重度为16.08%。  

25.1500W_0_00_vibration_intercoil.tdms:此文件包括从功率为1.5kW的电机获取的Z方向健康状态振动数据。  

26.1500W_4_79_vibration_intercoil.tdms:此文件包括从功率为1.5kW的电机获取的Z方向的线圈间短路故障振动数据,严重度为4.79%。  

27.1500W_5_70_vibration_intercoil.tdms:此文件包括从功率为1.5kW的电机获取的z方向的线圈间短路故障振动数据,严重度为5.70%。  

28.1500W_7_02_vibration_intercoil.tdms:此文件包括从功率为1.5kW的电机获取的Z方向的线圈间短路故障振动数据,严重度为7.02%。  

29.1500W_9_15_vibration_intercoil.tdms:此文件包括从功率为1.5kW的电机获取的Z方向的线圈间短路故障振动数据,严重度为9.15%。  

30.1500W_13_12_vibration_intercoil.tdms:此文件包括从功率为1.5kW的电机获取的z方向的线圈间短路故障振动数据,严重度为13.12%。  

31.1500W_23_20_vibration_intercoil.tdms:此文件包括从功率为1.5kW的电机获取的Z方向的线圈间短路故障振动数据,严重度为23.20%。  

32.1500W_37_66_vibration_intercoil.tdms:此文件包括z方向的线圈间短路故障振动数据,严重度为37.66%,这些数据来自功率为1.5kW的电机。  

33.3000W_0_00_vibration_interturn.tdms:此文件包括从功率为3.0kW的电机获取的z方向的健康状态振动数据。  

34.3000W_1_78_vibration_interturn.tdms:此文件包括从功率为3.0kW的电机获取的z方向的匝间短路故障振动数据,严重度为1.78%。  

35.3000W_2_13_vibration_interturn.tdms:此文件包括从功率为3.0kW的电机获取的z方向的匝间短路故障振动数据,严重度为2.13%。  

36.3000W_2_65_vibration_interturn.tdms:此文件包括从功率为3.0kW的电机获取的z方向的匝间短路故障振动数据,严重度为2.65%。  

37.3000W_3_50_vibration_interturn.tdms:此文件包括从功率为3.0kW的电机获取的z方向的匝间短路故障振动数据,严重度为3.50%。  

38.3000W_5_16_vibration_interturn.tdms:此文件包括从功率为3.0kW的电机获取的z方向的匝间短路故障振动数据,严重度为5.16%。  

39.3000W_9_81_vibration_interturn.tdms:此文件包括从功率为3.0kW的电机获取的z方向的匝间短路故障振动数据,严重度为9.81%。  

40.3000W_17_86_vibration_interturn.tdms:此文件包括从功率为3.0kW的电机获取的z方向的匝间短路故障振动数据,严重度为17.86%。  

41.3000W_0_00_vibration_intercoil.tdms:此文件包括从功率为3.0kW的电机获取的Z方向健康的线圈间短路振动数据。  

42.3000W_2_49_vibration_intercoil.tdms:此文件包括从功率为3.0kW的电机获取的Z方向的线圈间短路故障振动数据,严重度为2.49%。  

43.3000W_2_98_vibration_intercoil.tdms:此文件包括从功率为3.0kW的电机获取的Z方向线圈间短路故障振动数据,严重度为2.98%。  

44.3000W_3_69_vibration_intercoil.tdms:此文件包括从功率为3.0kW的电机获取的z方向的线圈间短路故障振动数据,严重度为3.69%。  

45.3000W_4_86_vibration_intercoil.tdms:文件包括从功率为3.0kW的电机获取的Z方向的线圈间短路故障振动数据,严重度为4.86%。  

46.3000W_7_12_vibration_intercoil.tdms:此文件包括从功率为3.0kW的电机获取的Z方向的线圈间短路故障振动数据,严重度为7.12%。  

47.3000W_13_10_vibration_intercoil.tdms:此文件包括从功率为3.0kW的电机获取的Z方向的线圈间短路故障振动数据,严重度为13.10%。  

48.3000W_23_48_vibration_intercoil.tdms:此文件包括从功率为3.0kW的电机获取的Z方向的线圈间短路故障振动数据,严重度为23.48%。  

电流数据是使用名为Hioki CT6700的三个电流互感器(CT)传感器测量的,并通过NI9775模块采集了120秒采样频率为100 kHz。每个驱动电流数据文件包含四列,分别是“时间戳”、“U相”、“V相”和“W相”。电流的单位是“安培(A)”。根据电机的运行和健康状况,电流文件的描述如下:

1.1000W_0_00_current_interturn.tdms:该文件包含从功率为1.0 kW的电机采集到的三相健康状态下的匝间短路电流数据。  

2.1000W_2_26_current_interturn.tdms:这个文件包含了从功率为1.0 kW的电机中采集到的三相匝间短路故障电流数据,其故障严重程度为2.26%。  

3.1000W_2_70_current_interturn.tdms:这个文件包含了从功率为1.0 kW的电机中采集到的三相匝间短路故障电流数据,其故障严重程度为2.70%。  

4.1000W_ 3_35_current_interturn.tdms:这个文件包含了从功率为1.0 kW的电机中采集到的三相匝间短路故障电流数据,其故障严重程度为3.35%。  

5.1000W_ 4_41_current_interturn.tdms:这个文件包含了从功率为1.0 kW的电机中采集到的三相匝间短路故障电流数据,其故障严重程度为4.41%。  

6.1000W_6_48_current_interturn.tdms:这个文件包含了从功率为1.0 kW的电机中采集到的三相匝间短路故障电流数据,其故障严重程度为6.48%。  

7.1000W_12_17_current_interturn.tdms:这个文件包含了从功率为1.0 kW的电机中采集到的三相匝间短路故障电流数据,其故障严重程度为12.17%。  

8.1000W_21_69_current_interturn.tdms:这个文件包含了从功率为1.0 kW的电机中采集到的三相匝间短路故障电流数据,其故障严重程度为21.69%。  

9.1000W_0_00_current_intercoil.tdms:这个文件包含了从功率为1.0 kW的电机中采集到的三相健康状态下电流数据。

10.1000W_0_68_current_intercoil.tdms:这个文件包含了从功率为1.0 kW的电机中采集到的三相绕组间短路故障电流数据,其故障严重程度为0.68%。

11.1000W_0_81_current_intercoil.tdms:这个文件包含了从功率为1.0 kW的电机中采集到的三相绕组间短路故障电流数据,其故障严重程度为0.81%。  

12.1000W_1_01_current_intercoil.tdms:这个文件包含了从功率为1.0 kW的电机中采集到的三相绕组间短路故障电流数据,其故障严重程度为1.01%。  

13.1000W_1_34_current_intercoil.tdms:这个文件包含了从功率为1.0 kW的电机中采集到的三相绕组间短路故障电流数据,其故障严重程度为1.34%。  

14.1000W_2_00_current_intercoil.tdms:这个文件包含了从功率为1.0 kW的电机中采集到的三相绕组间短路故障电流数据,其故障严重程度为2.00%。  

15.1000W_3_93_current_intercoil.tdms:这个文件包含了从功率为1.0 kW的电机中采集到的三相绕组间短路故障电流数据,其故障严重程度为3.93%。  

16.1000W_7_56_current_intercoil.tdms:这个文件包含了从功率为1.0 kW的电机中采集到的三相绕组间短路故障电流数据,其故障严重程度为7.56%。  

17.1500W_0_00_current_interturn.tdms:该文件包含从功率为1.5 kW的电机采集得的三相正常状态电流数据。  

18.1500W_1_57_current_interturn.tdms:这个文件包含了从功率为1.5 kW的电机中采集到的三相匝间短路故障电流数据,其故障严重程度为1.57%。

19.1500W_1_88_current_interturn.tdms:这个文件包含了从功率为1.5 kW的电机中采集到的三相匝间短路故障电流数据,其故障严重程度为1.88%。  

20.1500W_ 2_34_current_interturn.tdms:这个文件包含了从功率为1.5 kW的电机中采集到的三相匝间短路故障电流数据,其故障严重程度为2.34%。  

21.1500W_3_10_current_interturn.tdms:这个文件包含了从功率为1.5 kW的电机中采集到的三相匝间短路故障电流数据,其故障严重程度为3.10%。  

22.1500W_4_57_current_interturn.tdms:这个文件包含了从功率为1.5 kW的电机中采集到的三相匝间短路故障电流数据,其故障严重程度为4.57%。  

23.1500W_8_74_current_interturn.tdms:这个文件包含了从功率为1.5 kW的电机中采集到的三相匝间短路故障电流数据,其故障严重程度为8.74%。  

24.1500W_16_08_current_interturn.tdms:这个文件包含了从功率为1.5 kW的电机中采集到的三相匝间短路故障电流数据,其故障严重程度为16.08%。  

25.1500W_0_00_current_intercoil.tdms:这个文件包含了从功率为1.5 kW的电机中采集到的三相健康状态下电流数据。

26.1500W_4_79_current_intercoil.tdms:这个文件包含了从功率为1.5 kW的电机中采集到的三相绕组间短路故障电流数据,其故障严重程度为4.79%。

27.1500W_5_70_current_intercoil.tdms:这个文件包含了从功率为1.5 kW的电机中采集到的三相绕组间短路故障电流数据,其故障严重程度为5.70%。  

28.1500W_7_02_current_intercoil.tdms:这个文件包含了从功率为1.5 kW的电机中采集到的三相绕组间短路故障电流数据,其故障严重程度为7.02%。  

29.1500W_9_15_current_intercoil.tdms:这个文件包含了从功率为1.5 kW的电机中采集到的三相绕组间短路故障电流数据,其故障严重程度为9.15%。

30.1500W_13_12_current_intercoil.tdms:这个文件包含了从功率为1.5 kW的电机中采集到的三相绕组间短路故障电流数据,其故障严重程度为13.12%。  

31.1500W_23_20_current_intercoil.tdms:这个文件包含了从功率为1.5 kW的电机中采集到的三相绕组间短路故障电流数据,其故障严重程度为23.20%。  

32.1500W_37_66_current_intercoil.tdms:这个文件包含了从功率为1.5 kW的电机中采集到的三相绕组间短路故障电流数据,其故障严重程度为37.66%。  

33.3000W_0_00_current_interturn.tdms:该文件包含从功率为3.0 kW的电机获得的三相正常状态电流数据。  

34.3000W_1_78_current_interturn.tdms:这个文件包含了从功率为3.0 kW的电机中采集到的三相匝间短路故障电流数据,其故障严重程度为1.78%。  

35.3000W_2_13_current_interturn.tdms:这个文件包含了从功率为3.0 kW的电机中采集到的三相匝间短路故障电流数据,其故障严重程度为2.13%。  

36.3000W_2_65_current_interturn.tdms:这个文件包含了从功率为3.0 kW的电机中采集到的三相匝间短路故障电流数据,其故障严重程度为2.65%。  

37.3000W_3_50_current_interturn.tdms:这个文件包含了从功率为3.0 kW的电机中采集到的三相匝间短路故障电流数据,其故障严重程度为3.50%。  

38.3000W_5_16_current_interturn.tdms:这个文件包含了从功率为3.0 kW的电机中采集到的三相匝间短路故障电流数据,其故障严重程度为5.16%。

39.3000W_9_81_current_interturn.tdms:这个文件包含了从功率为3.0 kW的电机中采集到的三相匝间短路故障电流数据,其故障严重程度为9.81%。  

40.3000W_17_86_current_interturn.tdms:这个文件包含了从功率为3.0 kW的电机中采集到的三相匝间短路故障电流数据,其故障严重程度为17.86%。  

41.3000W_0_00_current_intercoil.tdms:此文件包括从功率为3.0kW的电机获取的三相健康状态电流变化数据。  

42.3000W_2_49_current_intercoil.tdms:这个文件包含了从功率为3.0 kW的电机中采集到的三相绕组间短路故障电流数据,其故障严重程度为2.49%。  

43.3000W_2_98_current_intercoil.tdms:这个文件包含了从功率为3.0 kW的电机中采集到的三相绕组间短路故障电流数据,其故障严重程度为2.98%。  

44.3000W_3_69_current_intercoil.tdms:这个文件包含了从功率为3.0 kW的电机中采集到的三相绕组间短路故障电流数据,其故障严重程度为3.69%。  

45.3000W_4_86_current_intercoil.tdms:这个文件包含了从功率为3.0 kW的电机中采集到的三相绕组间短路故障电流数据,其故障严重程度为4.86%。  

46.3000W_7_12 _current_intercoil.tdms:这个文件包含了从功率为3.0 kW的电机中采集到的三相绕组间短路故障电流数据,其故障严重程度为7.12%。

47.3000W_13_10_current_intercoil.tdms:这个文件包含了从功率为3.0 kW的电机中采集到的三相绕组间短路故障电流数据,其故障严重程度为13.10%。  

48.3000W_23_48_current_intercoil.tdms:这个文件包含了从功率为3.0 kW的电机中采集到的三相绕组间短路故障电流数据,其故障严重程度为23.48%。

6 实验设计、材料与方法

6.1 第1节:实验台描述

为了测量不同功率的永磁同步电机(PMSM)在健康状态和故障状态下的振动和电流数据,搭建了一个PMSM测试平台,如图1所示。该测试平台包括一个由制动器制成的负载控制器、PMSM和传感器。由Valid Magnetics Ltd.生产的磁粉制动器(型号AHB-10A)能够对PMSM施加高达10 Nm的转矩负载。为了防止负载控制器和PMSM之间连接出现不对中故障,使用了柔性联轴器和线性导轨。实验中使用的PMSM参数总结在表1中。这三台PMSM均为三相四极电机,并且具有相同的制造商、相同的转速运行条件(3000转/分钟)以及1.5 Nm的允许转矩极限的15%,但功率不同(分别为1.0 kW、1.5 kW和3.0 kW)。

图1 PMSM实验台描述  

表2 PMSM参数  

6.2 第2节:故障模拟方法

电动机的定子故障模式可以分为两类:第一类是定子电阻增加(类似开路故障);第二类是定子电阻减小(类似短路故障)。在开路故障中,定子线圈的一部分损坏,增加了定子电阻,导致给定输入电压下驱动电流按电阻变化的比例减小。因此,通过读取电流的整体减少,可以相对容易地检测到这种类型的故障。另一方面,大多数难以检测的故障来自第二类故障模式即定子线圈的一部分损坏导致匝间(称为匝间短路故障)或线圈间(本文中称为线圈间短路故障)形成类似短路的电路。这些短路故障引入了驱动电流的旁路路径,根据基尔霍夫定律,通过定子线圈的正常电流会减少。结果,电机经历电磁场的减弱,进而导致感应扭矩的降低。考虑到这些类型的短路故障,我们通过控制短路中的旁路电阻,引入了匝间短路故障和线圈间短路故障,具体如下。

旁路电阻值越小,流经旁路电阻的驱动电流就越大,而根据基尔霍夫定律,流经电机定子的驱动电流则越小。在这种情况下,电机故障的严重程度被视为较高。因此,通过在电机绕组中添加使用旁路电阻连接匝间(或线圈间)的短路,来代表性地模拟故障,如图2所示。匝间短路故障被人工设置在永磁同步电机(PMSM)U相的第一匝和第二匝之间,而线圈间短路故障则被人工设置在连续U相的最后匝和第一匝之间,以获取故障数据,如图3所示。匝间短路故障和线圈间短路故障的严重程度通过公式(1)计算随着旁路电路中电流量的增加,流经电机定子的驱动电流量相应减少,因此,故障比率(FR)被定义为旁路电路中的电流量与正常电路中的电流量之比。数据集的整体描述总结在表2中。

    

其中    是旁路电阻值,R是定子电阻值。  

图2 在不同功率(a)1.0kW、(b)1.5kW和(c)3.0kW的PMSM的U相上的人工故障  


图3 短路故障方案的定子绕组,其中R旁路为旁路电阻,R为定子回路电阻  

7 数据读取与频谱分析

7.1 导入包















import numpy as npimport pandas as pdfrom scipy.io import loadmatimport matplotlib.pyplot as pltfrom matplotlib import rcParamsfrom nptdms import TdmsFile
config = {    "font.family": 'serif', # 衬线字体    "font.size": 15, # 相当于小四大小    "font.serif": ['SimHei'], # 宋体    "mathtext.fontset": 'stix', # matplotlib渲染数学字体时使用的字体,和Times New Roman差别不大    'axes.unicode_minus': False # 处理负号,即-号}rcParams.update(config)
7.2 电流数据分析

文件是以tdms格式进行存储。下面对tdms格式数据进行简单介绍:

为解决测试和测量中数据读取和分析时的种种问题,如没有描述性信息、格式不一致、存储混乱等,NI定义了一个技术数据管理(Technical Data Management,TDM)解决方案。TDMS文件格式由三个层次组成:文件、组、通道文件层可包含任意数量的组,而每个组又可包含任意数量的通道。通过通道分组,用户可以选择如何组织数据以便使其更易于理解。例如,用户可以在一个文件中为自己的原始数据设置一个组,再为自己的分析数据设置另一个组。或者,也可以按传感器类型和位置将数据分成多个组。

在下图中,文件example events.tdms包含两个组,每组包含两个通道。

image.png

下面读取一个文件进行示例








file_path = r'E:/03-公开数据集/三相永磁同步电动机定子故障的振动和电流数据集/数据/1.0kW/current/1000W_0_00_current_intercoil.tdms'with TdmsFile.open(file_path) as tdms_file:    for group in tdms_file.groups():      # TdmsFile可以按组名索引来访问TDMS文件中的组,使用groups()方法直接访问所有组                group_name = group.name              print("group_name:", group_name)        for channel in group.channels():      # TdmsGroup 可以通过通道名称来索引来访问这个组中的一个通道,使用 channels()方法直接访问所有通道                    channel_name = channel.name              print("channel_name:", channel_name)
输出结果:





group_name: Test Informationgroup_name: Logchannel_name: cDAQ1Mod2/ai0channel_name: cDAQ1Mod2/ai2channel_name: cDAQ1Mod2/ai3
可知有三组,对应为U、V、W相的数据。读取U相的数据,采样频率100kHz,采集120s,所以样本长度为12000000。





with TdmsFile(file_path) as tdms_file:    channel = tdms_file['Log']['cDAQ1Mod2/ai0']    all_channel_data = channel[:]    df = pd.DataFrame(all_channel_data)                         # 将numpy数组中的数据转换成DataFrame并输出    print(df)

下面进行频谱分析






##========绘制时域信号图========##def plt_time_domain(arr, fs=1600, ylabel='Amp(mg)', title='原始数据时域图', img_save_path=None, x_vline=None, y_hline=None):    """    :fun: 绘制时域图模板    :param arr: 输入一维数组数据    :param fs: 采样频率    :param ylabel: y轴标签    :param title: 图标题    :return: None    """    import matplotlib.pyplot as plt    plt.rcParams['font.sans-serif'] = ['SimHei']  # 显示中文    plt.rcParams['axes.unicode_minus'] = False  # 显示负号    font = {'family': 'Times New Roman', 'size': '20', 'color': '0.5', 'weight': 'bold'}        plt.figure(figsize=(12,4))    length = len(arr)    t = np.linspace(0, length/fs, length)    plt.plot(t, arr, c='g')    plt.xlabel('t(s)')    plt.ylabel(ylabel)    plt.title(title)    if x_vline:        plt.vlines(x=x_vline, ymin=np.min(arr), ymax=np.max(arr), linestyle='--', colors='r')    if y_hline:        plt.hlines(y=y_hline, xmin=np.min(t), xmax=np.max(t), linestyle=':', colors='y')    #===保存图片====#    if img_save_path:        plt.savefig(img_save_path, dpi=500, bbox_inches = 'tight')    plt.show()





##========绘制频域信号图========##def plt_fft_img(arr, fs, ylabel='Amp(mg)', title='频域图', img_save_path=None, vline=None, hline=None, xlim=None):    """    :fun: 绘制频域图模板    :param arr: 输入一维时域数组数据    :param fs: 采样频率    :param ylabel: y轴标签    :param title: 图标题    :return: None    """    # 计算频域幅值    length = len(arr)    t = np.linspace(0, length/fs, length)    fft_result = np.fft.fft(arr)    fft_freq= np.fft.fftfreq(len(arr), d=t[1]-t[0])  # FFT频率    fft_amp= 2*np.abs(fft_result)/len(t)                     # FFT幅值
   # 绘制频域图    plt.figure(figsize=(12,4))    plt.title(title)    plt.plot(fft_freq[0: int(len(t)/2)], fft_amp[0: int(len(t)/2)], label='Frequency Spectrum', color='b')    plt.xlabel('频率 (Hz)')    plt.ylabel('幅值')    plt.legend()    if vline:        plt.vlines(x=vline, ymin=np.min(fft_amp), ymax=np.max(fft_amp), linestyle='--', colors='r')    if hline:        plt.hlines(y=hline, xmin=np.min(fft_freq), xmax=np.max(fft_freq), linestyle=':', colors='y')    #===保存图片====#    if img_save_path:        plt.savefig(img_save_path, dpi=500, bbox_inches = 'tight')    if xlim: # 图片横坐标是否设置xlim        plt.xlim(0, xlim)      plt.tight_layout()    plt.show()        return fft_freq, fft_amp









for channel_name in ['cDAQ1Mod2/ai0', 'cDAQ1Mod2/ai2', 'cDAQ1Mod2/ai3']:    with TdmsFile(file_path) as tdms_file:        channel = tdms_file['Log'][channel_name]        all_channel_data = channel[:]        df = pd.DataFrame(all_channel_data)                         # 将numpy数组中的数据转换成DataFrame并输出        print(df)        part_channel_data = channel[:10000]           # 取部分数据进行分析,这里取的是0到10000的数据        plt_time_domain(part_channel_data, fs=100000)        plt_fft_img(part_channel_data, fs=100000)

可知频谱的主频是200Hz。
7.3 振动数据分析








file_path = r'E:/03-公开数据集/三相永磁同步电动机定子故障的振动和电流数据集/数据/1.0kW/vibration/1000W_0_00_vibration_intercoil.tdms'with TdmsFile.open(file_path) as tdms_file:    for group in tdms_file.groups():      # TdmsFile可以按组名索引来访问TDMS文件中的组,使用groups()方法直接访问所有组                group_name = group.name              print("group_name:", group_name)        for channel in group.channels():      # TdmsGroup 可以通过通道名称来索引来访问这个组中的一个通道,使用 channels()方法直接访问所有通道                    channel_name = channel.name              print("channel_name:", channel_name)
输出结果:



group_name: Test Informationgroup_name: Logchannel_name: cDAQ1Mod1/ai3

可知有1组,对应为z向的数据。读取z向的数据,采样频率256kHz,采集120s,所以样本长度为3072000。






with TdmsFile(file_path) as tdms_file:    channel = tdms_file['Log']['cDAQ1Mod1/ai3']    all_channel_data = channel[:]    df = pd.DataFrame(all_channel_data)                         # 将numpy数组中的数据转换成DataFrame并输出    print(df)

下面进行FFT和包络谱分析:






def plt_envelope_spectrum(data, fs, ylabel='Amp(mg)', title='包络谱图', img_save_path=None, vline=None, hline=None, xlim=None):    '''    fun: 绘制包络谱图    param data: 输入数据,1维array    param fs: 采样频率    param xlim: 图片横坐标xlim,default = None    param vline: 图片垂直线,default = None    '''    from scipy import fftpack    #=========做希尔伯特变换=======#    xt = data    ht = fftpack.hilbert(xt)    at = np.sqrt(xt**2+ht**2)   # 获得解析信号at = sqrt(xt^2 + ht^2)    at = at - np.mean(at)       # 去直流分量    fft_amp = np.fft.fft(at)         # 对解析信号at做fft变换获得幅值    fft_amp = np.abs(fft_amp)             # 对幅值求绝对值(此时的绝对值很大)    fft_amp = fft_amp/len(fft_amp)*2    fft_amp = fft_amp[0: int(len(fft_amp)/2)]  # 取正频率幅值    fft_freq = np.fft.fftfreq(len(at), d=1 / fs)  # 获取fft频率,此时包括正频率和负频率    fft_freq = fft_freq[0:int(len(fft_freq)/2)]  # 获取正频率    # 绘制包络谱图    plt.figure(figsize=(12,4))    plt.title(title)    plt.plot(fft_freq, fft_amp, color='b')    plt.xlabel('频率 (Hz)')    plt.ylabel('幅值')    if vline:        plt.vlines(x=vline, ymin=np.min(fft_amp), ymax=np.max(fft_amp), linestyle='--', colors='r')    if hline:        plt.hlines(y=hline, xmin=np.min(fft_freq), xmax=np.max(fft_freq), linestyle=':', colors='y')    #===保存图片====#    if img_save_path:        plt.savefig(img_save_path, dpi=500, bbox_inches = 'tight')    if xlim: # 图片横坐标是否设置xlim        plt.xlim(0, xlim)      plt.tight_layout()    plt.show()def plt_envelope_spectrum(data, fs, ylabel='Amp(mg)', title='包络谱图', img_save_path=None, vline=None, hline=None, xlim=None):    '''    fun: 绘制包络谱图    param data: 输入数据,1维array    param fs: 采样频率    param xlim: 图片横坐标xlim,default = None    param vline: 图片垂直线,default = None    '''    from scipy import fftpack    #=========做希尔伯特变换=======#    xt = data    ht = fftpack.hilbert(xt)    at = np.sqrt(xt**2+ht**2)   # 获得解析信号at = sqrt(xt^2 + ht^2)    at = at - np.mean(at)       # 去直流分量    fft_amp = np.fft.fft(at)         # 对解析信号at做fft变换获得幅值    fft_amp = np.abs(fft_amp)             # 对幅值求绝对值(此时的绝对值很大)    fft_amp = fft_amp/len(fft_amp)*2    fft_amp = fft_amp[0: int(len(fft_amp)/2)]  # 取正频率幅值    fft_freq = np.fft.fftfreq(len(at), d=1 / fs)  # 获取fft频率,此时包括正频率和负频率    fft_freq = fft_freq[0:int(len(fft_freq)/2)]  # 获取正频率    # 绘制包络谱图    plt.figure(figsize=(12,4))    plt.title(title)    plt.plot(fft_freq, fft_amp, color='b')    plt.xlabel('频率 (Hz)')    plt.ylabel('幅值')    if vline:        plt.vlines(x=vline, ymin=np.min(fft_amp), ymax=np.max(fft_amp), linestyle='--', colors='r')    if hline:        plt.hlines(y=hline, xmin=np.min(fft_freq), xmax=np.max(fft_freq), linestyle=':', colors='y')    #===保存图片====#    if img_save_path:        plt.savefig(img_save_path, dpi=500, bbox_inches = 'tight')    if xlim: # 图片横坐标是否设置xlim        plt.xlim(0, xlim)      plt.tight_layout()    plt.show()










for channel_name in ['cDAQ1Mod1/ai3']:    with TdmsFile(file_path) as tdms_file:        channel = tdms_file['Log'][channel_name]        all_channel_data = channel[:]        df = pd.DataFrame(all_channel_data)                         # 将numpy数组中的数据转换成DataFrame并输出        print(df)        part_channel_data = channel[:10000]           # 取部分数据进行分析,这里取的是1到100的数据        plt_time_domain(part_channel_data, fs=256000)        plt_fft_img(part_channel_data, fs=256000)        plt_envelope_spectrum(part_channel_data, fs=256000)

可知振动信号存在基频为500Hz的信号。

编辑:李正平

校核:陈凯歌、赵栓栓、曹希铭、赵学功、白亮、任超、海洋、Tina、陈宇航、陈莹洁、王金

该文资料搜集自网络,仅用作学术分享,不做商业用途,若侵权,后台联系小编进行删除


来源:故障诊断与python学习
MechanicalMAGNET振动旋转机械电路航空汽车电子MATLABUGpython海洋声学电机材料传动数字孪生控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-02-20
最近编辑:1天前
故障诊断与python学习
硕士 签名征集中
获赞 77粉丝 84文章 171课程 0
点赞
收藏
作者推荐

综述 | 物理信息-数据驱动的剩余使用寿命预测综述:挑战与机遇(上)

本期给大家推荐司小胜教授团队的物理信息-数据驱动的剩余使用寿命预测综述:挑战与机遇(上)。基于物理信息-数据驱动的剩余寿命预测已经成为预测领域的一个新兴话题。然而,目前还没有专门针对这一话题的系统综述。为了填补这一空白,文章回顾了基于物理信息的数据驱动剩余寿命预测方法的最新进展。将这类方法大致分为三类,即物理模型和数据融合方法、基于随机退化模型的方法和基于物理信息的机器学习(Physics-Pnformed Machine Learning, PIML)方法。尤其以基于PIML的方法为中心进行综述。通过讨论现有方法的优缺点,讨论了指导物理信息-数据驱动的剩余寿命预测方法未来发展的挑战和可能的机遇。论文链接:通过点击本文左下角的阅读原文进行在线阅读及下载。论文基本信息论文题目:A review on physics-informed data-driven remaining useful life prediction: Challenges and opportunities论文期刊:Mechanical Systems and Signal Processing论文日期:2024年1月论文链接:https://doi.org/10.1016/j.ymssp.2024.111120 作者:Huiqin Li (a), Zhengxin Zhang (a), Tianmei Li (a), Xiaosheng Si (a)机构:a: Zhijian Laboratory, Rocket Force University of Engineering, Xi’an 710025, PR China通讯作者邮箱: zhengxinzhang@tsinghua.org.cn (Z. Zhang).sixiaosheng@126.com (X. Si). 作者简介:司小胜,火箭军工程大学教授、博士生导师。2014年博士毕业于火箭军工程大学控制科学与工程学科(与清华大学联合培养)。近年来,主要从事随机退化系统剩余寿命预测与健康管理方面理论及应用研究,在EJOR、RESS、IEEE汇刊等国内外重要期刊发表论文50余篇,2篇论文为IEEE可靠性汇刊/EJOR近20/10年被引最多论文,出版中英文专著各1部,谷歌学术引用6200余次。先后主持国家自然科学优秀青年基金1项,完成国家自然科学基金面上项目2项,获国家自然科学二等奖(2019,排名3)、教育部自然科学一等奖(2018,排名3)、CAA自然科学一等奖(2016,排名3)、CAA优秀博士论文等。目前担任中国自动化学会技术过程的故障诊断与安全性专业委员会及大数据专业委员会委员,国际权威期刊《Mechanical Systems and Signal Processsing》编委(Editorial Member)。目录1 摘要1.1 RUL预测的发展趋势1.2 RUL预测的现有方法1.3 与现有关于 RUL 预测综述论文的差异1.4 本文的动机和贡献2 物理信息驱动的 RUL 预测概述2.1 物理模型和数据融合方法2.2 基于随机退化模型的方法2.3 基于 PIML 的方法3 物理模型和数据融合的RUL 预测方法3.1 通用物理模型3.2 数据驱动的测量模型与物理模型的结合3.3 数据驱动模型与物理模型的决策级融合4 基于随机退化模型的 RUL 预测方法4.1 基于随机退化模型的 RUL 预测方法基础4.2 随机系数回归模型4.3 维纳过程4.4 Gamma 过程4.5 逆高斯过程(以上标记章节为本文内容)5 基于 PIML 的 RUL 预测方法6 挑战与机遇讨论7 总结摘要剩余寿命(Remaining Useful Life, RUL)预测,长期以来一直被认为是预测和健康管理(Prognostics and Health Management, PHM)中的关键技术之一。对保障系统的安全性和可靠性,降低运行和管理成本至关重要。随着传感和状态监测技术的迅猛发展,数据驱动的RUL预测引起了人们的广泛关注,并研究了各种数据驱动的RUL预测方法。尽管学者们对数据驱动的RUL预测方法进行了广泛的研究,但这些方法的成功应用在很大程度上取决于数据的数量和质量,纯粹的数据驱动方法可能产生物理上不可行/不一致的RUL预测结果,并且具有有限的推广性和可解释性。值得注意的是,越来越多的人认为,将物理或领域知识嵌入到数据驱动方法中,并开发基于物理信息的数据驱动方法,将有望提高RUL预测结果的可解释性和效率,并降低对数据量和质量的依赖。在这种背景下,基于物理信息-数据驱动的RUL预测已经成为预测领域的一个新兴话题。然而,目前还没有专门针对这一话题的系统综述。为了填补这一空白,本文回顾了基于物理信息的数据驱动RUL预测方法的最新进展。本文将这类方法大致分为三类,即物理模型和数据融合方法、基于随机退化模型的方法和基于物理信息的机器学习( Physics-Informed Machine Learning, PIML)方法。由于基于PIML的方法在过去五年中得到了快速的发展,因此本文尤其以这类方法为中心进行综述。通过讨论现有方法的优缺点,讨论了指导物理信息数据驱动的RUL预测方法未来发展的挑战和可能的机遇。关键词:预测,剩余寿命,物理信息,数据驱动,可解释性1 引言随着第四次工业革命的重大进展和现代制造技术的不断提高,航空航天系统、工业机器人、风力发电系统、高速列车等大型复杂装备日益呈现出自动化、集成化、智能化的发展趋势。然而,由于各种内外因素的影响,包括机械磨损、疲劳、蠕变损伤、变载荷、动态运行环境、大扰动、外部冲击等,这些系统的性能在其生命周期内会随着运行时间的推移而下降。这种性能下降将损害系统的健康,最终导致系统失效,如果不采取措施,甚至会造成灾难性事故和重大经济损失。因此,主动健康管理技术对于确保这些关键系统的运行可靠性和安全性至关重要[1]。为了确保关键系统运行可靠性和安全性,预测和健康管理(PHM)应运而生,作为一种系统故障排除技术,PHM通过诊断、预测和系统健康管理[2]等三个关键成分有效预防意外故障。其中,预测是通过监测系统健康状况,评估在预期使用条件下其健康状态的退化程度来预测系统的剩余寿命(RUL)的过程。基于预测信息,可以积极地做出与安全、状态维护、备件订购和寿命延长相关的健康管理决策,以提高工作效率,降低系统的运行风险和成本[3]。在下文中,我们首先讨论了RUL预测的一般发展趋势和现有RUL预测方法的主要原理,然后阐明了本文与现有关于RUL预测综述论文的区别。最后,我们介绍了本文的动机和相关贡献。1.1 RUL预测的发展趋势在PHM中,RUL预测长期以来一直被认为是PHM中保障系统安全性和可靠性、降低运营和管理成本的关键技术之一[4]。近年来,RUL预测已成为研究热点,越来越受到学术界和工业界的关注。在学术研究方面,Web of Science数据库是一个国际公认的数据库,反映了科学研究的发展,包括各个领域的大部分研究论文。因此,我们选择Web of Science数据库来分析RUL预测领域的已发表论文。为了避免数据库更新的影响,所有出版物的收集都是在2022年12月完成的。为了确保数据的权威性和准确性,本文使用Web of Science Core collection作为主要数据来源,包括2003年至2022年的出版物。为确保检索到的文献与本研究密切相关,定义为“articles not related with the RUL prediction were excluded by checking titles and abstracts”,具体的纳入标准为[主题=(“remaining useful life” OR“residual useful life” OR“RUL”)] AND [发表类型=(文章)OR(综述)OR(论文集)] AND [语言=(英语)] AND [发表年份=(“2003-2022”)]。根据上述标准,本文统计了过去20年中关于RUL预测主题的出版物数量,如图1所示。图1 Web of Science中关于RUL预测主题的出版物数量从图1中可以看出,自2003年以来,每年关于RUL预测的出版物总数呈明显增长趋势,特别是自2013年以来呈指数级增长趋势。与此同时,在工业应用方面,RUL预测技术已被应用于许多重要领域,包括但不限于航空航天系统[5-7]、工业机器人[8,9]、风力发电系统[10-12]、高速列车[13,14]等。学术和工业领域的这些进步反映了RUL预测主题日益重要和普及。1.2 RUL预测的现有方法一般来说,系统的RUL是指从当前时间到性能退化故障时间 的时间间隔,这是预先未知的[15],即 。因此,RUL预测的主要任务是在系统仍在运行时(即 )根据与系统退化相关的信息预测剩余时间 。准确预测退化系统的RUL对于及时安排维护和备件补充,确保系统安全可靠运行和节省运营成本具有重大的理论意义和实际应用价值。为了实现准确的RUL预测,现有文献中已经开发了大量的预后方法,大致可分为三类,即基于物理的方法、数据驱动的方法和混合方法[16,17]。基于物理的方法通过分析系统的物理故障机制并基于第一性原理对其物理模型进行建模来表征相关的退化过程,从而实现RUL预测。这类经典模型主要包括裂纹扩展模型[18]、轴承动力学模型[19]、磨损模型[20]、电化学模型[21]等。通常,如果能够充分理解物理故障机制或领域知识,并且可以在测量数据的帮助下估计相关物理模型中的参数,则基于物理的方法可以实现对RUL的准确、可推广和可解释的预测。然而,在大多数情况下,特别是对于复杂的工程系统,它们的物理故障机制和领域知识是不完整的,甚至几乎不可用[22]。在这种情况下,已建立的物理模型不可避免地被迫进行一些简化或做出一些假设。因此,相关的物理模型必然是对现实的近似,这不仅会引入偏差并降低RUL预测的性能,还会使故障物理难以理解和分析,特别是由于不同系统(甚至属于同一类型)的潜在退化过程存在很大的异质性。所有这些方面都限制了基于物理的RUL预测方法的广泛应用。随着传感和状态监测技术的进步,可以更容易、更经济地获得与系统退化过程相关的监测数据,这些退化监测数据有望提供有关系统寿命的丰富信息。因此,如果可以适当地对这种退化数据进行建模,则可以相应地预测相关系统的RUL。这提供了一种经济可行的方法来缓解对物理知识完整性要求很高的基于物理的方法和具有足够故障时间数据的传统寿命数据拟合方法的局限性。基于监测数据,在过去的几十年里,人们对开发各种数据驱动的RUL预测方法进行了广泛的研究[23]。数据驱动的RUL预测的一般过程如图2所示。在这个过程中,首先通过各种传感器对退化系统进行监测,以获取传感信号来收集状态监测数据,然后通过适当的信号处理算法(如归一化和平滑)对监测数据进行预处理。利用预处理后的数据,提取退化特征,以表征相关系统的退化过程。最后,通过对系统的退化过程进行建模,可以根据退化处理超过预定义故障阈值或故障标签的时间来预测RUL。图2 数据驱动的RUL预测流程图目前,数据驱动的RUL预测方法主要包括统计数据驱动方法和基于机器学习(Machine Learning, ML)的方法。统计数据驱动方法的基本思想是利用随机模型来拟合退化指标的演变过程,然后将退化过程外推到定义的故障阈值,从而实现RUL预测,其中模型参数是基于监测数据估计的[24]。这种方法的主要优点在于能够提供退化过程的可视化形式,并通过获得RUL的概率分布来量化预后不确定性,这是RUL预测的基本要求,因为RUL预测对应于未来故障事件的预测,并且本质上具有不确定性。另一个优点是,模型参数在一定程度上具有可解释性,例如反映退化速度和时变动力学的参数,这种可解释的机制将有助于理解退化失效过程和预测结果。然而,随机退化模型的选择和退化建模统计假设的合理性是影响此类方法预测性能的重要方面。更重要的是,统计数据驱动方法的成功在很大程度上取决于退化指标的可用性,其趋势是增加还是减少。换句话说,这种退化指标的质量对统计数据驱动方法的预测准确性有固有的影响,但这种方法从监测数据中提取所需退化指标的能力相对有限。随着工业4.0[25]、网络物理系统(Cyber-Physical System, CPS)[26]和物联网(Internet of Things , IoT)[27]的进步,随机退化系统的状态监测数据的可用性提高已成为现实,从而推动了RUL预测研究进入大数据时代。在大数据的背景下,基于机器学习的RUL预测,特别是深度学习(Deep Learning, DL),已成为预测领域的热点话题,并且已经进行了大量的研究来开发各种基于机器学习(ML)的RUL预测方法[28]。通常,基于机器学习的RUL预测方法是通过使用神经网络等机器学习模型建立从监测数据到RUL信息的映射关系来实现的。作为代表,DL方法已被证明是一种强大的工具,可以处理高维非线性的监测数据,从海量数据中自动提取深度退化特征,或实现端到端的预测,从而减少人为干预[29]。这种方法的主要优点在于,当无法完全掌握潜在的失效物理或领域知识时,模型拟合具有很强的灵活性和通用性。因此,在过去五年中,观察到基于机器学习或更精确地说基于深度学习的RUL预测研究的爆炸性增长并不奇怪。然而,众所周知,基于机器学习的方法以黑盒方式运行,并且缺乏透明度和可解释性[30]。尽管ML模型中的每个组件相对简单,但整个模型的结构仍然非常复杂,以至于其设计者和用户可能无法完全理解。因此,在实践中经常采用精度-可解释性权衡。此外,基于机器学习的方法的性能在很大程度上取决于监测数据的数量和质量,如果没有带标签的代表性数据,则无法保证这些方法的预后性能。特别是,很容易观察到,ML模型在训练/测试数据集上看起来很好(即使在交叉验证之后),但在可用的标记数据之外表现不佳,甚至产生物理上不可行/不一致的RUL预测结果。因此,如何提高基于机器学习的方法对未知数据的泛化能力仍然是一个非常具有挑战性的问题。最后但同样重要的是,在大多数基于机器学习的RUL预测研究中,尽管在某些应用中可以实现令人满意的精度预测结果,但由于机器学习模型的确定性结构,很难提供预测RUL的概率分布。因此,尽管RUL预测的不确定性量化是协助评估PHM应用中故障风险的关键问题,但通过基于ML的方法量化预后不确定性的能力是有限的。从上述讨论中可以看出,纯物理方法和纯数据驱动方法在模型建立、模型假设、数据要求、可推广性、可解释性等不同方面都有各自的优缺点。在这种情况下,一个自然的想法是将这两种方法结合起来,利用基于物理的方法和数据驱动的方法的优点来提高RUL预测性能。因此,已经开发了结合基于物理和数据驱动方法的混合方法来预测RUL。Liao和Kottig[31]对故障预测的混合方法进行了全面的综述,并使用基于物理的数据驱动和方法的各种组合介绍四类混合方法。混合方法的主要优点是,随着这些方法的集成,预测的RUL对模型假设和数据选择策略等可能的影响具有鲁棒性。结合上述讨论,当前的基于物理的方法、数据驱动的方法和混合方法在应用于RUL预测时各有优缺点。表1总结了四类现有RUL预测方法的优缺点。表1 关于RUL预测方法的优缺点总结1.3 与现有关于 RUL 预测综述论文的差异在过去的十年中,许多学者综述了各种 RUL 预测方法,表 2 列出了一些具有代表性的 RUL 预测方法综述,这些综述具有不同的方法侧重点。具体而言,Si 等人 [32] 系统地回顾了依赖于现有监测数据和统计模型的统计数据驱动的 RUL 预测方法。Liao 和 Kottig [31] 全面回顾了混合方法驱动的 RUL 预测研究,并通过在电池退化案例中的应用说明了混合方法的潜在优势。Cubillo 等人 [33] 总结了旋转机械常见的故障模式和退化机制,重点讨论了基于物理的 RUL 预测模型及其在齿轮和轴承中的应用。Zhang 等人 [34] 重点介绍了基于维纳过程的退化数据分析和 RUL 预测方法的建模进展及其在 PHM 领域的应用。Lei 等人 [35] 系统地回顾了从数据采集到 RUL 预测的机械整个预测过程。Guo 等人 [36] 回顾了工程系统预测建模方法的进展和应用,并根据故障物理知识是否纳入 RUL 预测讨论了数据驱动、基于物理和混合方法的优势和局限性。Kordestani 等人 [37] 对数据驱动、基于物理和混合方法进行故障预测的研究进行了调查,并强调了相关的重要应用领域。Wang 等人 [38] 比较了用于锂离子电池 RUL 预测的深度学习算法的不同自适应数学模型。Ferreira 和 Gonçalves [39] 为基于 ML 的 RUL 预测过程提出了一个明确的通用过程分析框架,并讨论了最相关的 ML 方法的优缺点。Guo 等人 [40] 系统地回顾了通过基于物理的模型和数据驱动模型的不同组合方法进行电池寿命预测的“灰箱”寿命建模的进展。Wang等人 [41] 全面概述了数据驱动方法和相关的建模过程,并讨论了物理模型和数据驱动模型的结合及其在金属材料疲劳寿命预测中的应用。表2 关于 RUL 预测的典型综述论文总结虽然表 2 中的综述文章并未详尽收录文献中出现的所有综述论文,但无疑反映了 RUL 预测领域的重要性、繁荣和快速发展。然而,值得注意的是,现有的关于 RUL 预测的综述主要集中在数据驱动方法上,而没有强调物理知识的整合。此外,除了 [31,40,41] 之外,大多数综述只是从结合数据驱动和基于物理的方法的角度部分讨论了混合方法的进展,对物理知识整合的讨论不足。虽然 Liao 和 Kottig [31] 专注于系统地讨论混合方法,但由于该综述 [31] 发表已九年多,因此没有涵盖近年来混合方法的最新研究进展。最新的综述 [40,41] 包括了通过基于物理的模型和数据驱动模型的不同组合方法进行寿命预测的最新进展,但涉及的方法仅限于电池或金属材料的应用,因此不具有对其他应用的通用性。更重要的是,即使现有综述中经常讨论混合方法,但这些方法基本上是通过简单地组合不同的方法来实现的,因此预测性能将受到单一方法性能的限制。因此,物理知识是以浅层方式集成的,而不是以嵌入物理知识来指导数据驱动方法实施的深度集成方式。1.4 本文的动机和贡献分析迄今为止对RUL预测的研究,尽管取得了重大进展,但机遇与挑战并存。特别是德国工业4.0、美国工业互联网、中国制造2025、日本超智能社会5.0等新工业革命,为RUL预测的先进技术以及大数据驱动下提出的以知识为中心的智能技术提供了发展机遇[42]。在此背景下,维持工业系统安全可靠运行的需求为发展RUL预测的先进技术提供了机遇。在新工业革命的背景下,当工程系统发生性能退化时,就会收集大量的监测数据,然而实践中的监测数据普遍表现出多源异构[43]、低值密度[44]、不完整性[45]、数据质量低等特点,难以使用纯数据驱动的方法准确有效地预测相关系统的RUL。实际上,系统从运行状态到故障的演化通常遵循一些物理规律或化学机制,实践中可能存在一些物理知识或领域知识。在数据或知识可用的情况下,可以为建模和预测任务设计一些新的途径。例如,基于大数据的分析和挖掘,可以进行问题建模和预测,获得数据中蕴含的知识。此外,可以利用物理或领域知识来辅助数据建模和预测,形成闭环机制,实现数据和知识的深度融合,如图3所示。图3 数据与知识的深度融合机制值得注意的是,虽然图 3 中提出的本质思想与跨行业标准数据挖掘流程 ( Cross-Industry Standard Process for Data Mining, CRISP-DM) 方法论 [46] 在从数据中获取知识方面相似,但这里的主要区别在于,图 3 中的每个步骤在预测的背景下都是不可逆和不可或缺的,总体上形成了数据和知识集成的闭环,但 CRISP-DM 方法论中每个阶段的顺序并不固定,取决于前一阶段特定任务的输出是否是下一阶段的必要输入。另一个不同之处在于,除了表明基于数据挖掘分析可以从数据中获取知识外,图 3 还强调了使用物理知识帮助数据建模和预测实现数据和知识的深度融合的重要性,而这在 CRISP-DM 方法论中是缺失的。在图 3 所示的新范式中,引入物理知识可以有效缓解纯数据驱动模型带来的问题。通过专业机制支撑数据建模,有望减少模型训练所需的数据,提高预测结果的可靠性、鲁棒性和可解释性。此外,与混合方法中的浅层组合不同,将物理知识嵌入到数据驱动建模中实现深度集成,有望使已建立的预测模型生成物理一致的结果。因此,将物理或领域知识嵌入数据驱动方法、发展物理信息化的数据驱动方法,有望提高RUL预测结果的可解释性和效率,降低对数据量和质量的要求,已逐渐成为共识。在此背景下,物理信息化数据驱动的RUL预测已成为预测领域的一个新兴课题,近三年来物理信息化数据驱动的RUL预测研究呈急剧上升趋势。最近,Xu 等人 [47] 回顾了物理信息机器学习方法在可靠性和系统安全性应用中的最新进展,并指出此类方法在可靠性和系统安全性评估方面的快速发展。然而,很少有人关注物理信息机器学习技术在 RUL 预测任务中的应用。从以上讨论和分析中可以得出结论,物理信息数据驱动的 RUL 预测主题将成为未来的新热点。然而,目前还没有专门针对这一新兴主题的系统综述,至少没有深入探讨。为了填补这一空白,本文回顾了物理信息数据驱动的 RUL 预测方法的最新发展,以促进开发用于预测研究的新型物理信息数据驱动方法。这是本文的主要贡献。考虑到关于这个主题的研究有很多名称,包括“物理引导”、“物理信息”、“物理感知”、“物理嵌入”、“物理继承”等,我们将在整个综述中使用术语“物理信息”以保持一致。具体而言,根据物理或领域知识与数据的集成机制,目前属于这一类型的方法大致分为三类,即物理模型和数据融合方法、基于随机退化模型的方法和基于物理信息机器学习 (Physics-Informed Machine Learning, PIML) 的方法。特别地,本综述以基于 PIML 的方法为中心,因为此类方法在过去五年中发展迅速。通过讨论现有方法的优缺点,我们全面讨论了可能的机会和挑战,以引导物理信息数据驱动的 RUL 预测方法的未来发展。2 物理信息驱动的 RUL 预测概述在本部分中,我们尝试对本文讨论的物理信息数据驱动的 RUL 预测方法进行概述。广义上,根据所采用的表征退化现象的模型以及物理或领域知识与数据的集成机制,有三种实现物理信息数据驱动的 RUL 预测的思路。第一,基于底层故障机制建立物理模型,并通过融合监测数据来校准模型参数。第二,基于领域知识和历史监测数据建立可解释的随机退化模型。第三,将物理或领域知识集成到 ML 方法中,建立监测数据与 RUL 之间的映射关系以实现预测。因此,本文将现有的物理信息数据驱动的 RUL 预测方法分为三类,即物理模型和数据融合方法、基于随机退化模型的方法和基于物理信息机器学习 (PIML) 的方法。物理信息数据驱动的 RUL 预测方法的详细分类如图4所示。图4 物理信息数据驱动的 RUL 预测方法的分类按照图 4 所示的分类,对物理信息数据驱动的 RUL 预测主题进行文献计量分析,主要基于 Web of Science 数据库中的搜索结果。为了更加完整,考虑到 Web of Science 数据库仅包含已发表的论文和已接受的早期访问论文,我们在此额外包含了与物理信息数据驱动的 RUL 预测相关的在线可用论文,这些论文不一定发表在同行评审的期刊或会议上,例如从 Google Scholar 和 arXiv 搜索到的论文。图 5 展示了与本文涉及的三种物理信息数据驱动的 RUL 预测方法相关的出版物饼图。图5 本文涉及的三种基于物理信息的数据驱动RUL预测方法的相关出版物与图 1 中统计的与 RUL 预测整个领域相关的 10,000 多篇论文结果不同,图 5 统计了 106 篇与物理信息数据驱动的 RUL 预测研究密切相关的论文。但值得注意的是,关于物理信息数据驱动的 RUL 预测方法的详尽参考文献收集仍然难以实现,本文可能并未包括近年来的所有出版物。主要原因之一是物理信息数据驱动的 RUL 预测主题引起了越来越多的关注,并且有更多与该主题相关的研究论文正在涌现。尽管如此,图 5 中的统计结果仍然表明了每个类别的大致比例,并有望反映物理信息数据驱动的 RUL 预测的发展趋势。我们希望本文的观点和讨论能够促进开发新的物理信息数据驱动的预测方法。在以下小节中,分别对三个类别进行简要概述,以了解每个类别的总体思想以及我们认为这些方法是物理信息数据驱动方法的原因。2.1 物理模型和数据融合方法物理模型与数据融合方法主要基于随机退化系统的失效机理建立物理模型,并结合监测数据对物理模型参数进行估计。通过物理模型与监测数据的融合,利用系统的实时监测数据更新物理模型参数,从而预测在役系统的RUL。根据物理模型与监测数据融合机制的不同,此类RUL预测方法又可分为两类:数据驱动的测量模型与物理模型的结合方法和决策层的数据模型与物理模型的融合方法。表征退化至失效过程的常见物理模型包括疲劳裂纹扩展的 Paris 模型 [48] 和 Forman 模型 [49]、电池容量退化的经验老化模型 [50]、轴承失效的动态模型 [51] 等。常见的参数更新方法包括贝叶斯方法 [52]、卡尔曼滤波 [53]、粒子滤波 [54] 等。由于使用物理模型来表示退化过程,物理模型和数据融合方法用于 RUL 预测可以具有整合物理知识的天然优势。同时,在役系统的监测数据也可用于校准物理模型。因此,物理模型和数据融合方法属于物理信息数据驱动方法的基本方法之一。2.2 基于随机退化模型的方法工程实践中,动态环境和各种不确定因素引起失效物理的变化,由于对退化过程的认识有限或不完整以及退化过程的异质性较大,难以建立准确的退化系统物理模型。在此情况下,应用随机退化模型来表征退化过程,为描述不确定运行环境中的故障产生机制和特征提供灵活性。利用基于监测数据估计参数的随机退化模型,通过求解所表征的退化过程达到预定失效阈值的概率分布,可预测RUL。从物理退化现象来看,由于内部应力和外部环境的综合作用,系统性能退化是不可避免的,相关退化变量的监测数据将呈现增加或减少的趋势。这可以看作是从物理现象中归纳出来的领域知识。受这些领域知识的启发,各种随机模型被开发来描述这种退化现象,包括随机效应回归模型[55]、维纳过程模型[56]、伽马过程模型[57]、马尔可夫链模型[58]、随机滤波器模型[59]、逆高斯过程模型[60]等。此外,已经证明,随机模型能够描述物理退化过程的必要性质是数学中的无限可分性[61]。具有这种性质的代表性模型包括维纳过程模型、伽马过程模型、逆高斯过程模型等。例如,由于良好的数学性质和物理可解释性,维纳过程可以很好地描述退化过程的非单调动态特性,被广泛应用于滚动轴承、惯性陀螺和激光器的RUL预测。与维纳过程不同,Gamma 过程和逆高斯过程描述的是严格单调的退化过程,通常用于模拟疲劳裂纹扩展、腐蚀磨损等不可逆过程的退化。其中,Gamma过程为纯跳跃过程,退化轨迹不连续,因此,该模型可用于描述连续小冲击引起的缓慢退化过程和大冲击引起的严重损伤。随机冲击达到过程可以用泊松过程近似。在泊松过程中,每次冲击对系统造成的损伤都是微小的、随机的。因此,复合泊松过程可用于描述随机冲击及其相关损伤对系统退化的影响。Ye和Chen[62]证明了逆高斯过程是复合泊松过程的极限分布,这为系统在随机环境下运行的逆高斯退化建模提供了明确的物理解释。从以上对基于随机退化模型的方法的一般性讨论中可以看出,这些方法通常用随机退化模型代替物理模型来表示失效过程。然而,基于随机退化模型的方法的共同点在于,所采用的随机退化模型都是从物理现象中衍生出的领域知识中获取灵感。此外,随机退化模型的选择取决于退化监测数据的特征和模型的物理性质。基于所选的随机退化模型,可以根据历史退化数据估计模型参数,并根据在役系统的实时监测数据进行更新。结合以上讨论,可以看出系统的随机退化过程具有以下特点:(1)系统的退化过程随运行时间逐渐增大或减小,退化速率和退化波动往往具有时间相关性;(2)系统性能退化特征的物理或化学性质可能导致退化路径呈现凸或凹的非线性变化趋势;(3)由于复杂的监控机制和各种不确定因素,系统的退化初始值、退化速率和退化波动一般具有随机性;(4)环境条件和应力可能直接加速或抑制系统的退化过程,导致退化过程具有复杂的特性,包括多个阶段、退化量的厚尾特性等。上述特点是客观存在的,很大程度上源于相关系统预期物理机制的变化。因此,发展能够描述退化系统上述普遍特征的随机退化模型自然具有一定的物理可解释性,即具有物理学意义。总之,我们观察到基于随机退化模型的方法利用领域知识,在进行 RUL 预测时具有数据驱动的性质。因此,在本综述论文中,我们将基于随机退化模型的方法视为另一类基于物理的数据驱动方法。2.3 基于 PIML 的方法近年来,由于机器学习方法具有快速前馈特性和强大的数据驱动能力,被广泛应用于复杂系统的RUL预测。一般而言,基于机器学习的RUL预测方法通过利用机器学习模型建立从监测数据到RUL信息的映射关系来进行RUL预测。然而,传统的基于机器学习的方法忽略了系统底层的退化机制,由于没有将领域特定知识考虑进建模过程,导致相关预测缺乏透明度和可解释性。为了解决传统基于机器学习方法中存在的问题,将物理或领域知识嵌入机器学习模型的开发中受到了研究界的广泛关注,即PIML。虽然PIML的理念提出不久,但由于其潜在的优势,已在流体力学[63]、生物医学[64]、断裂力学[65]、电力系统[66]、地球物理学[67]等多个科学领域得到迅速发展。一般而言,机器学习方法由数据、架构设计、优化和初始化四个关键组件组成。因此,根据物理知识融入上述四个组件的方式,PIML 方法的核心思想主要包括基于物理的数据增强、基于物理的架构设计、基于物理的初始化和基于物理的损失函数。此外,机器学习模型还可用于预测物理模型产生的误差,并将基于机器学习的预测误差模型与物理模型相结合,以提升最终的预测性能。本文将这种集成物理知识的实现过程称为基于物理的残差建模。基于上述思想,PIML 方法利用物理知识指导机器学习的数据增强、架构设计、功能优化和模型评估,从而充分发挥纯数据驱动方法和物理知识的优势。为此,PIML 方法有望具有许多优点,包括提高可解释性、物理上一致的结果、更好的泛化性、提高优化效率、降低对训练数据的数量和质量的要求等。目前,PIML 因其潜在的优势已成为 ML 领域越来越受欢迎的范例,并且将物理知识集成到 ML 方法中以开发基于 PIML 的 RUL 预测方法的研究趋势不可阻挡。因此,在本文中,我们将基于 PIML 的方法视为一种新兴但重要的物理信息数据驱动的 RUL 预测方法类别。根据上述分类和讨论,我们将在以下三个部分中回顾每类物理信息数据驱动方法在 RUL 预测中的现状。但需要注意的是,即使不是从物理信息的角度进行的,许多现有评论也部分考虑了前两类,如表 2 所示。因此,本文简要讨论了这两类,重点介绍了最新进展。相反,由于目前还没有针对基于 PIML 的 RUL 预测方法的现有评论,因此本文将详细介绍基于 PIML 的 RUL 预测方法的进展。3 物理模型和数据融合的RUL 预测方法3.1 通用物理模型在本部分中,我们首先介绍基于相关物理控制方程构建的用于不同类型系统的物理模型。广义上,用于 RUL 预测的物理模型主要包括描述裂纹扩展的 Paris 模型、电池老化的电化学模型、轴承故障的动态模型等。下面提供了这些代表性物理模型的相关公式。● 疲劳裂纹扩展模型疲劳裂纹扩展模型是指在重复载荷作用下,疲劳裂纹在材料中出现并逐渐扩展的物理模型。疲劳裂纹扩展规律有多种形式。其中一种表示疲劳裂纹扩展的著名模型是Paris模型。一般来说,Paris模型下的裂纹扩展规律可以表示为如下形式[48]: 其中, 为裂纹长度, 为施加载荷的循环次数,σ 为应力范围, 为材料常数。● 电池老化模型锂电池老化可分为日历老化和循环老化。日历老化是当电池闲置时由于材料的热力学不稳定性产生的副作用。以日历老化为例,影响日历老化的三个因素是温度、充电状态和时间,如下式所示 [68]: 其中 为容量损失,SoC为充电状态,T为温度, 为描述日历老化的SoC和T依赖性的函数,t为时间,z为拟合参数。● 轴承动力学模型动力学建模与分析可以有效描述故障轴承的运动状态,揭示相关的潜在故障机理,为轴承RUL预测研究提供理论支持。在实践中,轴承系统的动力学非常复杂,难以准确建模,特别是在轴承发生退化的情况下。以最简单的单自由度轴承系统为例,其动力学模型基本由以下方程描述[51]: 其中,y为振动响应的位移,{F}为激励力矩阵,[M]、[C]、[K]分别为系统质量、阻尼系数和刚度矩阵。实际上,磨损退化会影响轴承系统的动态响应,包括但不限于质量、阻尼系数、刚度和激励力。例如,从轴承表面去除的材料将通过减少或改变均匀分布来影响质量。表面缺陷会扰乱润滑膜的均匀性,并导致阻尼比发生一些变化。当出现凹痕或缺陷时,它会在表面上留下空间,从而改变刚度。当滚动体穿过有缺陷表面的边缘(即冲击区域)时,缺陷还会引入激励力。根据公式(3)中的动态模型,可以推导出反映退化状态的变形指数[69]。上述模型只是用于表示不同环境下系统退化机制的物理模型的一些示例。值得注意的是,文献中还报道了许多其他物理模型,关于不同环境下物理模型的详细讨论可以在一些评论中找到,包括从电化学行为的角度分析电池的物理模型[40]、从机械的角度分析机械的物理模型[70]、从金属材料的角度分析金属模型[71]等。利用物理模型,可以使用相关变量的监测数据或测量值来识别未知的模型参数。这样,通过物理模型和监测数据的融合,可以根据故障的定义预测相关系统的 RUL。下面从两个角度讨论了用于 RUL 预测的物理模型和数据融合方法的一些发展:数据驱动的测量模型和物理模型的结合,以及决策级数据模型和物理模型的融合。3.2 数据驱动的测量模型与物理模型的结合数据驱动的测量模型与物理模型的结合是开发基于物理模型和数据融合的RUL预测方法的典型途径。按照这种方式,基于监测数据构建物理模型描述的退化状态的数据驱动测量模型。为此,可以通过将物理模型建立的状态方程与数据驱动描述得到的测量方程相结合来形成状态空间模型。这样,可以通过卡尔曼滤波器、粒子滤波器和其他滤波算法来估计退化状态和未知模型参数。利用估计的退化状态和模型参数,可以通过将物理模型表征的退化状态外推到预定义的故障阈值来预测系统的RUL。Cheng 等人 [72] 和 Pecht 等 人[73] 有效地将物理模型与数据驱动方法结合起来,实现了动态 RUL 预测,其中通过故障模式、机理和影响分析确定监测参数,并提出回归模型计算残差来检测异常数据并估计模型参数,最后通过物理故障模型预测 RUL。Liao 和 F. Kottig [74] 将数据驱动的测量模型和预测未来测量模型引入基于物理的粒子滤波框架,提高了锂离子电池 RUL 的预测精度。Lei 等人 [70] 结合物理模型和数据驱动的测量模型,提出了一种新的机械 RUL 预测方法。该方法首先应用 Paris-Erdogan 模型来描述半裂纹长度作为退化状态。然后,通过融合来自多个特征的互信息,构建了一个数据驱动的健康指标——加权最小量化误差,并与机械的退化过程正确关联。为此,以Paris-Erdogan模型为状态,以构建的健康指标为量度,采用基于粒子滤波的算法预测机械设备的RUL,并采用最大似然估计法初始化整个模型参数。Wang 等人[75]利用Frechet距离从物理原理中推导出的指数退化模型中选取最优参数,有效缓解了模型参数初始化的问题。研究发现,将Frechet距离与指数退化模型相结合,可以更准确地预测轴承退化路径。Han 等人[76]提出了一种考虑内阻和温度的改进的电池容量退化半经验模型。对监测数据进行小波包去噪后,采用遗传算法辨识初始模型参数。然后,设计粒子滤波框架来更新模型参数,实现在线RUL预测。Zeng 等人[77]基于磨损机理,建立了车轮直径和轮缘厚度的基本磨损模型,并利用磨损数据对磨损模型进行训练。利用磨损测量数据识别物理磨损模型,得到RUL分布,并以点估计和区间估计的形式输出RUL预测值。考虑到监测数据不足对预测精度的影响,Pan 等人[78]发展了一种数据增强方法,将退化机制与监测数据相结合,提高小样本下油液状态预测精度。在具体实施过程中,首先建立考虑退化机制的退化模型,利用监测数据估计模型参数,然后采用粒子滤波方法获取增强数据并进行预测。在这些结合方式的工作中,物理模型所代表的退化状态被认为是隐藏的、无法直接准确测量的,从监测数据中估计模型参数和隐藏的退化状态。尽管利用监测数据来标定物理模型,但由于预测是通过将当前退化状态外推到故障阈值来实现的,因此RUL预测的性能在很大程度上取决于物理模型的精度。此外,在状态空间建模的框架内,通常会将数据驱动的测量模型与物理模型相结合进行预测,但需要进一步探索将物理模型与数据驱动的测量模型相结合的创新方法,以提高 RUL 预测性能并降低对物理模型准确性的依赖。3.3 数据驱动模型与物理模型的决策级融合发展基于物理模型和数据融合的 RUL 预测方法的另一个重要途径是分别基于物理模型和数据驱动模型进行 RUL 预测,然后通过某种融合方法集成基于物理和数据驱动模型的 RUL 预测结果,称为数据驱动模型和物理模型的决策级融合。沿着决策级融合的思路,Goebel 和 Eklund [79] 首先考虑系统的物理特性来模拟故障传播,然后利用实验数据和已知条件下的部件损伤程度来估计条件故障传播速率。最后,采用基于核的时间回归算法集成这两种预测方法的输出。Wen 等人 [80] 提出了一种数据级和决策级混合融合方法来预测 RUL。在本研究中,首次使用遗传规划将物理传感器源集成到复合健康指标中,并得到了一个显式的非线性数据级融合模型。然后,在可靠性理论框架下,采用决策级融合方法集成基于各种物理传感器和综合健康指标的RUL预测。Goebel等人[81]利用实验数据和部件损伤程度建立了估计条件故障传播速率的经验模型,并引入Dempster-Shafer (DS)证据组合方法实现决策级融合。实验结果表明,融合方法比单独使用任何一种方法都能产生更准确、更可靠的结果。值得注意的是,决策级融合途径的实现过程相对简单且独立,可以整合各种数据驱动和基于物理的方法的优势,以提高RUL预测结果的鲁棒性和准确性。然而,实现不同预测方法集成的决策级融合形式相对多样,融合方法有多种,包括算术平均、加权平均、几何平均、核回归、DS证据组合等,因此决策级融合机制的设计和选择具有上下文相关性且具有挑战性。此外,虽然RUL预测的鲁棒性可以得到一定程度的提高,但最终预测的性能会受到融合所采用的单一预测方法的制约。从现有研究可以看出,物理模型与数据融合方法用于RUL预测的思路直接自然,可以实现基于物理的RUL预测,并且由于继承了基于物理和数据驱动方法的优势,可以提高预测性能和可解释性。因此,成功应用物理模型与数据融合方法的前提是获得准确可靠的物理模型和实时监测数据。然而,准确可靠的物理模型往往难以获得,或者掌握建模的失效机理成本高昂且耗时长。对于重要而复杂的系统尤其如此。因此,需要对复杂系统进行更多的物理化学和实验分析,以便有效地构建可靠的基于物理的模型。此外,由于物理模型与数据融合方法通常是通过组合多种算法来实现的,因此相关的计算复杂度通常很高。因此,开发更合理的融合框架将有助于提高计算效率。最后,对于多参数高度非线性的物理模型,模型中包含的大量参数将导致参数识别不准确和过拟合的问题,从而影响预测的准确性和效率。针对这一挑战,开发物理模型和数据融合方法的另一种方法是使用数据驱动的方法来预测物理模型中难以或不准确的中间参数,而不是数据驱动方法和物理模型之间的简单组合或浅层融合。通过将数据驱动的结果输入物理模型,这种深度集成的方法不仅会表现出更好的预测性能,而且还会修正现有物理模型中的不足,例如模型简化或假设。4 基于随机退化模型的 RUL 预测方法本节首先介绍基于随机退化模型的 RUL 预测方法的一般原理和关键组成部分,然后讨论一些代表性随机退化模型应用于 RUL 预测的最新进展。通过这些讨论,可以得出现有研究的优点和局限性,从而为未来的新研究方向提供参考。4.1 基于随机退化模型的 RUL 预测方法基础如2.2节所述,动态环境和各种不确定的内外部因素会引起故障物理的变化,实际系统的退化过程会表现出很大的异质性。基于随机退化模型的RUL预测方法具有反映退化过程的不确定性和随机性以及提供RUL的概率分布以量化预测不确定性的优势,因此取得了重大进展,因为这类方法可以自然地描述实际系统的随机故障产生机制和不确定运行环境的影响。基于随机退化模型的RUL预测方法的基本原理如图6所示。图6所示的原理是,基于退化系统的监测数据,通过拟合系统性能退化变量的演变过程并将其外推到预定义的故障阈值,可以基于随机模型预测系统的RUL [32]。在这个实现过程中,可以根据退化数据的特点和领域知识,确定刻画性能退化的随机退化模型,包括趋势性、单调性、鲁棒性等。图6 基于随机退化模型的 RUL 预测方法的基本原理说明遵循上述基本原则,目前基于随机退化模型的 RUL 预测方法通常由以下三个关键部分组成。第一个部分是随机退化建模。由于老化、负载和环境变化等各种随机因素的相互影响,退化系统的性能下降是不可避免的。退化过程会在运行过程中不断积累,并最终导致这些系统的故障。因此,系统的退化变量将在系统运行过程中随机演变。因此,采用随机模型来表征这种随机演变过程是一种自然的选择。目前,尽管用于退化建模的随机模型有很多变体,但它们通常可以描述为: 式中, 为系统退化变量,反映运行时刻 的退化状态; 为初始退化; 为时间相关函数,参数向量为 ,用于建模退化过程的时变趋势; 为随机项,用于建模退化过程的时间不确定性或随机性。根据对退化趋势 的建模原理,随机退化模型可分为参数模型、半参数模型和非参数模型。根据 的函数形式,随机退化模型包括线性模型和非线性模型。除了退化趋势建模之外,对随机项 的建模也是预测中的另一个重要方面,因为系统的退化过程受各种不确定因素的影响,具有内在的随机性。基于随机退化模型的方法的第二个部分是随机退化模型的参数估计。由于所采用的随机模型是根据所涉及系统的统计特征或领域知识选择的,因此模型参数是未知的。在这种情况下,为了进行预测,应首先基于监测退化数据估计所用随机模型的模型参数。广泛使用的参数估计方法包括最大似然估计法、贝叶斯方法、期望最大算法等。这类方法的第三个部分是求解 RUL 的概率分布。基于随机退化建模和相关参数估计,求解 RUL 的概率分布是预测的关键任务。需要注意的是,RUL 分布的求解与退化故障的定义密切相关。到目前为止,有几种不同的故障定义,如阈值命中时间 [82]、首次命中时间 [32]、最后逃逸时间 [83] 和平均到达时间 [84]。因此,可以根据与随机模型表征的退化过程相关的故障定义来解决 RUL 的概率分布。不同故障定义得出的 RUL 分布解之间的差异可以在 [83,84] 中找到。在当前基于随机退化模型的方法研究中,前两个组成部分的实现过程基本固定或很少改变。相反,用于表征系统退化过程的随机模型则存在显著的变体。特别是随机项 的变体很多,导致用于RUL预测的随机退化模型也不同。根据对 建模的不同,基于随机退化模型的方法主要包括随机效应回归模型、Gamma过程、逆高斯过程、Wiener过程,以及最近发展的Beta过程、Tweedie指数散度过程、Student-t过程等。与随机效应回归模型、Gamma过程、逆高斯过程和Wiener过程的重大进展相比,Beta过程[85]、Tweedie指数散度过程[86]和Student-t过程[87]在预测中的应用相对有限。此外,值得注意的是,这些模型的发展在表1列出的现有评论中已有部分讨论,尽管其中大多数是三年前发表的。因此,我们主要在下文中提供一些代表性模型的最新进展,例如随机系数回归模型、维纳过程、伽马过程和逆高斯过程。4.2 随机系数回归模型随机系数回归模型在退化建模和寿命预测中得到了广泛的应用。最常用的随机系数回归模型通常可以表示如下[82]: 其中, 表示第 个系统在第个监测时刻的退化情况, 表示固定参数, 表征系统共同退化特征, 表示随机效应系数,描述同一类型不同系统之间的个体变异性,表示噪声项,通常假设为具有零均值和常数方差的正态分布随机变量。随机系数回归模型的优势在于,它们可以同时模拟群体中普遍存在的退化特征和不同个体中存在的差异性。自 [82] 的开创性工作以来,此类模型在 RUL 预测中得到了广泛的应用,如 [32] 所述。最近,Yan 等人 [55] 使用迭代更新随机系数回归模型来刻画轴承健康指标的退化趋势,并结合基于孟塞尔变换的关键点检测自适应方法,提高了 RUL 的预测性能。针对先验信息不完善的问题,Wang 等人 [88] 提出了一种基于非线性随机系数回归模型的 RUL 预测方法,并考虑了故障时间数据的融合。此外,Zhao 等 人[89] 提出了一种多状态健康模型来预测轴承故障,其中使用回归方法检测健康转变点,并使用具有贝叶斯更新过程的指数随机系数模型来推导故障时间分布。对于结构复杂的机器,Chen 等人 [90] 分别应用了两种成熟的期望回归模型(即线性和指数)来计算和更新系统的 RUL 分布。从这些进展中可以看出,当前随机系数回归模型的重点主要放在根据相关系统的具体要求应用或改进模型公式上。未来,如何继承同时建模退化过程中的共性和个性的一般思想,并开发更灵活的模型来表征退化过程中的时间变化性,值得我们付出更多的努力和关注。4.3 维纳过程维纳过程是一类由具有时变漂移性的布朗运动(Brownian Motion, BM)驱动的随机过程。需要说明的是,具有漂移性的BM最初在物理学中用来表示流体和空气中小颗粒随机游动的进程。由于漂移效应,这种随机游动具有趋势性,因此由BM驱动的模型适合于对具有增加或减少趋势的动态过程进行建模。形式上,如果随机过程 满足以下三个条件,则称该随机过程 为维纳过程:1) 为独立增量过程;2) ,其中 为漂移函数;3) 是时间 的连续函数。可以看出,维纳过程是一种具有高斯噪声的随机过程,因此它是一个非单调过程。此外,噪声的方差是时间的函数,因此累积退化是无限可分的,正如任何物理退化过程所要求的那样[61]。由于其数学性质优良、概念清晰、与物理退化过程相似,能很好地描述系统的非单调退化特性,在退化建模和RUL预测中得到了广泛的应用。张等[34]专门综述了基于维纳过程的退化数据分析、RUL预测及其在PHM中的应用进展,强调了退化过程中的非线性、多源变异性、协变量和多变量。但值得注意的是,本综述中讨论的进展基于2018年以前的文献。近年来,文献中报道了一些新的进展。为了克服对数变换和时间尺度变换在处理非线性退化数据方面的局限性,一些新的变换技术已被开发出来,将非线性数据转换成近似线性数据,以促进退化建模和RUL预测[91,92]。例如,Si 等人[91]从Box-Cox变换(Box-Cox Transformation, BCT)的角度提出了一种非线性随机退化建模和RUL预测方法。在这项工作中,首先使用BCT将非线性退化数据转换为近似线性数据,然后利用具有随机漂移的维纳过程对转换数据的演变过程进行建模以进行预测。通过大量的实验结果和比较分析发现,BCT可以将许多现有的变换技术作为特例,具有强大的处理非线性数据和提高早期预测性能的能力。针对非线性退化过程难以转化为线性退化的情况,Cao 等人[93]建立了基于非线性维纳过程的随机退化模型,采用离线估计和实时更新相结合的方法估计了退化模型的参数,并推导出系统的RUL分布。Lu 等人[94]采用带有随机漂移参数的维纳过程模拟非均匀退化过程,并利用机组实时退化数据,动态更新漂移参数的后验分布,进一步根据在线监测数据更新系统的RUL分布。为了克服跟踪退化过程中的动态和多源变化的挑战,Wang 等人 [95] 提出了一种通用的时变维纳过程。在本文中,构建了一个状态空间模型来考虑非线性和三源变化,并引入了一个隐式变换模型来描述模型参数随时间的变化。实际系统的退化过程在很大程度上取决于外部运行环境,包括温度、工作负载等。动态环境对退化过程的影响是近年来 RUL 预测考虑的重要方面。针对动态环境下的预测问题,Zhang 等人 [96] 提出了一个具有随机时变协变量的非线性维纳过程模型。在本研究中,Ornstein-Uhlenbeck 过程用于建模动态协变量,并通过指数协变量效应函数将其与时变退化率相关联。Zhang 等人 [97]在前人工作[96]的基础上,充分考虑了退化过程中可测和不可测协变量因素的不确定性,利用维纳过程实现了考虑可测和不可观测外界影响的RUL预测。除以上两个方向外,具有多阶段退化特征的系统近年来也受到广泛关注。针对多阶段退化过程,Wang 等人[98]首次提出退化角的概念,以准确识别不同阶段之间的变点,从而可以使用维纳过程模型的不同漂移函数来匹配不同的退化阶段,提高预测性能。在所构建的模型基础上,根据退化角的定义和首次命中时间的概念,得到了多阶段 RUL 分布。[99] 提出了两种多阶段非线性维纳退化模型开展 RUL 预测研究,即带有时间尺度变换和纯时变漂移扩散过程的非线性退化模型。本文充分考虑了退化阶段变点处的状态转移概率,并基于首次命中时间的概念得到了 RUL 分布的解析表达式。从现有研究可以看出,基于维纳过程的模型下的 RUL 预测是一个活跃的研究方向,此类方法在预测中的应用将因其可解释性和在建模灵活性和数学便利性方面的优异特性而得到进一步促进。此类方法的一个发展方向是通过设计基于物理或领域知识的漂移和扩散函数来构建更复杂的模型,以实现针对特定应用环境的定制建模。此类方法的另一个挑战在于在维纳过程的非单调性质导致的非线性退化情况下找到 RUL 分布的精确解。4.4 Gamma 过程工程实践中,一些性能退化过程具有单调性,只朝一个方向发展,如磨损过程、疲劳裂纹扩展过程。在这些情况下,应用单调随机过程来模拟此类退化进程是一种很自然的选择,Gamma 过程就是这类随机过程的一个例子。与 Wiener 过程不同,Gamma 过程是一种具有非负增量的随机过程,因此可以用来描述严格单调的退化过程。一般而言,Gamma 过程记为 ,具有以下特点[100]:1) ;2) , 为形函数, 为尺度参数, 为 Gamma 分布; 3) ,相互独立。Gamma 过程在退化数据分析和寿命预测中的应用历史悠久,表 2 中的许多现有综述或多或少地讨论了前期的进展。最近,Zhao 等人 [101] 提出了一种基于 Gamma 状态空间模型的隐式单调健康状态变化跟踪框架。该研究将时间不确定性、测量不确定性和个体异质性联合纳入退化模型,以准确预测功率器件的 RUL。为了解决充电电池的老化问题,Lin 等人 [57] 提出了一种固定变点的两阶段 Gamma 过程模型,用于模拟恒流条件下电池循环老化的电压-放电曲线。Zhang 等人 [102] 基于 Gamma 过程,获得了退化过程时间序列的关键经验参数信息和不同退化条件下的 RUL 分布。Wang 等 [103] 提出了一种基于 Gamma 过程模型的动态 RUL 预测和最佳维护时间确定方法。由于预处理数据呈现带有跳跃点的非线性递增退化趋势,因此采用具有非线性时间变换的Gamma过程作为RUL的预测模型,实验结果表明可以显著提高在线RUL预测的效率。为解决系统退化趋势的随机性,Esfahani 等人[104]基于物理模型和Gamma过程模型建立了加速退化模型,并将所建模型应用于涡扇发动机RUL的预测。[105]中,Hazra 等人提出了一种具有平稳增量的混合Gamma模型来表示管壁的退化过程,并提出了一种非似然近似贝叶斯计算方法,能够从噪声数据中有效地估计混合Gamma退化模型的参数。需要注意的是,尽管Gamma过程在预测方面有着悠久的历史和进展,但由于Gamma分布的复杂表达式,很难获得RUL分布的解析形式,同时利用在线监测数据更新模型参数也具有挑战性。因此,基于 RUL 预测的 Gamma 过程的最新重点主要在于开发先进的参数估计和更新方法,以使预测准确反映有关系统的当前退化状态。4.5 逆高斯过程逆高斯过程是另一类单调随机过程。因此,与Gamma过程类似,逆高斯过程适合描述一些具有单调退化特性的系统。逆高斯过程的数学定义如下[106]:1) 为独立增量过程;2) , 是时间 的单调增函数, 和 是控制退化速率和退化波动性的过程参数, 是参数为 和 的逆高斯分布。尽管与 Gamma 过程相比,将逆高斯过程应用于退化建模和 RUL 预测的历史并不太长,但是自从 [106] 中最早的研究以来,人们发现逆高斯过程在建模单调退化过程方面具有重要的潜力。Wang 和 Xu [106] 提出了逆高斯过程模型,并研究了一类针对具有对象间异质性和协变量信息的退化数据的逆高斯过程模型的最大似然估计。提供了模拟和激光数据以进行拟合优度检验和寿命预测。基于开创性的工作 [106],文献中已经报道了许多逆高斯过程的应用和改进。近年来,Sun 等人 [60] 提出了一种考虑随机效应和测量误差的改进的逆高斯过程模型来描述磨损退化,结果表明该模型可以提高液压柱塞泵磨损率的预测精度。在参考文献中。[107] 采用带有随机效应的逆高斯过程来表征系统的退化过程。本文首先使用期望最大化算法初始化模型参数,然后采用贝叶斯方法更新退化模型中的随机参数,使得预测的RUL可以根据新获得的退化数据实时更新。Huang 等人[108]提出了一种基于变漂移系数逆高斯过程的刀具磨损退化模型,以描述动态工作环境下刀具磨损过程中个体异质性的影响。Hu 等人[109]根据首次温度监测值超过首次预警阈值的失效原理,建立了基于逆高斯过程的风电轴承RUL预测模型。与Gamma过程的重大进展相比,逆高斯过程的发展具有很大的空间和机会,因为在许多应用中发现逆高斯过程和Gamma过程表现出相似的建模拟合和预测性能。此外,将逆高斯过程应用于多阶段退化或随机操作环境的系统的 RUL 预测的问题值得在未来深入研究。本节讨论了基于随机退化模型的RUL预测方法的基础以及四种代表性模型的进展。值得注意的是,还有其他模型,如马尔可夫模型[110]和随机滤波模型[111],其基本思想与上述模型相似,因此不再赘述。从以上讨论可以看出,基于随机退化模型的方法已经取得了很大进展,这类方法仍处于快速发展阶段。然而,未来仍有一些方向值得关注。首先是使用随机退化模型校准进行RUL预测。当前的研究通常采用随机模型来表征退化变量的演变过程。在这种情况下,应提前确定 的适当函数形式。然后,通过有关系统的退化数据估计或更新模型参数以进行模型校准。然而,选择 的函数形式本身就是一个具有挑战性的问题。更重要的是,当选取的退化模型函数形式不合适时,单纯通过更新模型参数来校准退化模型是困难且无效的,预测精度会受到影响。因此,如何实现退化模型函数形式和参数的同时校准,是提高预测精度、避免 选取困难的一个重要方向。其次是多退化变量系统的RUL预测。现有大多数研究的一个重要潜在前提是,所关注系统的健康状态可以简单地用单个性能退化变量来反映。单变量假设为RUL预测提供了极大的便利。然而,这种假设对于复杂系统并不实用,因为复杂系统的健康状态往往由与系统性能相关的多个变量共同决定,健康状态很少能用单个变量准确描述。在这种情况下,考虑多个性能变量是预测的必须。因此,未来应开发新的多退化变量RUL预测框架。三是进一步发展基于物理的随机退化模型,提高模型和预测结果的可解释性。当前基于随机退化模型的方法主要从客观物理现象的角度考虑单调性和趋势性来预测RUL,物理解释不足,需要进一步将鲁棒性、灵敏度、相关性等其他物理性质融入退化建模中。最后,当前方法适用于小样本数据的故障特征分析,缺乏强大的数据处理能力。通过深度学习从海量数据中提取退化特征,实现深度学习与随机退化模型的数据-模型联动,是大数据时代RUL预测的一个有前景的方向。编辑:Tina校核:李正平、陈凯歌、赵栓栓、曹希铭、赵学功、白亮、任超、海洋、陈宇航、陈莹洁,王金该文资料搜集自网络,仅用作学术分享,不做商业用途,若侵权,后台联系小编进行删除来源:故障诊断与python学习

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈