0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

我们总结了一整套方法论,终于不再为故障排查没有进展落泪了!

智科特机器人 2022-05-13 11:25 次阅读

本文约3873个字,预计阅读时间10分钟

故障排查的“方法论”

经验分享篇

机器人是一个综合性比较高的产品,涉及多种学科的知识,如果没有受过系统的机器人培训,面对故障时很可能一点头绪都没有。

我们在机器人行业有些年头了,自己做机器人,集成机器人,现场调试机器人,同时还负责给客户们做技术支持。这么多年过去了我们也算是有了些设备调试、排错的经验,所以想写下来给刚进入机器人行业的研究者以及同学们参考,帮助大家少走些弯路。

不要着急归因

故障发生时,很容易犯的一个错误是,不对现象进行仔细的排查,凭经验直接下结论。确实凭经验有时可以快速的解决问题,但是一旦方向错误了,花费的时间可能比按照标准方法排查还要长。所以我的建议是要严格遵循故障排查的基本原则,凭借经验加速故障排查过程,而非省略某些过程当你确认了现象与故障点之间的因果关系后,再进行后续的步骤。

注意:紧盯系统给出的故障提示

很多人会因为错误码太多,或者看不懂英文而忽视系统给出的错误,凭借自己的推测进行排查。这是不可取的,系统错误信息往往包含故障的关键原因,有时候凭借故障码手册可以快速的定位到问题。所以不论系统抛出的故障信息多么繁杂,一定要仔细查阅。

寻找故障的规律

有些故障可能是间歇性的、时有时无的。找到故障的规律,对问题复现以及测试都是非常有利的。规律可能体现在时间维度上,比如在固定的时间点,或者固定的时间间隔;也有可能体现在其它维度上,比如机器人的关节在某个特定角度下,或者特定的运动模式下,或者在特定的环境中会出现故障。在寻找规律时要仔细思考故障发生的时与平时正常运行时的差别,任何细节都不放过。

构建复现故障的最小系统

有效的故障排除法是在故障发生时,逐步关闭没有问题的模块,直至找到复现故障的最小系统形态。我在开头也说过,机器人是一个复杂度很高的产品,由多个组件多个软件模块构成。要明白的是,不同的模块出问题时,机器人的现象有可能一致的,起码在经验不丰富的时候是很难分辨出来到底是什么地方出了问题。所以我们要通过削减系统的方式,排除掉正常的功能模块,将故障点凸显出来,为后续的故障分析做准备。

要有质疑一切的心态

不怕系统发生大问题,就怕系统发生小问题。原因是大问题的特征极其明显,故障排查非常好做,但是小问题的根源总是藏的非常深,很难找到。在故障发生后,要对所有技术点进行质疑和验证,尤其是那些看似不容易出错的地方。有人可能会说这样做太浪费时间了,但是要明白,如果真的是这些不容易出错的地方发生了错误而你没察觉,调试的时间可能要涨好几倍。所以充分的质疑是有必要的。推荐的做法是,对最小复现系统中理应正常的模块进行快速的验证,然后再排查那些不太容易排查的模块,这其实也是在帮助我们进一步获得复现故障的最小系统。

等效替换与极限测试

最常用的故障排查方式是等效替换与极限测试。等效替换指的是将你认为可能出问题的地方进行等效替换,然后观察整个系统是否恢复了预期。替换包括实物的替换,软件版本的替换,以及使用假的合理数据进行模拟仿真极限测试指的是在一些现象不是很明显时,可以通过赋予系统参数极值的方法,放大某些现象从而寻找规律。不过使用时要注意极值带来的系统的不稳定,所以要做提前好保护措施,例如架空机器人,建立隔离区,以及准备多种紧急停止的方案等,避免造成其它损坏。

系统性的知识体系

上面提到的故障排查方法其实都是方法论,决定方法论执行好坏的是个人的知识体系是否健全。故障排查考察的是一个人对系统的认知的完整度,你是否明白系统是如何构成的,是否知道各部分之间的关联形式,以及你是否知道系统结构的优势劣势,都会对你排查故障起决定性作用。我们公司在对客户进行售后培训时,经常会和客户强调不论研究重点是什么,都应当系统性的了解机器人相关知识,了解机器人的构造、控制模型以及各种限制,这不仅仅是为了排查故障,更是为了让客户充分发挥机器人的优势服务于他们自己的研究。

寻求帮助的技巧

