Joint soft limit protection method, system, robot and storage medium

By correcting the limit parameters of the commanded speed or torque in the robot's speed and torque control modes, the problem of joint inertia exceeding the safe position range is solved, and joint safety protection is achieved.

CN122299735APending Publication Date: 2026-06-30CHENGDU CRP ROBOT TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
CHENGDU CRP ROBOT TECH CO LTD
Filing Date
2026-06-03
Publication Date
2026-06-30

AI Technical Summary

Technical Problem

In the robot's speed control mode and torque control mode, joints may exceed the safe position range due to inertia, leading to collision accidents.

Method used

By adjusting the commanded speed or torque using limit parameters and adding boundary area restrictions, we can ensure that the speed or torque of the target joint is zero when it is in the boundary area, thereby reducing the influence of inertia.

Benefits of technology

Effectively restricting joint movement within a preset safe range prevents collisions and improves robot safety.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122299735A_ABST
    Figure CN122299735A_ABST
Patent Text Reader

Abstract

This invention proposes a joint soft-limit protection method, system, robot, and storage medium, relating to the field of robot control. The method includes: acquiring and parsing control commands for a robot joint to obtain a control mode, a target joint, and command parameters; in speed or torque mode, acquiring the actual position, direction of motion, and limit parameters of the target joint, where the speed mode corresponds to the commanded speed and the torque mode corresponds to the commanded torque; correcting the command parameters based on the limit parameters and determining a boundary region; if the actual position is within the boundary region and the direction of motion is inward, setting the corrected command parameters to zero as the first target command parameter; otherwise, using the corrected command parameters as the second target command parameter; and driving the target joint to move according to the target command parameters. Thus, in speed or torque mode, through limit parameter correction and boundary region restriction, it is ensured that the joint's speed or torque is zero within the boundary region, reducing inertia and protecting the joint.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of robot control technology, and more specifically, to a joint soft limit protection method, system, robot, and storage medium. Background Technology

[0002] In robot control systems, it is typically necessary to limit the movement of the robot's joints. Limit protection includes hardware limit protection and software limit protection. Hardware limit protection involves physical limiting, while software limit protection involves setting target parameters through software programs to restrict the range of joint movement, preventing the joints from exceeding the position range allowed by the mechanical design. This ensures the basic function of safe robot operation and avoids safety accidents.

[0003] Robots mainly include position control mode, speed control mode and torque control mode. Current joint soft limit protection is mainly for the robot's position control mode. The safe position range of the joint is preset in the robot's controller to limit the robot's joint movement within the preset safe position range and protect the joint.

[0004] However, in the robot's speed control mode and torque control mode, due to the inertia of the joints, even if the target speed or target torque is within the safe range, the joints may still exceed the safe position range due to inertia, leading to collision accidents. Summary of the Invention

[0005] In view of this, the purpose of the present invention is to provide a joint soft limit protection method, system, device and storage medium, which corrects the commanded speed or commanded torque by limit parameters in speed control mode or torque control mode, and limits the commanded speed or commanded torque by boundary area, so as to ensure that the speed or torque of the target joint is zero when it is in the boundary area, reduce the inertia of the target joint in the boundary area, thereby limiting the joint movement of the robot within a preset safe position range and protecting the joint.

[0006] To achieve the above objectives, in a first aspect, embodiments of the present invention provide a joint soft limit protection method, the method comprising: acquiring control commands for a robot joint; parsing the control commands to obtain a control mode, a target joint, and command parameters; when the control mode is a speed control mode or a torque control mode, acquiring the actual position, movement direction, and limit parameters of the target joint; the command parameter corresponding to the speed control mode is a command speed, and the command parameter corresponding to the torque control mode is a command torque; correcting the command parameters based on the limit parameters to obtain corrected command parameters; determining a boundary region based on the limit parameters; when the actual position is within the boundary region and the movement direction is towards the boundary region, setting the corrected command parameters to zero and using them as a first target command parameter for the target joint; when the actual position is within the boundary region and the movement direction is towards the outside of the boundary region, or when the actual position is not within the boundary region, using the corrected command parameters as a second target command parameter for the target joint; and driving the target joint to perform a target action according to the first target command parameter or the second target command parameter.

[0007] In this embodiment, the control command is parsed to obtain the control mode, target joint, and command parameters. This allows for the acquisition of the actual position, direction of movement, and limit parameters of the target joint in either speed control or torque control mode. The command parameters are then corrected within the limits of these limit parameters, thereby correcting the commanded speed or torque to ensure that the issued commanded speed or torque remains within the limit parameter range. Furthermore, the boundary region of the target joint is determined based on the limit parameters. This helps determine whether the target joint is currently within the boundary region and whether it should continue moving towards the boundary region, thus setting the corrected initial speed or torque to zero. This prevents the target joint from exceeding the safe range due to inertia even after being within the boundary region. If the target joint is located within the boundary region but its direction of movement is outside the boundary region, or if it is not located within the boundary region, the target action is executed based on the initial speed or initial torque. In speed control mode or torque control mode, the commanded speed or torque is corrected by limit parameters, and the commanded speed or torque is limited by the boundary area to ensure that the speed or torque of the target joint is zero when it is in the boundary area, thereby reducing the inertia of the target joint in the boundary area and limiting the joint movement of the robot within the preset safe position range, thus protecting the joint.

