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

By performing centroid trajectory planning and motion control on the robot and load as a whole, the stability problem of robots carrying tasks in existing technologies has been solved, and higher walking stability has been achieved.

CN119536047BActive Publication Date: 2025-11-07UBTECH ROBOTICS CORP LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411538873.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-10-30
Publication Date
2025-11-07
Estimated Expiration
2044-10-30

AI Technical Summary

Technical Problem

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

Method used

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

Benefits of technology

It effectively improves the walking stability of the robot 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 CN119536047B_ABST
    Figure CN119536047B_ABST
Patent Text Reader

Abstract

The application belongs to the technical field of robots, and particularly relates to a robot control method and device, a computer readable storage medium and a robot. The method comprises the following steps: in the process of carrying a load by a robot, foot trajectory planning is performed on the robot to obtain a foot trajectory planning result of the robot; a zero moment point reference trajectory of the robot is determined according to the foot trajectory planning result; an equivalent center of mass trajectory is determined according to the zero moment point reference trajectory; the equivalent center of mass is the center of mass of the robot and the load as a whole; a center of mass trajectory of the robot is determined according to the equivalent center of mass trajectory; inverse kinematics is solved according to the center of mass trajectory of the robot to obtain a leg joint pose of the robot; and the robot is controlled to move according to the leg joint pose of the robot. According to the application, the influence of the load is fully considered, and the stability of the robot walking is effectively improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application belongs to the technical field of robots, and particularly relates to a robot control method and device, a computer readable storage medium, and a robot. BACKGROUND

[0002] Carrying tasks are very common in daily life and industrial scenarios, and using robots to perform carrying tasks can greatly improve the use value of the robots. In the prior art, there are relatively mature robot control methods, but these robot control methods are mainly for simple scenarios in which the robots have no load. In the scenario in which the robots perform carrying tasks, the weight (i.e., the load) carried by the robots has a great impact on the balance of the robots, and if the robot control methods in the prior art are directly used, it will be difficult to maintain the stability of the robots when the robots walk. SUMMARY

[0003] Therefore, embodiments of the present application provide a robot control method and device, a computer readable storage medium, and a robot to solve the problem of poor stability when performing a carrying task in the prior art robot control method.

[0004] A first aspect of the embodiments of the present application provides a robot control method, which can include:

[0005] During the process in which the robot carries a load, foot trajectory planning is performed on the robot to obtain a foot trajectory planning result of the robot;

[0006] A zero moment point reference trajectory of the robot is determined according to the foot trajectory planning result;

[0007] An equivalent center of mass trajectory is determined according to the zero moment point reference trajectory; wherein the equivalent center of mass is a center of mass of the robot and the load as a whole;

[0008] A center of mass trajectory of the robot is determined according to the equivalent center of mass trajectory;

[0009] Inverse kinematics is solved according to the center of mass trajectory of the robot to obtain a leg joint pose of the robot;

[0010] The robot is controlled to move according to the leg joint pose of the robot.

[0011] In a specific implementation manner of the first aspect, the determination of the equivalent center of mass trajectory according to the zero moment point reference trajectory can include:

[0012] A target function for zero moment point tracking is determined according to a dynamic state equation of the robot and the zero moment point reference trajectory;

[0013] determine a constraint condition corresponding to the objective function;

[0014] perform model predictive control on the robot based on the constraint condition, with minimization of the objective function as an optimization goal, to obtain the equivalent center-of-mass trajectory.

[0015] In an implementation form of the first aspect, the determining the objective function for zero moment point tracking according to the dynamic state equation of the robot and the zero moment point reference trajectory can comprise:

[0016] determining a zero moment point tracking error term and an energy term according to the dynamic state equation of the robot and the zero moment point reference trajectory;

[0017] determining the objective function according to 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.

[0018] In an implementation form of the first aspect, the determining the objective function according to 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 can comprise:

[0019] weighting the tracking error term according to the first weight to obtain a tracking error weighted term;

[0020] weighting the energy term according to the second weight to obtain an energy weighted term;

[0021] determining the sum of the tracking error weighted term and the energy weighted term as the objective function.

[0022] In an implementation form of the first aspect, the determining the center-of-mass trajectory of the robot according to the equivalent center-of-mass trajectory can comprise:

[0023] obtaining a mass of the robot, a mass of the load, and a center-of-mass trajectory of the load;

[0024] performing center-of-mass conversion on the equivalent center-of-mass trajectory and the center-of-mass trajectory of the load based on a preset center-of-mass conversion relationship according to the mass of the robot and the mass of the load, to obtain the center-of-mass trajectory of the robot; wherein the center-of-mass conversion relationship is a conversion relationship among the equivalent center-of-mass, the center-of-mass of the load, and the center-of-mass of the robot.