如果问题已经超出了你能解决的能力,或者你需要在短时间内完成排查,那么你可能会通过多种渠道寻求他人的帮助,比如在一些网站上发帖或者直接联系设备商寻求帮助。需要注意的是这些渠道的沟通往往缺乏时效性。为了尽快的解决问题,沟通的技巧非常的重要。如果你经常访问Github或者StackOverflow之类的网站,你会发现他们提供了很好的提问模板,请尽量遵从它们,这非常有利于减少沟通次数。原因其实和上述描述的技巧有非常大的关系,如果你能准确的描述故障的现象和规律、使用设备的环境与方法以及你做过的尝试,其他人能够快速跟进到故障排查工作中,而非从头开始做起。而且描述的越准确,越有利于帮助者判断你的技术能力,进而使用你能听懂的方式进行沟通。如果你有过消费产品售后咨询的经验,你会发现他们最一开始问的问题都非常的基础,甚至会让你觉得他们把人当傻瓜看,但是这是避免出现“听不懂”以及“误判”现象的最好的方法,毕竟售后不能在你提问前先查询你的经验和能力。

典型的案例

For human,For fun 我们做到了!

这里我会举几个我们公司排查故障时遇到的典型案例,供大家理解上述内容的使用方法。

机器人定位丢失案例

有一次在客户现场调试机器人,发现机器人在导航的过程中定位会突然丢失,而且不是频繁发生,而是偶发性的(没有时间上的规律)。我们最一开始推断可能是和场景有关(从环境的角度寻找规律),但是定位跳变程度远超平常见到的定位丢失形式(推断被否定,但未验证),所以我们开始让车频繁的在场地中运动(极限测试),然后观察其在什么情况下会发生定位丢失的问题(试图寻找其它维度的规律)。具体的做法是当定位丢失发生时,使用手柄控制机器人倒着追寻原有的路径重新走过定位丢失的地点,然后观察机器人的现象(观察其它维度的变化)。经过几次测试,发现定位丢失现象也会在手动控制机器人时发生(初步发现规律),然后我们尝试了改变环境(等效替换,尝试排除正常的功能以构建最小复现系统),发现定位丢失依旧发生(基本确定和环境无关系),然后又发现故障复现的方式是在定位丢失的时刻,反复用手柄操控车经过丢失点(极限测试),但是这个丢失点位置并无规律,所以我们推测问题与车的运动有关,和环境无关,结合机器人的定位方式(知识体系),我们推测车的里程计出了问题(新推断)。这个时候我们将定位导航功能关闭,仅保留车的里程计计算部分(尝试构建最小复现系统),然后观察里程计的信息是否会发生跳变(验证规律的假设),经测试确实是里程计的信息发生了跳变(现象从定位丢失,缩小到了里程计跳变)。因为里程计是通过轮编码器获得的,所以我们推测编码器的数值有问题(再一次尝试缩小问题,提出假设),然后我们将编码器的数值进行了记录,观察其在定位丢失时的变化情况。经观察确定了编码器值有异常跳变的问题。这里编码器值跳变有可能是编码器本身的问题,也有可能是程序问题。我们观察到数值跳变的位置与变量类型的数值范围有关(数值跳变的规律),然后通过排查驱动器手册,发现我们在编写程序时编码器变量数值类型选小了,导致了编码器值溢出,进而发生跳变(单元测试的重要性)。

鼠标行为异常案例

这是一个非常让人哭笑不得的案例,但是可以体现故障排查中的某些小概率情况。我的同事在调试程序时发现他的电脑鼠标经常失灵,具体表现是只能做移动操作,但是左右键都无法工作。同事在一开始的时候以为是显卡驱动的问题,认为鼠标在工作,但是系统界面发生了卡死(第一次假设)。但是在对上述假设进行验证时发现,键盘可以正确的触发界面(等效替换验证界面是否卡死),可以切换程序也可以打字,所以可以证明界面并未发生卡死(假设不成立)。紧接着将问题聚焦到了鼠标控制这一功能上面,我们的推测可能是鼠标驱动有问题,或者鼠标本身有问题。因为很少见到鼠标软件驱动的问题,所以我们优先排查鼠标硬件问题(根据对系统的理解进行模块拆分,然后再根据经验对排查顺序进行优化)。鼠标硬件的问题可以分为按键本身、鼠标整体以及接口问题。我们决定先更换鼠标进行试验(等效替换进行验证),然后发现问题依旧存在,所以鼠标的问题被排除了。接下来是USB接口的问题,遵循最小复现系统的原则,开始拔出所有无关的USB设备。搞笑的事情出现了,同事发现计算机还连接了另外一只有线鼠标,且这只鼠标被压在了桌面的杂物堆下面(“怀疑一切”的重要性)。当我们拔出这个鼠标后,发现原有的鼠标恢复了正常,我们推测是这只有线鼠标被杂物压到了鼠标键,与同事正在使用的鼠标发生了按键冲突。

这次故障排除进一步说明了,很多问题的缘由并没有多么的复杂,很可能是一个非常诡异的,意想不到的错误导致的。如果一开始就从复杂路线进行修复,浪费时间不说,还解决不了问题。

总结

方法论的东西在没有经验的情况下看着很没意义,只有多试多总结才能真正得到提高。希望本文中的经验能为各位研究者提供些许帮助。最后祝大家在研究的路上披荆斩棘!无BUG!不加班!


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器人
    +关注

    关注

    210

    文章

    28139

    浏览量

    205974
  • 故障排查
    +关注

    关注

    0

    文章

    6

    浏览量

    8556
