Joint control method, device and equipment for robot landing buffer and storage medium

By acquiring the robot's joint position and angular velocity, and using the motor position and velocity loop to control the joint torque, the problem of robot impact upon landing is solved, achieving cost reduction and mechanical protection without the need for additional cushioning devices.

CN118357910BActive Publication Date: 2026-05-01GUANGZHOU SHIYUAN ELECTRONICS CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
GUANGZHOU SHIYUAN ELECTRONICS CO LTD
Filing Date
2023-01-18
Publication Date
2026-05-01

AI Technical Summary

Technical Problem

Existing robots suffer mechanical damage upon landing due to impact, and existing cushioning devices lack flexibility and increase hardware costs.

Method used

By acquiring the robot's joint position and angular velocity, the joint torque is output using the motor position loop and velocity loop to control joint movement in order to absorb kinetic energy and avoid impact. The motor position and velocity loop coefficients are updated to control joint movement within a preset torque threshold range.

Benefits of technology

This reduces the impact of the robot landing, avoids mechanical damage, and lowers hardware costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118357910B_ABST
    Figure CN118357910B_ABST
Patent Text Reader

Abstract

The application relates to a robot landing buffer joint control method, device, equipment and storage medium, the method comprising: acquiring a joint position and a joint angular velocity of a robot; obtaining a joint torque of the robot according to the joint position, the joint angular velocity, a motor position loop coefficient and a motor speed loop coefficient of the robot; updating the motor position loop coefficient and the motor speed loop coefficient according to the joint torque and a preset torque threshold to obtain an updated joint torque; and controlling joint movement of the robot according to the updated joint torque. According to the joint torque in the preset torque threshold range, the joint movement of the robot is controlled, the impact of the robot landing is reduced, a buffer device does not need to be additionally installed, and the cost is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Methods, devices, equipment, and storage media for joint control in robot landing cushioning Technical Field

[0001] This application relates to the field of robotics technology, and in particular to a joint control method, apparatus, computer equipment, and storage medium for robot landing cushioning. Background Technology

[0002] With the development of robotics technology, the safety, ease of operation, and flexibility of robots have been continuously improved, and their advantages have been fully utilized. They have been applied in more and more fields, including welding, unmanned retail, assembly, logistics, medical care, and education.

[0003] Currently, when a robot jumps from a height, due to its own weight and downward speed, it will generate a large impact upon landing in order to resist the corresponding kinetic energy. If this impact cannot be absorbed in time, it is very likely to crash into the ground and damage the robot's mechanical structure, and may also damage the robot's joints, affecting its lifespan.

[0004] The existing method is to add a cushioning device to the robot's legs. Specifically, springs are added to the robot's joints, or elastic foot pads are added to the robot's feet. The elasticity provides a certain cushioning effect, but it lacks flexibility, and adding a cushioning device increases hardware costs. Summary of the Invention

[0005] Based on this, the purpose of this application is to provide a joint control method, device, computer equipment, and storage medium for robot landing cushioning, which can reduce the impact of robot landing cushioning and reduce costs.

[0006] According to a first aspect of the embodiments of this application, a joint control method for robot landing cushioning is provided, comprising the following steps:

[0007] Obtain the robot's joint positions and joint angular velocities;

[0008] The joint torque of the robot is obtained based on the joint position, the joint angular velocity, the motor position loop coefficient, and the motor speed loop coefficient, including:

[0009] Calculate the positional error between the stated joint position and the desired joint position, and the angular velocity error between the stated joint angular velocity and the desired joint angular velocity;

[0010] Multiply the position error by the motor position loop coefficient to obtain a first product result; multiply the angular velocity error by the motor speed loop coefficient to obtain a second product result;

[0011] The joint torque of the robot is obtained by summing the first product result and the second product result.

[0012] Based on the joint torque and a preset torque threshold, the motor position loop coefficient and the motor speed loop coefficient are updated to obtain the updated joint torque, including:

[0013] If the absolute value of the joint torque is greater than the preset torque threshold, and the product of the first product result and the second product result is greater than 0, and the absolute value of the second product result is greater than or equal to the preset torque threshold, the motor position loop coefficient is updated to 0 to obtain the first motor position loop coefficient; the motor speed loop coefficient is updated to the absolute value of the ratio of the preset torque threshold to the angular velocity error to obtain the first motor speed loop coefficient.

[0014] The first joint torque of the robot is obtained by summing the product of the first motor position loop coefficient and the position error, and the product of the first motor speed loop coefficient and the angular velocity error. The first joint torque is then used as the updated joint torque.

[0015] The robot's joint movements are controlled based on the updated joint torque.

[0016] According to a second aspect of the embodiments of this application, a joint control device for robot landing cushioning is provided, comprising:

[0017] The joint position acquisition module is used to acquire the robot's joint positions and joint angular velocities.

[0018] A joint torque acquisition module is used to obtain the joint torque of the robot based on the joint position, the joint angular velocity, the motor position loop coefficient, and the motor speed loop coefficient, including:

[0019] Calculate the positional error between the stated joint position and the desired joint position, and the angular velocity error between the stated joint angular velocity and the desired joint angular velocity;

[0020] Multiply the position error by the motor position loop coefficient to obtain a first product result; multiply the angular velocity error by the motor speed loop coefficient to obtain a second product result;

[0021] The joint torque of the robot is obtained by summing the first product result and the second product result.

[0022] A joint torque update module is used to update the motor position loop coefficient and the motor speed loop coefficient based on the joint torque and a preset torque threshold to obtain the updated joint torque, including:

[0023] If the absolute value of the joint torque is greater than the preset torque threshold, and the product of the first product result and the second product result is greater than 0, and the absolute value of the second product result is greater than or equal to the preset torque threshold, the motor position loop coefficient is updated to 0 to obtain the first motor position loop coefficient; the motor speed loop coefficient is updated to the absolute value of the ratio of the preset torque threshold to the angular velocity error to obtain the first motor speed loop coefficient.

[0024] The first joint torque of the robot is obtained by summing the product of the first motor position loop coefficient and the position error, and the product of the first motor speed loop coefficient and the angular velocity error. The first joint torque is then used as the updated joint torque.

[0025] A joint motion control module is used to control the joint motion of the robot based on the updated joint torque.

[0026] According to a third aspect of the embodiments of this application, a computer device is provided, comprising: a processor and a memory; wherein the memory stores a computer program adapted to be loaded by the processor and executed as described in any of the preceding embodiments, the computer program being adapted to be executed by the processor, the joint control method for robot landing buffering as described in any of the preceding embodiments.

[0027] According to a fourth aspect of the embodiments of this application, a computer-readable storage medium is provided, on which a computer program is stored, which, when executed by a processor, implements the joint control method for robot landing buffering as described in any of the preceding claims.

[0028] This application embodiment obtains the joint position and joint angular velocity of the robot; and obtains the joint torque of the robot based on the joint position, the joint angular velocity, the motor position loop coefficient, and the motor speed loop coefficient.

[0029] Based on the joint torque and a preset torque threshold, the motor position loop coefficient and the motor speed loop coefficient are updated to obtain the updated joint torque; the robot's joint movement is controlled based on the updated joint torque. This embodiment controls the robot's joint movement based on joint torque within a preset torque threshold range, reducing the impact of robot landing, eliminating the need for a buffer device, and lowering costs.

[0030] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and do not limit this application.

[0031] To better understand and implement this invention, the following detailed description is provided in conjunction with the accompanying drawings. Attached Figure Description

[0032] Figure 1 is a flowchart illustrating a joint control method for robot landing buffering according to an embodiment of this application;

[0033] Figure 2 is a structural block diagram of a robot landing buffer joint control device provided in an embodiment of this application;

[0034] Figure 3 is a schematic block diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0035] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.

[0036] It should be understood that the described embodiments are merely some, not all, of the embodiments in this application. All other embodiments obtained by those skilled in the art based on the embodiments in this application without inventive effort are within the scope of protection of this application.

[0037] The terminology used in the embodiments of this application is for the purpose of describing particular embodiments only and is not intended to limit the embodiments of this application. The singular forms “a,” “the,” and “the” used in the embodiments of this application and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any or all possible combinations of one or more of the associated listed items.

[0038] In the following description, when referring to the accompanying drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims. In the description of this application, it should be understood that the terms "first," "second," "third," etc., are used only to distinguish similar objects and are not necessarily used to describe a specific order or sequence, nor should they be construed as indicating or implying relative importance. Those skilled in the art can understand the specific meaning of the above terms in this application according to the specific circumstances.

[0039] Furthermore, in the description of this application, unless otherwise stated, "multiple" means two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. The character " / " generally indicates that the preceding and following related objects have an "or" relationship.

[0040] To better understand the technical solution of this application, we will first briefly introduce some robots in the technology.

[0041] A robot comprises a robot chassis, a robot base, and a robotic arm. The robot chassis can dock or move within the working environment. The robot base is mounted on the robot chassis, and the robotic arm is mounted on the robot base. The robotic arm includes multiple joints, which are devices that connect two components. This connection is not fixed but allows for finite relative movement. Optionally, the movement can include rotation and translation. The robotic arm achieves its own movement by controlling the movement of its joints. The end effector of the robotic arm, i.e., the distal joint, is used to interact with the environment, for example, wiping or spraying the workpiece.

[0042] The robot also includes one or more processors; optionally, the processor can be built into the robot as a whole; alternatively, the processor can be externally placed inside the robot to independently control its movement. Optionally, the processor can also simply execute the robot's landing cushioning joint control method. That is, the robot landing cushioning joint control method of this application can also be executed by other processing centers connected to the processor. These other processing centers transmit the obtained robot landing cushioning joint control method to the processor, which then further executes the robot landing cushioning joint control method.

[0043] Example 1

[0044] Please refer to Figure 1, which is a flowchart illustrating a robot landing cushioning joint control method according to an embodiment of this application. The robot landing cushioning joint control method provided in this embodiment includes the following steps:

[0045] S10: Obtain the robot's joint positions and joint angular velocities.

[0046] The robot's joint positions include the measured joint positions of each joint on each leg of the robot at each moment, and the robot's joint angular velocities include the measured joint angular velocities of each joint on each leg of the robot at each moment.

[0047] In this embodiment of the application, the joint position and joint angular velocity of the robot can be obtained from the robot's joint encoder.

[0048] S20: Obtain the joint torque of the robot based on the joint position, joint angular velocity, robot motor position loop coefficient, and motor speed loop coefficient.

[0049] When a robot jumps from the air, it generates kinetic energy. Upon landing, if joint torque is not applied to the robot's joints, the entire robot will crash directly to the ground. Therefore, to cushion the impact of the robot's landing and prevent damage to the entire robot, this application uses a motor position loop and a speed loop to output joint torque to control the movement of the robot's joints.

[0050] Specifically, the motor position loop acts like a spring, gradually absorbing the kinetic energy generated during the robot's descent through the compression of each joint. This absorbed kinetic energy is converted into elastic potential energy. If this elastic potential energy is not handled, it will cause the robot's body to vibrate. The motor speed loop acts like adding damping to each joint, gradually dissipating the elastic potential energy through this damping effect.

[0051] In this embodiment, the robot's joint position, desired joint position, and motor position loop coefficients are input to the motor position loop, and a first joint torque is output. The robot's joint angular velocity, desired joint angular velocity, and motor speed loop coefficients are input to the motor speed loop, and a second joint torque is output. The robot's joint torque can be obtained based on the first and second joint torques.

[0052] S30: Based on the joint torque and the preset torque threshold, update the motor position loop coefficient and the motor speed loop coefficient to obtain the updated joint torque.

[0053] The preset torque threshold is the rated torque of the robot motor. During the landing and cushioning process, each leg of the robot undergoes a process of first compressing at a certain angle and then extending. During this process, the desired positions of each joint of the robot remain unchanged. Because of the leg compression, the deviation between the actual joint position and the desired joint position increases, leading to an increase in the corresponding joint torque. Once this increase reaches a certain value, it will exceed the rated torque of the motor, thus causing motor overload.

[0054] In this embodiment, the joint torque is compared with a preset torque threshold. If the joint torque is less than or equal to the preset torque threshold, no update is performed on the joint torque. If the joint torque exceeds the preset torque threshold, the motor position loop coefficient and the motor speed loop coefficient are updated to obtain the updated joint torque, ensuring that the updated joint torque does not exceed the preset torque threshold.

[0055] S40: Control the robot's joint movements based on the updated joint torque.

[0056] In this embodiment, the robot's joint movement is controlled according to the updated joint torque, thereby buffering the impact of the robot landing and preventing damage to the entire robot.

[0057] By applying the embodiments of this application, the robot's joint positions and angular velocities are obtained; the robot's joint torque is obtained based on the joint positions, joint angular velocities, the robot's motor position loop coefficient, and the motor speed loop coefficient; the motor position loop coefficient and the motor speed loop coefficient are updated based on the joint torque and a preset torque threshold to obtain the updated joint torque; and the robot's joint movement is controlled based on the updated joint torque. This embodiment controls the robot's joint movement based on joint torque within the preset torque threshold range, reducing the impact of robot landing, eliminating the need for cushioning devices, and lowering costs.

[0058] In an optional embodiment, step S20 includes steps S21 to S23, as follows:

[0059] S21: Calculate the positional error between the joint position and the desired joint position, and the angular velocity error between the joint angular velocity and the desired joint angular velocity;

[0060] S22: Multiply the position error by the motor position loop coefficient to obtain the first product result; multiply the angular velocity error by the motor speed loop coefficient to obtain the second product result;

[0061] S23: Summing the first product result with the second product result yields the robot's joint torque.

[0062] In this embodiment, the formula for calculating the joint torque of the robot is as follows:

[0063]

[0064] in, The robot's first Joint torque of each joint, Indicates the first The joint position of each joint. Indicates the first Joint angular velocity of each joint Indicates the desired joint position. Indicates the desired joint velocity. Indicates the motor position loop coefficient. This represents the motor speed loop coefficient.

[0065] By coordinating the robot's motor position loop and motor speed loop, the robot's joint torque can be obtained automatically and quickly.

[0066] In an optional embodiment, step S30 includes step S31, as follows:

[0067] S31: If the absolute value of the joint torque is less than or equal to the preset torque threshold, the joint torque will not be updated.

[0068] In this embodiment of the application, given the motor position loop coefficient and the motor speed loop coefficient, the expression for the joint torque is as follows:

[0069]

[0070]

[0071]

[0072] in, This indicates that the loop coefficient is at a given motor position. and the motor speed loop coefficient is At that time, the joint torque of the robot.

[0073] If the absolute value of the joint torque is less than or equal to the preset torque threshold To keep the motor position loop coefficient and the motor speed loop coefficient constant, that is:

[0074]

[0075]

[0076] In an optional embodiment, step S30 includes steps S32-S33, as follows:

[0077] S32: If the absolute value of the joint torque is greater than the preset torque threshold, and the product of the first product result and the second product result is greater than 0, and the absolute value of the second product result is greater than or equal to the preset torque threshold, update the motor position loop coefficient to 0 to obtain the first motor position loop coefficient; update the motor speed loop coefficient to the absolute value of the ratio of the preset torque threshold to the angular velocity error to obtain the first motor speed loop coefficient.

[0078] S33: Summing the product of the first motor position loop coefficient and the position error, and the product of the first motor speed loop coefficient and the angular velocity error, to obtain the robot's first joint torque, and using the first joint torque as the updated joint torque.

[0079] In the embodiments of this application, if ,and and Same number, and The update formulas for the motor position loop coefficient and the motor speed loop coefficient are as follows:

[0080]

[0081]

[0082] Torque generated by the motor position loop Torque generated by the motor speed loop With the same sign, the two have an additive effect, and the torque of the motor speed loop alone... It has already exceeded the rated torque of the motor. At this point, the motor speed loop coefficient is modified so that the joint torque output by the motor is the rated torque of the motor, thereby minimizing the impact of the robot landing.

[0083] In an optional embodiment, step S30 includes steps S34-S35, as follows:

[0084] S34: If the absolute value of the joint torque is greater than the preset torque threshold, and the product of the first product result and the second product result is greater than 0, and the absolute value of the second product result is less than the preset torque threshold, calculate the product of the sign function of the joint torque and the preset torque threshold to obtain the third product result; calculate the first difference between the third product result and the second product result, update the motor position loop coefficient to the absolute value of the ratio of the first difference to the angular velocity error, and obtain the second motor position loop coefficient;

[0085] S35: The second joint torque of the robot is obtained by summing the product of the second motor position loop coefficient and the position error, and the product of the motor speed loop coefficient and the angular velocity error, and the second joint torque is used as the updated joint torque.

[0086] In the embodiments of this application, if ,and and Same number, and The update formulas for the motor position loop coefficient and the motor speed loop coefficient are as follows:

[0087]

[0088]

[0089] in, Represents a symbolic function.

[0090] Torque generated by the motor position loop Torque generated by the motor speed loop The two have the same sign and their effects are additive, and the torque generated by the motor speed loop is also... No torque exceeded the rated torque At this point, while keeping the motor speed loop coefficient constant, the motor position loop coefficient is modified so that the joint torque output by the motor is the rated torque of the motor, thereby minimizing the impact of the robot landing.

[0091] In an optional embodiment, step S30 includes steps S36-S37, as follows:

[0092] S36: If the absolute value of the joint torque is greater than the preset torque threshold, and the product of the first product result and the second product result is less than 0, and the product of the joint torque and the second product result is less than 0, calculate the product of the sign function of the first product result and the preset torque threshold to obtain the fourth product result; calculate the second difference between the fourth product result and the second product result, update the motor position loop coefficient to the absolute value of the ratio of the second difference to the angular velocity error, and obtain the third motor position loop coefficient;

[0093] S37: Summing the product of the third motor position loop coefficient and the position error, and the product of the motor speed loop coefficient and the angular velocity error, the third joint torque of the robot is obtained, and the third joint torque is used as the updated joint torque.

[0094] In the embodiments of this application, if ,and and Different signs, and and If the signs are opposite, the update formulas for the motor position loop coefficient and the motor speed loop coefficient are as follows:

[0095]

[0096]

[0097] Torque generated by the motor position loop Torque generated by the motor speed loop The opposite signs cancel each other out, and the joint torque... Torque generated by the motor speed loop A sign difference indicates that the presence of the motor speed loop can reduce joint torque. In this case, the motor speed loop coefficient is kept unchanged, while the motor position loop coefficient is modified so that the joint torque output by the motor is the rated torque of the motor, thereby minimizing the impact of the robot landing.

[0098] In an optional embodiment, step S30 includes steps S38-S39, as follows:

[0099] S38: If the absolute value of the joint torque is greater than the preset torque threshold, and the product of the first product result and the second product result is less than 0, and the product of the joint torque and the first product result is less than 0, calculate the product of the sign function of the second product result and the preset torque threshold to obtain the fifth product result; calculate the third difference between the fifth product result and the first product result, update the motor speed loop coefficient to the absolute value of the ratio of the third difference to the angular velocity error, and obtain the second motor speed loop coefficient;

[0100] S39: Summing the product of the motor position loop coefficient and the position error, and the product of the second motor speed loop coefficient and the angular velocity error, the fourth joint torque of the robot is obtained, and the fourth joint torque is used as the updated joint torque.

[0101] In the embodiments of this application, if ,and and Different signs, and and If the signs are opposite, the update formulas for the motor position loop coefficient and the motor speed loop coefficient are as follows:

[0102]

[0103]

[0104] Torque generated by the motor position loop Torque generated by the motor speed loop The opposite signs cancel each other out, and the joint torque... Torque generated by the motor position loop A different sign indicates that the presence of the motor position loop can reduce joint torque. In this case, the motor position loop coefficient is kept unchanged, while the motor speed loop coefficient is modified so that the joint torque output by the motor is the rated torque of the motor, thereby minimizing the impact of the robot landing.

[0105] Example 2

[0106] The following are embodiments of the apparatus of this application, which can be used to execute the method described in Embodiment 1 of this application. For details not disclosed in the apparatus embodiments of this application, please refer to the method described in Embodiment 1 of this application.

[0107] Please refer to Figure 2, which shows a schematic diagram of the joint control device for robot landing cushioning provided in this embodiment of the application. The joint control device 5 for robot landing cushioning provided in this embodiment of the application includes:

[0108] The joint position acquisition module 51 is used to acquire the joint position and joint angular velocity of the robot.

[0109] The joint torque acquisition module 52 is used to obtain the joint torque of the robot based on the joint position, joint angular velocity, the robot's motor position loop coefficient, and the motor speed loop coefficient.

[0110] The joint torque update module 53 is used to update the motor position loop coefficient and the motor speed loop coefficient according to the joint torque and the preset torque threshold, so as to obtain the updated joint torque.

[0111] The joint motion control module 54 is used to control the joint motion of the robot based on the updated joint torque.

[0112] Optionally, the joint torque acquisition module includes:

[0113] The position error calculation unit is used to calculate the position error between the joint position and the desired joint position, and the angular velocity error between the joint angular velocity and the desired joint angular velocity.

[0114] The product result acquisition unit is used to multiply the position error by the motor position loop coefficient to obtain the first product result; and to multiply the angular velocity error by the motor speed loop coefficient to obtain the second product result.

[0115] The joint torque acquisition unit is used to sum the first product result and the second product result to obtain the joint torque of the robot.

[0116] Optional, the joint torque update module includes:

[0117] The first motor speed loop coefficient obtaining unit is used to update the motor position loop coefficient to 0 and obtain the first motor position loop coefficient if the absolute value of the joint torque is greater than a preset torque threshold, and the product of the first product result and the second product result is greater than 0, and the absolute value of the second product result is greater than or equal to the preset torque threshold; and to update the motor speed loop coefficient to the absolute value of the ratio of the preset torque threshold to the angular velocity error and obtain the first motor speed loop coefficient.