[0008] In some embodiments, the limiting parameter includes a first speed and a second speed, wherein the second speed is greater than the first speed; the step of correcting the command parameter based on the limiting parameter to obtain the corrected command parameter includes: if the command parameter is a command speed, and the command parameter is greater than or equal to the first speed and less than or equal to the second speed, using the command parameter as the corrected command parameter; if the command parameter is less than the first speed, using the first speed as the corrected command parameter; if the command parameter is greater than the second speed, using the second speed as the corrected command parameter.

[0009] This configuration limits the command speed to a range between the first and second speeds by using the limit parameters. When the command speed exceeds the range between the first and second speeds, the command speed is corrected to the closest first or second speed, so that the actual command parameters can be corrected in case of an error in the command speed.

[0010] In some embodiments, the limiting parameter includes a first torque and a second torque, wherein the second torque is greater than the first torque; the step of correcting the command parameter based on the limiting parameter to obtain the corrected command parameter includes: when the command parameter is a command torque, and the command torque is greater than or equal to the first torque and less than or equal to the second torque, using the command parameter as the corrected command parameter; when the command parameter is less than the first torque, using the first torque as the corrected command parameter; and when the command parameter is greater than the second torque, using the second torque as the corrected command parameter.

[0011] This configuration limits the command torque to a range between the first and second torques by using the limit parameters. When the command torque exceeds the range between the first and second torques, the command torque is corrected to the closest first or second torque, so that the actual command parameters can be corrected in case of an error in the command torque.

[0012] In some embodiments, the limiting parameter includes a first boundary value, a second boundary value, and a buffer threshold, wherein the second boundary value is greater than the first boundary value, and the step of determining the boundary region based on the limiting parameter includes: forming a first boundary region based on the difference between the second boundary value and the buffer threshold and the second boundary value; forming a second boundary region based on the sum of the first boundary value and the buffer threshold and the first boundary value; the boundary region includes the first boundary region and the second boundary region.

[0013] This configuration allows for the determination of two boundary regions in the direction of the target joint's movement using the first boundary value, the second boundary value, and the buffer threshold. This helps to prevent speed or torque commands from continuing to move toward the boundary region when the target joint is in the boundary region, thus suppressing joint overtravel caused by inertia.

[0014] In some embodiments, a limit correction record is generated based on the corrected command parameters, the corresponding command parameters before correction, the control mode, the target joint, and the correction time, and / or the corrected command parameters after being zeroed, the corrected command parameters before being zeroed, the corresponding zeroing time, the control mode, and the target joint; the limit parameters of the target joint are diagnosed and optimized according to the limit correction record.

[0015] This setting allows for the recording of parameter information for each correction and zeroing, facilitating fault diagnosis and optimization of limit parameters.

[0016] In some embodiments, when the control mode is a position control mode, the limit parameters of the target joint are obtained; the command parameter corresponding to the position control mode is the command position; the command parameter is corrected based on the limit parameters to obtain the corrected command parameter; the target joint is driven to perform the target action based on the corrected command parameter.

[0017] This setting allows for the correction of commanded positions using limit parameters in position control mode, ensuring that the robot's target joints are always within a safe position range.

[0018] In some embodiments, the limiting parameter includes a first position threshold and a second position threshold, wherein the second position threshold is greater than the first position threshold; the step of correcting the instruction parameter based on the limiting parameter to obtain the corrected instruction parameter includes: if the instruction parameter is an instruction position, and the instruction position is greater than or equal to the first position threshold and less than or equal to the second position threshold, using the instruction parameter as the corrected instruction parameter; if the instruction parameter is less than the first position threshold, using the first position as the corrected instruction parameter; and if the instruction parameter is greater than the second position threshold, using the second position as the corrected instruction parameter.

[0019] This configuration limits the command position to a range between the first and second position thresholds using limit parameters. When the command position exceeds the range between the first and second position thresholds, the command position is corrected to the closest first or second position threshold, thus facilitating the correction of the actual command parameters in case of an error in the command position.

