Humanoid robot dynamic jumping and balance control method, electronic equipment, and medium

Through centroid and sole trajectory planning and model prediction control, combined with the whole-body motion control model, the dynamic jumping and balance problems of humanoid robots in complex terrain are solved, and stable jumping and balance control of under-driven robots of small foot boards or ankles are realized.

CN116551669BActive Publication Date: 2025-08-08ZHEJIANG UNIV
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202310202183.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-02-28
Publication Date
2025-08-08
Estimated Expiration
2043-02-28

AI Technical Summary

Technical Problem

The prior art is difficult to effectively control the dynamic jumping and balance of humanoid robots in complex terrain. Especially for robots with under-driven footboards or ankles, traditional methods are not very robust in unstructured environments and lack a complete control algorithm.

Method used

Through the planning of the centroid and sole trajectory of the foot, the model is constructed to predict and control problems and transformed into standard QP problems. Combined with the whole-body motion control model, joint position, speed and feedforward joint torque are obtained, and the stepping strategy is used to achieve stable implementation.

Benefits of technology

It realizes stable jumping and balance control of small foot boards or ankle-less-driven humanoid robots under complex terrain, and can complete various forms of dynamic jumping such as high jump, long jump, jumping up and jumping down steps, and landing smoothly after landing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116551669B_ABST
    Figure CN116551669B_ABST
Patent Text Reader

Abstract

The present invention discloses a humanoid robot dynamic jumping and balance control method, electronic equipment, and medium. The method comprises the following steps: planning the trajectory of the center of mass and the sole of the foot of the humanoid robot during jumping; modeling the humanoid robot as a single rigid body, taking the position, angular offset, linear velocity, and angular velocity of the robot's center of mass as state variables, and taking the ground contact force and the ground contact torque as control quantities, constructing a model predictive control problem, and converting the problem into a standard QP problem for solution to obtain the optimal ground reaction force and torque; constructing a whole-body motion control model, utilizing the desired end state and the optimal ground reaction force to obtain the joint position, velocity, and feedforward joint torque; controlling the humanoid robot to perform jumping motion according to the joint position, velocity, and joint torque; the joint torque being the sum of the feedforward torque and the feedback torque, and the feedback torque being calculated by proportional differential control; and adopting a stride strategy to achieve landing stability of the robot after the humanoid robot lands.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of robotics technology, and in particular to a method, electronic equipment, and medium for controlling dynamic jumping and balance of a humanoid robot. Background Art

[0002] Humanoid robots are a unique class of robots, their most striking characteristic being their direct imitation of human locomotion. Compared to wheeled and tracked robots, legged humanoid robots can plan unique, discrete footholds, offering significant advantages in unstructured terrain such as disaster zones, volcanoes, and planets. Furthermore, humanoid robots possess numerous redundant degrees of freedom, enabling them to perform a variety of complex tasks while maintaining balance. This holds significant promise for their future application in diverse and ever-changing production and life scenarios.

[0003] Due to the high complexity of humanoid robots, while they have achieved significant progress over more than half a century, early research has primarily focused on tasks such as stable walking and arm manipulation. Research on jumping motions with aerial features has also primarily focused on quadruped robots. Research on dynamic jumping motions in humanoid robots, particularly balance control throughout the entire jumping process, still has significant room for development.

[0004] As one of the most important forms of human locomotion, jumping can significantly enhance the autonomous locomotion capabilities of humanoid robots, strengthen their adaptability to complex terrain, and expand their range of motion. Therefore, research on dynamic jumping motion and balance control methods is crucial for achieving jumping and more complex running movements in humanoid robots, as well as increasing their mobility.

[0005] Among traditional methods, the Zero Moment Point (ZMP) method is primarily designed for robots with larger feet and cannot be used for robots with smaller feet or underactuated ankles. It is also not robust to unstructured environments, limiting the humanoid robot's mobility and adaptable terrain. The Hybrid Zero Dynamics (HZD) method requires a full-body dynamics model of the robot during virtual constraint, resulting in high modeling complexity, large modeling errors, and high requirements for the robot's structural design. The Virtual Model Control (VMC) method is intuitive and easy to implement, but when the robot's speed is high or the external environment is complex, the force and torque effects calculated using the virtual components differ significantly from the actual system characteristics, resulting in limited control performance.

[0006] In recent years, model predictive control (MPC) and whole-body control (WBC) methods have been increasingly applied in the field of robotics. MIT's Cheetah3 quadruped robot uses MPC to achieve various motions, including walking, running, and jumping. However, humanoid robots differ significantly from quadruped robots in their structural design. The aforementioned quadruped control schemes are difficult to directly apply to complex dynamic motions such as high jump, long jump, and step-up and step-down. This is particularly true for complex dynamic jumping motions on uneven terrain, for which no comprehensive and robust algorithmic workflow or application examples exist.

[0007] Up to now, there is little public information on the dynamic jumping and balance control scheme of humanoid robots. Chinese patent CN105599816A discloses a gait planning method for the jumping motion of a 3D underactuated bipedal robot. The gait planning of the bipedal robot's jumping motion is carried out through an optimization method. It has the movement characteristics of human jumping, but does not involve the motion planning of other stages besides take-off, and the balance control of the entire jumping process; Chinese patent CN110405763A discloses a planning method for the multi-joint coordinated burst jumping of a humanoid robot. It guides and realizes the jumping gait of the multi-legged robot by decomposing and imitating the human standing long jump motion. However, it does not involve the problem of jumping process realization and balance control, and is limited to standing long jump. The form of long jump; Chinese patent CN112859901A discloses a continuous dynamic stable jumping control method for a humanoid robot and Chinese patent CN110405763A discloses a planning method for multi-joint coordinated explosive jumping of a humanoid robot. Based on the traditional ZMP method, the dynamic jumping process control of the humanoid robot is realized. However, its application is limited to robots with larger feet. For robots with smaller feet or under-driven ankles, the landing impact and forward speed caused by the violent collision after jumping forward and landing can theoretically be eliminated through control, but in practice they are often unable to be controlled due to their own small support area and hardware limitations.

[0008] Therefore, it is urgent to propose a dynamic jumping and balance control method for a humanoid robot to realize a complete control method for various forms of dynamic jumping such as high jumping, long jumping, jumping up and down stairs, and landing smoothly. Summary of the Invention

[0009] The purpose of the present invention is to address the deficiencies of the existing technology and to propose a humanoid robot dynamic jumping and balance control method, electronic equipment, and medium.

[0010] The technical solutions of the present invention are as follows:

[0011] A first aspect of an embodiment of the present invention provides a method for dynamic jumping and balancing control of a humanoid robot, the method comprising:

[0012] By setting the center of mass jump height, foot sole rise height, step height, and the distance the center of mass jumps forward as control variables, the trajectory of the center of mass and foot sole of the humanoid robot during jumping is planned.

[0013] The humanoid robot is modeled as a single rigid body, and the planned trajectory is used as the reference trajectory for model predictive control. The position, angular offset, linear velocity, and angular velocity of the robot's center of mass are taken as state variables, and the ground contact force and ground contact torque are used as control variables. A model predictive control problem is constructed and converted into a standard QP problem for solution to obtain the optimal ground reaction force and ground reaction torque.

[0014] A whole-body motion control model is constructed, and the ground reaction force and ground reaction torque are input into the whole-body motion control model. The joint position, velocity, and feedforward joint torque are obtained using the desired end state and the optimal ground reaction force.

[0015] Controlling the humanoid robot to perform jumping motion according to joint position, velocity, and joint torque; the joint torque is the sum of feedforward torque and feedback torque, and the feedback torque is calculated by proportional differential control;

[0016] After the humanoid robot lands, it adopts a stride strategy.

[0017] A second aspect of an embodiment of the present invention provides an electronic device, comprising a memory and a processor, wherein the memory is coupled to the processor; wherein the memory is used to store program data, and the processor is used to execute the program data to implement the above-mentioned humanoid robot dynamic jumping and balance control method.

[0018] A third aspect of an embodiment of the present invention provides a computer-readable storage medium having a computer program stored thereon, which implements the above-mentioned humanoid robot dynamic jumping and balance control method when executed by a processor.

[0019] Compared with the prior art, the present invention has the following beneficial effects:

[0020] In the process of studying the complex dynamic motion of humanoid robots with small feet or underactuated ankles, the present invention proposes a dynamic jumping and balance control method for humanoid robots. By using trajectory planning and constructing a model predictive control problem to obtain the optimal ground reaction force and ground reaction torque, a whole-body motion control model is then constructed. The desired end state and the optimal ground reaction force are used to obtain joint positions, velocities, and feedforward joint torques. The humanoid robot is controlled to perform jumping motions based on these parameters. After landing, the humanoid robot adopts a stride strategy or switches to a walking gait to buffer the landing impact and forward velocity generated by the violent collision after jumping forward and landing, thereby achieving stable landing and balance of the humanoid robot. The method of the present invention significantly improves the jumping and landing stability of humanoid robots with small feet or underactuated ankles in complex terrain, enabling the humanoid robot to perform various dynamic jumps such as high jump, long jump, jumping onto and off stairs, and landing smoothly. BRIEF DESCRIPTION OF THE DRAWINGS

[0021] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0022] Figure 1 Schematic diagram of the flow of the dynamic jumping and balancing control method of the humanoid robot of the present invention;

[0023] Figure 2 Schematic diagram of the center of mass and sole trajectory of the whole jumping process of the present invention;

[0024] Figure 3 Schematic diagram of a single rigid body dynamics model of the present invention;

[0025] Figure 4 Schematic diagram of a dynamic jumping and balancing control system for a humanoid robot according to the present invention;

[0026] Figure 5 A schematic diagram of an electronic device according to the present invention. DETAILED DESCRIPTION

[0027] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of the present invention.

[0028] It should be noted that, unless there is any conflict, the features in the following embodiments and implementations may be combined with each other.

[0029] like Figure 1 As shown, the present invention proposes a humanoid robot dynamic jumping and balance control method, which specifically includes the following steps:

[0030] S1 plans the trajectory of the center of mass and the sole of the foot during the humanoid robot's jumping process by setting the center of mass jumping height, the height of the sole rising, the step height, and the distance the center of mass jumps forward as control variables; this allows the humanoid robot to achieve different forms of dynamic jumping, such as high jumping, long jumping, jumping onto steps, and jumping off steps.

[0031] Furthermore, the implementation of step S1 includes:

[0032] S101, select the center of mass jump height H CoM , foot sole rising height H foot , step height H step , the distance L that the center of mass jumps forward CoM These four variables are used as control quantities to control the humanoid robot's dynamic jumping in different forms, such as high jump, long jump, jumping up stairs, jumping down stairs, etc.

[0033] S102, using projectile motion to approximate the robot's jumping process, calculate the velocity v of the center of mass in the z direction at the moment of take-off CoM,z,init , the velocity v of the center of mass in the z direction at the moment of landing CoM,z,final , and thus calculate the time t of the rising phase up , the time of the descending phase t down , the total time of the jump process t flight . And the distance jumped forward from the center of mass is L CoM The total time of the jump process is used to calculate the initial forward velocity of the center of mass as v CoM,x,init .

[0034] S103, using the cubic polynomial interpolation or spline interpolation method, set the first constraint condition to obtain the center of mass velocity trajectory of the robot during the take-off phase. The first constraint condition that needs to be satisfied is: at the take-off time T jump so that the velocity of the center of mass in the x and z directions at the moment of take-off reaches the take-off velocity v CoM,x,ini t and v CoM,z,init ;

[0035] S104, such as Figure 2 As shown, the second constraint condition is set by using the fifth-order polynomial interpolation or spline interpolation method to generate the vertical and horizontal trajectories of the robot foot during the flight phase. The second constraint condition that needs to be satisfied is: if the vertical position of the robot foot at the moment of leaving the ground is p foot,z,init, the horizontal position is p foot,x,init ; The time t that the foot spends in the rising phase up The maximum ground clearance p is reached foot,z,init +H foot ; The total time t during the jump process flight Reaching a vertical height of p foot,z,init +H step The horizontal flight distance is the distance L that the center of mass jumps forward. CoM or the distance L at which the center of mass jumps forward CoM Add some bias to the base.

[0036] S105, the equations listed by the polynomial or spline interpolation method obtained in step S103 and step S104 are combined, written into a matrix equation system and solved to obtain the unknown coefficients, completing the planning of the center of mass and foot trajectory of the humanoid robot during the jumping process.

[0037] In step S2, the humanoid robot is modeled as a single rigid body. The trajectory planned in step S1 is used as the reference trajectory. The position, angular offset, linear velocity, and angular velocity of the robot's center of mass are taken as state variables, and the ground contact force and ground contact torque are used as control variables. A model predictive control problem is constructed and converted into a standard QP problem for solution to obtain the optimal ground reaction force and reaction torque.

[0038] Furthermore, the implementation of step S2 includes:

[0039] Step S201, as Figure 3 As shown, the humanoid robot is modeled as a single rigid body, the trajectory planned in step S1 is used as the reference trajectory, and the corresponding center of mass dynamics model is written.

[0040] Step S202, converting the center of mass dynamics model into a state space equation includes: taking the position p of the robot's center of mass, the angular offset φ, the linear velocity The angular velocity ω is used as the state variable, that is, Take the ground contact force and ground contact torque as the control variables, that is, The state space equation can be obtained as:

[0041]

[0042] Where, f i is the ground contact force at the i-th contact point, τ i is the ground contact torque of the ith contact point, m is the mass of the humanoid robot, r i is the distance from the center of mass to the i-th contact point, i = 1, 2, ..., n. In the jumping motion of the humanoid robot, i = 2.

[0043] Step S203: Apply the forward Euler method Discretize the state space equation and obtain the discrete dynamic equation:

[0044]

[0045] in:

[0046]

[0047]

[0048]

[0049]

[0050]

[0051] Step S204: Minimizing the error between the process state, terminal state, and desired trajectory is the goal, and a model predictive control problem is obtained. The expression is as follows:

[0052]

[0053]

[0054] Among them, x0 is the initial condition constraint; U is the control quantity constraint, that is, the constraint of ground reaction force and reaction torque; X is the state constraint; F is the friction constraint; G is the rollover constraint.

[0055] The purpose of this optimization problem is to minimize the error between the process state and the terminal state and the desired trajectory, while making the control output as smooth as possible without large mutations.

[0056] Step S205, take X = [x0, x1, ..., x N ],U=[u0,u1,…,u N-1 ], where N is the prediction step size. Based on the recursive principle of the linear time-invariant model, the state of each step can be solved based on the initial state and the control output of each step. The model predictive control (MPC) problem can then be organized into a dense QP form, thereby improving the solution speed of the convex quadratic programming problem.

[0057] S3, constructing a whole-body motion control model. Using the desired end state and optimal ground reaction force, the joint positions, velocities, and feedforward joint torques can be calculated through an inverse kinematics algorithm that strictly maintains task priority.

[0058] Furthermore, the implementation of step S3 includes:

[0059] Step S301: Establish a whole-body dynamics model as follows:

[0060]

[0061] in represents the generalized coordinates of the multi-body system, and Represent the floating base coordinates and joint coordinates respectively. and denote the generalized velocity and generalized acceleration respectively. represents the mass matrix. represents the Coriolis force and the centripetal force. Represents gravity. represents the generalized moment acting on the joint. represents the stacking contact Jacobian matrix. Denote the stack ground reaction force and ground reaction moment.

[0062] Step S302: Perform kinematics solution on the whole-body dynamics model. Based on the set target task, the desired generalized coordinates, generalized velocity, and generalized acceleration are obtained through the null space projection method and the inverse kinematics algorithm.

[0063] Step S303: Perform a dynamic solution on the whole-body dynamics model. Using the optimal ground reaction force obtained in step S2 and the desired generalized coordinates obtained from the kinematic solution, a quadratic optimization method is used to determine the feedforward joint torques output to the humanoid robot, while satisfying the dynamic and force constraints.

[0064] S4, controlling the humanoid robot to perform jumping motion according to the joint position, velocity and joint torque; the joint torque is the sum of the feedforward torque and the feedback torque, and the feedback torque is calculated by proportional differential control.

[0065] S5: After landing, the humanoid robot adopts a stride strategy to buffer the forward velocity generated by the forward jump and the violent collision after landing, thereby achieving a stable landing of the robot.

[0066] Furthermore, the implementation of step S5 includes:

[0067] Step S501, the method for detecting the landing of the robot includes: making a comprehensive judgment based on conditions such as flight time, ground contact force, leg length change or knee joint angle change; in this embodiment, the flight time and ground contact force are preferably used for comprehensive judgment.

[0068] Step S502: After the robot lands, a stride strategy is adopted.

[0069] In this example, a multi-step stride strategy is used to switch the humanoid robot to a walking gait. The walking gait is based on a spring-loaded inverted pendulum SLIP model. The end force vector of the supporting leg is calculated using the SLIP model, and then, according to the principle of virtual work, the transpose of the Jacobian matrix is multiplied by the end force vector to obtain the joint torque; the end trajectory of the swing leg is planned as a sine curve or a Bezier curve, and then the joint torque is solved by inverse dynamics; by reasonably setting the landing points in the forward direction and the lateral direction, the forward velocity generated by the forward jump and the violent collision after landing can be buffered, thereby achieving a stable landing of the robot.

[0070] The landing point set in the stride strategy is selected according to the following formula:

[0071] L f =K0+K p v+K d (vv d ) (11)

[0072]

[0073] Where x f ,y f are the coordinates of the landing point, is the forward and lateral speed of the humanoid robot, that is, the speed of the robot's center of mass is obtained through the Kalman filter, are the desired forward and lateral velocities, K0, K p , K d These are coefficient matrices to be determined, which increase the robustness of the foothold control.

[0074] In this embodiment, in order to make the humanoid robot's speed more quickly and accurately approach the desired speed, an error accumulation self-tuning process is also introduced. The accumulated error between the robot's average speed and the desired speed, obtained at each landing of the humanoid robot, is added to the formula for calculating the humanoid robot's landing point. The self-tuning calculation formula for the landing point is as follows:

[0075]

[0076]

[0077] In the formula represents the average forward and lateral speed, K e The self-tuning link that introduces an error can make the robot move faster and closer to the desired speed.

[0078] The formula for the corrected landing point is:

[0079] L f =K0+Kp v+K d (vv d )+K i L e (15)

[0080] Where K i is the coefficient to be determined.

[0081] The robot landing point calculated by the above formula is the expected position of the end point of the robot's swing leg. The motion curve of the swing leg is planned. Through inverse kinematics solution, the movement of the motors of each joint of the swing leg can be planned, so that the swing leg swings to the set landing point.

[0082] In summary, the present invention proposes a method for dynamic jumping and balancing control of a humanoid robot. The method obtains the optimal ground reaction force and ground reaction torque through trajectory planning and constructing a model predictive control problem. Then, a whole-body motion control model is constructed. The desired end state and the optimal ground reaction force are used to obtain the joint position, velocity, and feedforward joint torque. The humanoid robot is controlled to perform jumping motion according to the above parameters. After the humanoid robot lands, a stride strategy is adopted or a walking gait is switched to to cushion the landing impact and forward velocity generated by the violent collision after the forward jump and landing, thereby achieving stable landing and balance of the humanoid robot. The method of the present invention significantly improves the jumping and landing stability of small-footed robots or humanoid robots with underdriven ankles in complex terrain, and enables the humanoid robot to perform various forms of dynamic jumping, such as high jump, long jump, jumping onto stairs, and jumping off stairs, and landing smoothly.

[0083] like Figure 4 As shown, an embodiment of the present invention further provides a humanoid robot dynamic jumping and balancing control system for implementing the above-mentioned humanoid robot dynamic jumping and balancing control method, the system comprising:

[0084] The trajectory planning module plans the trajectory of the center of mass and the sole of the foot during the jumping process of the humanoid robot by setting the center of mass jumping height, the height of the sole of the foot rising, the step height and the distance of the center of mass jumping forward as control variables;