[0025] In an implementation form of the first aspect, the robot control method can further comprise:

[0026] determining an actual position, a desired position, an actual velocity and a desired velocity of the equivalent center of mass during the robot lifting or lowering the load;

[0027] determining an adjustment amount of the equivalent center of mass according to the actual position, the desired position, the actual velocity and the desired velocity of the equivalent center of mass;

[0028] controlling the robot to move according to the adjustment amount of the equivalent center of mass.

[0029] In an implementation form of the first aspect, the determining the adjustment amount of the equivalent center of mass according to the actual position, the desired position, the actual velocity and the desired velocity of the equivalent center of mass can comprise:

[0030] determining a position deviation amount of the equivalent center of mass according to the actual position and the desired position of the equivalent center of mass;

[0031] determining a velocity deviation amount of the equivalent center of mass according to the actual velocity and the desired velocity of the equivalent center of mass;

[0032] determining the adjustment amount of the equivalent center of mass according to the position deviation amount, the velocity deviation amount, a proportional coefficient corresponding to the position deviation amount and a differential coefficient corresponding to the velocity deviation amount.

[0033] A second aspect of the embodiments of the present application provides a robot control device, which can comprise:

[0034] a trajectory planning module configured to plan a foot trajectory of a robot during the robot carrying a load to obtain a foot trajectory planning result of the robot;

[0035] a reference trajectory determination module configured to determine a zero moment point reference trajectory of the robot according to the foot trajectory planning result;

[0036] an equivalent center of mass trajectory determination module configured to determine an equivalent center of mass trajectory according to the zero moment point reference trajectory; wherein the equivalent center of mass is a center of mass of the robot and the load as a whole;

[0037] a center of mass trajectory determination module configured to determine a center of mass trajectory of the robot according to the equivalent center of mass trajectory;

[0038] an inverse kinematics solving module configured to perform inverse kinematics solving according to the center of mass trajectory of the robot to obtain a leg joint pose of the robot;

[0039] a motion control module configured to control the robot to move according to the leg joint pose of the robot.

[0040] In an implementation form of the second aspect, the equivalent center-of-mass trajectory determination module can include:

[0041] a target function determination sub-module, configured to determine a target function for zero moment point tracking according to the dynamic state equation of the robot and the zero moment point reference trajectory;

[0042] a constraint condition determination sub-module, configured to determine a constraint condition corresponding to the target function;

[0043] a model predictive control sub-module, configured to perform model predictive control on the robot based on the constraint condition, with minimization of the target function as an optimization target, to obtain the equivalent center-of-mass trajectory.

[0044] In an implementation form of the second aspect, the target function determination sub-module can include:

[0045] an error term and energy term determination unit, configured to determine a zero moment point tracking error term and an energy term according to the dynamic state equation of the robot and the zero moment point reference trajectory;

[0046] a target function determination unit, configured to determine the target function according to 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.

[0047] In an implementation form of the second aspect, the target function determination unit can be specifically configured 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 target function.

[0048] In an implementation form of the second aspect, the center-of-mass trajectory determination module can be specifically configured to: obtain the mass of the robot, the mass of the load, and the center-of-mass trajectory of the load; and perform center-of-mass conversion on the equivalent center-of-mass trajectory and the center-of-mass trajectory of the load based on a preset center-of-mass conversion relationship according to the mass of the robot and the mass of the load, to obtain the center-of-mass trajectory of the robot; wherein the center-of-mass conversion relationship is a conversion relationship among the equivalent center-of-mass, the center-of-mass of the load, and the center-of-mass of the robot.

[0049] In an implementation form of the second aspect, the robot control apparatus can further include:

[0050] a data determination module, configured to determine an actual position, an expected position, an actual velocity, and an expected velocity of the equivalent center-of-mass during a process in which the robot lifts or lowers the load;

[0051] an adjustment amount determination module configured to determine an adjustment amount of the equivalent center of mass according to the actual position, the desired position, the actual velocity, and the desired velocity of the equivalent center of mass;

[0052] an adjustment amount control module configured to control the robot to move according to the adjustment amount of the equivalent center of mass.

[0053] In an implementation form of the second aspect, the adjustment amount determination module can be specifically configured to determine a position deviation amount of the equivalent center of mass according to the actual position and the desired position of the equivalent center of mass; determine a velocity deviation amount of the equivalent center of mass according to the actual velocity and the desired velocity of the equivalent center of mass; and determine the adjustment amount of the equivalent center of mass according to the position deviation amount, the velocity deviation amount, a proportional coefficient corresponding to the position deviation amount, and a differential coefficient corresponding to the velocity deviation amount.