[0020] Secondly, embodiments of the present invention provide a joint soft limit protection system, the system comprising: an acquisition module, configured to acquire control commands for a robot joint, and parse the control commands to obtain a control mode, a target joint, and command parameters; when the control mode is a speed control mode or a torque control mode, acquiring the actual position, movement direction, and limit parameters of the target joint; the command parameter corresponding to the speed control mode is a command speed, and the command parameter corresponding to the torque control mode is a command torque; a correction module, configured to correct the command parameters based on the limit parameters to obtain corrected command parameters; determine a boundary region based on the limit parameters; when the actual position is within the boundary region and the movement direction is towards the boundary region, setting the corrected command parameters to zero and using them as the first target command parameters of the target joint; when the actual position is within the boundary region and the movement direction is towards the outside of the boundary region, or when the actual position is not within the boundary region, using the corrected command parameters as the second target command parameters of the target joint; and an execution module, configured to drive the target joint to perform a target action according to the first target command parameters or the second target command parameters.

[0021] Thirdly, embodiments of the present invention provide a robot including a processor and a memory, wherein the memory stores a computer program executable by the processor, and the processor can execute the computer program to implement the joint soft limit protection method as described in the first aspect.

[0022] Fourthly, embodiments of the present invention provide a computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the joint soft limit protection method as described in the first aspect.

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

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

[0025] Figure 1 A flowchart of a joint soft restraint protection method provided in an embodiment of the present invention; Figure 2 This is a flowchart of a joint soft-limit protection method provided in an embodiment of the present invention; Figure 3 This is a schematic diagram of the functional modules of the joint soft restraint protection system provided in an embodiment of the present invention; Figure 4 A block diagram of a robot provided in an embodiment of the present invention.

[0026] Icons: 1000 - Joint soft limit protection system; 1100 - Acquisition module; 1200 - Correction module; 1300 - Execution module; 2000 - Robot; 2100 - Processor; 2200 - Memory; 2300 - Bus; 2400 - Communication interface. Detailed Implementation

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

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

[0029] 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.

[0030] As described in the background art, in the speed control mode and torque control mode of a robot, due to the inertia of the joints, even if the target speed or target torque is within the safe range, the joints may still exceed the safe position range due to inertia, leading to a collision accident.

[0031] For example, a robot joint has a position range of [-3.140, 3.140] radians and a maximum speed of 4.0 radians / second. When the joint's current position is 3.139 radians (close to the boundary value of 3.140 radians), if a target speed of 0.5 radians / second (within the safe speed range) is applied, the joint will move to 3.140 radians after 0.02 seconds and continue to move forward beyond the position range due to inertia, resulting in a mechanical collision. Torque, like speed, can also lead to mechanical collisions due to inertia.

[0032] To address this, embodiments of the present invention provide a joint soft-limit protection method. In speed control or torque control mode, the commanded speed or torque is corrected by limit parameters, and the commanded speed or torque is further restricted by boundary regions. This ensures that the target joint's speed or torque is zero in the boundary regions, reducing the target joint's inertia in these regions and thus limiting the robot's joint movement within a preset safe range, thereby protecting the joint. (See also...) Figure 1 , Figure 1 A flowchart of a joint soft restraint protection method provided in an embodiment of the present invention is shown, the method including steps S100-S700: S100: Obtain the control commands for the robot joints, and parse the control commands to obtain the control mode, target joint, and command parameters.

[0033] In this embodiment, a control command corresponds to a control mode, a target joint, and the target parameters corresponding to the target joint, so as to achieve precise control of the target joint in a control mode.

[0034] S200: When the control mode is speed control mode or torque control mode, obtain the actual position, direction of motion and limit parameters of the target joint.

[0035] In this embodiment, the command parameter corresponding to the speed control mode is the command speed, and the command parameter corresponding to the torque control mode is the command torque. Regardless of the speed control mode or the torque control mode, the actual position, direction of movement, and limit parameters of the target joint must be obtained. In speed control mode, the command parameter obtained by parsing the control command is the command speed; in torque control mode, the command parameter obtained by parsing the control command is the command torque. The limit parameters are used to restrict the range of motion parameters of the current target joint. For example, the limit parameters for the command speed are the maximum and minimum speeds that the target joint can move at, and the limit parameters for the command torque are the maximum and minimum torques that the target joint can move at.

[0036] S300: Correct the instruction parameters based on the limit parameters to obtain the corrected instruction parameters.

[0037] In this embodiment, the parsed command parameters are corrected by limit parameters to prevent the issued control commands from exceeding the range of motion of the target joint, thereby preventing the robot joint from overtravel and reducing the damage caused by incorrect robot command issuance.

[0038] S400, Determine the boundary region based on limit parameters.

[0039] In this embodiment, each target joint has its own limiting parameters, and the boundary region of the target joint can be determined based on its own limiting parameters; the boundary region represents the boundary of the target joint's range of motion.

[0040] S500: When the actual position is within the boundary area and the direction of movement is towards the boundary area, the corrected command parameter is set to zero and used as the first target command parameter of the target joint.

