CN108809676B - 一种故障检测方法及机器人 - Google Patents
一种故障检测方法及机器人 Download PDFInfo
- Publication number
- CN108809676B CN108809676B CN201710299407.2A CN201710299407A CN108809676B CN 108809676 B CN108809676 B CN 108809676B CN 201710299407 A CN201710299407 A CN 201710299407A CN 108809676 B CN108809676 B CN 108809676B
- Authority
- CN
- China
- Prior art keywords
- node
- message
- fault
- heartbeat packet
- nodes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0631—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
- H04L41/065—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis involving logical or physical relationship, e.g. grouping and hierarchies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0686—Additional information in the notification, e.g. enhancement of specific meta-data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Manipulator (AREA)
- Small-Scale Networks (AREA)
Abstract
本申请实施例公开了一种故障检测方法及机器人。该方法通过预先将所述机器人的硬件设备以及软件进程按照网络连接关系划分为多级分点,所述节点获取自身的下一级的状态消息,并根据所述状态消息生成检测报文,通过自身的各个上级节点将所述检测报文发送至所述多级节点中的最高节点,以使所述最高节点根据所述封包报文对各所述节点之间的连接状态以及各所述节点的工作状态进行检测。通过应用本申请实施例所提出的技术方案,可以实现将机器人故障缩小到具体节点,从而使得检测结果足够准确,并且机器人能够对自身状态进行有效的检测和评估,解决了对整个机器人进行全面检测问题。
Description
技术领域
本申请涉及机器人控制技术领域,特别涉及一种故障检测方法。本申请 同时还涉及一种机器人。
背景技术
机器人的架构较为复杂。一般来说,仅其硬件组成机构就包括主控计算 机、各类传感器(摄像头、激光雷达、红外测距、超声测距、里程计、惯性 测量单元等)、电源模块、执行机构(底盘电机及电机驱动器、机械臂等)、 展示模块(显示屏、触摸屏、表情屏、LED灯带等)、语音交互模块等;且 随着人工智能学科的发展,更多类型的功能模块正逐步加入到机器人组件的 行列中来,这无疑增加了机器人的复杂程度。
面对日趋复杂的机器人,确保其软、硬件功能组件的正常运行具有非常 重要的意义。一旦设备或器件发生或故障,即使是一个传感器或者一个芯片, 都有可能导致机器人的整体崩溃。这就需要机器人能够对自身“健康状态” 进行有效的诊断和评估,即故障诊断。
发明人在实现本申请的过程中发现,现有的机器人故障诊断相关方法较 为单一,多数只是提出了对部分组件(如传感器)的诊断方法或专注于如何 对特定故障进行诊断,缺乏统一、完备的方法,尚未形成系统的、具备可扩 展性的检测体系,不足以应对架构日渐复杂的机器人。
由此可见,如何能够快速对机器人内部的问题进行检测,成为本领域技 术人员亟待解决的技术问题。
发明内容
本申请实施例提供一种故障检测方法及机器人,以应对架构日渐复杂的 机器人,快速对机器人内部的问题进行检测。
为了达到以上目的,本申请提供一种故障检测方法,应用于机器人中, 预先将所述机器人中的硬件设备以及软件进程按照网络连接关系划分为多级 节点,该方法还包括:节点获取自身的下一级节点的状态信息;所述节点根 据所述状态信息生成检测报文;所述节点通过自身的各个上级节点将所述检 测报文发送至所述多级节点中的最高节点,以使所述最高节点根据所述封包报文对各所述节点之间的连接状态以及各所述节点的工作状态进行检测。
具体地,所述节点接收所述下一级节点上报的心跳包消息,并将所述心 跳包消息作为所述下一级节点的状态消息;或者,所述节点读取所述下一级 节点的连接数据,根据所述连接数据生成与所述下一级节点对应的心跳包消 息,并将所述心跳包消息作为所述下一级节点的状态消息。
具体的,所述节点根据自身的连接状态生成第一心跳包消息,并将所述 下一级节点的心跳包消息作为第二心跳包消息;所述节点根据所述第一心跳 包消息以及所述第二心跳包消息的或运算结果生成所述检测报文。
优选地,当所述节点接收到所述下一级节点发送的检测报文,且所述节 点非所述最高节点时,所述节点将所述第一心跳包消息与所述检测报文中携 带的内容的或运算结果更新所述检测报文。
优选地,所述节点获取自身的下一级节点的状态信息,具体为:所述节 点接收所述下一级节点上报的故障消息,并将所述故障消息作为所述状态信 息,所述故障消息为所述下一级节点在产生故障时对所述故障进行诊断后上 报的;或,所述节点在所述下一级节点产生故障时对所述故障进行诊断,根 据诊断结果生成所述故障消息,并将所述故障消息作为所述状态信息。
优选地,还包括:
所述最高节点接收到的所述检测报文中包含发送该检测报文的节点以及 所有转发该检测报文的节点的故障消息。
另一方面,本申请实施例还提出了一种机器人,应用于所述机器人中的 硬件设备以及软件进程按照网络连接关系划分为多级节点,各所述节点包括:
获取模块,用于获取自身的下一级节点的状态信息;
生成模块,用于根据所述状态信息生成检测报文;
发送模块,用于通过自身的各个上级节点将所述检测报文发送至所述多 级节点中的最高节点,以使所述最高节点根据所述封包报文对各所述节点之 间的连接状态以及各所述节点的工作状态进行检测。
优选地,所述获取模块具体用于:
接收所述下一级节点上报的心跳包消息,并将所述心跳包消息作为所述 下一级节点的状态消息;或,读取所述下一级节点的连接数据,根据所述连 接数据生成与所述下一级节点对应的心跳包消息,并将所述心跳包消息作为 所述下一级节点的状态消息。
优选地,所述生成模块具体用于:
根据自身的连接状态生成第一心跳包消息,并将所述下一级节点的心跳 包消息作为第二心跳包消息;根据所述第一心跳包消息以及所述第二心跳包 消息的或运算结果生成所述检测报文。
优选地,所述生成模块,还包括:
更新模块,当所述节点接收到所述下一级节点发送的检测报文,且所述 节点非所述最高节点时,所述节点将所述第一心跳包消息与所述检测报文中 携带的内容的或运算结果更新所述检测报文。
优选地,所述获取模块具体用于:
接收所述下一级节点上报的故障消息,并将所述故障消息作为所述状态 信息,所述故障消息为所述下一级节点在产生故障时对所述故障进行诊断后 上报的;或,在所述下一级节点产生故障时对所述故障进行诊断,根据诊断 结果生成所述故障消息,并将所述故障消息作为所述状态信息。
优选地,还包括:
所述最高节点接收到的所述检测报文中包含发送该检测报文的节点以及 所有转发该检测报文的节点的故障消息。
与现有技术相比,本申请实施例所提出的的技术方案的有益技术效果还 包括:
本申请实施例公开了一种故障检测方法及机器人,该方法通过预先将所 述机器人的硬件设备以及软件进程按照网络连接关系划分为多级分点,所述 节点获取自身的下一级的状态消息,并根据所述状态消息生成检测报文,通 过自身的各个上级节点将所述检测报文发送至所述多级节点中的最高节点, 以使所述最高节点根据所述封包报文对各所述节点之间的连接状态以及各所述节点的工作状态进行检测。通过应用本申请实施例所提出的技术方案,可 以实现将机器人故障缩小到具体节点,从而使得检测结果足够准确,并且机 器人能够对自身状态进行有效的检测和评估,解决了对整个机器人进行全面 检测问题。
附图说明
图1是本申请实施例提供的一种机器人故障检测方法流程示意图;
图2是实施例中各节点间层次划分示意图;
图3是实施例中机器人故障类型划分示意图;
图4是实施例中连接异常故障的检测流程示意图;
图5是实施例中心跳包或运算流程示意图;
图6a-6d是实施例中连接异常诊断及心跳包上传方式示意图;
图7是本申请实施例中其他类型故障就近原则的流程示意图;
图8是实施例中其他类型故障检测流程示意图;
图9是本申请实施例中IMU故障检测流程示意图;
图10是本申请实施例中电机故障检测流程示意图;
图11是本申请实施例提供的一种机器人设备的结构示意图。
具体实施方式
正如本申请背景技术所陈述的,在现有的机器人故障检测方案中,要么 单一化,要么只是针对部分组件的检测方法或专注于如何对特定故障进行检 测,缺少一种快速对机器人内部的问题进行检测的方案。
有鉴于背景技术中的问题,本申请提出了一种机器人故障检测方法,该 方法可以提供统一的、完备的方法论,实现将机器人故障缩小到具体节点, 从而获得足够准确的检测结果,进而解决了对整个机器人进行全面检测问题。
如图1所示,为本申请实施例所提出的的一种机器人故障检测方法的流 程示意图,所述方法应用于机器人中,预先将所述机器人中的硬件设备以及 软件进程按照网络连接关系划分为多级节点。
具体地,该方法包括以下步骤:
S101、节点获取自身的下一级节点的状态信息。
在具体的应用场景中,机器人有各种各样的故障类型,主要是在通用故 障和专用故障两个方面,而通用故障又有连接异常故障和数据异常故障,专 用故障需要根据具体的节点类型进行定义。对于不同的故障类型,检测方法 各异。由于节点类型很多,这里仅对通用故障里的连接异常检测方法作具体 阐述。
在本申请中,节点为所有机器人的组成部件,节点可为硬件设备也可为 软件进程。依据各节点与系统中心节点的网络连接关系,对其进行如下方式 划分:
中心节点为最高一级的父节点,称为根父节点,所有节点由根父节点统 一管理。直接连接父节点的节点称为1级子节点,1级子节点的下级节点为2 级节点,以此类推。
相应地,1级子节点为2级子节点的直接父节点,2级子节点为3级子节 点的直接父节点,以此类推。
节点主要包括可自检型节点和不可自检型节点两种属性。可自检型节点 一般配置CPU、MCU等处理单元,是可以进行自主编程的设备以及软件程序。 该类型节点可通过编程实现节点自身部分故障类型检测,而不可自检型节点 是不能自主动编程的设备。
根据两种不同的节点属性,本步骤有两种不同的获取方案:
方案一、所述节点接收所述下一级节点上报的心跳包消息,并将所述心 跳包消息作为所述下一级节点的状态消息。
方案二、所述节点读取所述下一级节点的连接数据,根据所述连接数据 生成与所述下一级节点对应的心跳包消息,并将所述心跳包消息作为所述下 一级节点的状态消息。
需要说明的是,心跳包方式即固定周期的消息方式,主要用于长连接的 保活和断线处理。为了节省信息传输带宽,在心跳包逐级转发的过程中不产 生额外的通信消耗,心跳包采用消息封装形式。在心跳包中,每个节点对应 一个比特位,该节点所在比特位的位置与其节点ID相关。
步骤S102、所述节点根据所述状态信息生成检测报文。
在实际应用中,本步骤具体包括:
步骤S1021、所述节点根据自身的连接状态生成第一心跳包消息,并将所 述下一级节点的心跳包消息作为第二心跳包消息;
步骤S1022、所述节点根据所述第一心跳包消息以及所述第二心跳包消息 的或运算结果生成所述检测报文。
优选地,当所述节点接收到所述下一级节点发送的检测报文,且所述节 点非所述最高节点时,所述节点将所述第一心跳包消息与所述检测报文中携 带的内容的或运算结果更新所述检测报文。
另一方面,需要说明的是,所述心跳包消息或运算采用消息封装方式, 一条链路上仅有一个心跳包传输到根父节点,却包含了该链路上上所有设备 的连接信息,有效减低了心跳包的传输频次,并节省了检测报文生成时间。
步骤S103、所述节点通过自身的各个上级节点将所述检测报文发送至所 述多级节点中的最高节点,以使所述最高节点根据所述封包报文对各所述节 点之间的连接状态以及各所述节点的工作状态进行检测。
需要进一步指出的是,连接异常的检测方法根据节点属性,对于可自检 型设备,可用过心跳包的方式向其直接父节点上报自身状态;对于不可自检 型设备,需要由其直接父节点对其读取数据,然后判断其连接状态,并以心 跳包的方式向上一级父节点传输其状态;
如果一个设备节点是通过多级的父节点最终连接到根父节点,那么该连 接链路上的所有节点需要向其上一级父节点转发其下级子节点的心跳包,直 至根父节点。
根节点根据所有子节点的心跳包信息,判断哪个子节点发生连接异常故 障,并进行该故障的展示。
在具体的应用场景中,根据两种不同的节点属性,本步骤有两种不同的 故障检测方案:
方案一、所述节点接收所述下一级节点上报的故障消息,并将所述故障 消息作为所述状态信息,所述故障消息为所述下一级节点在产生故障时对所 述故障进行诊断后上报的。
方案二、所述节点在所述下一级节点产生故障时对所述故障进行诊断, 根据诊断结果生成所述故障消息,并将所述故障消息作为所述状态信息。
其中,最高节点接收到的所述检测报文中包含发送该检测报文的节点以 及所有转发该检测报文的节点的故障消息。
需要说明的是,上述的两种方案差别在于节点属性不同,在实际应用 中,可以根据实际情况进行判断,这样的变化并不会影响本申请的保护范 围。
与现有技术相比,本申请实施例所提出的技术方案的有益技术效果包括:
本申请实施例公开了一种故障检测方法及机器人。该方法通过预先将所 述机器人的硬件设备以及软件进程按照网络连接关系划分为多级分点,所述节点获取自身的下一级的状态消息,并根据所述状态消息生成检测报文,通 过自身的各个上级节点将所述检测报文发送至所述多级节点中的最高节点, 以使所述最高节点根据所述封包报文对各所述节点之间的连接状态以及各所 述节点的工作状态进行检测。通过应用本申请实施例所提出的技术方案,可 以实现将机器人故障缩小到具体节点,从而使得检测结果足够准确,并且机 器人能够对自身状态进行有效的检测和评估,解决了对整个机器人进行全面检测问题。
为了进一步阐述本申请的技术思想,现结合具体的应用场景,对本申请 的技术方案进行说明。
在本申请中,所有机器人的组成部件,统一称为节点。节点可以是硬件 设备(如传感器、处理器、电机等),也可以是一个软件进程(如导航程序、 人脸识别程序等),节点是机器人故障诊断系统的最基本单位。
按照各节点与系统中心节点(本文中的机器人操作系统)的网络连接关 系,按照如下方式进行层次划分。
中心节点即根父节点,为最高一级的父节点。直接连接父节点的节点为1 级子节点,1级子节点的下级节点为2级子节点,以此类推。相应的,1级子 节点为2级子节点的直接父节点,2级子节点为3级子节点的直接父节点,以 此类推,如图2所示。
其中节点有两种属性,即可自检型节点和不可自检型节点
可自检型节点一般自带CPU、MCU(微处理器)等处理单元,并且可以 进行自主编程的设备以及软件程序,比如电机驱动器,惯性测量单元、实时 控制模块、各类应用程序等。
该类型节点可通过编程实现节点自身的部分故障类型检测,并且可对其 下一级子节点进行数据读取和分析,从而判断两个节点间连接是否正常。
如果一个可自检型节点下面包括多个相关的子节点,那么该可自检型节 点可通过比较各个子节点的相关数据,判断子节点数据是否正常。
例如某个父节点下连接多个测距类传感器,如超声测距传感器、激光测 距传感器、红外测距传感器等,对于同样被测对象(如机器人到墙的距离), 父节点可以判断多个传感器的数据,通过“大数原则”来确定哪个传感器的 数据不够准确。比如:三个传感器的测值分别为2.1米,2.2米,1.2米,那么 可以做出第三个传感器数据(1.2米)异常的诊断。
不可自检型节点为不能自主编程的设备,比如红外传感器、激光雷达、 电机等。此类设备的故障诊断需要依靠其直接父节点以及间接父节点来实现。
例如电机的故障诊断,需要依靠电机驱动器来实现。当电机驱动器下发 “转动”指令,而电机未转动(电机的霍尔传感器无相应数据),则可判定电 机发生故障。
机器人的系统故障有两种类型,即通用故障和专用故障。
通用故障主要包括连接异常和数据异常,连接异常是指节点为正常上电, 或通信总线断开等硬件故障,数据异常是指节点上传的数据超出正常范围。 比如传感器数据超出了限定范围。
专用故障根据具体的节点类型进行定义。例如对于电机驱动器,故障类 型包括:控制信号异常、过压、欠压、过流、欠流等。如图3所示。
本申请实施例提供了一种机器人故障检测及故障信息上报的方法,对于 不同的故障类型,检测方法各异。以下为对通用故障里的连接异常进行检测 的方法:
连接异常是任何通过总线与其父总线建立通信的设备都可能产生的异 常。
连接异常的检测方法,按照节点属性分为两大类:对于可自检型设备, 可用过心跳包(固定周期的消息)的方式向其直接父节点上报自身状态;对 于不可自检型设备,需要由其直接父节点对其读取数据,然后判断其连接状 态,并以心跳包的方式向上一级父节点传输其状态;
如果一个设备节点是通过多级的父节点最终连接到根父节点,那么该连 接链路上的所有节点需要向其上一级父节点转发其下级子节点的心跳包,直 至根父节点。
根节点根据所有子节点的心跳包信息,判断哪个子节点发生连接异常故 障,并进行该故障的展示。连接异常故障的检测流程如图4所示。
为了节省信息传输带宽,在心跳包逐级转发的过程中不产生额外的通信 消耗,心跳包采用如下消息封装形式:
每个节点需定义一个节点id,从0开始,到15(随着设备节点增多,可 扩展,这里以最多16个节点的系统为例)。
在心跳包中,每个节点对应一个比特(bit)位;该节点所在bit位的位置 与其id相关,具体的运算方式为:0x01>>节点id。即将0x01右移节点id次。
比如:
节点0连接正常,对应的心跳包消息为(0b 0000 0000 0000 0000);
节点1连接正常,对应的心跳包消息为(0b 0000 0000 0000 0001);
节点2连接正常,对应的心跳包消息为(0b 0000 0000 0000 0010);
节点3连接正常,对应的心跳包消息为(0b 0000 0000 0000 0100);
节点4连接正常,对应的心跳包消息为(0b 0000 0000 0000 1000);
以此类推。
对于心跳包或运算,假设从节点1到节点4,是一条子节点到父节点的传 输链,如图5所示。
而节点1和节点2的心跳包消息的“或”预算结果为当节点2收到节点1 的心跳包,并向节点3发送心跳包的内容。即:(0b 0000 0000 0000 0011)= (0b 0000 0000 00000001)|(0b 0000 0000 0000 0010)
同理,节点3向节点4发送的心跳包,也包含了节点1、节点2的bit位; 以此类推。最终,根父节点收到的该连路上所有设备节点的心跳包,为一条 经过多次“或”运算的消息:(0b 0000 0000 0000 1111),从而,根父节点可 以判断,节点1、2、3、4都未产生连接异常。
这样的消息封装方式,有效降低了心跳包的传输频次,一条链路上,最 终只有一个心跳包传输到根父节点,却包含了该连路上所有设备的连接信息。
本申请实施例提供了连接异常诊断及心跳包上传方式,当节点1为可自 检型节点且连接正常,且其他节点都正常时,如图6a所示;当节点1为不可 自检型节点且连接正常,且其他节点都正常时,如图6b所示;当节点1为可 自检型节点且连接异常,其他节点都正常时,如图6c所示;当节点1为不可 自检型节点且连接异常,其他节点都正常时,如图6d所示。
在本申请中,除连接异常以外的其他故障的诊断,须遵从就近原则,例 如,在图7中,对于某k级子节点的某种故障,如果k级自己点自身具备该故障的诊断能力,则由其自身进行该故障的诊断;如果k级自己点自身不具 备该故障类型的诊断能力,则由其直接父节点k-1级节点进行该故障类型诊 断;如果k-1级节点不具备该故障的诊断能力,再由上一级父节点k-2进行该 故障类型的诊断,以此类推,直至最高一级父节点——根父节点。
该原则可使得故障诊断工作前端化,有效降低中心节点的运算压力。本 申请的消息触发机制只有产生故障时,才向上一级节点上报故障信息。如无 故障产生,则不上报。
为了使得根父节点获得尽可能多的信息,比如故障节点处于什么位置, 该故障的诊断者是哪个节点(为了判断这个诊断是否可信,以及可信度多高, 最后再对结果进行综合判断),故障消息的字段包括:
节点名称:节点名称的字符串;
节点id:节点的编号,0,1,2,3...;
节点属性:可自检型、不可自检型;
故障类别:通用故障、专用故障;
故障编号:自定义的故障对应的编号,0,1,2,3;
直接父节点id:节点的直接父节点的id;
总线类型:节点与其直接父节点之间的总线类型,如串行总线、I2C、USB、 CAN总线等;
诊断者id:该故障的诊断者的id,即故障消息的发出者。
例如,在图8中,节点1为可自检型节点,能够诊断出故障1;节点2可 诊断出节点1的故障2以及自身故障1;以此类推。最终,根父节点会综合判 断该链路上的所有节点的故障,并进行展示。
本申请实施例提供了一种连接异常故障诊断的方法,如图9所示,为本 申请机器人方案中的IMU(惯性测量单元)。
在图9中,陀螺仪、加速度计、电子罗盘等传感器为不可自检型节点, 惯性测量单元、实时控制模块为可自检型节点,机器人操作系统为根父节点。
惯性测量单元通过I2C总线读取陀螺仪、加速度计、电子罗盘数据,通 过CAN总线上传至实时控制模块;实时控制模块通过串行总线将数据上传至 机器人操作系统。
在本例中,首先为各节点进行编号(ID):
陀螺仪:0;
加速度计:1;
电子罗盘:2;
惯性测量单元:3;
实时控制模块:4。
然后惯性测量单元读取各个传感器数据,如果读数成功,则向实时控制 模块发送心跳包:0b 0000 0000 0000 1111。
其中,bit0~bit2都为1,代表陀螺仪、加速度计、电子罗盘连接正常;bit3 为1,代表惯性测量单元连接正常。
假设惯性测量单元和实时控制模块之间的CAN总线断开或出现其它连接 故障,则实时控制模块无法收到惯性测量单元单元传输的心跳包(0b 0000 0000 0000 1111),从而,实时控制模块只能向机器人操作系统发送心跳包(0b 0000 0000 0001 0000),bit4为1,代表实时控制模块连接正常,bit0~bit3为0, 代表惯性测量单元及其下属的子节点连接异常。
如果惯性测量单元和实时控制模块之间的CAN总线正常,那么实时控制 模块会收到心跳包(0b 0000 0000 0000 1111),并向机器人操作系统发送心跳 包((0b 0000 00000001 1111);
本申请实施例中还提供一种电机、电机驱动器异常故障的诊断方法,如 图10为电机故障诊断流程图,实时控制模块可将接收到的控制指令下发到电 机驱动器,电机驱动器会使得电机按相应方向旋转,电机带动机器人底盘的 轮子转动,从而实现机器人底盘的移动及旋转。
在本例中,电机id为5,霍尔传感器id为6,电机驱动器id为7;陀螺 仪id为0,加速度计id为1,电子罗盘id为2,惯性测量单元id为3,实时 控制模块id为4。
基于就近诊断原则,电机自身的故障由电机驱动器进行诊断。
假设电机驱动器接收到控制指令,并控制电机旋转,如果电机正常旋转, 电机驱动器会读到霍尔传感器上的相应数据,该数据可转换为电机旋转速度; 如果电机驱动器读取霍尔传感器数据后,转换为电机速度为0,说明电机未被 正常驱动,则上报“电机故障”消息。
该消息由电机驱动器发送至实时控制模块,并由实时控制模块转发至机 器人控制系统。消息格式:
节点名称:motor
节点id:5
节点属性:不可自检型;
故障类别:专用故障;
故障编号:1(电机故障);
直接父节点id:7(电机驱动器);
总线类型:三相驱动线;
诊断者id:7(电机驱动器)。
对于电机驱动器故障的诊断,假设电机能够正常驱动,但电机驱动器向 电机下发的控制信号异常,导致电机旋转方向与期望的方向相反,从而使底 盘的实际旋转方向与期望的方向相反。
基于就近诊断原则,这个故障的诊断首先应该由电机驱动器自己来诊断。 但由于缺少参考量,电机驱动器无法诊断自身控制信号是否异常,所以该故 障由其直接父节点实时控制模块来诊断。
具体地,实时控制模块向电机驱动器发送控制指令,使机器人底盘旋转。 底盘旋转后,惯性测量单元可实时读取到陀螺仪以及电子罗盘的角度数据, 并将这些数据发送至实时控制模块;实时控制模块通过比较实际旋转的角度 方向与期望的旋转角度方向,如果二者的差异超出阈值范围,则可判定电机 驱动器控制信号异常,并向机器人操作系统发送“电机驱动器控制信号异常”故障。
消息格式如下:
节点名称:motor-driver
节点id:7
节点属性:可自检型;
故障类别:专用故障;
故障编号:2(电机驱动器控制信号异常);
直接父节点id:4(实时控制模块);
总线类型:CAN总线;
诊断者id:4(实时控制模块)。
基于与上述方法同样的发明构思,本申请实施例中还提供了一种机器人, 应用于所述机器人中的硬件设备以及软件进程按照网络连接关系划分为多级 分点,如图11所示,各所述节点包括:
获取模块11,用于获取自身的下一级节点的状态信息;
生成模块12,用于根据所述状态信息生成检测报文;
发送模块13,用于通过自身的各个上级节点将所述检测报文发送至所述多级节点中的最高节点,以使所述最高节点根据所述封包报文对各所述节点 之间的连接状态以及各所述节点的工作状态进行检测。
所述获取模块11,具体用于接收所述下一级节点上报的心跳包消息,并 将所述心跳包消息作为所述下一级节点的状态消息;或者,读取所述下一级 节点的连接数据,根据所述连接数据生成与所述下一级节点对应的心跳包消息,并将所述心跳包消息作为所述下一级节点的状态消息。
所述生成模块12,具体用于根据自身的连接状态生成第一心跳包消息, 并将所述下一级节点的心跳包消息作为第二心跳包消息;根据所述第一心跳 包消息以及所述第二心跳包消息的或运算结果生成所述检测报文。
还包括:更新模块14,用于当所述节点接收到所述下一级节点发送的检 测报文,且所述节点非所述最高节点时,所述节点将所述第一心跳包消息与 所述检测报文中携带的内容的或运算结果更新所述检测报文。
在本申请所述的机器人中,所述获取模块11,具体用于:接收所述下一 级节点上报的故障消息,并将所述故障消息作为所述状态信息,所述故障消 息为所述下一级节点在产生故障时对所述故障进行诊断后上报的;或,在所 述下一级节点产生故障时对所述故障进行诊断,根据诊断结果生成所述故障 消息,并将所述故障消息作为所述状态信息。
优选地,还包括:所述最高节点接收到的所述检测报文中包含发送该检 测报文的节点以及所有转发该检测报文的节点的故障消息。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申 请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。 基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软 件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬 盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服 务器,或者网络设备等)执行本申请各个实施场景所述的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中 的模块或流程并不一定是实施本申请所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景 描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施 场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可 以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于 此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (8)
1.一种故障检测方法,其特征在于,所述方法应用于机器人中,预先将所述机器人中的硬件设备以及软件进程按照网络连接关系划分为多级节点,该方法还包括:节点获取自身的下一级节点的状态信息;
所述节点根据所述状态信息生成检测报文;
所述节点通过自身的各个上级节点将所述检测报文发送至所述多级节点中的最高节点,以使所述最高节点根据所述检测报文对各所述节点之间的连接状态以及各所述节点的工作状态进行检测;
所述节点获取自身的下一级节点的状态信息,具体为:所述节点接收所述下一级节点上报的心跳包消息,并将所述心跳包消息作为所述下一级节点的状态消息;
或,所述节点读取所述下一级节点的连接数据,根据所述连接数据生成与所述下一级节点对应的心跳包消息,并将所述心跳包消息作为所述下一级节点的状态消息;
所述节点获取自身的下一级节点的状态信息,具体为:所述节点接收所述下一级节点上报的故障消息,并将所述故障消息作为所述状态信息,所述故障消息为所述下一级节点在产生故障时对所述故障进行诊断后上报的;
或,所述节点在所述下一级节点产生故障时对所述故障进行诊断,根据诊断结果生成所述故障消息,并将所述故障消息作为所述状态信息。
2.如权利要求1所述的方法,其特征在于,所述节点根据所述状态信息生成检测报文,具体为:所述节点根据自身的连接状态生成第一心跳包消息,并将所述下一级节点的心跳包消息作为第二心跳包消息;
所述节点根据所述第一心跳包消息以及所述第二心跳包消息的运算结果生成所述检测报文。
3.如权利要求2所述的方法,其特征在于,还包括:当所述节点接收到所述下一级节点发送的检测报文,且所述节点非所述最高节点时,所述节点根据所述第一心跳包消息与所述检测报文中携带的内容的运算结果更新所述检测报文。
4.如权利要求1所述的方法,其特征在于,还包括:所述最高节点接收到的所述检测报文中包含发送该检测报文的节点以及所有转发该检测报文的节点的故障消息。
5.一种机器人,其特征在于,所述机器人中的硬件设备以及软件进程按照网络连接关系划分为多级节点,各所述节点包括:获取模块,获取自身的下一级节点的状态信息;
生成模块,根据所述状态信息生成检测报文;
发送模块,通过自身的各个上级节点将所述检测报文发送至所述多级节点中的最高节点,以使所述最高节点根据所述检测报文对各所述节点之间的连接状态以及各所述节点的工作状态进行检测;
所述获取模块具体用于:接收所述下一级节点上报的心跳包消息,并将所述心跳包消息作为所述下一级节点的状态消息;
或,读取所述下一级节点的连接数据,根据所述连接数据生成与所述下一级节点对应的心跳包消息,并将所述心跳包消息作为所述下一级节点的状态消息;
所述获取模块具体用于:接收所述下一级节点上报的故障消息,并将所述故障消息作为所述状态信息,所述故障消息为所述下一级节点在产生故障时对所述故障进行诊断后上报的;
或,在所述下一级节点产生故障时对所述故障进行诊断,根据诊断结果生成所述故障消息,并将所述故障消息作为所述状态信息。
6.如权利要求5所述的机器人,其特征在于,所述生成模块具体用于:根据自身的连接状态生成第一心跳包消息,并将所述下一级节点的心跳包消息作为第二心跳包消息;
根据所述第一心跳包消息以及所述第二心跳包消息的运算结果生成所述检测报文。
7.如权利要求6所述的机器人,其特征在于,还包括:更新模块,当所述节点接收到所述下一级节点发送的检测报文,且所述节点非所述最高节点时,所述节点根据所述第一心跳包消息与所述检测报文中携带的内容的运算结果更新所述检测报文。
8.如权利要求5所述的机器人,其特征在于,还包括:所述最高节点接收到的所述检测报文中包含发送该检测报文的节点以及所有转发该检测报文的节点的故障消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710299407.2A CN108809676B (zh) | 2017-05-02 | 2017-05-02 | 一种故障检测方法及机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710299407.2A CN108809676B (zh) | 2017-05-02 | 2017-05-02 | 一种故障检测方法及机器人 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108809676A CN108809676A (zh) | 2018-11-13 |
CN108809676B true CN108809676B (zh) | 2023-07-18 |
Family
ID=64053926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710299407.2A Active CN108809676B (zh) | 2017-05-02 | 2017-05-02 | 一种故障检测方法及机器人 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108809676B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109583726B (zh) * | 2018-11-19 | 2022-02-22 | 南京新联电能云服务有限公司 | 检测工艺状态的方法及系统 |
CN110958162A (zh) * | 2019-12-06 | 2020-04-03 | 广东博智林机器人有限公司 | 一种ble级联网络及其链路检测方法、设备和终端 |
CN113568812B (zh) * | 2021-07-29 | 2024-06-07 | 北京奇艺世纪科技有限公司 | 一种智能机器人的状态检测方法和装置 |
CN117193232A (zh) * | 2023-07-26 | 2023-12-08 | 珠海金智维信息科技有限公司 | 基于rpa的流程节点故障处理方法、系统、装置和介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101610193A (zh) * | 2009-07-27 | 2009-12-23 | 武汉烽火网络有限责任公司 | 以太环网自动发现及生成环的方法 |
CN102143007A (zh) * | 2011-05-03 | 2011-08-03 | 中国南方电网有限责任公司 | 基于分布式的多级网络拓扑发现方法 |
CN103476053A (zh) * | 2013-09-11 | 2013-12-25 | 四川九洲电器集团有限责任公司 | 一种基于ZigBee网络的故障设备智能退网方法 |
CN104980303A (zh) * | 2015-06-15 | 2015-10-14 | 北京邮电大学 | 一种多级树型网络下的节点故障修复方法 |
CN106100698A (zh) * | 2016-06-12 | 2016-11-09 | 南京南瑞集团公司 | 一种应用于用电信息采集的电力线载波模块的组网方法 |
CN106175936A (zh) * | 2016-08-31 | 2016-12-07 | 北京术锐技术有限公司 | 一种手术机器人完全运行状态故障检测方法 |
CN112468372A (zh) * | 2017-04-10 | 2021-03-09 | 华为技术有限公司 | 电力线通信网络中设备状态检测方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8369992B2 (en) * | 2009-09-22 | 2013-02-05 | GM Global Technology Operations LLC | Embedded diagnostic, prognostic, and health management system and method for a humanoid robot |
-
2017
- 2017-05-02 CN CN201710299407.2A patent/CN108809676B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101610193A (zh) * | 2009-07-27 | 2009-12-23 | 武汉烽火网络有限责任公司 | 以太环网自动发现及生成环的方法 |
CN102143007A (zh) * | 2011-05-03 | 2011-08-03 | 中国南方电网有限责任公司 | 基于分布式的多级网络拓扑发现方法 |
CN103476053A (zh) * | 2013-09-11 | 2013-12-25 | 四川九洲电器集团有限责任公司 | 一种基于ZigBee网络的故障设备智能退网方法 |
CN104980303A (zh) * | 2015-06-15 | 2015-10-14 | 北京邮电大学 | 一种多级树型网络下的节点故障修复方法 |
CN106100698A (zh) * | 2016-06-12 | 2016-11-09 | 南京南瑞集团公司 | 一种应用于用电信息采集的电力线载波模块的组网方法 |
CN106175936A (zh) * | 2016-08-31 | 2016-12-07 | 北京术锐技术有限公司 | 一种手术机器人完全运行状态故障检测方法 |
CN112468372A (zh) * | 2017-04-10 | 2021-03-09 | 华为技术有限公司 | 电力线通信网络中设备状态检测方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108809676A (zh) | 2018-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108809676B (zh) | 一种故障检测方法及机器人 | |
KR101949305B1 (ko) | 도로 전광판(vms) 시스템의 vcu와 mcu 통합 제어장치 및 이를 이용한 고장진단 방법 | |
CN109983412B (zh) | 控制装置、计算机可读记录介质以及控制方法 | |
US10503146B2 (en) | Control system, control device, and control method | |
US9203740B2 (en) | Automated network fault location | |
CN102439888B (zh) | 一种快速通道互连链路监控方法和设备及系统 | |
CN104518924A (zh) | 自动化测试及结果比对方法及系统 | |
WO2016045353A1 (zh) | 一种故障诊断分析方法、装置、系统及存储介质 | |
CN104391190A (zh) | 一种用于测量仪器的远程诊断系统及诊断方法 | |
US20210316742A1 (en) | Error handling in an autonomous vehicle | |
US20170010995A1 (en) | Sideband Serial Channel for PCI Express Peripheral Devices | |
CN110658777A (zh) | 基于hmi实现控制终端间通讯、交互及报警管理的方法 | |
JP7146824B2 (ja) | 車両の侵入を検出するシステムを構成するためのグラフィカルユーザインタフェースツール | |
CN104035855A (zh) | 硬盘监测方法和装置 | |
US20170070382A1 (en) | Parallel fieldbus network-based motor control system | |
CN104950832B (zh) | 钢铁厂控制系统 | |
CN116506278A (zh) | 一种基于zabbix的异常监控平台 | |
CN108696375A (zh) | 工业网络信息获取装置、方法、监控系统及存储介质 | |
CN106446311B (zh) | Cpu告警电路及告警方法 | |
CN104075735A (zh) | 惯性测量装置自诊断方法及装置 | |
CN117280290B (zh) | 基于灌溉系统中的功率和/或电流变化确定驱动系统异常 | |
US20190171481A1 (en) | Performing maintenance tasks on composed systems during workload execution | |
JP4335108B2 (ja) | トランシーバモジュール | |
US10394681B2 (en) | Profiling operating efficiency deviations of a computing system | |
US11621881B2 (en) | Error detection and broadcasting using partner sensors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |