Next Article in Journal
Multi-Humanoid Robot Arm Motion Imitation and Collaboration Based on Improved Retargeting
Next Article in Special Issue
Optimization of Structural Parameters and Mechanical Performance Analysis of a Novel Redundant Actuation Rehabilitation Training Robot
Previous Article in Journal
Bonding Protocols for Lithium Disilicate Veneers: A Narrative Review and Case Study
Previous Article in Special Issue
Adaptive Disturbance Rejection Motion Control of Direct-Drive Systems with Adjustable Damping Ratio Based on Zeta-Backstepping
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Robust Disturbance Rejection Whole-Body Control Framework for Bipedal Robots Using a Momentum-Based Observer

State Key Laboratory of Robotics and System, Harbin Institute of Technology, Harbin 150080, China
*
Authors to whom correspondence should be addressed.
Biomimetics 2025, 10(3), 189; https://doi.org/10.3390/biomimetics10030189
Submission received: 8 February 2025 / Revised: 13 March 2025 / Accepted: 17 March 2025 / Published: 19 March 2025
(This article belongs to the Special Issue Recent Advances in Robotics and Biomimetics)

Abstract

:
This paper presents a complete planner and controller scheme for bipedal robots, designed to enhance robustness against external disturbances. The high-level planner utilizes model predictive control (MPC) to optimize both the foothold location and step duration based on the divergent component of motion (DCM) to increase the robustness of generated gaits. For low-level control, we employ a momentum-based observer capable of estimating external forces acting on both stance and swing legs. The full-body dynamics, incorporating estimated disturbances, are integrated into a weighted whole-body control (WBC) to obtain more accurate ground reaction forces needed by the momentum-based observer. This approach eliminates the dependency on foot-mounted sensors for ground reaction force measurement, distinguishing our method from other disturbance estimation methods that rely on direct sensor measurements. Additionally, the controller incorporates trajectory compensation mechanisms to mitigate the effects of external disturbances. The effectiveness of the proposed framework is validated through comprehensive simulations and experimental evaluations conducted on BRUCE, a miniature bipedal robot developed by Westwood Robotics (Los Angeles, CA, USA). These tests include walking under swing leg disturbances, traversing uneven terrain, and simultaneously resisting upper-body pushes.

1. Introduction

Legged robots, owing to their exceptional adaptability to complex terrains, demonstrate significant potential for diverse practical applications. In recent years, legged robots like quadrupeds and bipeds have received considerable research attention. Quadrupedal robots, for instance, Boston Dynamics’ Spot and Unitree’s B2, have successfully been deployed in industrial environments. However, the practical implementation of bipedal robots remains limited. During real-world operations, bipedal robots are inevitably subjected to various external disturbances, including impulsive forces, environmental collisions, and dynamic load variations. These disturbances may lead to trajectory deviations and, in severe cases, loss of stability. As a result, the development of robust disturbance rejection capabilities is crucial for ensuring stable bipedal locomotion in practical applications.
To date, most model-based locomotion control strategies are implemented by solving an optimal control problem [1]. However, because the bipedal system is high-dimensional, hybrid, nonlinear, and highly constrained, solving this problem in real time remains computationally intractable. Consequently, most approaches break down the problem into multiple stages, employing either abstract models or full dynamic models at each stage. While this hierarchical approach sacrifices global optimality, it enables real-time implementation [1,2,3]. A widely adopted framework employs a two-level hierarchical structure, where the high-level plans the footsteps and the low level optimizes the contact forces [4,5,6].
The high-level planner aims to generate trajectories in real-time, usually adopting abstract models such as the linear inverted pendulum model (LIPM) [7,8]. Kajita et al. [9] developed a preview control approach to generate center of mass (CoM) trajectory. Their method solved a discrete-time, infinite-horizon linear quadratic regulator (LQR) problem based on LIPM. Wieber [10] enhanced the preview control by using a linear MPC scheme, which is capable of handling inequality constraints, including stability bounds and reachability limits. The MPC and LIPM frameworks can be extended to generate other trajectories, like footstep [11] and CoM height trajectories [12]. Further developments revealed that the LIPM dynamics can be divided into stable and unstable components. Therefore, the controller can only consider the unstable parts, known as DCM [13]. Additionally, researchers recognized the potential benefits of variable step durations. Khadiv et al. [14,15] demonstrated this through their work on simultaneous optimization of landing positions and step durations using the DCM model, showing that timing adjustment can enhance robustness.
For the low-level controller, there has been a convergence among many researchers working with torque-controlled bipeds, formulating the controller as a quadratic program (QP) [3,4,16,17]. This QP formulation optimizes joint torques, joint accelerations, contact wrenches, and angular momentum simultaneously, enabling the execution of multiple tasks while satisfying system dynamics and contact force constraints. The key advantage of this method is that it provides a strict hierarchy, which guarantees each tasks resolved in order. Depending on how the task hierarchy is managed, QP-based WBC can be classified into two main categories. The weighted WBC scheme sets all operational tasks as objectives of a single QP with priorities implicitly being enforced with weights [3]. The null space projection WBC method achieves a strict task hierarchy by projecting the lower priority tasks into the null space of higher priority tasks [18].
Robustness against external disturbances in legged robots has been extensively studied in recent years. Current approaches can be broadly categorized into two main types. The first category relies on state feedback to adjust control strategies, including joint-specific torque compensation [19,20], foot force planning [21,22], and support configuration adjustment through step-taking [23,24]. However, these methods lack precise external disturbance estimation; therefore, their effectiveness in resisting larger external disturbances is limited [25]. The second category employs momentum-based observer to estimate external disturbance. For example, Englsberger et al. [26] developed a momentum-based disturbance observer, enabling the TORO robot to withstand external disturbances equivalent to 15% of its body weight in simulations. Focchi et al. [27] further extended this algorithm to angular cases by estimating the complete wrench at CoM and implemented it on the HyQ quadruped robot. Nevertheless, these momentum-based methods typically require additional force sensors mounted on the robot’s feet, making them incompatible with many robotic platforms such as BRUCE.
With respect to the literature review depicted above, this paper aims to proposes a novel control framework that addresses two critical limitations in existing approaches: (1) the dependency on force sensors for external disturbance resistance and (2) the lack of integration between robust planning and control methods. The proposed framework comprises three key components. First, a high-level planner utilizes MPC to optimize both the foothold location and step duration based on the DCM to enhance the robustness of generated gaits. Second, a momentum-based observer estimates disturbances acting on both stance and swing legs. Third, a weighted WBC incorporates full-body dynamics with the estimated disturbances to compute more accurate ground reaction forces required for the observer. Moreover, WBC compensates for the estimated disturbance effects on each task.
Zhu et al. [25] also employed a disturbance observer to estimate external disturbance without requiring additional force sensors on the robot’s feet and performed online disturbance compensation within the WBC. However, their method only estimates the external disturbance on CoM, which is similar to estimating disturbances on the stance leg [28]. While estimating external wrenches acting solely on the CoM can improve locomotion robustness on uneven terrain, it fails to prevent the robot from falling after severe impact to the swing leg. Morlando et al. [28] estimated disturbances for both stance and swing legs and compensated for external forces acting on both legs. However, their method requires force sensors on the robot’s feet. In addition, we adopt a different planning method, which use MPC to plan both step locations and durations, further enhancing robustness.
This paper is organized as follows. Section 2 presents the mathematical derivation of the momentum-based observer. Section 3 introduces whole control scheme, including the footstep planner and weighted WBC method. Section 4 presents the simulation and experimental results of the control scheme applied on BRUCE. In the end, conclusions and discussion are provided in Section 5.

2. Momentum-Based Observer for Disturbance Estimation

In this section, the dynamics model of a biped robot is first presented for momentum-based observer design purposes. Afterward, the momentum-based observer, which estimates disturbances acting on both the stance and swing legs, is introduced.

2.1. Dynamic Model