[0118] The first joint torque acquisition unit is used to sum the product of the first motor position loop coefficient and the position error, and the product of the first motor speed loop coefficient and the angular velocity error to obtain the first joint torque of the robot, and use the first joint torque as the updated joint torque.

[0119] Optional, the joint torque update module includes:

[0120] The second motor speed loop coefficient acquisition unit is used to calculate the sign function of the joint torque and the product of the preset torque threshold if the absolute value of the joint torque is greater than the preset torque threshold, and the product of the first product result and the second product result is greater than 0, and the absolute value of the second product result is less than the preset torque threshold, to obtain the third product result; calculate the first difference between the third product result and the second product result, and update the motor position loop coefficient to the absolute value of the ratio of the first difference to the angular velocity error, to obtain the second motor position loop coefficient;

[0121] The second joint torque acquisition unit is used to obtain the robot's second joint torque by summing the product of the second motor position loop coefficient and the position error, and the product of the motor speed loop coefficient and the angular velocity error, and then using the second joint torque as the updated joint torque.

[0122] Optional, the joint torque update module includes:

[0123] The third motor speed loop coefficient acquisition unit is used to calculate the sign function of the first product result and the product of the preset torque threshold if the absolute value of the joint torque is greater than the preset torque threshold, and the product of the first product result and the second product result is less than 0, and the product of the joint torque and the second product result is less than 0, to obtain the fourth product result; calculate the second difference between the fourth product result and the second product result, update the motor position loop coefficient to the absolute value of the ratio of the second difference to the angular velocity error, and obtain the third motor position loop coefficient;

[0124] The third joint torque acquisition unit is used to obtain the robot's third joint torque by summing the product of the third motor position loop coefficient and the position error, and the product of the motor speed loop coefficient and the angular velocity error, and then using the third joint torque as the updated joint torque.

[0125] Optional, the joint torque update module includes:

[0126] The fourth motor speed loop coefficient acquisition unit is used to calculate the sign function of the second product result and the product of the preset torque threshold if the absolute value of the joint torque is greater than the preset torque threshold, and the product of the first product result and the second product result is less than 0, and the product of the joint torque and the first product result is less than 0, to obtain the fifth product result; calculate the third difference between the fifth product result and the first product result, and update the motor speed loop coefficient to the absolute value of the ratio of the third difference to the angular velocity error to obtain the second motor speed loop coefficient;

[0127] The fourth joint torque acquisition unit is used to obtain the robot's fourth joint torque by summing the product of the motor position loop coefficient and the position error, and the product of the second motor speed loop coefficient and the angular velocity error, and then using the fourth joint torque as the updated joint torque.

[0128] Optional, the joint torque update module includes:

[0129] The joint torque update unit is used to prevent updating the joint torque if the absolute value of the joint torque is less than or equal to a preset torque threshold.

[0130] By applying the embodiments of this application, the robot's joint positions and joint angular velocities are obtained; the robot's joint torque is obtained based on the joint positions, joint angular velocities, the robot's motor position loop coefficient, and the motor speed loop coefficient; the motor position loop coefficient and the motor speed loop coefficient are updated based on the joint torque and a preset torque threshold to obtain the updated joint torque; and the robot's joint movement is controlled based on the updated joint torque. This embodiment of the application controls the robot's joint movement based on joint torque within a preset torque threshold range, reducing the impact of robot landing, eliminating the need for additional cushioning devices, and lowering costs.

[0131] Example 3

[0132] The following are embodiments of the device described in this application, which can be used to execute the method described in Embodiment 1 of this application. For details not disclosed in the embodiments of the device described in this application, please refer to the method described in Embodiment 1 of this application.

[0133] Please refer to Figure 3. This application also provides an electronic device 300. The electronic device may specifically be a computer, mobile phone, tablet computer, etc. In an exemplary embodiment of this application, the electronic device 300 is a computer. The computer may include: at least one processor 301, at least one memory 302, at least one display, at least one network interface 303, user interface 304, and at least one communication bus 305.

[0134] The user interface 304 is primarily used to provide an input interface for the user and to acquire user input data. Optionally, the user interface may also include a standard wired interface or a wireless interface.

[0135] The network interface 303 may optionally include a standard wired interface or a wireless interface (such as a Wi-Fi interface).

[0136] The communication bus 305 is used to enable communication between these components.

