ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

机器人诊断系统十年演进:从人工排查到数据驱动与智能预测

机器人诊断系统十年演进:从人工排查到数据驱动与智能预测 2013年夏天我在焊装车间轮到夜班刚泡好面对讲机里就传来一声吼七号工位机器人报警线停了。我拎着万用表和一卷图纸跑到控制柜前蜂鸣器亮着红灯示教器上的故障码是伺服偏移过大。翻了两百多页报警手册查了端子排量了一圈电压最后发现是编码器线被焊渣烫破了一点点皮时断时连。这台机器修了四个小时产线停了一整夜。那会儿的机器人诊断系统说穿了就是控制器、报警码、万用表、示教器外加老师傅脑子里的经验。十年过去再回头看诊断这件事从工具到架构、从理念到边界已经完全是另一个物种。我正好完整经历了这个阶段想把这十年的演进路径、技术节点、以及我们用真金白银换来的教训一次性梳理出来。对正在做自动化产线运维、设备健康管理、或者想给机器人系统搭诊断平台的同行应该有点参考价值。1. 诊断系统这十年到底在解决什么问题先捋个基本盘。机器人诊断系统不是我某个软件或某块硬件它是一整套让设备故障变得可知、可控、可预测的机制。拆开看无非三个层次故障检测出了问题能发现故障定位出了问题知道哪坏了故障预测还没出问题就先预警。十年间所有技术迭代本质上都是围绕这三个层次做文章。早期系统能把第一层做好就谢天谢地了。说个直观的数据2013-2015年我做产线维护的时候一次非计划停机的平均排查时间在三小时以上其中大半时间花在确认故障到底是什么上。现在同样级别的故障很多在报警弹出来的时候就已经定位到具体轴、具体电机、甚至具体到哪一根线缆的哪一段。这个体验差别比手机从功能机换到智能手机还夸张。我把这十年粗分成三个阶段。第一阶段是手工诊断时代靠硬IO信号、报警代码和人工排查主动检测手段很少检测到了也经常误判。第二阶段是总线诊断时代现场总线和工业以太网普及后控制器里的运行数据能远程读出来了监控大屏上能看到实时曲线故障定位从人到现场变成数据到屏上效率大幅提升。第三阶段是数据驱动诊断时代高采样率数据采集、时序存储、机器学习分析逐步落地诊断系统的重心从定位当前故障转向预测未来故障。三个阶段不是替代关系而是累积叠加——现在最成熟的一套体系底层依然在用报警码中间是总线数据上面才是算法模型。很多人以为智能化就是彻底换一套系统实际根本不是它是层层长出来的。这就像盖房子地基还是十年前打的只是上面几层已经完全不同了。2. 手工诊断时代报警码、示波器和老师傅的经验库2.1 那个年代的人是怎么排查故障的早期机器人的诊断能力受限于控制器本身。以我维护过的几类工业机器人为例控制器能给出的诊断信息基本就是两类一是硬IO信号比如急停回路、门开关、安全继电器这些通过端子台上的LED灯一目了然二是控制器内部生成的报警代码伺服过载、编码器异常、通讯超时这类。当时排查故障有一套固定的土办法。第一步先看报警码第二步查报警手册找含义第三步量端子信号——万用表测24V电源有没有来测安全回路通不通测伺服使能信号有没有输出。如果涉及时序问题就得搬出示波器同时抓几个关键信号的波形比对照时序图。遇到间歇性故障就更头疼了没准得在设备旁边蹲半小时就为了等一次复现。做这套工作的核心资产是两样东西。一样是纸质文档端子接线图、报警代码表、时序图厚厚几大本。另一样是老师傅脑子的经验库比如这种焊机干扰下六轴容易误报过载先把滤波参数调了这台老机器人一降温就容易丢原点多半是电池问题。经验库比文档值钱但也比文档稀缺因为它存在人脑子里人走了能力就没了。2.2 手工诊断最致命的三个问题第一个问题是覆盖不全。机器人本体加外围设备几百个信号点人工能盯过来的就那几个关键回路更多故障是靠现场人员闻、听、看、摸撞出来的。电机过热、减速机异响、皮带老化这些渐变性故障报警码根本不会提前触发。第二个问题是对人的依赖太重。我印象很深的是有一次减速机异响返修老师傅一听就说换电机结果换上去还响再查才发现是减速机轴承坏了。这种误诊在当年不是个例而是常态。故障定位能力跟个人经验直接挂钩团队里只要有一个资深工程师休假诊断水平至少降一半。第三个问题是故障难复现间歇性故障尤其如此。焊装车间地线不好偶尔来一次过流报警你查的时候永远好好的一转身又报。这种问题最磨人也最容易被误判成操作工误操作或者干扰最后不了了之等下次再犯。2.3 手工时代留下的遗产到现在依然有用说句公道话手工时代虽然原始但它留下了一套思维方法到今天也没过时。排查任何电气故障顺序永远是先电源、再信号、后负载遇到复合故障先分系统隔离再逐级压缩处理机械电气交织的问题先分清是什么电压下出现、什么载荷下出现、什么温度下出现。这套判断逻辑比我后来接触到的不少高级诊断工具还管用。而且当时画的那些端子接线图、时序图、接地走向图后来做数据采集、装传感器、搭监控平台全都用得上。数据驱动的第一步是传感器装在哪、信号怎么接本质上就是当年硬件文档的数字化延续。所以我对年轻工程师有个建议哪怕现在的诊断系统已经高度自动化也千万别把图纸和报警手册当废纸扔掉它们是你诊断体系的骨架后续所有智能化的血肉都是长在这个骨架上的。3. 总线化和集中监控诊断系统第一次上了网3.1 通信架构升级把诊断数据从控制器里放了出来从2016年前后开始机器人控制器和PLC之间的通信方式大规模从硬IO转向现场总线PROFIBUS、DeviceNet、CANopen是最早一批后来EtherCAT、EtherNet/IP、Profinet大范围铺开再加上OPC UA这类上层数据标准设备间的信息流一下子打开了。这件事对诊断系统的意义怎么强调都不过分。以前想读一个伺服轴的电流值你得拿示波器去信号线上挂电流钳麻烦不说还有风险。有了总线之后控制器内部维护的诊断数据——伺服电流、扭矩、跟随误差、母线电压、驱动器温度、运行累计时间——全都映射成了总线上的标准化对象。上位机软件只需要按协议把数据读出来就能实时看到机器人内部的状态而不只是看几个干巴巴的报警灯。从那以后诊断系统开始从仪表变成软件平台。我记得搭第一套集中监控平台的时候连的是六台ABB机器人和十八条节拍链每台机器人的关键参数以100毫秒周期往数据库里写再做成趋势曲线。第一次在办公室看到几十公里外的车间设备实时曲线的时候你能明显感觉到诊断这事已经从靠在设备旁边听进化到坐家里看数据了。3.2 集中监控系统的典型技术形态这个阶段的系统架构其实不复杂但很实用。数据流大概是这样的机器人控制器和PLC通过总线把诊断参数推送到车间级的采集网关网关做数据清洗和缓存再写入中心数据库上位机监控软件负责可视化。告警模块设了阈值超限就往监控大屏、短信平台、以及后来接入的钉钉/企业微信机器人推消息。我当时最常用的是这么几组参数伺服轴的电流反馈和扭矩指令这两个能直接反映负载变化跟随误差数值异常放大基本就是机械卡滞或者参数失配驱动器和电机的温度过热往往是停机的前兆累计运行时间和启停次数用来估算保养周期。这些参数不复杂但在当时已经能解决很大一部分故障定位问题——线停了不用跑现场先翻曲线基本能猜个八九不离十。3.3 这个阶段最头疼的问题数据有了但还是不会用总线化和集中监控解决的是数据可达性的问题但随之而来两个新麻烦。第一个麻烦是大数据采集的存储成本。当时我们曾经尝试把一台机器人全部轴的伺服电流做到1毫秒采样算了一笔账一个轴一天是8640万点6轴就是5亿多点单台机器人一天的原始数据量就超过1GB。基于这种数据量做长期存储磁盘阵列入不敷出最后只能降采样、做压缩、缩短保存周期。现在回想当时更应该做的是按需采样——平时低频存趋势触发事件后再拉高频记录但那个年代的软硬件条件确实做不到这么聪明。第二个麻烦是告警配置的粗糙。阈值报警看似简单实际上很容易配成摆设。阈值设松了故障都发生了还没预警设紧了一天到晚误报运维人员看几次狼来了就把告警当噪音了。特别是焊装车间这种电磁环境恶劣的地方谐波干扰、地线电位波动都能让电流曲线瞬间跳变直接触发假报警。当时花了很多精力做滤波、做防抖、做死区效果也是勉强能用。有一件事给我教训特别深。车间里一台搬运机器人偶发伺服通讯超时报警当时判断是网络干扰把网线屏蔽、接地都处理了一遍还是有。后来把总线报文抓下来一看发现是某个IO模块的地线虚接导致通讯信号电平漂移偶发超时。看似是总线通讯问题根子其实还在电源地这种最底层的东西上。这事之后我记住了诊断系统上了网但排查思路不能只盯网上基本功还是有用的。4. 数据驱动时代日志、时序数据和机器学习让诊断开始预测4.1 数据基础设施成熟是智能诊断的前提到2020年以后工业数据的采集、传输、存储成本都降到了可以做长期全量记录的水平。高速总线已经能支撑轴数据在毫秒级采样率下稳定传输边缘计算网关可以在现场先把数据过滤加工一遍时序数据库比如TDengine、InfluxDB这一类对高频数据的压缩和查询效率也远非传统关系型数据库可比。同时控制器日志也在同步结构化。过去故障记录就是一行文本最多加个时间戳现在的报警日志普遍支持结构化输出JSON格式或者Syslog协议把故障码、工位号、轴号、参数快照都打成字段。这一步很重要因为结构化日志是后面做故障关联分析的基础——没有标准字段算法再强也是无米之炊。我自己搭诊断平台的过程里最花时间的反而不是算法而是数据管道。从控制器取数、边缘预处理、时序存储、告警计算、可视化、这些环节每一个都有不少坑。给一个直白建议想上智能诊断先把数据管道跑通确保三个月内历史数据能稳定、完整、低成本地存下来再谈算法这个顺序不能乱。4.2 三个真正落地有效的诊断方法说到智能诊断很多人第一反应就是机器学习、深度学习。但以我实际经验真正在车间里稳定产出价值的是下面这三类方法。趋势分析是最朴实也最可靠的方法。把伺服电流、扭矩、温度这类参数按月做均值、峰值、标准差趋势很多故障在几个月前就露出苗头了。比如我遇到过一台六轴机器人的J3轴电流峰值曲线在三个月内缓慢爬升了15%单看每天的数据完全正常但拉长趋势就能看出减速机效率在下降。后来趁着春节停产拆开检查确实发现减速机润滑脂已经劣化。这种慢变量如果不做趋势记录靠人天天盯数据根本不可能发现。阈值加包络加变化率的三层告警比单一阈值靠谱得多。第一层超阈值报警处理突变型故障第二层包络范围报警处理波动异常第三层变化率报警比如电流在五分钟内上升超过20%即使绝对值没超限也提示检查。这个三层结构在抹去误报上效果显著——车间里那种瞬时毛刺触发变化率但很快恢复系统自动降级为提示而不是警报告警运维人员终于能信任系统了。频谱分析在旋转部件诊断上的表现也很成熟。振动传感器信号做FFT变换后轴承故障特征频率BPFO/BPFI这类和齿轮啮合频率会出现明显的边带能量变化。之前给一条装配线的变位机装过一套振动监测提前十一周捕捉到了齿轮磨损信号算下来给客户省下了一次非计划停产的损失。这类方法在高铁、风电领域已经很成熟机器人行业现在还属于能跑但没普及的状态。机器学习在这个阶段更多用于无监督异常检测比如Isolation Forest、One-Class SVM把多维度的运行参数投影到特征空间找离群点。它的价值在于能发现从没见过的异常模式但也正因为没见过解释性差现场工程师往往不信。所以我更愿意把它定位成辅助发现线索最终判断还是人来下。4.3 别把智能诊断神话了它还是有很多边界智能诊断看着热闹真落地的时候阻力比想象大。第一个问题是故障样本稀缺。机器人不像消费互联网有海量数据一台设备一年可能就坏一两次监督式机器学习连训练集都凑不齐。第二个问题是数据清洗和标注占掉八成精力算法开发反而是最轻松的部分。你采集十个月的数据里有效故障窗口可能就几十秒要把这段时间精确标记出来很耗人。还有一个是模型可解释性问题。算法告诉你J2轴异常度97%但你说不清为什么。现场维保人员不会因为一个说不清理由的告警就去拆设备他们需要的是这个轴承外圈可能有磨损建议XX时间段安排离线检查这种可验证、可行动的结论。所以我一直认为诊断系统的输出必须落到可执行的维修建议层面否则再高级的算法也只是个玩具。5. 演进路上踩过的坑和最后沉淀下来的经验十年间做的项目多了踩的坑自然也不少。有些坑是技术层面的有些是管理层面的挑五个最有代表性的经验详细讲讲背后的逻辑。5.1 采样率不是越高越好先想清楚要回答什么问题早期做振动诊断我犯过一个典型错误一开始就把采样率拉满想着数据越多后面分析越方便。结果是存储撑不住网络带宽也告急最后不得不砍。后来学乖了设计诊断方案之前先问一个问题我要用这些数据发现什么样的故障如果是看电流趋势10毫秒采样绰绰有余如果是捕捉轴承早期损伤那振动信号得上20kHz以上而且只需要在设备运行稳定工况下采集一小段不需要全天候全量记录。采样策略跟着诊断目标走这句话是关键。5.2 传感器的安装位置比用什么算法重要得多我们曾经在一台机器人底座上装过振动传感器分析了一个月数据毫无规律机械特征几乎淹没在背景噪声里。后来把传感器移到减速机输出轴附近的壳体上同样的算法信号特征清晰了一个数量级。原理不复杂振动在传播路径中会被结构阻尼衰减底座离振源远、经过的安装界面多特征早就糊掉了。装传感器之前先看机械结构图想清楚信号从哪来、经过什么路径衰减再定位置。这一步比挑什么型号、用什么算法都关键。5.3 告警必须分级不分级的告警等于没有告警很多监控系统上线后最尴尬的局面就是告警太多、没人看。连报一个月运维人员已经把系统当成背景噪音了等到真正重大的报警弹出来也一样被无视。我们的做法是分级设计三级提示只记录不打扰用于趋势观察二级预警推送值班工程师一级告警直接打到产线负责人手机上同时触发停机或者降速策略。宁可多设几级也坚决不搞一刀切。5.4 诊断系统必须跟运维流程打通数据孤岛没有价值能定位故障和能快速处理故障中间还差着一个流程。诊断系统报警说J2轴减速机磨损然后呢维修工单要不要生成备件库有没有对应的减速机预计维修要占几个小时的产线窗口这些环节不打通诊断系统做得再好实际停机时间也降不下来。在做体系化诊断平台的时候我把诊断输出和工单系统、备件库存、保养计划做成了联动效果立竿见影——平均故障修复时间降了将近40%。设备诊断从来不是孤立的IT项目它本质上是运维流程再造。5.5 文档资产千万别丢数据时代更得靠它们我见过一些新团队做智能诊断上来就指望算法连最基础的设备台账和图纸都不齐。这种项目往往做得很飘最后都落不了地。相反十年前那套报警手册、端子图、时序图放到今天依然是诊断规则设计、特征选择的根本依据。好的做法是在采集数据的同时就把设备清单结构化每台机器人的轴数、电机型号、减速机减速比、编码器分辨率、保养记录全部建字段入库。有了这份底层档案后来的所有分析才有坐标系故障定位才能从整台设备缩小到某个部件。6. 从诊断到自愈未来五年的走向和现在能做的准备6.1 诊断系统的下一个目标是自治诊断系统这十年的演进本质上就是故障处理责任从人向系统转移的过程。早期是系统报警、人跑现场中间是系统定位、人确认现在是系统预测、人提前安排维修。下一步逻辑上必然会走向系统决策、系统直接执行——也就是自愈。比如检测到某轴电流异常系统自动降速到安全范围自动通知产线调整节拍自动生成维修工单甚至对于部分冗余配置的设备自动切到备用回路。这不是科幻边缘AI和嵌入式诊断能力发展到今天技术上已经能看到这条路了。6.2 诊断对象在变化难度也在升级值得注意的另一个趋势是机器人正在从单机变成系统。人形机器人、移动机器人、双臂协作机器人、带外部轴的复合工作站这类新形态对诊断系统的挑战是几何级上升的。人形机器人的电气拓扑复杂度远超传统工业机器人几十个关节、上百个传感器、多条通信链路任何一个环节异常都可能导致整机表现异常移动机器人和视觉导航的结合让定位同时具有了物理位置和功能位置两层含义。诊断的重心不再只是哪个轴坏了而可能是哪个传感器的数据让整个控制策略跑偏了。这需要把故障传播路径、数据关联关系这些更上层的逻辑纳入诊断模型。6.3 给同行们的落地建议按这个顺序来如果你现在正准备搭一套机器人诊断系统我的建议是别急着上人工智能。先做三件事第一把关键设备的数据采集链路跑通保证历史数据能稳定留存这是所有智能化的地基第二把设备台账结构化建好端子、参数、部件、保养记录的数据库第三把告警分级和故障知识库建起来。这三件事做完你其实已经超过行业里七八成的团队了。至于预测性维护、机器学习模型、数字孪生那是在这个基础上长出来的枝叶地基不稳一切都是白搭。这些年下来我对诊断系统最大的体会是它的价值不在于技术多先进而在于能不能真的减少停产时间、降低维修成本。机器人本体、控制器、总线和算法都只是手段最终目的是让产线更稳、让维护更从容。我们这一代搞设备维护的人从拿万用表量端子开始走到今天对着大屏看趋势曲线、用模型预测故障工具的进化肉眼可见。但核心的判断逻辑从来没有变过——先弄清楚设备为什么转再弄清楚它为什么不转。把这个想明白了无论诊断系统演进到哪一代你都能站在前面用好它。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进