Zero recovery method and apparatus for industrial robot, and industrial robot and storage medium

By acquiring and calculating the pulse data of the joint axes of industrial robots, and using encoder resolution and joint angle for zero-position recovery, the problem of zero-position loss after encoder power failure is solved, and fast and accurate zero-position recovery is achieved.

WO2026145557A1PCT designated stage Publication Date: 2026-07-09CHENGDU CRP ROBOT TECH CO LTD

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
CHENGDU CRP ROBOT TECH CO LTD
Filing Date
2025-12-30
Publication Date
2026-07-09

AI Technical Summary

Technical Problem

After prolonged use, the encoder of an industrial robot loses power, resulting in the loss of high-ring position information. Existing recovery methods have limited accuracy and are inconvenient to operate, requiring expensive laser equipment or specialized tools.

Method used

By acquiring pulse data of the target joint axis of the industrial robot at the reference point and the marked position, new zero-position data is calculated, and zero-position recovery is performed using encoder resolution and joint angle, avoiding the use of expensive tools.

Benefits of technology

It achieves fast and accurate zero-position recovery, ensuring the precision of the joint axes of industrial robots without the need for complex or expensive equipment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025147332_09072026_PF_FP_ABST
    Figure CN2025147332_09072026_PF_FP_ABST
Patent Text Reader

Abstract

Provided in the embodiments of the present disclosure are a zero recovery method and apparatus for an industrial robot, and an industrial robot and a storage medium. The zero recovery method for an industrial robot comprises: acquiring first-axis pulse data, at a reference point mark position, of a target joint axis on an industrial robot, zero of which target joint axis needs to be recovered, and acquiring second axis pulse data of the target joint axis at an alignment mark position; and on the basis of the first axis pulse data and the second axis pulse data, acquiring new zero data used for performing zero recovery on the target joint axis. Therefore, zero is quickly recovered, the precision is ensured, and no expensive and complex laser device or no special tool is required.
Need to check novelty before this filing date? Find Prior Art

Description

Industrial robot zero-position recovery method, device, industrial robot and storage medium

[0001] Cross-references to related applications

[0002] This disclosure claims priority to Chinese Patent Application No. 202411994952.X, filed with the Chinese Patent Office on December 31, 2024, entitled “Industrial Robot Zero-position Restoration Method, Apparatus, Industrial Robot and Storage Medium”, the entire contents of which are incorporated herein by reference. Technical Field

[0003] This disclosure relates to the field of robotics technology, and more specifically, to a method, apparatus, industrial robot, and storage medium for zero-position recovery of an industrial robot. Background Technology

