首页/文章/ 详情

综述 | 故障预测与健康管理的类ChatGPT大模型:综述和发展路线图(下)

4小时前浏览10

    综述 | 故障预测与健康管理的类ChatGPT大模型:综述和发展路线图(上)本期给大家推荐李彦夫教授的故障预测与健康管理的类ChatGPT大模型:综述和发展路线图(下)近年来,基于人工智能(Artificial Intelligence, AI)故障预测与健康管理(Prognostics and Health Management, PHM)方法取得了显著成就。ChatGPTDALLE-E等大模型(Large-Scale Foundation Models, LSF-Models)的出现,标志着AIAI-1.0进入了AI-2.0的新时代,深度模型从单模态、单任务、有限数据的研究范式迅速演变为多模态、多任务、海量数据和超大模型的范式。然而,PHM领域对于如何应对这一重大变革尚未达成共识。因此,本文阐述了LSF-Models的关键组件和最新发展,系统地回答了如何构建适用于PHM任务的LSF-Models,并概述了这一研究范式面临的挑战和未来发展路线图。

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

    论文基本信息

    论文题目:
    ChatGPT-like large-scale foundation models for prognostics and health management: A survey and roadmaps

    论文期刊:Reliability Engineering and System Safety

    论文日期:2024年

    论文链接https://doi.org/10.1016/j.ress.2023.109850

    作者:Yan-Fu Li (a, b), Huan Wang (a, b), Muxia Sun (a, b)

    机构:

    a: Department of Industrial Engineering, Tsinghua University, Beijing 100084, China;

    b: Institute for Quality and Reliability, Tsinghua University, Beijing 100084, China

    通讯作者邮箱: huan-wan21@mails.tsinghua.edu.cn

    作者简介:

    李彦夫清华大学质量与可靠性研究院院长、清华大学工业工程系长聘教授。2011-2016年任教于法国巴黎中央理工与高等电力学院。长期致力于系统可靠性、预测性维护(PdM)理论与方法的研究。代表性论文发表在《Production and Operations Management》、《INFORMS Journal on Computing》、《IEEE Transactions》系列、《IISE Transactions》等国际著名期刊,其中ESI高被引6篇,2019-2023年连续入选爱斯维尔中国高被引学者榜单,2020-2022连续入选美国斯坦福大学发布的全球前2%顶尖科学家榜单。出版专著2部,编著教材2部,授权发明专利11项。主持国家自然科学基金重点项目、国家重点研发计划课题以及市场监管总局委托项目。与华为、南方电网等头部企业长期合作,多项研究成果企业应用转化。获得中国运筹学会应用奖、省部级科技进步二等奖1项,以及多项国际国内学会论文奖项。服务质量强国战略,开展质量政策研究,多项资政报告成果被市场监管总局、全国人大财经委等部门采纳。担任可靠性旗舰期刊《Reliability Engineering & Systems Safety》和《IEEE Transactions on Reliability》副主编、中国系统工程学会系统可靠性专委会副主任委员、中国质量奖评审专家。

    目录

    1 摘要

    2 引言

    大模型的关键组成部分

    4 大模型的进展

    5 PHM领域的大模型

    6 挑战与未来发展路线

          6.1 大模型在PHM领域面临的挑战

        6.1.1 大规模数据集

        6.1.2 安全性

        6.1.3 可信度

        6.1.4 可迁移性

        6.1.5 高级认知

        6.1.6 可解释性

        6.1.7 边缘设备部署

    6.2 大模型在PHM领域的发展路线

        6.2.1 大规模数据集的发展路线

        6.2.2 安全性的发展路线

        6.2.3 可信度的发展路线

        6.2.4 可迁移性的发展路线

        6.2.5 高级认知的发展路线

        6.2.6 可解释性的发展路线

        6.2.7 边缘设备部署的发展路线

    6.3 大模型与深度学习范式

    6.4 大模型在PHM与NLP/CV领域的异同

        6.4.1 异同点

        6.4.2 挑战与解决方案

    6.5 前景:通用PHM平台

    总结

    (以上标记章节为本文内容)

    1 摘要

    故障预测与健康管理(Prognostics and Health Management, PHM)技术在工业生产和维护中至关重要,它能够识别和预测潜在的设备失效及损坏,从而实施主动维护措施,提高设备可靠性并降低生产成本。近年来,基于人工智能(Artificial Intelligence, AI)的PHM方法取得了显著成就,并广泛应用于铁路、能源、航空等多个行业的状态监测、故障预测和健康管理。ChatGPT和DALLE-E等大模型(Large-Scale Foundation Models, LSF-Models)的出现,标志着AI从AI-1.0进入了AI-2.0的新时代,深度模型从单模态、单任务、有限数据的研究范式迅速演变为多模态、多任务、海量数据和超大模型的范式。ChatGPT因其出色的自然语言理解能力成为这一研究范式的标志性成果,为通用AI带来了希望。然而,PHM领域对于如何应对这一重大变革尚未达成共识,需要系统的综述和路线图来阐明未来的发展方向。因此,本文阐述了LSF-Models的关键组件和最新发展,系统地回答了如何构建适用于PHM任务的LSF-Models,并概述了这一研究范式面临的挑战和未来发展路线图。

    关键词:故障预测与健康管理;故障诊断;大模型;表征学习

    6 挑战与未来发展路线

    在前一节中,我们讨论了在PHM中构建LSF-Models的技术细节和可行解决方案。本节试图从更广泛、更全面的角度讨论这些模型面临的挑战、路线图和前景。通过这样做,我们可以更好地了解全局,并确定PHM中需要改进和未来研究的领域。

    6.1 大模型在PHM领域面临的挑战

    图8展示了LSF-Models在PHM中面临的挑战,主要包括数据集、安全性、可信度、可迁移性、高级认知、可解释性和边缘设备部署等七个方面。下面将详细描述这些挑战。  

    图8 PHM领域的大模型面临的挑战

            6.1.1 大规模数据集

    企业不愿意向竞争对手透露其商业敏感信息,包括关键设备的性能参数、维护记录和生产过程中的故障等。用于PHM的工业生产数据和机械设备运行监测数据不可避免地会涉及这些商业敏感信息。因此,企业制定了严格的数据保护措施,导致在PHM中公开可用的大规模工业数据严重短缺。现代工业设备通常在复杂且无边界的环境中运行,导致收集的数据经常存在噪声、缺失数据、失真、异常干扰等问题。此外,部署的各种工业传感器导致获取的数据类型多样,需要处理不同模态的数据。因此,使用此类数据构建有效的大规模PHM模型具有挑战性。  

            6.1.2 安全性  

    尽管LSF-Models在大规模数据集上进行了训练,但它们仍然容易受到安全威胁,如对抗攻击[143]。对抗攻击可以通过精心设计的噪声干扰PHM模型的输出,导致模型产生错误结果。这在关键的PHM应用中是不可接受的,如核电站的安全监测。除了直接攻击外,在大规模数据的训练过程中可能会引入无意的偏差或错误,这可能导致模型输出有偏差甚至错误的结果。在这种情况下,PHM模型可能存在安全风险,并且难以排查故障,因为特定的偏差和错误结果仅在特定场景中偶尔出现。此外,由于LSF-Models需要大量的计算资源进行训练和推理,它们也容易受到针对计算资源的攻击[144, 145]。  

    6.1.3 可信度  

    LSF-Models的可信度[146]代表用户对其输出准确性和一致性的信心。此外,模型必须在保持预测准确性和稳定性的同时,承受偏差、噪声和输入数据扰动等干扰。目前,与传统的DL模型相比,LSF-Models的可信度有了显著提高。然而,在PHM中,复杂的工况、多样的背景噪声和不同的旧设备导致数据分布差异很大。因此,提高LSF-Models的可信度仍然是一个重大挑战。  

    6.1.4 可迁移性  

    LSF-Models的可迁移性是指模型是否能够很好地迁移和适应不同的任务和数据集。在PHM中,不同的场景需要不同的任务(如异常检测、故障预测、RUL预测)。然而,这些PHM任务的性质和实现方式差异很大,如何在各种任务之间实现良好的可迁移性和适应性是一个挑战。此外,不同的机械设备具有不同的特性;例如,轴承、齿轮箱和曲轴都是核心旋转设备,但它们的故障特征和特性差异很大。另一个挑战是处理这些差异,使LSF-Models在各种应用中具有很强的可迁移性和适应性。  

    6.1.5 高级认知  

    目前对LSLMs和视觉模型的研究表明,LSF-Models具有一定的高级认知能力,能够在一定程度上学习一般概念[37, 39]。然而,目前尚不清楚这些模型是如何获得这些能力的,以及如何明确地增强这些能力。此外,PHM数据具有显著的随机性,这对模型从这些数据中概括高级认知构成了挑战。与具有规律性的文本和视觉数据不同,时间序列数据的多样性使得模型更难提取广义的特征表示。  

    6.1.6 可解释性  

    可解释性[147-150]意味着模型的决策和输出可以被解释和理解,透明度意味着模型的内部结构和操作可以被人类理解和审查。然而,随着LSF-Models的发展,这些模型的内部工作原理和操作机制变得越来越难以解释和理解,透明度也越来越低。此外,LSF-Models在训练过程中可能会捕获不可预测的数据关系和噪声,这可能导致重大的安全风险。在PHM[128, 151, 152]中,可解释性和透明度非常重要,因为在核能和航空航天等领域,缺乏透明度的模型难以获得信任。然而,LSF-Models的复杂性使得研究其可解释性和透明度极其困难。  

    6.1.7 边缘设备部署  

    LSF-Models具有大量的参数和复杂的结构,需要大量的计算资源进行训练和推理。然而,在PHM中,通常需要将监测模型部署到边缘计算设备或移动终端,以满足实时性和安全性要求。然而,由于现有的边缘计算设备通常无法执行LSF-Models,在不影响其性能的情况下实现此类模型的部署是一个重大挑战。因此,必须设计新的技术来解决这个问题,促进LSF-Models在边缘计算设备上的部署[153-155],同时保持其性能。

    6.2 大模型在PHM领域的发展路线  

    图9展示了LSF-Models在PHM中的未来路线图。根据LSF-Models面临的挑战,本节探讨了如何解决这些挑战,并详细阐述了未来的路线图。下面将详细描述这些内容。

    图9 PHM领域的LSF-Models发展路线

    6.2.1 大规模数据集发展路线  

    构建PHM大规模数据集的核心解决方案是消除企业对数据隐私和安全的担忧,特别是要使所有企业都能从中受益,实现互利共赢。为此,可以通过以下方法推进大规模数据集的分析和利用:  

    (1)构建国际和国内标准。首先,在学术界和工业界的共同推动下,建立一套完整的标准体系,包括数据收集和存储标准等。然后,使用这些标准规范数据收集的方法、对象、频率和质量,以及数据存储和隐私保护。  

    (2)建立工业数据联盟实现数据共享。在政府或行业协会的推动下,建立工业数据联盟,在保护每个企业商业秘密的同时实现行业数据共享,实现互利共赢。  

    (3)推动校企联合研究中心的建设。在工业领域,学术界掌握着前沿的算法和数据分析能力,工业界掌握着大规模的工业数据。因此,建立校企联合研究中心可以协同发挥各自的优势,促进LSF-Models的研究进展。  

    (4)探索具有数据隐私保护的算法。在保护数据隐私的同时,探索高效的跨数据中心大规模DL模型训练和优化算法。为了解决企业对数据隐私和安全的担忧,可以采用数据脱敏、加密等技术手段促进数据共享。  

    6.2.2 安全性的发展路线  

    LSF-Models的安全性主要包括数据安全、模型安全和系统安全。为此,可以从以下几个方面提高LSF-Models的安全性:  

    (1)确保数据安全。确保数据安全需要避免数据被恶意篡改或污染,并避免向模型引入偏差或错误信息。因此,必须确保模型的训练数据源可靠、高质量、充足且具有代表性。此外,需要建立数据安全保护机制,以避免恶意数据泄露和篡改。  

    (2)确保模型安全。探索实用的对抗训练和正则化方法[156],以提高LSF-Models抵抗恶意干扰和噪声的能力。此外,增强模型的安全性和隐私性,如模型加密[157, 158],以防止模型被盗或被逆向工程。  

    (3)确保系统安全。对于基于LSF-Models的PHM系统,建立监测系统,及时检测异常操作和攻击行为,并同时记录操作和审计日志,以便调查和追溯安全事件。  

    6.2.3 可信度的发展路线  

    提高LSF-Models的可信度是一个综合而复杂的问题,可以从以下几个方面进行优化和改进:  

    (1)提高数据质量。数据质量是模型训练的基础,确保数据质量对于提高模型的可信度至关重要。因此,需要采取一系列措施确保数据质量,包括数据清洗、去除异常值、数据增强等。  

    (2)提高模型的鲁棒性。探索新的解决方案,以提高模型在噪声[159, 160]、分布偏移[161, 162]和分布外场景[163, 164]中的鲁棒性和抗干扰能力。  

    (3)建立适当的评估框架。评估LSF-Models的挑战之一是建立适当的评估框架,这需要多方面的努力。例如,涉及选择多样化的评估任务和数据集、选择合适的评估指标、探索对对抗攻击的鲁棒性、评估公平性以避免偏差,并进行长期性能监测。  

    (4)保证模型的可追溯性。为了提高模型的可信度,需要全面记录和追溯模型的开发、训练、测试、部署等过程。这可以确保模型的过程可控,结果可验证,从而提高模型的可信度。  

    6.2.4 可迁移性的发展路线  

    LSF-Models旨在推进通用模型的概念,使其能够执行所有任务。因此,我们致力于创建一个全面的多任务PHM系统。尽可能提高基础模型的可移植性和适应性是首要任务。PHM领域包含多种下游任务,其应用对象复杂,因此需要探索新的架构设计方法、特征学习方法和训练算法,以适应现实世界的工业场景,增强可迁移性。  

    (1)探索灵活的模型架构设计。为了构建通用的基础模型,需要研究能够针对不同类型的PHM应用(如监测、诊断、预测等)进行定制的灵活模型架构设计。  

    (2)探索通用的特征表示方法。从不同数据类型中提取有价值的特征是实现通用模型的关键。这些特征表示算法需要能够捕捉各种类型的故障模式,并且对不同类型的故障数据具有鲁棒性。  

    (3)探索适合PHM应用的训练算法。虽然在NLPCV中已经提出了许多自监督训练算法[42, 72],但只有基于PHM特征设计的训练算法才能最大程度地提高基础模型的可迁移性和适应性。  

    6.2.5 高级认知的发展路线  

    LSF-Models有潜力使用大量训练数据和精心设计的算法从数据中获取高级认知并学习一般概念。在PHM中,具有高级认知能力的LSF-Models能够很好地理解工业数据的本质和一般概念。因此,LSF-Models可以及时适应不同的工业场景和任务,有效避免产生难以理解的输出。然而,目前LSF-Models所展示的高级认知能力还不足。除了增加训练数据量外,还需要探索以下方面:  

    (1)探索实现高级认知能力所需的数据要求。虽然一些现有的LSF-Models已经展示出有限的高级认知能力,但实现这种能力需要什么样的数据以及需要多少数据尚不清楚。此外,如何在相对较小的数据集中充分利用数据信息以获得可观的认知能力也是一个值得研究的课题。  

    (2)探索实现高级认知能力所需的模型要求。大多数现有的LSF-Models采用Transformer架构,但它存在局限性。因此,探索新的Transformer架构或设计新颖的模型架构,以使LSF-Models表现出更好的认知能力,是值得探索的领域。  

    (3)探索实现高级认知能力的理论要求。高级认知能力的实现不能仅仅依赖于大量的实验分析;还需要适当的理论提供指导解决方案。因此,探索LSF-Models获得高级认知能力的原因和机制将显著推动该领域的发展。  

    6.2.6 可解释性的发展路线  

    深度学习因其缺乏可解释性和透明度而受到批评,这种缺陷在LSF-Models中更为明显。提高这些模型的可解释性和透明度将增强其可信度、可控性和可靠性,使其更适合应用于航空航天和核能等关键工业领域。未来的研究可以从以下三个方面进行探索,以解决这个问题:  

    (1)探索深度可解释模型。在PHM中,一种可行的解决方案是通过信号分析方法[128, 136, 137, 152]的理论基础实现具有高可解释性的深度模型。此外,将先验知识或物理背景信息纳入模型也可以显著增强其可解释性。  

    (2)探索分析模型可解释性的方法。根据深度模型的特点,需要探索分析模型可解释性的实用方法。例如,通过使用可视化方法[128, 165-167]分析模型的内部结构参数和信号分析方法分析模型的滤波器[168],以了解模型学习了哪些特征。  

    (3)推动深度模型的理论研究。这需要深入分析基础模型的原理,探索其本质属性、特征、优势和劣势,并通过理论分析揭示其内部机制和规律[169]。  

    不同领域的算法之间存在相似之处,CV和NLP领域[170, 171]的可解释性方法也可以启发PHM领域的可解释性研究。常见的有效可解释性方法主要包括基于梯度的分析和基于可视化的分析。基于梯度的方法包括显著图、梯度类激活图和引导反向传播。基于可视化的分析方法包括热力图、激活图可视化和注意力机制解释。这些可解释性方法为理解深度学习模型的决策过程提供了直观的方式,有助于识别哪些输入特征对模型的输出至关重要。  

    6.2.7 边缘设备部署的发展路线  

    尽管LSF-Models性能令人印象深刻,但其计算需求极大地限制了其适用性。为了促进LSF-Models在PHM中的应用,可以从以下几个方面探索使其轻量化:  

    (1)探索轻量级深度模型。通过探索轻量级深度模型的设计方法[172, 173],开发新的低复杂度算法和算子设计范式,降低模型的计算负载和资源使用。  

    (2)模型压缩和修剪。探索模型压缩[174, 175]和剪枝[176, 177]技术,以减小模型的大小。可以采用有效的压缩方法,如权值共享、低秩分解和知识蒸馏。此外,可以使用有效的剪枝方法去除冗余神经元或连接。  

    (3)优化网络拓扑。探索新的网络拓扑设计方案,如受大脑启发的脉冲神经网络[178179],以实现具有低功耗和低计算需求的深度网络模型。

    6.3 大模型与深度学习范式  

    LSF-Models引起了广泛关注,并给DL带来了深刻变革。它们对各种DL范式产生了深远影响,如迁移学习、样本学习、强化学习和噪声标签学习。LSF-Models的成功使其能够作为这些研究范式的强大基础表示模型,显著提高了这些方法的性能。例如,LSF-Models本身具有很强的泛化和样本学习能力,使其在迁移学习和样本学习场景中表现出色。此外,当与为迁移学习或样本学习量身定制的优化算法结合时,这些模型可以实现以前难以想象的卓越性能。LSF-Models还极大地提高了强化学习和噪声标签学习方法等的性能。此外,针对不同的深度学习范式已经开发了各种优化和训练算法,以解决它们的局限性和特定应用场景。这些算法也可以应用于LSF-Models,增强其在特定背景下的性能。  

    总之,LSF-Models为这些范式提供了强大的基础和工具,使迁移学习、样本学习、强化学习和噪声标签学习等任务更加有效和实用。这些范式和各种优化算法反过来又可以激发LSF-Models实现更好的性能。  

    6.4 大模型在PHM与NLP/CV领域的异同  

    6.4.1 异同点  

    PHM、NLP和CV领域之间的差异带来了一些值得学者关注的新挑战。图10展示了它们的异同点。在NLP领域,各种任务和问题具有共同的逻辑,使得训练良好的模型适用于不同但相似的任务。NLP中的数据获取相对容易,数据量庞大且数据结构规则,使得构建大规模数据集相对简单。大多数NLP应用涉及生成任务,如基于文本的对话和文本翻译,简化了模型架构设计,无需考虑额外要求。  

    图10 大模型在PHM与NLP/CV领域的异同点

    另一方面,PHM是一个相对个性化的问题。PHM领域的数据通常来自工业设备传感器、日志文件、历史维护记录等,具有时间序列数据和工程背景的特点。这些数据相对杂乱、难以获取,并且需要大量的数据清理工作。此外,PHM任务需求多样,如故障诊断、健康预测、异常检测、维护计划等,涉及分类任务、回归预测任务和操作优化任务。在PHM领域,存在各种工业应用场景和研究对象,如高速列车、风力涡轮机和飞机等,它们各自具有独特的属性和不同的健康退化模式,这给大模型的泛化带来了重大挑战。此外,工业场景中的PHM需要处理大量的时间序列数据,但对于大模型来说,对长距离依赖进行建模仍然是一个主要挑战。这主要是因为大规模模型的骨干网络Transformer是基于文本分析开发的,其长时相关特征编码能力不足。针对这个问题,我们在4.2节进行了分析和讨论。  

    CVNLP和PHM领域有一些相似之处,例如数据获取相对简单,但任务场景复杂,需要诸如分类、分割和目标检测等任务。  

    从大模型的研发角度来看,PHM、NLP和CV领域存在相似之处。大模型是以数据为中心的研究方法,当接触到足够的数据和信息时,它们会发生质变,实现出色的性能。因此,在模型和算法设计与优化方面,跨领域的启发和知识转移是可能的。例如,NLP领域的Transformer模型和自监督学习算法可以在PHM领域找到有价值的应用。此外,在PHM领域,核心挑战是使模型真正理解工业数据并学习其潜在模式。在这方面,NLPCV领域的经验和成功无疑可以为PHM领域提供有价值的参考  

    6.4.2 挑战与解决方案  

    上一节描述了PHM与NLP/CV领域之间的差异。这些差异带来了新的挑战,需要相应的解决方案。主要挑战源于PHM领域任务需求的多样性和应用对象的多样性。  

    关于任务需求的多样性,我们的目标是建立基础模型,并使用下游任务特定信息对其进行微调。在模型部署后,特定领域知识和需求的频繁变化给模型的更新和维护带来了新的挑战。为了解决这个问题,可以将知识图谱与大模型相结合,并动态更新知识图谱,为模型提供最新信息。此外,探索可行的持续或在线学习算法可以动态更新模型的知识。关于应用对象的多样性,最佳解决方案是为不同的对象构建不同的大模型。例如,为高速列车设计的大规模模型和为风力涡轮机设计的大型。

    6.5 前景:通用PHM平台  

    传统的基于AI的PHM模型通常需要为每个子任务开发独特的数据处理和模型优化算法,以在特定场景中实现良好的性能。例如,需要为轴承构建独立的故障诊断和RUL预测模型。然而,复杂的工业设备可能包含数百个核心部件,为所有部件构建相应的PHM模型是一个庞大的项目。此外,这种应用范式无法充分利用工业设备的多模态相关数据,也无法全面表征工业设备的健康状态。而且,构建的各种子任务模型耗时费力,并且不能保证模型具有良好的泛化能力。如前所述,NLP和CV领域,如ChatGPT[37]和SAM[39],已经展示了大模型在跨模态多任务场景中的出色性能,并且在一定程度上实现了一个模型适用于所有任务的理念。因此,受此启发,实现通用的PHM平台以实现一个模型适用于所有PHM任务成为可能。这一研究概念将彻底改变PHM的研究范式,通用PHM平台的实现将显著促进PHM的全面智能化。  

    图11展示了一个用于高速列车的通用PHM平台示意图。通用PHM平台的核心是跨模态模型。该模型接收来自高速列车的各种数据,如传感器数据(包括信号、图像和视频)、维护工单和记录,以及专家经验和知识作为输入。随后,它对高速列车的各个子系统和核心部件的健康状态进行全面评估和监测。具体而言,跨模态模型通过采用多模态融合算法和自监督特征表示算法构建,使其能够理解和学习多模态列车数据的通用和高质量数据特征。随后利用零/样本学习范式将跨模态基础模型扩展到各种列车PHM子任务,从而实现平台效应。跨模态模型的最终目标是通过学习大量列车运行数据,为PHM任务(如健康监测、故障预测、异常检测、RUL预测、维护计划和健康管理)提供强大且可推广的数据挖掘和理解工具。即使对于训练期间未出现的新对象和数据,跨模态模型仍然能够提供相当的特征挖掘能力。此外,该PHM平台旨在为维护工程师提供智能决策建议,使他们能够合理可靠地操作和管理设备。为了实现这一目标,将大语言模型进一步引PHM平台。模型获得的健康状态信息被输入到语言模型中,语言模型随后生成最终的决策建议。此外,语言模型还充当PHM平台与维护工程师之间的交互媒介,便于方便高效的信息交流。因此,所提出的通用PHM平台有望成为PHM领域的核心工具,在提高工业设备健康管理效率和降低维护成本方面发挥关键作用。

    图11 以高速列车PHM应用为例,给出了通用PHM平台的原理图

    7 总结

    目前,深度学习研究正在经历一场新的革命,即从单模态、单任务和有限数据的研究范式(AI-1.0)迅速发展到多模态、多任务、海量数据和超大模型的研究范式(AI-2.0)。AI-2.0侧重于开发具有跨域知识的大模型,这些模型在大规模数据集上训练后能够展现出强大的泛化和多任务能力。为此,本文全面概述了大模型的三个主要技术要点,并分析了其在自然语言处理和计算机视觉领域的研究现状。文献综述表明,在PHM领域对大模型的研究严重不足,对于如何构建适用于PHM应用的大模型尚无可行的解决方案。因此,本文从数据集、深度模型、学习算法和数据融合四个方面全面回答了如何构建适用于PHM领域的大模型。最后,本文试图从更广泛、更全面的角度讨论大模型的挑战和发展路线。  

    值得一提的是,大模型的发展涉及众多技术,由于篇幅限制,本文未涵盖一些技术,如大模型的训练方法、大模型的微调方法、提示学习技术、强化学习等。本文致力于从多任务和多模态的角度概述PHM中的大模型。然而,这些技术更侧重于模型的训练优化方面,因此本文未涵盖它们。另一方面,这些技术对于构建大模型也至关重要。在未来,我们将进一步分析和探索大模型的训练和优化技术。总体而言,本综述系统地介绍了大模型及其在PHM中的研究现状、挑战、解决方案、路线和前景,有望为该领域的未来研究提供有价值的指导。


    编辑:陈宇航
    校核:李正平、陈凯歌、赵栓栓、曹希铭、赵学功、白亮、任超、海洋、Tina、陈莹洁、王金、赵诚,肖鑫鑫
    该文资料搜集自网络,仅用作学术分享,不做商业用途,若侵权,后台联系小编进行删除


    来源:故障诊断与python学习
    ACTSystemSLM振动化学旋转机械通用航空航天核能电力ANSALMS声学理论电机人工智能数控
    著作权归作者所有,欢迎分享,未经许可,不得转载
    首次发布时间:2025-03-12
    最近编辑:4小时前
    故障诊断与python学习
    硕士 签名征集中
    获赞 77粉丝 93文章 180课程 0
    点赞
    收藏
    作者推荐

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

    本期给大家介绍一个同步电机故障的振动和电流公开数据集。论文链接:通过点击最左下角的阅读原文进行在线阅读及下载。论文基本信息论文题目: 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 TdmsFileconfig = { "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包含两个组,每组包含两个通道。下面读取一个文件进行示例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_ampfor 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学习

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