Robot Fault Detection Methods, Devices, Robots, and Storage Media
By detecting the data difference between the inertial sensor and the wheeled odometer, the robot's stable operating status is determined, which solves the problem of inaccurate positioning caused by the failure of the inertial sensor and the wheeled odometer, and improves the robot's safety and the accuracy of fault detection.
Patent Information
- Application Number
- CN202310427319.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-04-12
- Publication Date
- 2025-10-28
- Estimated Expiration
- 2043-04-12
AI Technical Summary
Inertial sensors and wheeled odometers in robots may malfunction, leading to inaccurate positioning and potentially causing safety issues such as collisions and falls.
By acquiring data from inertial sensors and wheeled odometers, the robot detects whether the difference in consecutive frame counts exceeds a preset range to determine if it is in a stable operating state. If so, it is determined that the sensor has a data acquisition failure, and the robot is controlled to stop running. After detecting that the actual position is consistent with the planned position, it resumes operation or outputs an alarm.
It improves the accuracy of robot fault detection, avoids false detections, ensures robot safety, reduces malfunctions, and improves maintenance efficiency.
Smart Images

Figure CN116423558B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of robotics, and in particular to a method, apparatus, robot, and storage medium for detecting robot faults. Background Technology
[0002] In service establishments such as hotels, robots can be used to greet guests, guide them to their rooms, deliver food and other items, and save on labor costs. Various sensors are installed in these robots to ensure their proper functioning; inertial sensors and wheeled odometers are used for positioning. During operation, malfunctions in these sensors and odometers can lead to inaccurate positioning, causing collisions, falls, and other incidents as the robot deviates from its planned path, thus reducing its safety. Summary of the Invention
[0003] The main objective of this invention is to provide a robot fault detection method, device, robot, and storage medium, which aims to detect faults in inertial sensors or wheeled odometers in robots and improve robot safety.
[0004] To achieve the above objectives, the present invention provides a robot fault detection method, applied to a robot, the method comprising:
[0005] Acquire positioning sensor data in each frame, wherein each frame of positioning sensor data includes first data collected by the first positioning sensor and second data collected by the second positioning sensor in the robot, wherein the first positioning sensor and the second positioning sensor are inertial sensors or wheel odometers;
[0006] If, in a series of first preset frames of positioning sensor data, the difference between the first data and the second data both exceed a first preset range, then it is determined whether the robot meets a preset stable operating state.
[0007] If the robot meets the stable operating state, then it is determined that either the first positioning sensor or the second sensor has a data acquisition failure.
[0008] Optionally, after the step of determining that either the first positioning sensor or the second sensor has experienced a data acquisition failure if the robot meets the stable operating state, the method further includes:
[0009] Control the robot to stop running and detect whether the robot's actual position in the external environment is consistent with the planned position of the robot's path planning;
[0010] If the actual location matches the planned location, then when both the first data and the second data are within a second preset range in the location sensor data of a second preset number of consecutive frames, the robot operation is resumed.
[0011] Optionally, the step of detecting whether the robot's actual position in the external environment is consistent with the planned position of the robot's path planning includes:
[0012] A positioning score is calculated based on the first obstacle area collected when the robot is in its actual position in the external environment and the second obstacle area collected when the robot is in the planned position of the path planning, and it is detected whether the positioning score is greater than a preset score. The positioning score represents the degree of overlap between the first obstacle area and the second obstacle area.
[0013] If the positioning score is greater than the preset score, then the actual location and the planned location are determined to be consistent.
[0014] If the positioning score is less than or equal to the preset score, then the actual location and the planned location are determined to be inconsistent.
[0015] Optionally, after the step of detecting whether the robot's actual position in the external environment is consistent with the planned position of the robot's path planning, the method further includes:
[0016] If the actual position is inconsistent with the planned position, then it is detected whether the robot's fault duration has reached a first preset duration from the moment when the data acquisition failure of the first positioning sensor or the second sensor is determined.
[0017] If the fault duration reaches the first preset duration, a first alarm is output to indicate that the first positioning sensor or the second sensor has experienced a data acquisition failure and the robot cannot resume operation.
[0018] Optionally, after the step of outputting a first alarm if the fault duration reaches the first preset duration to indicate that the first positioning sensor or the second sensor has experienced a data acquisition failure and the robot cannot resume operation, the method further includes:
[0019] Detect whether the robot's stopping time has reached a second preset time since the first alarm was output;
[0020] If the stop time reaches the second preset time, a second alarm is output to indicate that the robot has experienced a malfunction of oscillation or stationary movement.
[0021] Optionally, before the step of detecting whether the robot meets a preset stable operating state after detecting that the difference between the first data and the second data in the positioning sensor data for a consecutive first preset number of frames all exceed a first preset range, the method further includes:
[0022] The robot is checked to see if it meets the preset fault detection conditions, wherein the fault detection conditions include the difference between the first data in two adjacent frames of positioning sensor data exceeding a third preset range, or the robot's running time reaching the detection cycle.
[0023] If the robot meets the fault detection conditions, then the step of detecting whether the robot meets the preset stable operating state is executed after detecting that the difference between the first data and the second data in the positioning sensor data of a first preset number of consecutive frames exceeds the first preset range.
[0024] Optionally, the first positioning sensor is an inertial sensor, and the second positioning sensor is a wheeled odometer. The step of detecting whether the robot meets the preset stable operating state includes:
[0025] The system detects whether the robot is entering or exiting an elevator and whether the robot's motors are functioning properly.
[0026] If the robot is not in the process of entering or exiting an elevator and the robot's motor is functioning normally, then the robot is determined to be in a stable operating state.
[0027] To achieve the above objectives, the present invention also provides a robot fault detection device, the device being deployed on a robot, the device comprising:
[0028] The acquisition module is used to acquire positioning sensor data in each frame. Each frame of positioning sensor data includes first data collected by the first positioning sensor and second data collected by the second positioning sensor in the robot. The first positioning sensor and the second positioning sensor are inertial sensors or wheel odometers.
[0029] The detection module is used to detect whether the robot meets a preset stable operating state after the difference between the first data and the second data in the positioning sensor data of a first preset number of consecutive frames exceeds a first preset range.
[0030] The determination module is used to determine whether the first positioning sensor or the second sensor has a data acquisition failure if the robot meets the stable operating state.
[0031] To achieve the above objectives, the present invention also provides a robot, the robot comprising: a memory, a processor, and a robot fault detection program stored in the memory and executable on the processor, wherein the robot fault detection program, when executed by the processor, implements the steps of the robot fault detection method as described above.
[0032] Furthermore, to achieve the above objectives, the present invention also proposes a computer-readable storage medium storing a robot fault detection program, which, when executed by a processor, implements the steps of the robot fault detection method as described above.
[0033] In this invention, by acquiring each frame of positioning sensor data, wherein each frame of positioning sensor data includes first data collected by a first positioning sensor and second data collected by a second positioning sensor in the robot, the first and second positioning sensors being inertial sensors or wheeled odometers; after detecting that the difference between the first and second data in a first preset number of consecutive frames of positioning sensor data exceeds a first preset range, it is detected whether the robot meets a preset stable operating state; if the robot meets the stable operating state, it is determined that the first or second positioning sensor has a data acquisition failure.
[0034] Compared to comparing data collected by inertial sensors or wheeled odometers with preset thresholds to determine if a fault has occurred, this invention detects discrepancies between data collected by the two positioning sensors when the robot is in a stable operating state. This avoids misdiagnosis of inertial sensor or wheeled odometer malfunctions due to abnormal data collected by positioning sensors in unstable operating states. This improves the accuracy of detecting inertial sensor or wheeled odometer faults and enhances robot safety. Attached Figure Description
[0035] Figure 1 This is a schematic diagram of the hardware operating environment involved in the embodiments of the present invention;
[0036] Figure 2 This is a flowchart illustrating the first embodiment of the robot fault detection method of the present invention;
[0037] Figure 3 This is a flowchart illustrating one embodiment of the robot fault detection method of the present invention;
[0038] Figure 4 This is a flowchart illustrating one embodiment of the robot fault detection method of the present invention;
[0039] Figure 5 This is a schematic diagram of the functional modules of a preferred embodiment of the robot fault detection device of the present invention.
[0040] The realization of the objective, functional features and advantages of the present invention will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation
[0041] It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
[0042] like Figure 1 As shown, Figure 1 This is a schematic diagram of the device structure of the hardware operating environment involved in the embodiments of the present invention.
[0043] It should be noted that the device in the embodiments of the present invention can be a smartphone, a personal computer or a server or other device with data processing capabilities. The device can be deployed in a mobile robot, and no specific limitation is made here.
[0044] like Figure 1 As shown, the device may include: a processor 1001, such as a CPU, a memory 1002, and a communication bus 1003. The communication bus 1003 is used to enable communication between these components. The memory 1002 may be a high-speed RAM or a stable, non-volatile memory, such as a disk drive. Optionally, the memory 1002 may also be a storage device independent of the aforementioned processor 1001.
[0045] Those skilled in the art will understand that Figure 1 The device structure shown does not constitute a limitation on the device and may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0046] like Figure 1 As shown, the memory 1002, serving as a computer storage medium, may include an operating system and a robot fault detection program. The operating system is a program that manages and controls the device's hardware and software resources, supporting the operation of the robot fault detection program and other software or programs. Figure 1 In the device shown, the processor 1001 can be used to call the robot fault detection program stored in the memory 1002 and perform the following operations:
[0047] Acquire positioning sensor data in each frame, wherein each frame of positioning sensor data includes first data collected by the first positioning sensor and second data collected by the second positioning sensor in the robot, wherein the first positioning sensor and the second positioning sensor are inertial sensors or wheel odometers;
[0048] If, in a series of first preset frames of positioning sensor data, the difference between the first data and the second data both exceed a first preset range, then it is determined whether the robot meets a preset stable operating state.
[0049] If the robot meets the stable operating state, then it is determined that either the first positioning sensor or the second sensor has a data acquisition failure.
[0050] Furthermore, after determining that either the first positioning sensor or the second sensor has malfunctioned in the stable operating state, if the robot meets the criteria, the processor 1001 can call the robot fault detection program stored in the memory 1002 and perform the following operations:
[0051] Control the robot to stop running and detect whether the robot's actual position in the external environment is consistent with the planned position of the robot's path planning;
[0052] If the actual location matches the planned location, then when both the first data and the second data are within a second preset range in the location sensor data of a second preset number of consecutive frames, the robot operation is resumed.
[0053] Furthermore, the operation of detecting whether the robot's actual position in the external environment is consistent with the planned position of the robot's path planning includes:
[0054] A positioning score is calculated based on the first obstacle area collected when the robot is in its actual position in the external environment and the second obstacle area collected when the robot is in the planned position of the path planning, and it is detected whether the positioning score is greater than a preset score. The positioning score represents the degree of overlap between the first obstacle area and the second obstacle area.
[0055] If the positioning score is greater than the preset score, then the actual location and the planned location are determined to be consistent.
[0056] If the positioning score is less than or equal to the preset score, then the actual location and the planned location are determined to be inconsistent.
[0057] Furthermore, after the operation of detecting whether the robot's actual position in the external environment is consistent with the planned position of the robot's path planning, the processor 1001 can call the robot fault detection program stored in the memory 1002 and perform the following operations:
[0058] If the actual position is inconsistent with the planned position, then it is detected whether the robot's fault duration has reached a first preset duration from the moment when the data acquisition failure of the first positioning sensor or the second sensor is determined.
[0059] If the fault duration reaches the first preset duration, a first alarm is output to indicate that the first positioning sensor or the second sensor has experienced a data acquisition failure and the robot cannot resume operation.
[0060] Furthermore, after the step of outputting a first alarm to indicate that the first positioning sensor or the second sensor has experienced a data acquisition failure and the robot cannot resume operation when the fault duration reaches the first preset duration, the processor 1001 can call the robot fault detection program stored in the memory 1002 and perform the following operations:
[0061] Detect whether the robot's stopping time has reached a second preset time since the first alarm was output;
[0062] If the stop time reaches the second preset time, a second alarm is output to indicate that the robot has experienced a malfunction of oscillation or stationary movement.
[0063] Furthermore, before detecting whether the robot meets a preset stable operating state after detecting that the difference between the first data and the second data in a consecutive first preset number of positioning sensor data exceeds a first preset range, the processor 1001 can call the robot fault detection program stored in the memory 1002 and perform the following operations:
[0064] The robot is checked to see if it meets the preset fault detection conditions, wherein the fault detection conditions include the difference between the first data in two adjacent frames of positioning sensor data exceeding a third preset range, or the robot's running time reaching the detection cycle.
[0065] If the robot meets the fault detection conditions, then the operation of detecting whether the robot meets the preset stable operating state is performed after detecting that the difference between the first data and the second data in the positioning sensor data of a first preset number of consecutive frames exceeds the first preset range.
[0066] Furthermore, the first positioning sensor is an inertial sensor, the second positioning sensor is a wheeled odometer, and the operation of detecting whether the robot meets the preset stable operating state includes:
[0067] The system detects whether the robot is entering or exiting an elevator and whether the robot's motors are functioning properly.
[0068] If the robot is not in the process of entering or exiting an elevator and the robot's motor is functioning normally, then the robot is determined to be in a stable operating state.
[0069] Based on the above structure, various embodiments of the robot fault detection method of the present invention are proposed.
[0070] Reference Figure 2 , Figure 2 This is a flowchart illustrating the first embodiment of the robot fault detection method of the present invention.
[0071] This invention provides embodiments of a robot fault detection method. It should be noted that although the logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order. The executing entity in various embodiments of the robot fault detection method of this invention can be a robot, which can be a conventional robot controlled by an automatic control program. The embodiments do not limit the type or style of the robot or its specific implementation details. In this embodiment, the robot fault detection method includes the following steps S10 to S30:
[0072] Step S10: Obtain each frame of positioning sensor data, wherein each frame of positioning sensor data includes first data collected by the first positioning sensor and second data collected by the second positioning sensor in the robot, wherein the first positioning sensor and the second positioning sensor are inertial sensors or wheeled odometers.
[0073] The inertial sensors or wheeled odometers used for robot positioning are called positioning sensors. At least two positioning sensors can be installed in the same robot for accurate positioning. In this embodiment, the two positioning sensors used for fault detection are referred to as the first positioning sensor and the second positioning sensor. The first and second positioning sensors are respectively an IMU (Inertial Measurement Unit) sensor or a wheeled odometer; that is, the first positioning sensor is an inertial sensor or a wheeled odometer, and the second positioning sensor is also an inertial sensor or a wheeled odometer.
[0074] In this embodiment, data frames collected by the positioning sensors in the robot (hereinafter referred to as positioning sensor data for distinction) are acquired. A frame of positioning sensor data includes data collected by a first positioning sensor (hereinafter referred to as first data for distinction) and data collected by a second positioning sensor (hereinafter referred to as second data for distinction). In one feasible implementation, the first data and the second data may include angular velocity, and may also include an angle calculated based on the angular velocity.
[0075] Step S20: After detecting that the difference between the first data and the second data in the positioning sensor data of a first preset number of consecutive frames exceeds a first preset range, it is detected whether the robot meets the preset stable operating state.
[0076] In this embodiment, for each frame of positioning sensor data collected, it is detected whether the difference between the first data and the second data in the frame of positioning sensor data exceeds a preset range (hereinafter referred to as the first preset range for distinction), that is, it is detected whether the absolute value of the difference between the first data and the second data in the frame of positioning sensor data is greater than a preset threshold.
[0077] If, in a series of consecutive positioning sensor data for a preset number of frames (hereinafter referred to as the first preset frame number for distinction), the difference between the first data and the second data both exceed a first preset range, it is determined that the data collected by the first positioning sensor or the second positioning sensor is abnormal. At this point, it is necessary to further check whether the robot meets the preset stable operating state. The first preset range and the first preset frame number can be set according to actual needs.
[0078] The stable operation of the robot is characterized by the absence of hardware faults in the first and second positioning sensors, and the fact that the fluctuations of the first data and its individual values are within preset fluctuation ranges. Specifically, when the first and second positioning sensors operate in certain environments, the fluctuations of either sensor may exceed the fluctuation range. For example, when the first or second positioning sensor is an inertial sensor, if the robot is in an elevator, the data collected by the inertial sensor will fluctuate significantly, exceeding the fluctuation range.
[0079] Further, in one feasible embodiment, when the difference between the first data and the second data in a frame of positioning sensor data is detected to exceed a first preset range, a preset count (hereinafter referred to as the first count for distinction) representing the number of times there is a data difference between the first and second positioning sensors is incremented by one; it is then detected whether the first count exceeds a first preset number (i.e., the number of first preset frames); if the first count is greater than the first preset number, it is determined that in a consecutive first preset number of frames of positioning sensor data, the difference between the first data and the second data all exceed the first preset range. In this embodiment, if the difference between the first data and the second data in a frame of positioning sensor data is detected to be within the first preset range, it is determined that the data collected by the robot's inertial sensor or wheel odometry is normal. At this time, the first count can be cleared to avoid the previous count affecting subsequent detection, thereby improving the accuracy of fault detection.
[0080] Step S30: If the robot is in a stable operating state, then it is determined that either the first positioning sensor or the second sensor has a data acquisition failure.
[0081] In this embodiment, if the robot is in a stable operating state, it is determined that the data deviation between the first data and the second data is not caused by the unstable operation of the robot. At this time, it can be determined that the robot's first positioning sensor or the second positioning sensor has a data acquisition failure, that is, a failure where the data acquired by the first positioning sensor and the second positioning sensor have an excessively large data deviation.
[0082] Furthermore, in a feasible implementation, after determining that the first positioning sensor or the second sensor has malfunctioned in data acquisition, it can be determined whether the robot can resume operation by detecting the robot's status.
[0083] Furthermore, in one feasible implementation, if the positioning sensor detects a data acquisition failure, the robot can be stopped to ensure its safety.
[0084] Furthermore, in one feasible embodiment, steps S40 to S50 may be included before step S20:
[0085] Step S40: Detect whether the robot meets the preset fault detection conditions, wherein the fault detection conditions include the difference between the first data in two adjacent frames of positioning sensor data exceeding a third preset range, or the robot's running time reaching the detection cycle.
[0086] In this embodiment, before performing fault detection on the robot, it is checked whether the robot meets preset fault detection conditions to determine whether to perform fault detection on the robot. Specifically, the fault detection conditions include the difference between the first data in two adjacent frames of positioning sensor data exceeding a preset range (hereinafter referred to as the third preset range for distinction) (that is, the absolute value of the difference between the first data in two adjacent frames of positioning sensor data is greater than a preset threshold), or the robot's running time reaching the detection cycle. The third preset range and the detection cycle can be set according to actual needs and are not limited here.
[0087] Step S50: If the robot meets the fault detection condition, then the step of detecting whether the robot meets the preset stable operating state is executed after detecting that the difference between the first data and the second data in the positioning sensor data of a continuous first preset number of frames exceeds the first preset range.
[0088] If the robot meets the fault detection conditions, then it is determined to perform fault detection on the robot. That is, after detecting that the difference between the first data and the second data in the first preset number of consecutive positioning sensor data exceeds the first preset range, the step of detecting whether the robot meets the preset stable operating state is executed.
[0089] It should be noted that this embodiment sets fault detection conditions and performs fault detection on the robot when the fault detection conditions are met. Compared with constantly performing fault detection on the robot, this embodiment can reduce the workload of fault detection and avoid frequent fault detection work affecting the normal operation of the robot.
[0090] Further, in one feasible embodiment, the first positioning sensor is an inertial sensor, and the second positioning sensor is a wheel-type odometer. Step S20 may include S201 to S202:
[0091] Step S201: Detect whether the robot is in the process of entering or exiting an elevator, and detect whether the robot's motor is functioning properly;
[0092] In this embodiment, the first positioning sensor is an inertial sensor, and the second positioning sensor is a wheeled odometer. The robot's stable operating condition is determined by detecting whether it is entering or exiting an elevator and whether its motors are functioning properly. Specifically, when the data fluctuation of the inertial sensor is within a certain range and the wheeled odometer has no hardware faults, the robot is determined to be in a stable operating state.
[0093] In this embodiment, the fluctuation of the data collected by the inertial sensor is determined by detecting whether the robot is entering or exiting an elevator to see if it exceeds a preset fluctuation range. When the robot is not entering or exiting an elevator, the fluctuation of the inertial sensor data is determined to be within the fluctuation range. When the robot is entering or exiting an elevator, the fluctuation of the inertial sensor data exceeds the fluctuation range. In a specific embodiment, the robot's entry or exit from an elevator can be detected by detecting whether it is at a location marked as an elevator; alternatively, the robot's depth camera can collect image data, and an image detection algorithm can be used to detect whether an elevator is present in the image data to determine whether the robot is entering or exiting an elevator. Further details are omitted here.
[0094] The functionality of the wheeled odometer is checked by verifying the robot's motors. If the robot's motors are functioning correctly, the wheeled odometer is confirmed to have no hardware faults; if the robot's motors malfunction, the wheeled odometer is confirmed to have a hardware fault. In a specific implementation, the functionality of the robot's motors can be determined by detecting whether errors are reported from the motors; details will not be elaborated here.
[0095] Step S202: If the robot is not in the elevator entry / exit state and the robot's motor is normal, then it is determined that the robot meets the stable operating state.
[0096] If the robot is not in the process of entering or exiting an elevator and the robot's motor is functioning normally, then the data fluctuation of the inertial sensor is within the fluctuation range and the wheel odometer has no hardware faults. At this point, it can be determined that the robot is in a stable operating state.
[0097] In this embodiment, if the robot is in the process of entering or exiting an elevator or the robot's motor is abnormal, it can be determined that the data fluctuation of the inertial sensor is outside the fluctuation range or the wheel odometer has a hardware failure, thus determining that the robot does not meet the requirements for stable operation.
[0098] In this embodiment, by acquiring each frame of positioning sensor data, wherein each frame of positioning sensor data includes first data collected by the first positioning sensor and second data collected by the second positioning sensor in the robot, the first positioning sensor and the second positioning sensor are inertial sensors or wheeled odometers; after detecting that the difference between the first data and the second data in a first preset number of consecutive frames of positioning sensor data exceeds a first preset range, it is detected whether the robot meets a preset stable operating state; if the robot meets the stable operating state, it is determined that the first positioning sensor or the second sensor has a data acquisition failure.
[0099] Compared to comparing data collected by inertial sensors or wheeled odometers with preset thresholds to determine if a fault has occurred, this embodiment detects deviations between data collected by the two positioning sensors when the robot is in a stable operating state, thus determining whether the robot's inertial sensor or wheeled odometer is faulty. This embodiment avoids the situation where abnormal data collected by the positioning sensors due to unstable robot operation leads to false detections of inertial sensor or wheeled odometer malfunctions, thereby improving the accuracy of detecting inertial sensor or wheeled odometer faults and enhancing robot safety.
[0100] Furthermore, based on the first embodiment described above, a second embodiment of the robot fault detection method of the present invention is proposed. In this embodiment, step S30 may be followed by steps S60 to S70:
[0101] Step S60: Control the robot to stop running and detect whether the actual position of the robot in the external environment is consistent with the planned position of the robot path planning;
[0102] In this embodiment, after determining that the robot's positioning sensor has malfunctioned in data acquisition, the robot is controlled to stop running, and the system checks whether the robot's operation can be resumed.
[0103] Specifically, the system detects whether the robot's position in the external environment (hereinafter referred to as the actual position) is consistent with the position planned along the robot's path (hereinafter referred to as the planned position). In one feasible implementation, the consistency between the actual position and the planned position can be determined by whether the obstacle area collected by the robot at the actual position overlaps with the obstacle area collected by the robot at the planned position. In another feasible implementation, the consistency between the actual position and the planned position can also be determined by whether the distance between the corresponding positions in the external environment of the actual position and the planned position is less than a preset distance.
[0104] Step S70: If the actual position is consistent with the planned position, then when both the first data and the second data are within a second preset range in the location sensor data of a second preset number of consecutive frames, the robot operation is resumed.
[0105] Since the robot has been stopped, the first and second positioning sensors should not have collected any change data. Therefore, in this embodiment, when a frame of positioning sensor data is collected, it is detected whether the first and second data in the frame of positioning sensor data are within a preset range (hereinafter referred to as the second preset range for distinction) to determine whether the first and second positioning sensors can work, thereby determining whether the robot can resume operation.
[0106] If, in the detected positioning sensor data of a consecutive preset number of frames (hereinafter referred to as the second preset number of frames for distinction), both the first data and the second data are within the second preset range, it is determined that the first positioning sensor and the second positioning sensor have not collected any data changes after the robot stops running. At this time, it is determined that the first positioning sensor and the second positioning sensor can work normally, and the robot can resume operation.
[0107] In one feasible implementation, if both the first and second data in a frame of positioning sensor data are within a second preset range, a preset second count is incremented by one; it is then checked whether the second count is greater than a second preset number (i.e., the number of second preset frames); if the second count is greater than the second preset count, it is determined that in a consecutive second preset number of frames of positioning sensor data, both the first and second data are within the second preset range. In this implementation, if the first and second data in a frame of positioning sensor data are not both within the second preset range, the second count can be reset to zero to avoid the previous count affecting subsequent detections.
[0108] Furthermore, in one feasible implementation, while detecting whether the first data and the second data in a frame of positioning sensor data are each within a second preset range, it is possible to detect whether the difference between the first data and the second data in a frame of positioning sensor data is less than a preset threshold, so as to make the detection result more accurate.
[0109] Specifically, in a feasible implementation, step S60 may further include S601 to S603:
[0110] Step S601: Calculate the positioning score based on the obstacle area collected when the robot is in its actual position in the external environment and the obstacle area collected when the robot is in the planned position of the path planning, and detect whether the positioning score is greater than a preset score, wherein the positioning score represents the degree of overlap between the first obstacle area and the second obstacle area.
[0111] In this embodiment, the consistency between the actual position and the planned position is determined by whether the obstacle area collected by the robot at its actual position overlaps with the obstacle area collected by the robot at its planned position. Specifically, a positioning score characterizing the overlap between the first obstacle area and the second obstacle area is calculated based on the obstacle area collected when the robot is at its actual position in the external environment (hereinafter referred to as the first obstacle area for distinction) and the obstacle area collected when the robot is at its planned position in the path planning (hereinafter referred to as the second obstacle area for distinction). For example, in one feasible embodiment, the positioning score can be calculated by counting the number of offset grids between the first obstacle area and the second obstacle area, or it can be calculated by mapping the number of offset grids to the numerical value. No limitation is imposed here.
[0112] Step S602: If the positioning score is greater than the preset score, then the actual position and the planned position are determined to be consistent.
[0113] In this embodiment, if the positioning score is greater than the preset score, it is determined that the first obstacle area and the second obstacle area have a high degree of overlap, and the actual position is determined to be consistent with the planned position.
[0114] Step S603: If the positioning score is less than or equal to the preset score, then it is determined that the actual position and the planned position are inconsistent.
[0115] If the positioning score is less than or equal to the preset score, it is determined that the overlap between the first obstacle area and the second obstacle area is low, and the actual position is inconsistent with the planned position.
[0116] In this embodiment, the robot is controlled to stop running, and the actual position of the robot in the external environment is detected to be consistent with the planned position of the robot path planning. If the actual position is consistent with the planned position, the robot operation is resumed when both the first data and the second data are within a second preset range in a continuous second preset number of positioning sensor data frames. This embodiment resumes robot operation when it is determined that the robot positioning is accurate and the first and second positioning sensors are ready to resume operation, so that the normal operation of the robot is not affected.
[0117] Furthermore, based on the first and / or second embodiments described above, a third embodiment of the robot fault detection method of the present invention is proposed. In this embodiment, step S60 may be followed by steps S80 to S90:
[0118] Step S80: If the actual position is inconsistent with the planned position, then detect whether the robot's fault duration has reached a first preset duration since the moment when the data acquisition failure of the first positioning sensor or the second sensor is determined to have occurred.
[0119] In this embodiment, if the actual position is inconsistent with the planned position, it is detected whether the duration of the robot malfunction (hereinafter referred to as the malfunction duration for distinction) from the moment when the data acquisition failure of the first positioning sensor or the second sensor is determined has reached a preset duration (hereinafter referred to as the first preset duration for distinction).
[0120] Step S90: If the fault duration reaches the first preset duration, a first alarm is output to indicate that the first positioning sensor or the second sensor has a data acquisition failure and the robot cannot resume operation.
[0121] If the fault duration reaches the first preset duration, it is determined that the robot cannot resume operation. At this time, the first alarm is output to indicate that the first positioning sensor or the second sensor has a data acquisition failure and the robot cannot resume operation.
[0122] Furthermore, in one feasible implementation, if the fault duration does not reach the first preset duration, the process can return to the step of checking whether the actual position of the robot in the external environment is consistent with the planned position of the robot path planning.
[0123] Furthermore, in one feasible embodiment, step S90 is followed by steps A10 to A20:
[0124] Step A10: Detect whether the robot's stopping time has reached the second preset time since the first alarm was output;
[0125] The detection checks whether the robot's stop time, from the moment it is determined that the robot cannot resume operation, has reached a preset duration (hereinafter referred to as the second preset duration for distinction). The second preset duration can be set according to actual needs; for example, in one embodiment, the second preset duration can be 200 seconds.
[0126] Step A20: If the stop time reaches the second preset time, a second alarm is output to indicate that the robot has experienced a malfunction of oscillation or stationary movement.
[0127] If the stop time reaches the second preset time, a second alarm will be output to indicate that the robot has experienced a malfunction such as oscillation or stationary movement.
[0128] Furthermore, in one feasible implementation, if the stop time reaches a second preset time, the process can return to the step of checking whether the actual position of the robot in the external environment is consistent with the planned position of the robot path planning.
[0129] In this embodiment, if the actual position differs from the planned position, it detects whether the robot's fault duration has reached a first preset duration since the moment the data acquisition failure of the first or second positioning sensor was determined. If the fault duration reaches the first preset duration, a first alarm is output to indicate that the first or second positioning sensor has experienced a data acquisition failure and the robot cannot resume operation. This embodiment effectively detects whether the robot has experienced an irreversible sensor failure, determines the severity of the sensor failure, and improves the maintenance efficiency of maintenance personnel.
[0130] Exemplarily, in one feasible implementation, reference is made to Figure 3 , Figure 3 This is a flowchart illustrating one embodiment of the robot fault detection method of the present invention. In this embodiment, the first positioning sensor is an inertial sensor (i.e., Figure 3 The IMU module shown is used for positioning, and the second positioning sensor is a wheel-type odometer (i.e., the IMU module shown). Figure 3 The codebook module shown is used to acquire positioning sensor data for each frame. Each frame of positioning sensor data includes first data acquired by the inertial sensor and second data acquired by the wheel odometer (i.e.,...). Figure 3 The IMU module and code table module shown transmit data to the data collection module.
[0131] Check whether the robot meets the preset fault detection conditions (i.e.) Figure 3 The data collection module shown transmits data to the diagnostic module 1, detecting an IMU frame orientation change greater than 10 degrees or reaching a diagnostic cycle of 3 seconds. The fault detection condition includes the difference between the first data in two adjacent frames of positioning sensor data being within a third preset range (i.e.,...). Figure 3 The IMU shown in the image has an orientation change greater than 10 degrees between consecutive frames, or the robot's runtime reaches the detection cycle (i.e., ...). Figure 3 The diagnostic cycle shown is 3 seconds. If the robot does not meet the fault detection conditions, return to the step of checking whether the robot meets the preset fault detection conditions (i.e., Figure 3 The return diagnostic module 1 is shown in the figure.
[0132] In this embodiment, the first data may include a first angle of change of the robot relative to a preset baseline, acquired by an inertial sensor. The second sensor may include the angle of change of the robot relative to the preset baseline. The preset baseline can be set according to actual needs. For example, in one feasible embodiment, the preset baseline may represent a line at 0 degrees north. If the robot meets the fault detection conditions, after acquiring a frame of positioning sensor data, it is detected whether the difference between the first angle and the second angle in the frame of positioning sensor data exceeds a first preset range (i.e., ...). Figure 3The indicator shown is whether the IMU angle change and the codebook angle change are greater than 12 degrees.
[0133] If the difference between the first angle and the second angle is within the first preset range, the preset first count is incremented by one (that is...). Figure 3 The counter cnt++ is triggered when the IMU angle change and the code table angle change are greater than 12 degrees; if the difference between the first angle and the second angle is within a first preset range, the first counter is reset to zero (i.e., ...). Figure 3 When the IMU angle change and the code table angle change are less than or equal to 12 degrees, the counter cnt is reset to 0.
[0134] When the first count is detected to be greater than the first preset count, and it is determined that in the positioning sensor data of a consecutive first preset number of frames, the difference between the first angle and the second angle both exceed the first preset range, it can be detected whether the robot meets the preset stable operating state (i.e., Figure 3 As shown, when the counter cnt is greater than 3, an anomaly is reported to the diagnostic module 2; when the first count is detected to be less than or equal to the first preset count, the system returns to check whether the robot meets the fault detection conditions.
[0135] In this embodiment, the robot is checked to determine whether it is in a stable operating state (i.e., whether it is entering or exiting an elevator) and whether its motors are functioning properly. Figure 3 The indicator shown is to check whether the robot is not in elevator entry or exit mode and whether the motor is functioning normally.
[0136] If the robot is not in the process of entering or exiting an elevator and its motors are functioning normally, indicating that the robot is operating stably, a sensor data acquisition failure may occur, meaning the data collected by the robot's inertial sensors and the wheel odometer data deviate significantly (i.e.,...). Figure 3 The robot shown is not in elevator entry or exit mode and its motor is normal, so error 133D is reported. If the robot is in elevator entry or exit mode or its motor is abnormal, it is determined that the robot does not meet the requirements for stable operation, and no action is taken against the robot (i.e., ...). Figure 3 (The robot shown is not processed when it is in the mode of entering or exiting an elevator or when the motor is malfunctioning.)
[0137] In this embodiment, refer to Figure 4 , Figure 4 This is a flowchart illustrating one embodiment of the robot fault detection method of the present invention. After determining that the robot's positioning sensor has experienced a data acquisition failure, the robot is controlled to stop running (i.e., Figure 4The control module shown suspends robot movement and calculates a positioning score based on the obstacle area collected when the robot is in its actual position in the external environment and the obstacle area collected when the robot is in the planned position of the path planning. It then checks whether the positioning score is greater than a preset score (i.e., ...). Figure 4 As shown, after entering the navigation and positioning module, the robot's current positioning score is detected to be 0.4.
[0138] In this embodiment, the first data may include a first angular velocity collected by an inertial sensor, and the second data may include a second angular velocity collected by a wheel odometer. When the positioning score is detected to be greater than a preset score, after collecting a frame of positioning sensor data, it is checked whether both the first angular velocity and the second angular velocity in the frame of positioning sensor data are less than a preset angular velocity (i.e., ...). Figure 4 The diagram shows the sending of a recovery command to the recovery module, and the detection of the angular velocity of the IMU and code table being less than 2 degrees / second.
[0139] If both the first and second angular velocities in a frame of positioning sensor data are less than a preset angular velocity, then the preset second count is incremented by one (i.e., ...). Figure 4 The acceleration of the IMU and wheeled odometer shown is less than 2 degrees / second (static_cnt++); if the first angular velocity or the second angular velocity is not equal to the preset angular velocity, then the second count is cleared (i.e., ...). Figure 4 The acceleration of the IMU and code table shown is not less than 2 degrees / second, and the counter static_cnt is reset to 0.
[0140] When the second count is detected to be greater than the second preset count, and the first and second data in the positioning sensor data of a consecutive second preset number of frames are both within the second preset range, the robot operation is resumed (i.e., Figure 4 The step shown is to check if static_cnt is greater than 50, and then, through the control module, allow the robot to move; if the second count is less than or equal to the second preset count, then return to the step of checking if both the first and second positioning sensors are functioning correctly (i.e., ...). Figure 4 (The return recovery module shown).
[0141] In this embodiment, when the detected positioning score is less than or equal to a preset score, it is determined that the actual position is inconsistent with the planned position. At this time, it is checked whether the robot's fault duration from the moment the data acquisition failure of the first positioning sensor or the second sensor is determined to have reached a first preset duration (i.e., Figure 4 The example shown is that when the robot's current localization score does not meet 0.4, it checks whether the time from the reporting of error 133D to the present meets 3 seconds.
[0142] If the fault duration reaches the first preset duration, it is determined that the robot cannot resume operation (i.e., Figure 4 The example shown is reporting a Class 167C error; if the fault duration does not reach the first preset duration, the process returns to the step of checking whether the robot's actual position in the external environment matches the planned position of the robot's path planning (i.e., ...). Figure 4 (As shown in the diagram, returning to the navigation and positioning module).
[0143] The system detects whether the robot's stopping time has reached a second preset time since the first alarm was output. If the stopping time reaches the second preset time, a second alarm is output to indicate that the robot has experienced a planned oscillation or stationary malfunction (i.e.,...). Figure 4 The detection shown indicates whether the timeout has occurred and recovery has not been completed; if recovery fails to occur within the timeout period, an error 119 will be reported. If the stop time reaches the second preset time, the process returns to the step of checking whether the robot's actual position in the external environment matches the planned position of the robot's path (i.e., ...). Figure 4 (As shown in the diagram, returning to the navigation and positioning module).
[0144] Furthermore, this invention also proposes a robot fault detection device, which is deployed on a robot, as shown in the following embodiments. Figure 5 The device includes:
[0145] The acquisition module 10 is used to acquire positioning sensor data in each frame. Each frame of positioning sensor data includes first data collected by the first positioning sensor and second data collected by the second positioning sensor in the robot. The first positioning sensor and the second positioning sensor are inertial sensors or wheeled odometers.
[0146] The detection module 20 is used to detect whether the robot meets a preset stable operating state after the difference between the first data and the second data in the positioning sensor data of a first preset number of consecutive frames exceeds a first preset range.
[0147] The determination module 30 is used to determine whether the first positioning sensor or the second sensor has a data acquisition failure if the robot meets the stable operating state.
[0148] In one feasible embodiment, the detection module 20 is further configured to:
[0149] Control the robot to stop running and detect whether the robot's actual position in the external environment is consistent with the planned position of the robot's path planning;
[0150] If the actual location matches the planned location, then when both the first data and the second data are within a second preset range in the location sensor data of a second preset number of consecutive frames, the robot operation is resumed.
[0151] In one feasible embodiment, the detection module 20 is further configured to:
[0152] A positioning score is calculated based on the first obstacle area collected when the robot is in its actual position in the external environment and the second obstacle area collected when the robot is in the planned position of the path planning, and it is detected whether the positioning score is greater than a preset score. The positioning score represents the degree of overlap between the first obstacle area and the second obstacle area.
[0153] If the positioning score is greater than the preset score, then the actual location and the planned location are determined to be consistent.
[0154] If the positioning score is less than or equal to the preset score, then the actual location and the planned location are determined to be inconsistent.
[0155] In one feasible embodiment, the detection module 20 is further configured to:
[0156] If the actual position is inconsistent with the planned position, then it is detected whether the robot's fault duration has reached a first preset duration from the moment when the data acquisition failure of the first positioning sensor or the second sensor is determined.
[0157] If the fault duration reaches the first preset duration, a first alarm is output to indicate that the first positioning sensor or the second sensor has experienced a data acquisition failure and the robot cannot resume operation.
[0158] In one feasible embodiment, the detection module 20 is further configured to:
[0159] Detect whether the robot's stopping time has reached a second preset time since the first alarm was output;
[0160] If the stop time reaches the second preset time, a second alarm is output to indicate that the robot has experienced a malfunction of oscillation or stationary movement.
[0161] In one feasible embodiment, the detection module 20 is further configured to:
[0162] The robot is checked to see if it meets the preset fault detection conditions, wherein the fault detection conditions include the difference between the first data in two adjacent frames of positioning sensor data exceeding a third preset range, or the robot's running time reaching the detection cycle.
[0163] If the robot meets the fault detection conditions, then the step of detecting whether the robot meets the preset stable operating state is executed after detecting that the difference between the first data and the second data in the positioning sensor data of a first preset number of consecutive frames exceeds the first preset range.
[0164] In one feasible embodiment, the detection module 20 is further configured to:
[0165] The system detects whether the robot is entering or exiting an elevator and whether the robot's motors are functioning properly.
[0166] If the robot is not in the process of entering or exiting an elevator and the robot's motor is functioning normally, then the robot is determined to be in a stable operating state.
[0167] The extended content of the specific implementation of the robot fault detection device of the present invention is basically the same as the embodiments of the robot fault detection method described above, and will not be repeated here.
[0168] Furthermore, embodiments of the present invention also propose a computer-readable storage medium storing a robot fault detection program, which, when executed by a processor, implements the steps of the robot fault detection method described below.
[0169] All embodiments of the robot and computer-readable storage medium of the present invention can be referred to in the various embodiments of the robot fault detection method of the present invention, and will not be repeated here.
[0170] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0171] The sequence numbers of the above embodiments of the present invention are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0172] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of the present invention.
[0173] The above are merely preferred embodiments of the present invention and do not limit the scope of the patent. Any equivalent structural or procedural transformations made based on the description and drawings of the present invention, or direct or indirect applications in other related technical fields, are similarly included within the scope of patent protection of the present invention.
Claims
1. A robot fault detection method, applied to a robot, characterized in that, The method comprises: Acquire positioning sensor data for each frame, wherein each frame of positioning sensor data includes first data collected by the first positioning sensor and second data collected by the second positioning sensor in the robot; If, in a series of first preset frames of positioning sensor data, the difference between the first data and the second data both exceed a first preset range, then it is determined whether the robot meets a preset stable operating state. If the robot meets the stable operating state, then it is determined that either the first positioning sensor or the second positioning sensor has a data acquisition failure. The first positioning sensor is an inertial sensor, and the second positioning sensor is a wheeled odometer. The step of detecting whether the robot meets the preset stable operating state includes: The system detects whether the robot is entering or exiting an elevator and whether the robot's motors are functioning properly. If the robot is not in the process of entering or exiting an elevator and the robot's motor is functioning normally, then the robot is determined to be in a stable operating state.
2. The robot fault detection method as described in claim 1, characterized in that, After the step of determining that either the first or second positioning sensor has experienced a data acquisition failure if the robot meets the stable operating state, the method further includes: Control the robot to stop running and detect whether the robot's actual position in the external environment is consistent with the planned position of the robot's path planning; If the actual location matches the planned location, then when both the first data and the second data are within a second preset range in the location sensor data of a second preset number of consecutive frames, the robot operation is resumed.
3. The robot fault detection method as described in claim 2, characterized in that, The step of detecting whether the robot's actual position in the external environment is consistent with the planned position of the robot's path planning includes: A positioning score is calculated based on the first obstacle area collected when the robot is in its actual position in the external environment and the second obstacle area collected when the robot is in the planned position of the path planning, and it is detected whether the positioning score is greater than a preset score. The positioning score represents the degree of overlap between the first obstacle area and the second obstacle area. If the positioning score is greater than the preset score, then the actual location and the planned location are determined to be consistent. If the positioning score is less than or equal to the preset score, then the actual location and the planned location are determined to be inconsistent.
4. The robot fault detection method as described in claim 2, characterized in that, After the step of detecting whether the robot's actual position in the external environment is consistent with the planned position of the robot's path planning, the method further includes: If the actual position is inconsistent with the planned position, then it is detected whether the robot's fault duration has reached a first preset duration from the moment when the data acquisition failure of the first positioning sensor or the second positioning sensor is determined. If the fault duration reaches the first preset duration, a first alarm is output to indicate that the first positioning sensor or the second positioning sensor has experienced a data acquisition failure and the robot cannot resume operation.
5. The robot fault detection method as described in claim 4, characterized in that, Following the step of outputting a first alarm if the fault duration reaches the first preset duration to indicate that the first positioning sensor or the second positioning sensor has experienced a data acquisition failure and the robot cannot resume operation, the method further includes: Detect whether the robot's stopping time has reached a second preset time since the first alarm was output; If the stop time reaches the second preset time, a second alarm is output to indicate that the robot has malfunctioned and is not moving in place.
6. The robot fault detection method according to any one of claims 1 to 5, characterized in that, Before the step of detecting whether the robot meets a preset stable operating state after detecting that the difference between the first data and the second data in a continuous first preset number of positioning sensor data exceeds a first preset range, the method further includes: The robot is checked to see if it meets the preset fault detection conditions, wherein the fault detection conditions include the difference between the first data in two adjacent frames of positioning sensor data exceeding a third preset range, or the robot's running time reaching the detection cycle. If the robot meets the fault detection conditions, then the following steps are executed: after detecting that the difference between the first data and the second data in the positioning sensor data of a first preset number of consecutive frames exceeds the first preset range, the steps of detecting whether the robot meets the preset stable operating state and subsequent steps are executed.
7. A robot fault detection device, said device being deployed on a robot, characterized in that, The device comprises: The acquisition module is used to acquire positioning sensor data in each frame, wherein each frame of positioning sensor data includes first data collected by the first positioning sensor and second data collected by the second positioning sensor in the robot. The detection module is used to detect whether the robot meets a preset stable operating state after the difference between the first data and the second data in the positioning sensor data of a first preset number of consecutive frames exceeds a first preset range. The determination module is used to determine whether the first positioning sensor or the second positioning sensor has a data acquisition failure if the robot meets the stable operating state. The first positioning sensor is an inertial sensor, and the second positioning sensor is a wheeled odometer. The detection module is also used to: detect whether the robot is in the process of entering or exiting an elevator, and detect whether the robot's motor is normal; if the robot is not in the process of entering or exiting an elevator and the robot's motor is normal, then it is determined that the robot meets the requirements of a stable operating state.
8. A robot, characterized in that, The robot includes: a memory, a processor, and a robot fault detection program stored in the memory and executable on the processor, wherein when the robot fault detection program is executed by the processor, it implements the steps of the robot fault detection method as described in any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a robot fault detection program, which, when executed by a processor, implements the steps of the robot fault detection method as described in any one of claims 1 to 6.
Citation Information
Patent Citations
Positioning method and device of inspection robot and storage medium
CN114879688A
High-precision inertial measurement apparatus and inertial measurement method
US20210072278A1