[0004] After prolonged use, the battery power of an industrial robot will be depleted, causing the encoder (a device configured to record the position of the robot's joints) to lose power, thus losing high-ring position information.

[0005] When customers want to restore the zero position on-site, they usually have to rely on visually observing the scale lines or labels for adjustment. This method is not only prone to errors and has limited accuracy, but it is also inconvenient to operate. To restore the factory accuracy, expensive and complex laser equipment or specialized tools are often required, which is costly and inconvenient.

[0006] Application content

[0007] In view of this, the purpose of this disclosure is to provide a method, apparatus, industrial robot, and storage medium for zero-position recovery of an industrial robot.

[0008] To achieve the above objectives, the technical solutions adopted in the embodiments of this disclosure are as follows:

[0009] This disclosure provides a method for zero-position recovery of an industrial robot, the method comprising:

[0010] Acquire the first axis pulse data of the target joint axis that needs to be restored to zero position on the industrial robot at the reference point mark position and the second axis pulse data of the target joint axis at the mark position;

[0011] Based on the first axis pulse data and the second axis pulse data, new zero-position data of the target joint axis is obtained to perform zero-position recovery of the target joint axis.

[0012] Optionally, the first axis pulse data includes a first axis pulse position and a first joint angle, and the second axis pulse data includes a second axis pulse position. The step of obtaining new zero-position data of the target joint axis based on the first axis pulse data and the second axis pulse data includes:

[0013] Using the first axis pulse position and the encoder resolution of the target joint axis, the first encoder single-turn position of the target joint axis at the reference point mark position is obtained;

[0014] Using the second axis pulse position and the encoder resolution of the target joint axis, the second encoder single-turn position and the second encoder high-turn position of the target joint axis at the marked position are obtained;

[0015] Using the first encoder single-turn position, the second encoder single-turn position, and the second encoder high-turn position, the first encoder high-turn position of the target joint axis at the reference point mark position is obtained;

[0016] When the target joint axis is a coupled active axis, new zero-position data of the target joint axis is obtained based on the high-circle position of the first encoder and the first joint angle.

[0017] When the target joint axis is a coupled passive axis, the second joint angle of the coupled active axis that is coupled with the target joint axis at the reference point mark position is obtained, and the new zero position data of the target joint axis is obtained according to the first encoder high circle position, the first joint angle and the second joint angle.

[0018] Optionally, the step of obtaining the first encoder high-turn position of the target joint shaft at the reference point mark position using the first encoder single-turn position, the second encoder single-turn position, and the second encoder high-turn position includes:

[0019] Calculate the difference between the single-turn position of the first encoder and the single-turn position of the second encoder;

[0020] If the absolute value of the difference is not greater than half of the encoder resolution, then the value of the high-turn position of the first encoder is set to the value of the high-turn position of the second encoder.

[0021] If the absolute value of the difference is greater than half of the encoder resolution, then the first encoder high-turn position is determined based on the second shaft pulse position and the second encoder high-turn position.

[0022] Optionally, the step of determining the first encoder high-turn position based on the second shaft pulse position and the second encoder high-turn position includes:

[0023] If the second axis pulse position is not less than 0, then the value of the first encoder high-turn position is set to the sum of the value of the second encoder high-turn position and a preset value;

[0024] If the second axis pulse position is less than 0, then the value of the first encoder high-turn position is set to the difference between the value of the second encoder high-turn position and the preset value.

[0025] Optionally, the new zero-position data is the new zero-position encoder high-turn value, and the step of obtaining the new zero-position data of the target joint axis based on the first encoder high-turn position and the first joint angle includes:

[0026] Based on the preset zero-position angle of the industrial robot and the first joint angle, the pulse change of the target joint axis is obtained;

[0027] Based on the pulse change of the target joint axis and the high-turn position of the first encoder, a new zero-position pulse value of the target joint axis is obtained;

[0028] Based on the new zero-position pulse value, the new zero-position encoder high-turn value of the target joint axis is obtained.

[0029] Optionally, the step of obtaining new zero-position data of the target joint axis based on the high-circle position of the first encoder, the first joint angle, and the second joint angle includes:

[0030] Based on the preset zero-position angle of the industrial robot and the second joint angle, the pulse change amount of the coupled active axis that is coupled with the target joint axis is obtained;

[0031] The pulse change of the target joint axis is obtained based on the pulse change of the coupled active axis that is coupled with the target joint axis, the preset zero angle, and the first joint angle.

[0032] Based on the pulse change of the target joint axis and the high-turn position of the first encoder, a new zero-position pulse value of the target joint axis is obtained;

[0033] Based on the new zero-position pulse value, the new zero-position encoder high-turn value of the target joint axis is obtained.

[0034] Optionally, the step of obtaining the new zero-position encoder high-turn value of the target joint axis based on the new zero-position pulse value includes:

[0035] Calculate the remainder between the new zero-position pulse value and the encoder resolution;

[0036] If the new zero-position pulse value is not less than 0, then the remainder is used as the new zero-position encoder high-turn value of the target joint axis;

[0037] If the new zero-position pulse value is less than 0, the remainder is rounded up, and the rounded result is used as the new zero-position encoder high-turn value of the target joint axis.

[0038] This disclosure also provides a zero-position recovery device for an industrial robot, the device comprising:

[0039] The acquisition module is configured to acquire the first axis pulse data of the target joint axis that needs to be restored to zero position on the industrial robot at the reference point mark position and the second axis pulse data of the target joint axis at the mark position;

[0040] The processing module is configured to obtain new zero-position data of the target joint axis based on the first axis pulse data and the second axis pulse data, so as to perform zero-position recovery on the target joint axis.

[0041] This disclosure also provides an industrial robot, including a controller, the controller including a processor and a memory, the memory storing machine-executable instructions executable by the processor, the processor being able to execute the machine-executable instructions to implement the industrial robot zero-position recovery method described in the first aspect above.

[0042] This disclosure also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the industrial robot zero-position recovery method as described in the first aspect above.

[0043] The zero-position recovery method for industrial robots provided in this disclosure involves: acquiring first axis pulse data of the target joint axis to be zeroed at a reference point marker position and second axis pulse data of the target joint axis at the marker position; and obtaining new zero-position data of the target joint axis based on the first and second axis pulse data to perform zero-position recovery on the target joint axis. Since this disclosure utilizes the first axis pulse data of the target joint axis to be zeroed at the reference point marker position and the second axis pulse data at the marker position to determine the new zero-position data for zero-position recovery of the target joint axis, zero-position recovery is achieved quickly, ensuring accuracy, and without requiring expensive and complex laser equipment or specialized tools.

[0044] To make the above-mentioned objects, features and advantages of this disclosure more apparent and understandable, preferred embodiments are described below in detail with reference to the accompanying drawings. Attached Figure Description

[0045] To more clearly illustrate the technical solutions of the embodiments of this disclosure, the accompanying drawings used in the embodiments will be briefly described below. It should be understood that the following drawings only show some embodiments of this disclosure and should not be regarded as a limitation of the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.

[0046] Figure 1 shows a schematic block diagram of the structure of an industrial robot provided in an embodiment of this disclosure;

[0047] Figure 2 shows a flowchart of an industrial robot zero-position recovery method provided in an embodiment of this disclosure;

[0048] Figure 3 shows a schematic flowchart of a zero-position recovery method for an industrial robot provided in an embodiment of this disclosure;

[0049] Figure 4 shows a functional block diagram of an industrial robot zero-position recovery device provided in an embodiment of this disclosure.

[0050] Icons: Industrial robot - 100; 110 - Memory; 120 - Processor; 130 - Communication module; 200 - Industrial robot zero-position recovery device; 201 - Acquisition module; 202 - Processing module. Detailed Implementation

[0051] The technical solutions of the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this disclosure, and not all embodiments. The components of the embodiments of this disclosure described and shown in the accompanying drawings can generally be arranged and designed in various different configurations.

[0052] Therefore, the following detailed description of the embodiments of this disclosure provided in the accompanying drawings is not intended to limit the scope of the claimed disclosure, but merely to illustrate selected embodiments of the disclosure. All other embodiments obtained by those skilled in the art based on the embodiments of this disclosure without inventive effort are within the scope of this disclosure.

[0053] It should be noted that relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, 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. Without further limitations, 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 said element.

[0054] Please refer to Figure 1, which is a block diagram of an industrial robot 100. The industrial robot 100 includes a memory 110, a processor 120, and a communication module 130. The memory 110, processor 120, and communication module 130 are electrically connected to each other directly or indirectly to realize data transmission or interaction. For example, these components can be electrically connected to each other through one or more communication buses or signal lines.

[0055] The memory 110 is configured to store programs or data. The memory 110 may be, but is not limited to, random access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), etc.

[0056] The processor 120 is configured to read / write data or programs stored in the memory 110 and perform corresponding functions.

[0057] The communication module 130 is configured to establish a communication connection between the industrial robot 100 and other communication terminals through the network, and is configured to send and receive data through the network.

[0058] It should be understood that the structure shown in Figure 1 is only a schematic diagram of an industrial robot. The industrial robot may also include more or fewer components than shown in Figure 1, or have a different configuration than shown in Figure 1. The components shown in Figure 1 can be implemented using hardware, software, or a combination thereof.

[0059] To quickly restore the zero position and ensure accuracy, this disclosure provides a zero-position restoration method for industrial robots, which will be described in detail below.

[0060] Please refer to Figure 2. The industrial robot zero-position recovery method includes steps S101 to S102.

[0061] S101, acquire the first axis pulse data of the target joint axis that needs to be restored to zero position on the industrial robot at the reference point mark position and the second axis pulse data of the target joint axis at the mark position.

[0062] The reference point marker position is a location that is easy to remember and locate when the industrial robot is in normal working condition, and this position is marked.

[0063] When a reference point is selected, the pulse position and angle of each joint axis of the industrial robot are recorded. Understandably, the first axis pulse data includes the axis pulse position and angle of the target joint axis when the reference point is selected, which are recorded as the first axis pulse position and the first joint angle, respectively.

[0064] After the target joint axis loses its zero position, the user needs to manually move the target joint axis to a position as close as possible to the reference point mark position, which is the reference mark position.

[0065] It is important to note that the tolerance for the marked position should be within half the encoder resolution to ensure the accuracy of subsequent zero-position recovery.

[0066] When the target joint axis is moved to the marked position, the axis pulse position of the target joint axis is recorded and denoted as the second axis pulse position. Accordingly, the second axis pulse data includes the second axis pulse data.

[0067] For a target joint axis that needs to be restored to zero position, the new zero position data for restoring the target joint axis can be calculated using the axis pulse position and angle of the target joint axis when it is at the selected reference point mark position, and the axis pulse data when the target joint axis is moved to the mark position, namely the first axis pulse position, the first joint angle and the second axis pulse position.

[0068] S102, based on the first axis pulse data and the second axis pulse data, obtain new zero-position data of the target joint axis to perform zero-position recovery of the target joint axis.

[0069] In a possible implementation, please refer to Figure 3. Step S102 includes sub-steps S102-1 to S102-5.

[0070] S102-1, using the first axis pulse position and the encoder resolution of the target joint axis, obtain the first encoder single-turn position of the target joint axis at the reference point mark position.