[0085] The model predictive control module models the humanoid robot as a single rigid body, uses the planned trajectory as the reference trajectory for model predictive control, takes the position, angular offset, linear velocity, and angular velocity of the robot's center of mass as state variables, and the ground contact force and ground contact torque as control variables, constructs a model predictive control problem, and transforms the model predictive control problem into a standard QP problem for solution to obtain the optimal ground reaction force and ground reaction torque;

[0086] The whole-body motion control module builds a whole-body motion control model, inputs the ground reaction force and ground reaction torque into the whole-body motion control model, and uses the desired end state and optimal ground reaction force to obtain the joint position, velocity and feedforward joint torque;

[0087] A joint motion control module controls the humanoid robot to perform jumping motion according to joint position, velocity, and joint torque; the joint torque is the sum of the feedforward torque and the feedback torque, and the feedback torque is calculated through proportional differential control;

[0088] The landing balance control module adopts the stride strategy to achieve the landing stability of the humanoid robot after landing.

[0089] Regarding the system in the above embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and will not be elaborated here.

[0090] For the system embodiment, since it basically corresponds to the method embodiment, the relevant parts can be referred to the partial description of the method embodiment. The system embodiment described above is only illustrative, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this application. A person of ordinary skill in the art can understand and implement it without paying any creative work.

[0091] like Figure 5 As shown, an embodiment of the present application provides an electronic device, which includes a memory 101 for storing one or more programs and a processor 102. When the one or more programs are executed by the processor 102, any method of the first aspect described above is implemented.

[0092] The system also includes a communication interface 103. The memory 101, processor 102, and communication interface 103 are electrically connected to each other directly or indirectly to enable data transmission or interaction. For example, these components can be electrically connected to each other via one or more communication buses or signal lines. The memory 101 can be used to store software programs and modules, and the processor 102 executes the software programs and modules stored in the memory 101 to perform various functional applications and data processing. The communication interface 103 can be used to communicate signaling or data with other node devices.

[0093] Among them, the memory 101 can be, but is not limited to, a random access memory 101 (Random Access Memory, RAM), a read-only memory 101 (Read Only Memory, ROM), a programmable read-only memory 101 (Programmable Read-Only Memory, PROM), an erasable programmable read-only memory 101 (Erasable Programmable Read-Only Memory, EPROM), an electrically erasable read-only memory 101 (Electric Erasable Programmable Read-Only Memory, EEPROM), etc.

