APP下载

基于TDengine的机械设备边云协同健康监测系统设计

2023-09-03叶宗真余凯伟张佳卿周锦龙

兵器装备工程学报 2023年8期
关键词:轴系云端边缘

叶宗真,余凯伟,张佳卿,吴 军,周锦龙

(1.华中科技大学 船舶与海洋工程学院, 武汉 430074; 2.上海计算机软件技术开发中心, 上海 201112)

0 引言

目前应用于船舶海洋、航天航空、风力发电等领域的机械设备越来越复杂,自动化和智能化水平越来越高,其组成的齿轮、轴承等关键部件一旦损坏,轻则导致运行异常、整机停机,重则导致人员伤亡[1-4]。因此,迫切需要开展机械设备健康监测。随着物联网技术飞速发展,其将信息感知、网络通信和智能运算结合起来,能够对设备状态信息进行采集的同时,进行状态数据处理并对结果做出反应,有利于开展设备状态监测[5]。目前,传统的基于云计算的设备健康监测系统中,边缘终端本身通常没有计算能力,需要将采集的数据发给云端,依托云端的计算资源进行计算,得到诊断结果,再通过网络下发给终端[6]。在该模式下,如果网络一旦出现中断,边缘终端与云端的交互将无法进行,影响到监测系统的正常运行。为了解决此问题,边缘计算被提出,即把部分的存储和计算资源从云端下沉到边缘端,终端独立地进行数据存储、分析和应用[7],进而大大的减少时间延迟与通信成本。然而,考虑到成本等因素,部署在边缘侧的智能终端的CPU、内存等硬件资源和算力通常很有限。随着工业上高频产生且与时间密切相联系的工业数据大量涌入,常用的关系型数据库及非关系型数据库在资源开销、时间延迟、运维成本方面逐渐暴露出不足[8],对于边缘侧来说,能否在有限的资源下,实现最高效的数据存储、分析就显得尤为重要。

机械设备运行过程中产生的数据有很明显的特点,通常都是具有时间戳、结构化的时序数据。因此,边缘侧数据存储的最佳选择即采用时序数据库。但如InfluxDB、Cassandra、OpenTSDB等时序数据存储引擎对于边缘侧来说过于繁重,运行时的硬件资源开销过高[9]。TDengine是由涛思数据公司自研的一款新型时序大数据处理引擎,其核心功能是一个高性能的时序数据库。此外,还包含了数据缓存、订阅、流计算及消息队列等功能,为时序结构化数据存储及分析处理提供了个一站式的解决方案,大幅降低开发成本。更重要的是,其整个安装包只有2M多,极其轻量化。在时序空间大数据处理上,TDengine采用列式存储及无锁的设计理念,大大地提高了数据压缩、存储和查询的效率,比现有数据库提升了十倍的读写性能。此外,TDengine还具备先进的集群能力,可以不依赖硬件使数据库实现水平扩展。

出于其高效、快速的各项优点,许多高校与企业都开展了对TDengine的研究与应用。浙江大学的叶建辉[10]设计了一种基于工业物联网的水泵产品远程检测系统,使用TDengine对水泵参数信息进行实时存读。国网电力科学研究院的董雪等[11]研究了基于TDengine的智能电网监控系统数据存储方法,介绍了TDengine在设备建模的设计细节和实现方法并加以验证实现。中国地震台网中心使用TDengine数据库存储地震时产生的波形数据,验证了其具备高压缩率、存储量大、查询迅捷的性能。大疆智能车载平台采用TDengine对车辆传感器产生的数据进行存储分析,并且TDengine较好地在响应时间、插入性能、运维成本及服务器负载上满足了业务需求。

为此,本文中基于TDengine时序大数据处理引擎,采用微服务架构,设计与开发一套机械设备边云协同健康监测系统,用于监视设备的运行情况,进而可以高效地管理监控资源。该系统采用边缘智能终端、云计算中心和 Web 客户端的模式,将传感设备集成到计算机系统中,允许在现有网络基础架构中远程感知和控制监测对象,克服传统监控软件移植性差、无法随时监控等缺点,工作人员只需在浏览器就可以对设备的运行状况进行监测。

1 机械设备边云协同健康监测系统设计

1.1 需求分析

1) 数据采集

数据采集功能是设备健康监测系统进行数据应用、分析和决策的基础[12]。在大数据技术被广泛应用的背景下,为了通过各种智能算法进行设备的健康监测,要求系统能够将采集的数据转化为统一的格式并在本地进行存储,进而为设备的健康监测提供及时、详尽的数据支撑。