[0071] In this embodiment of the disclosure, the position of the first axis pulse is denoted as Jmarkpulse, the encoder resolution is denoted as Encoder_Resolution, and the position of the first encoder single revolution is denoted as JmarkValueL.

[0072] If Jmarkpulse>=0, then JmarkValueL=mod(Jmarkpulse, Encoder_Resolution); if Jmarkpulse<0, JmarkValueL=Encoder_Resolution-mod(Jmarkpulse, Encoder_Resolution).

[0073] S102-2, using the second axis pulse position and the encoder resolution of the target joint axis, the second encoder single-turn position and the second encoder high-turn position of the target joint axis at the marked position are obtained.

[0074] In this embodiment of the disclosure, the position of the second axis pulse is denoted as Jpulse, the encoder resolution is denoted as Encoder_Resolution, and the position of the second encoder single revolution is denoted as JValueL.

[0075] If Jpulse>=0, JValueL=mod(Jpulse, Encoder_Resolution); if Jpulse<0, JValueL=Encoder_Resolution-mod(Jpulse, Encoder_Resolution).

[0076] Let JValueH be the high-circle position of the second encoder. In this embodiment, JValueH = Jpulse%Encoder_Resolution.

[0077] If Jpulse >= 0, JValueH is rounded up; if Jpulse < 0, JValueH is rounded up, that is, rounded in the direction of increasing absolute value.

[0078] S102-3, using the single-turn position of the first encoder, the single-turn position of the second encoder, and the high-turn position of the second encoder, the high-turn position of the first encoder of the target joint shaft at the reference point mark is obtained.

[0079] The implementation process of step S102-3 may include sub-steps S102-3-1 to S102-3-3.

[0080] S102-3-1, Calculate the difference between the single-turn position of the first encoder and the single-turn position of the second encoder.

[0081] S102-3-2, If the absolute value of the difference is not greater than half of the encoder resolution, then the value of the high circle position of the first encoder is set to the value of the high circle position of the second encoder.

[0082] S102-3-3 If the absolute value of the difference is greater than half of the encoder resolution, then the position of the first encoder high circle is determined based on the position of the second shaft pulse and the position of the second encoder high circle.

[0083] The implementation process of "determining the high-ring position of the first encoder based on the pulse position of the second axis and the high-ring position of the second encoder" is as follows: if the pulse position of the second axis is not less than 0, the value of the high-ring position of the first encoder is set to the sum of the value of the high-ring position of the second encoder and a preset value; if the pulse position of the second axis is less than 0, the value of the high-ring position of the first encoder is set to the difference between the value of the high-ring position of the second encoder and the preset value.

[0084] In this embodiment of the disclosure, the single-turn position of the first encoder is denoted as JmarkValueL, the single-turn position of the second encoder is denoted as JValueL, and ΔL = JValueL - JmarkValueL.

[0085] Let the position of the second axis pulse be Jpulse, the encoder resolution be Encoder_Resolution, the high-turn position of the first encoder be JmarkH, and the high-turn position of the second encoder be JValueH.

[0086] If abs(ΔL) <= Encoder_Resolution / 2, then JmarkH = JValueH.

[0087] The default value is 1. If abs(ΔL) > Encoder_Resolution / 2 and Jpulse >= 0, then JmarkH = JValueH + 1. If abs(ΔL) > Encoder_Resolution / 2 and Jpulse < 0, then JmarkH = JValueH - 1.

[0088] S102-4, when the target joint axis is a coupled active axis, obtain new zero-position data of the target joint axis based on the high-circle position of the first encoder and the first joint angle.

[0089] Among them, the new zero-position data is the high-circle value of the new zero-position encoder.

[0090] The implementation process of step S102-4 may include sub-steps S102-4-1 to S102-4-3.

[0091] S102-4-1, based on the preset zero-position angle and first joint angle of the industrial robot, obtain the pulse change of the target joint axis.

[0092] The preset zero-position angle is determined when the industrial robot leaves the factory.

[0093] S102-4-2, based on the pulse change of the target joint axis and the high-circle position of the first encoder, obtain the new zero-position pulse value of the target joint axis.

[0094] S102-4-3, based on the new zero-position pulse value, obtain the new zero-position encoder high-turn value of the target joint axis.

[0095] The implementation process of step S102-4-3 is as follows: calculate the remainder between the new zero-position pulse value and the encoder resolution; if the new zero-position pulse value is not less than 0, then use the remainder as the new zero-position encoder high-turn value of the target joint axis; if the new zero-position pulse value is less than 0, then round up the remainder and use the rounded result as the new zero-position encoder high-turn value of the target joint axis.

