Predictive Control Method and Device for Multi-Mass Model of Humanoid Robot
By using a multi-mass model predictive control method, the problem that a simplified humanoid robot model cannot simultaneously meet the requirements of accuracy and real-time performance was solved. This method enables the robot to fully utilize its degrees of freedom for balance adjustment during standing balance, thereby improving the robot's balance and anti-interference capabilities.
Patent Information
- Application Number
- CN202411655328.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-19
- Publication Date
- 2025-10-28
- Estimated Expiration
- 2044-11-19
AI Technical Summary
In existing technologies, simplified models of humanoid robots cannot simultaneously meet the requirements of model accuracy and algorithm real-time performance, making it difficult to fully utilize the robot's extra degrees of freedom to adjust body balance while meeting real-time efficiency requirements.
A multi-mass model predictive control method is adopted. By simplifying the humanoid robot into a multi-mass simplified model, the control tasks and control constraints of each mass are determined, the optimization variables are calculated, and the whole-body control is used for trajectory tracking to generate joint torque commands in order to achieve balance control.
While meeting the requirements of model accuracy and algorithm real-time performance, the robot fully leverages the balancing functions of its swinging legs, torso, and arms to improve its balance and anti-interference capabilities.
Smart Images

Figure CN119635625B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of humanoid robot balance control technology, and in particular to a predictive control method and device for a humanoid robot using a multi-mass model. Background Technology
[0002] Humanoid robots are better able to adapt to human living environments and cooperate with humans, making their motion control an important research topic. Achieving flexible robot movement relies on two crucial components: motion planning algorithms and control algorithms.
[0003] The goal of motion planning algorithms is to efficiently generate a physically feasible reference trajectory that best meets the task requirements. The more complex the kinematic and dynamic equations considered in the planning algorithm, the closer the trajectory will be to the actual motion trajectory, but the higher the computational demands. Therefore, a trade-off between computational efficiency and the level of detail in the generated reference trajectory is necessary in planning algorithms. To generate a reasonable reference trajectory while maintaining computational efficiency, typically only the most significant aspects of the robot system's dynamics are considered, simplifying the humanoid robot model. Many simplified models exist, such as the linear inverted pendulum model (LIPM), the linear flywheel inverted pendulum model (LIPFM), the center-of-mass momentum model, the single rigid body model (SRBM), and the multi-rigid-body model. These simplified models have been widely applied in robot motion planning.
[0004] After obtaining the planned motion reference trajectory, a control algorithm capable of accurately tracking these complex trajectories is needed. Over the past two decades, Whole-body Control (WBC) has received widespread attention in the robotics community. Based on whole-body dynamics, WBC can generate feasible control outputs and handle various tasks and constraints. It can fully utilize the robot's redundant degrees of freedom to simultaneously complete multiple tasks, thus enabling precise multi-task tracking control. Furthermore, WBC allows setting weights for different tasks and implementing priority switching between them through weighted strategies. However, WBC only considers the robot's current state and cannot handle strongly impractical reference trajectories. Model Predictive Control (MPC) is often used in conjunction with WBC to compensate for these shortcomings. Currently, the combined MPC and WBC control approach has become a mainstream trend. This combination not only leverages the advantages of MPC—its ability to respond in advance to motion planning—but also uses WBC to compensate for its deficiencies. By considering the full dynamics model and task priority hierarchy within WBC, it achieves more refined control than MPC, which only uses simplified models.
[0005] In the motion control of humanoid robots, improving the robot's balance and anti-interference capabilities has always been a key research focus and challenge. Robot balance is divided into two-legged support balance and one-legged support balance. Compared to two-legged support balance, one-legged support balance has a smaller support area and is more difficult to maintain. Even after decades of research, maintaining balance remains one of the most important issues for humanoid robots. Although the basic dynamics of balance are now understood, a universal robust controller capable of adapting to non-horizontal feet, single-leg support, and stably handling strong random external disturbances is still immature. Especially compared to the flexibility and freedom of human balance, current robots are quite inadequate.
[0006] Extensive research has been conducted on standing balance. The zero-moment point (ZMP) concept has been applied to the balance control of bipedal robots. Based on ZMP preview control and a five-mass block model with angular momentum, experiments on recovery from pushes in different directions and demonstrations of walking balance can be performed on the humanoid robot Snapshots. Layered WBCs are used to maintain the balance of a standing bipedal robot.
[0007] However, in model-based MPC, the robot's full dynamics model or multi-rigid-body model has high degrees of freedom and strong nonlinearity, which makes it impossible to execute in real time on real robots due to high computational costs. While other simplified models meet the algorithm's real-time requirements, they do not accurately represent the robot's physical laws. For example, the inverted pendulum and single-mass model have low accuracy due to their oversimplification; the single-rigid-body model ignores the mass of the legs, making it unsuitable for robots with heavy legs and unable to describe the motion laws of the robot's upper limbs; similarly, the three-mass model does not consider the motion regulation role of the upper limbs, and its model accuracy needs improvement.
[0008] In summary, the simplified models involved in the relevant technologies cannot simultaneously meet the requirements of model accuracy and algorithm real-time performance. That is, they cannot make full use of the robot's extra degrees of freedom to adjust body balance while meeting real-time efficiency requirements, and therefore need to be improved. Summary of the Invention
[0009] This application provides a multi-mass model predictive control method and device for humanoid robots to solve the technical problem in related technologies that the simplified model used for model prediction cannot make full use of the robot's extra degrees of freedom and is difficult to adjust body balance while meeting real-time efficiency requirements.
[0010] The first aspect of this application provides a predictive control method for a humanoid robot using a multi-mass model, comprising the following steps: simplifying the target humanoid robot into a simplified multi-mass model based on at least one target experimental task and mechanical structural parameters; determining the control task and control constraints for each mass in the simplified multi-mass model based on at least one target experimental task; calculating the optimization variables of the target humanoid robot based on the control task and the control constraints; using the optimization variables as a reference trajectory and performing trajectory tracking using whole-body control to solve for the torque commands of each joint of the target humanoid robot, so that the target humanoid robot executes the corresponding target experimental task under preset equilibrium conditions.
[0011] Optionally, in one embodiment of this application, the optimization variables are the limb end-effector trajectory and trunk center-of-mass trajectory of the free part of the target humanoid robot that is not in contact with the ground.
[0012] Optionally, in one embodiment of this application, the step of calculating the optimization variables of the target humanoid robot based on the control task and the control constraints includes: using the center of mass position and velocity of the free part as state variables to construct a corresponding state equation; calculating the system center of mass position and velocity of the target humanoid robot based on the state equation and the contact part of the target humanoid robot in contact with the ground; and solving for the optimization variables using the system center of mass position and velocity.
[0013] Optionally, in one embodiment of this application, the step of solving for the optimization variables using the system's center of mass position and velocity includes: determining the actual trajectory of the target humanoid robot's overall center of mass and the actual trajectory of the free part based on the control task; determining the desired trajectory of the target humanoid robot's overall center of mass and the desired trajectory of the free part based on preset balance constraints; and constructing a corresponding optimization problem using the actual trajectory of the overall center of mass, the actual trajectory of the free part, the desired trajectory of the overall center of mass, and the desired trajectory of the free part, so as to solve for the optimization variables based on the optimization problem.
[0014] Optionally, in one embodiment of this application, the expression for the optimization problem can be:
[0015]
[0016] Where, p CoM,k p represents the actual trajectory of the overall center of mass of the target humanoid robot. CoM,ref,,k The desired trajectory of the overall center of mass of the target humanoid robot. p is the actual velocity of the overall center of mass of the target humanoid robot. k For the actual trajectory of the free portion, p ref,kFor the desired trajectory of the free portion, ||u k || S Enter the penalty item.
[0017] A second aspect of this application provides a predictive control device for a humanoid robot multi-mass model, comprising: a simplification module for simplifying a target humanoid robot into a multi-mass simplified model based on at least one target experimental task and mechanical structure parameters; a determination module for determining the control task and control constraints of each mass in the multi-mass simplified model based on at least one target experimental task; a calculation module for calculating the optimization variables of the target humanoid robot based on the control task and the control constraints; and a control module for using the optimization variables as a reference trajectory and performing trajectory tracking using whole-body control to solve for the torque commands of each joint of the target humanoid robot, so that the target humanoid robot executes the corresponding target experimental task under preset equilibrium conditions.
[0018] Optionally, in one embodiment of this application, the optimization variables are the limb end-effector trajectory and trunk center-of-mass trajectory of the free part of the target humanoid robot that is not in contact with the ground.
[0019] Optionally, in one embodiment of this application, the calculation module includes: a construction unit, used to construct a corresponding state equation by taking the center of mass position and velocity of the free part as state variables; a first calculation unit, used to calculate the system center of mass position and velocity of the target humanoid robot based on the state equation and the contact part of the target humanoid robot in contact with the ground; and a second calculation unit, used to solve the optimization variables using the system center of mass position and velocity.
[0020] Optionally, in one embodiment of this application, the second calculation unit includes: a first determining subunit, configured to determine the actual trajectory of the overall center of mass of the target humanoid robot and the actual trajectory of the free part based on the control task; a second determining subunit, configured to determine the expected trajectory of the overall center of mass of the target humanoid robot and the expected trajectory of the free part based on preset balance constraints; and a calculation subunit, configured to construct a corresponding optimization problem using the actual trajectory of the overall center of mass, the actual trajectory of the free part, the expected trajectory of the overall center of mass, and the expected trajectory of the free part, so as to solve the optimization variables based on the optimization problem.
[0021] Optionally, in one embodiment of this application, the expression for the optimization problem can be:
[0022]
[0023] Where, p CoM,k p represents the actual trajectory of the overall center of mass of the target humanoid robot.CoM,ref,,k The desired trajectory of the overall center of mass of the target humanoid robot. p is the actual velocity of the overall center of mass of the target humanoid robot. k For the actual trajectory of the free portion, p ref,k For the desired trajectory of the free portion, ||u k || S Enter the penalty item.
[0024] A third aspect of this application provides an electronic device, including: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the humanoid robot multi-mass model predictive control method as described in the above embodiments.
[0025] A fourth aspect of this application provides a computer-readable storage medium storing computer instructions for causing the computer to execute the humanoid robot multi-mass model predictive control method as described in the above embodiments.
[0026] A fifth aspect of this application provides a computer program product, including a computer program, which, when executed, is used to implement the above-described humanoid robot multi-mass model predictive control method.
[0027] This application's embodiments can simplify a target humanoid robot into a multi-mass simplified model based on at least one target experimental task and mechanical structure parameters. According to the at least one target experimental task, the control tasks and constraints of each mass in the multi-mass simplified model are determined, thereby calculating the optimization variables of the target humanoid robot. Based on these optimization variables, torque commands for each joint of the target humanoid robot are generated, enabling the target humanoid robot to execute the target experimental task while satisfying preset balance conditions. This approach balances model accuracy and algorithm real-time performance, while fully utilizing the balancing functions of the swing leg (when standing on one leg), torso, and arms in standing balance. Therefore, it solves the technical problem in related technologies where simplified models used for model prediction cannot fully utilize the robot's redundant degrees of freedom, making it difficult to adjust body balance while meeting real-time efficiency requirements.
[0028] Additional aspects and advantages of this application will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of this application. Attached Figure Description
[0029] The above and / or additional aspects and advantages of this application will become apparent and readily understood from the following description of the embodiments taken in conjunction with the accompanying drawings, wherein:
[0030] Figure 1This is a flowchart of a multi-mass model predictive control method for a humanoid robot according to an embodiment of this application;
[0031] Figure 2a This is a simplified front view of a multi-mass model provided according to an embodiment of this application;
[0032] Figure 2b This is a simplified side view of a multi-mass model provided according to an embodiment of this application;
[0033] Figure 3 This is a schematic diagram illustrating the principle of a multi-mass model predictive control method for a humanoid robot according to an embodiment of this application;
[0034] Figure 4 This is a flowchart of a multi-mass model predictive control method for a humanoid robot according to an embodiment of this application;
[0035] Figure 5 This is a schematic diagram illustrating the experimental results under a dual-support configuration according to an embodiment of this application;
[0036] Figure 6 This is a schematic diagram illustrating the experimental results under a single-support condition according to an embodiment of this application;
[0037] Figure 7 This is a schematic diagram of the structure of a predictive control information device for a humanoid robot multi-mass model according to an embodiment of this application;
[0038] Figure 8 This is a schematic diagram of the structure of an electronic device provided according to an embodiment of this application. Detailed Implementation
[0039] The embodiments of this application are described in detail below. Examples of these embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and intended to explain this application, and should not be construed as limiting this application.
[0040] The following describes a humanoid robot multi-mass model predictive control method and apparatus according to embodiments of the present application with reference to the accompanying drawings. Addressing the technical problem mentioned in the background art where simplified models used for model prediction cannot fully utilize the robot's redundant degrees of freedom, making it difficult to adjust body balance while meeting real-time efficiency requirements, this application provides a humanoid robot multi-mass model predictive control method. In this method, the target humanoid robot can be simplified into a multi-mass simplified model based on at least one target experimental task and mechanical structure parameters. Based on at least one target experimental task, the control tasks and control constraints of each mass in the multi-mass simplified model are determined, thereby calculating the optimization variables of the target humanoid robot. Based on these optimization variables, torque commands for each joint of the target humanoid robot are generated, enabling the target humanoid robot to execute the target experimental task under preset balance conditions. This balances model accuracy and algorithm real-time performance while fully utilizing the balancing functions of the swing leg (when standing on one leg), torso, and arms in standing balance. Thus, it solves the technical problem in the related art where simplified models used for model prediction cannot fully utilize the robot's redundant degrees of freedom, making it difficult to adjust body balance while meeting real-time efficiency requirements.
[0041] Specifically, Figure 1 This is a flowchart illustrating a multi-mass model predictive control method for a humanoid robot provided in an embodiment of this application.
[0042] like Figure 1 As shown, the predictive control method for the multi-mass model of the humanoid robot includes the following steps:
[0043] In step S101, the target humanoid robot is simplified into a multi-mass simplified model based on at least one target experimental task and mechanical structure parameters.
[0044] The embodiments of this application can employ the MP-MPC (Multiple-particle model predictive control) algorithm, and combine MP-MPC with WBC to form a new real-time control scheme (hereinafter referred to as MP-MPC+WBC).
[0045] This application embodiment can adjust the robot's balance (including but not limited to swinging legs, arms, upper body, etc.) using redundant degrees of freedom to make its center of mass as close as possible to the desired position. Since full dynamic model predictive control (MP-MPC) involves large computational loads and cannot be calculated in real-time in MPC, the main parts of the robot are simplified into several point masses. MP-MPC only considers the linear momentum of each part of the robot and ignores angular momentum, thus reducing computational load and enabling real-time calculation.
[0046] The number of mass points and which part of the robot they correspond to need to be analyzed specifically based on the target task. Generally, for humanoid robots, simplifying them into five mass points—two legs, torso, and two arms—is a common approach.
[0047] like Figure 2a and Figure 2b As shown in the embodiments of this application, a humanoid robot can be simplified into a five-mass simplified model. For a bipedal robot without arms, its legs and torso can be simplified into three masses, and their inertia can be ignored. The trajectory of the center of mass is used as the tracking target.
[0048] In step S102, based on at least one target experimental task, the control task and control constraints of each mass in the multi-mass simplified model are determined.
[0049] Furthermore, embodiments of this application can construct a WBC problem based on a target experimental task, such as a collision experiment involving a humanoid robot standing on one leg and two legs. In this task, the task and constraints shown in Table 1 can be constructed, where Table 1 is a task-constraint-dimension table.
[0050] Table 1
[0051] Task Dimension constraint Dimension Center of mass momentum 6 Floating Base Dynamics 6 Trunk posture 3 Joint torque 19 Head posture 3 Joint position 19 Foot position posture 12 ZMP 24 Arm position posture 12 Foot friction cone 10 Foot rotation 12
[0052] Generalized joint acceleration is generally referred to as and foot rotation As optimization variables, the WBC problem can be transformed into a QP problem, which can then be solved using existing solvers. The trajectory of the free part is given by the MPC, while the reference trajectory of the remaining part is a given constant value.
[0053] In step S103, the optimization variables of the target humanoid robot are calculated based on the control task and control constraints.
[0054] As one possible approach, embodiments of this application can solve for optimization variables based on control tasks and control constraints, so as to adjust the robot's balance (including but not limited to swinging legs, arms, upper body, etc.) through redundant degrees of freedom, so that its center of mass is as close as possible to the desired position.
[0055] Optionally, in one embodiment of this application, the optimization variables are the limb end-effector trajectory and torso center-of-mass trajectory of the free part of the target humanoid robot that is not in contact with the ground.
[0056] Take the collision experiment of a humanoid robot standing on one leg and two legs as an example.
[0057] In this embodiment, the trajectory of the torso's center of mass, the trajectory of the swinging leg's end effector, and the trajectory of the arm's end effector can be used as optimization variables. Based on the above analysis, an MPC problem is constructed, which can then be used to solve for the desired trajectories of the free parts of the bipedal robot (torso and swinging leg trajectories). Let p... CoM p torso p sw,leg p st,leg and p arm These represent the positions of the robot's overall center of mass, torso center of mass, swing leg center of mass, support leg center of mass, and arm center of mass, respectively. This indicates the combination of the positions of the left and right arms. torso m sw,leg m st,leg and m arm Let m represent the mass of the robot's torso, swing leg, support leg, and two arms, respectively. The total mass is m = m torso +m sw,leg +m st,leg +2*m arm . and This indicates the velocity and acceleration of the center of mass at the * location.
[0058] Optionally, in one embodiment of this application, the optimization variables of the target humanoid robot are calculated based on the control task and control constraints, including: using the position and velocity of the center of mass of the free part as state variables to construct the corresponding state equation; calculating the system center of mass position and velocity of the target humanoid robot based on the state equation and the contact part of the target humanoid robot in contact with the ground; and solving for the optimization variables using the system center of mass position and velocity.
[0059] The overall trajectory of the robot's center of mass can be obtained by determining the positions of the centers of mass of its various parts:
[0060]
[0061] The same applies to the velocity of the center of mass.
[0062] In this embodiment, the state variable x can be the position and velocity of the center of mass of the robot's free part (such as the robot's torso, swinging leg, arm, etc.). If the onboard sensor can only detect the end-effector position and velocity, then corresponding conversion calculations are required; the optimization variable is the end-effector acceleration u of the robot's free part; let p fixed Let p be the end position and velocity of the part of the robot that contacts the ground (such as the supporting legs); ref Let p represent the desired end position and velocity of the free part, and p represent the actual position of the free part.
[0063] Its equation of state is:
[0064] x k+1 =Axk +Bu k ,
[0065] in,
[0066] The specific forms of matrices A and B are as follows:
[0067]
[0068] Therefore, the position and velocity of the robot system's center of mass can be obtained from the free part and the part in contact with the ground. The calculation formula is:
[0069] p CoM,k =Cx k +D,
[0070] Where D is p fixed And combinations of other constants. The specific forms of matrices C and D are as follows:
[0071]
[0072] Optionally, in one embodiment of this application, solving for optimization variables using the system's center of mass position and velocity includes: determining the actual trajectory of the target humanoid robot's overall center of mass and the actual trajectory of its free portion based on the control task; determining the desired trajectory of the target humanoid robot's overall center of mass and the desired trajectory of its free portion based on preset balance constraints; and constructing a corresponding optimization problem using the actual trajectory of the overall center of mass, the actual trajectory of the free portion, the desired trajectory of the overall center of mass, and the desired trajectory of the free portion, to solve for the optimization variables based on the optimization problem. The expression for the optimization problem can be:
[0073]
[0074] Where, p CoM,k p represents the actual trajectory of the overall center of mass of the target humanoid robot. CoM,ref,,k The desired trajectory of the overall center of mass of the target humanoid robot. p is the actual velocity of the overall center of mass of the target humanoid robot. k For the actual trajectory of the free part, p ref,k For the desired trajectory of the free part, ||u k || S Enter the penalty item.
[0075] It is understandable that the robot's stability is better when its center of mass is as close as possible to the desired position and its velocity is close to zero. Therefore, the following optimization problem can be constructed:
[0076]
[0077] Where, p CoM,k p represents the actual trajectory of the overall center of mass of the target humanoid robot. CoM,ref,,k The desired trajectory of the overall center of mass of the target humanoid robot. p is the actual velocity of the overall center of mass of the target humanoid robot. k For the actual trajectory of the free part, p ref,k For the desired trajectory of the free part, ||u k || S Enter the penalty item.
[0078] In addition, the free parts of the robot should meet physical constraints, that is, their positional relationships should not exceed the actual reachable positions (the position of the swing leg end should meet the leg length constraint and the position of the arm end should meet the arm length constraint).
[0079] By solving the above optimization problem, the trajectory of the robot's free parts can be obtained, which can then be used as a reference input for WBC tracking. This optimization problem allows the movement of the robot's free parts (swinging legs, arms, etc.) to adjust the robot's center of mass motion, thereby maintaining the robot's overall balance.
[0080] In step S104, the optimization variables are used as reference trajectories and the whole-body control is used for trajectory tracking to solve the torque commands of each joint of the target humanoid robot, so that the target humanoid robot can perform the corresponding target experimental task under the preset balance conditions.
[0081] The embodiments of this application can obtain the desired torque based on dynamic formulas. The optimal solution is obtained through whole-body control (WBC). and Then, the corresponding control commands are calculated based on the type of robot actuator. For example, for a position-controlled actuator, the commands can be directly... By performing two integrations, the joint position command is obtained; for force-controlled actuators, the joint torque command τ can be calculated according to the following formula. j .
[0082]
[0083] Among them, S j The selection matrix for driving joints, For the generalized mass matrix, It is a term that includes the Coriolis force, centrifugal force, and gravity, J f It is the Jacobian matrix of contact between the two feet.
[0084] Finally, the actuator executes joint position commands or joint torque commands, enabling the humanoid robot to complete the balancing task.
[0085] Referring to Figure 2- Figure 6As shown, the working principle of the humanoid robot multi-mass model predictive control method of this application embodiment is explained in detail with an example.
[0086] In actual implementation, the control part of this application embodiment can adopt the WBC method, which must be implemented by solving an optimization problem. However, it is not limited to its specific implementation; that is, whether using weight-based WBC or hierarchical WBC is acceptable. This application embodiment does not specify the physical meaning of the optimization variables in the optimization problem of WBC, because users can choose appropriate optimization variables according to the actual situation. The WBC in this application embodiment does not limit the specific task or constraint settings, because the task and constraint settings of WBC are different for different legged robots and different working conditions.
[0087] In actual implementation, the working principle of the embodiments of this application can be as follows: Figure 3 As shown, the state estimator can obtain the current state of the target control point by acquiring the joint angles and angular velocities at the current moment, utilizing robot kinematics and dynamics, and Kalman filtering. The standing motion planner can provide the desired center of mass position and input it into the multi-mass MPC. Through optimization, the reference trajectory of each control point is obtained. The corresponding trajectory tracking task and necessary constraints are set using whole-body control, and the torque / angle of the driving joint is obtained by solving.
[0088] exist Figure 3 Based on the schematic diagram shown, as Figure 4 As shown, embodiments of this application may include the following steps:
[0089] Step S401: Based on the target experimental task and robot configuration, simplify it into a multi-mass model.
[0090] The embodiments of this application can be as follows: Figure 2a and Figure 2b As shown, the humanoid robot is simplified into a five-mass simplified model. For a bipedal robot without arms, its legs and torso can be simplified into three masses, and their inertia can be ignored. The trajectory of the center of mass is used as the tracking target.
[0091] Step S402: Construct the MP-MPC problem based on the kinematic dynamics formula.
[0092] This application embodiment can construct a WBC problem. The tasks and constraints shown in Table 1 can be constructed for this task.
[0093] Step S403: Construct the QP problem, solve it using a solver, and obtain the reference trajectory.
[0094] This application embodiment can generalized joint acceleration and foot rotation As optimization variables, the WBC problem can be transformed into a QP problem, which can then be solved using existing solvers. The trajectory of the free part is given by the MPC, while the reference trajectory of the remaining part is a given constant value.
[0095] Step S404: Input the MP-MPC result as a reference into WBC to optimize and obtain the joint torque.
[0096] The embodiments of this application can be used to obtain the desired torque based on dynamic formulas. The optimal solution is then obtained. and Then, the corresponding control commands are calculated based on the type of robot actuator. For example, for a position-controlled actuator, the commands can be directly... By performing two integrations, the joint position command is obtained; for force-controlled actuators, the joint torque command τ can be calculated according to the following formula. j .
[0097]
[0098] Among them, S j The selection matrix for driving joints, For the generalized mass matrix, It is a term that includes the Coriolis force, centrifugal force, and gravity, J f It is the Jacobian matrix of contact between the two feet.
[0099] Finally, the actuator executes joint position commands or joint torque commands, enabling the humanoid robot to complete the balancing task.
[0100] In summary, the embodiments of this application can utilize the robot's free parts to adjust the robot's balance, thereby better completing the designated task under limited conditions; the collision results of the humanoid robot under dual-support and single-support conditions can be as follows: Figure 5 , Figure 6 As shown.
[0101] This application simplifies the MPC model by reducing the bipedal robot with arms to a five-mass model, thus solving the real-time problem while balancing computational efficiency and model accuracy. Experiments have verified that this method can complete calculations within 1 ms on a laptop equipped with an i5-13500H CPU.
[0102] The "MP-MPC+WBC" general control framework constructed in this application embodiment can be controlled by this method regardless of the robot configuration, and has a certain degree of versatility.
[0103] Compared to the solution that only uses WBC, "MP-MPC+WBC" has better performance at its limit. For the case of traditional WBC controlling the robot's balance, "MP-MPC+WBC" can still maintain balance.
[0104] The humanoid robot multi-mass model predictive control method proposed in this application simplifies the target humanoid robot into a multi-mass simplified model based on at least one target experimental task and mechanical structure parameters. Based on the at least one target experimental task, the control tasks and constraints of each mass in the multi-mass simplified model are determined, thereby calculating the optimization variables of the target humanoid robot. Torque commands for each joint of the target humanoid robot are then generated based on these optimization variables, enabling the target humanoid robot to execute the target experimental task while satisfying preset balance conditions. This method balances model accuracy and algorithm real-time performance, while fully utilizing the balancing functions of the swing leg (when standing on one leg), torso, and arms in standing balance. Therefore, it solves the technical problem in related technologies where simplified models used for model prediction cannot fully utilize the robot's redundant degrees of freedom, making it difficult to adjust body balance while meeting real-time efficiency requirements.
[0105] Next, referring to the accompanying drawings, a predictive control device for a humanoid robot multi-mass model according to an embodiment of this application is described.
[0106] Figure 7 This is a block diagram of a humanoid robot multi-mass model predictive control device according to an embodiment of this application.
[0107] like Figure 7 As shown, the humanoid robot multi-mass model prediction and control device 10 includes: a simplification module 100, a determination module 200, a calculation module 300, and a control module 400.
[0108] Specifically, the simplification module 100 is used to simplify the target humanoid robot into a multi-mass simplified model based on at least one target experimental task and mechanical structure parameters.
[0109] The determination module 200 is used to determine the control tasks and control constraints of each mass in the multi-mass simplified model based on at least one target experimental task.
[0110] The calculation module 300 is used to calculate the optimization variables of the target humanoid robot based on the control task and control constraints.
[0111] The control module 400 is used to use the optimization variables as a reference trajectory and perform trajectory tracking using whole-body control in order to solve the torque commands of each joint of the target humanoid robot, so that the target humanoid robot can perform the corresponding target experimental task under the preset balance conditions.
[0112] Optionally, in one embodiment of this application, the optimization variables are the limb end-effector trajectory and torso center-of-mass trajectory of the free part of the target humanoid robot that is not in contact with the ground.
[0113] Optionally, in one embodiment of this application, the computing module 300 includes: a construction unit, a first computing unit, and a second computing unit.
[0114] The building unit is used to construct the corresponding state equations by taking the position and velocity of the center of mass of the free part as state variables.
[0115] The first computing unit is used to calculate the position and velocity of the target humanoid robot's system center of mass based on the state equation and the contact portion between the target humanoid robot and the ground.
[0116] The second computational unit is used to solve for optimization variables using the position and velocity of the system's center of mass.
[0117] Optionally, in one embodiment of this application, the second calculation unit includes: a first determining subunit, a second determining subunit, and a calculation subunit.
[0118] The first determining subunit is used to determine the actual trajectory of the overall center of mass and the actual trajectory of the free part of the target humanoid robot based on the control task.
[0119] The second determining subunit is used to determine the desired trajectory of the overall center of mass and the desired trajectory of the free part of the target humanoid robot based on preset balance constraints.
[0120] The computational sub-unit is used to construct the corresponding optimization problem using the actual trajectory of the global centroid, the actual trajectory of the free part, the expected trajectory of the global centroid, and the expected trajectory of the free part, so as to solve the optimization variables based on the optimization problem.
[0121] Optionally, in one embodiment of this application, the expression for the optimization problem can be:
[0122]
[0123] Where, p CoM,k p represents the actual trajectory of the overall center of mass of the target humanoid robot. CoM,ref,,k The desired trajectory of the overall center of mass of the target humanoid robot. p is the actual velocity of the overall center of mass of the target humanoid robot. k For the actual trajectory of the free part, p ref,k For the desired trajectory of the free part, ||u k || s Enter the penalty item.
[0124] It should be noted that the foregoing explanation of the embodiment of the humanoid robot multi-mass model predictive control method also applies to the humanoid robot multi-mass model predictive control device of this embodiment, and will not be repeated here.
[0125] The humanoid robot multi-mass model predictive control device proposed in this application can simplify the target humanoid robot into a multi-mass simplified model based on at least one target experimental task and mechanical structure parameters. Based on the at least one target experimental task, the control tasks and constraints of each mass in the multi-mass simplified model are determined, thereby calculating the optimization variables of the target humanoid robot. Based on these optimization variables, torque commands for each joint of the target humanoid robot are generated, enabling the target humanoid robot to execute the target experimental task under preset balance conditions. This balances model accuracy and algorithm real-time performance while fully utilizing the balancing functions of the swing leg (when standing on one leg), torso, and arms in standing balance. Therefore, it solves the technical problem in related technologies where simplified models used for model prediction cannot fully utilize the robot's redundant degrees of freedom, making it difficult to adjust body balance while meeting real-time efficiency requirements.
[0126] Figure 8 A schematic diagram of the structure of an electronic device provided in an embodiment of this application. The electronic device may include:
[0127] The memory 801, the processor 802, and the computer program stored on the memory 801 and capable of running on the processor 802.
[0128] When the processor 802 executes the program, it implements the humanoid robot multi-mass model predictive control method provided in the above embodiments.
[0129] Furthermore, electronic devices also include:
[0130] Communication interface 803 is used for communication between memory 801 and processor 802.
[0131] The memory 801 is used to store computer programs that can run on the processor 802.
[0132] The memory 801 may include high-speed RAM memory, and may also include non-volatile memory, such as at least one disk storage device.
[0133] If the memory 801, processor 802, and communication interface 803 are implemented independently, then the communication interface 803, memory 801, and processor 802 can be interconnected via a bus to complete communication between them. The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be divided into address buses, data buses, control buses, etc. For ease of representation, Figure 8 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0134] Optionally, in a specific implementation, if the memory 801, processor 802, and communication interface 803 are integrated on a single chip, then the memory 801, processor 802, and communication interface 803 can communicate with each other through an internal interface.
[0135] The processor 802 may be a central processing unit (CPU), an application specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of this application.
[0136] This embodiment also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the above-described predictive control method for a humanoid robot multi-mass model.
[0137] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the humanoid robot multi-mass model predictive control method provided in this embodiment of the invention.
[0138] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of this application. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of different embodiments or examples.
[0139] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this application, "N" means at least two, such as two, three, etc., unless otherwise explicitly specified.
[0140] Any process or method described in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or N executable instructions for implementing custom logic functions or processes, and the scope of the preferred embodiments of this application includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the functions involved, as should be understood by those skilled in the art to which embodiments of this application pertain.
[0141] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus, or device (such as a computer-based system, a processor-included system, or other system that can fetch and execute instructions from, an instruction execution system, apparatus, or device). For the purposes of this specification, "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transmit programs for use by, or in conjunction with, an instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of computer-readable media include: an electrical connection having one or more wires (electronic device), a portable computer disk drive (magnetic device), random access memory (RAM), read-only memory (ROM), erasable and editable read-only memory (EPROM or flash memory), fiber optic devices, and portable optical disc read-only memory (CDROM). Alternatively, the computer-readable medium may be paper or other suitable media on which the program can be printed, since the program can be obtained electronically by optically scanning the paper or other medium, followed by editing, interpreting, or otherwise processing as necessary, and then stored in a computer memory.
[0142] It should be understood that the various parts of this application can be implemented using hardware, software, firmware, or a combination thereof. In the above embodiments, the N steps or methods can be implemented using software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware as in another embodiment, it can be implemented using any one or a combination of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.
[0143] Those skilled in the art will understand that all or part of the steps of the methods in the above embodiments can be implemented by a program instructing related hardware. The program can be stored in a computer-readable storage medium, and when executed, the program includes one or a combination of the steps of the method embodiments.
[0144] Furthermore, the functional units in the various embodiments of this application can be integrated into a processing module, or each unit can exist physically separately, or two or more units can be integrated into a module. The integrated module can be implemented in hardware or as a software functional module. If the integrated module is implemented as a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium.
[0145] The storage medium mentioned above can be a read-only memory, a disk, or an optical disk, etc. Although embodiments of this application have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting this application. Those skilled in the art can make changes, modifications, substitutions, and variations to the above embodiments within the scope of this application.
Claims
1. A predictive control method for a multi-mass model of a humanoid robot, characterized in that, Includes the following steps: Based on at least one target experimental task and mechanical structure parameters, the target humanoid robot is simplified into a multi-mass simplified model; Based on the at least one target experimental task, determine the control task and control constraints for each mass in the multi-mass simplified model; The optimization variables for the target humanoid robot are calculated based on the control task and the control constraints. The optimization variables are used as reference trajectories and the whole body control is used for trajectory tracking to solve the torque commands of each joint of the target humanoid robot, so that the target humanoid robot can perform the corresponding target experimental task under the preset balance conditions. The optimization variables are the limb end-effector trajectories and torso center-of-mass trajectories of the free parts of the target humanoid robot that are not in contact with the ground. The calculation of the optimization variables of the target humanoid robot based on the control task and the control constraints includes: constructing corresponding state equations using the center-of-mass position and velocity of the free parts as state variables; calculating the system center-of-mass position and velocity of the target humanoid robot based on the state equations and the contact parts of the target humanoid robot that are in contact with the ground; and solving for the optimization variables using the system center-of-mass position and velocity.
2. The method according to claim 1, characterized in that, The step of solving for the optimization variables using the system's centroid position and velocity includes: Based on the control task, determine the actual trajectory of the overall center of mass of the target humanoid robot and the actual trajectory of the free part; The desired trajectory of the overall center of mass of the target humanoid robot and the desired trajectory of the free part are determined based on preset balance constraints. An optimization problem is constructed using the actual trajectory of the global centroid, the actual trajectory of the free part, the expected trajectory of the global centroid, and the expected trajectory of the free part, in order to solve the optimization variables based on the optimization problem.
3. The method according to claim 2, characterized in that, The expression for the optimization problem is: in, The actual trajectory of the overall center of mass of the target humanoid robot. The desired trajectory of the overall center of mass of the target humanoid robot. The actual velocity of the target humanoid robot's overall center of mass. The actual trajectory of the free portion. The desired trajectory of the free portion. Enter the penalty item.
4. A predictive control device for a multi-mass model of a humanoid robot, characterized in that, include: A simplification module is used to simplify a target humanoid robot into a multi-mass simplified model based on at least one target experimental task and mechanical structural parameters. The determination module is used to determine the control task and control constraints of each mass in the multi-mass simplified model based on at least one target experimental task. A calculation module is used to calculate the optimization variables of the target humanoid robot based on the control task and the control constraints; The control module is used to use the optimization variables as a reference trajectory and perform trajectory tracking using whole-body control in order to solve the torque commands of each joint of the target humanoid robot, so that the target humanoid robot can perform the corresponding target experimental task under the preset balance conditions. The optimization variables are the limb end-effector trajectories and torso center-of-mass trajectories of the free parts of the target humanoid robot that are not in contact with the ground. The calculation module includes: a construction unit for constructing a corresponding state equation using the center-of-mass position and velocity of the free parts as state variables; a first calculation unit for calculating the system center-of-mass position and velocity of the target humanoid robot based on the state equations and the contact parts of the target humanoid robot that are in contact with the ground; and a second calculation unit for solving the optimization variables using the system center-of-mass position and velocity.
5. An electronic device, characterized in that, include: The system includes a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the humanoid robot multi-mass model predictive control method as described in any one of claims 1-3.
6. A computer-readable storage medium having a computer program stored thereon, characterized in that, The program is executed by the processor to implement the humanoid robot multi-mass model predictive control method as described in any one of claims 1-3.
Citation Information
Patent Citations
Full-body control method and device for foot type robot in combination with real-time kinematics prediction
CN115857531A
Foot type robot planning and control method and device, robot and storage medium
CN117572768A