Robot control method and apparatus, computer-readable storage medium, and robot

By performing centroid trajectory planning and dynamic optimization on the robot and load as a whole, the problem of poor stability in robot handling tasks was solved, and higher walking stability was achieved.

WO2026091290A1PCT designated stage Publication Date: 2026-05-07UBTECH ROBOTICS CORP LTD
View PDF 8 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
UBTECH ROBOTICS CORP LTD
Filing Date
2024-12-28
Publication Date
2026-05-07

AI Technical Summary

Technical Problem

Existing robot control methods have poor stability when performing handling tasks, making it difficult to maintain the stability of robot movement, especially under load.

Method used

By planning the center-of-mass trajectory of the robot and the load as a whole, the zero-moment point reference trajectory and the equivalent center-of-mass trajectory are determined. Combined with the dynamic state equation and model predictive control, the pose of the robot's leg joints is optimized to improve stability.

Benefits of technology

It effectively improves the robot's walking stability during load handling and fully considers the impact of the load on the robot's balance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024143541_07052026_PF_FP_ABST
    Figure CN2024143541_07052026_PF_FP_ABST
Patent Text Reader

Abstract

A robot control method, comprising: when a robot carries a load, performing foot trajectory planning on the robot, to obtain a foot trajectory planning result of the robot; determining a zero moment point reference trajectory of the robot on the basis of the foot trajectory planning result; determining an equivalent center of mass trajectory on the basis of the zero moment point reference trajectory, wherein an equivalent center of mass is the center of mass of the robot and the load, taken as a whole; determining a center of mass trajectory of the robot on the basis of the equivalent center of mass trajectory; performing inverse kinematics solution on the basis of the center of mass trajectory of the robot, to obtain leg joint poses of the robot; and on the basis of the leg joint poses of the robot, controlling the robot to move. The impact caused by the load is fully considered, thereby effectively improving the walking stability of the robot. Also provided are a robot control apparatus, a computer-readable storage medium, and a robot.
Need to check novelty before this filing date? Find Prior Art

Description

Robot control methods, devices, computer-readable storage media, and robots

[0001] This application claims priority to Chinese Patent Application No. 202411538873.8, filed on October 30, 2024, entitled "Robot Control Method, Apparatus, Computer-Readable Storage Medium and Robot", the entire contents of which are incorporated herein by reference. Technical Field

[0002] This application belongs to the field of robotics technology, and in particular relates to a robot control method, device, computer-readable storage medium, and robot. Background Technology

[0003] Material handling tasks are very common in daily life and industrial settings, and using robots to perform these tasks can greatly enhance their value. While there are relatively mature robot control methods available, these methods are primarily designed for simple scenarios where the robot has no load. However, in scenarios where robots perform material handling tasks, the heavy objects being carried (i.e., the load) significantly impact the robot's balance. Directly applying existing robot control methods would make it difficult to maintain the robot's stability. Technical issues

[0004] In view of this, embodiments of this application provide a robot control method, apparatus, computer-readable storage medium, and robot to solve the problem of poor stability in existing robot control methods when performing handling tasks. Technical solutions

[0005] A first aspect of this application provides a robot control method, which may include:

[0006] During the process of the robot carrying the load, the robot's foot trajectory is planned to obtain the foot trajectory planning result of the robot;

[0007] The zero-moment point reference trajectory of the robot is determined based on the foot trajectory planning results;

[0008] The equivalent centroid trajectory is determined based on the zero-torque point reference trajectory; wherein, the equivalent centroid is the centroid of the robot and the load as a whole;

[0009] The center-of-mass trajectory of the robot is determined based on the equivalent center-of-mass trajectory;

[0010] The inverse kinematics solution is performed based on the trajectory of the robot's center of mass to obtain the pose of the robot's leg joints;

[0011] The robot's movement is controlled based on the position and posture of its leg joints.

[0012] In one specific implementation of the first aspect, determining the equivalent centroid trajectory based on the zero-moment point reference trajectory may include:

[0013] Based on the robot's dynamic state equation and the zero-moment point reference trajectory, determine the objective function for zero-moment point tracking;

[0014] Determine the constraints corresponding to the objective function;

[0015] Based on the constraints, and with minimizing the objective function as the optimization objective, model predictive control is performed on the robot to obtain the equivalent centroid trajectory.

[0016] In one specific implementation of the first aspect, determining the objective function for zero-moment point tracking based on the robot's dynamic state equation and the zero-moment point reference trajectory may include:

[0017] Based on the robot's dynamic state equation and the zero-moment point reference trajectory, determine the zero-moment point tracking error term and energy term;

[0018] The objective function is determined based on the tracking error term, the energy term, the first weight corresponding to the tracking error term, and the second weight corresponding to the energy term.

[0019] In one specific implementation of the first aspect, determining the objective function based on the tracking error term, the energy term, a first weight corresponding to the tracking error term, and a second weight corresponding to the energy term may include:

[0020] The tracking error term is weighted according to the first weight to obtain the tracking error weighted term;

[0021] The energy terms are weighted according to the second weight to obtain the energy weighted terms;

[0022] The sum of the tracking error weighting term and the energy weighting term is determined as the objective function.

[0023] In one specific implementation of the first aspect, determining the robot's center-of-mass trajectory based on the equivalent center-of-mass trajectory may include:

[0024] Obtain the mass of the robot, the mass of the load, and the trajectory of the center of mass of the load;

[0025] Based on the mass of the robot and the mass of the load, the equivalent center of mass trajectory and the center of mass trajectory of the load are transformed according to a preset center of mass transformation relationship to obtain the center of mass trajectory of the robot; wherein, the center of mass transformation relationship is the transformation relationship between the equivalent center of mass, the center of mass of the load and the center of mass of the robot.

[0026] In one specific implementation of the first aspect, the robot control method may further include:

[0027] During the process of the robot lifting or lowering the load, the actual position, desired position, actual velocity, and desired velocity of the equivalent center of mass are determined;

[0028] The adjustment amount of the equivalent centroid is determined based on the actual position, desired position, actual velocity, and desired velocity of the equivalent centroid.

[0029] The robot's movement is controlled based on the adjustment amount of the equivalent centroid.

[0030] In one specific implementation of the first aspect, determining the adjustment amount of the equivalent centroid based on its actual position, desired position, actual velocity, and desired velocity may include:

[0031] The positional deviation of the equivalent centroid is determined based on its actual and expected positions.

[0032] The velocity deviation of the equivalent centroid is determined based on the actual velocity and the expected velocity of the equivalent centroid.

[0033] The adjustment amount of the equivalent centroid is determined based on the position deviation, the velocity deviation, the proportional coefficient corresponding to the position deviation, and the differential coefficient corresponding to the velocity deviation.

[0034] A second aspect of this application provides a robot control device, which may include:

[0035] The trajectory planning module is used to plan the robot's foot trajectory during the process of the robot carrying the load, and obtain the foot trajectory planning result of the robot.

[0036] The reference trajectory determination module is used to determine the zero-moment point reference trajectory of the robot based on the foot trajectory planning results.

[0037] An equivalent centroid trajectory determination module is used to determine the equivalent centroid trajectory based on the zero-moment point reference trajectory; wherein, the equivalent centroid is the centroid of the robot and the load as a whole;

[0038] The center of mass trajectory determination module is used to determine the center of mass trajectory of the robot based on the equivalent center of mass trajectory;

[0039] The inverse kinematics solution module is used to perform inverse kinematics solution based on the trajectory of the robot's center of mass to obtain the pose of the robot's leg joints;

[0040] The motion control module is used to control the robot's movement based on the position and posture of the robot's leg joints.

[0041] In one specific implementation of the second aspect, the equivalent centroid trajectory determination module may include:

[0042] The objective function determination submodule is used to determine the objective function for zero-moment point tracking based on the robot's dynamic state equation and the zero-moment point reference trajectory.

[0043] The constraint determination submodule is used to determine the constraint conditions corresponding to the objective function;

[0044] The model predictive control submodule is used to perform model predictive control on the robot based on the constraints and with the minimization of the objective function as the optimization objective, so as to obtain the equivalent centroid trajectory.

[0045] In one specific implementation of the second aspect, the objective function determination submodule may include:

[0046] The error term and energy term determination unit is used to determine the zero-torque point tracking error term and energy term based on the robot's dynamic state equation and the zero-torque point reference trajectory.

[0047] The objective function determination unit is used to determine the objective function based on the tracking error term, the energy term, the first weight corresponding to the tracking error term, and the second weight corresponding to the energy term.