[0054] A third aspect of the embodiments of the present application provides a computer readable storage medium storing a computer program, the computer program being executed by a processor to implement the steps of any of the robot control methods described above.

[0055] A fourth aspect of the embodiments of the present application provides a robot comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, the processor implementing the steps of any of the robot control methods described above when executing the computer program.

[0056] A fifth aspect of the embodiments of the present application provides a computer program product, which, when executed on a robot, causes the robot to perform the steps of any of the robot control methods described above.

[0057] Compared with the prior art, the embodiments of the present application have the beneficial effects that: in the process of carrying a load by a robot, a foot trajectory of the robot is planned to obtain a foot trajectory planning result of the robot; a zero moment point reference trajectory of the robot is determined according to the foot trajectory planning result; an equivalent center of mass trajectory is determined according to the zero moment point reference trajectory; the equivalent center of mass is a center of mass of the robot and the load as a whole; a center of mass trajectory of the robot is determined according to the equivalent center of mass trajectory; inverse kinematics is solved according to the center of mass trajectory of the robot to obtain a leg joint pose of the robot; and the robot is controlled to move according to the leg joint pose of the robot. Through the embodiments of the present application, the center of mass trajectory is planned by taking the robot and the load as a whole in the process of carrying the load by the robot, and the robot is controlled to move on this basis, the influence of the load on the balance of the robot is fully considered, and the stability of the robot in walking is effectively improved. BRIEF DESCRIPTION OF DRAWINGS

[0058] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the embodiments or prior art description will be briefly introduced as follows. Obviously, the drawings in the following description only represent some of the embodiments of the present application, and other drawings can be obtained by those of ordinary skill in the art without any creative effort based on these drawings.

[0059] Figure 1 An embodiment flow chart of a robot control method in the embodiments of the present application;

[0060] Figure 2 An embodiment structure diagram of a robot control device in the embodiments of the present application;

[0061] Figure 3 A schematic block diagram of a robot in the embodiments of the present application. DETAILED DESCRIPTION

[0062] In order to make the purposes, features, and advantages of the present application more obvious and easy to understand, the technical solutions in the embodiments of the present application will be described clearly and completely in combination with the drawings of the embodiments of the present application. Obviously, the embodiments described below are only some of the embodiments of the present application, but not all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without any creative effort fall within the scope of protection of the present application.

[0063] It should be understood that, when used in the specification and the appended claims, the term “comprising” indicates the presence of the described features, integers, steps, operations, elements, and / or components, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0064] It should also be understood that the terms used in the present application specification are only for the purpose of describing specific embodiments and are not intended to limit the present application. As used in the present application specification and the appended claims, unless otherwise clearly indicated by the context, the singular forms “a”, “an” and “the” are intended to include the plural forms.

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

[0066] As used in the specification and the appended claims, the term "if' can be interpreted as meaning "when" or "upon" or "in response to determining" or "in response to detecting" depending on the context. Similarly, the phrase "if it is determined" or "if [the described condition or event] is detected" can be interpreted as meaning "upon determining" or "in response to determining" or "upon detecting [the described condition or event]" or "in response to detecting [the described condition or event]" depending on the context.

[0067] In addition, in the description of the present application, the terms "first", "second", "third" and the like are only used to distinguish the description, and cannot be understood as indicating or implying relative importance.

[0068] Carrying tasks are very common in daily life and industrial scenarios, and using robots to perform carrying tasks can greatly improve the value of robots. In the prior art, there are relatively mature robot control methods, but these robot control methods are mainly aimed at simple scenarios of robots without loads. In the scenario of robots performing carrying tasks, the weight (i.e. load) carried by the robot will have a great impact on the balance of the robot, and if the robot control methods in the prior art are directly used, it will be difficult to maintain the stability of the robot walking.

[0069] Therefore, the embodiments of the present application provide a robot control method, device, computer readable storage medium and robot to solve the problem of poor stability in the prior art robot control method when performing a carrying task.

[0070] In the process of the robot carrying the load, the embodiments of the present application plan the center of mass trajectory as a whole of the robot and the load, and perform motion control on the robot on this basis, fully considering the impact of the load on the balance of the robot, and effectively improving the stability of the robot walking.

[0071] The execution subject of the embodiments of the present application can be a robot, including but not limited to an industrial robot, a home service robot, a commercial service robot and other various types of robots.

[0072] Please refer to Figure 1 An embodiment of the robot control method in the embodiments of the present application can include:

[0073] Step S101, in the process of the robot carrying the load, the foot trajectory of the robot is planned to obtain the foot trajectory planning result of the robot.

[0074] In the embodiments of the present application, any one of the foot trajectory planning algorithms in the prior art can be used to plan the foot trajectory of the left and right feet of the robot according to the actual situation based on the distribution of obstacles in the surrounding environment, and the collision-free foot trajectory planning result, including the left foot trajectory planning result and the right foot trajectory planning result, is obtained based on the obstacle avoidance requirement for the obstacles in the surrounding environment.

[0075] In step S102, the zero moment point reference trajectory of the robot is determined according to the foot trajectory planning result.

[0076] The zero moment point (ZMP) refers to a point on the ground, which makes the net moment of the inertial force and the gravitational force in the direction parallel to the ground axis zero.

[0077] In the embodiments of the present application, after obtaining the foot trajectory planning result of the robot, the center point trajectory of the biped can be determined according to the left foot trajectory planning result and the right foot trajectory planning result, and the trajectory is taken as the zero moment point reference trajectory of the robot.

[0078] In step S103, the equivalent center of mass trajectory is determined according to the zero moment point reference trajectory.

[0079] The equivalent center of mass is the center of mass of the robot and the load as a whole.

[0080] In the embodiments of the present application, the corresponding dynamic state equation can be established based on any one of the robot models in the prior art, which is not specifically limited in the present application. For the convenience of description, the linear inverted pendulum model (LIPM) is taken as an example for detailed description. The linear inverted pendulum model simplifies the robot as an inverted pendulum on a horizontal plane, in which all the masses are concentrated at the center of mass (CoM), and it is assumed that the supporting surface is horizontal and has no friction. In the linear inverted pendulum model, the ankle joint of the robot is regarded as the origin, and the center of mass is at the top of the inverted pendulum, and the length of the inverted pendulum is changed by controlling the movement of the leg to maintain the balance and stable walking of the robot.

[0081] The dynamic state equation corresponding to the linear inverted pendulum model is shown in the following formula:

[0082] X k+1 = AX k + Bu k

[0083] Y k = CX k

[0084] wherein k is the serial number of a time step, 0≤k≤N, N is a preset number of time steps, X k is a state quantity related to the equivalent center of mass at the kth time step, com,k is a position of the equivalent center of mass at the kth time step, is an acceleration of the equivalent center of mass at the kth time step, is a jerk of the equivalent center of mass at the kth time step, A and B are preset parameter matrices, C = [1, 0, -h / g], h is a height of the robot, g is a gravitational acceleration, Y k is a zero moment point at the kth time step.

[0085] According to the dynamic state equation of the robot and the zero moment point reference trajectory, a target function for zero moment point tracking can be determined. First, according to the dynamic state equation of the robot and the zero moment point reference trajectory, a tracking error term and an energy term can be determined. Then, according to 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, the target function can be determined. Specifically, the tracking error term can be weighted according to the first weight to obtain a tracking error weighted term, and the energy term can be weighted according to the second weight to obtain an energy weighted term, and finally the sum of the tracking error weighted term and the energy weighted term can be determined as the target function, as shown in the following formula:

[0086]

