Method for determining health condition of robot, electronic device, computer readable storage medium, and computer program

The method leverages video data analysis to automatically diagnose robot health conditions by interpreting audio spectra calibrated with speed profiles, addressing inefficiencies in existing manual and expert-dependent methods.

WO2025111975A1PCT designated stage expired Publication Date: 2025-06-05ABB (SCHWEIZ) AG +3
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2023/135633
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-11-30
Publication Date
2025-06-05

AI Technical Summary

Technical Problem

Existing methods for diagnosing the health condition of robots are often manual, require expert intervention, and cannot be performed automatically by less experienced engineers, leading to inefficiencies and increased costs.

Method used

A method that uses video data from a robot during movement to determine its health condition by analyzing the speed profile and generating an audio spectrum, which can be interpreted automatically to diagnose any issues without the need for specific equipment or expert input.

Benefits of technology

This approach allows for quick, professional, and cost-efficient robot health condition diagnosis, enabling automatic interpretation of audio spectra calibrated with speed profiles, thus reducing the need for manual analysis and expert intervention.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2023135633_05062025_PF_FP_ABST
    Figure CN2023135633_05062025_PF_FP_ABST
Patent Text Reader

Abstract

There is a method for determining a health condition of a robot. The method comprises obtaining image data and audio data of a robot during movement (202). The method further comprises determining a speed profile of the robot based on the image data (204). The method further comprises generating an audio spectrum of the audio data based on the speed profile (206). The method further comprises determining a health condition of the robot based on the audio spectrum (208). In this way, the health condition diagnosis mechanism is the professional, quick and cost-efficient. Neither costly / bulky equipment nor complex operation is needed for field engineers. In addition, there is no operation interruption. Therefore, the health condition diagnosis mechanism is an ease-of-use solution to quickly examine any robot at any time by anyone.
Need to check novelty before this filing date? Find Prior Art

Description

METHOD FOR DETERMINING HEALTH CONDITION OF ROBOT, ELECTRONIC DEVICE, COMPUTER READABLE STORAGE MEDIUM, AND COMPUTER PROGRAMFIELD

[0001] Embodiments of the present disclosure generally relate to the field of robotics, and more particularly, to a method for determining a health condition of a robot, an electronic device, computer readable storage medium, and a computer program.BACKGROUND

[0002] Robots play important parts in modern industries since they are able to work faster, more precise and run longer than us human beings. With more robots operating automatically, it is more and more important to discover faults that may cause losses in performances or even plant downtime as early as possible in order to minimize impact on the users’ operation. Because of the high cost of production shutdown, there are many solutions developed to monitor the health status of the robot.

[0003] For example, experts may go to the site to check noise from robot, and backup controller setups and take video for noisy robot for further manual check. Alternatively, the engineers on the site may upload robot motion data from controller to cloud / edge server for the expert to analyze.SUMMARY

[0004] In view of the foregoing problems, example embodiments of the present disclosure propose solutions for health condition diagnose based on the video of the robot.

[0005] In a first aspect of the present disclosure, example embodiments of the present disclosure provide a method for determining a health condition of a robot. The method comprises obtaining, by a computing device, video data of a robot during movement. In this case, the video data comprises image data and audio data. The method further comprises determining, by the computing device, a speed profile of the robot based on the image data. The method further comprises generating, by the computing device, an audio spectrum of the audio data based on the speed profile. The method further comprises determining, by the computing device, a health condition of the robot based on the audio  spectrum.

[0006] In a second aspect, example embodiments of the present disclosure provide an electronic device. The electronic device comprises: at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the device to perform the method in accordance with the first aspect of the present disclosure.

[0007] In a third aspect, example embodiments of the present disclosure provide a computer readable storage medium storing instructions which, when executed by a computer, cause the computer to perform the method in accordance with the first aspect of the present disclosure.

[0008] In a fourth aspect, example embodiments of the present disclosure provide a computer program comprising instructions which, when executed by a computer, cause the computer to perform the method in accordance with the first aspect of the present disclosure.BRIEF DESCRIPTION OF THE DRAWINGS

[0009] Through the following detailed descriptions with reference to the accompanying drawings, the above and other objectives, features and advantages of the example embodiments disclosed herein will become more comprehensible. In the drawings, several example embodiments disclosed herein will be illustrated in an exemplary and in a non-limiting manner, wherein:

[0010] Fig. 1 schematically illustrates a block diagram of a robot diagnostic system in which example embodiments of the present disclosure can be implemented;

[0011] Fig. 2 schematically illustrates a flowchart of a method for determining a health condition of a robot in accordance with embodiments of the present disclosure;