[0048] In one specific implementation of the second aspect, the objective function determination unit may be specifically used to: weight the tracking error term according to the first weight to obtain a tracking error weighted term; weight the energy term according to the second weight to obtain an energy weighted term; and determine the objective function by summing the tracking error weighted term and the energy weighted term.

[0049] In one specific implementation of the second aspect, the centroid trajectory determination module may be specifically used to: acquire the mass of the robot, the mass of the load, and the centroid trajectory of the load; based on the mass of the robot and the mass of the load, perform centroid transformation on the equivalent centroid trajectory and the centroid trajectory of the load based on a preset centroid transformation relationship to obtain the centroid trajectory of the robot; wherein, the centroid transformation relationship is the transformation relationship between the equivalent centroid, the centroid of the load, and the centroid of the robot.

[0050] In one specific implementation of the second aspect, the robot control device may further include:

[0051] The data determination module is used to determine the actual position, desired position, actual velocity, and desired velocity of the equivalent center of mass during the process of the robot lifting or lowering the load.

[0052] The adjustment amount determination module is used to determine the adjustment amount of the equivalent centroid based on the actual position, desired position, actual velocity, and desired velocity of the equivalent centroid.

[0053] An adjustment control module is used to control the robot's movement based on the adjustment amount of the equivalent centroid.

[0054] In one specific implementation of the second aspect, the adjustment amount determination module can be specifically used to: determine the position deviation of the equivalent centroid based on the actual position and the expected position of the equivalent centroid; determine the velocity deviation of the equivalent centroid based on the actual velocity and the expected velocity of the equivalent centroid; and determine the adjustment amount of the equivalent centroid based on the position deviation, the velocity deviation, the proportional coefficient corresponding to the position deviation, and the differential coefficient corresponding to the velocity deviation.

[0055] A third aspect of this application provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of any of the robot control methods described above.

[0056] A fourth aspect of this application provides a robot including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of any of the robot control methods described above.

[0057] The fifth aspect of this application provides a computer program product that, when run on a robot, causes the robot to perform the steps of any of the robot control methods described above. Beneficial effects

[0058] The beneficial effects of this application embodiment compared with the prior art are as follows: In the process of a robot carrying a load, this application embodiment performs foot trajectory planning on the robot to obtain the foot trajectory planning result; determines the zero-moment point reference trajectory of the robot based on the foot trajectory planning result; determines the equivalent center of mass trajectory based on the zero-moment point reference trajectory; wherein, the equivalent center of mass is the center of mass of the robot and the load as a whole; determines the center of mass trajectory of the robot based on the equivalent center of mass trajectory; performs inverse kinematics solution based on the center of mass trajectory of the robot to obtain the leg joint pose of the robot; and controls the robot's movement based on the leg joint pose. Through this application embodiment, in the process of a robot carrying a load, the center of mass trajectory is planned as a whole for the robot and the load, and the robot's motion is controlled based on this, fully considering the influence of the load on the robot's balance, effectively improving the stability of the robot's walking. Attached Figure Description

[0059] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0060] Figure 1 is a flowchart of an embodiment of a robot control method according to this application;

[0061] Figure 2 is a structural diagram of an embodiment of a robot control device according to this application;

[0062] Figure 3 is a schematic block diagram of a robot according to an embodiment of this application. Embodiments of the present invention

[0063] To make the inventive objectives, features, and advantages of this application more apparent and understandable, the technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the embodiments described below are only some embodiments of this application, and not all embodiments. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0064] It should be understood that, when used in this specification and the appended claims, the term "comprising" indicates the presence of the described features, integrals, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or a collection thereof.

[0065] It should also be understood that the terminology used in this specification is for the purpose of describing particular embodiments only and is not intended to limit the scope of the application. As used in this specification and the appended claims, the singular forms “a,” “an,” and “the” are intended to include the plural forms unless the context clearly indicates otherwise.

[0066] It should also be further understood that the term “and / or” as used in this application specification and the appended claims means any combination of one or more of the associated listed items and all possible combinations, and includes such combinations.

[0067] As used in this specification and the appended claims, the term "if" may be interpreted, depending on the context, as "when," "once," "in response to determination," or "in response to detection." Similarly, the phrase "if determined" or "if [the described condition or event] is detected" may be interpreted, depending on the context, as "once determined," "in response to determination," "once [the described condition or event] is detected," or "in response to detection of [the described condition or event]."

[0068] Furthermore, in the description of this application, the terms "first," "second," "third," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.

[0069] Material handling tasks are very common in daily life and industrial settings, and using robots to perform these tasks can greatly enhance their value. While there are relatively mature robot control methods available, these methods are primarily designed for simple scenarios where the robot has no load. However, in scenarios where robots perform material handling tasks, the heavy objects being carried (i.e., the load) significantly impact the robot's balance. Directly applying existing robot control methods would make it difficult to maintain the robot's stability.

[0070] In view of this, embodiments of this application provide a robot control method, apparatus, computer-readable storage medium, and robot to solve the problem of poor stability in existing robot control methods when performing handling tasks.

[0071] In the process of a robot carrying a load, the embodiments of this application plan the center-of-gravity trajectory of the robot and the load as a whole, and perform motion control on the robot based on this. This fully considers the impact of the load on the robot's balance and effectively improves the stability of the robot's movement.

[0072] The executing entity in the embodiments of this application can be a robot, including but not limited to industrial robots, home service robots, commercial service robots, and other types of robots.

[0073] Please refer to Figure 1. One embodiment of a robot control method in this application may include:

[0074] Step S101: During the process of the robot carrying the load, the robot's foot trajectory is planned to obtain the robot's foot trajectory planning result.

[0075] In this embodiment of the application, the left and right feet of the robot can be planned based on the distribution of obstacles in the surrounding environment and any existing foot trajectory planning algorithm can be used according to the actual situation. Based on the obstacle avoidance requirements of the surrounding environment, a collision-free foot trajectory planning result is obtained, including the left foot trajectory planning result and the right foot trajectory planning result.

[0076] Step S102: Determine the zero-torque reference trajectory of the robot based on the foot trajectory planning results.

[0077] The Zero Moment Point (ZMP) is a point on the ground such that the net torque generated by inertial forces and gravity in the direction parallel to the ground is zero.

[0078] In this embodiment of the application, after obtaining the robot's foot trajectory planning results, the center point trajectory of both feet can be determined based on the left foot trajectory planning results and the right foot trajectory planning results, and this trajectory can be used as the robot's zero torque point reference trajectory.

[0079] Step S103: Determine the equivalent centroid trajectory based on the zero-torque point reference trajectory.

[0080] The equivalent centroid is the centroid that treats the robot and the load as a whole.

[0081] In this embodiment, the corresponding dynamic state equations can be established based on any robot model in the prior art, and this embodiment does not specifically limit this. For ease of description, the Linear Inverted Pendulum Model (LIPM) is used as an example for detailed explanation. The Linear Inverted Pendulum Model simplifies the robot into an inverted pendulum on a horizontal plane, where all mass is concentrated at the center of mass (CoM), and it is assumed that the supporting surface is horizontal and there is no friction. In the Linear Inverted Pendulum Model, the robot's ankle joint is considered the origin, and the center of mass is at the top of the inverted pendulum. The length of the inverted pendulum is changed by controlling the movement of the legs to maintain the robot's balance and stable walking.

[0082] The dynamic state equation corresponding to the linear inverted pendulum model is shown below: X k+1 =AX k +Bu k Y k =CX k

[0083] Where k is the time step number, 0≤k≤N, N is the preset number of time steps, and X k Let be the state quantity related to the equivalent centroid at the k-th time step. x com,k The position of the equivalent centroid at the k-th time step. Let the velocity of the equivalent centroid at the k-th time step be denoted as . Let x be the acceleration of the equivalent center of mass at the k-th time step. Let C be the jerk of the equivalent center of mass at the k-th time step, A and B be preset parameter matrices, C = [1, 0, -h / g], h be the robot's height, g be the gravitational acceleration, and Y be the acceleration due to gravity. k This is the zero torque point at the k-th time step.

[0084] Based on the robot's dynamic state equations and the zero-moment point reference trajectory, the objective function for zero-moment point tracking can be determined. First, the zero-moment point tracking error term and energy term can be determined from the robot's dynamic state equations and the zero-moment point reference trajectory. Then, the objective function can be determined based on the tracking error term, the energy term, the first weight corresponding to the tracking error term, and the second weight corresponding to the energy term. Specifically, the tracking error term can be weighted according to the first weight to obtain a weighted tracking error term, and the energy term can be weighted according to the second weight to obtain an energy weighted term. Finally, the sum of the weighted tracking error term and the energy weighted term can be determined as the objective function, as shown in the following equation:

[0085] Among them, R k For the zero-torque reference trajectory, the trajectory point at the k-th time step, (R) k -Y k ) 2 For the tracking error term, α is the first weight corresponding to the tracking error term. Its specific value can be flexibly set according to the actual situation. This application does not impose a specific limitation on this. α(R k -Y k ) 2 For tracking error weighting, Let β be the energy term, and β be the second weight corresponding to the energy term. The specific values ​​of β and β can be flexibly set according to the actual situation. This application does not impose specific limitations on this. Let J be the energy weighting term, and J be the objective function.

[0086] The robot's zero-moment point should lie within the convex hull of the polygon at the robot's bipedal positions. Based on this, the constraints corresponding to the objective function can be determined, as shown in the following equation: CX k ≤L u CX k ≥L l

[0087] Among them, L u and L l The upper and lower limits are defined for the polygonal convex hull corresponding to the positions of the robot's two feet.

[0088] Based on the constraints, and with the minimization of the objective function as the optimization objective, Model Predictive Control (MPC) can be used to solve for the equivalent centroid trajectory of the robot.

[0089] Step S104: Determine the robot's center of mass trajectory based on the equivalent center of mass trajectory.

[0090] In this embodiment of the application, the mass of the robot, the mass of the load, and the centroid trajectory of the load can be obtained. Based on the mass of the robot and the mass of the load, the equivalent centroid trajectory and the centroid trajectory of the load are transformed according to a preset centroid transformation relationship, and the centroid trajectory of the robot can be obtained.

[0091] The centroid transformation relationship is the transformation relationship between the equivalent centroid, the load centroid, and the robot centroid, as shown in the following formula: Mx*|Vx-Vp|=Mp*|Ve-Vp| Ve-Vp=K(Vx-Ve)

[0092] Where Mx is the mass of the robot, Mp is the mass of the load, K is the preset conversion coefficient, Vx is the center of mass of the robot, Vp is the center of mass of the load, and Ve is the equivalent center of mass.

[0093] Step S105: Perform inverse kinematics solution based on the robot's center of mass trajectory to obtain the pose of the robot's leg joints.

[0094] In this application embodiment, the pose of the robot's leg joints can be determined based on any inverse kinematics solution method in the prior art, including but not limited to: inverse kinematics solution based on analytical methods, inverse kinematics solution based on numerical iteration methods, inverse kinematics solution based on optimization algorithms, inverse kinematics solution based on Jacobi matrices, inverse kinematics solution based on neural networks, etc. This application embodiment does not make specific limitations on this.

[0095] Step S106: Control the robot to move according to the position and posture of the robot's leg joints.

[0096] After obtaining the robot's leg joint pose through inverse kinematics, the robot can be controlled to move based on the leg joint pose. Since the process of obtaining the leg joint pose has fully considered the influence of the load on the robot's balance, motion control in this way can effectively improve the stability of the robot's walking.

[0097] The above describes the process of a robot carrying a load. Before that, the robot can move its arms to the vicinity of the load and perform compliant control in the direction of gripping the load, such as maintaining a constant force. While lifting the load, the robot can adjust its center of gravity so that the center of gravity always remains within the range of its feet.

[0098] During the process of the robot lifting the load, the actual position, expected position, actual speed and expected speed of the equivalent center of mass can be determined first, and the adjustment amount of the equivalent center of mass can be determined based on the actual position, expected position, actual speed and expected speed of the equivalent center of mass.

[0099] Specifically, the positional deviation of the equivalent centroid can be determined based on its actual and desired positions, and the velocity deviation can be determined based on its actual and desired velocities. After obtaining the positional and velocity deviations, the adjustment amount of the equivalent centroid can be determined based on the positional and velocity deviations, the proportionality coefficient corresponding to the positional deviation, and the differential coefficient corresponding to the velocity deviation, as shown in the following formula: delta=kp(xd-x)+kd(dxd-dx)

[0100] Where xd is the expected position of the equivalent centroid, x is the actual position of the equivalent centroid, (xd-x) is the position deviation of the equivalent centroid, kp is the proportional coefficient corresponding to the position deviation, and its specific value can be flexibly set according to the actual situation. This application embodiment does not make a specific limitation on this. dxd is the expected velocity of the equivalent centroid, dx is the actual velocity of the equivalent centroid, (dxd-dx) is the velocity deviation of the equivalent centroid, kd is the differential coefficient corresponding to the velocity deviation, and its specific value can be flexibly set according to the actual situation. This application embodiment does not make a specific limitation on this. delta is the adjustment amount of the equivalent centroid.

[0101] After determining the adjustment amount of the equivalent center of mass, the center of mass can be adjusted according to this adjustment amount, so that the center of mass is always kept within the range of the two feet, thereby improving the stability of the robot.

[0102] After the robot moves the load to the target location, it can lower the load. At this point, the robot's arms can be controlled to move downwards and detect environmental forces. If the detected environmental force exceeds a preset force threshold, the robot stops moving downwards and begins center of gravity adjustment. The specific value of the force threshold can be flexibly set according to actual conditions; for example, it can be set to 20 Newtons (N) or other values. This application embodiment does not specifically limit this value.

[0103] The process of adjusting the center of gravity when lowering the load is similar to that when lifting the load; please refer to the previous content for details, which will not be repeated here. After completing the center of gravity adjustment, the robot can deactivate the force controller for the direction of gripping the load, and then its arms will move away from the load, thus completing the handling task.

[0104] In summary, this embodiment of the application, during the robot's load handling process, performs foot trajectory planning on the robot to obtain the robot's foot trajectory planning result; determines the robot's zero-moment point reference trajectory based on the foot trajectory planning result; determines the equivalent center of mass trajectory based on the zero-moment point reference trajectory; wherein, the equivalent center of mass is the center of mass of the robot and the load as a whole; determines the robot's center of mass trajectory based on the equivalent center of mass trajectory; performs inverse kinematics solution based on the robot's center of mass trajectory to obtain the robot's leg joint pose; and controls the robot's movement based on the robot's leg joint pose. Through this embodiment of the application, during the robot's load handling process, the center of mass trajectory is planned as a whole for the robot and the load, and the robot's motion control is performed based on this, fully considering the impact of the load on the robot's balance, effectively improving the stability of the robot's walking.

[0105] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0106] Corresponding to the robot control method described in the above embodiments, Figure 2 shows a structural diagram of an embodiment of a robot control device provided in this application.

[0107] In this embodiment, a robot control device may include:

[0108] The trajectory planning module 201 is used to plan the foot trajectory of the robot during the process of the robot carrying the load, and obtain the foot trajectory planning result of the robot.

[0109] The reference trajectory determination module 202 is used to determine the zero-moment point reference trajectory of the robot based on the foot trajectory planning result;

[0110] The equivalent centroid trajectory determination module 203 is used to determine the equivalent centroid trajectory based on the zero torque point reference trajectory; wherein, the equivalent centroid is the centroid of the robot and the load as a whole;

[0111] The center of mass trajectory determination module 204 is used to determine the center of mass trajectory of the robot based on the equivalent center of mass trajectory;

[0112] The inverse kinematics solution module 205 is used to perform inverse kinematics solution based on the trajectory of the robot's center of mass to obtain the pose of the robot's leg joints;

[0113] The motion control module 206 is used to control the robot to move according to the position and posture of the robot's leg joints.

[0114] In one specific implementation of this application embodiment, the equivalent centroid trajectory determination module may include:

[0115] The objective function determination submodule is used to determine the objective function for zero-moment point tracking based on the robot's dynamic state equation and the zero-moment point reference trajectory.

[0116] The constraint determination submodule is used to determine the constraint conditions corresponding to the objective function;

[0117] The model predictive control submodule is used to perform model predictive control on the robot based on the constraints and with the minimization of the objective function as the optimization objective, so as to obtain the equivalent centroid trajectory.

[0118] In one specific implementation of this application embodiment, the objective function determination submodule may include:

[0119] The error term and energy term determination unit is used to determine the zero-torque point tracking error term and energy term based on the robot's dynamic state equation and the zero-torque point reference trajectory.

[0120] The objective function determination unit is used to determine the objective function based on the tracking error term, the energy term, the first weight corresponding to the tracking error term, and the second weight corresponding to the energy term.

[0121] In one specific implementation of this application, the objective function determination unit may be specifically used to: weight the tracking error term according to the first weight to obtain a tracking error weighted term; weight the energy term according to the second weight to obtain an energy weighted term; and determine the sum of the tracking error weighted term and the energy weighted term as the objective function.

[0122] In one specific implementation of this application, the centroid trajectory determination module can be specifically used to: obtain the mass of the robot, the mass of the load, and the centroid trajectory of the load; based on the mass of the robot and the mass of the load, perform centroid transformation on the equivalent centroid trajectory and the centroid trajectory of the load based on a preset centroid transformation relationship to obtain the centroid trajectory of the robot; wherein, the centroid transformation relationship is the transformation relationship between the equivalent centroid, the centroid of the load, and the centroid of the robot.

[0123] In one specific implementation of this application embodiment, the robot control device may further include:

[0124] The data determination module is used to determine the actual position, desired position, actual velocity, and desired velocity of the equivalent center of mass during the process of the robot lifting or lowering the load.

[0125] The adjustment amount determination module is used to determine the adjustment amount of the equivalent centroid based on the actual position, desired position, actual velocity, and desired velocity of the equivalent centroid.

[0126] An adjustment control module is used to control the robot's movement based on the adjustment amount of the equivalent centroid.

[0127] In one specific implementation of this application, the adjustment amount determination module can be specifically used to: determine the position deviation of the equivalent centroid based on the actual position and the expected position of the equivalent centroid; determine the velocity deviation of the equivalent centroid based on the actual velocity and the expected velocity of the equivalent centroid; and determine the adjustment amount of the equivalent centroid based on the position deviation, the velocity deviation, the proportional coefficient corresponding to the position deviation, and the differential coefficient corresponding to the velocity deviation.

[0128] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the devices, modules, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0129] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0130] Figure 3 shows a schematic block diagram of a robot provided in an embodiment of this application. For ease of explanation, only the parts related to the embodiment of this application are shown.

[0131] As shown in Figure 3, the robot 3 in this embodiment includes a processor 30, a memory 31, and a computer program 32 stored in the memory 31 and executable on the processor 30. When the processor 30 executes the computer program 32, it implements the steps in the various robot control method embodiments described above, such as steps S101 to S106 shown in Figure 1. Alternatively, when the processor 30 executes the computer program 32, it implements the functions of each module / unit in the various device embodiments described above, such as the functions of modules 201 to 206 shown in Figure 2.

[0132] For example, the computer program 32 may be divided into one or more modules / units, which are stored in the memory 31 and executed by the processor 30 to complete this application. The one or more modules / units may be a series of computer program instruction segments capable of performing a specific function, which describe the execution process of the computer program 32 in the robot 3.

[0133] Those skilled in the art will understand that Figure 3 is merely an example of robot 3 and does not constitute a limitation on robot 3. It may include more or fewer components than shown, or combine certain components, or different components. For example, robot 3 may also include input / output devices, network access devices, buses, etc.

[0134] The processor 30 can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor.

[0135] The memory 31 can be an internal storage unit of the robot 3, such as a hard drive or memory. The memory 31 can also be an external storage device of the robot 3, such as a plug-in hard drive, smart media card (SMC), secure digital card (SD), flash card, etc., equipped on the robot 3. Furthermore, the memory 31 can include both internal and external storage units of the robot 3. The memory 31 is used to store the computer program and other programs and data required by the robot 3. The memory 31 can also be used to temporarily store data that has been output or will be output.

[0136] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0137] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0138] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0139] In the embodiments provided in this application, it should be understood that the disclosed devices / robots and methods can be implemented in other ways. For example, the device / robot embodiments described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.

[0140] The units described as separate components may or may not be physically separate. 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 units can be selected to achieve the purpose of this embodiment according to actual needs.

[0141] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0142] If the integrated module / unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments can also be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable storage medium can include: any entity or device capable of carrying the computer program code, a recording medium, a USB flash drive, a portable hard drive, a magnetic disk, an optical disk, a computer memory, a read-only memory (ROM), a random access memory (RAM), an electrical carrier signal, a telecommunication signal, and a software distribution medium, etc. It should be noted that the content included in the computer-readable storage medium can be appropriately added or removed according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, the computer-readable storage medium does not include electrical carrier signals and telecommunication signals.

[0143] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.

Claims

1. A robot control method, characterized in that, include: During the process of the robot carrying the load, the robot's foot trajectory is planned to obtain the foot trajectory planning result of the robot; The zero-moment point reference trajectory of the robot is determined based on the foot trajectory planning results; The equivalent centroid trajectory is determined based on the zero-torque point reference trajectory; wherein, the equivalent centroid is the centroid of the robot and the load as a whole; The center-of-mass trajectory of the robot is determined based on the equivalent center-of-mass trajectory; The inverse kinematics solution is performed based on the trajectory of the robot's center of mass to obtain the pose of the robot's leg joints; The robot's movement is controlled based on the position and posture of its leg joints.