[0087] wherein R k is a trajectory point of the zero moment point reference trajectory at the kth time step, (R k -Y k 2 is the tracking error term, a is the first weight corresponding to the tracking error term, and the specific values thereof can be flexibly set according to actual conditions, which are not specifically limited in the embodiments of the present application, a(R k -Y k 2 is the tracking error weighted term, is the energy term, β is the second weight corresponding to the energy term, and the specific values thereof can be flexibly set according to actual conditions, which are not specifically limited in the embodiments of the present application, is the energy weighted term, and J is the target function.

[0088] The zero moment point of the robot should be located in the polygonal convex hull of the positions of the robot's two feet, and accordingly the constraint condition corresponding to the target function can be determined, as shown in the following formula:

[0089] CX k ≤L​​​​u

[0090] CX k ≥L l

[0091] wherein, L u and L l are upper bound constraints and lower bound constraints corresponding to a polygonal convex hull of the robot biped position.

[0092] Based on the constraint conditions, the robot is subjected to model predictive control (MPC) with minimization of the target function as the optimization objective, and an equivalent centroid trajectory can be solved.

[0093] In step S104, the centroid trajectory of the robot is determined according to the equivalent centroid trajectory.

[0094] In the embodiments of the present application, the mass of the robot, the mass of the load and the centroid trajectory of the load can be obtained, and the centroid trajectory of the robot can be obtained by performing centroid conversion on the equivalent centroid trajectory and the centroid trajectory of the load based on a preset centroid conversion relationship according to the mass of the robot and the mass of the load.

[0095] The centroid conversion relationship is a conversion relationship between the equivalent centroid, the centroid of the load and the centroid of the robot, and is shown in the following formula:

[0096] Mx*|Vx-Vp|=Mp*|Ve-Vp|

[0097] Ve-Vp=K(Vx-Ve)

[0098] wherein, Mx is the mass of the robot, Mp is the mass of the load, K is a preset conversion coefficient, Vx is the centroid of the robot, Vp is the centroid of the load, and Ve is the equivalent centroid.

[0099] In step S105, inverse kinematics is solved according to the centroid trajectory of the robot to obtain the leg joint pose of the robot.

[0100] In the embodiments of the present application, the leg joint pose of the robot can be determined based on any one of the inverse kinematics solving methods in the prior art, including but not limited to: inverse kinematics solving based on analytical method, inverse kinematics solving based on numerical iteration method, inverse kinematics solving based on optimization algorithm, inverse kinematics solving based on Jacobian matrix, inverse kinematics solving based on neural network, etc., which are not limited in the embodiments of the present application.

[0101] In step S106, the robot is controlled to move according to the leg joint pose of the robot.

[0102] After the leg joint pose of the robot is solved by inverse kinematics, the robot can be controlled to move according to the leg joint pose. Since the solving process of the leg joint pose has fully considered the influence of the load on the balance of the robot, the movement control can effectively improve the stability of the robot walking.

[0103] The above is for the process of the robot carrying the load to walk. Before this, the robot can move the arms to the vicinity of the load and perform compliant control in the direction of clamping the load, such as maintaining a constant force, and simultaneously performing center of mass adjustment during the process of lifting the load, so that the center of mass is always kept within the range of the two feet.

[0104] During the process of the robot lifting the load, the actual position, the expected position, the actual speed and the 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 according to the actual position, the expected position, the actual speed and the expected speed of the equivalent center of mass.

[0105] Specifically, the position deviation amount of the equivalent center of mass can be determined according to the actual position and the expected position of the equivalent center of mass, and the speed deviation amount of the equivalent center of mass can be determined according to the actual speed and the expected speed of the equivalent center of mass. After the position deviation amount and the speed deviation amount are obtained, the adjustment amount of the equivalent center of mass can be determined according to the position deviation amount, the speed deviation amount, a proportional coefficient corresponding to the position deviation amount and a differential coefficient corresponding to the speed deviation amount, as shown in the following formula:

[0106] delta=kp(xd-x)+kd(dxd-dx)

[0107] Wherein, xd is the expected position of the equivalent center of mass, x is the actual position of the equivalent center of mass, (xd-x) is the position deviation amount of the equivalent center of mass, kp is the proportional coefficient corresponding to the position deviation amount, which can be flexibly set according to the actual situation, and the embodiments of the present application do not make specific limitation thereto, dxd is the expected speed of the equivalent center of mass, dx is the actual speed of the equivalent center of mass, (dxd-dx) is the speed deviation amount of the equivalent center of mass, kd is the differential coefficient corresponding to the speed deviation amount, which can be flexibly set according to the actual situation, and the embodiments of the present application do not make specific limitation thereto, and delta is the adjustment amount of the equivalent center of mass.

[0108] After the adjustment amount of the equivalent center of mass is determined, the center of mass can be adjusted according to the 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.

[0109] After the robot walks to the target location with the load, the robot can perform the action of putting down the load, at this time, the robot can be controlled to move downward, and the environmental force can be detected, in the case that the detected environmental force is greater than the preset force threshold, the robot stops moving downward and starts to adjust the center of mass. The specific value of the force threshold can be flexibly set according to actual conditions, for example, it can be set to 20 Newton (N) or other values, and the embodiments of the present application do not make specific limitations here.

[0110] The center of mass adjustment process during the process of putting down the load is similar to the center of mass adjustment process during the process of lifting the load, and specific reference can be made to the foregoing content, which will not be repeated here. After completing the center of mass adjustment, the robot can close the force controller in the direction of clamping the load, and then the arms leave the load, thereby completing the carrying task.

[0111] In summary, in the process of carrying the load by the robot, the foot trajectory of the robot is planned to obtain the foot trajectory planning result of the robot; the zero moment point reference trajectory of the robot is determined according to the foot trajectory planning result; the equivalent center of mass trajectory is determined according to 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; the center of mass trajectory of the robot is determined according to the equivalent center of mass trajectory; the inverse kinematics is solved according to the center of mass trajectory of the robot to obtain the leg joint pose of the robot; and the robot is controlled to move according to the leg joint pose of the robot. Through the embodiments of the present application, the center of mass trajectory is planned by taking the robot and the load as a whole in the process of carrying the load by the robot, and the motion control of the robot is performed on this basis, the influence of the load on the balance of the robot is fully considered, and the stability of the robot walking is effectively improved.

[0112] It should be understood that the size of the serial number of each step in the above embodiments does not mean the order of execution, and the execution order of each process should be determined according to its function and inherent logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0113] Corresponding to the robot control method described in the above embodiments, Figure 2 An embodiment structure diagram of a robot control device provided by the embodiments of the present application is shown.

[0114] In the present embodiment, a robot control device can include:

[0115] The trajectory planning module 201 is configured to plan the foot trajectory of the robot in the process of carrying the load by the robot to obtain the foot trajectory planning result of the robot.

[0116] The reference trajectory determination module 202 is configured to determine the zero moment point reference trajectory of the robot according to the foot trajectory planning result.

[0117] an equivalent center of mass trajectory determination module 203, configured to determine an equivalent center of mass trajectory according to the zero moment point reference trajectory; wherein the equivalent center of mass is a center of mass of the robot and the load as a whole;

[0118] a center of mass trajectory determination module 204, configured to determine a center of mass trajectory of the robot according to the equivalent center of mass trajectory;

[0119] an inverse kinematics solving module 205, configured to perform inverse kinematics solving according to the center of mass trajectory of the robot to obtain a leg joint pose of the robot;

[0120] a motion control module 206, configured to control the robot to perform motion according to the leg joint pose of the robot.

[0121] In a specific implementation manner of the embodiment of the present application, the equivalent center of mass trajectory determination module can include:

[0122] a target function determination sub-module, configured to determine a target function for zero moment point tracking according to a dynamic state equation of the robot and the zero moment point reference trajectory;

[0123] a constraint condition determination sub-module, configured to determine a constraint condition corresponding to the target function;

[0124] a model predictive control sub-module, configured to perform model predictive control on the robot based on the constraint condition, with minimization of the target function as an optimization target, to obtain the equivalent center of mass trajectory.

[0125] In a specific implementation manner of the embodiment of the present application, the target function determination sub-module can include:

[0126] an error term and energy term determination unit, configured to determine a zero moment point tracking error term and an energy term according to a dynamic state equation of the robot and the zero moment point reference trajectory;

[0127] a target function determination unit, configured to determine the target function according to 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.

[0128] In a specific implementation manner of the embodiment of the present application, the target function determination unit can be specifically configured 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 a sum of the tracking error weighted term and the energy weighted term as the target function.

[0129] In a specific implementation process of the embodiment of the present application, the center of mass trajectory determination module can be specifically configured to: acquire the mass of the robot, the mass of the load, and the center of mass trajectory of the load; and perform center of mass conversion on the equivalent center of mass trajectory and the center of mass trajectory of the load based on a preset center of mass conversion relationship according to the mass of the robot and the mass of the load, to obtain the center of mass trajectory of the robot, wherein the center of mass conversion relationship is a conversion relationship among the equivalent center of mass, the center of mass of the load, and the center of mass of the robot.

[0130] In a specific implementation process of the embodiment of the present application, the robot control device can further include:

[0131] a data determination module configured to determine an actual position, an expected position, an actual speed, and an expected speed of the equivalent center of mass during the process in which the robot lifts or lowers the load;

[0132] an adjustment amount determination module configured to determine an adjustment amount of the equivalent center of mass according to the actual position, the expected position, the actual speed, and the expected speed of the equivalent center of mass;

[0133] an adjustment amount control module configured to control the robot to move according to the adjustment amount of the equivalent center of mass.

[0134] In a specific implementation process of the embodiment of the present application, the adjustment amount determination module can be specifically configured to: determine a position deviation amount of the equivalent center of mass according to the actual position and the expected position of the equivalent center of mass; determine a speed deviation amount of the equivalent center of mass according to the actual speed and the expected speed of the equivalent center of mass; and determine the adjustment amount of the equivalent center of mass according to the position deviation amount, the speed deviation amount, a proportional coefficient corresponding to the position deviation amount, and a differential coefficient corresponding to the speed deviation amount.

[0135] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the apparatuses, modules, and units described above can refer to the corresponding processes in the foregoing method embodiments, which will not be described herein.

[0136] In the foregoing embodiments, the description of each embodiment has its own focus, and the parts not described or recorded in detail in a certain embodiment can be referred to the relevant description of other embodiments.

[0137] Figure 3 A schematic block diagram of a robot is shown, and only parts related to the embodiments of the present application are shown for the convenience of description.

[0138] As Figure 3As shown, the robot 3 of this embodiment comprises a processor 30, a memory 31, and a computer program 32 stored in the memory 31 and executable on the processor 30. The processor 30 implements the steps in each of the above robot control method embodiments when executing the computer program 32, for example Figure 1 As shown, the processor 30 implements the functions of each of the above device embodiments when executing the computer program 32, for example Figure 2 As shown, the processor 30 implements the functions of each of the above device embodiments when executing the computer program 32, for example

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

[0140] Those skilled in the art can understand that Figure 3 The robot 3 is only an example and does not constitute a limitation on the robot 3, which can include more or fewer components than shown, or combine certain components, or different components, for example, the robot 3 can also include an input / output device, a network access device, a bus, etc.

[0141] The processor 30 can be a central processing unit (CPU), and can also be other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor.

[0142] The storage 31 can be an internal storage unit of the robot 3, such as a hard disk or a memory of the robot 3. The storage 31 can also be an external storage device of the robot 3, such as a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) card, a Flash Card, etc. equipped on the robot 3. Further, the storage 31 can also include both the internal storage unit and the external storage device of the robot 3. The storage 31 is used to store the computer program and other programs and data required by the robot 3. The storage 31 can also be used to temporarily store data that has been output or will be output.