[0012] Fig. 3 schematically illustrates a flowchart of a method for determining a speed profile of a robot in accordance with embodiments of the present disclosure;

[0013] Fig. 4A schematically illustrates a schematic diagram of an example procedure for determining a speed profile by means of machine learning models in accordance with some embodiments of the present disclosure;

[0014] Fig. 4B schematically illustrates a schematic diagram of an example procedure for training the machine learning models in accordance with some embodiments of the present  disclosure;

[0015] Fig. 5A schematically illustrates a flowchart of a method for generating an audio spectrum in accordance with embodiments of the present disclosure;

[0016] Fig. 5B schematically illustrates a flowchart of a method for resampling the audio data in accordance with embodiments of the present disclosure;

[0017] Fig. 6 schematically illustrates a flowchart of a method for determining a health condition of a robot in accordance with embodiments of the present disclosure;

[0018] Fig. 7 schematically illustrates a schematic diagram of an example procedure for determining a health condition of a robot in accordance with some further embodiments of the present disclosure; and

[0019] Fig. 8 schematically illustrates a schematic diagram of an electronic device for implementing a method in accordance with embodiments of the present disclosure.

[0020] Throughout the drawings, the same or similar reference numerals represent the same or similar element.DETAILED DESCRIPTION

[0021] Principle of the present disclosure will now be described with reference to some example embodiments. It is to be understood that these embodiments are described only for the purpose of illustration and help those skilled in the art to understand and implement the present disclosure, without suggesting any limitation as to the scope of the disclosure. The disclosure described herein can be implemented in various manners other than the ones described below.

[0022] In the following description and claims, unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skills in the art to which this disclosure belongs.

[0023] References in the present disclosure to “one embodiment, ” “an embodiment, ” “an example embodiment, ” and the like indicate that the embodiment described may include a particular feature, structure, or characteristic, but it is not necessary that every embodiment includes the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is  within the know circle of one skilled in the art to affect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.

[0024] It shall be understood that although the terms “first” and “second” etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and similarly, a second element could be termed a first element, without departing from the scope of example embodiments. As used herein, the term “and / or” includes any and all combinations of one or more of the listed terms.

[0025] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of example embodiments. As used herein, the singular forms “a” , “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” , “comprising” , “has” , “having” , “includes” and / or “including” , when used herein, specify the presence of stated features, elements, and / or components etc., but do not preclude the presence or addition of one or more other features, elements, components and / or combinations thereof.

[0026] As described above, it is conventional to send experts to the site and take a video of the noisy robot. Then, the experts need to analyze the video manually based on their personal experience. However, since the personal expertise of the expert must be involved, the diagnose cannot be performed automatically by engineers with less experiences.

[0027] In view of the above, a mechanism of robot health condition diagnosis by means of terminal devices is provided. In the robot health condition diagnosis, the audio data and image data contained in the video data of the robot during movement are simultaneously collected. A speed profile is determined based on the video of the robot movement and is used to calibrate the audio data so that an audio spectrum for determining the health condition is generated. The terminal device may automatically determine the health condition by interpreting the audio spectrum.

[0028] In the embodiments of the present disclosure, the diagnosis is automatically performed by the terminal device. In the illustrated embodiment, no operation data is required from the robot or the controller cabinet. Therefore, any mobile devices can be used to perform the robot health condition diagnosis without specifically-designed  equipment. Further, the audio spectrum is calibrated with reference to the speed and thus can be interpreted automatically without experts’ inputs. In this way, the health condition diagnosis mechanism in accordance with the present disclosure is the professional, quick and cost-efficient. Neither costly / bulky equipment nor complex operation is needed for field engineers. In addition, there is no operation interruption. Therefore, the health condition diagnosis mechanism is an ease-of-use solution to quickly examine any robot at any time by anyone.

[0029] A framework in accordance with embodiments of the present disclosure will be described with reference to Figs. 1 to 8. Fig. 1 schematically illustrates a block diagram of a robot diagnostic system 100 in which example embodiments of the present disclosure can be implemented. As illustrated in Fig. 1, the robot diagnostic system 100 includes a robot 110. The robot 110 includes three joints or axes, including a first joint 111, a second joint 112 and a third joint 113. The robot diagnostic system 100 further includes a controller cabinet 120 coupled to the robot 110. The three joints of the robot 110 may be driven by the controller cabinet 120 collaboratively to perform specific operations.

