Walking control method for humanoid robot, humanoid robot, and storage medium
Patent Information
- Application Number
- CN202610795833.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-06-03
- Publication Date
- 2026-09-11
- Estimated Expiration
- 2046-06-03
AI Technical Summary
[0023] According to a third aspect of this application, a computer-readable storage medium is provided, on which a computer program is stored, which, when executed by a processor, implements the method described above.
Smart Images

Figure CN122331310B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robot control technology, specifically to a walking control method for humanoid robots, a humanoid robot, and a storage medium. More particularly, it relates to an improved whole-body control (WBC) method for walking control of humanoid robots. Background Technology
[0002] In recent years, with breakthroughs in sensor, computing power, and AI technologies, humanoid robots have been used in inspection, rescue, industrial, and home settings to perform complex maneuvers such as walking, running, and backflips. In the future, through continuous technological iteration, humanoid robots will continue to deeply integrate into human production and daily life.
[0003] The core objective of humanoid robot walking control methods is to achieve stable and efficient walking in complex environments. Therefore, although basic walking control has been achieved, further technological improvements are still needed in the field of humanoid robots to enable smoother, more stable, and more human-like walking. Summary of the Invention
[0004] In a first aspect of this application, a walking control method for a humanoid robot is provided, the method comprising: Step S1: Based on the support-swing walking model of the humanoid robot and the hierarchical zero-space method for whole-body control, determine the target task set corresponding to the leg state of the humanoid robot. The leg state includes a support state and a swing state. During the transition from the swing state to the support state, a first transition state is also included. The first transition state includes the landing and landing completed sub-states. During the transition from the support state to the swing state, a second transition state is also included. The second transition state includes the off-ground sub-state. Step S2: Calculate the first instruction to implement the target task set based on the hierarchical null space method of whole-body control (WBC); Step S3: Based on the first instruction, the dynamic model, and the dynamic constraints, construct a cost function, wherein the cost function includes a first cost term related to the acceleration of the floating base and a second cost term related to the foot contact force; Step S4: Optimize the cost function to obtain the instruction correction value; Step S5: Determine the second instruction based on the first instruction and the instruction correction value; Step S6: Determine the force output of the joints of the humanoid robot based on the second instruction.
[0005] This method introduces a transition state between the traditional support and swing states. Furthermore, the transition from the swing state to the support state includes a first transition state, comprising sub-states of landing and landing completion. The transition from the support state to the swing state also includes a second transition state, comprising a sub-state of being off the ground. This improvement solves the problem of abrupt control command changes caused by binary state switching in existing technologies. By introducing transition states, the control strategy of the humanoid robot is no longer a zero-sum game, but allows for smooth state transitions within a continuous time window.
[0006] By clearly defining sub-states, the control system can design differentiated and more precise control strategies for the unique physical characteristics of each stage (such as the establishment of contact force, the completion of center of gravity transfer, and the removal of ground force), achieving more delicate and smoother control over the transition process and further improving the smoothness and stability of the gait. This creates conditions for implementing smooth transition strategies at both the kinematic task planning and dynamic optimization levels, thereby avoiding shocks, swaying, and instability caused by state transitions during walking from the overall architecture perspective.
[0007] Preferably, the second transition state of the second leg occurs after the first transition state of the first leg.
[0008] This further technical feature clarifies the cooperative relationship of the bipedal humanoid robot's states during transitions. This feature ensures the symmetry and coordination of the gait. It ensures that the movements of the two legs are complementary during the walking cycle: as one leg gently lands, the other leg provides stable support, allowing for a smooth transition of the center of gravity. This clear correspondence is key to achieving a natural and efficient bipedal alternating gait.
[0009] Preferably, in the landing completed state of the first leg, both the first leg and the second leg perform support tasks.
[0010] This further feature allows the humanoid robot's center of gravity to transition more smoothly, further avoiding the risk of body torsion and instability that may be caused by uncoordinated leg movements.
[0011] Preferably, the cost function further includes a third cost term related to foot acceleration and a fourth cost term related to the acceleration of each joint. The variables to be optimized are: .
[0012] in, This is a correction term for the buoyancy base acceleration. This is a correction term for foot contact force. For the acceleration correction terms of each joint, This is a correction term for foot acceleration. , in, H Here is the positive definite coefficient matrix used to calculate the cost, each The matrix represents the weights of the corresponding cost terms and is positive definite. It is a vector consisting of the contact force and torque at the foot. It's about the quality of the humanoid robot. q It is the generalized coordinate system of humanoid robots. It is Coriolis. It is gravity. It is the force that acts directly on the joints of the humanoid robot. It is the transpose of the Jacobian matrix from the buoyancy base to the contact point. This refers to the friction cone constraint of the contacting foot. Here is the friction coefficient matrix. It is an upper limit constraint on the contact force. It is the upper limit of contact force. S This is the coefficient matrix for the upper limit of the contact force. The coordinates of the foot are in three-dimensional space. The Jacobian matrix at the foot of the foot. It is the second derivative of the robot's generalized coordinates q, excluding the 6-dimensional floating base pose and the 12-dimensional leg joint angles. It is the time derivative of the Jacobian matrix at the end of the robot's foot. It is the second derivative of the robot's floating base pose. It is the second derivative of the robot joint.
[0013] This technical solution expands the optimization variables from the traditional buoyancy acceleration and foot contact force to include foot acceleration and joint acceleration. Using foot acceleration as an optimization variable allows for explicit control of the smoothness of foot movement (e.g., reducing impact acceleration on flat ground), resulting in a smoother ground contact. Using joint acceleration as an optimization variable allows the WBC to directly and precisely adjust joint motion commands at the dynamic level, rather than solely relying on buoyancy acceleration and contact force. This dimensional expansion enables the search for optimal solutions that simultaneously satisfy task and physical constraints within a larger solution space, thereby generating better and smoother overall motion.
[0014] Preferably, in the grounded neutron state, the dynamic constraint boundary of the leg transitions linearly from the swing state constraint value to the support state constraint value over time, and in the airborne neutron state, the dynamic constraint boundary of the leg transitions linearly from the support state constraint value to the swing state constraint value over time.
[0015] In the transition state, the dynamic constraint boundaries (especially the upper and lower limits of the foot contact force) should adopt a linear transition strategy. This eliminates the fundamental shock of abrupt changes in constraint conditions at the switching point, which is common in traditional methods. In the grounded neutron state, the upper limit of the contact force smoothly increases from 0 to the target value in the supported state, and in the airborne neutron state, it smoothly decreases from the target value in the supported state back to 0. This linear change avoids command jumps and the resulting shocks caused by constraint abrupt changes, ensuring the smoothness of the output command.
[0016] Preferably, the cost function includes dynamically adjustable cost term weights corresponding to each cost term. In the grounded neutron state, the cost term weights of the leg cost function linearly transition from the swing state weight to the support state weight over time. In the airborne neutron state, the cost term weights of the leg cost function linearly transition from the support state weight to the swing state weight over time.
[0017] This further technical feature enables a smooth transition of control objectives. For example, during landing, the weight of the contact force correction term for the landing leg gradually decreases from very high, while the weights of other objectives (such as the joint acceleration correction term) gradually increase. This is equivalent to the controller gradually shifting its attention from one objective to another. This smooth transition of weights also makes state transitions smoother, further reducing the impact that may be caused by abrupt changes in the optimization objective.
[0018] Preferably, in the grounded neutron state, the end position tracking task of the leg is multiplied by a coefficient α, where α∈[0,1].
[0019] This technology proposes a specific softening scheme for layered zero-space tasks at the kinematic level. By multiplying the tracking task by a coefficient less than 1, it reduces the stringent requirement for the leg to reach the target quickly and accurately. This allows the humanoid robot's foot, after contacting the ground, to not mechanically and rigidly continue rushing towards the preset trajectory point, but instead, after sensing the ground reaction force, to continue descending at a slower and more compliant speed until it lands stably.
[0020] Preferably, in step S4, the cost function is optimized and solved using quadratic programming (QP).
[0021] Quadratic optimization (QP) is a common and effective method for handling convex quadratic optimization problems with linear equality and inequality constraints. The algorithm is mature and efficient. In this application, QP is employed to ensure that the optimal control command satisfying all physical constraints and performance requirements is quickly calculated within each control cycle, achieving real-time, high-performance control.
[0022] According to a second aspect of this application, a humanoid robot is provided, comprising: One or more processors; Memory, which stores computer program instructions; When the computer program instructions are executed by the one or more processors, the humanoid robot performs the method described above.
[0023] According to a third aspect of this application, a computer-readable storage medium is provided, on which a computer program is stored, which, when executed by a processor, implements the method described above.
[0024] The second aspect, the humanoid robot, and the third aspect, the computer-readable storage medium, can achieve similar technical effects to the control method of the first aspect. Attached Figure Description
[0025] The following figures include exemplary embodiments and should not be considered exclusive. The subject matter disclosed herein can be modified, altered, combined, and equivalent in form and function without departing from the scope of this disclosure.
[0026] Figure 1 This is a flowchart illustrating the switching of the leg walking state of a humanoid robot according to an embodiment of this application.
[0027] Figure 2 A flowchart of the humanoid robot walking control method of this application is shown.
[0028] Figures 3A-3D The control results obtained by applying the traditional WBC method are shown.
[0029] Figures 4A-4D The control results obtained by applying the improved WBC method according to this application are shown. Detailed Implementation
[0030] Currently, mainstream humanoid robot walking control methods are mainly divided into two categories: reinforcement learning-based methods and model-based methods. In model-based methods, control commands are generated through mathematical modeling and optimization calculations based on the humanoid robot's physical model (kinematics, dynamics). The physical model of this type of method has a clear meaning, strong interpretability, and does not require the long training time required for reinforcement learning methods. Within this category, one method is based on a dynamic walking paradigm of alternating support and swing. This paradigm abstracts bipedal walking as alternating single-leg hopping, where one leg is in a support state, responsible for supporting the body, providing propulsion, and maintaining balance, while the other leg is in a swing state, responsible for lifting, swinging forward, and preparing for the next support. This method focuses on dynamic balance, enabling fast and efficient walking, and is currently widely used.
[0031] In the support-swing dynamic walking paradigm, whole-body control (WBC) has become a core technology for achieving complex task execution and dynamic balance. A typical and widely adopted WBC control system employs a hierarchical structure. In the first layer, the kinematic task is solved using a hierarchical null space method to obtain the commands (usually command increments) for each joint. Tasks include, for example, tracking the end-effector position of the swing leg, maintaining the foot position of the support leg, and controlling the floating base posture. In the second layer, based on the joint commands calculated in the first layer, and combined with the humanoid robot's dynamic model and constraints, a constrained optimization problem (e.g., a quadratic programming problem) is constructed. The optimization variables in the cost function typically include corrections to the floating base acceleration and the foot contact force. These corrections are solved by minimizing the cost function while satisfying a series of dynamic constraints. Based on the joint commands calculated in the first layer and the corrections calculated in the second layer, the final joint commands are obtained.
[0032] While the combination of the aforementioned support-swing dynamic walking paradigm with whole-body control methods has been successful, the switching between the support leg and the swing leg states can cause shocks, swaying, and even instability in humanoid robots. On one hand, different hierarchical null space tasks need to be solved in the support and swing states; the change in state leads to a change in the task, thus introducing shocks during state switching. On the other hand, the dynamic constraints also change when switching between support and swing states; for example, the foot contact force may change from zero to a pre-set value, which will also cause abrupt changes in the solved commands, thus introducing shocks.
[0033] The impact caused by this state transition not only affects the smoothness and aesthetics (human-likeness) of walking, but also brings a series of negative effects. For example, the impact may cause fluctuations in body posture, increasing the risk of falling; frequent torque impacts will accelerate the wear of mechanical parts such as gears and bearings, and may even cause damage to the motor.
[0034] The improved control method for humanoid robot walking proposed in this application achieves a seamless and smooth transition between support and swing states by refining the walking state model and then synergistically improving the hierarchical zero-space method and dynamic optimization problem. This greatly eliminates the impact caused by state switching, making the humanoid robot's walking smoother and more stable.
[0035] First, the states of the humanoid robot's legs are refined from the traditional binary states (support / swing) to include transitional states. Specifically, in the method of this application, the legs include the following states: Supported position: The legs bear the body weight, and the feet are in contact with the ground.
[0036] Swinging state: The legs leave the ground and move in the air along a planned trajectory.
[0037] Transitional state: A state between support and oscillation. Preferably, the transitional state also includes the following three sub-states: During landing: The tip of the swinging leg gradually begins to touch the ground, but stable support has not yet been fully established. This is the process of the leg establishing contact from no contact.
[0038] Landing complete: The foot of the swinging leg has made stable contact with the ground and begins to bear the body weight. This is a transitional period in which both feet support the weight and the center of gravity shifts.
[0039] During lift-off: The supporting leg begins to gradually leave the ground, but has not yet completely left. This is the process of the leg switching from contact to no contact.
[0040] Figure 1 This is a flowchart illustrating the switching of the leg walking state of a humanoid robot according to an embodiment of this application. Figure 1 As shown, for a typical bipedal walking cycle 100, taking the first leg supporting the second leg swinging in step 101 as an example, the state evolves in the following order: in step 102, the transition from the first leg supporting the second leg begins. During this transition, in step 1021, the second leg is in the grounding state. Then, in step 1022, the second leg is in the completed grounding state. Then, in step 1023, the first leg becomes the airborne state. Finally, in step 103, the state switch is completed, that is, it becomes the state of the second leg supporting the first leg swinging.
[0041] During this process, while one leg is in the landing and landing completion sub-states, the other leg is in a supporting state. In the landing completion sub-state, both legs perform the supporting task. Afterward, the other leg begins to leave the ground and enters the off-ground neutron state. Therefore, the entire transition state can include a first transition state, which includes the landing and landing completion sub-states of one leg, and a second transition state, which includes the off-ground neutron state of the other leg.
[0042] Based on the transition states introduced above, specific task sets are defined for each state / substate. In the full-support or swinging state, the usual tasks are performed. In the transition states, for the legs in the landing substate, the tasks performed, such as end-effector position tracking, are softened. For example, the calculated desired foot position increment is multiplied by a coefficient α, where 0 < α < 1. This causes the leg to gently continue its descent after contact with the ground, rather than forcibly and rapidly rushing towards the target point, allowing the ground reaction force to build up gradually. In the landing completion substate, both legs simultaneously perform support tasks, such as foot position maintenance. At this time, both legs are considered to be in contact with the ground. The associated task Jacobian matrix is expanded to include both legs, ensuring that the overall kinematic constraints of the humanoid robot are satisfied during the bipedal support phase.
[0043] In traditional methods, the basic dynamic model of a humanoid robot can be described by the following equation: .
[0044] in, It's about the quality of the humanoid robot. q In humanoid robotics, coordinates are generalized coordinates. Generally, for a humanoid robot with n degrees of freedom, q Includes 6-dimensional floating base pose and n-dimensional joint angles. It is Coriolis. It is gravity. , These are the external forces acting directly on the floating base and the output forces of each joint of the humanoid robot, respectively. It is the transpose of the Jacobian matrix from the buoyancy base to the contact point. It is a vector consisting of the contact force and torque at the foot. The above equation is also known as the Newton-Euler equation for humanoid robots.
[0045] In a standard WBC optimization task, the variable to be optimized is defined as follows: (Floating base acceleration correction term) and (Foot contact force correction term), then: .
[0046] In the above formula, These are the target accelerations at each joint calculated using the WBC null space solution. It is the target value of foot contact force given by a higher-level algorithm. The dimension is n where the element is 0. j Column vectors. It is the second derivative of q.
[0047] Define the cost function: .
[0048] in, The positive definite weighted matrices are the foot contact force correction term and the floating base acceleration correction term, respectively. Combined with the friction cone constraint of foot contact, the upper and lower limits of foot contact force, and the Newton-Euler equations of the humanoid robot, the following optimization problem is constructed: .
[0049] In the constraints That is, the friction cone constraint of the contacting foot, which is the inequality that the frictional force of the contacting foot in the xy direction must satisfy. This is the friction coefficient matrix, whose values vary depending on the contact state of the feet with the ground.
[0050] In the constraints It is an upper limit constraint on the contact force. It is a vector representing the upper limit of the contact force, which varies depending on the contact state of the feet. S This is the coefficient matrix for the upper limit of the contact force.
[0051] Solving this optimization problem yields the corrected buoyancy acceleration and foot contact force, which can then be used to calculate the output force of each joint via the Jacobian matrix.
[0052] In this application, based on the general method described above, the acceleration correction for each joint of the leg is added to the constraint variables. acceleration of the feet of both legs That is, the cost function also includes a third cost term related to the acceleration of each joint and a fourth cost term related to the foot acceleration, thus expanding the variables to be optimized as follows: .
[0053] Therefore, the cost function becomes: .
[0054] in, H Here is the positive definite coefficient matrix used to calculate the cost, each The matrix represents the corresponding cost weights. The matrix is positive definite, and changing its value can achieve different tendencies. This is the weight matrix for the leg joint acceleration correction term. This is the weight matrix for the leg and foot acceleration correction term.
[0055] The newly added variables also have dynamic constraints. Assume the three-dimensional spatial coordinates of the foot are... The velocity at the foot is the derivative of position with respect to time, i.e. Let the Jacobian matrix at the foot be... According to humanoid robot kinematics, it is obvious that .
[0056] Differentiating both sides with respect to time yields .
[0057] Therefore, the optimization problem after dimension expansion is as follows: .
[0058] The above Regarding the original problem Further breakdown by dimension is actually all within the original Newton-Euler equations. . It is the second derivative of the robot's generalized coordinate q, excluding the 6-dimensional floating base pose and the 12-dimensional leg joint angles. It may vary depending on the robot's structure. The other dimensions generally refer to the joint angles of the head, hands, and waist. It is the time derivative of the Jacobian matrix at the end of the robot's foot. It is the second derivative of the robot's floating base pose. It is the second derivative of the robot joint.
[0059] In the expanded-dimensional QP optimization problem, different values are selected for the weights and boundary values of the constraints in the cost function. For example, the weight matrix of the cost function and the boundary values of the constraints are no longer fixed values, but functions of the current state, meaning they can change dynamically according to the state.
[0060] During the transition states, the parameters of the relevant legs are linearly interpolated between the target values of the old state's target task set and the target values of the new state's target task set. For example, in the right leg landing neutron state, the parameters of the right leg linearly transition from the target value of the swing leg task set to the target value of the supporting leg task set over time. In the left leg off-ground neutron state, the parameters of the left leg linearly transition from the target value of the supporting leg task set to the target value of the swing leg task set over time. In the landing completion sub-state, the parameters of both legs may be set as some weighted average of the supporting and swinging states, or as a separate dual-support task set.
[0061] This interpolation ensures that the mathematical description of the task set changes continuously throughout the entire time window of the state transition, and therefore the solution also changes continuously, thus ensuring the smoothness and shocklessness of its instructions.
[0062] Furthermore, in terms of constructing the cost function, the cost function includes dynamically adjustable cost term weights corresponding to each cost term. Specifically, in the grounded neutron state, the weight of the cost term in the cost function of the legs transitions linearly from the weight of the swinging state to the weight of the supporting state over time. In the airborne neutron state, the weight of the cost term in the cost function of the legs transitions linearly from the weight of the supporting state to the weight of the swinging state over time.
[0063] In solving the optimization problem, dynamic constraints also need to be considered to ensure that each solution does not exceed the constraint values. Specifically, in the grounded neutron state, the dynamic constraint boundary of the legs transitions linearly from the swinging state constraint value to the supporting state constraint value over time. In the airborne neutron state, the dynamic constraint boundary of the legs transitions linearly from the supporting state constraint value to the swinging state constraint value over time.
[0064] By subdividing the transition states as described above, and by using linear interpolation for task, cost term weights, and dynamic constraints, the impact is minimized, ensuring smooth movement of the humanoid robot.
[0065] Figure 2 A flowchart of the humanoid robot walking control method 200 of this application is shown. Method 200 begins at step 201, where, based on the humanoid robot's support-swing walking model and the hierarchical null-space method of whole-body control, a set of target tasks corresponding to the humanoid robot's leg states is determined. The leg states include a support state and a swing state. During the transition from the swing state to the support state, a first transition state is also included, comprising sub-states of landing and landing completion. During the transition from the support state to the swing state, a second transition state is also included, comprising a sub-state of being off the ground. Next, at step 202, based on the hierarchical null-space method of whole-body control (WBC), a first instruction to implement the target task set is calculated. At step 203, based on the first instruction, the dynamic model, and dynamic constraints, a cost function is constructed, comprising a first cost term related to the buoyancy acceleration and a second cost term related to the foot contact force. At step 204, the cost function is optimized to obtain instruction correction values. In step 205, a second instruction is determined based on the first instruction and the instruction correction value. This second instruction corresponds to the final execution instruction. Finally, in step 206, the output force of the humanoid robot's joints is determined based on the second instruction.
[0066] Figures 3A-3D and Figures 4A-4D The control results obtained by the traditional two-state WBC method and the control results obtained by applying the improved WBC method of this application are shown respectively when walking on the same ground at the same speed.
[0067] In the traditional two-state WBC method, Figure 3A Around 0.6s and 1.5s, when the left leg switches from swinging to landing, the position of the left foot is immediately fixed, that is, the height in the z direction remains unchanged. Figure 3BAround 1.0s and 1.9s, the same result was observed at the moment the right leg switched from swinging to landing. This is because, after determining the switching of the supporting leg, the traditional two-state WBC method immediately identifies the current leg as the ground-touching leg and uses it as a reference to calculate the pose of the humanoid robot's floating base. Therefore, after determining landing, the Z-axis height of the original swinging leg immediately remains fixed. This approach may result in the swinging leg being identified as the reference point before it has fully touched the ground, which could lead to the humanoid robot's feet hitting the ground in practical applications.
[0068] In addition, such as Figure 3C As shown, the solid line represents the estimated contact force of the left foot, and the dotted line represents the estimated contact force of the right foot. Figure 3D Solid lines represent the state of the two legs (0 indicates the left leg supports the right leg while it swings, and 1 indicates the right leg supports the left leg while it swings), and dashed lines represent the phase of the swinging leg.
[0069] like Figure 3C As shown, at the moment the swing leg lands, there are significant and violent fluctuations in the contact force between the two legs and the ground. This indicates that under the traditional two-state WBC algorithm, the landing of the two legs lacks cushioning, the take-off is too abrupt, and there is a lack of reasonable determination of whether the landing is stable.
[0070] on the other hand, Figures 4A-4D The control results after applying the improved WBC method of this application are shown. The meanings of each figure are as follows: Figures 3A-3D The similarities are obvious, so I won't elaborate further. It's just that... Figure 4D The timing sequence adds two transition states: 3 (transition from left leg support to right leg support) and 4 (transition from right leg support to left leg support). The transition states also include the aforementioned states of landing, landing completed, and neutron off the ground.
[0071] like Figure 4A 0.6s and 1.6s and Figure 4B As shown at 0.1s and 1.1s, the position of the two feet is no longer locked at the moment of landing. Instead, there is a descent first, and then a gradual stabilization. During this process, the height of the feet is not locked.
[0072] At the same time, from Figure 4C As can be seen, with Figure 3C In comparison, the estimated contact forces of the two legs show significantly reduced fluctuations and oscillations upon landing, with an overall slower change. Furthermore, it can be noted that during the landing of one leg, the estimated contact force of the other leg no longer fluctuates drastically from a large value to near zero, but rather exhibits a relatively smooth decrease.
[0073] In the improved WBC algorithm of this application, a transition phase including sub-states such as landing, landing completion, and takeoff is added between the support / swing transition. During this transition phase, the original swinging leg continues to slowly descend and then returns to its original position. This descent-return motion more closely resembles the movement of a normal human walking, helps the foot to better contact the ground, and serves as a reference point for pose estimation after contact with the ground, reducing pose estimation errors / jumps. Simultaneously, it can be observed that the oscillation fluctuations of the contact force between the two legs are significantly reduced during the support / swing transition.
[0074] Experimental data fully demonstrates that this application, through a combination of state refinement, task softening, QP dimension expansion, and parameter smoothing transition, effectively eliminates the force and motion impact during support / swing switching, achieving a truly smooth gait transition. The subjective visual experience of the humanoid robot's walking also changes from a stiff, jumping sensation to a smooth stride, significantly improving walking stability and anthropomorphism.
[0075] This application addresses the shortcomings of traditional WBC control for humanoid robots, which generates shocks during state transitions, and proposes an effective solution. First, it begins with refined state modeling, providing a logical foundation for smooth control. Building upon this, it softens the kinematic task, thereby expanding the dimension of the dynamic QP problem. Finally, it introduces a smooth transition mechanism for state-related QP parameters. These four interconnected steps work together to ultimately achieve smooth changes in joint output force and foot contact force.
[0076] This method is not only applicable to humanoid bipedal robots, but its technical concept can also be extended to control scenarios such as gait switching of quadrupedal and multi-legged robots, and has broad application prospects.
[0077] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.
Claims
1. A walking control method for a humanoid robot, the method comprising: Step S1: Based on the support-swing walking model of the humanoid robot and the hierarchical zero-space method for whole-body control, determine the target task set corresponding to the leg state of the humanoid robot. The leg state includes a support state and a swing state. During the transition from the swing state to the support state, a first transition state is also included. The first transition state includes the landing and landing completed sub-states. During the transition from the support state to the swing state, a second transition state is also included. The second transition state includes the off-ground sub-state. Step S2: Based on the hierarchical null space method of whole-body control, calculate the first instruction to realize the target task set; Step S3: Based on the first instruction, the dynamic model, and the dynamic constraints, construct a cost function, wherein the cost function includes a first cost term related to the acceleration of the floating base and a second cost term related to the foot contact force; Step S4: Optimize the cost function to obtain the instruction correction value; Step S5: Determine the second instruction based on the first instruction and the instruction correction value; Step S6: Determine the force output of the humanoid robot's joints based on the second instruction. Specifically, in the grounded neutron state, the dynamic constraint boundary of the legs linearly transitions from the swinging state constraint value to the supporting state constraint value over time; in the airborne neutron state, the dynamic constraint boundary of the legs linearly transitions from the supporting state constraint value to the swinging state constraint value over time. The cost function includes dynamically adjustable cost term weights corresponding to each cost term. In the grounded neutron state, the cost term weights of the leg cost function linearly transition from the swing state weight to the support state weight over time. In the airborne neutron state, the cost term weights of the leg cost function linearly transition from the support state weight to the swing state weight over time.
2. The method according to claim 1, characterized in that, The second transition state of the second leg occurs after the first transition state of the first leg.
3. The method according to claim 2, characterized in that, When the first leg has landed and is in the completed sub-state, both the first leg and the second leg perform support tasks.
4. The method according to claim 1, characterized in that, The cost function also includes a third cost term related to foot acceleration and a fourth cost term related to the acceleration of each joint. The variables to be optimized are: in, This is a correction term for the buoyancy base acceleration. This is a correction term for foot contact force. For the acceleration correction terms of each joint, This is a correction term for foot acceleration. The optimization objective, i.e., the cost function, is: , in, H Here is the positive definite coefficient matrix used to calculate the cost, each The matrix represents the weights of the corresponding cost terms and is positive definite. It is a vector consisting of the contact force and torque at the foot. It's about the quality of the humanoid robot. q It is the generalized coordinate system of humanoid robots. It is Coriolis. It is gravity. It is the force that acts directly on the joints of the humanoid robot. It is the transpose of the Jacobian matrix from the buoyancy base to the contact point. This refers to the friction cone constraint of the contacting foot. Here is the friction coefficient matrix. It is an upper limit constraint on the contact force. It is the upper limit of contact force. S This is the coefficient matrix for the upper limit of the contact force. The coordinates of the foot are in three-dimensional space. The Jacobian matrix at the foot of the foot. It is the second derivative of the robot's generalized coordinates q, excluding the 6-dimensional floating base pose and the 12-dimensional leg joint angles. It is the time derivative of the Jacobian matrix at the end of the robot's foot. It is the second derivative of the robot's floating base pose.
5. The method according to any one of claims 1-4, characterized in that, In the grounded neutron state, the end-effector position tracking task is multiplied by a coefficient α, where α ∈ [0, 1].
6. The method according to any one of claims 1-4, characterized in that, In step S4, the cost function is optimized and solved using quadratic programming (QP).
7. A humanoid robot, comprising: One or more processors; Memory, which stores computer program instructions; When the computer program instructions are executed by the one or more processors, the humanoid robot performs the method as described in any one of claims 1 to 6.
8. A computer-readable storage medium having a computer program stored thereon, the computer program implementing the method as described in any one of claims 1 to 6 when executed by a processor.
Citation Information
Patent Citations
Walking control method and device of biped robot and biped robot
CN113031579A
Foot type robot planning and control method and device, robot and storage medium
CN117572768A