[0143] Those skilled in the art can clearly understand that, for the convenience and brevity of description, only the division of the above functional units and modules is exemplified, and in actual application, the above functions can be completed by different functional units and modules according to needs, that is, the internal structure of the apparatus is divided into different functional units or modules to complete all or part of the functions described above. Each functional unit and module in the embodiment can be integrated in one processing unit, or each unit can exist physically, or two or more units can be integrated in one unit, and the integrated unit can be realized in the form of hardware or software. In addition, the specific names of each functional unit and module are only for easy distinction, and do not limit the protection scope of the application. The specific working process of the units and modules in the system can refer to the corresponding process in the foregoing method embodiments, which will not be described here.

[0144] In the above embodiments, the description of each embodiment has its own emphasis, and the parts not described or recorded in detail in a certain embodiment can refer to the relevant description of other embodiments.

[0145] Those of ordinary skill in the art can realize that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be realized in electronic hardware or a combination of computer software and electronic hardware. Whether the functions are executed in hardware or software depends on the specific application and design constraints of the technical solution. A person 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 the application.

[0146] In the embodiments of the present application, it should be understood that the disclosed devices / robots and methods can be implemented in other manners. For example, the described device / robot embodiments are merely schematic. For example, the division of the modules or units is merely logical function division. There can be another division manner for actual implementation. For example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections between different units, can be indirect couplings or communication connections through some interfaces, devices or units.