[0030] The robot diagnostic system 100 further includes a computing device 130 which is illustrated as a terminal device from a user at site. The computing device 130 includes a camera 131 and a microphone 132. During operations, the robot 110 may move in a pre-programmed trajectory and would certainly make sound. In this case, the computing device 130 may record a video of the robot 110 during movement with the camera 131 and record sounds made by the robot 110 with the microphone 132. As a result, video data 140 is obtained. The video data 140 includes image data 141 of the video taken by the camera 131 and audio data 142 of the sounds recorded by the microphone 132. After the video data 140 of the robot 110 during operation is obtained, the computing device 130 may process the video data 140 to normalize the video data 140 such that the normalized data may be used for further analysis. For example, the video data 140 may be used for determining a health condition of the three joints of the robot 110. The computing device 130 may process the video data 140 to obtain a health condition diagnosis 150.

[0031] It should be appreciated that although the computing device 130 is illustrated as a terminal device, such as a smartphone, the computing device 130 may further comprise tablets, laptops and devices alike that may be capable of recording and providing computing resources in the same time.

[0032] Alternatively, the robot diagnostic system 100 may further include a surveillance camera 160. The surveillance camera 160 may be located in the facility for security purposes and is capable of recording video / audio data. In some example embodiments, the surveillance camera 160 may continuously record sounds made by the robot 110 during operation and record movement videos of the robot 110. In these embodiments, the video data 140 is obtained by the surveillance camera 160 and may be transmitted to the computing device 130 in real time or at a later time for example in response to a retrieving request from the computing device 130. In this case, the data collection function is provided by the surveillance camera 160 while the computing device 130 only provides computing resources. With the data collection device on site, the computing device may be located on site or be remotely located. The health condition diagnosis may be performed any time anywhere.

[0033] In the illustrated embodiments, the computing device 130 is not coupled to the controller cabinet 120 and the health condition diagnosis can be performed without requiring specific operation data from the controller cabinet 120 or the robot 110. Further, the video data 140 can be processed synthetically to be normalized such that a diagnosis can be performed based on reference data automatically without intervention of the expertise. Hereinafter, the health condition diagnosis mechanism will be described in detail with reference to Figs. 2-7.

[0034] Fig. 2 schematically illustrates a flowchart of a method 200 for determining a health condition of a robot in accordance with embodiments of the present disclosure. For discussion purpose, the method 200 will be described with reference to Fig. 1. For example, the method 200 may be implemented by the computing device 130 in Fig. 1.

[0035] At 202, the computing device obtains video data of a robot during movement. In this case, the video data comprises image data and audio data. For example, in the embodiment illustrated in Fig. 1, the computing device 130 obtains the image data 141 and audio data 142 of the robot 110 during operation. In some example embodiments, the image data 141 and audio data 142 may be recorded by the computing device 130. In some alternative embodiments, the image data 141 and audio data 142 may be recorded by an external filming device, for example the surveillance camera 160 and transmitted to the computing device 130.

[0036] At 204, the computing device determines a speed profile of the robot based on the  image data. For example, in the embodiment illustrated in Fig. 1, the computing device 130 determines a speed profile of the robot based on the image data. In this case, the speed profile may comprise rotation speeds of all the axes of the robot. With the rapid development of artificial intelligence (AI) technology, the image processing and identification may provide technical supports for identification and localization of key points of the robot, for example, joints or axes of the robot. In some embodiments, in order to determine the speed profile of the robot 110 based on the image data, the computing device 130 may determine one or more sets of positions of one or more joints of the robot for a plurality of frames of the image data based on the image data and according to a machine learning model. In this case, the machine learning model may be configured to identify the center points of the axes and determine the coordinates of the center points of the axes in a predefined coordinate system. After the coordinates of the center points of the axes in a plurality of frames in the video are obtained, the computing device may determine one or more speed curves of the one or more joints based on the coordinates.

[0037] In some example embodiments, the machine learning model may be trained to determine 3D coordinates of the robot joints in the coordinate systems of camera based on the frames in the movement video. In some further embodiments, the machine learning model may be trained to determine a robot base coordinate and 3D coordinates of the robot joints based on the frames in the movement video. In some further embodiments, the machine learning model may be trained to determine a robot base coordinate and relative 3D coordinates of the predefined key points of the robot to the robot base based on the frames in the movement video.

[0038] In some alternatively embodiments, the machine learning model may not be trained to determine the coordinates directly from the images. Instead, the machine learning model may be trained to identify the model or the type of the robot at first. Then, the learning model may be trained to minimize a difference between a pose of a simulated model of the robot (for example, a computer aided design (CAD) model) and the image of the robot. For example, the computing device may identify a type of the robot based on the video and the motion estimation model. Then, the computing device obtains a simulated model of the robot corresponding to the type of the robot. In the end, the computing device maps the simulated model to the plurality of frames of the image data to obtain poses of the simulated model according to a motion estimation model. The joint angles may be obtained by directly from the simulated model. In this case, the angle speed of the joint can be  calculated by the obtained joint angles.