2) 边缘计算

对于设备的长期监测,云平台和设备之间的网络通常是不稳定的,边缘设备可能长时间处于离线状态[13]。为实现对设备的健康监测以及后续的故障诊断,所设计的系统需要对实时采集的数据在边缘侧进行系列处理,包括去奇异值以排除环境噪声因素,同时提取信号中的时域、频域及时频域特征,根据设备故障特性完成相应数据分析。

3) 边云协同

目前的应用和算法都是基于现有的技术和实际问题开发而成的,不可避免的会存在一些不足。随着设备运转时间的增加,设备会出现老化的现象,表现出来的故障特性也不一样,从而导致之前所部署的算法诊断效果不佳。因此,系统设计时应当考虑到后期的维护与更新需求,能够进行远程管控、远程升级,具有良好的可扩展性,进而为故障监测、预测与维护做好保障。

1.2 基于TDengine的边云协同健康监测系统总体架构

如图1所示,基于TDengine的机械设备边云协同健康监测系统总体架构从下至上依次分为设备层、传输层及云平台层3层。

图1 设备边云协同健康监测系统总体架构

1) 设备层

设备层主要是指监测对象以及安装在设备上的传感器等现场设备。负责对设备运转过程中产生的各种数据进行采集,为后续数据传输及存储做好第一步技术储备。

2) 传输层

传输层即为边缘智能终端,其主要作用是进行数据传输、协议转化、数据存储以及接收云端下发的模型。在靠近设备的地方运行一些数据采集、协议转化以及数据处理的应用,并在设备发生异常时将告警信息传输至云平台。

3) 云平台层

云平台层即云计算中心,拥有大量的计算及存储资源。负责运行数据备份、算法模型训练、模型下发、应用更新以及数据可视化等不需要快速响应的应用程序。用户通过浏览器登录设备健康监测系统,不受时间空间限制,即可实现对设备的状态监测与故障诊断。

1.3 系统功能模块

机械设备边云协同健康监测系统的功能模块如图2所示,主要包括用户管理、设备管理、数据管理、数据处理、模型管理和模型应用等模块。

图2 设备边云协同健康监测系统功能模块

1) 用户管理模块:包括用户注册、登陆以及密码找回3个操作。用户可以通过点击注册按钮,设置用户名和密码来实现用户注册。用户登陆是通过输入用户名和密码进入系统界面。当用户忘记登陆密码时,可通过密码找回操作,重新设定密码。

2) 设备管理模块:包括设备认证、设备删除以及设备控制3个操作。其中设备认证是通过边缘智能终端向云平台发送经加密过的用户名和密码,云端解密之后,判断用户名与密码是否符合预设好的认证规则来实现设备接入[14]。设备成功接入之后,用户可以从云端向边缘设备发送指令,实现远程管控。设备删除是通过点击删除将设备移出系统。

3) 数据管理模块:包括数据收集、数据查看以及数据导出3个操作。其中数据收集是将所采集的原始数据以及健康状态信息保存至系统数据库。数据导出操作是从系统导出数据至本地计算机以供后续进一步分析,支持导出的数据格式为csv和excel两种文件格式。

4) 数据处理模块:包括数据预处理、数据切分、特征提取3个操作。数据预处理操作可对采集的数据集进行异常值剔除、降噪、平滑等处理。数据切分是对数据集进行取样。特征提取操作是对数据样本进行时域、频域、时频域特征的提取。

5) 模型管理模块:包括模型上传、下发和更新操作。模型上传是将机器学习、深度学习模型的文件上传至云端数据库。模型下发是将模型文件下发至边缘智能终端。模型更新是在云端对部署在智能终端上的模型进行远程更新。

6) 模型应用模块:包括故障诊断和查看结果2个操作。故障诊断操作可以利用训练好的故障诊断模型对设备层产生的实时监测数据进行在线诊断。查看结果操作可以显示实时监测数据及在线故障诊断结果。

2 系统实现

2.1 边缘智能终端