[0096] In this embodiment of the disclosure, the preset zero angle is denoted as Jzeroangle, and the first joint angle is denoted as Jmarkangle.

[0097] Let ΔPulse be the pulse change of the target joint axis, then ΔPulse = (Jmarkangle - Jzeroangle) / k. Where k = couplingvalue / 360 * ratio * Encoder_Resolution * Direction, where ratio is the deceleration ratio of the target joint axis, Direction is the direction of motion of the target joint axis, couplingvalue is the coupling relationship between the target joint axis and its coupling axis, and Encoder_Resolution is the encoder resolution.

[0098] Let the new zero-position pulse value be NewZeroPulse, then NewZeroPulse = JmarkH * Encoder_Resolution + JmarkValueL - ΔPulse, where JmarkH is the high-turn position of the first encoder and JmarkValueL is the single-turn position of the first encoder.

[0099] Let the high-circle value of the new zero-position encoder be JValueNewH. Then JValueNewH = NewZeroPulse % Encoder_Resolution. If NewZeroPulse >= 0, JValueNewH is rounded up. If NewZeroPulse < 0, JValueNewH is rounded up, that is, rounded in the direction of increasing absolute value.

[0100] S102-5, when the target joint axis is a coupled passive axis, obtain the second joint angle of the coupled active axis that is coupled with the target joint axis at the reference point mark position, and obtain the new zero position data of the target joint axis based on the high circle position of the first encoder, the first joint angle and the second joint angle.

[0101] In this embodiment of the disclosure, the implementation process of step S102-5 may include sub-steps S102-5-1 to S102-5-4.

[0102] S102-5-1, based on the preset zero position angle and second joint angle of the industrial robot, obtain the pulse change amount of the coupled active axis that has a coupling relationship with the target joint axis.

[0103] The preset zero-position angle is determined when the industrial robot leaves the factory.

[0104] S102-5-2, based on the pulse change of the coupled active axis that is coupled with the target joint axis, the preset zero position angle, and the first joint angle, the pulse change of the target joint axis is obtained.

[0105] S102-5-3, based on the pulse change of the target joint axis and the high-circle position of the first encoder, obtain the new zero-position pulse value of the target joint axis.

[0106] S102-5-4, based on the new zero-position pulse value, obtain the new zero-position encoder high-turn value of the target joint axis.

[0107] The implementation process of step S102-5-4 is as follows: calculate the remainder between the new zero-position pulse value and the encoder resolution; if the new zero-position pulse value is not less than 0, then use the remainder as the new zero-position encoder high-turn value of the target joint axis; if the new zero-position pulse value is less than 0, then round up the remainder and use the rounded result as the new zero-position encoder high-turn value of the target joint axis.

[0108] In this embodiment of the disclosure, the preset zero angle is denoted as Jzeroangle, the first joint angle is denoted as Jmarkangle, and the second joint angle is denoted as Jmarkangle'.