[0039] At 206, the computing device generates an audio spectrum of the audio data based on the speed profile. For example, in the embodiment illustrated in Fig. 1, the computing device 130 generates an audio spectrum of the audio data based on the speed profile. Normally, the speeds of the axes of the robot 110 during operations are not constant and even the acceleration are not constant. Under these circumstances, the audio data collected may not be able to be interpreted with normalized rules. The audio data is calibrated in association with the speed of the axes of the robot. The audio spectrum generation mechanism will be described in detail later with reference to Figs. 5A-5B.

[0040] At 208, the computing device diagnoses a health condition of the robot based on the audio spectrum. For example, in the embodiment illustrated in Fig. 1, the computing device 130 interprets the audio spectrum with normalized rules and determines whether each of the axes of the robot is healthy or not. For example, a calibrated audio spectrum of a normally-operating robot may be obtained. By comparing the calibrated audio spectrum of a healthy robot with the audio spectrum of the robot under examination, a diagnosis may be determined.

[0041] In the illustrated embodiment, no operation data is required from the robot 110 or the controller cabinet 120. Therefore, any mobile devices can be used to perform the robot health condition diagnosis without specifically-designed equipment. Further, the audio spectrum is calibrated with reference to the speed and thus can be interpreted automatically without experts’ inputs. In this way, the health condition diagnosis mechanism in accordance with the present disclosure is the professional, quick and cost-efficient. Neither costly / bulky equipment nor complex operation is needed for field engineers. In addition, there is no operation interruption. Therefore, the health condition diagnosis mechanism is an ease-of-use solution to quickly examine any robot at any time by anyone.

[0042] Fig. 3 schematically illustrates a flowchart of a method 300 for determining a speed profile of a robot in accordance with embodiments of the present disclosure. For discussion purpose, the method 200 will be described with reference to Fig. 1. For example, the method 200 may be implemented by the computing device 130 in Fig. 1.

[0043] At 302, the computing device 130 determines one or more 2-dimension (2D) coordinates for one or more joints in a 2D coordinate system, based on one frame of the plurality of frames and according to a key point position estimation model. The computing  device 130 may sample some of the frames in the video to reduce computational cost. Alternatively, the computing device 130 may select all of the frames in the video to ensure a high level of accuracy. After a plurality of frames are sampled, the computing device 130 inputs the frames into the key point position estimation model. The key point position estimation model outputs the identified key points of the robot, i.e. the joints and the coordinates of the identified key points in the specific 2D coordinate system.

[0044] At 304, the computing device 130 converts the one or more 2D coordinates to one or more 3-dimension (3D) coordinates for the one or more joints in one 3D coordinate system according to a coordinate conversion model. The computing device 130 inputs the obtained 2D coordinates of the robot joints from the key point position estimation model into the coordinate conversion model. The coordinate conversion model outputs 3D coordinates for the robot joints based on the obtained 2D coordinates.

[0045] It should be appreciated that the machine learning model used in the actions performed at 302 and 304 may be replaced by any other machine learning model discussed above and relative actions may be adapted to the selected machine learning model.

[0046] At 306, the computing device 130 determines an angle change of a rotation angle of one joint of the one or more joints over the plurality of frames based on the one or more sets of 3D coordinates. In some example embodiments, the angle change may be calculated between every two adjacent frames in plurality of frames.

[0047] In some example embodiments, the angle of each axis may be calculated according to Denavit –Hartenberg (DH) model. The DH model may be used to optimize the 3D coordinates. The more accurate the estimated 3D coordinates are, the more accurate the estimated joint angles are. Thus, the accuracy of the obtained rotation speed can be further improved by means of the DH model.

[0048] At 308, the computing device 130 determines a time period of the plurality of frames. At 310, the computing device 130 determines a rotation speed of the one joint based on the angle change and the time period to obtain a speed curve of the rotation speed over the time period. By dividing the angle change by the time period, the rotation speed of each axis can be calculated and a speed curve of each axis can be generated by taking the rotation speed as a vertical axis and taking the time period as a horizontal axis.

[0049] In this embodiment, the speed profile including speed curves for all the axes can be accurately calculated with the 3D coordinates output from the image processing machine  learning model according to known robot kinematic algorithms without input of the robot or the controller cabinet.

[0050] Fig. 4A schematically illustrates a schematic diagram of an example procedure 400A for determining a speed profile by means of machine learning models in accordance with some embodiments of the present disclosure. As illustrated in Fig. 4A, in the procedure 400A, a plurality of frames sampled from a video of a robot 410 is input into the key point position estimation model 420. The robot 410 includes three joints, a first joint 411, a second joint 412 and a third joint 413.