To effectively demonstrate the impact of external forces perceived by the momentum-based observer, we establish a floating base dynamics model for bipedal robots. This model typically consists of a free-floating base with two legs, which effectively captures the influence of external forces on both the support leg and the swing leg. Let { C } denote the frame attached to the robot’s CoM. The free-floating base is connected to the fixed world frame { W } through six virtual joints, resulting in six degrees of freedom. Virtual joints, unlike the joints in the legs, do not physically exist and have no actual rotational axes. They are introduced to describe the position and posture of the robot’s upper body, allowing the joint values to serve as generalized coordinates for describing the robot’s upper body configuration. A frame { B } is attached to the floating base to represent its position and orientation. Additionally, two legs are connected to the floating base, adding 2 n degrees of freedom to the bipedal robot, where n > 0 represents the number of joints in each leg. Figure 1 illustrates the biped robot and its corresponding coordinate frames.
Let x b = [ x b , y b , z b ] T R 3 , x ˙ b , x ¨ b R 3 denote the position, velocity, and acceleration of the origin of frame { B } relative to the frame { W } , respectively. Similarly, ω b , ω ˙ b R 3 represent the angular velocity and angular acceleration of frame { B } relative to frame { W } , respectively. Additionally, variables are defined to describe the position of CoM: x c = [ x c , y c , z c ] T R 3 , x ˙ c , x ¨ c R 3 denote the position, velocity, and acceleration of the origin of frame { C } relative to { W } , respectively. ω c , ω ˙ c R 3 are the angular velocity and angular acceleration of frame { C } relative to { W } , respectively. The orientation of frame { B } relative to { W } is described by the rotation matrix R b SO ( 3 ) , from which the ZYX Euler angles ϕ R 3 can be derived.
When the floating base frame { B } ’s coordinates and joint space coordinates are utilized as generalized coordinates, the dynamics of the robot can be expressed as follows:
M ¯ x ¨ b ω ˙ b q ¨ + C ¯ x ˙ b ω b q ˙ + G ¯ = 0 0 τ joint + τ ee + τ ext
where M ¯ , C ¯ , and  G ¯ are the inertia matrix, Coriolis and centrifugal force matrix, and gravity matrix, respectively, all expressed in frame { B } . q , q ˙ , q ¨ R 2 n represent the joint positions, velocities, and accelerations of the legs, respectively. τ joint R 2 n denotes the joint torques of the legs, τ ee represents the generalized external forces due to ground reaction forces on the support leg, and  τ ext represents the generalized external forces due to external disturbances.
For τ ee , it can be expressed as follows:
τ ee = i = 1 n e e I 0 x ^ b i I J ¯ i T F i
where n e e is the number of contact end-effectors. The bipedal robot has two feet as contact end-effectors, so n e e = 2 . J ¯ i is the Jacobian matrix of the contact end-effector with dimensions R 6 × ( 2 n + 6 ) . x b i is the offset of the end-effector frame { T } i relative to frame { B } , given by x b i = x i x b . The hat operator can turn a vector a R 3 into a 3 × 3 skew symmetric matrix such that a ^ b = a × b b R 3 . F i is the wrench applied to the contact end-effector.
According to [29], using the position and orientation of the CoM frame as generalized coordinates, as opposed to those of the base frame, simplifies the dynamics model of the floating base robot and facilitates the direct control of the CoM. The transformation between the generalized coordinates using the CoM frame’s coordinates and those using the floating base frame’s coordinates is given by the following:
x ˙ c ω c q ˙ = I x ^ b c J b c 0 I 0 0 0 I x ˙ b ω b q ˙ = T ¯ x ˙ b ω b q ˙
where x b c is the relative position deviation of the CoM with respect to the frame { B } expressed in frame { W } , and  J b c is the Jacobian matrix of the position deviation x b c .
Thus, the dynamics equation expressed with the CoM frame’s coordinates, as in [30], is obtained as follows:
m I 0 0 0 M 11 M 12 0 M 21 M 22 M x ¨ c ω ˙ c q ¨ ν ˙ + C 1 C 2 C 3 C x ˙ c ω c q ˙ ν + m g 0 0 G = 0 0 τ joint + T ¯ T ( τ ee + τ ext )
The transformed inertia matrix and Coriolis matrix are given by M = T ¯ T M ¯ T ¯ 1 and C = T ¯ T C ¯ T ¯ 1 + T ¯ T M ¯ T ¯ ˙ 1 , respectively. The scalar m represents the total mass of the bipedal robot, and  g R 3 is the gravitational acceleration vector. The first row of the equation corresponds to Newton’s law of motion, which governs the translational dynamics of the system’s CoM. The second row describes the rotational dynamics of the CoM frame, establishing the relationship between its angular acceleration and external forces. The third row models the internal motion of the multi-body system, specifically formulating the dynamics of the leg joint accelerations q ¨ [30]. When the leg inertia is small, M 12 , M 21 , C 1 , and  C 2 can be approximated as zero, meaning the Coriolis and centrifugal forces, due to the coupling between the leg motion and the CoM, can be neglected [28].
The simplified dynamics equation is expressed as follows:
M com 0 6 × 2 n 0 2 n × 6 M q x ¨ c ω ˙ c q ¨ + 0 0 C q + m g 0 0 = S T τ + J st T f gr + J ext T f ext
where S = [ 0 2 n × 6 I 2 n ] is the selection matrix for joint torques. J st ( q ) = [ J st , com ( q ) J st , j ( q ) ] R ( 3 × n c ) × ( 6 + 2 n ) is the Jacobian matrix of the ground reaction force application points, mapping the ground reaction forces to the accelerations of the CoM and leg joints. Here, 0 n c 4 is the number of contact points. For the BRUCE robot, each foot has two contact points (toe and heel), resulting in a maximum of four contact points. f gr represents the ground reaction forces. J ext ( q ) = [ J ext , com ( q ) J ext , j ( q ) ] R ( 3 × 4 ) × ( 6 + 2 n ) is the Jacobian matrix of the external disturbance application points, mapping the external disturbances to the accelerations of the CoM and leg joints. f ext = [ f sw , ext T ,   f st , ext T ] T represents the external disturbances, including those acting on the support leg and swing leg. The last term can be expressed as J ext T f ext = [ J sw T ( q ) J st T ( q ) ] T f ext .

2.2. Momentum-Based Observer Design