[0109] Let ΔPulse1 be the pulse change of the coupled active axis that is coupled with the target joint axis, and we have ΔPulse1 = (Jmarkangle' - Jzeroangle) / k1.

[0110] Where, k1 = couplingvalue / 360*ratio1*Encoder_Resolution*Direction1, where ratio1 is the reduction ratio of the coupled active shaft that is coupled with the target joint axis, Direction1 is the motion direction of the coupled active shaft that is coupled with the target joint axis, couplingvalue is the coupling relationship value between the target joint axis and its coupled axis, and Encoder_Resolution is the encoder resolution.

[0111] Let the pulse change of the target joint axis be ΔPulse, then ΔPulse=(Jmarkangle-Jzeroangle) / 360*ratio*Encoder_Resolution*Direction-ΔPulse1 / k, where k=couplingvalue / 360*ratio*Encoder_Resolution*Direction, where ratio is the deceleration ratio of the target joint axis and Direction is the direction of motion of the target joint axis.

[0112] Let the new zero-position pulse value be NewZeroPulse, then NewZeroPulse = JmarkH * Encoder_Resolution + JmarkValueL - ΔPulse, where JmarkH is the high-turn position of the first encoder and JmarkValueL is the single-turn position of the first encoder.

[0113] Let the high-circle value of the new zero-position encoder be JValueNewH. Then JValueNewH = NewZeroPulse % Encoder_Resolution. If NewZeroPulse >= 0, JValueNewH is rounded up. If NewZeroPulse < 0, JValueNewH is rounded up, that is, rounded in the direction of increasing absolute value.

[0114] In this embodiment of the disclosure, after discovering that the zero position of a certain joint axis of the industrial robot is lost, the user manually adjusts the joint axis to the vicinity of the reference point mark position, selects the corresponding joint axis as the target joint axis on the control interface of the industrial robot, and clicks the "Zero Position Quick Recovery" button. The processor of the industrial robot automatically calculates and updates the zero position encoder high circle value of the target joint axis by executing the above-described industrial robot zero position recovery method, thereby completing the zero position recovery of the industrial robot.

[0115] To perform the corresponding steps in the above embodiments and various possible methods, an implementation of an industrial robot zero-position recovery device 200 is given below. Optionally, please refer to Figure 4, which is a functional block diagram of an industrial robot zero-position recovery device 200 provided in this embodiment. It should be noted that the industrial robot zero-position recovery device 200 provided in this embodiment has the same basic principle and technical effects as those in the above embodiments. For the sake of brevity, any parts not mentioned in this embodiment can be referred to the corresponding content in the above embodiments. The industrial robot zero-position recovery device 200 includes:

[0116] The acquisition module 201 is configured to acquire the first axis pulse data of the target joint axis that needs to be restored to zero position on the industrial robot at the reference point mark position and the second axis pulse data of the target joint axis at the reference point mark position.

[0117] The processing module 202 is configured to obtain new zero-position data of the target joint axis based on the first axis pulse data and the second axis pulse data, so as to perform zero-position recovery on the target joint axis.

[0118] Optionally, the processing module 202 is further configured to: obtain the first encoder single-turn position of the target joint axis at the reference point mark position using the first axis pulse position and the encoder resolution of the target joint axis; obtain the second encoder single-turn position and the second encoder high-turn position of the target joint axis at the reference point mark position using the second axis pulse position and the encoder resolution of the target joint axis; obtain the first encoder high-turn position of the target joint axis at the reference point mark position using the first encoder single-turn position, the second encoder single-turn position, and the second encoder high-turn position; if the target joint axis is a coupled active axis, obtain new zero-position data of the target joint axis based on the first encoder high-turn position and the first joint angle; if the target joint axis is a coupled passive axis, obtain the second joint angle of the coupled active axis that is coupled with the target joint axis at the reference point mark position, and obtain new zero-position data of the target joint axis based on the first encoder high-turn position, the first joint angle, and the second joint angle.

[0119] Optionally, the processing module 202 is further configured to calculate the difference between the single-turn position of the first encoder and the single-turn position of the second encoder; if the absolute value of the difference is not greater than half of the encoder resolution, then the value of the high-turn position of the first encoder is set to the value of the high-turn position of the second encoder; if the absolute value of the difference is greater than half of the encoder resolution, then the high-turn position of the first encoder is determined based on the second shaft pulse position and the high-turn position of the second encoder.

[0120] Optionally, the processing module 202 is further configured to, if the second axis pulse position is not less than 0, set the value of the first encoder high-turn position to the sum of the value of the second encoder high-turn position and a preset value; if the second axis pulse position is less than 0, set the value of the first encoder high-turn position to the difference between the value of the second encoder high-turn position and the preset value.

[0121] Optionally, the processing module 202 is further configured to obtain the pulse change of the target joint axis based on the preset zero-position angle of the industrial robot and the first joint angle; obtain a new zero-position pulse value of the target joint axis based on the pulse change of the target joint axis and the high-circle position of the first encoder; and obtain a new zero-position encoder high-circle value of the target joint axis based on the new zero-position pulse value.

[0122] Optionally, the processing module 202 is further configured to: obtain the pulse change of the coupled active shaft that is coupled with the target joint axis based on the preset zero-position angle of the industrial robot and the second joint angle; obtain the pulse change of the target joint axis based on the pulse change of the coupled active shaft that is coupled with the target joint axis, the preset zero-position angle, and the first joint angle; obtain a new zero-position pulse value of the target joint axis based on the pulse change of the target joint axis and the high-turn position of the first encoder; and obtain a new zero-position encoder high-turn value of the target joint axis based on the new zero-position pulse value.

[0123] Optionally, the processing module 202 is further configured to calculate the remainder between the new zero-position pulse value and the encoder resolution; if the new zero-position pulse value is not less than 0, the remainder is used as the new zero-position encoder high-turn value of the target joint axis; if the new zero-position pulse value is less than 0, the remainder is rounded up, and the rounded result is used as the new zero-position encoder high-turn value of the target joint axis.

[0124] Optionally, the above-mentioned modules can be stored in the memory 110 shown in FIG1 in the form of software or firmware, or embedded in the operating system (OS) of the industrial robot 100, and can be executed by the processor 120 in FIG1. ​​At the same time, the data, program code, etc. required to execute the above-mentioned modules can be stored in the memory 110.

[0125] In the several embodiments provided in this disclosure, it should be understood that the disclosed apparatus and methods can also be implemented in other ways. The apparatus embodiments described above are merely illustrative; for example, the flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of apparatus, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than those marked in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram and / or flowchart, and combinations of blocks in block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.

[0126] In addition, the functional modules in the various embodiments of this disclosure can be integrated together to form an independent part, or each module can exist independently, or two or more modules can be integrated to form an independent part.

[0127] If the aforementioned functions are implemented as software functional modules and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this disclosure, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, an industrial robot, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this disclosure. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0128] The above description is merely a preferred embodiment of this disclosure and is not intended to limit this disclosure. Various modifications and variations can be made to this disclosure by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure. Industrial applicability