[0041] In this embodiment, after determining the boundary region based on the limit parameters of the target joint itself, if the actual position of the target joint is within the boundary region and the direction of movement is continuing towards the boundary region, that is, the target joint is now at the boundary of its own safe range and is about to go out of bounds, the corrected command parameters are set to zero so that the command speed or command torque issued by the control command is set to zero and the target joint is no longer driven to move, so as to prevent the target joint from continuing to move beyond the boundary region and causing collision damage.

[0042] For example, taking the command speed as an example, if the command speed issued by the control command is 0.5 radians / second, and the current actual position of the target joint is 3.139 radians, while the boundary region is 3.139 radians to 3.140 radians, it only takes 0.02 seconds to go from 3.139 radians to 3.140 radians. If the direction of movement of the target joint is still towards the boundary region at this time, then within 0.02 seconds, because the command speed of the target joint is 0.5 radians / second, continued movement will reach the upper limit of the boundary region, or even exceed the boundary region due to inertia. Therefore, in this embodiment, once the actual position of the target joint is between 3.139 radians and 3.140 radians in the boundary region, and the direction of movement continues towards the boundary region, the command speed is directly set to zero to ensure that the speed of the target joint is zero in the boundary region, avoiding joint damage caused by overtravel.

[0043] S600: If the actual position is within the boundary area and the direction of movement is towards the outside of the boundary area, or if the actual position is not within the boundary area, the corrected command parameters shall be used as the second target command parameters of the target joint.

[0044] In this embodiment, after determining the boundary region based on the limit parameters of the target joint itself, if the actual position of the target joint is within the boundary region, but the direction of movement is continuing outward from the boundary region, that is, the target joint is now at the boundary of its own safe range but is about to move away from the boundary, or the actual position of the target joint is not at the boundary region at this time; in this case, the movement of the target joint according to the command parameters will not exceed the boundary region, there is no need to set the command parameters to zero, and the command speed or command torque is used as the corrected command parameters to form the final second target command parameters.

[0045] For example, taking the command speed as an example, if the command speed issued by the control command is 0.5 radians / second, and the current actual position of the target joint is 3.139 radians, which is located in the boundary region between 3.139 and 3.140 radians, and the direction of movement of the target joint is towards the outside of the boundary region, then the target joint will not exceed the boundary region when moving according to the command speed; or if the target joint position is 3.120 radians, which is not located in the boundary region, then the target joint will not exceed the boundary region when moving according to the command speed. Therefore, in this embodiment, if the actual position of the target joint is between 3.139 and 3.140 radians in the boundary region, but the direction of movement continues towards the outside of the boundary region, or if the actual position of the target joint is not located in the boundary region, then the target action is directly executed according to the command speed.

[0046] S700: Drive the target joint to perform the target action according to the first target instruction parameter or the second target instruction parameter.

[0047] In this embodiment, taking command speed as an example, the first target command parameter is the command speed after being set to zero, that is, the command parameter with a speed of zero drives the target joint to stop moving; the second target command parameter is the command speed that does not need to be set to zero drives the target joint to perform the target action; the command torque is the same as the command speed.

[0048] In some embodiments, the limiting parameter includes a first speed and a second speed, wherein the second speed is greater than the first speed; for step S300, one possible implementation provided by the embodiments of the present invention includes sub-steps S301~S303: S301. When the instruction parameter is the instruction speed, and the instruction parameter is greater than or equal to the first speed and less than or equal to the second speed, the instruction parameter shall be used as the corrected instruction parameter.

[0049] In this embodiment, in speed control mode, the command parameter is the command speed, and the command speed is between the first speed and the second speed. Taking the target joint as the robot's right shoulder pitch joint as an example, the first speed is -15 radians / second, and the second speed is 15 radians / second, where the negative sign refers to the direction opposite to the current target joint movement direction.

[0050] S302. If the command parameter is less than the first speed, the first speed shall be used as the corrected command parameter.

[0051] In this embodiment, the command parameter is the command speed and is less than the first speed. That is, if the current command speed is -16 radians / second, the command speed is corrected and -15 radians / second of the first speed is used as the corrected command parameter, i.e., the corrected command speed.

[0052] S303. If the command parameter is greater than the second speed, the second speed shall be used as the corrected command parameter.

[0053] In this embodiment, the command parameter is the command speed and is greater than the second speed. That is, if the current command speed is 16 radians / second, the command speed is corrected and the second speed of 15 radians / second is used as the corrected command parameter, i.e., the corrected command speed.

[0054] For example, the limiting parameters include a first torque and a second torque, wherein the second torque is greater than the first torque; for step S300, one possible implementation provided by this embodiment of the invention includes sub-steps S304~S306: S304. When the command parameter is the command torque, and the command torque is greater than or equal to the first torque and less than or equal to the second torque, the command parameter shall be used as the corrected command parameter.

[0055] In this embodiment, in torque control mode, the command parameter is the command torque, and the command torque is located between the first torque and the second torque. Taking the target joint as the robot's right shoulder pitch joint as an example, the first torque is -800 N·m and the second torque is 800 N·m, where the negative sign refers to the direction opposite to the current target joint movement direction.