The proposed observer utilizes the momentum of both the support leg and the swing leg to estimate external disturbance on both legs. Our method is different from [27], which used only the momentum at the CoM to estimate external disturbances acting on the CoM. While estimating external wrenches acting only on the CoM can enhance locomotion robustness on uneven terrain, it fails to prevent the robot from falling after severe impact to the swing leg. Such impacts can cause the swing foot to deviate from its desired trajectory, potentially leading to missed footholds or even complete failure to touch the ground, resulting in a fall. Thus, our observer addresses a broader range of scenarios compared to methods focused solely on CoM disturbances.
During the dynamic modeling process, the dynamics equations (Equation (5)) of the robot’s CoM and leg joints have been decoupled, allowing the generalized momentum of the legs to be separately derived as follows:
k = M q q ˙
Based on the fundamental properties of the robot’s inertia matrix [31], we have the following:
M ˙ q = C q T + C q
Differentiating Equation (6) and combining it with Equation (7), then substituting into Equation (5), yields the time derivative of the generalized momentum as follows:
k ˙ = C q T q ˙ + τ + J st , j T f gr + J ext , j T f ext
Let f ^ represent the estimate of f ext . Then, F ^ = J ext , j T f ^ and F ext = J ext , j T f ext denote the estimated and actual generalized joint torques due to external disturbances, respectively. The estimated generalized momentum is given by the following:
k ^ ( t ) = 0 t C q T q ˙ + τ + J st , j T f gr + F ^ ( σ ) k ^ ˙ d σ
Here, the initial estimated generalized momentum is assumed to be zero. Then, the estimated generalized external force is derived as follows:
F ^ = K 1 k ( t ) 0 t k ^ ˙ ( σ ) d σ
where K 1 is a positive definite diagonal matrix containing the gains. Combining Equations (8) and (10), the observer dynamics can be expressed as follows:
F ^ ˙ = K 1 F ext F ^
According to [32], a second-order dynamic model can better attenuate the effects of high-frequency noise (e.g., introduced by both the IMU sensor and the joint velocity measurements), thereby improving the observer’s estimation accuracy. To achieve more accurate external force estimation, we extended this first-order dynamic model to an arbitrary-order observer dynamics model through the following iterative equation:
γ i ( t ) = K i 0 t F ^ ( σ ) + γ i 1 ( σ ) d σ , i = 2 , , r
Here, F ^ = γ r , where r > 0 is the order of the estimator. γ 1 ( t ) is obtained from Equation (10). When F ext , F ^ , and  γ i ( t ) satisfy the Laplace transform conditions, the Laplace-transformed forms of Equations (11) and (12) are expressed as follows:
s γ 1 ( s ) = K 1 F ext ( s ) F ^ ( s ) s γ i ( s ) = K i F ^ ( s ) + γ i 1 ( s ) , i = 2 , , r
where s is the complex variable in the Laplace domain. The yields are rearranged as follows:
F ^ ( s ) = γ r ( s ) = i = 1 r K i i = 0 r s i j = i + 1 r K j F ext ( s )
Here, matrix division refers to the element-wise division of corresponding diagonal elements. Thus, the estimated generalized external force is linearly related to the actual generalized external force in the Laplace domain, with the following transfer function:
G ( s ) = i = 1 r K i i = 0 r s i j = i + 1 r K j = K 1 K 2 K r s r + K r s r 1 + + K r K 2 s + K r K 1
where G ( s ) C 2 n × 2 n is a diagonal matrix. The i-th diagonal element of G ( s ) is expressed as follows:
G i ( s ) = k 1 i k 2 i k r i s r + k r i s r 1 + + k r i k 2 i s + k r i k 1 i
where k j i , j = 1 r , is the i-th diagonal element of matrix K j . k 1 i k 2 i k r i > 0 represents the gain of the observer, and when j r k j i , j = 1 r are coefficients of a Hurwitz polynomial, the stability of the estimator is guaranteed. The selection of r involves a trade-off between ideal estimation error and computational time, as a higher value of r results in increased computation time. The selection of K i is determined by two factors: ensuring the stability of Equation (16) and optimizing performance metrics such as overshoot, rise time, observation error, and other effects.
In practical implementation, the integrals in Equations (10) and (12) are discretized to enable real-time updates of F ^ . Based on the estimated generalized external force, the estimated external force acting on the feet can be derived as follows:
f ^ = J ext , j T F ^
where J ext , j T is the pseudo-inverse of J ext , j T .

3. Control Framework

This section introduces the robust disturbance rejection control framework for bipedal robots. The control framework consists of an high-level planner and a lower-level controller. The high-level planner utilizes the planner in our previous work [33]. The lower-level controller employs a weighted WBC scheme, which derives ground reaction forces for the momentum-based observer and compensates for the estimated disturbance effects on each task. The overall control scheme proposed in this paper is illustrated in Figure 2.
In our previous work [33], we proposed a balance and walking control scheme for bipedal robots, which utilized the same high-level planner as in this study but a different low-level controller. The low-level controller in the previous work employed a method that did not require solving inverse dynamics, enabling high control frequencies. This approach eliminated the dependency on a precise dynamic model and demonstrated rapid push recovery capabilities. In contrast, the current study differs in two key aspects: First, the focus has shifted to disturbance rejection, whereas the previous work primarily addressed basic standing and walking balance without considering disturbance rejection. Second, the low-level controller in this study adopts a whole-body control approach, which relies on a precise dynamic model and incorporates a momentum-based observer to enhance disturbance rejection performance. In comparison, the previous method did not utilize the robot’s precise dynamic model.

3.1. Footstep Planner

The high-level planner utilizes the MPC approach, employing a DCM-based LIPM for dynamics. The DCM-based LIPM dynamics simplify the original linear inverted pendulum model by introducing the divergent component of motion variable. Specifically, while the original LIPM dynamics are described by a second-order differential equation, the DCM-based formulation reduces them to two first-order differential equations. This simplification reveals that the DCM variable is inherently divergent in this model, necessitating its control to ensure system stability. In our paper, the planner simultaneously determines both the footstep location and the step duration to enhance walking robustness.
The equations of motion for the LIPM are given by the following:
x ¨ = ω 2 ( x p )
where x and x ¨ are 2D vectors representing the horizontal position and acceleration of the CoM, respectively. The parameter ω = g z com is the reciprocal of the time constant of the LIPM, where g denotes gravitational acceleration and z com is the fixed vertical position of the CoM. The variable p represents the horizontal position of the center of pressure (CoP), which is assumed to remain on the ground (i.e., its height is zero).
The DCM is defined as a linear combination of the CoM position and velocity:
ξ : = x + x ˙ ω
By introducing DCM, the LIPM dynamics can be rewritten as two first-order linear differential equations:
x ˙ = ω ( ξ x ) ξ ˙ = ω ( ξ p )
The first equation in Equation (20) represents the stable component of the LIPM, where x converges to ξ . The second equation describes the unstable component, where ξ diverges along the line between ξ and p . Therefore, stabilizing ξ is necessary for achieving stable walking. Since this equation is relatively simple, we can derive its analytical solution:
ξ ( t ) = p 0 + ( ξ 0 p 0 ) e ω t
where ξ 0 and ξ ( t ) represent the DCM position at initial and at time t, respectively. Here, p 0 is assumed to be fixed during this period. With this solution, we can predict the future evolution of the DCM over multiple steps, which is essential for the MPC method.
The DCM offset is then defined as b = ξ p , which represents the direction of the DCM velocity. The periodicity of the gait requires this offset to remain constant at the start and end of each step:
b = ξ 0 p 0 = ξ T p T
where T denotes the step duration.
Following the method introduced in [14], we can specify nominal step values, including nominal step length ( L n o m ), width ( W n o m ), duration ( T n o m ), and DCM offset ( b n o m = [ b x , n o m , b y , n o m ] T ), which are related to desired average walking velocity. To eliminate the nonlinearity introduced by the step duration, we introduce a new decision variable η = e ω T instead of directly using T.
The MPC method is employed to consider the changes in system variables over a future horizon, enabling the optimization of control effects over multiple steps. In this paper, our primary goal is to stabilize the DCM for the next few steps. Therefore, the cost function includes the error between the DCM offset and the nominal DCM offset at each step, the error between the step length and the nominal step length at each step, and the error between the step duration and the nominal step duration. Additionally, the solution must satisfy the DCM dynamics, including both intra-step and inter-step DCM dynamics, the kinematic constraints of the step length, and the constraints on the step duration. Ultimately, this forms a QP problem to solve for the optimal footstep positions for the next few steps and the optimal footstep timing for the current step. The decision variables of the QP problem include the footstep location, DCM offset of the next few steps, and the current footstep duration. Here, we set the foothold location as the CoP position:
min p k , b k , η k = 1 N s b k R b n o m W b 2 + l k R l n o m W l 2 + w η ( η e ω T n o m ) 2 s . t . ξ 1 = p 0 + b 0 e ω t 0 η ξ k = p k 1 + b k 1 e ω T n o m , k = 2 , , N s l m i n R T l k l m a x , k = 1 , , N s e ω T m i n η e ω T m a x
where l n o m = [ L n o m , W n o m ] T is the nominal step length in both the sagittal and coronal planes. The matrix R S O ( 2 ) accounts for foot yaw rotation. The parameter t 0 represents the elapsed time in the current step. The horizon length is denoted as N s . l m i n , l m a x define the kinematic limits based on the robot’s range of motion. The parameters T m i n and T m a x limit the step duration and need to be tuned empirically. The matrices W b , W l , and scalar weight w η are positive definite and serve as weighting factors for the DCM offset, step length, and step duration deviations in the cost function, respectively.
The main parameters of the MPC problem include the prediction horizon, the weights of the different components of the cost function, and the minimum and maximum step duration. Through extensive testing, we found that as the prediction horizon increased from one step to three steps, the walking stability improved. However, increasing it further to five steps did not yield additional benefits. At five steps, the computation time approaches the set frequency of 500 Hz. For the cost function weights, the DCM offset is prioritized with the largest weight, as it is the most critical for stability. Next is the nominal gait, and the smallest weight is assigned to the step duration. The setting of the maximum and minimum step duration is crucial for the walking performance of the BRUCE robot. Since the BRUCE robot is small (0.3 m in CoM height), as shown in Equation (21), its DCM diverges relatively quickly, requiring a shorter step duration. Thus, the maximum step duration is set to be smaller. At the same time, an excessively small step duration would cause the swing leg acceleration to become too large, which the robot’s motors cannot handle. Therefore, the maximum and minimum step durations are carefully adjusted based on the robustness of the bipedal walking performance.
After computing the optimal footstep location p * and timing T * through the above QP problem, the swing foot trajectory must be carefully designed to accommodate changing footstep location and timing. To ensure continuity up to the acceleration level, we employ a fifth-order polynomial as the reference trajectory:
p r e f ( t ) = i = 0 5 c i t i , t 0 t T *
where t 0 represents the current time, measured from the beginning of the step.