[0129] This disclosure provides an industrial robot zero-position recovery method, apparatus, industrial robot, and storage medium. It uses the first axis pulse data of the target joint axis to be zeroed at the reference point mark position and the second axis pulse data at the mark position to determine the new zero-position data for zero-position recovery of the target joint axis, thereby quickly recovering the zero position, ensuring accuracy, and eliminating the need for expensive and complex laser equipment or special tools.

Claims

1. A method for zero-position recovery of an industrial robot, characterized in that, The method includes: Acquire the first axis pulse data of the target joint axis that needs to be restored to zero position on the industrial robot at the reference point mark position and the second axis pulse data of the target joint axis at the mark position; Based on the first axis pulse data and the second axis pulse data, new zero-position data of the target joint axis is obtained to perform zero-position recovery of the target joint axis.

2. The industrial robot zero-position recovery method as described in claim 1, characterized in that, The first axis pulse data includes a first axis pulse position and a first joint angle, and the second axis pulse data includes a second axis pulse position. The step of obtaining new zero-position data of the target joint axis based on the first axis pulse data and the second axis pulse data includes: Using the first axis pulse position and the encoder resolution of the target joint axis, the first encoder single-turn position of the target joint axis at the reference point mark position is obtained; Using the second axis pulse position and the encoder resolution of the target joint axis, the second encoder single-turn position and the second encoder high-turn position of the target joint axis at the marked position are obtained; Using the first encoder single-turn position, the second encoder single-turn position, and the second encoder high-turn position, the first encoder high-turn position of the target joint axis at the reference point mark position is obtained; When the target joint axis is a coupled active axis, new zero-position data of the target joint axis is obtained based on the high-circle position of the first encoder and the first joint angle. When the target joint axis is a coupled passive axis, the second joint angle of the coupled active axis that is coupled with the target joint axis at the reference point mark position is obtained, and the new zero position data of the target joint axis is obtained according to the first encoder high circle position, the first joint angle and the second joint angle.

3. The industrial robot zero-position recovery method as described in claim 2, characterized in that, The step of obtaining the first encoder high-turn position of the target joint shaft at the reference point mark position using the first encoder single-turn position, the second encoder single-turn position, and the second encoder high-turn position includes: Calculate the difference between the single-turn position of the first encoder and the single-turn position of the second encoder; If the absolute value of the difference is not greater than half of the encoder resolution, then the value of the high-turn position of the first encoder is set to the value of the high-turn position of the second encoder. If the absolute value of the difference is greater than half of the encoder resolution, then the first encoder high-turn position is determined based on the second shaft pulse position and the second encoder high-turn position.

4. The industrial robot zero-position recovery method as described in claim 3, characterized in that, The step of determining the high-turn position of the first encoder based on the second shaft pulse position and the high-turn position of the second encoder includes: If the second axis pulse position is not less than 0, then the value of the first encoder high-turn position is set to the sum of the value of the second encoder high-turn position and a preset value; If the second axis pulse position is less than 0, then the value of the first encoder high-turn position is set to the difference between the value of the second encoder high-turn position and the preset value.

5. The industrial robot zero-position recovery method according to any one of claims 2-4, characterized in that, The new zero-position data is the new zero-position encoder high-turn value. The step of obtaining the new zero-position data of the target joint axis based on the first encoder high-turn position and the first joint angle includes: Based on the preset zero-position angle of the industrial robot and the first joint angle, the pulse change of the target joint axis is obtained; Based on the pulse change of the target joint axis and the high-turn position of the first encoder, a new zero-position pulse value of the target joint axis is obtained; Based on the new zero-position pulse value, the new zero-position encoder high-turn value of the target joint axis is obtained.