[0051] After receiving the plurality of frames, the key point position estimation model 420 outputs an estimation result 430 of a “skeleton” of the robot 410. The estimation result 430 indicates that the center points of the first joint 411, the second joint 412 and the third joint 413 are respectively identified. The coordinates of the center points of three robot joints in a coordinate system AB are obtained. As illustrated, the center point K1 of the first joint 411 has a 2D coordinate (a1, b1) . The center point K2 of the second joint 412 has a 2D coordinate (a2, b2) . The center point K3 of the third joint 413 has a 2D coordinate (a3, b3) . The lines connecting two center points represent the arms of the robot 410.

[0052] Then, the 2D coordinates of the center points of three robot joints are input into the coordinate conversion model 440. The coordinate conversion model 440 outputs a conversion result 450. The conversion result 450 indicates the 3D coordinates for center points of the robot joints in a 3D coordinate system XYZ. As illustrated, the 2D coordinate of the center point K1 of the first joint 411 is converted to a 3D coordinate (x1, y1, z1) . The 2D coordinate of the center point K2 of the second joint 412 is converted to a 3D coordinate (x2, y2, z2) . The 2D coordinate of the center point K3 of the third joint 413 is converted to a 3D coordinate (x3, y3, z3) . The lines connecting two center points represent the arms of the robot 410.

[0053] After the 3D coordinates of the three robot joints in all the frames are obtained, a rotation speed of each robot joint is calculated based on the angle change and the time period. For example, according to the obtained coordinates, the movement of the center point K2 may be studied in a new coordinate with the center point K3 being the original point. In this way, the change of the angle of the center point K2 with reference to the center point K3 can be obtained such that a rotation speed of the center point K2 with reference to the center point K3 can be obtained. The rotation speed of the center point K2  with reference to the center point K3 corresponds to the rotation speed of the arm between the center point K2 and the center point K3 which also corresponds to the rotation speed of the third joint 413 that drives the arm between the center point K2 and the center point K3. In such way, a rotation speed of the third joint 413 is obtained. Similarly, a rotation speed of the second joint 412 is be obtained by studying the movement of the center point K1 with reference to the center point K2.

[0054] As a result, a speed profile 460 of the robot 410 is obtained. The speed profile 460 includes two speed curves of the rotation speed over the time period. That is, the horizontal axis is the time period with a unit of second and the vertical axis is the rotation speed with a unit of rad per second. The speed curve 461 corresponds to the third joint 413. The speed curve 462 corresponds to the second joint 412.

[0055] It should be appreciated that the speed curve for the first joint 411 may also be obtained by tracking a key point on the arm connected to the first joint 411. In some alternatively embodiments, the key points to be tracked may not be the center points of the joint. The key points may also be points on the outside contour of arms. These points may be selected such that the movements of this points can represent movements of the joints.

[0056] Fig. 4B schematically illustrates a schematic diagram of an example procedure 400B for training the machine learning models in accordance with some embodiments of the present disclosure. As illustrated in Fig. 4B, in the procedure 400B, a training dataset 470 of robots in different poses and from different points of view are input into the key point position estimation model 420. Since the training dataset 470 covers most of the points of view around the robot, the camera extrinsic parameters and intrinsic parameters are not required. Therefore, a user may film the video of the robot from any angle with any type of mobile devices.

[0057] After receiving the plurality of frames, the key point position estimation model 420 outputs an estimation result 480 of a “skeleton” 482 of the robot 410. In the estimation result 480, a skeleton 481 of the ground truth is also illustrated. The objective of the training is to make the estimated skeleton 482 to approximate the skeleton 481 of the ground truth.

[0058] Then, the estimated skeleton 482 and the skeleton 481 of the ground truth are input into the coordinate conversion model 440. The coordinate conversion model 440 outputs a conversion result 490. The conversion result 490 includes an estimated 3D skeleton 492  and a 3D skeleton 491 of the ground truth. The objective of the training is to make the estimated 3D skeleton 492 to approximate the skeleton 491 of the ground truth.

[0059] Fig. 5A schematically illustrates a flowchart of a method 500A for generating an audio spectrum in accordance with embodiments of the present disclosure. For discussion purpose, the method 500A will be described with reference to Fig. 1. For example, the method 500A may be implemented by the computing device 130 in Fig. 1.

[0060] As illustrated in Fig. 5A, at 502, the computing device 130 resamples the audio data based on the speed profile to obtain resampled audio data. As discussed above, the recorded audio data may not be directly interpreted. In the illustrated embodiment, the audio data will be resampled with different intervals such that the resampled data can be further analyzed.

