王 靖
(华能澜沧江水电股份有限公司,云南省昆明市 650000)
水电是我国清洁能源的重要组成部分,为保障水电机组稳定运行,水电机组及线路需要定期进行检修。随着信息技术的发展,智慧电厂技术不断发展,智慧检修技术作为智慧电厂建设的重要组成部分,成为水电信息技术创新的重要课题。
在智慧检修技术的初期,研发人员专注于检修生命周期的管理[1],但是这些系统智能程度依旧不高,易用性有待发展。为了加强智能检修系统智能程度与自动化程度,减轻运维人员的工作负担。目前,智慧检修的研究方向主要集中在如何将人工智能技术与大数据技术引入检修过程管理中。[2]
本文提供一种智慧检修系统的架构设计与技术细节。该系统集成了人工智能、大数据、AR 等多项前沿技术,在前人的基础上,创新性地使用了AR 这一沉浸式的人机交互接口,提供检修数据与故障信息的“所见即所得”,并提供了远程协助等功能。同时,该系统通过分布式集群实现了高效、健壮、灵活的深度学习计算平台,使得人工智能可以运用到检修故障排查中。
(1)检修生命周期管理:运维人员通过管理终端可以提前规划检修方案、实时查看管理检修进度、协调各专业人员配合。当前的设备情况、系统各项参数、报警情况、检修进度会在大屏上通过可视化的方式显示,方便运维人员快速了解当前检修工作概况。在检修过程中,AR 会记录使用者的信息,并对检修过程实时录像,方便后续取证与归档,检修人员可以随时通过AR 交互记录各种数据,方便系统自动生成检修报告,比手工将数据逐个录入计算机的传统模式更加节省时间。
(2)智慧故障排查:运维人员监控系统报警并找到故障原因后,可在终端中录入故障原因及处理方法。在看到肉眼可见的裂纹、渗漏等设备缺陷时,也可以通过AR 头头显拍摄故障部位照片及记录故障原因、处理方法。以上两类数据会定期输送到大数据集群中进行深度学习。此后监控系统出现报警时,深度学习系统便会报警信息自动推测最为可能的故障原因,并提供解决方案。同时,在AR 头盔拍摄到肉眼可见的设备缺陷时,也可以请求深度学习系统推测故障原因,给出排除方案,并将故障成因和排除方案显示在AR 画面上。
(3)智慧HUD:运维人员戴上AR 头盔后,可以实时看到视野中的设备所具有的参数(如温度、转速、带电情况、IP 地址等)与报警信息。帮助运维人员更加安全、便利进行检修工作。
(4)AR 远程指导:由于专家或有经验的运维人员可能不能及时来到检修现场,该系统允许专家通过客户端查看AR头显的摄像头,通过语音通话与画面标注的方式指导经验不足的运维人员进行检修工作或提供技术支持。
部分功能的示意图如图1 所示。
图1 智慧检修示意图Figure 1 Schematic diagram of intelligent maintenance
由于该系统包含计算集群与多个终端,结构较为复杂,所以在设计与实现时,应该采取分层的方案,并尽可能减少层级间的依赖关系,使得各层级的开发可以并行开展,运维可以分离进行[4]。系统共分为应用层、数据流层、持久层、物理层四层,如图2 所示。
图2 智慧检修系统分层Figure 2 Layered intelligent maintenance system
下面分别介绍每个层级的组件与功能。
1.2.1 应用层
应用层包含一系列建立在一定运行机制、存储与计算框架上的用户可见的应用。为了适应灵活多变的需求与动态变化的环境,这些应用应该满足API 简单、使用高级程序开发语言(如Python,Java)开发、开发周期短等特点。运维人员通过应用层对系统进行使用与管理。
下面是本系统应用层的组成部分:
(1)AR 应用:提供AR 使用者与增强现实空间交互手段的一系列程序。包括自动录像、HUD 显示、远程指导、故障管理、检修记录等程序。使用AR 硬件厂商提供的API 及Unreal 等引擎开发。
(2)深度学习应用:用于处理用户标注,利用模型进行推理,定期训练深度学习模型等业务。使用Python 进行开发。对于时序数据(如标记了故障原因的报警信息)可以使用长短期记忆神经网络(LSTM)进行训练。对于图像数据(如设备缺陷画面)可以使用卷积神经网络(CNN)进行训练。同时,可以对报警信息进行简单的无监督训练,如K-Mean 聚类。
(3)可视化应用:基于B/S 架构的用户友好的前端,该前端通过Ajax 等技术异步更新需要可视化的数据或消息,并通过Echarts 等可视化框架向用户展示可视化图表与消息(如故障信息等),可使用HTML、JavaScript 进行开发。
(4)大数据管理应用:大数据管理应用运行在分布式集群的Master 节点上,用于管理计算资源与存储资源、数据输入/输出流、数据冗余备份,以及训练好的机器学习模型。并能在数据进入深度学习模型之前提供预处理服务,可使用Java 或Scala 开发。该应用应该由监控专业人员使用。
(5)系统管理应用:基于C/S 或B/S 架构的管理程序,辅助管理员对AR、深度学习、可视化等模块进行配置与统一管理,提供对整个检修生命周期各组事件规划管理追踪的功能。该应用应支持多个用户权限等级,并自带离线调试、日志审计等功能,可使用Java 或C 语言进行开发。该应用供运维人员使用。
1.2.2 数据流层
数据流层包含了进行数据分发、消息机制、数据预处理、计算调度、深度学习所需的框架和运行环境。应用层的计算业务和传输业务需要建立在数据流层上运行。引入这样一个中间层的目的是为应用层开发者提供一系列软件基础设施,这些软件基础设施与应用是解耦合的,这就分离了计算资源的管理与业务的管理,大大减少了系统运维人员的负担。
下面是本系统数据流层的组成部分:
(1)流数据计算引擎:这里使用Flink 作为流数据计算引擎,该引擎在数据管理应用的调度下,会将所有实时数据进行预处理(如分组、分窗等),并向特定的深度学习模型发送,并输出模型推理结果。
(2)历史数据计算引擎:这里使用Spark 作为历史数据计算引擎,该引擎在数据管理应用的调度下,会定期将标注好的历史数据经过抽样、聚类等预处理后辅助深度学习应用进行模型训练,并在计算过程中调度用于深度学习的计算资源。
(3)深度学习环境:为深度学习应用提供基础框架,提供神经网络等模型的训练、预测、构建的底层支持。可以使用TensorFlow 或PyTorch 构建。
(4)消息机制:为应用层不同业务之间,应用层与数据流层之间提供跨节点的消息分发机制,用于通信、控制与消息告知。使用Kafka 进行构建。
1.2.3 持久层
持久层包含大数据集群的存储管理、节点管理及硬件资源管理,数据(仓)库,程序所需的运行环境,操作系统等软件基础设施,该层为上一层的计算调度提供资源支持、存储支持以及环境支持。一般在配置并部署好之后不会轻易变动。除非发生故障或硬件资源不足,运维人员无须特别关注本层。
(1)永久数据仓库:用于存储AR 录像、通话录音、检修文件、监控报警记录、深度学习模型备份等需要长时间存储的数据内容。可基于MySQL、达梦(适合表格类数据)、Hive(适合非结构化数据)等多种数据(仓)库部署。
(2)大数据集群:该集群基于谷歌的大数据框架Hadoop部署,运行在多台计算能力高的硬件设备上,使用HDFS 文件系统组织各个节点的数据,由Zookeeper 进行协调、同步。所有参与运算的数据和深度信息模型都存储于集群上等待数据流层调度。
集群由Master 节点与多个Slave 节点构成,采用主-从分布式架构。大数据管理应用应该运行在Master 节点上。
(3)其他软件基础设施:操作系统(Windows、Linux、银河麒麟等),Java 虚拟机,Python 环境等。
1.2.4 物理层
运行系统的物理终端与连接终端的网络设备,主要包含以下组成部分:
(1)网络设备。包含横向隔离、纵向加密、防火墙等安全设备与交换机、路由器、物理链路等传输设备。
(2)AR 设备。可选择Rokit、Nreal、雷鸟等厂商提供的AR 头显。
(3)大数据集群服务器及其机架、机柜:包含高性能GPU、大容量固态硬盘等组件。
(4)永久数据仓库服务器及其机架、机柜:用于部署永久数据仓库。推荐在原有历史数据服务器、数据采集服务器的基础上进行扩展。
(5)显示终端与管理终端:显示终端可以使用LED 大屏或台式电脑。管理终端可以使用台式电脑。
本系统的业务逻辑如图3 所示。
图3 智慧检修业务逻辑Figure 3 Smart maintenance business logic
接下来对图3 中的业务逻辑进行说明,括号内为图3 中箭头的序号:
监控系统向显示终端(1)和永久数据仓库(2)传送实时数据,显示终端将其可视化展现给运维人员,而永久数据仓库则将其存储在数据(仓)库内。与此同时,一部分摘要性的永久数据也会被送到显示终端可视化展示(14)。
深度学习应用定时发起历史数据训练任务,该任务将历史数据发送到大数据集群(3),Master 节点上的大数据管理应用开始调度计算资源进行模型训练(4),更新存储的模型。
当监控系统发出报警(5)或AR 头显拍摄了设备缺陷照片(8)时,深度学习应用发起流数据推理任务(6),大数据集群中的模型推理出可能的故障原因后,会在显示终端(7)和AR 头显(12)上显示。
在检修时,AR 会实时录像并上传至永久数据仓库(10),监控端的实时设备参数(9)和永久数据仓库的永久设备参数(11)也会上传至AR。远程专家通过AR 与运维人员沟通,并通过共享屏幕的方式实时指导检修工作(13)。运维人员通过管理终端管理整套系统(15)。
增强现实(AR),是一种实时地计算摄影机影像的位置及角度并加上相应图像的技术,是一种将真实世界信息和虚拟世界信息“无缝”集成的新技术,这种技术的目标是在屏幕上把虚拟世界套在现实世界并进行互动[5]。典型的AR 设备如图4 所示。
图4 AR 设备及其使用示意图Figure 4 AR device and its usage diagram
AR 作为现实与虚拟的融合,天然适合HUD 的显示。目前市面上的AR 产品多数据有详尽的针对不同编程语言的开发接口以及即插即用的集成模块(如物体识别等),AR 开发者只需要与其他系统做好文档上的约定,便可以JSON、XML 等数据序列化模型便捷地进行通信,降低耦合程度。
从水电检修实用性的角度来说,AR 头显比起VR 头显更加轻巧、便于佩戴,可做成眼镜样式,不干扰安全帽的佩戴与检修工作的正常进行,实践中具备较高的可行性。
数据处理是智慧检修系统,甚至是目前智慧工业系统的主流研究对象,物联网、边缘计算、人工智能、大数据等新兴技术都在围绕着数据的传送、存储、变换、利用展开。本节将详细阐述智慧检修系统数据处理技术的具体细节。
分布式系统是大数据的一大特征,也是未来数据中心的主流发展方向。本系统的分布式集群为“主—从”式,由一台运行着大数据管理应用的主机担任Master 节点,该节点管理着若干台高性能服务器作为Slave 节点参与并行计算与存储。
3.1.1 分布式存储技术
分布式存储技术主要运用在永久式数据仓库、大数据集群上。数据弥散在集群的各个节点上,具有多份存储于不同节点上的备份,比起传统数据库有较好的容错率和组织性,即使一两台机器宕机也不会影响系统运行。数据仓库是面向主题的,持久层开发者应该考虑数据的高效组织,方便数据流层进行数据分析。[6]
3.1.2 分布式计算技术
分布式计算技术比起传统计算的好处是并发性强,在硬件性能不高的前提下能够保证计算速度高,比起传统计算数据移动到计算节点的模式,计算在数据节点中移动的模式对于大数据来说更为快捷。[7]
深度学习技术作为人工智能技术的重要组成部分,将作为智慧检修系统的“大脑”辅助运维人员排查故障,其主要模型为两类神经网络,下面将分别介绍。
3.2.1 卷积神经网络(CNN)
卷积神经网络是一种适合做图像识别的神经网络,由卷积层、池化层、全连接层组成。其中,卷积层会使用卷积核(本系统推荐使用高斯核)与图像做哈达玛积,提取图形中的特征点,并经过池化层放大特征后输出给全连接层进行分类。CNN 结构如图5 所示。
图5 卷积神经网络Figure 5 Convolutional neural network
在本系统中,可以使用CNN 的实例AlexNet 作为图像数据的主要训练模型,该模型由Geoffrey 与Alex 在2012年提出[8],AlexNet 通过DropOut 等方式对CNN 进行了改进。这一模型输入设备缺陷图片,输出可能的故障类型。在实际使用过程中可以用已有数据预训练一个模型再投入使用。
3.2.2 长短期记忆网络(LSTM)
长短期记忆神经网络是一种门控的循环神经网络,适用于时间序列数据。该神经网络在循环神经网络的基础上为了保留序列中较为久远的影响因子,引入了遗忘门、输入门、输出门进行控制,能够保留序列中的长期因子与短期因子对序列发展的作用。LSTM 结构如图6 所示。
图6 LSTMFigure 6 LSTM
在实际生产环境中,一个故障往往会引发多个监控系统报警信号的发出,这些信号在时间上可能较为密集,也可能较为弥散,有些故障对报警信息的影响可能是隐性的,关系不明显。例如某电厂多个LCU 与远程I/O 系统发出一般报警,经过调查,报警原因为上位机SCADA 服务器时间不同步,该原因看似与报警信息毫不相干。而经过训练后,LSTM 能够通过报警信息较为准确地推测故障成因。[9]
本文在前人的经验下,探讨了一种融合AR、深度学习、大数据等新兴技术的创新型智慧检修系统,突破了水电智慧检修直观程度、智能程度不足的壁垒,并从功能、层级结构、业务逻辑、技术细节等方面阐述了该系统的相关内容。
尽管本系统创新性强、实用性高、可扩展性好,但仍然存在许多可以改进的地方,例如实际生产环境中的报警数量可能较少,这会导致模型泛化性能不佳,一个可行的解决思路是将多个电厂的数据集中到一个远方的数据中心进行模型训练与集群管理[10],这也将成为该系统后续改进的主要方向。