[0056] S305. If the command parameter is less than the first torque, the first torque shall be used as the corrected command parameter.

[0057] In this embodiment, the command parameter is the command torque and is less than the first torque. That is, when the current command torque is -810 N·m, the command torque is corrected and -800 N·m of the first torque is used as the corrected command parameter, i.e., the corrected command torque.

[0058] S306. If the command parameter is greater than the second torque, the second torque shall be used as the corrected command parameter.

[0059] In this embodiment, the command parameter is the command torque and is greater than the second torque. That is, if the current command torque is 810 N·m, the command torque is corrected and the second torque of 800 N·m is used as the corrected command parameter, i.e., the corrected command torque.

[0060] In some embodiments, the limiting parameters include a first boundary value, a second boundary value, and a buffer threshold, wherein the second boundary value is greater than the first boundary value. For step S400, one possible implementation provided by this embodiment of the invention includes sub-steps S401~S402: S401. The first boundary region is formed based on the difference between the second boundary value and the buffer threshold, and the second boundary value.

[0061] In this embodiment, each target joint has corresponding limit parameters, namely a first boundary value, a second boundary value, and a buffer threshold. Taking the target joint as the robot's right shoulder pitch joint as an example, the first boundary value is -3.140 radians, the second boundary value is 3.140 radians, and the buffer threshold is 0.001 radians; then the first boundary region is 3.139 radians to 3.140 radians.

[0062] S402. The second boundary region is formed by adding the first boundary value and the buffer threshold together with the first boundary value.

[0063] In this embodiment, the boundary region includes a first boundary region and a second boundary region. When the first boundary value is -3.140 radians, the second boundary region is -3.140 radians to -3.139 radians. Thus, the first and second boundary regions constitute the boundary region. The first boundary region corresponds to the boundary region of the target joint in the direction of motion, and the second boundary region corresponds to the boundary region of the target joint in the opposite direction of motion, so as to limit the speed and inertia of the target joint near the boundary through the boundary region.

[0064] In some embodiments, the joint soft restraint protection method, as provided in this embodiment of the invention, includes steps S800~S801: S800 generates a limit correction record based on the corrected instruction parameters, the corresponding instruction parameters before correction, the control mode, the target joint, and the correction time, and / or the corrected instruction parameters after being zeroed, the corrected instruction parameters before being zeroed, the corresponding zeroing time, the control mode, and the target joint.

[0065] In this embodiment, regardless of whether it's speed control mode or torque control mode, once a command parameter (i.e., command speed or command torque) is corrected, a limit correction record will be generated, along with the corrected command speed or torque, the original command speed or torque, the corresponding control mode, the target joint, and the correction time. In subsequent steps, once a corrected command parameter is set to zero (i.e., the corrected command speed or command torque is set to zero), a limit correction record will also be generated, along with the zeroed command parameter, the original corrected command parameter, the corresponding control mode, the target joint, and the zeroing time. It should be noted that in practical applications, the generation of limit correction records for corrected or zeroed parameters may occur individually, neither may occur, or both may occur.

[0066] S801. Diagnose and optimize the limit parameters of the target joint based on the limit correction record.

[0067] In this embodiment, the data affecting the target joint can be obtained from the modified and zeroed parameters, thereby determining the relationship between the instruction parameters of the current control command and the limit parameters, which facilitates targeted diagnosis and optimization of the limit parameters.

[0068] In some embodiments, the joint soft restraint protection method provided by this invention includes steps S900-S920: S900: When the control mode is position control mode, obtain the limit parameters of the target joint.

[0069] In this embodiment, the command parameter corresponding to the position control mode is the command position; it can be understood that in the position control mode, the command parameter obtained by parsing the control command is the command position. The limit parameter is used to restrict the range of motion parameters of the current target joint. For example, the limit parameter of the command position is the maximum and minimum position that the target joint can move to; the position referred to here refers to the arc of the joint movement.

[0070] S910. The instruction parameters are modified based on the limit parameters to obtain the modified instruction parameters.

[0071] In this embodiment, the position of the parsed command is corrected by the limit parameter to prevent the issued control command from exceeding the range of motion of the target joint, thereby preventing the robot joint from overtravel and reducing the damage caused by incorrect robot command issuance.

[0072] S920 drives the target joint to perform target actions based on the modified instruction parameters.

[0073] In this embodiment, the command parameters must be modified before they can be used to drive the target joint to perform the target action.

[0074] In some embodiments, the limiting parameter includes a first position threshold and a second position threshold, wherein the second position threshold is greater than the first position threshold; for step S910, one possible implementation of the present invention provides that step S910 includes sub-steps S911~S913: S911. When the instruction parameter is an instruction position, and the instruction position is greater than or equal to the first position threshold and less than or equal to the second position threshold, the instruction parameter shall be used as the corrected instruction parameter.