[0061] At 504, the computing device 130 interpolates the resampled audio data to obtain the resampled audio data with uniform intervals. The resampled audio data is usually non-uniform. The resampled audio data with non-uniform sampling intervals may be converted to a new set of audio data with uniform sampling intervals by using any suitable interpolation method.

[0062] At 506, the computing device 130 performing a Fast Fourier Transform (FFT) on the resampled audio data to obtain the audio spectrum. After the audio data is resample, a FFT transform may be applied on the resampled and interpolated audio data to convert the audio data from the time domain into a frequency domain. As a result, the audio spectrum is obtained. In the illustrated embodiment, the audio data is resampled in association with the speed of the robot joints and thus calibrated such that the resampled data can be converted into frequency domain thereby facilitating the interpretation of the audio data.

[0063] Fig. 5B schematically illustrates a flowchart of a method 500B for resampling the audio data in accordance with embodiments of the present disclosure. For discussion purpose, the method 500 will be described with reference to Fig. 1. For example, the method 500 may be implemented by the computing device 130 in Fig. 1. Typically, the original sampling interval of the audio data may be uniform. In order to convert the audio data such that the audio data is easy to analyze and process subsequently, the computing device may resample the audio data at non-uniform intervals.

[0064] As illustrated in Fig. 5B, at 512, the computing device 130 determines a mean value of speed values in the speed profile. At 514, the computing device 130 determines a  ratio of a speed value to the mean value. For example, the computing device 130 may calculate the ratio by dividing the speed value by the mean value.

[0065] At 516, the computing device 130 determines a resampling interval according to the ratio and the original sampling interval of the audio data. For example, the computing device 130 may calculate a product of the ratio and the original sampling interval as the new resampling interval

[0066] At 518, the computing device 130 determines a resampling time point according to the resampling interval. For example, the computing device 130 may calculate every resampling interval and accumulate the time of each resampling interval sequentially to determine the resampling time point for performing the resampling. At 520, the computing device 130 resamples the audio data at the resampling time points to obtain the resampled audio data.

[0067] Fig. 6 schematically illustrates a flowchart of a method 600 for determining a health condition of a robot in accordance with embodiments of the present disclosure. For discussion purpose, the method 600 will be described with reference to Fig. 1. For example, the method 600 may be implemented by the computing device 130 in Fig. 1.

[0068] As illustrated in Fig. 6, at 602, the computing device 130 identifies a type of the robot. At 604, the computing device 130 obtains a reference amplitudes corresponding to the type of the robot. In some example embodiments, the reference amplitudes may be obtained by performing the health diagnose method as illustrated in Fig. 2 on a normally-operating robot.

[0069] At 606, the computing device 130 obtains one or more speed values associated with the resampled audio data from the speed profile. At 608, the computing device 130 determines one or more frequencies corresponding to the one or more speed values. At 610, the computing device 130 selects one or more amplitudes corresponding to the one or more frequencies in the audio spectrum. Since each axis has an individual speed curve, the audio spectrum will be calibrated with reference to each axis to obtain respective audio spectrums. For example, when a first axis is under examination, the audio spectrum calibrated with reference with the speed curve of the first axis will be selected. Then, a frequency corresponding to the speed values of the first axis can be selected.

[0070] At 612, the computing device 130 determines whether an amplitude of a joint exceeds the corresponding reference amplitude. If the computing device 130 determines  that the amplitude of the joint exceeds the corresponding reference amplitude, the method 600 proceeds to 614. At 614, the computing device 130 determines that the joint is abnormal or unhealthy. If the computing device 130 determines that the amplitude of the joint does not exceed the corresponding reference amplitude, the method 600 proceeds to 616. At 616, the computing device 130 determines that the joint is normal or healthy.

[0071] In the illustrated embodiment, the healthy condition of each of the axes of the robot can be determined by comparing the peak of the amplitude of a corresponding frequency in the audio spectrum with reference amplitude.

[0072] Fig. 7 schematically illustrates a schematic diagram of an example procedure 700 for determining a health condition of a robot in accordance with some further embodiments of the present disclosure. As illustrated in Fig. 7, in the procedure 700, a speed profile 710 is presented. The speed profile 710 comprises a first speed curve 711 of a first joint of the robot, a second speed curve 712 of a second joint of the robot and a third speed curve 713 of a third joint of the robot, which may be derived based on the movement of four key points on the robot. Based on the speed profile 710, a first audio spectrum 720, a second audio spectrum 730 and a third audio spectrum 740 are respectively obtained.