3.2. Disturbance Rejection Whole-Body Control

This section employs the weighted WBC method from the literature [3], combined with the momentum-based observer from the previous section, to enhance its disturbance rejection capabilities. The weighted WBC does not require strict prioritization but instead allocates the importance of different tasks through weights in the cost function. By constructing a QP problem, the desired ground reaction forces and joint accelerations are solved. Subsequently, the feedforward torque is obtained through the whole-body dynamics, combined with joint-level Proportional and Derivative (PD) control to yield the final joint torques. Unlike other WBC methods based on full-body dynamics that do not consider disturbances, our approach integrates the full-body dynamics with estimated disturbances to compute more accurate ground reaction forces required for the observer, eliminating the dependency on foot-mounted sensors for ground reaction force measurement, which is a limitation of many momentum-based observer methods.
Recall that the external force estimated by the observer in previous section is f ^ , which can be divided into f ^ st (estimated external force on the stance leg) and f ^ sw (estimated external force on the swing leg). The external force on the stance leg primarily affects the control performance of the CoM, while the external force on the swing leg mainly impacts the tracking performance of the swing leg trajectory. Therefore, this paper incorporates the estimated external forces into the affected tasks for compensation, thereby achieving better task tracking performance under external disturbances.
The decision variables selected for the QP optimization in the whole-body control are ζ = [ r ¨ c T q ¨ T f gr T ] T , where r ¨ c = [ x ¨ c T ω ˙ c T ] T . The cost function involves a weighted combination of multiple tracking task objectives. The main tasks are as follows:

3.2.1. CoM Trajectory Tracking Task

First, the WBC method needs to track the planned CoM trajectory, which is derived from user input. When the desired CoM state, read from the user input, is r c , ref , r ˙ c , ref , and  r ¨ c , ref , the desired wrench at the CoM, w com , des R 6 , can be computed using feedback and feedforward terms:
w com , des = K p , com ( r c , ref r c ) + K d , com ( r ˙ c , ref r ˙ c ) + m g + M com ( q ) r ¨ c , ref
where K p , com , K d , com R 6 × 6 are the diagonal matrices containing PD gains for the CoM tracking task.
To achieve the desired wrench on CoM, we consider the first six rows of the whole-body dynamics equation (Equation (5)), which represent the dynamics of the CoM:
w com = M com ( q ) x ¨ c ω ˙ c + m g 0 = J st , com T ( q ) f gr + J ext , com T ( q ) f ext
where w com R 6 is the wrench at the robot’s CoM, including inertial and gravitational terms. From this equation, it is evident that the external force on the stance leg affects the control performance of the CoM trajectory. Therefore, the estimated external force on the support leg is incorporated into Equation (26), and the ground reaction force need to satisfy this equation. Thus, the cost function for the CoM tracking task is defined as follows:
L com = J st , com f gr + J st , com f ^ st w com , des W com 2
where W com is the weight matrix for the CoM trajectory tracking task, which can adjust the weights of the six degrees of freedom of the CoM to prioritize tracking in specific directions.

3.2.2. Swing Foot Trajectory Tracking Task

Second, the WBC method need to track the planner swing foot trajectory to achieve stable walking. Given the planned swing foot position, velocity, and acceleration from the footstep planner, p r e f , p ˙ r e f , and  p ¨ r e f , respectively, the desired swing foot acceleration p ¨ c m d without considering external disturbances can be calculated using feedforward and feedback terms:
p ¨ cmd = p ¨ ref + K p , sw ( p ref x sw ) + K d , sw ( p ˙ ref x ˙ sw )
where K p , sw , K d , sw are the PD parameter matrices for the swing foot. x sw , x ˙ sw , denote swing foot position and velocity, respectively.
However, external disturbances on the swing leg affect the swing foot trajectory tracking performance. Therefore, the estimated external force on the swing leg f ^ sw is used to compensate for the disturbance. To achieve this, the relationship between the swing foot acceleration and the external force must be established. Considering the whole-body dynamics, the orthogonal null space projector P R 6 + 2 n × 6 + 2 n , which satisfies P J st T = 0 and P 2 = P T = P , is used. The projection matrix P eliminates the contact constraint-related term J st T f gr in the dynamics equation [34]. Following the method in [35,36], P is selected as P = I 6 + 2 n J st + J st . Multiplying both sides of Equation (5) by P yields the following:
P M v ˙ + h = P S T τ + P J sw J st T f sw , ext f st , ext = P S T τ + P J sw T f sw , ext
where h is the sum of Coriolis and gravity force. Since P J st T = 0 , the only term related to external forces is P J sw T f sw , ext , which is associated with the external force on the swing leg. Following [36], the equation can be transformed into the following:
M c v ˙ + P h C v = P S T τ + P J sw T f sw , ext
where M c = P M + I 6 + 2 n P and C = J st + J st . As long as M is invertible, M c is also invertible.
Based on the floating base kinematics, the relationship between the generalized coordinates and the swing foot’s velocity and acceleration is as follows:
x ˙ sw = J sw v x ¨ sw = J sw v ˙ + J ˙ sw v
Multiplying both sides of Equation (30) by M c 1 yields the relationship for v ˙ , which is substituted into Equation (31) to obtain the relationship between the swing foot acceleration and the external force:
x ¨ sw = J sw M c 1 P S T τ + J sw M c 1 P J sw T f sw , ext + J ˙ sw v J sw M c 1 ( P h C v )
To mitigate the disturbance on swing leg, we can compensate for the effect of the external force on the swing foot acceleration, i.e., the second term in the equation above. Therefore, the desired swing foot acceleration after compensation becomes the following:
p ¨ des = p ¨ cmd J sw M c 1 P J sw T f ^ sw
The desired swing foot acceleration is realized through the kinematic relationship in Equation (31), resulting in the cost function for the swing foot trajectory tracking task with disturbance compensation:
L sw = J sw v ˙ + J ˙ sw v p ¨ des W s w 2
where W s w is the weight matrix for the swing foot trajectory tracking task.

3.2.3. Stance Foot Contact Unmoving Task

This task ensures that the stance foot remains fixed at its contact point with the ground, preventing any relative motion such as slipping or lifting. To achieve this, we enforce a zero relative velocity constraint at the contact point, ensuring that it remains stationary with respect to the ground. This condition is formulated similarly to the kinematic equation for the swing foot position (31), leading to the following:
0 3 n c = J st , com ( q ) r ˙ c + J st , j ( q ) q ˙ 0 3 n c = J st , com ( q ) r ¨ c + J ˙ st , com ( q , q ˙ ) r ˙ c + J st , j ( q ) q ¨ + J ˙ st , j ( q , q ˙ ) q ˙
Based on the above equation, the cost function for the stance foot contact unmoving task is as follows:
L st = J st , com ( q ) r ¨ c + J ˙ st , com ( q , q ˙ ) r ˙ c + J st , j ( q ) q ¨ + J ˙ st , j ( q , q ˙ ) q ˙ 0 W st 2
where W s t is the weight matrix for the stance foot contact unmoving task. Maintaining contact point unmoving is typically a constraint, but in this paper, it is treated as a task-space objective, i.e., a soft constraint. This approach often speeds up the QP and provides better numerical stability [37]. With sufficient task weights, the effect of null space projection can be achieved, ensuring that other tasks comply with the non-slip contact condition.
In addition to the task-related cost functions, the optimization also minimizes the generalized coordinate acceleration and ground contact force, both of which are included in the decision variables. The corresponding cost function is ζ R 2 .