[0137] The processor 301 may include one or more processing cores. The processor connects to various parts of the electronic device using various interfaces and lines, and performs various functions and processes data by running or executing instructions, programs, code sets, or instruction sets stored in memory, and by calling data stored in memory. Optionally, the processor may be implemented using at least one hardware form of Digital Signal Processing (DSP), Field-Programmable Gate Array (FPGA), or Programmable Logic Array (PLA). The processor may integrate one or a combination of several of the following: Central Processing Unit (CPU), Graphics Processing Unit (GPU), and modem. The CPU primarily handles the operating system, user interface, and applications; the GPU is responsible for rendering and drawing the content required for display; and the modem handles wireless communication. It is understood that the modem may also be implemented as a separate chip without being integrated into the processor.

[0138] The memory 302 may include random access memory (RAM) or read-only memory. Optionally, the memory may include a non-transitory computer-readable storage medium. The memory can be used to store instructions, programs, code, code sets, or instruction sets. The memory may include a program storage area and a data storage area, wherein the program storage area may store instructions for implementing an operating system, instructions for at least one function (such as touch function, sound playback function, image playback function, etc.), instructions for implementing the above-described method embodiments, etc.; the data storage area may store data involved in the above-described method embodiments, etc. Optionally, the memory may also be at least one storage device located remotely from the aforementioned processor. As a computer storage medium, the memory may include an operating system, a network communication module, a user interface module, and operating applications.

[0139] The processor can be used to call the application program of the robot landing buffer joint control method stored in the memory, and specifically execute the method steps of Embodiment 1 shown above. For the specific execution process, please refer to the detailed description shown in Embodiment 1, which will not be repeated here.

[0140] Example 4

[0141] This application also provides a computer-readable storage medium storing a computer program thereon, the instructions of which are adapted to be loaded by a processor and executed by the method steps of Embodiment 1 shown above. The specific execution process can be found in the detailed description of the embodiments, and will not be repeated here. The device containing the storage medium can be an electronic device such as a personal computer, laptop computer, smartphone, or tablet computer.

[0142] For the device embodiments, since they basically correspond to the method embodiments, the relevant parts can be referred to in the description of the method embodiments. The device embodiments described above are merely illustrative, wherein the components described as separate parts may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this application according to actual needs. Those skilled in the art can understand and implement this without creative effort.

[0143] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0144] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions selected in one or more flowchart illustrations and / or one or more block diagrams. These computer program instructions can also be stored in a computer-readable storage medium capable of directing a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means that implement the functions selected in one or more flowchart illustrations and / or one or more block diagrams.

[0145] These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, such that the instructions, which execute on the computer or other programmable apparatus, provide steps for implementing the functions selected in one or more flowcharts and / or one or more block diagrams.

[0146] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0147] Memory may include non-persistent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0148] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0149] It should also be noted that 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 process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0150] The above are merely embodiments of this application and are not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.

Claims

1. A joint control method for robot landing cushioning, characterized in that, The method includes the following steps: acquiring the joint positions and joint angular velocities of the robot; obtaining the joint torque of the robot based on the joint positions, joint angular velocities, the robot's motor position loop coefficients, and motor speed loop coefficients, including: calculating the positional error between the joint position and the desired joint position, and the angular velocity error between the joint angular velocity and the desired joint angular velocity; multiplying the positional error by the motor position loop coefficients to obtain a first product result; multiplying the angular velocity error by the motor speed loop coefficients to obtain a second product result; summing the first product result and the second product result to obtain the joint torque of the robot; updating the motor position loop coefficients and motor speed loop coefficients based on the joint torque and a preset torque threshold to obtain the updated joint torque. The torque includes: if the absolute value of the joint torque is greater than the preset torque threshold, and the product of the first product result and the second product result is greater than 0, and the absolute value of the second product result is greater than or equal to the preset torque threshold, updating the motor position loop coefficient to 0 to obtain a first motor position loop coefficient; updating the motor speed loop coefficient to the absolute value of the ratio of the preset torque threshold to the angular velocity error to obtain a first motor speed loop coefficient; summing the product of the first motor position loop coefficient and the position error, and the product of the first motor speed loop coefficient and the angular velocity error to obtain the first joint torque of the robot, using the first joint torque as the updated joint torque; and controlling the joint movement of the robot according to the updated joint torque.