[0075] In this embodiment, in position control mode, the command parameter is the command position, and the command position is between the first position threshold and the second position threshold. Taking the target joint as the robot's right shoulder pitch joint as an example, the first position threshold is -3.14 radians, and the second position is 3.14 radians. The negative sign refers to the direction opposite to the current target joint movement direction.

[0076] S912. If the instruction parameter is less than the first position threshold, the first position is used as the corrected instruction parameter.

[0077] In this embodiment, the instruction parameter is the instruction position and is less than the first position threshold. That is, if the current instruction position is -3.16 radians, the instruction position is corrected and the first position threshold of -3.14 radians is used as the corrected instruction parameter, i.e., the corrected instruction position.

[0078] S913. If the instruction parameter is greater than the second position threshold, the second position is used as the corrected instruction parameter.

[0079] In this embodiment, the instruction parameter is the instruction position and is greater than the second position threshold. That is, if the current instruction position is 3.16 radians, the instruction position is corrected and the second position threshold of 3.14 radians is used as the corrected instruction parameter, i.e., the corrected instruction position.

[0080] In some embodiments, for the protective limiting of the joint in speed control mode, torque control mode, and position control mode, see [reference]. Figure 2 As shown, Figure 2 This is a flowchart of a joint soft limit protection method provided in an embodiment of the present invention. Based on the control command issued by the robot, the method parses whether the current control command is in position control mode, speed control mode, or torque control mode. If it is parsed as position control mode, the command position is directly corrected, and the corrected data is used to generate a corresponding limit correction record.

[0081] If the parsing indicates a speed control mode or torque control mode, the commanded speed or torque is corrected to fit within the limit range corresponding to the limit parameters. Then, based on whether the actual position of the target joint is within the boundary region and the direction of movement, it is determined whether the corrected command parameters need to be zeroed. If the actual position is within the boundary region and the direction of movement is towards the boundary region, the commanded speed or torque is zeroed, resulting in the first target command parameter. If the actual position is within the boundary region and the direction of movement is outside the boundary region, or if the actual position is not within the boundary region, zeroing is not required, and the corrected commanded speed or torque is used as the second target command parameter. This allows the target joint to execute the target action via the first or second target command parameters. The correction of the commanded speed, the correction of the commanded torque, and the zeroing of the corrected commanded speed or torque all generate corresponding limit correction records.

[0082] Based on the above method, embodiments of the present invention also provide a system corresponding to the above method, such as... Figure 3 As shown, Figure 3 This is a functional module diagram of the joint soft limit protection system provided in this embodiment of the invention. It should be noted that the joint soft limit protection system 1000 provided in this embodiment has the same basic principle and technical effects as the method embodiment described above. For the sake of brevity, parts not mentioned in this embodiment can be referred to the corresponding content in the method embodiment. Furthermore, the joint soft limit protection system 1000 of this embodiment is deployed in the bridge layer between the upper central controller and the lower actuator of the robot 2000 to receive control commands from the central controller, parse them, and then send the command data to the actuator for execution. This facilitates the maintenance of independent limit parameters for each joint after parsing the control commands, completing limit correction within the command sending link, writing the corrected joint command parameters into the shared memory communication layer, and transmitting them to the lower actuator via the EtherCAT communication layer for execution. This facilitates driving the robot 2000 joints to execute target actions according to the target command parameters.

[0083] In this embodiment, the joint soft limit protection system 1000 includes an acquisition module 1100, a correction module 1200, and an execution module 1300.

[0084] The acquisition module 1100 is used to acquire control commands for the joints of the robot 2000, and parses the control commands to obtain the control mode, target joint, and command parameters. When the control mode is speed control mode or torque control mode, it acquires the actual position, direction of motion, and limit parameters of the target joint. The command parameter corresponding to the speed control mode is the commanded speed, and the command parameter corresponding to the torque control mode is the commanded torque. Therefore, the acquisition module 1100 is also used to execute the above steps S100~S1200.

[0085] The correction module 1200 is used to correct the command parameters based on the limit parameters to obtain the corrected command parameters; determine the boundary region based on the limit parameters; when the actual position is within the boundary region and the movement direction is towards the boundary region, the corrected command parameters are set to zero and used as the first target command parameter of the target joint; when the actual position is within the boundary region and the movement direction is towards the outside of the boundary region, or when the actual position is not within the boundary region, the corrected command parameters are used as the second target command parameter of the target joint. Therefore, the correction module 1200 is also used to perform the above steps S300~S600.

[0086] The execution module 1300 is used to drive the target joint to perform the target action according to the first target instruction parameter or the second target instruction parameter. Therefore, the execution module 1300 is also used to perform the above-mentioned step S700.