[0073] The first audio spectrum 720 is generated with the audio data resampled based on the first speed curve 711. In the first audio spectrum 720, a frequency F12 is determined to be corresponding to the speed values in the first speed curve 711 (for example, a mean value of the first speed curve 711) . A corresponding reference amplitude 722 is read from the storage and will be compared with the calculated amplitude 721. It is seen that the calculated amplitude 721 is greater than the reference amplitude 722. Thus, the first joint is diagnosed to be abnormal or unhealthy.

[0074] The second audio spectrum 730 is generated with the audio data resampled based on the second speed curve 712. In the second audio spectrum 730, a frequency F23 is determined to be corresponding to the speed values in the second speed curve 712 (for example, a mean value of the first speed curve 712) . A corresponding reference amplitude 732 is read from the storage and will be compared with the calculated amplitude 731. It is seen that the calculated amplitude 731 is greater than the reference amplitude 732. Thus, the second joint is diagnosed to be abnormal or unhealthy.

[0075] The third audio spectrum 740 is generated with the audio data resampled based on the third speed curve 713. In the third audio spectrum 740, a frequency F34 is determined  to be corresponding to the speed values in the third speed curve 713 (for example, a mean value of the first speed curve 713) . A corresponding reference amplitude 742 is read from the storage and will be compared with the calculated amplitude 741. It is seen that the calculated amplitude 741 is smaller than the reference amplitude 742. Thus, the third joint is diagnosed to be normal or healthy.

[0076] In some embodiments of the present disclosure, a computing device is provided for implementing the above methods 200, 300, 500A, 500B and 600. Fig. 8 illustrates a schematic diagram of an electronic device 800 for implementing a method in accordance with embodiments of the present disclosure. The electronic device 800 may be corresponding to the computing device 130 in Fig. 1. The electronic device 800 comprises: at least one processor 810 and at least one memory 820. The at least one processor 810 may be coupled to the at least one memory 820. The at least one memory 820 comprises instructions 822 that when executed by the at least one processor 810 implements the methods 200, 300, 500A, 500B or 600.

[0077] In some embodiments of the present disclosure, a computer readable medium for adjusting robot path is provided. The computer readable medium has instructions stored thereon, and the instructions, when executed on at least one processor, may cause at least one processor to perform the method for managing a camera system as described in the preceding paragraphs, and details will be omitted hereinafter.

[0078] Generally, various embodiments of the present disclosure may be implemented in hardware or special purpose circuits, software, logic or any combination thereof. Some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software which may be executed by a controller, microprocessor or other computing device. While various aspects of embodiments of the present disclosure are illustrated and described as block diagrams, flowcharts, or using some other pictorial representation, it will be appreciated that the blocks, apparatus, systems, techniques or methods described herein may be implemented in, as non-limiting examples, hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof.

[0079] The present disclosure also provides at least one computer program product tangibly stored on a non-transitory computer readable storage medium. The computer program product includes computer-executable instructions, such as those included in  program modules, being executed in a device on a target real or virtual processor, to carry out the process or method as described above with reference to Figs. 2-7. Generally, program modules include routines, programs, libraries, objects, classes, components, data structures, or the like that perform particular tasks or implement particular abstract data types. The functionality of the program modules may be combined or split between program modules as ideal in various embodiments. Machine-executable instructions for program modules may be executed within a local or distributed device. In a distributed device, program modules may be located in both local and remote storage media.

[0080] Program code for carrying out methods of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the program codes, when executed by the processor or controller, cause the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may execute entirely on a machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.

[0081] The above program code may be embodied on a machine readable medium, which may be any tangible medium that may contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine readable medium may be a machine readable signal medium or a machine readable storage medium. A machine readable medium may include but not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the machine readable storage medium would include an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM) , a read-only memory (ROM) , an erasable programmable read-only memory (EPROM or Flash memory) , an optical fiber, a portable compact disc read-only memory (CD-ROM) , an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0082] Further, while operations are depicted in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be  advantageous. Likewise, while several specific implementation details are contained in the above discussions, these should not be construed as limitations on the scope of the present disclosure, but rather as descriptions of features that may be specific to particular embodiments. Certain features that are described in the context of separate embodiments may also be implemented in combination in a single embodiment. On the other hand, various features that are described in the context of a single embodiment may also be implemented in multiple embodiments separately or in any suitable sub-combination.

[0083] Although the subject matter has been described in language specific to structural features and / or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.

[0084] It should be appreciated that the above detailed embodiments of the present disclosure are only to exemplify or explain principles of the present disclosure and not to limit the present disclosure. Therefore, any modifications, equivalent alternatives and improvement, etc. without departing from the spirit and scope of the present disclosure shall be included in the scope of protection of the present disclosure. Meanwhile, appended claims of the present disclosure aim to cover all the variations and modifications falling under the scope and boundary of the claims or equivalents of the scope and boundary.