3.2.4. Constraints

For the constraint equations, the first is the motion equation, which restricts the motion to satisfy the first six rows of the floating base dynamics equation (Equation (5)):
[ M com ( q ) 0 6 × 2 n J st , com T ( q ) ] ζ = m g 0 + J ext , com T ( q ) f ext
The second constraint ensures that the ground reaction forces satisfy the friction cone constraints to avoid slipping. To avoid the nonlinearity of this constraint, the friction cone is approximated as a square pyramid, resulting in linear constraints in the optimization problem. The ground reaction force f gr , i R 3 , i = 1 , , n c , satisfies the contact constraint with friction coefficient μ as follows:
± 1 0 μ 0 ± 1 μ 0 0 1 0 0 1 U f gr , i 0 0 f z , m i n f z , m a x b
where f z , m i n , f z , m a x are the minimum and maximum normal forces to constrain the magnitude of the contact force. Note that a positive minimum value prevents contact detachment.
The final QP formulation of our disturbance rejection WBC method is as follows:
minimize ζ = [ r ¨ c q ¨ f gr ] L com + L sw + L st + ζ R 2 subject to [ M com ( q ) 0 6 × 2 n J st , com T ( q ) ] ζ = m g 0 + J ext , com T ( q ) f ext U f gr , i b i = 1 , , n c
The main parameters of our WBC method include the PD parameters for the CoM trajectory and swing leg trajectory tracking tasks, the weight matrix for each task and the minimum and maximum normal forces. For the PD gains, the tuning process relies on trial and error, guided by tracking performance metrics such as the CoM velocity tracking error and swing leg tracking error. For the weight matrix, the highest weight is assigned to the stance foot contact unmoving task, as it serves as a hard constraint. The CoM task is assigned the next highest weight, with maintaining the CoM height being the most critical among its directional components. The lowest weight is assigned to the swing foot trajectory tracking task. For the minimum and maximum normal forces, a small minimum normal force is set to prevent contact detachment. The maximum normal force is chosen to avoid generating ground reaction forces that exceed the motor’s capabilities.
After obtaining the optimal ζ * = [ r ¨ c * q ¨ * f gr * ] , the feedforward torque τ ff is obtained by substituting into the second row of the Equation (5):
τ ff = M q q ¨ * + C ( q , v ) q ˙ J s t , j T ( q ) f gr * J ext , j T f ext
The joint torque command is obtained by adding feedforward and joint position feedback τ fd together as follows:
τ c m d = τ ff + k p ( q des q ) + k d ( q ˙ des q ˙ ) , τ min τ cmd τ max
where k p , k d are positive-definite diagonal matrices containing PD feedback gains. q des , q ˙ des are the desired joint position and velocity obtained from inverse kinematics. τ min , τ max are the minimum and maximum joint torques, respectively.

4. Simulations and Experiments

In this section, a series of simulations and real-world experiments were conducted to validate the effectiveness of our controller. Both the simulations using MuJoCo (Version 3.1.4) [38] and experiments were tested with a miniature bipedal robot, BRUCE. Each leg of BRUCE has five degrees of freedom, including a spherical hip joint, a knee joint, and an ankle joint. The robot’s state estimation is supported by an onboard IMU, joint encoders, and contact-sensing feet. A mini PC with an Intel Core i5-7260U Dual-Core CPU at 2.2 GHz was utilized as the onboard computing resource.
The 3D model of the BRUCE robot employed in our simulations is based on the model made available by the official developers [39], with the necessary sensors added to the original model files. The QP problems in both the footstep planner and the controller were solved using the OSQP solver (Version 0.6.5) [40]. With the onboard PC and OSQP, both our control scheme and momentum-based observer operate at an update frequency of 500 Hz.
The software architecture is designed to operate in a multithreaded environment, enabling the simultaneous execution of all modules in the control block diagram depicted in Figure 2. The architecture comprises six primary threads: a motor command thread operating at 1000 Hz, a state estimation thread at 500 Hz, a user input thread at 100 Hz, a momentum-based observer thread at 500 Hz, a high-level planner thread at 500 Hz, and a low-level whole-body control thread at 500 Hz. Data communication utilizes a shared memory based on Python module posix_ipc [41]. The program is developed in Python 3.10, with Numba [42] employed for pre-compilation to optimize the computational speed of state estimation, kinematics, and dynamics calculations. The data curves are generated by recording the necessary data using variables during the software execution, saving it into a CSV file, and then processing and plotting the data using MATLAB R2024a.

4.1. Simulations

To achieve better walking disturbance rejection, the control parameters were tuned through many attempts. The final parameters used in the simulation are as follows: In the high-level planner, the weight matrices are set to W b = diag ( 100 , 100 ) , W l = diag ( 1 , 1 ) , w η = 0.1 , and the prediction horizon N s is 3. The maximum and minimum step durations are set to T m a x = 0.3 and T m i n = 0.18 , respectively. For the CoM trajectory tracking task in the WBC, the gain parameters for the desired wrench are K p , c o m = diag ( 100 , 100 , 900 , 250 , 250 , 100 ) and K d , c o m = diag ( 50 , 50 , 120 , 100 , 100 , 50 ) . For the swing foot trajectory tracking task, the desired acceleration gains are K p , sw = 100 I 5 and K d , sw = 25 I 5 . Since the swing leg has only five degrees of freedom, it is not possible to control the 3D positions of both the toe and heel of the swing foot simultaneously. Therefore, the control of the x-direction of the heel is omitted. The weights in the QP problem are set to W com = diag ( 5 , 5 , 100 , 5 , 5 , 5 ) , W sw = 10 I 5 , W st = 10 3 I 6 , and R = I .
An analysis of the observer order was conducted to compare the estimation errors of observers with different orders. Figure 3 illustrates the estimation errors over time when a constant external force is applied to the robot. The first-order observer exhibits a higher overshoot in error compared to the second-order observer. As the order increases, the overshoot decreases. However, the overshoot increases again at the fourth order. If the order is further increased, the computation time becomes excessively long and there would be too many parameters, so no further comparisons were made. Among these four orders, the third-order observer performs the best. Therefore, in subsequent experiments, the order r was set to 3, and the coefficients K 1 , K 2 , and K 3 were chosen as 0.02 I 10 , 0.42 I 10 , and 19 I 10 , respectively.

4.1.1. Stable Walking Under External Disturbance on the Swing Leg

To verify the improvement in disturbance rejection performance of our WBC method, we first tested the standard WBC approach without the momentum-based observer [3], which serves as the baseline controller provided by the developers of the BRUCE robot. During the test, the robot was subjected to external disturbances applied to the swing leg. As shown in Figure 4, when a forward external force of 5 N is applied to the swing leg during walking, the swing leg deviates from the planned foothold, causing the robot to lose stability after two or three steps.
When the proposed disturbance rejection WBC method is employed, the observer provides an estimate of the external force under the same conditions, as shown in Figure 5. It can be seen from the figure that the observer can quickly estimate the magnitude of the external force, and the estimation speed meets the requirements of the control method. With the momentum-based observer, the deviation of the swing leg caused by the external force is quickly compensated, allowing it to return to the planned foothold. The 3D spatial position error curves between the desired and actual positions of the right foot are shown in Figure 6. It can be observed that the swing foot is subjected to an external force at around 3 s, as shown in Figure 5. At this point, the swing foot error begins to increase, reaching a maximum deviation of 2 cm. As the estimation of the external force becomes more accurate, the disturbance is compensated, causing the error to decrease rapidly and allowing the swing foot to realign with the planned trajectory. This simulation verifies that under the same external disturbance, the standard WBC approach loses stability, while the proposed disturbance rejection WBC method maintains stable walking.

4.1.2. Stable Walking on Uneven Terrain