2. The joint control method for robot landing buffering according to claim 1, characterized in that: The step of updating the motor position loop coefficient and the motor speed loop coefficient based on the joint torque and a preset torque threshold to obtain the updated joint torque includes: if the absolute value of the joint torque is greater than the preset torque threshold, and the product of the first product result and the second product result is greater than 0, and the absolute value of the second product result is less than the preset torque threshold, calculating the product of the sign function of the joint torque and the preset torque threshold to obtain a third product result; calculating the first difference between the third product result and the second product result, updating the motor position loop coefficient to the absolute value of the ratio of the first difference to the angular velocity error to obtain a second motor position loop coefficient; summing the product of the second motor position loop coefficient and the position error, and the product of the motor speed loop coefficient and the angular velocity error to obtain the second joint torque of the robot, and using the second joint torque as the updated joint torque.

3. The joint control method for robot landing buffering according to claim 1, characterized in that: The step of updating the motor position loop coefficient and the motor speed loop coefficient based on the joint torque and a preset torque threshold to obtain the updated joint torque includes: if the absolute value of the joint torque is greater than the preset torque threshold, and the product of the first product result and the second product result is less than 0, and the product of the joint torque and the second product result is less than 0, calculating the sign function of the first product result and the product of the preset torque threshold to obtain a fourth product result; calculating the second difference between the fourth product result and the second product result, updating the motor position loop coefficient to the absolute value of the ratio of the second difference to the angular velocity error to obtain a third motor position loop coefficient; summing the product of the third motor position loop coefficient and the position error, and the product of the motor speed loop coefficient and the angular velocity error to obtain the third joint torque of the robot, and using the third joint torque as the updated joint torque.

4. The joint control method for robot landing buffering according to claim 1, characterized in that: The step of updating the motor position loop coefficient and the motor speed loop coefficient based on the joint torque and a preset torque threshold to obtain the updated joint torque includes: if the absolute value of the joint torque is greater than the preset torque threshold, and the product of the first product result and the second product result is less than 0, and the product of the joint torque and the first product result is less than 0, calculating the sign function of the second product result and the product of the preset torque threshold to obtain a fifth product result; calculating the third difference between the fifth product result and the first product result, updating the motor speed loop coefficient to the absolute value of the ratio of the third difference to the angular velocity error to obtain a second motor speed loop coefficient; and summing the product of the motor position loop coefficient and the position error, and the product of the second motor speed loop coefficient and the angular velocity error to obtain the fourth joint torque of the robot, and using the fourth joint torque as the updated joint torque.

5. The joint control method for robot landing buffering according to claim 1, characterized in that: The step of updating the motor position loop coefficient and the motor speed loop coefficient based on the joint torque and the preset torque threshold to obtain the updated joint torque includes: if the absolute value of the joint torque is less than or equal to the preset torque threshold, the joint torque is not updated.

6. A joint control device for robot landing cushioning, characterized in that, include: The joint position acquisition module is used to acquire the robot's joint positions and joint angular velocities. A joint torque acquisition module is used to obtain the joint torque of the robot based on the joint position, the joint angular velocity, the robot's motor position loop coefficient, and the motor speed loop coefficient. This includes: calculating the position error between the joint position and the desired joint position, and the angular velocity error between the joint angular velocity and the desired joint angular velocity; multiplying the position error by the motor position loop coefficient to obtain a first product result; multiplying the angular velocity error by the motor speed loop coefficient to obtain a second product result; and summing the first product result and the second product result to obtain the robot's joint torque. A joint torque update module is used to update the motor position loop coefficient and the motor speed loop coefficient based on the joint torque and a preset torque threshold to obtain the updated joint torque. This includes: if the... If the absolute value of the joint torque is greater than the preset torque threshold, and the product of the first product result and the second product result is greater than 0, and the absolute value of the second product result is greater than or equal to the preset torque threshold, the motor position loop coefficient is updated to 0 to obtain the first motor position loop coefficient; the motor speed loop coefficient is updated to the absolute value of the ratio of the preset torque threshold to the angular velocity error to obtain the first motor speed loop coefficient; the product of the first motor position loop coefficient and the position error, and the product of the first motor speed loop coefficient and the angular velocity error are summed to obtain the first joint torque of the robot, and the first joint torque is used as the updated joint torque; the joint motion control module is used to control the joint motion of the robot according to the updated joint torque.

7. A computer device, comprising: A processor, a memory, and a computer program stored in the memory and executable on the processor, characterized in that the processor, when executing the computer program, implements the steps of the method as claimed in any one of claims 1 to 5.

8. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method as described in any one of claims 1 to 5.

Citation Information

Patent Citations

  • Safety protection method and foot type robot

    CN113788085A

  • Flexible driving method, flexible parallel robot control method and flexible driving device

    CN115179286A