[0085] It is to be understood that the summary section is not intended to identify key or essential features of embodiments of the present disclosure, nor is it intended to be used to limit the scope of the present disclosure. Other features of the present disclosure will become easily comprehensible through the following description.

Claims

1.A method for determining a health condition of a robot, comprising:obtaining, by a computing device, video data of a robot during a movement, the video data comprising image data and audio data;determining, by the computing device, a speed profile of the robot based on the image data;generating, by the computing device, an audio spectrum of the audio data based on the speed profile; anddetermining, by the computing device, a health condition of the robot based on the audio spectrum.2.The method of claim 1, wherein determining the speed profile of the robot based on the image data comprises:determining, based on the image data and according to a machine learning model, one or more sets of positions of one or more joints of the robot for a plurality of frames of the image data; anddetermining one or more speed curves of the one or more joints as the speed profile based on the one or more sets of positions.3.The method of claim 2, wherein determining the one or more positions of the one or more joints comprises:determining, based on one frame of the plurality of frames and according to a key point position estimation model, one or more 2-dimension (2D) coordinates for one or more joints in a 2D coordinate system; andconverting the one or more 2D coordinates to one or more 3-dimension (3D) coordinates for the one or more joints in one 3D coordinate system according to a coordinate conversion model.4.The method of claim 2, wherein the key point position estimation model and the  coordinate conversion model are trained with a set of videos of the robot from a plurality of viewpoints around the robot.5.The method of claim 2, wherein determining the one or more positions of the one or more joints comprises:identifying, based on the video and the motion estimation model, a type of the robot;obtaining a simulated model of the robot corresponding to the type of the robot; andmapping, according to a motion estimation model, the simulated model to the plurality of frames of the image data to obtain the one or more sets of poses of the one or more joints.6.The method of claim 2, wherein determining one or more speed curves of the one or more joints comprises:determining one or more sets of 3D coordinates of the one or more joints based on the one or more sets of positions;determining an angle change of a rotation angle of one joint of the one or more joints over the plurality of frames based on the one or more sets of 3D coordinates;determining a time period of the plurality of frames; anddetermining a rotation speed of the one joint based on the angle change and the time period to obtain a speed curve of the rotation speed over the time period.7.The method of claim 1, wherein generating the audio spectrum of the robot comprises:resampling the audio data based on the speed profile to obtain resampled audio data;interpolating the resampled audio data to obtain the resampled audio data with uniform intervals; andperforming a Fast Fourier Transform (FFT) on the resampled audio data to obtain the audio spectrum.8.The method of claim 7, wherein resampling the audio data comprises:determining a mean value of speed values in the speed profile;determining a ratio of a speed value to the mean value;determining a resampling interval according to the ratio and the original sampling interval of the audio data;determining a resampling time point according to the resampling interval; andresampling the audio data at the resampling time points to obtain the resampled audio data.9.The method of claim 1, wherein determining the health condition of the robot comprises:identifying a type of the robot;obtaining reference amplitudes corresponding to the type of the robot;obtaining one or more speed values associated with the resampled audio data from the speed profile;determining one or more frequencies corresponding to the one or more speed values;selecting one or more amplitudes corresponding to the one or more frequencies in the audio spectrum;in response to determining that an amplitude of a joint exceeds the corresponding reference amplitude, determining that the joint is abnormal.10.The method of claim 9, wherein determining the health condition of the robot further comprises:in response to determining that a second amplitude of a second joint does not exceed the corresponding reference amplitude, determining that the second joint is normal.11.The method of claim 9, wherein the reference amplitudes represent amplitudes in an audio spectrum of a normally-operating robot.12.The method of claim 1, wherein the image data and the audio data is recorded  with a camera and a microphone of the computing device and the computing device is not coupled to the robot.13.A electronic device (00) comprising:at least one processor (710) ; andat least one memory (720) storing instructions (721) that, when executed by the at least one processor (710) , cause the device (700) to perform the method of any of claims 1-12.14.A computer readable storage medium storing instructions which, when executed by a computer, cause the computer to perform the method of any of claims 1-12.15.A computer program comprising instructions which, when executed by a computer, cause the computer to perform the method of any of claims 1-12.

Citation Information

Patent Citations

  • Method for Diagnosing a Robot, Device and Server

    US20220024038A1

  • Method and Device for Diagnosing a Robot

    US20220050016A1

  • Workcell modeling using motion profile matching and swept profile matching

    US20220390922A1

  • Robot fault diagnosis method and system, and storage device

    WO2020082217A1

  • Method, electronic device and computer readable storage medium for calibrating robot

    WO2023035100A1