[0087] In some embodiments, the limit parameters include a first speed and a second speed, where the second speed is greater than the first speed. The correction module 1200 is used to modify the command parameter as a corrected command parameter when the command parameter is the command speed and the command parameter is greater than or equal to the first speed and less than or equal to the second speed; to modify the first speed as the corrected command parameter when the command parameter is less than the first speed; and to modify the second speed as the corrected command parameter when the command parameter is greater than the second speed. Therefore, the correction module 1200 is used to perform the above steps S301 to S303.

[0088] In some embodiments, the limiting parameters include a first torque and a second torque, wherein the second torque is greater than the first torque. The correction module 1200 is used to use the command parameter as the corrected command parameter when the command parameter is the command torque, and the command torque is greater than or equal to the first torque and less than or equal to the second torque; when the command parameter is less than the first torque, the first torque is used as the corrected command parameter; and when the command parameter is greater than the second torque, the second torque is used as the corrected command parameter. Therefore, the correction module 1200 is used to perform the above steps S304~S306.

[0089] In some embodiments, the limiting parameters include a first boundary value, a second boundary value, and a buffer threshold. The second boundary value is greater than the first boundary value. The correction module 1200 is used to form a first boundary region based on the difference between the second boundary value and the buffer threshold, and the second boundary value; and to form a second boundary region based on the sum of the first boundary value and the buffer threshold, and the first boundary value. The boundary region includes the first boundary region and the second boundary region. Therefore, the correction module 1200 is used to perform the above steps S01 to S402.

[0090] In some embodiments, the correction module 1200 is further configured to generate a limit correction record based on the corrected command parameters, the corresponding command parameters before correction, the control mode, the target joint, and the correction time, and / or the corrected command parameters after being zeroed, the corrected command parameters before being zeroed, the corresponding zeroing time, the control mode, and the target joint; and to diagnose and optimize the limit parameters of the target joint according to the limit correction record. Therefore, the correction module 1200 is also configured to perform the above steps S800~S801.

[0091] In some embodiments, the correction module 1200 is used to obtain the limit parameters of the target joint when the control mode is position control mode; the command parameter corresponding to the position control mode is the command position; the command parameter is corrected based on the limit parameters to obtain the corrected command parameter; and the target joint is driven to perform the target action based on the corrected command parameter. Therefore, the correction module 1200 is used to perform the above steps S900~S920.

[0092] In some embodiments, the limiting parameters include a first position threshold and a second position threshold, wherein the second position threshold is greater than the first position threshold. The correction module 1200 is used to use the instruction parameter as a corrected instruction parameter when the instruction parameter is an instruction position and the instruction position is greater than or equal to the first position threshold and less than or equal to the second position threshold; when the instruction parameter is less than the first position threshold, the first position is used as the corrected instruction parameter; and when the instruction parameter is greater than the second position threshold, the second position is used as the corrected instruction parameter. Therefore, the correction module 1200 is used to perform the above steps S911~S913.

[0093] Based on the same inventive concept disclosed above, the present invention also provides a block diagram of a robot 2000 performing the above method. Please refer to... Figure 4 , Figure 4 The block diagram of the robot provided in this embodiment of the invention shows that the robot 2000 includes a processor 2100, a memory 2200, a bus 2300, and a communication interface 2400. The processor 2100 and the memory 2200 are connected via the bus 2300, and the processor 2100 communicates with external devices via the communication interface 2400.

[0094] Processor 2100 may be an integrated circuit chip with signal processing capabilities. In implementation, each step of the above method can be completed through integrated logic circuits in the hardware of processor 2100 or through software instructions. The processor 2100 may be a general-purpose processor 2100, including a central processing unit (CPU), a network processor (NP), etc.; it may also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), an off-the-shelf programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.

[0095] The memory 2200 is used to store computer programs. For example, the joint soft limit protection system 1000 in this embodiment of the invention includes at least one software function module that can be stored in the memory 2200 in the form of software or firmware. After receiving the execution instruction, the processor 2100 executes the program to implement the joint soft limit protection method of the robot 2000 in this embodiment of the invention.

[0096] The memory 2200 may include high-speed random access memory (RAM) or non-volatile memory. Optionally, the memory 2200 may be a storage device built into the processor 2100 or a storage device independent of the processor 2100.

[0097] Bus 2300 can be ISA bus 2300, PCI bus 2300 or EISA bus 2300, etc. Figure 4 It is indicated by only one double-headed arrow, but does not mean that there is only one bus 2300 or one type of bus 2300.

[0098] Robot2000 can be a mobile phone, tablet computer, laptop computer, desktop computer, or other computer device.

[0099] Based on the same inventive concept, embodiments of the present invention also provide a computer-readable storage medium storing a computer program thereon. When executed by processor 2100, this computer program implements the soft limit protection method for the joints of robot 2000 as described above. This computer-readable storage medium may include various media capable of storing program code, such as a USB flash drive, a portable hard drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

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

Claims