To further validate the performance of the proposed control scheme, we tested its effectiveness in controlling the BRUCE robot walking on uneven terrain. Comparisons were made with the standard WBC method and the CoM-based disturbance rejection WBC method from the literature [25], which only compensates for disturbances acting on the CoM. The uneven terrain consists of multiple 1 cm high wooden boards irregularly distributed across the area. Screenshots of the simulations for the three control methods are shown in Figure 7. Both the proposed disturbance rejection WBC method, which considers disturbances on both legs, and the CoM-based disturbance rejection WBC method enabled the robot to traverse the entire uneven terrain, whereas the standard WBC method failed.
The CoM trajectories of the robot walking on uneven terrain using CoM-based disturbance rejection WBC method and the proposed method are shown in Figure 8. From the CoM curve in the x-direction, it can be seen that the proposed method maintains a consistent slope during walking, with smaller velocity fluctuations. In the y-direction, although there is no walking velocity command in the y-direction, both methods inevitably experience deviations in the y-direction because of uneven terrain. However, compared to the CoM-based method, the proposed method exhibits smaller deviations. The simulation results demonstrate that the proposed disturbance rejection WBC method, compared to the CoM-based method, results in smaller CoM deviation errors and better trajectory tracking performance under such disturbances. Moreover, the proposed method enhances the robot’s robustness, enabling it to traverse such uneven terrain, unlike the standard WBC method.

4.2. Experiment

To evaluate the practicality of the proposed control scheme in real world environment, we conducted experimental validation on the biped robot BRUCE. The parameters used in the planning method for the experiments are same as those used in the simulations. For the CoM trajectory tracking task in the WBC, the gain parameters for the desired wrench are K p , c o m = diag ( 100 , 100 , 800 , 200 , 200 , 100 ) and K d , c o m = diag ( 50 , 50 , 150 , 100 , 100 , 50 ) . For the swing foot trajectory tracking task, the desired acceleration gains are K p , sw = 100 I 5 and K d , sw = 10 I 5 .

4.2.1. Walking Experiment Under External Swing Leg Disturbance

In this experiment, an external disturbance was applied to the robot’s swing leg using a tether attached to the right leg. The other end of the tether was connected to a force sensor to measure the magnitude and duration of the applied force. Figure 9 shows snapshots of the experiment. Initially, the tether was slack, and no external force was applied to the swing leg. When the tether was tightened, the swing leg began to experience an external force. Once the swing leg touched the ground, the external force was removed, and the tether returned to a slack state. From the figure, it can be seen that the robot maintains stable walking even when the swing leg is subjected to an external disturbance. The experiment demonstrated that the robot could withstand a maximum external force of 5 N while maintaining stability, with the disturbance lasting approximately 0.2 s.
Figure 10 depicts the deviation curve between the actual and desired positions of the swing foot during the experiment. Here, the deviation is the 3D spatial distance deviation e, calculated as the square root of the sum of the squared deviations in the three spatial directions e x , e y , and e z , i.e., e = e x 2 + e y 2 + e z 2 . As shown in the figure, when no external force was applied, the deviation between the actual and target positions remained within 2 cm. At approximately 1.1 s, the swing foot began to experience an external force, causing the position deviation to increase to 3.5 cm within 0.1 s. Due to the observer’s estimation and compensation of the external force in the proposed control method, the deviation decreased to 1.6 cm within 0.2 s, returning to the range observed in the absence of disturbance. This reduction minimized the impact of the external force on the swing foot’s landing position. Furthermore, the subsequent deviation remained within the 2 cm range, indicating that the effect of the external disturbance has been compensated and did not produce any further impact. The experimental results demonstrate that the proposed disturbance rejection control method effectively reduces the position deviation of the swing foot, ensuring stable walking of the robot when swing leg is under disturbance.

4.2.2. Walking Experiment Under Complex Disturbance

To further evaluate the disturbance rejection performance of the proposed method, an experiment was conducted to simultaneously resist multiple types of disturbances, including those from uneven terrain and external forces. Uneven terrain was created by placing wooden boards of varying heights (5 mm and 10 mm) on the ground. External forces were applied to the robot’s upper body using a stick with a force sensor at its tip. Figure 11 shows snapshots of this experiment. From the third subfigure, it can be seen that the BRUCE robot’s left foot is stepping on a 10 mm wooden board, while the right foot is on flat ground, and the upper body is subjected to an external force. The results demonstrate that the robot maintained stable walking even under these complex disturbances. During the experiment, the external force applied to the upper body was 10 N, lasting approximately 0.7 s.
Figure 12 illustrates the trajectories of the CoM, left foot, right foot, and divergent component of motion in the x-direction during the experiment. It can be observed that at the beginning of the experiment, the robot walked on uneven terrain at a speed of approximately 0.2 m/s. At around 1 m (approximately 3.2 s), the upper body began to experience an external force. Under the influence of this force, the CoM position stopped moving forward. To maintain stability, the right foot moved backward by about 10 cm. After the external force was removed, the robot quickly recovered to a walking speed of 0.2 m/s. The experimental results demonstrate that the proposed disturbance rejection control method enables the robot to maintain stable walking while simultaneously resisting disturbances from uneven terrain and external forces.

5. Discussion and Conclusions

In this paper, we presented a complete disturbance rejection control scheme for bipedal robots. The high-level DCM-based planner selects the desired foothold position and step duration using the MPC method, enhancing gait robustness through adaptive step duration adjustments. The low-level control method integrates a momentum-based observer, capable of estimating disturbances on both stance and swing legs, and a weighted WBC method based on full-body dynamics with estimated disturbances. Our method compensates for disturbance on both stance leg and swing leg, enabling the robot to adapt to complex situations. Notably, our method does not require foot-mounted sensors to measure ground reaction forces, making it applicable to a wider range of bipedal robots. We conducted a series of simulations and experiments to demonstrate the effectiveness of our control scheme. Compared to the standard WBC method, our disturbance rejection WBC method effectively handles disturbances on the swing leg. In comparison to the CoM-based disturbance rejection WBC method, our method results in smaller CoM deviation errors and better trajectory tracking performance when controlling the robot’s walking on uneven terrain.

Author Contributions

S.H. organized this work and wrote the manuscript draft. C.S., Y.L. and Y.Z. (Yue Zhang) wrote some code. X.Z. and B.C. proposed some good ideas. Y.Z. (Yanhe Zhu) and J.Z. supervised the research and commented on the manuscript draft. All authors have read and agreed to the published version of the manuscript.

Funding

This work is supported by the Major Research Plan of the National Natural Science Foundation of China (No. 92048301).

Data Availability Statement