2. The robot control method according to claim 1, characterized in that, The step of determining the equivalent centroid trajectory based on the zero-moment point reference trajectory includes: Based on the robot's dynamic state equation and the zero-moment point reference trajectory, determine the objective function for zero-moment point tracking; Determine the constraints corresponding to the objective function; Based on the constraints, and with minimizing the objective function as the optimization objective, model predictive control is performed on the robot to obtain the equivalent centroid trajectory.

3. The robot control method according to claim 2, characterized in that, The step of determining the objective function for zero-moment point tracking based on the robot's dynamic state equation and the zero-moment point reference trajectory includes: Based on the robot's dynamic state equation and the zero-moment point reference trajectory, determine the zero-moment point tracking error term and energy term; The objective function is determined based on the tracking error term, the energy term, the first weight corresponding to the tracking error term, and the second weight corresponding to the energy term.

4. The robot control method according to claim 3, characterized in that, The step of determining the objective function based on the tracking error term, the energy term, the first weight corresponding to the tracking error term, and the second weight corresponding to the energy term includes: The tracking error term is weighted according to the first weight to obtain the tracking error weighted term; The energy terms are weighted according to the second weight to obtain the energy weighted terms; The sum of the tracking error weighting term and the energy weighting term is determined as the objective function.

5. The robot control method according to claim 1, characterized in that, Determining the robot's center-of-mass trajectory based on the equivalent center-of-mass trajectory includes: Obtain the mass of the robot, the mass of the load, and the trajectory of the center of mass of the load; Based on the mass of the robot and the mass of the load, the equivalent center of mass trajectory and the center of mass trajectory of the load are transformed according to a preset center of mass transformation relationship to obtain the center of mass trajectory of the robot; wherein, the center of mass transformation relationship is the transformation relationship between the equivalent center of mass, the center of mass of the load and the center of mass of the robot.

6. The robot control method according to any one of claims 1 to 5, characterized in that, Also includes: During the process of the robot lifting or lowering the load, the actual position, desired position, actual velocity, and desired velocity of the equivalent center of mass are determined; The adjustment amount of the equivalent centroid is determined based on the actual position, desired position, actual velocity, and desired velocity of the equivalent centroid. The robot's movement is controlled based on the adjustment amount of the equivalent centroid.

7. The robot control method according to claim 6, characterized in that, The step of determining the adjustment amount of the equivalent centroid based on its actual position, desired position, actual velocity, and desired velocity includes: The positional deviation of the equivalent centroid is determined based on its actual and expected positions. The velocity deviation of the equivalent centroid is determined based on the actual velocity and the expected velocity of the equivalent centroid. The adjustment amount of the equivalent centroid is determined based on the position deviation, the velocity deviation, the proportional coefficient corresponding to the position deviation, and the differential coefficient corresponding to the velocity deviation.

8. A robot control device, characterized in that, include: The trajectory planning module is used to plan the robot's foot trajectory during the process of the robot carrying the load, and obtain the foot trajectory planning result of the robot. The reference trajectory determination module is used to determine the zero-moment point reference trajectory of the robot based on the foot trajectory planning results. An equivalent centroid trajectory determination module is used to determine the equivalent centroid trajectory based on the zero-moment point reference trajectory; wherein, the equivalent centroid is the centroid of the robot and the load as a whole; The center of mass trajectory determination module is used to determine the center of mass trajectory of the robot based on the equivalent center of mass trajectory; The inverse kinematics solution module is used to perform inverse kinematics solution based on the trajectory of the robot's center of mass to obtain the pose of the robot's leg joints; The motion control module is used to control the robot's movement based on the position and posture of the robot's leg joints.

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

10. A robot comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the steps of the robot control method as described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Closed-loop control-based humanoid robot omnidirectional walking method

    CN103149933A

  • Robot control method and device, computer readable storage medium and robot

    CN112536796A

  • Robot stepping control method and device, robot control equipment and storage medium

    CN114489104A

  • Active and passive combined biped robot online foothold generation and adjustment method

    CN116500892A

  • Gait planning method, system and equipment for biped humanoid robot

    CN116520869A