收藏 人收藏

    评论

    相关推荐

    三极管电路故障排查方法

    三极管,作为种基本的半导体器件,广泛应用于各种电子电路中,承担着信号放大、开关控制等重要功能。然而,由于其工作环境复杂多变,三极管电路可能会出现各种故障。 三极管电路的基本组成 在进行故障
    的头像 发表于 11-01 15:08 144次阅读

    工业交换机故障快速排查方法有哪些

    在现代工业自动化的环境中,工业交换机作为网络连接的重要设备,其稳定性和可靠性至关重要。然而,实际使用过程中难免会遇到各种故障,这对生产线和系统的正常运作造成了影响。为了有效应对这些问题,下面将介绍些工业交换机故障的快速
    的头像 发表于 09-23 13:59 138次阅读

    plc故障排查方法及技巧

    这种紧急情况,了解如何快速有效地排查并解决PLC的问题显得至关重要。本文旨在提供套系统的PLC故障排除指南,帮助维护人员轻松应对各类故障挑战。 首先,定期的检查是预防和快速发现
    的头像 发表于 08-27 10:47 481次阅读

    光纤故障怎么排查

    光纤故障排查个细致且系统的过程,涉及多个方面的检查和测试。以下是系列光纤故障排查的步骤和
    的头像 发表于 08-20 10:25 659次阅读

    【《大语言模型应用指南》阅读体验】+ 基础篇

    章节介绍机器学习,从方法论上来看,机器学习属于归纳推理;从开发设计方式来看,机器学习属于自动编程。我们平时使用各种计算机高级语言编写程序代码,这属于人工编程的范畴;机器学习则由算法自动产生程序,因此
    发表于 07-25 14:33

    电缆故障排查技术案例笔记

    电缆故障排查技术案例笔记
    的头像 发表于 05-20 17:03 526次阅读
    电缆<b class='flag-5'>故障</b><b class='flag-5'>排查</b>技术案例笔记

    DC电源模块的故障排查与维修技巧

    BOSHIDA  DC电源模块的故障排查与维修技巧 故障排查与维修技巧: DC电源模块的故障排查
    的头像 发表于 01-09 15:08 923次阅读
    DC电源模块的<b class='flag-5'>故障</b><b class='flag-5'>排查</b>与维修技巧

    Altium Designer故障原因排查

    本文将介绍当您遇到冻结或长时间延迟以及Altium Designer死机等故障时如何进行故障原因排查。上述故障通常由网络流量通信问题造成的。Altium可能在发出网络请求后,得不到回复
    的头像 发表于 12-29 16:06 1865次阅读
    Altium Designer<b class='flag-5'>故障</b>原因<b class='flag-5'>排查</b>

    为行业找路径,为商业筑壁垒,解码容联云的大模型“方法论

    为行业找路径,为商业筑壁垒,解码容联云的大模型“方法论
    的头像 发表于 12-21 21:56 1243次阅读
    为行业找路径,为商业筑壁垒,解码容联云的大模型“<b class='flag-5'>方法论</b>”

    配网故障定位装置:故障排查的利器!

    快速找出故障原因,从而及时进行修复。今天,就让我们起来了解下这款神奇的[配网故障定位装置]吧
    的头像 发表于 12-18 10:26 879次阅读
    配网<b class='flag-5'>故障</b>定位装置:<b class='flag-5'>故障</b><b class='flag-5'>排查</b>的利器!

    光纤收发器的8个故障排查

    光纤收发器的8个故障排查 光纤收发器是光纤通信中不可或缺的设备之。然而,由于长期使用或其他原因,光纤收发器可能会出现各种故障。为了保证通信的正常进行,
    的头像 发表于 11-28 15:27 2507次阅读

    网络故障排查手段总结

    为了提升我们的工作效率,不浪费时间,工具的重要性显而易见特别是每当添加新的设备或网络发生变更时,新的问题就会出现,而且很难快速确定问题出在哪里。每位网络工程师或从事网相关的人员,都了解几款工具
    的头像 发表于 11-27 15:31 583次阅读

    GPIO无法触发中断常规排查方法有哪些?

    1、电源域是否打开 2、IOMUX是否设置对 3、是否配置中断方式,外部电平是否满足条件 4、是否为输入状态 备注:这次分享的是,我们做展锐平台GPIO排查方法,不同平台、不同版本、
    发表于 11-24 16:11

    常见的电源适配器故障排查方法有哪些?

    常见的电源适配器故障排查方法有哪些? 电源适配器故障是使用电子设备时经常遇到的问题之。合理排查
    的头像 发表于 11-24 14:08 6506次阅读

    PLC故障排查步骤

    故障排查对于PLC非常重要,下面是般的PLC故障排查步骤: (1)收集信息:首先,收集有关故障
    的头像 发表于 11-17 09:01 1836次阅读