[0147] The units described as separate components can or can not be physically separate, and the components shown as units can or can not be physical units, i.e., can be located in one place, or can be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the embodiments.

[0148] In addition, each functional unit in the various embodiments of the present application can be integrated in one processing unit, or each unit can be physically present separately, or two or more units can be integrated in one unit. The integrated unit can be realized in the form of hardware or in the form of a software functional unit.

[0149] The integrated module / unit, if realized in the form of a software functional unit and sold or used as an independent product, can be stored in a computer readable storage medium. Based on such understanding, all or part of the processes in the above-mentioned embodiment methods can also be completed by computer programs instructing related hardware, and the computer programs can be stored in a computer readable storage medium. When the processor executes the computer programs, the steps of the above-mentioned various method embodiments can be implemented. The computer programs include computer program codes, which can be in the form of source code, object code, executable files or some intermediate forms. The computer readable storage medium can include any entity or device capable of carrying the computer program codes, recording medium, U disk, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electric carrier signal, telecommunication signal and software distribution medium, etc. It should be noted that the computer readable storage medium can include or exclude contents 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 electric carrier signals and telecommunication signals.

[0150] The above-described embodiments are only used to illustrate the technical solutions of the present application, but not limit the present application; although the present application is described in detail with reference to the foregoing embodiments, those skilled in the art should understand that: it can still modify the technical solutions recorded in the foregoing embodiments, or make equivalent replacement for part of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application, and should be included in the protection scope of the present application.

Claims