6. The industrial robot zero-position recovery method according to any one of claims 2-5, characterized in that, The step of obtaining the new zero-position data of the target joint axis based on the high-circle position of the first encoder, the first joint angle, and the second joint angle includes: Based on the preset zero-position angle of the industrial robot and the second joint angle, the pulse change amount of the coupled active axis that is coupled with the target joint axis is obtained; The pulse change of the target joint axis is obtained based on the pulse change of the coupled active axis that is coupled with the target joint axis, the preset zero angle, and the first joint angle. Based on the pulse change of the target joint axis and the high-turn position of the first encoder, a new zero-position pulse value of the target joint axis is obtained; Based on the new zero-position pulse value, the new zero-position encoder high-turn value of the target joint axis is obtained.

7. The industrial robot zero-position recovery method according to any one of claims 5-6, characterized in that, The step of obtaining the new zero-position encoder high-turn value of the target joint axis based on the new zero-position pulse value includes: Calculate the remainder between the new zero-position pulse value and the encoder resolution; If the new zero-position pulse value is not less than 0, then the remainder is used as the new zero-position encoder high-turn value of the target joint axis; If the new zero-position pulse value is less than 0, the remainder is rounded up, and the rounded result is used as the new zero-position encoder high-turn value of the target joint axis.

8. A zero-position recovery device for an industrial robot, characterized in that, The device includes: The acquisition module is configured to acquire the first axis pulse data of the target joint axis that needs to be restored to zero position on the industrial robot at the reference point mark position and the second axis pulse data of the target joint axis at the mark position; The processing module is configured to obtain new zero-position data of the target joint axis based on the first axis pulse data and the second axis pulse data, so as to perform zero-position recovery on the target joint axis.

9. The apparatus according to claim 8, characterized in that, The first axis pulse data includes the first axis pulse position and the first joint angle, and the second axis pulse data includes the second axis pulse position; The processing module is further configured to use the first axis pulse position and the encoder resolution of the target joint axis to obtain the first encoder single-turn position of the target joint axis at the reference point mark position; Using the second axis pulse position and the encoder resolution of the target joint axis, the second encoder single-turn position and the second encoder high-turn position of the target joint axis at the marked position are obtained; using the first encoder single-turn position, the second encoder single-turn position, and the second encoder high-turn position, the first encoder high-turn position of the target joint axis at the marked reference point is obtained; when the target joint axis is a coupled active axis, the new zero-position data of the target joint axis is obtained according to the first encoder high-turn position and the first joint angle; When the target joint axis is a coupled passive axis, the second joint angle of the coupled active axis that is coupled with the target joint axis at the reference point mark position is obtained, and the new zero position data of the target joint axis is obtained according to the first encoder high circle position, the first joint angle and the second joint angle.

10. The apparatus according to claim 9, characterized in that, The processing module is further configured to calculate the difference between the single-turn position of the first encoder and the single-turn position of the second encoder; if the absolute value of the difference is not greater than half of the encoder resolution, the value of the high-turn position of the first encoder is set to the value of the high-turn position of the second encoder; if the absolute value of the difference is greater than half of the encoder resolution, the high-turn position of the first encoder is determined based on the second shaft pulse position and the high-turn position of the second encoder.

11. The apparatus according to claim 10, characterized in that, The processing module is further configured to, if the second axis pulse position is not less than 0, set the value of the first encoder high-turn position to the sum of the value of the second encoder high-turn position and a preset value; If the second axis pulse position is less than 0, then the value of the first encoder high-turn position is set to the difference between the value of the second encoder high-turn position and the preset value.

12. The apparatus according to any one of claims 9-11, characterized in that, The processing module is further configured to obtain the pulse change of the target joint axis based on the preset zero-position angle of the industrial robot and the first joint angle; and to obtain the new zero-position pulse value of the target joint axis based on the pulse change of the target joint axis and the high-circle position of the first encoder. Based on the new zero-position pulse value, the new zero-position encoder high-turn value of the target joint axis is obtained.

13. The apparatus according to any one of claims 9-12, characterized in that, The processing module is further configured to obtain the pulse change amount of the coupled active axis that is coupled with the target joint axis based on the preset zero position angle of the industrial robot and the second joint angle. The pulse change of the target joint axis is obtained based on the pulse change of the coupled active axis that is coupled with the target joint axis, the preset zero angle, and the first joint angle. Based on the pulse change of the target joint axis and the high-turn position of the first encoder, a new zero-position pulse value of the target joint axis is obtained; Based on the new zero-position pulse value, the new zero-position encoder high-turn value of the target joint axis is obtained.

14. An industrial robot, characterized in that, The system includes a controller, which comprises a processor and a memory. The memory stores machine-executable instructions that can be executed by the processor, and the processor can execute the machine-executable instructions to implement the industrial robot zero-position recovery method according to any one of claims 1-7.

15. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the industrial robot zero-position recovery method as described in any one of claims 1-7.