💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
文献来源:
摘要
越来越多的组织正在尝试安装用于CNC机床的工具健康分析仪表板,以避免意外故障,保持加工精度,并优化工具更换。本文旨在开发一个网络物理生产系统框架,用于智能工具健康管理系统,为管理者/操作员提供最佳切削参数,以优化剩余可用寿命和/或在预定表面粗糙度下的材料去除率(单独或同时)。实现这一目标的方法包括:(i)开发机器学习算法来预测切削工具的剩余可用寿命,(ii)回归模型来规定最佳切削参数,(iii)用于异常检测的机器学习算法,以及(iv)基于知识的系统,用于芯片状态和刀具寿命曲线。实验基于Taguchi L-27正交阵列设计和进行,采用不同的切削参数组合,在难加工材料(AISI H13工具钢)铣削过程中进行。通过方差分析(ANOVA)、响应表和主效应图的统计分析,分析了切削参数的影响,以根据管理要求规定最佳切削参数。还提出了一种更新关于工具不同健康状态下芯片颜色的知识和信息的新型基于知识的系统。本研究将是朝着通过为从业者提供积极的决策支持工具来帮助他们在工业4.0环境中自信地采用最佳管理和控制策略,从而提高生产率、产品质量并降低维护成本的重要一步。
网络物理系统(CPS)指的是将物理世界与虚拟世界融合在一起,实现强大的计算、协作沟通和先进的分析(Morgan & O’Donnell, 2018)。在制造领域,CPS被描述为网络物理生产系统(CPPS)。CPPS被认为是引领智能制造和工业4.0发展的基本组成部分之一(Ahmed et al., 2021)。CPPS有潜力将生产系统的能力提升三倍(Lins & Oliveira, 2020)。网络世界是相应物理系统的虚拟表示。它可以是数字孪生或基于数据驱动,具有不同的建模和计算能力(Thiede et al., 2016)。建模和仿真可以使用数据挖掘或机器学习技术进行(Rogall et al., 2022)。总的来说,CPPS方法允许集成各种硬件/软件、数据采集、数据分析、仪表板、反馈和控制操作。它还能够实现实时能力、模块化、可重构性和可扩展性(Lins et al., 2020)。
创新和成本效益的传感器、微控制器、网络、数据存储选项等方面的进步正在推动CPPS在工业中的部署。数字应用程序正在从生产系统中产生大量数据,这些数据已经成为制造业中具有重要价值的商品。数据驱动应用程序为制造公司提供竞争优势的潜力越来越明显(Kusiak, 2022)。
📚2 运行结果
scatter_x = np.array(df['Time'])
scatter_y = np.array(df['Power'])
plt.rcParams["figure.figsize"] = (10,10)
plt.rcParams['font.family'] = 'serif'
plt.rcParams['font.serif'] = ['Times New Roman'] + plt.rcParams['font.serif']
fig, ax = plt.subplots()
group = np.array(df.iloc[:1000,3])
cdict = {0:"red",1:"green",2:"blue",3:"purple"}
for g in np.unique(group):
ix = np.where(group == g)
ax.scatter(scatter_x[ix], scatter_y[ix], c = cdict[g], label = g, linewidth=0.1,edgecolors='black',s = 50)
l=ax.legend(prop={"size":20})
plt.title('Characterization performed using GMM-HMM algorithm\n',fontsize=22,weight='bold');
plt.xlabel('Time(seconds)',fontsize=20,weight='bold')
plt.ylabel('Active Power(Watt)',fontsize=20,weight='bold')
plt.xticks(fontsize=13,weight='bold')
plt.yticks(fontsize=13,weight='bold')
l.get_texts()[0].set_text('Machining')
l.get_texts()[1].set_text('Spindle acceleration/deceleration')
l.get_texts()[2].set_text('Standby')
l.get_texts()[3].set_text('Layer-change')
plt.show()
scatter_x = np.array(df['Time']) scatter_y = np.array(df['Power']) scatter_x = scatter_x[:1000] scatter_y = scatter_y[:1000] fig, ax = plt.subplots() group = np.array(df.iloc[:1000,2]) cdict = {0:"red",1:"green",2:"blue",3:"purple"} for g in np.unique(group): ix = np.where(group == g) ax.scatter(scatter_x[ix], scatter_y[ix], c = cdict[g], label = g, linewidth=0.1,edgecolors='black',s = 50) l=ax.legend(prop={"size":20}) plt.rcParams["figure.figsize"] = (10,10) plt.title('Characterization performed manually\n',fontsize=22,weight='bold'); plt.xlabel('Time(seconds)',fontsize=20,weight='bold') plt.ylabel('Active Power(Watt)',fontsize=20,weight='bold') plt.xticks(fontsize=13,weight='bold') plt.yticks(fontsize=13,weight='bold') l.get_texts()[0].set_text('Machining') l.get_texts()[1].set_text('Spindle acceleration/deceleration') l.get_texts()[2].set_text('Standby') l.get_texts()[3].set_text('Layer-change') plt.show()
部分代码:
import numpy as np import pandas as pd import matplotlib import matplotlib.pyplot as plt import seaborn as sns from statsmodels.tsa.ar_model import AutoReg from sklearn.metrics import mean_squared_error from math import sqrt from hmmlearn import hmm
In [2]:
def graph(df): scatter_x = np.array(df['Time']) scatter_y = np.array(df['Power']) plt.rcParams["figure.figsize"] = (8,6) group = np.array(df['Labels']) cdict = {0:"red",1:"green",2:"blue",3:"purple"} for g in np.unique(group): ix = np.where(group == g) plt.scatter(scatter_x[ix], scatter_y[ix], c = cdict[g], label = g, s = 6.5)
In [3]:
def process(data): data = df.loc[df['Labels']==0] data.reset_index(drop=True,inplace=True) data['Time']=pd.to_datetime(data['Time'],unit="s") data.set_index("Time",inplace=True) return data[['Power']]
🎉3 参考文献
文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。