1. A robot control method characterized by, The method comprises the following steps: During the process of the robot carrying the load, foot trajectory planning is performed on the robot to obtain a foot trajectory planning result of the robot; A zero moment point reference trajectory of the robot is determined according to the foot trajectory planning result; A zero moment point tracking error term and an energy term are determined according to a dynamic state equation of the robot and the zero moment point reference trajectory; the tracking error term is weighted according to a first weight to obtain a tracking error weighted term; The energy term is weighted according to a second weight to obtain an energy weighted term; A sum of the tracking error weighted term and the energy weighted term is determined as a target function for zero moment point tracking; a constraint condition corresponding to the target function is determined; the constraint condition is that the zero moment point of the robot is less than or equal to an upper limit constraint corresponding to a polygon convex hull of a biped position and greater than or equal to a lower limit constraint corresponding to the polygon convex hull; based on the constraint condition, model predictive control is performed on the robot with minimization of the target function as an optimization objective to obtain an equivalent center of mass trajectory; the equivalent center of mass is a center of mass of the robot and the load as a whole; the energy term is a square of jerk of the equivalent center of mass; A center of mass trajectory of the robot is determined according to the equivalent center of mass trajectory; Inverse kinematics is solved according to the center of mass trajectory of the robot to obtain a leg joint pose of the robot; The robot is controlled to move according to the leg joint pose of the robot.

2. The robot control method according to claim 1, characterized by, The determination of the center of mass trajectory of the robot according to the equivalent center of mass trajectory comprises: The mass of the robot, the mass of the load and a center of mass trajectory of the load are obtained; The center of mass trajectory of the robot is obtained by center of mass conversion of the equivalent center of mass trajectory and the center of mass trajectory of the load based on a preset center of mass conversion relationship according to the mass of the robot and the mass of the load; the center of mass conversion relationship is a conversion relationship among the equivalent center of mass, the center of mass of the load and the center of mass of the robot.

3. The robot control method according to any one of claims 1 to 2, characterized by, The method further comprises: During the process of the robot lifting or lowering the load, an actual position, an expected position, an actual velocity and an expected velocity of the equivalent center of mass are determined; An adjustment amount of the equivalent center of mass is determined according to the actual position, the expected position, the actual velocity and the expected velocity of the equivalent center of mass; The robot is controlled to move according to the adjustment amount of the equivalent center of mass.

4. The robot control method according to claim 3, wherein, The determination of the adjustment amount of the equivalent center of mass according to the actual position, the expected position, the actual velocity and the expected velocity of the equivalent center of mass comprises: A position deviation amount of the equivalent center of mass is determined according to the actual position and the expected position of the equivalent center of mass; A velocity deviation amount of the equivalent center of mass is determined according to the actual velocity and the expected velocity of the equivalent center of mass; The adjustment amount of the equivalent center of mass is determined according to the position deviation amount, the velocity deviation amount, a proportional coefficient corresponding to the position deviation amount and a differential coefficient corresponding to the velocity deviation amount.

5. A robot control device characterized by comprising: The method comprises the following steps: During the process of the robot carrying the load, foot trajectory planning is performed on the robot to obtain a foot trajectory planning result of the robot; The reference trajectory determination module is configured to determine a zero moment point reference trajectory of the robot according to the foot trajectory planning result. The equivalent center of mass trajectory determination module is configured to determine a zero moment point tracking error term and an energy term according to a dynamic state equation of the robot and the zero moment point reference trajectory, and to obtain a tracking error weighted term by weighting the tracking error term according to a first weight. The energy weighted term is obtained by weighting the energy term according to a second weight. The sum of the tracking error weighted term and the energy weighted term is determined as a target function for zero moment point tracking, and a constraint condition corresponding to the target function is determined, wherein the constraint condition is that the zero moment point of the robot is less than or equal to an upper limit constraint corresponding to a polygonal convex hull of the biped position and greater than or equal to a lower limit constraint corresponding to the polygonal convex hull; and the model predictive control is performed on the robot based on the constraint condition and with minimization of the target function as an optimization target to obtain an equivalent center of mass trajectory, wherein the equivalent center of mass is a center of mass of the robot and the load as a whole, and the energy term is a square of jerk of the equivalent center of mass. The center of mass trajectory determination module is configured to determine a center of mass trajectory of the robot according to the equivalent center of mass trajectory. The inverse kinematics solving module is configured to perform inverse kinematics solving according to the center of mass trajectory of the robot to obtain a leg joint pose of the robot. The motion control module is configured to control the robot to move according to the leg joint pose of the robot.

6. A computer-readable storage medium storing a computer program, the computer program comprising instructions that, when executed by a computer, cause the computer to perform the method of any one of claims 1 to 5. The computer program is executed by the processor to implement the steps of the robot control method according to any one of claims 1 to 4.

7. A robot comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, The processor executes the computer program to implement the steps of the robot control method according to any one of claims 1 to 4.

Citation Information

Patent Citations

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

    CN112536796A

  • Robot motion control method and device, controller and storage medium

    CN112643679A