The data and simulation code used to support the findings of this study are available from Shuai Heng upon request.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Wensing, P.M.; Posa, M.; Hu, Y.; Escande, A.; Mansard, N.; Prete, A.D. Optimization-Based Control for Dynamic Legged Robots. IEEE Trans. Robot. 2024, 40, 43–63. [Google Scholar] [CrossRef]
  2. Daneshmand, E.; Khadiv, M.; Grimminger, F.; Righetti, L. Variable Horizon MPC With Swing Foot Dynamics for Bipedal Walking Control. IEEE Robot. Autom. Lett. 2021, 6, 2349–2356. [Google Scholar] [CrossRef]
  3. Shen, J.; Zhang, J.; Liu, Y.; Hong, D. Implementation of a Robust Dynamic Walking Controller on a Miniature Bipedal Robot with Proprioceptive Actuation. In Proceedings of the 2022 IEEE-RAS 21st International Conference on Humanoid Robots (Humanoids), Ginowan, Japan, 28–30 November 2022; IEEE: New York, NY, USA, 2022; pp. 39–46. [Google Scholar] [CrossRef]
  4. Koolen, T.; Bertrand, S.; Thomas, G.; De Boer, T.; Wu, T.; Smith, J.; Englsberger, J.; Pratt, J. Design of a Momentum-Based Control Framework and Application to the Humanoid Robot Atlas. Int. J. Humanoid Robot. 2016, 13, 1650007. [Google Scholar] [CrossRef]
  5. Apgar, T.; Clary, P.; Green, K.; Fern, A.; Hurst, J. Fast Online Trajectory Optimization for the Bipedal Robot Cassie. Robot. Sci. Syst. XIV 2018, 101, 14. [Google Scholar] [CrossRef]
  6. Mesesan, G.; Englsberger, J.; Garofalo, G.; Ott, C.; Albu-Schaffer, A. Dynamic Walking on Compliant and Uneven Terrain Using DCM and Passivity-based Whole-body Control. In Proceedings of the 2019 IEEE-RAS 19th International Conference on Humanoid Robots (Humanoids), Toronto, ON, Canada, 15–17 October 2019; IEEE: New York, NY, USA, 2019; pp. 25–32. [Google Scholar] [CrossRef]
  7. Kajita, S.; Tani, K. Study of Dynamic Biped Locomotion on Rugged Terrain-Derivation and Application of the Linear Inverted Pendulum Mode. In Proceedings of the 1991 IEEE International Conference on Robotics and Automation, Sacramento, CA, USA, 9–11 April 1991; IEEE: New York, NY, USA, 1991; pp. 1405–1411. [Google Scholar] [CrossRef]
  8. Kajita, S.; Kanehiro, F.; Kaneko, K.; Yokoi, K.; Hirukawa, H. The 3D Linear Inverted Pendulum Mode: A Simple Modeling for a Biped Walking Pattern Generation. In Proceedings of the 2001 IEEE/RSJ International Conference on Intelligent Robots and Systems. Expanding the Societal Role of Robotics in the the Next Millennium (Cat. No. 01CH37180), Maui, HI, USA, 29 October–3 November 2001; IEEE: New York, NY, USA, 2001; Volume 1, pp. 239–246. [Google Scholar] [CrossRef]
  9. Kajita, S.; Kanehiro, F.; Kaneko, K.; Fujiwara, K.; Harada, K.; Yokoi, K.; Hirukawa, H. Biped Walking Pattern Generation by Using Preview Control of Zero-Moment Point. In Proceedings of the 2003 IEEE International Conference on Robotics and Automation (Cat. No. 03CH37422), Taipei, Taiwan, 14–19 September 2003; IEEE: New York, NY, USA, 2003; pp. 1620–1626. [Google Scholar] [CrossRef]
  10. Wieber, P.B. Trajectory Free Linear Model Predictive Control for Stable Walking in the Presence of Strong Perturbations. In Proceedings of the 2006 6th IEEE-RAS International Conference on Humanoid Robots, Genova, Italy, 4–6 December 2006; IEEE: New York, NY, USA, 2006; pp. 137–142. [Google Scholar] [CrossRef]
  11. Herdt, A.; Diedam, H.; Wieber, P.B.; Dimitrov, D.; Mombaur, K.; Diehl, M. Online Walking Motion Generation with Automatic Footstep Placement. Adv. Robot. 2010, 24, 719–737. [Google Scholar] [CrossRef]
  12. Brasseur, C.; Sherikov, A.; Collette, C.; Dimitrov, D.; Wieber, P.B. A Robust Linear MPC Approach to Online Generation of 3D Biped Walking Motion. In Proceedings of the 2015 IEEE-RAS 15th International Conference on Humanoid Robots (Humanoids), Seoul, Republic of Korea, 3–5 November 2015; IEEE: New York, NY, USA, 2015; pp. 595–601. [Google Scholar] [CrossRef]
  13. Englsberger, J.; Ott, C.; Albu-Schaffer, A. Three-Dimensional Bipedal Walking Control Based on Divergent Component of Motion. IEEE Trans. Robot. 2015, 31, 355–368. [Google Scholar] [CrossRef]
  14. Khadiv, M.; Herzog, A.; Moosavian, S.A.A.; Righetti, L. Step Timing Adjustment: A Step toward Generating Robust Gaits. In Proceedings of the 2016 IEEE-RAS 16th International Conference on Humanoid Robots (Humanoids), Cancun, Mexico, 15–17 November 2016; IEEE: New York, NY, USA, 2016; pp. 35–42. [Google Scholar] [CrossRef]
  15. Khadiv, M.; Herzog, A.; Moosavian, S.A.A.; Righetti, L. Walking Control Based on Step Timing Adaptation. IEEE Trans. Robot. 2020, 36, 629–643. [Google Scholar] [CrossRef]
  16. Escande, A.; Mansard, N.; Wieber, P.B. Hierarchical Quadratic Programming: Fast Online Humanoid-Robot Motion Generation. Int. J. Robot. Res. 2014, 33, 1006–1028. [Google Scholar] [CrossRef]
  17. Herzog, A.; Rotella, N.; Mason, S.; Grimminger, F.; Schaal, S.; Righetti, L. Momentum Control with Hierarchical Inverse Dynamics on a Torque-Controlled Humanoid. Auton. Robot. 2016, 40, 473–491. [Google Scholar] [CrossRef]
  18. Kim, D.; Lee, J.; Ahn, J.; Campbell, O.; Hwang, H.; Sentis, L. Computationally-Robust and Efficient Prioritized Whole-Body Controller with Contact Constraints. In Proceedings of the 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Madrid, Spain, 1–5 October 2018; pp. 1–8. [Google Scholar] [CrossRef]
  19. Yi, S.J.; Zhang, B.T.; Hong, D.; Lee, D.D. Online learning of a full body push recovery controller for omnidirectional walking. In Proceedings of the 2011 11th IEEE-RAS International Conference on Humanoid Robots, Bled, Slovenia, 26–28 October 2011; pp. 1–6. [Google Scholar] [CrossRef]
  20. Vadakkepat, P.; Goswami, D.; Meng-Hwee, C. Disturbance rejection by online ZMP compensation. Robotica 2008, 26, 9–17. [Google Scholar]
  21. Hyon, S.H.; Cheng, G. Disturbance Rejection for Biped Humanoids. In Proceedings of the 2007 IEEE International Conference on Robotics and Automation, Roma, Italy, 10–14 April 2007; pp. 2668–2675. [Google Scholar] [CrossRef]
  22. Wang, Y.; Xiong, R.; Zhu, Q.; Chu, J. Compliance control for standing maintenance of humanoid robots under unknown external disturbances. In Proceedings of the 2014 IEEE International Conference on Robotics and Automation (ICRA), Hong Kong, China, 31 May–7 June 2014; pp. 2297–2304. [Google Scholar] [CrossRef]
  23. Pratt, J.; Carff, J.; Drakunov, S.; Goswami, A. Capture Point: A Step toward Humanoid Push Recovery. In Proceedings of the 2006 6th IEEE-RAS International Conference on Humanoid Robots, Genova, Italy, 4–6 December 2006; pp. 200–207. [Google Scholar] [CrossRef]
  24. Dafarra, S.; Romano, F.; Nori, F. Torque-controlled stepping-strategy push recovery: Design and implementation on the iCub humanoid robot. In Proceedings of the 2016 IEEE-RAS 16th International Conference on Humanoid Robots (Humanoids), Cancun, Mexico, 15–17 November 2016; pp. 152–157. [Google Scholar] [CrossRef]
  25. Zhu, Z.; Zhang, G.; Sun, Z.; Chen, T.; Rong, X.; Xie, A.; Li, Y. Proprioceptive-Based Whole-Body Disturbance Rejection Control for Dynamic Motions in Legged Robots. IEEE Robot. Autom. Lett. 2023, 8, 7703–7710. [Google Scholar] [CrossRef]
  26. Englsberger, J.; Mesesan, G.; Ott, C. Smooth trajectory generation and push-recovery based on Divergent Component of Motion. In Proceedings of the 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Vancouver, BC, Canada, 24–28 September 2017; pp. 4560–4567. [Google Scholar] [CrossRef]
  27. Focchi, M.; Orsolino, R.; Camurri, M.; Barasuol, V.; Mastalli, C.; Caldwell, D.G.; Semini, C. Heuristic Planning for Rough Terrain Locomotion in Presence of External Disturbances and Variable Perception Quality. In Advances in Robotics Research: From Lab to Market: ECHORD++: Robotic Science Supporting Innovation; Grau, A., Morel, Y., Puig-Pey, A., Cecchi, F., Eds.; Springer International Publishing: Cham, Switzerland, 2020; pp. 165–209. [Google Scholar] [CrossRef]
  28. Morlando, V.; Teimoorzadeh, A.; Ruggiero, F. Whole-body control with disturbance rejection through a momentum-based observer for quadruped robots. Mech. Mach. Theory 2021, 164, 104412. [Google Scholar] [CrossRef]
  29. Wieber, P.B. Holonomy and Nonholonomy in the Dynamics of Articulated Motion. In Fast Motions in Biomechanics and Robotics: Optimization and Feedback Control; Diehl, M., Mombaur, K., Eds.; Springer: Berlin/Heidelberg, Germany, 2006; pp. 411–425. [Google Scholar] [CrossRef]
  30. Henze, B.; Roa, M.A.; Ott, C. Passivity-based whole-body balancing for torque-controlled humanoid robots in multi-contact scenarios. Int. J. Robot. Res. 2016, 35, 1522–1543. [Google Scholar] [CrossRef]
  31. Siciliano, B.; Sciavicco, L.; Villani, L.; Oriolo, G. Robotics: Modelling, Planning and Control; Springer Publishing Company, Incorporated: New York, NY, USA, 2010. [Google Scholar]
  32. Ruggiero, F.; Cacace, J.; Sadeghian, H.; Lippiello, V. Passivity-based control of VToL UAVs with a momentum-based estimator of external wrench and unmodeled dynamics. Robot. Auton. Syst. 2015, 72, 139–151. [Google Scholar] [CrossRef]
  33. Heng, S.; Zang, X.; Song, C.; Chen, B.; Zhang, Y.; Zhu, Y.; Zhao, J. Balance and Walking Control for Biped Robot Based on Divergent Component of Motion and Contact Force Optimization. Mathematics 2024, 12, 2188. [Google Scholar] [CrossRef]
  34. Xin, G.; Wolfslag, W.J.; Lin, H.C.; Tiseo, C.; Mistry, M.N. An Optimization-Based Locomotion Controller for Quadruped Robots Leveraging Cartesian Impedance Control. Front. Robot. AI 2020, 7, 48. [Google Scholar] [CrossRef]
  35. Aghili, F. A unified approach for inverse and direct dynamics of constrained multibody systems based on linear projection operator: Applications to control and simulation. IEEE Trans. Robot. 2005, 21, 834–849. [Google Scholar] [CrossRef]
  36. Mistry, M.N.; Righetti, L. Operational Space Control of Constrained and Underactuated Systems. In Proceedings of the Robotics: Science and Systems, Los Angeles, CA, USA, 27–30 June 2011. [Google Scholar]
  37. Feng, S.; Whitman, E.; Xinjilefu, X.; Atkeson, C.G. Optimization based full body control for the atlas robot. In Proceedings of the 2014 IEEE-RAS International Conference on Humanoid Robots, Madrid, Spain, 18–20 November 2014; pp. 120–127. [Google Scholar] [CrossRef]
  38. Todorov, E.; Erez, T.; Tassa, Y. MuJoCo: A physics engine for model-based control. In Proceedings of the 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems, Vilamoura-Algarve, Portugal, 7–12 October 2012; IEEE: New York, NY, USA, 2012; pp. 5026–5033. [Google Scholar] [CrossRef]
  39. Main Page of BRUCE Model. Available online: https://github.com/Westwood-Robotics/BRUCE_simulation_models (accessed on 10 March 2025).
  40. Stellato, B.; Banjac, G.; Goulart, P.; Bemporad, A.; Boyd, S. OSQP: An operator splitting solver for quadratic programs. Math. Program. Comput. 2020, 12, 637–672. [Google Scholar] [CrossRef]
  41. Main Page of Posix_ipc. Available online: https://github.com/osvenskan/posix_ipc (accessed on 10 March 2025).
  42. Lam, S.K.; Pitrou, A.; Seibert, S. Numba: A LLVM-based Python JIT compiler. In Proceedings of the Second Workshop on the LLVM Compiler Infrastructure in HPC (LLVM’15), Austin, TX, USA, 15 November 2015; Association for Computing Machinery: New York, NY, USA, 2015. [Google Scholar] [CrossRef]
