Humanoid robot multi-particle model prediction control method and device
By simplifying the humanoid robot into a multi-particle model, determining control tasks and constraints, calculating optimization variables and performing full-body control, the problem of difficult to adjust the balance of humanoid robots in the prior art is solved, and better balance control and anti-interference ability are achieved.
Patent Information
- Application Number
- CN202411655328.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-19
- Publication Date
- 2025-03-18
- Estimated Expiration
- 2044-11-19
AI Technical Summary
In the prior art, the simplified model used for humanoid robot model prediction cannot fully utilize the robot's unnecessary freedom and it is difficult to adjust body balance while meeting real-time efficiency.
A multi-particle model prediction control method for humanoid robot is proposed. By simplifying the target humanoid robot into a multi-particle simplified model, the control tasks and control constraints of each particle are determined, optimization variables are calculated, and trajectory tracking is used to generate torque commands for joints to achieve balance control.
While taking into account the model accuracy and real-time performance of the algorithm, the balance role of swinging legs, trunk and arms is fully utilized, improving the robot's balance ability and anti-interference ability.
Smart Images

Figure CN119635625A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of balance control of humanoid robots, and in particular to a method and device for predictive control of a multi-particle model of a humanoid robot. Background Art
[0002] Humanoid robots can better adapt to human living environments and can collaborate with humans, so their motion control is an important research topic. To achieve flexible movement of robots, two important parts are indispensable: motion planning algorithm and control algorithm.
[0003] The goal of the motion planning algorithm is to efficiently generate a reference motion trajectory that meets the task requirements as much as possible and is physically feasible. The more complex the kinematic and dynamic equations considered in the planning algorithm, the closer the trajectory is to the real motion trajectory, but the higher the computing power required. Therefore, it is necessary to balance the computational efficiency and the precision of the generated reference trajectory in the planning algorithm. In order to generate a reasonable reference trajectory while taking into account computational efficiency, usually only the most significant aspects of the robot system dynamics are focused on, and the humanoid robot model is simplified. There are many simplified models, 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 used in robot motion planning.
[0004] After obtaining the planned motion reference trajectory, a control algorithm that can accurately track these complex trajectories is required. In the past two decades, WBC (Whole-body Control) 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 make full use of the robot's redundant degrees of freedom to complete multiple tasks at the same time, thereby performing precise tracking control of multiple tasks. At the same time, WBC can set the weights of different tasks and realize the priority conversion between different tasks through weighted strategies. However, WBC only considers the current state of the robot and cannot handle strongly infeasible reference trajectories. MPC (Model Predictive Control) is usually used in combination with WBC to supplement these deficiencies. At present, the control method combining MPC and WBC has become a mainstream trend. This combination not only takes advantage of the advantages of MPC, that is, it can respond to motion planning in advance, but also uses WBC to make up for the shortcomings of MPC, that is, the full dynamic model and task priority stratification are considered in WBC, achieving more sophisticated control than MPC with only a simplified model.
[0005] In the motion control of humanoid robots, improving the robot's balance and anti-interference ability has always been the focus and difficulty of research. The balance of the robot is divided into two-leg support balance and single-leg support balance. Compared with the two-leg support balance, the single-leg support balance has a smaller support area and is more difficult to balance. Even after decades of research, balance maintenance is still one of the most important issues for humanoid robots. Although the basic dynamics of balance are now understood, a general robust controller that can adapt to non-horizontal feet, single-leg support, and can stably handle random external strong interference is not yet mature. Especially compared with the flexibility and freedom of human balance, today's robots are quite inadequate.
[0006] There have been many studies on standing balance. The concept of zero moment point (ZMP) is applied to the balance control of bipedal robots. Based on ZMP preview control and a five-mass model with angular momentum, push recovery experiments and walking balance demonstrations in different directions can be performed on humanoid robot Snapshots. A hierarchical WBC is 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 is highly nonlinear and has high degrees of freedom, which makes it impossible to execute in real time on a real robot due to high computational costs. Although other simplified models meet the real-time requirements of the algorithm, they are not accurate enough in expressing the physical laws of the robot. For example, the inverted pendulum and single-mass point model have low model accuracy due to their oversimplification; the single-rigid body model ignores the mass of the legs, is not suitable for robots with heavier legs, and cannot describe the motion laws of the robot's upper limbs; similarly, the three-mass point model does not consider the motion regulation of the upper limbs, and its model accuracy needs to be improved.
[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 redundant degrees of freedom to adjust the body balance while meeting real-time efficiency, which needs to be improved. Summary of the invention
[0009] The present application provides a multi-particle model predictive control method and device for a humanoid robot to solve the technical problem in the related art that the simplified model used for model prediction cannot fully utilize the robot's redundant degrees of freedom and is difficult to adjust the body balance while meeting real-time efficiency.
[0010] The first aspect of the present application provides a multi-particle model predictive control method for a humanoid robot, comprising the following steps: simplifying the target humanoid robot into a multi-particle simplified model based on at least one target experimental task and mechanical structure parameters; determining the control tasks and control constraints of each particle in the multi-particle simplified model based on at least one target experimental task; calculating the optimization variables of the target humanoid robot based on the control tasks and the control constraints; using the optimization variables as a reference trajectory and using whole-body control to track the trajectory to solve the torque instructions of each joint of the target humanoid robot, so that the target humanoid robot performs the corresponding target experimental task while satisfying preset balance conditions.
[0011] Optionally, in one embodiment of the present application, the optimization variables are the limb extremity trajectory and the 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 the present application, the calculation of the optimization variables of the target humanoid robot based on the control task and the control constraints includes: taking the center of mass position and velocity of the free part as state variables and constructing 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 with the ground; and solving the optimization variables using the system center of mass position and velocity.
[0013] Optionally, in one embodiment of the present application, the method of solving the optimization variables using the system center of mass position and velocity includes: determining 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; determining the expected trajectory of the overall center of mass of the target humanoid robot and the expected trajectory of the free part based on a preset balance constraint; constructing 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 to solve the optimization variables based on the optimization problem.
[0014] Optionally, in one embodiment of the present application, the expression of the optimization problem may be:
[0015]
[0016] Among them, p CoM,k is the actual trajectory of the overall center of mass of the target humanoid robot, p CoM,ref,,k is the expected trajectory of the overall center of mass of the target humanoid robot, is the actual velocity of the overall center of mass of the target humanoid robot, p k is the actual trajectory of the free part, p ref,kis the expected trajectory of the free part, ‖u k ‖ S is the input penalty term.
[0017] The second aspect of the present application provides a multi-particle model predictive control device for a humanoid robot, comprising: a simplification module, used to simplify the target humanoid robot into a multi-particle simplified model based on at least one target experimental task and mechanical structure parameters; a determination module, used to determine the control tasks and control constraints of each particle in the multi-particle simplified model based on at least one target experimental task; a calculation module, used to calculate the optimization variables of the target humanoid robot based on the control tasks and the control constraints; a control module, used to use the optimization variables as a reference trajectory and use whole-body control to track the trajectory to solve the torque instructions of each joint of the target humanoid robot, so that the target humanoid robot performs the corresponding target experimental task while satisfying preset balance conditions.
[0018] Optionally, in one embodiment of the present application, the optimization variables are the limb extremity trajectory and the 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 the present application, the calculation module includes: a construction unit, used to take the center of mass position and velocity of the free part as state variables to construct a corresponding state equation; 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 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 the present application, the second computing unit includes: a first determination subunit, used 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 determination subunit, used 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 a preset balance constraint; a computing subunit, used 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 the present application, the expression of the optimization problem may be:
[0022]
[0023] Among them, p CoM,k is the actual trajectory of the overall center of mass of the target humanoid robot, pCoM,ref,,k is the expected trajectory of the overall center of mass of the target humanoid robot, is the actual velocity of the overall center of mass of the target humanoid robot, p k is the actual trajectory of the free part, p ref,k is the expected trajectory of the free part, ‖u k ‖ S is the input penalty term.
[0024] The third aspect of the present application provides an electronic device, comprising: 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 multi-particle model predictive control method for a humanoid robot as described in the above embodiment.
[0025] A fourth aspect of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are used to enable the computer to execute the multi-particle model predictive control method for a humanoid robot as described in the above embodiments.
[0026] The fifth aspect of the present application provides a computer program product, including a computer program, which, when executed, is used to implement the above-mentioned humanoid robot multi-particle model predictive control method.
[0027] The embodiment of the present application can simplify the target humanoid robot into a simplified model of multiple particles based on at least one target experimental task and mechanical structure parameters, and determine the control tasks and control constraints of each particle in the simplified model of multiple particles according to at least one target experimental task, so as to calculate the optimization variables of the target humanoid robot, and generate torque instructions for each joint of the target humanoid robot according to the optimization variables, so as to enable the target humanoid robot to perform the target experimental task under the preset balance conditions, and give full play to the balancing role of the swinging legs (when standing on one leg), the trunk, and the arms in the standing balance while taking into account the model accuracy and the real-time performance of the algorithm. Thus, the technical problem in the related art that the simplified model used for model prediction cannot make full use of the robot's redundant degrees of freedom and is difficult to adjust the body balance while meeting the real-time efficiency is solved.
[0028] Additional aspects and advantages of the present application will be given in part in the description below, and in part will become apparent from the description below, or will be learned through the practice of the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] The above and / or additional aspects and advantages of the present application will become apparent and easily understood from the following description of the embodiments in conjunction with the accompanying drawings, in which:
[0030] Figure 1A flowchart of a multi-mass model predictive control method for a humanoid robot provided according to an embodiment of the present application;
[0031] Figure 2a A simplified schematic diagram of a multi-particle model provided according to an embodiment of the present application;
[0032] Figure 2b A simplified side view of a multi-particle model provided according to an embodiment of the present application;
[0033] Figure 3 A schematic diagram of the principle of a multi-mass-point model predictive control method for a humanoid robot provided according to one embodiment of the present application;
[0034] Figure 4 A flowchart of a multi-mass-point model predictive control method for a humanoid robot provided according to one embodiment of the present application;
[0035] Figure 5 A schematic diagram of the experimental effect under a double support condition provided according to an embodiment of the present application;
[0036] Figure 6 A schematic diagram of experimental effect under a single support condition provided according to an embodiment of the present application;
[0037] Figure 7 A schematic diagram of the structure of a multi-mass model predictive control information device for a humanoid robot provided according to an embodiment of the present application;
[0038] Figure 8 It is a schematic diagram of the structure of an electronic device provided according to an embodiment of the present application. DETAILED DESCRIPTION
[0039] Embodiments of the present application are described in detail below, and examples of the embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are intended to be used to explain the present application, and should not be construed as limiting the present application.
[0040] The following describes the humanoid robot multi-mass model prediction control method and device of the embodiment of the present application with reference to the accompanying drawings. In view of the technical problem that the simplified model used for model prediction in the related art mentioned in the above background technology cannot make full use of the robot's redundant degrees of freedom and it is difficult to adjust the body balance under the condition of meeting the real-time efficiency, the present application provides a humanoid robot multi-mass model prediction control method, in which 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, and the control tasks and control constraints of each mass in the multi-mass simplified model are determined according to at least one target experimental task, so as to calculate the optimization variables of the target humanoid robot, so as to generate the torque instructions of each joint of the target humanoid robot according to the optimization variables, so as to make the target humanoid robot perform the target experimental task under the preset balance conditions, and give full play to the balance effect of the swinging legs (when standing on one leg), the trunk, and the arms in the standing balance while taking into account the model accuracy and the real-time performance of the algorithm. Thus, the technical problem that the simplified model used for model prediction in the related art cannot make full use of the robot's redundant degrees of freedom and it is difficult to adjust the body balance under the condition of meeting the real-time efficiency is solved.
[0041] Specifically, Figure 1 A schematic flow chart of a multi-particle model predictive control method for a humanoid robot provided in an embodiment of the present application.
[0042] like Figure 1 As shown, the multi-mass model predictive control method of the humanoid robot includes the following steps:
[0043] In step S101 , a target humanoid robot is simplified into a multi-mass point simplified model based on at least one target experimental task and mechanical structure parameters.
[0044] The embodiment of the present application may adopt the MP-MPC (Multiple-particle model predictive control) algorithm, and combine MP-MPC with WBC to form a new real-time control solution (hereinafter referred to as MP-MPC+WBC).
[0045] The embodiment of the present application can adjust the balance of the robot (including but not limited to swinging legs, arms, upper body, etc.) through redundant degrees of freedom to make its center of mass as close to the desired position as possible. Since the full dynamic model predictive control has a large amount of calculation and cannot be calculated in real time in MPC, the main part of the robot is simplified into several mass points. MP-MPC only considers the linear momentum of each part of the robot and ignores the angular momentum, so the calculation amount is small and can be calculated in real time.
[0046] The number of mass points and which part of the robot they correspond to need to be analyzed specifically according to the target task. Generally speaking, for humanoid robots, it is a common practice to simplify them into five mass points: legs, torso, and arms.
[0047] like Figure 2a and Figure 2b As shown, the embodiment of the present application can simplify the humanoid robot into a five-mass point simplified model. For a biped robot without arms, its legs and trunk can be simplified into three mass points, and its inertia can be ignored. The center of mass trajectory is used as the tracking target.
[0048] In step S102, based on at least one target experimental task, the control tasks and control constraints of each particle in the multi-particle simplified model are determined.
[0049] Furthermore, the embodiment of the present application can construct a WBC problem according to the target experimental task, such as a humanoid robot single-leg and double-leg standing collision experiment. In this task, the tasks and constraints shown in Table 1 can be constructed, wherein Table 1 is a task-constraint-dimension table.
[0050] Table 1
[0051] Task Dimensions constraint Dimensions Center of mass momentum 6 Floating base dynamics 6 Torso posture 3 Joint torque 19 Head posture 3 Joint Position 19 Foot position 12 ZMP 24 Arm position posture 12 Foot friction cone 10 Plantar force rotation 12
[0052] Generally speaking, the generalized joint acceleration and plantar force rotation As an optimization variable, the WBC problem can be organized into a QP problem and solved by the existing solver. The trajectory of the free part is given by MPC, and the reference trajectory of the rest is a given constant.
[0053] In step S103, the optimization variables of the target humanoid robot are calculated based on the control task and the control constraints.
[0054] As a possible implementation method, the embodiment of the present application can solve the optimization variables according to the control task and control constraints to adjust the balance of the robot (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 to the desired position as possible.
[0055] Optionally, in one embodiment of the present application, the optimization variables are the limb extremity trajectory and the 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 humanoid robot single-leg and double-leg standing collision experiment as an example.
[0057] In the embodiment of the present application, the trajectory of the center of mass of the trunk, the trajectory of the end of the swing leg, and the trajectory of the end of the arm can be used as optimization variables. According to the above analysis, the MPC problem is constructed to solve the desired trajectory of the free part of the biped robot (trunk, swing leg trajectory). Let p CoM 、p torso 、p sw,leg 、p st,leg and p arm They represent the robot’s overall center of mass, trunk center of mass, swing leg center of mass, support leg center of mass, and arm center of mass, respectively. Indicates the combination of left and right arm positions. torso 、m sw,leg 、m st,leg and m arm They represent the mass of the robot trunk, swinging legs, supporting legs and two arms respectively, and the total mass m=m torso +m sw,leg +m st,leg +2*m arm . and Indicates the velocity and acceleration of the center of mass of the *part.
[0058] Optionally, in one embodiment of the present application, the optimization variables of the target humanoid robot are calculated based on the control task and the control constraints, including: taking the center of mass position and velocity of the free part as state variables and constructing 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 with the ground; and solving the optimization variables using the system center of mass position and velocity.
[0059] The trajectory of the robot's overall center of mass can be obtained from the center of mass positions of each part:
[0060]
[0061] The same goes for center of mass velocity.
[0062] In the embodiment of the present application, the state variable x can be set to the position and velocity of the center of mass of the free part of the robot (such as the robot trunk, swinging legs, arms, etc.). If the onboard sensor can only detect the end position and velocity, corresponding conversion calculations are required; the optimization variable is the end acceleration u of the free part of the robot; let p fixed is the end position and speed of the part of the robot in contact with the ground (such as the supporting legs, etc.); let p ref is the desired end position and velocity of the free part, and p represents the actual position of the free part;
[0063] Its state equation is:
[0064] x k+1 =Axk +Bu k ,
[0065] in,
[0066] The specific forms of the A and B matrices are as follows
[0067]
[0068] Therefore, the center of mass position and velocity of the robot system 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 other constants. The specific forms of the C and D matrices are as follows:
[0071]
[0072] Optionally, in one embodiment of the present application, solving the optimization variables using the system center of mass position and velocity includes: determining 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; determining the expected trajectory of the overall center of mass of the target humanoid robot and the expected trajectory of the free part based on the preset balance constraint; constructing 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. The expression of the optimization problem can be:
[0073]
[0074] Among them, p CoM,k is the actual trajectory of the overall center of mass of the target humanoid robot, p CoM,ref,,k is the expected trajectory of the overall center of mass of the target humanoid robot, is the actual velocity of the overall center of mass of the target humanoid robot, p k is the actual trajectory of the free part, p ref,k is the expected trajectory of the free part, ‖u k ‖ S is the input penalty term.
[0075] It is understandable that stability is better when the robot's center of mass is as close to the desired position as possible and the velocity is close to zero, so the optimization problem can be constructed as follows:
[0076]
[0077] Among them, p CoM,k is the actual trajectory of the overall center of mass of the target humanoid robot, p CoM,ref,,k is the expected trajectory of the overall center of mass of the target humanoid robot, is the actual velocity of the overall center of mass of the target humanoid robot, p k is the actual trajectory of the free part, p ref,k is the expected trajectory of the free part, ‖u k ‖ S is the input penalty term.
[0078] In addition, the free part of the robot should satisfy physical constraints, that is, its position relationship cannot exceed the actual reachable position (the position of the end of the swing leg should satisfy the leg length constraint and the position of the end of the arm should satisfy the arm length constraint).
[0079] By solving the above optimization problem, the trajectory of the free part of the robot can be obtained, which can be input into the WBC tracking as a reference. Through this optimization problem, the movement of the free part of the robot (swinging legs, arms, etc.) can be used to adjust the movement of the robot's center of mass, thereby maintaining the balance of the robot as a whole.
[0080] In step S104, the optimized variable is used as a reference trajectory and the trajectory is tracked using whole-body control to solve the torque instructions of each joint of the target humanoid robot, so that the target humanoid robot performs the corresponding target experimental task while satisfying the preset balance condition.
[0081] The embodiment of the present application can obtain the desired torque according to the dynamic formula. Whole body control (WBC) solves the optimal solution and After that, the corresponding control instructions are calculated according to the type of robot actuator. For example, for a position-controlled actuator, Perform two integrations to obtain the joint position command; for force-controlled actuators, the joint torque command τ can be calculated according to the following formula: j .
[0082]
[0083] Among them, S j is the selection matrix for the driving joint, is the generalized mass matrix, is a term that includes the Coriolis force, centrifugal force, and gravity, J f is the contact Jacobian matrix of the two feet.
[0084] Finally, the actuator executes the joint position command or the joint torque command, and the humanoid robot can complete the balancing task.
[0085] Combined with Figure 2- Figure 6As shown, the working principle of the multi-particle model predictive control method of the humanoid robot of the embodiment of the present application is described in detail with an embodiment.
[0086] In the actual implementation process, the control part of the embodiment of the present application can adopt the WBC method, and the WBC must be implemented by solving the optimization problem. However, its specific implementation content is not limited, that is, whether it is a weight-based WBC or a layered WBC, it is possible. The embodiment of the present application does not specify the physical meaning of the optimization variables of the optimization problem in the WBC, because the user can completely choose the appropriate optimization variables according to the actual situation. The WBC in the embodiment of the present application does not limit the setting of specific tasks or constraints, because for different legged robots and different working conditions, the task and constraint settings of the WBC are different.
[0087] In the actual implementation process, the working principle of the embodiment of the present application can be as follows: Figure 3 As shown, the state estimator can obtain the current state of the target control point by obtaining the joint angle and angular velocity at the current moment, using robot kinematics and dynamics, and Kalman filtering. The standing motion planner can give the desired center of mass position and input the desired center of mass position into the multi-mass MPC, obtain the reference trajectory of each control point through optimization, set the corresponding trajectory tracking task and necessary constraints with whole-body control, and solve the torque / angle of the driving joint.
[0088] exist Figure 3 Based on the schematic diagram shown, Figure 4 As shown, the embodiment of the present application may include the following steps:
[0089] Step S401: Simplify the target experimental task and robot configuration into a multi-particle model.
[0090] The embodiments of the present application can be as follows Figure 2a and Figure 2b As shown in the figure, the humanoid robot is simplified into a five-mass model. For a biped robot without arms, its legs and trunk can be simplified into three mass points, and their inertia can be ignored. The center of mass trajectory is used as the tracking target.
[0091] Step S402: Constructing the MP-MPC problem according to the kinematics and dynamics formulas.
[0092] The embodiment of the present application can construct a WBC problem. In this task, the tasks and constraints shown in Table 1 can be constructed.
[0093] Step S403: construct a QP problem, solve it using a solver, and obtain a reference trajectory.
[0094] In this embodiment of the present application, the generalized joint acceleration and plantar force rotation As an optimization variable, the WBC problem can be organized into a QP problem and solved by the existing solver. The trajectory of the free part is given by MPC, and the reference trajectory of the rest is a given constant.
[0095] Step S404: Input the result of MP-MPC into WBC as a reference to optimize the joint torque.
[0096] The embodiment of the present application can obtain the desired torque according to the dynamics formula. and After that, the corresponding control instructions are calculated according to the type of robot actuator. For example, for a position-controlled actuator, Perform two integrations to obtain the joint position command; for force-controlled actuators, the joint torque command τ can be calculated according to the following formula: j .
[0097]
[0098] Among them, S j is the selection matrix for the driving joint, is the generalized mass matrix, is a term that includes the Coriolis force, centrifugal force, and gravity, J f is the contact Jacobian matrix of the two feet.
[0099] Finally, the actuator executes the joint position command or the joint torque command, and the humanoid robot can complete the balancing task.
[0100] In summary, the embodiments of the present application can use the free part of the robot to adjust the balance of the robot, so as to better complete the specified task under limited conditions; the collision results of the humanoid robot under double support and single support conditions can be as follows: Figure 5 , Figure 6 shown.
[0101] The embodiment of the present application simplifies the MPC model and simplifies the bipedal robot with arms into a five-mass point model, thereby solving the real-time problem and taking into account both computational efficiency and model accuracy. Experimental verification shows that the method can complete the calculation within 1ms on a laptop equipped with an i5-13500H CPU.
[0102] The "MP-MPC+WBC" universal control framework constructed in the embodiment of the present application can be controlled by this method regardless of the robot configuration, and has a certain degree of universality.
[0103] Compared with the solution using only WBC, "MP-MPC+WBC" has better extreme performance. Even in the case of traditional WBC controlling the robot's balance, "MP-MPC+WBC" can still maintain balance.
[0104] According to the humanoid robot multi-particle model predictive control method proposed in the embodiment of the present application, the target humanoid robot can be simplified into a multi-particle simplified model based on at least one target experimental task and mechanical structure parameters. According to at least one target experimental task, the control tasks and control constraints of each particle in the multi-particle simplified model are determined, thereby calculating the optimization variables of the target humanoid robot, and generating torque instructions for each joint of the target humanoid robot according to the optimization variables, so that the target humanoid robot performs the target experimental task under the preset balance conditions, and gives full play to the balancing role of the swinging legs (when standing on one leg), the trunk, and the arms in the standing balance while taking into account the model accuracy and the real-time performance of the algorithm. Thus, the technical problem in the related art that the simplified model used for model prediction cannot make full use of the robot's redundant degrees of freedom and is difficult to adjust the body balance while meeting the real-time efficiency is solved.
[0105] Next, the multi-particle model predictive control device for a humanoid robot proposed in accordance with an embodiment of the present application will be described with reference to the accompanying drawings.
[0106] Figure 7 It is a block diagram of a multi-particle model predictive control device for a humanoid robot according to an embodiment of the present application.
[0107] like Figure 7 As shown, the humanoid robot multi-mass-point model predictive 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 point 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 task and control constraint of each particle in the multi-particle 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 the control constraints.
[0111] The control module 400 is used to use the optimized variable as a reference trajectory and use whole-body control to track the trajectory to solve the torque instructions of each joint of the target humanoid robot, so that the target humanoid robot can perform the corresponding target experimental task while satisfying the preset balance condition.
[0112] Optionally, in one embodiment of the present application, the optimization variables are the limb extremity trajectory and the 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 the present application, the calculation module 300 includes: a construction unit, a first calculation unit and a second calculation unit.
[0114] The construction unit is used to take the center of mass position and velocity of the free part as state variables to construct the corresponding state equation.
[0115] The first calculation unit is used to calculate the system center of mass position and speed of the target humanoid robot based on the state equation and the contact portion of the target humanoid robot in contact with the ground.
[0116] The second calculation unit is used to solve the optimization variables using the position and velocity of the center of mass of the system.
[0117] Optionally, in one embodiment of the present application, the second calculation unit includes: a first determination subunit, a second determination subunit and a calculation subunit.
[0118] Wherein, the first determination subunit is used to determine the actual trajectory of the entire center of mass and the actual trajectory of the free part of the target humanoid robot based on the control task.
[0119] The second determination subunit is used to determine the expected trajectory of the entire center of mass and the expected trajectory of the free part of the target humanoid robot based on the preset balance constraint.
[0120] The computing subunit is used 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.
[0121] Optionally, in one embodiment of the present application, the expression of the optimization problem may be:
[0122]
[0123] Among them, p CoM,k is the actual trajectory of the overall center of mass of the target humanoid robot, p CoM,ref,,k is the expected trajectory of the overall center of mass of the target humanoid robot, is the actual velocity of the overall center of mass of the target humanoid robot, p k is the actual trajectory of the free part, p ref,k is the expected trajectory of the free part, ‖u k ‖ s is the input penalty term.
[0124] It should be noted that the aforementioned explanation of the embodiment of the multi-particle model predictive control method for a humanoid robot is also applicable to the multi-particle model predictive control device for a humanoid robot of this embodiment, and will not be repeated here.
[0125] According to the humanoid robot multi-particle model prediction control device proposed in the embodiment of the present application, the target humanoid robot can be simplified into a multi-particle simplified model based on at least one target experimental task and mechanical structure parameters. According to at least one target experimental task, the control tasks and control constraints of each particle in the multi-particle simplified model are determined, thereby calculating the optimization variables of the target humanoid robot, and generating torque instructions for each joint of the target humanoid robot according to the optimization variables, so that the target humanoid robot performs the target experimental task under the preset balance conditions, and gives full play to the balancing role of the swinging legs (when standing on one leg), the trunk, and the arms in the standing balance while taking into account the model accuracy and the real-time performance of the algorithm. Thus, the technical problem in the related art that the simplified model used for model prediction cannot make full use of the robot's redundant degrees of freedom and is difficult to adjust the body balance while meeting the real-time efficiency is solved.
[0126] Figure 8 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. The electronic device may include:
[0127] A memory 801 , a processor 802 , and a computer program stored in the memory 801 and executable on the processor 802 .
[0128] When the processor 802 executes the program, the multi-mass-point model predictive control method for the humanoid robot provided in the above embodiment is implemented.
[0129] Furthermore, the electronic device further comprises:
[0130] The communication interface 803 is used for communication between the memory 801 and the processor 802 .
[0131] The memory 801 is used to store computer programs that can be executed on the processor 802 .
[0132] The memory 801 may include a high-speed RAM memory, and may also include a non-volatile memory (non-volatile memory), such as at least one disk memory.
[0133] If the memory 801, the processor 802 and the communication interface 803 are implemented independently, the communication interface 803, the memory 801 and the processor 802 can be connected to each other through a bus and communicate with each other. The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component (PCI) bus or an Extended Industry Standard Architecture (EISA) bus. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 8 Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.
[0134] Optionally, in a specific implementation, if the memory 801, the processor 802 and the communication interface 803 are integrated on a chip, the memory 801, the processor 802 and the communication interface 803 can communicate with each other through an internal interface.
[0135] The processor 802 may be a central processing unit (CPU), or an application specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present application.
[0136] This embodiment also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the above-mentioned multi-particle model predictive control method for a humanoid robot.
[0137] An embodiment of the present application also provides a computer program product, including a computer program, which, when executed by a processor, implements the multi-particle model predictive control method for a humanoid robot provided by an embodiment of the present invention.
[0138] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" etc. means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present application. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or N embodiments or examples in a suitable manner. In addition, those skilled in the art may combine and combine the different embodiments or examples described in this specification and the features of the different embodiments or examples, without contradiction.
[0139] In addition, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Therefore, a feature defined as "first" or "second" may explicitly or implicitly include at least one of the features. In the description of this application, "N" means at least two, such as two, three, etc., unless otherwise clearly and specifically defined.
[0140] Any process or method description in a flowchart or otherwise described herein may be understood to represent a module, fragment or portion of code comprising one or N executable instructions for implementing the steps of a custom logical function or process, and the scope of the preferred embodiments of the present application includes alternative implementations in which functions may not be performed in the order shown or discussed, including performing functions in a substantially simultaneous manner or in reverse order depending on the functions involved, which should be understood by technicians in the technical field to which the embodiments of the present application belong.
[0141] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as an ordered list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by an instruction execution system, device or apparatus (such as a computer-based system, a system including a processor, or other system that can fetch instructions from an instruction execution system, device or apparatus and execute instructions), or in combination with these instruction execution systems, devices or apparatuses. For the purpose of this specification, "computer-readable medium" can be any device that can contain, store, communicate, propagate or transmit a program for use by an instruction execution system, device or apparatus, or in combination with these instruction execution systems, devices or apparatuses. More specific examples of computer-readable media (a non-exhaustive list) include the following: an electrical connection with one or N wirings (electronic devices), a portable computer disk box (magnetic device), a random access memory (RAM), a read-only memory (ROM), an erasable and programmable read-only memory (EPROM or flash memory), a fiber optic device, and a portable compact disk read-only memory (CDROM). In addition, the computer-readable medium may even be paper or other suitable medium on which the program is printed, since the program may be obtained electronically by optically scanning the paper or other medium and then editing, interpreting or processing in other suitable ways as necessary and then storing it in a computer memory.
[0142] It should be understood that the various parts of the present application can be implemented by hardware, software, firmware or a combination thereof. In the above-mentioned embodiment, the N steps or methods can be implemented by software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented by hardware, as in another embodiment, it can be implemented by any one of the following technologies known in the art or their combination: a discrete logic circuit having a logic gate circuit for implementing a logic function for a data signal, a dedicated integrated circuit having a suitable combination of logic gate circuits, a programmable gate array (PGA), a field programmable gate array (FPGA), etc.
[0143] A person skilled in the art may understand that all or part of the steps in the method for implementing the above-mentioned embodiment may be completed by instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, which, when executed, includes one or a combination of the steps of the method embodiment.
[0144] In addition, each functional unit in each embodiment of the present application may be integrated into a processing module, or each unit may exist physically separately, or two or more units may be integrated into one module. The above-mentioned integrated module may be implemented in the form of hardware or in the form of a software functional module. If the integrated module is implemented in the form of a software functional module and sold or used as an independent product, it may also be stored in a computer-readable storage medium.
[0145] The storage medium mentioned above may be a read-only memory, a magnetic disk or an optical disk, etc. Although the embodiments of the present application have been shown and described above, it can be understood that the above embodiments are exemplary and cannot be understood as limiting the present application. A person of ordinary skill in the art may change, modify, replace and modify the above embodiments within the scope of the present application.
Claims
1. A multi-mass model predictive control method for a humanoid robot, characterized in that: The following steps are involved: Simplifying the target humanoid robot into a multi-mass simplified model based on at least one target experimental task and mechanical structure parameters; Determining control tasks and control constraints for each particle in the multi-particle simplified model based on the at least one target experimental task; Calculate optimization variables of the target humanoid robot based on the control task and the control constraints; The optimized variable is used as a reference trajectory and whole-body control is used to track the trajectory to solve the torque instructions of each joint of the target humanoid robot, so that the target humanoid robot can perform the corresponding target experimental task while satisfying the preset balance condition.
2. The method according to claim 1, characterized in that: The optimization variables are the limb extremity trajectory and the trunk center of mass trajectory of the free part of the target humanoid robot that is not in contact with the ground.
3. The method according to claim 2, characterized in that The step of calculating the optimization variables of the target humanoid robot based on the control task and the control constraints comprises: Taking the center of mass position and velocity of the free part as state variables, constructing 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 portion of the target humanoid robot in contact with the ground; The optimization variables are solved using the system center of mass position and velocity.
4. The method according to claim 3, characterized in that The method of solving the optimization variable by using the center of mass position and velocity of the system includes: Determine the actual trajectory of the entire center of mass of the target humanoid robot and the actual trajectory of the free portion based on the control task; Determining a desired trajectory of the entire center of mass of the target humanoid robot and a desired trajectory of the free portion based on a preset balance constraint; A corresponding optimization problem is constructed 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.
5. The method according to claim 4, characterized in that The expression of the optimization problem can be: Among them, p CoM,k is the actual trajectory of the overall center of mass of the target humanoid robot, p CoM,ref,,k is the expected trajectory of the overall center of mass of the target humanoid robot, is the actual velocity of the overall center of mass of the target humanoid robot, p k is the actual trajectory of the free part, p ref,k is the expected trajectory of the free part, ‖u k ‖ S is the input penalty term.
6. A multi-mass model predictive control device for a humanoid robot, characterized in that: include: A simplification module, used for simplifying the target humanoid robot into a multi-mass simplified model based on at least one target experimental task and mechanical structure parameters; A determination module, used for determining the control tasks and control constraints of each particle in the multi-particle simplified model based on at least one target experimental task; A calculation module, used for calculating the optimization variables of the target humanoid robot based on the control task and the control constraints; A control module is used to use the optimized variable as a reference trajectory and use whole-body control to track the trajectory to solve the torque instructions of each joint of the target humanoid robot, so that the target humanoid robot can perform the corresponding target experimental task while satisfying the preset balance condition.
7. The device according to claim 6, characterized in that The optimization variables are the limb extremity trajectory and the trunk center of mass trajectory of the free part of the target humanoid robot that is not in contact with the ground.
8. The device according to claim 7, characterized in that The calculation module comprises: A construction unit, used for taking the center of mass position and velocity of the free part as state variables to construct a corresponding state equation; a first calculation unit, configured to calculate a system center of mass position and a velocity of the target humanoid robot based on the state equation and a contact portion of the target humanoid robot in contact with the ground; The second calculation unit is used to solve the optimization variable by using the center of mass position and velocity of the system.
9. An electronic device, characterized in that: include: 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 multi-particle model predictive control method for a humanoid robot as described in any one of claims 1 to 5.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: The program is executed by a processor to implement the multi-particle model predictive control method for a humanoid robot as described in any one of claims 1 to 5.
Citation Information
Patent Citations
Mobile device and control method thereof
CN101745910A
Movement control method for mobile robot
CN104842360A
Task execution control method and device, control equipment and readable storage medium
CN112775976A
Robot and gait control method and device thereof
CN113134833A
Full-body control method and device for foot type robot in combination with real-time kinematics prediction
CN115857531A
Cited By
Method and device for controlling foot bottom interactive movement of humanoid robot
CN121650030A
Intelligent building inspection method and system based on wheel-foot combination and mechanical arm cooperation
CN121764118A