[0094] The processor 102 may be an integrated circuit chip having signal processing capabilities. The processor 102 may be a general-purpose processor 102, including a central processing unit 102 (CPU), a network processor 102 (NP), etc.; it may also be a digital signal processing processor 102 (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.

[0095] In the embodiments provided in this application, it should be understood that the disclosed methods and systems can also be implemented in other ways. The method and system embodiments described above are merely illustrative. For example, the flowcharts and block diagrams in the accompanying drawings show the possible architectures, functions, and operations of the methods and systems, methods, and computer program products according to multiple embodiments of the present application. In this regard, each box in the flowchart or block diagram can represent a module, a program segment, or a portion of code, and the module, program segment, or a portion of code contains one or more executable instructions for implementing the specified logical functions. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in an order different from that marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart, and the combination of boxes in the block diagram and / or flowchart, can be implemented using a dedicated hardware-based system that performs the specified function or action, or can be implemented using a combination of dedicated hardware and computer instructions.

[0096] In addition, the functional modules in each embodiment of the present application can be integrated together to form an independent part, or each module can exist independently, or two or more modules can be integrated to form an independent part.

[0097] On the other hand, an embodiment of the present application provides a computer-readable storage medium having a computer program stored thereon, which implements a method as described in any one of the first aspects above when executed by the processor 102. If the function is implemented in the form of a software function module and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or the part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory 101 (ROM, Read-Only Memory), a random access memory 101 (RAM, Random Access Memory), a magnetic disk or an optical disk.

[0098] The above-mentioned embodiments are used to illustrate the present invention rather than to limit the present invention. Any modifications and changes made to the present invention within the spirit of the present invention and the protection scope of the claims shall fall within the protection scope of the present invention.

Claims

1. A method for dynamic jumping and balancing control of a humanoid robot, characterized in that: The method comprises: By setting the center of mass jump height, foot sole rise height, step height, and the distance the center of mass jumps forward as control variables, the trajectory of the center of mass and foot sole of the humanoid robot during jumping is planned. The humanoid robot is modeled as a single rigid body, and the planned trajectory is used as the reference trajectory for model predictive control. The position, angular offset, linear velocity, and angular velocity of the robot's center of mass are taken as state variables, and the ground contact force and ground contact torque are used as control variables. A model predictive control problem is constructed and converted into a standard QP problem for solution to obtain the optimal ground reaction force and ground reaction torque. A whole-body motion control model is constructed, and the ground reaction force and ground reaction torque are input into the whole-body motion control model. The joint position, velocity, and feedforward joint torque are obtained using the desired end state and the optimal ground reaction force. Controlling the humanoid robot to perform jumping motion according to joint positions, velocities, and joint torques; the joint torques are the sum of feedforward torques and feedback torques, and the feedback torques are calculated by proportional differential control; After the humanoid robot lands, a stride strategy is used to ensure the robot's landing stability.

2. The humanoid robot dynamic jumping and balance control method according to claim 1, characterized in that: By setting the center of mass jump height, foot sole rise height, step height, and the distance the center of mass jumps forward as control variables, the trajectory planning of the center of mass and foot sole during the humanoid robot's jump is achieved, including: The center of mass jump height, foot rise height, step height and the distance the center of mass jumps forward are selected as control variables; The jumping process of the humanoid robot is approximated by projectile motion, and the velocity of the center of mass of the humanoid robot in the z direction at the moment of take-off, the velocity of the center of mass in the z direction at the moment of landing, the time of the ascending phase, the time of the descending phase, and the total time of the jumping process are obtained; Obtain the initial forward velocity of the center of mass based on the distance the center of mass jumps forward and the total time of the jump process; The interpolation method is used to obtain the velocity trajectory of the center of mass of the humanoid robot during the take-off phase, and the vertical and horizontal trajectories of the humanoid robot's feet during the flight phase.

3. The humanoid robot dynamic jumping and balance control method according to claim 2, characterized in that: Using the interpolation method, the velocity trajectory of the center of mass of the humanoid robot during the take-off phase, as well as the vertical and horizontal trajectories of the humanoid robot's feet in the air are obtained, including: Using cubic polynomial interpolation or spline interpolation, a first constraint condition is set to obtain the velocity trajectory of the center of mass of the humanoid robot during the take-off phase; the first constraint condition is: within the take-off time, the take-off velocities of the center of mass in the x-direction and the z-direction at the moment of take-off are set respectively; Using quintic polynomial interpolation or spline interpolation, a second constraint is set to generate the vertical and horizontal trajectories of the robot's feet during the flight phase. The second constraint is as follows: the maximum height above the ground reached by the humanoid robot's feet during the ascent phase is set to be the sum of the vertical position of the humanoid robot's feet at the moment of liftoff and the height of the sole of the foot; the maximum height above the ground reached during the total time of the jump process is set to be the sum of the vertical position of the robot's feet at the moment of liftoff and the step height; the horizontal flight distance is the distance the center of mass jumps forward, or the distance the center of mass jumps forward plus a custom offset.

4. The humanoid robot dynamic jumping and balance control method according to claim 1, characterized in that: Taking the position, angular offset, linear velocity, and angular velocity of the robot's center of mass as state variables, and the ground contact force and ground contact torque as control variables, a model predictive control problem is constructed, including: The position, angular offset, linear velocity, and angular velocity of the robot's center of mass are taken as state variables, and the ground contact force and ground contact torque are taken as control variables to obtain the state space equation; The state space equations are discretized using the forward Euler method to obtain the discrete dynamic equations; With the goal of minimizing the errors between the process state, terminal state and desired trajectory, the model predictive control problem is obtained.

5. The humanoid robot dynamic jumping and balance control method according to claim 1, characterized in that: Construct a whole-body motion control model, input the ground reaction force and ground reaction torque into the whole-body motion control model, and use the desired end state and optimal ground reaction force to obtain the joint position, velocity, and torque, including: A whole-body dynamics model is established, and the ground reaction force and ground reaction torque are input into the whole-body motion control model; The kinematics of the whole-body dynamics model is solved, and the desired generalized coordinates, generalized velocity, and generalized acceleration are obtained through the null space projection method and inverse kinematics algorithm; The whole-body dynamics model is dynamically solved, and the joint moments are obtained based on the expected generalized coordinates and the optimal ground reaction force.

6. The humanoid robot dynamic jumping and balance control method according to claim 1, characterized in that: The control method further includes: The landing of the humanoid robot is detected by flight time, ground contact force, leg length change or knee joint angle change.

7. The humanoid robot dynamic jumping and balance control method according to claim 1, characterized in that: After the humanoid robot lands, the stride strategy includes: A multi-step stride strategy is adopted to switch the humanoid robot to a walking gait; the walking gait is a walking gait based on a spring-loaded inverted pendulum SLIP model; wherein, the end force vector of the supporting leg is calculated using the SLIP model, and then, according to the principle of virtual work, the transpose of the Jacobian matrix is multiplied by the end force vector to calculate the joint torque; the end trajectory of the swing leg is planned as a sine curve or a Bezier curve, and then the joint torque is solved by inverse dynamics; by setting the landing points in the forward direction and the lateral direction, the forward velocity generated by the forward jump and landing can be buffered, thereby achieving stable landing of the humanoid robot.

8. The humanoid robot dynamic jumping and balance control method according to claim 7, characterized in that: Setting the foothold in the forward and lateral directions includes: The landing point set in the stride strategy is selected according to the following formula: L f =K0+K p v+K d (vv d ) Where x f ,y f are the coordinates of the landing point, is the forward and sideways speed of the humanoid robot, are the desired forward and lateral velocities, K0, K p ,K d are coefficient matrices to be determined.

9. A humanoid robot dynamic jumping and balancing control system, used to implement the humanoid robot dynamic jumping and balancing control method according to any one of claims 1 to 8, characterized in that: The system comprises: The trajectory planning module plans the trajectory of the center of mass and the sole of the foot during the humanoid robot's jumping process by setting the center of mass jumping height, the height of the sole rising, the step height, and the distance the center of mass jumps forward as control variables; The model predictive control module models the humanoid robot as a single rigid body, uses the planned trajectory as the reference trajectory for model predictive control, takes the position, angular offset, linear velocity, and angular velocity of the robot's center of mass as state variables, and the ground contact force and ground contact torque as control variables, constructs a model predictive control problem, and transforms the model predictive control problem into a standard QP problem for solution to obtain the optimal ground reaction force and ground reaction torque; The whole-body motion control module builds a whole-body motion control model, inputs the ground reaction force and ground reaction torque into the whole-body motion control model, and uses the desired end state and optimal ground reaction force to obtain the joint position, velocity and feedforward joint torque; A joint motion control module controls the humanoid robot to perform jumping motion according to joint position, velocity, and joint torque; the joint torque is the sum of the feedforward torque and the feedback torque, and the feedback torque is calculated through proportional differential control; The landing balance control module adopts the stride strategy to achieve the landing stability of the humanoid robot after landing.

10. An electronic device comprising a memory and a processor, characterized in that: The memory is coupled to the processor; wherein the memory is used to store program data, and the processor is used to execute the program data to implement the humanoid robot dynamic jumping and balance control method according to any one of claims 1 to 8.

Citation Information

Patent Citations

  • Gait planning method of 3D (3 dimensional) underactuated biped robot jumping motion

    CN105599816A

  • Planning method for multi-joint cooperative explosive jump of humanoid robot

    CN110405763A

  • Continuous dynamic stable jumping control method for humanoid robot

    CN112859901A

  • Single-leg jumping motion control method and device, readable storage medium and robot

    CN115356920A