Figure 1. Overview of the coordinate systems employed in the formulation of robot’s dynamics.
Figure 1. Overview of the coordinate systems employed in the formulation of robot’s dynamics.
Biomimetics 10 00189 g001
Figure 2. Block diagram of the control framework.
Figure 2. Block diagram of the control framework.
Biomimetics 10 00189 g002
Figure 3. Estimation errors of observers with different orders.
Figure 3. Estimation errors of observers with different orders.
Biomimetics 10 00189 g003
Figure 4. Screenshot of the standard WBC’s swing leg disturbance rejection simulation. The ‘x’ marker denotes the robot’s falling state.
Figure 4. Screenshot of the standard WBC’s swing leg disturbance rejection simulation. The ‘x’ marker denotes the robot’s falling state.
Biomimetics 10 00189 g004
Figure 5. External force estimated by the momentum-based observer.
Figure 5. External force estimated by the momentum-based observer.
Biomimetics 10 00189 g005
Figure 6. Error between actual and desired right foot position.
Figure 6. Error between actual and desired right foot position.
Biomimetics 10 00189 g006
Figure 7. Simulation results of walking on uneven ground under three different control methods. The ‘x’ denotes falling incidents during locomotion, whereas ‘o’ represents successful navigation across the uneven terrain. (a) Standard WBC method; (b) CoM-based disturbance rejection WBC method in paper [25]; (c) proposed disturbance rejection WBC method considering disturbances on both legs.
Figure 7. Simulation results of walking on uneven ground under three different control methods. The ‘x’ denotes falling incidents during locomotion, whereas ‘o’ represents successful navigation across the uneven terrain. (a) Standard WBC method; (b) CoM-based disturbance rejection WBC method in paper [25]; (c) proposed disturbance rejection WBC method considering disturbances on both legs.
Biomimetics 10 00189 g007
Figure 8. Comparison of CoM trajectories between the CoM-based disturbance rejection WBC method and the proposed method. (a) x direction; (b) y direction; (c) z direction.
Figure 8. Comparison of CoM trajectories between the CoM-based disturbance rejection WBC method and the proposed method. (a) x direction; (b) y direction; (c) z direction.
Biomimetics 10 00189 g008
Figure 9. Snapshot of the swing leg disturbance experiment.
Figure 9. Snapshot of the swing leg disturbance experiment.
Biomimetics 10 00189 g009
Figure 10. Swing foot position deviation during swing leg disturbance experiment.
Figure 10. Swing foot position deviation during swing leg disturbance experiment.
Biomimetics 10 00189 g010
Figure 11. Snapshots of the experiment under complex disturbance conditions.
Figure 11. Snapshots of the experiment under complex disturbance conditions.
Biomimetics 10 00189 g011
Figure 12. Trajectories of the CoM, left foot, right foot, and DCM in the x-direction during the complex disturbance experiment.
Figure 12. Trajectories of the CoM, left foot, right foot, and DCM in the x-direction during the complex disturbance experiment.
Biomimetics 10 00189 g012
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Heng, S.; Zang, X.; Liu, Y.; Song, C.; Chen, B.; Zhang, Y.; Zhu, Y.; Zhao, J. A Robust Disturbance Rejection Whole-Body Control Framework for Bipedal Robots Using a Momentum-Based Observer. Biomimetics 2025, 10, 189. https://doi.org/10.3390/biomimetics10030189

AMA Style

Heng S, Zang X, Liu Y, Song C, Chen B, Zhang Y, Zhu Y, Zhao J. A Robust Disturbance Rejection Whole-Body Control Framework for Bipedal Robots Using a Momentum-Based Observer. Biomimetics. 2025; 10(3):189. https://doi.org/10.3390/biomimetics10030189

Chicago/Turabian Style

Heng, Shuai, Xizhe Zang, Yan Liu, Chao Song, Boyang Chen, Yue Zhang, Yanhe Zhu, and Jie Zhao. 2025. "A Robust Disturbance Rejection Whole-Body Control Framework for Bipedal Robots Using a Momentum-Based Observer" Biomimetics 10, no. 3: 189. https://doi.org/10.3390/biomimetics10030189

APA Style

Heng, S., Zang, X., Liu, Y., Song, C., Chen, B., Zhang, Y., Zhu, Y., & Zhao, J. (2025). A Robust Disturbance Rejection Whole-Body Control Framework for Bipedal Robots Using a Momentum-Based Observer. Biomimetics, 10(3), 189. https://doi.org/10.3390/biomimetics10030189

Article Metrics

Back to TopTop