边缘智能终端采用树莓派4B(Raspberry Pi 4 Model B)开发板作为基础硬件平台。该型号的开发板搭载了1.5 GHz的ARM处理器、蓝牙5.0模块以及无线网络模块等,同时拥有1个MicroSD卡槽位、1个Type-C电源接口、4个USB 接口、1个千兆级网口,运行内存为8 GB。除此之外,树莓派还需要操作系统的支持才能进行基本的使用与开发,本文中选用的操作系统为Ubuntu mate 20.04 for Raspberry-Pi。为了实现资源的管理,在智能终端软件部署时采用Docker容器虚拟化技术,让边缘智能终端的资源得到更充分、合理的应用[15]。基于Docker容器虚拟化技术搭建的边缘智能终端的架构图如图3所示,能够为设备健康监测系统提供容器化的边缘计算平台,进行容器化应用的部署,进而利用边缘计算的相关技术对设备进行智能化监测。

图3 基于Docker容器技术的边缘智能终端架构

2.2 云端Web平台

云端平台采用B/S架构来进行开发,Web平台的整体架构如图4所示。技术上使用主流的Vue.js+Springboot框架来实现Web应用的前后端分离,使得项目前后端分工明确,降低系统耦合,方便后续进行系统维护和升级。数据源上使用Mybatis持久层框架来整合TDengine与MySQL双数据源。其中,TDengine作为主数据源用来存储边缘智能终端上传的设备监测数据及健康状态信息,其他数据信息比如用户、设备等信息等采用关系数据库MySQL作为从数据源来进行存储。

图4 云端Web平台整体架构

2.3 边云协同策略

通常来说,云端拥有更多的计算资源,而边缘端拥有更低的时间延迟。由于机器学习、深度学习在模型训练过程中需要大量的计算和存储资源,不适合在边缘端进行模型训练。因此,本系统采用“云上训练,边缘推理”的边云协同策略,充分发挥云端与边缘端各自的优势。

图5为云边协同过程中的数据流转过程。通过布置在设备待检测处的传感器采集设备运行数据,数据首先通过Modbus协议传输至网关处进行从Modbus编码格式至MQTT编码格式的协议转换。之后,到达边缘MQTT消息服务器EMQX,数据传输至EMQX之后分为两路:一路通过EMQX的规则引擎功能发送至TDengine实现原始数据的存储,TDengine会根据所设置的数据保存天数定期清除旧的数据。另一路发送到边缘计算单元经数据预处理之后进行故障诊断,得到诊断结果,并将结果上报至云平台。此外,由于边缘智能终端资源有限,所能存储的数据量也有限,因此还是需要向云端上传数据,做数据备份和协同。云端利用这些数据进行算法模型的迭代训练与更新,训练完成的模型再下发至边缘智能终端进行模型的远程升级,至此完成一个学习闭环。

图5 云边协同数据的流转过程

3 案例分析

3.1 船舶推进轴系实验台及其健康监测

本文中以船舶推进轴系为对象开展健康监测,所选取的采集对象为轴系的振动信号。如图6所示,轴系试验平台由驱动电机、传动轴、磁粉制动器、滑动轴承、推进轴承和联轴器等组成。其中驱动电机用来提供轴系驱动力,磁粉制动器用来模拟轴系运行过程中的阻力。驱动电机型号为YS7124的异步电动机,额定功率为0.37 kW,额定转速为1 400 r/min。磁粉制动器型号为FZ50J,额定转矩为50 N·m。

图6 船舶推进轴系实验台简图

试验平台上一共设置了3个状态数据监测点,分别在轴系左侧、中间及右侧轴承处,所采集的方位点分别是左侧X、Y、Z三相以及中间与右侧的Z相。试验过程中,振动传感器的采样频率为1 500 Hz,轴系试验台的转速为300 r/min,每次试验的运行时长为2 min。运行状态包括正常、轴系不对中和轴系不平衡及支撑松动。

3.2 数据采集

1) TDengine数据表创建

TDengine数据表的设计思想是针对每个产生数据的设备,都建立与之相对应的关系表,因此每张表只有一个数据写入者,实现了无锁设计。同时TDengine 要求表的首个字段为时间戳数据,并将其作为数据的唯一标识符建立索引,这样表的数据为时序数据,数据写入时就可以采用追加方法进行,提高写入速度。该系统推进轴系实验台的表结构如表1所示。

表1 实验台数据表结构

2) EMQX资源创建

如图7所示,进入EMQX规则引擎板块,选择资源,创建连接TDengine数据库的一个Webhook资源,填写TDengine的URL地址及连接池大小、请求超时时间、请求内容格式、请求头等信息。配置完成之后,点击测试连接,显示连接可用后完成资源创建。

图7 EMQX资源创建

3) EMQX规则创建

资源创建完毕后,进入规则板块,进行规则的创建,如图8(a)所示,首先使用规则SQL语句定义数据筛选方式,图8中的SQL语句代表从“neuron/zhouxi/upload”MQTT主题中筛选出payload.values数据,即所采集的轴系振动信号的各个参数,数据格式为Json。接着,添加响应动作,如图8(b)所示,选择动作为“发送数据到Web服务”,关联到之前所创建的EMQX资源,在消息内容模板中,使用${}语法来提取上文所设置的条件SQL语句所筛选出来的数据,与TDengine表数据写入语句相结合,即为响应动作。

图8 EMQX规则创建

最后,开启实验台,使船舶推进轴系处于转动状态,在采集的同时用Grafana连接边缘智能终端上的TDengine对轴系数据进行监控,依靠SQL语句分别将各通道收集的数据展示在图表中,直观展示轴承各处振动情况。图9即为采集过程中振动信号的实时展示情况,由图9可见,通过Grafana的图表展示,能够在故障发生时通过振动信号的明显对比及时发现与排除,验证了系统具备数据采集功能。

图9 振动信号实时展示情况

3.3 边缘计算

在云平台的Web客户端中,首先根据历史采集数据进行模型的迭代训练,本文中采用深度残差收缩网络(deep residual shrinkage network,DRSN)进行模型训练。深度残差收缩网络是由赵明航等[16]提出的一种新型深度学习算法,在机械传动设备的故障诊断中具有良好的应用效果。DRSN通过在深度残差网络(ResNet)之上引入软阈值函数和软注意力机制,将软阈值作为非线性变换层嵌入到深层结构中,突出重要特征同时可以抑制非重要特征的影响,在高噪声、高冗余数据的场景下非常适用。

DRSN所引入的软阈值函数为

(1)

式中:x为输入特征;y为输出特征;τ为阈值。软阈值函数将接近于零值的特征置零,而并未在ReLU激活函数中将负值特征直接置零,这样可以保留有用的负值特征,其导数为:

(2)

训练完成后,用测试集对模型进行精确度测试,预测故障并计算准确率。模型的预测混淆矩阵如图10所示,可见该模型的故障分类准确率可达99.54%,满足实际应用需求。

图10 模型预测混淆矩阵

接着,进入模型管理模块,选择所要下发的模型文件以及边缘智能终端(见图11),同时指定其版本号点击确定即可实现下发。其中,版本号是后续进行远程模型更新的依据。

图11 云端模型下发界面

然后,开始采集船舶推进轴系振动信号,利用部署在边缘智能终端的AI应用进行故障诊断。智能终端每次采集到一定的数据量之后就会调用RESTful API接口进行故障诊断,并定期的将诊断的结果通过TDengine数据告警功能TDengine-alert上报至云端平台。如图12所示,使用远程连接工具XShell连接边缘智能终端查看运行日志,可以直观地看到轴系的实时故障诊断结果,验证了该系统具有边缘计算的能力。

图12 边缘智能终端实时诊断结果

3.4 边云协同

进入云平台的设备管理模块,如图13所示,选择船舶推进轴系所对应的边缘智能终端,在云端的Web界面通过下发MQTT指令即可对船舶推进轴系进行开关状态的切换及运行挡位的控制。

图13 设备管理模块

点击设备详情,如图14所示,在设备运行状态面板与监测统计面板可以直观地看到边缘智能终端回传的船舶推进轴系健康状态信息、标签信息以及振动信号,验证了该系统具有边云协同的能力。

4 结论

1) 为提高机械设备时序监测数据的处理能力与效率,降低设备运维成本与难度,本文中基于物联网通讯、嵌入式、云计算、边缘计算以及 Web 应用开发等,设计并开发了一套基于TDengine的设备边云协同健康监测系统,系统包括边缘智能终端和云端APP应用。

2) 以船舶推进轴系为对象,验证了该系统的主要功能。测试结果表明,该系统可对采集的轴系监测数据在边缘侧进行实时分析处理,及时有效地检测轴系故障,并将轴系运行数据及健康状态信息推送到云端APP应用,实现了对船舶推进轴系的健康监测与诊断。

猜你喜欢

轴系云端边缘
卧式异步电机轴系支撑载荷研究
云端之城
双机、双桨轴系下水前的安装工艺
美人如画隔云端
一张图看懂边缘计算
行走在云端
云端创意
轴系校中参数与轴系振动特性相关性仿真研究
基于ANSYS的高速艇艉轴架轴系振动响应分析
在边缘寻找自我