1. A method for soft-limiting protection of a joint, characterized in that, The method includes: Obtain control commands for robot joints, and parse the control commands to obtain control mode, target joint, and command parameters; When the control mode is speed control mode or torque control mode, the actual position, direction of movement and limit parameters of the target joint are obtained; the command parameter corresponding to the speed control mode is the command speed, and the command parameter corresponding to the torque control mode is the command torque. The command parameters are modified based on the limit parameters to obtain the modified command parameters; The boundary region is determined based on the aforementioned limiting parameters; When the actual position is within the boundary region and the direction of movement is towards the boundary region, the corrected command parameter is set to zero and used as the first target command parameter of the target joint; If the actual position is within the boundary area and the direction of movement is towards the outside of the boundary area, or if the actual position is not within the boundary area, the corrected command parameters shall be used as the second target command parameters of the target joint. The target joint is driven to perform the target action according to the first target instruction parameter or the second target instruction parameter.

2. The method according to claim 1, characterized in that, The limiting parameters include a first speed and a second speed, wherein the second speed is greater than the first speed; the step of correcting the command parameters based on the limiting parameters to obtain the corrected command parameters includes: If the instruction parameter is an instruction speed, and the instruction parameter is greater than or equal to the first speed and less than or equal to the second speed, then the instruction parameter is used as the corrected instruction parameter. If the command parameter is less than the first speed, the first speed is used as the corrected command parameter; If the command parameter is greater than the second speed, the second speed is used as the corrected command parameter.

3. The method according to claim 1, characterized in that, The limiting parameters include a first torque and a second torque, wherein the second torque is greater than the first torque; the step of correcting the command parameters based on the limiting parameters to obtain the corrected command parameters includes: If the command parameter is the command torque, and the command torque is greater than or equal to the first torque and less than or equal to the second torque, then the command parameter is used as the corrected command parameter. If the command parameter is less than the first torque, the first torque shall be used as the corrected command parameter; If the command parameter is greater than the second torque, the second torque is used as the corrected command parameter.

4. The method according to claim 1, characterized in that, The limiting parameters include a first boundary value, a second boundary value, and a buffer threshold, wherein the second boundary value is greater than the first boundary value, and the step of determining the boundary region based on the limiting parameters includes: A first boundary region is formed based on the difference between the second boundary value and the buffer threshold, and the second boundary value. The second boundary region is formed by the sum of the first boundary value and the buffer threshold, and the first boundary value. The boundary region includes the first boundary region and the second boundary region.

5. The method according to claim 1, characterized in that, The method further includes: Based on the corrected command parameters, the corresponding command parameters before correction, the control mode, the target joint and the correction time, and / or the corrected command parameters after being set to zero, the corrected command parameters before being set to zero, the corresponding zeroing time, the control mode and the target joint, a limit correction record is generated. The limit parameters of the target joint are diagnosed and optimized based on the limit correction record.

6. The method according to claim 1, characterized in that, The method further includes: When the control mode is position control mode, the limit parameters of the target joint are obtained; the command parameter corresponding to the position control mode is the command position. The command parameters are modified based on the limit parameters to obtain the modified command parameters; The target joint is driven to perform the target action based on the modified instruction parameters.

7. The method according to claim 6, characterized in that, The limiting parameters include a first position threshold and a second position threshold, wherein the second position threshold is greater than the first position threshold; the step of correcting the command parameters based on the limiting parameters to obtain the corrected command parameters includes: If the instruction parameter is an instruction position, and the instruction position is greater than or equal to the first position threshold and less than or equal to the second position threshold, the instruction parameter is used as the corrected instruction parameter. If the instruction parameter is less than the first position threshold, the first position is used as the corrected instruction parameter; If the instruction parameter is greater than the second position threshold, the second position is used as the corrected instruction parameter.

8. A joint soft-limiting protection system, characterized in that, The system includes: The acquisition module is used to acquire control commands for robot joints, parse the control commands to obtain control mode, target joint, and command parameters; when the control mode is speed control mode or torque control mode, it acquires the actual position, movement direction, and limit parameters of the target joint; the command parameter corresponding to the speed control mode is the command speed, and the command parameter corresponding to the torque control mode is the command torque. The correction module is used to correct the command parameters based on the limit parameters to obtain corrected command parameters; determine a boundary region based on the limit parameters; when the actual position is within the boundary region and the movement direction is towards the boundary region, set the corrected command parameters to zero and use them as the first target command parameters of the target joint; when the actual position is within the boundary region and the movement direction is towards the outside of the boundary region, or when the actual position is not within the boundary region, use the corrected command parameters as the second target command parameters of the target joint. The execution module is used to drive the target joint to perform a target action according to the first target instruction parameter or the second target instruction parameter.

9. A robot, characterized in that, It includes a processor and a memory, the memory storing a computer program that can be executed by the processor to implement the joint soft limit protection method according to any one of claims 1-7.

10. 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 joint soft limit protection method as described in any one of claims 1-7.