Next Article in Journal
Resilience Measurement of Bus–Subway Network Based on Generalized Cost
Previous Article in Journal
GAT4Rec: Sequential Recommendation with a Gated Recurrent Unit and Transformers
Previous Article in Special Issue
Simultaneous Tracking and Stabilization of Nonholonomic Wheeled Mobile Robots under Constrained Velocity and Torque
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Balance and Walking Control for Biped Robot Based on Divergent Component of Motion and Contact Force Optimization

by
Shuai Heng
*,
Xizhe Zang
,
Chao Song
,
Boyang Chen
*,
Yue Zhang
,
Yanhe Zhu
and
Jie Zhao
State Key Laboratory of Robotics and System, Harbin Institute of Technology, Harbin 150080, China
*
Authors to whom correspondence should be addressed.
Mathematics 2024, 12(14), 2188; https://doi.org/10.3390/math12142188
Submission received: 13 June 2024 / Revised: 9 July 2024 / Accepted: 10 July 2024 / Published: 12 July 2024
(This article belongs to the Special Issue Dynamics and Control of Complex Systems and Robots)

Abstract

:
This paper presents a complete planner and controller scheme to achieve balance and walking for a biped robot, which does not need to distinguish the robot’s dynamic model parameters. The high-level planner utilizes model predictive control to optimize both the foothold location and step duration based on the Divergent Component of Motion (DCM) model to enhance the robustness of generated gaits. For low-level control, we use quadratic programming (QP) to optimize the contact force distribution under the contact constraints to achieve the virtual wrench exerted on the base of the robot. Then, the joint torques sent to the robot are derived from three parts: first, the torques mapped from the contact force; second, the swing leg tracking; and third, the stance foot stabilization. The simulation and experiment on BRUCE, a miniature bipedal robot from Westwood Robotics (Los Angeles, CA, USA), testify to the performance of the control scheme, including push recovery, Center of Mass (CoM) tracking, and omnidirectional walking.

1. Introduction

Legged robots hold great potential in numerous practical applications due to their adaptability to complex terrains. In recent years, legged robots like quadrupeds and bipeds have received considerable research attention. Quadrupedal robots, for instance, Spot from Boston Dynamics, have evolved rapidly and have been deployed in real industrial scenarios. In comparison, bipedal robots are still not ready for field deployment. For control, there are challenges like high-dimensional hybrid dynamics, heavy constraints, and strict real-time demands. Early on, bipeds were often position-controlled, which means that the joint input command type is position [1]. Position-controlled bipeds like Honda ASIMO [2], UBTECH Walker [3], and AIST HRP-5P [4] are typically quite stiff and lack compliance [5], appearing less dynamic and robust. In the last couple of years, torque-controlled bipeds, such as Boston Dynamics Atlas [6], Agility Robotics Digit [7], Bruce [8], and Unitree H1 [9], have become mainstream. Torque-controlled robots can directly handle forces, allowing for increased control frequency and typically requiring lower gains to track joint trajectories since they use feed-forward torque to compensate for the dynamics of the robot.
To date, most research communities converge on the idea of generating locomotion control strategies by solving an optimal control problem [10]. Since the biped system is hybrid, nonlinear, and highly constrained, solving this problem online remains intractable. Thus, most approaches break the problem down into multiple stages and utilize either an abstract model or the whole dynamic model in each stage, sacrificing global optimality while achieving real-time execution [10,11,12]. A major paradigm is to have a two-level structure, where the high level plans the footsteps and the low level optimizes the contact forces [6,13,14].
The high-level planner aims to generate the trajectory. The trajectory needs to stabilize the robot, and it is generally generated online. Online trajectory generation usually adopts an abstract model, e.g., the Linear Inverted Pendulum Model (LIPM) [15,16]. Kajita et al. [17] computed CoM trajectories using a preview control approach where a discrete-time, infinite-horizon Linear Quadratic Regulator (LQR) problem was solved based on LIPM. Wieber [18] enhanced the preview control by using a linear Model Predictive Control (MPC) scheme that handles inequality constraints, such as stability bounds and reachability limits. Then, MPC and LIPM can be extended to generate other trajectories, like footstep [19] and CoM height trajectories [20]. Later, researchers found that the dynamics of the LIPM can be divided into stable and unstable components. Thus, the controller can only consider the unstable parts, known as the DCM [21] or Instantaneous Capture Point. Also, researchers noticed that step duration can be unfixed. Khadiv et al. [22,23] optimized both the landing point and step duration based on the DCM model and showed that timing adjustment can enhance robustness.
For the low-level controller, Mistry et al. [24] used inverse dynamics to compute feed-forward torques, which increase movement accuracy and enhance compliance and robustness in the face ofperturbations. However, this method considers trajectories in joint space, resulting in the requirement of many motion details, which becomes impractical for robots with many degrees of freedom [25]. Sentis et al. [26] utilized task-space control to avoid this problem by considering trajectories in the operational space. During the last decade, optimization, usually QP, has been leveraged to compute inverse dynamics [6,27], which are able to account for both task space and joint space dynamics while satisfying various constraints concurrently. All the above methods need to compute inverse dynamics, which distinguishing the robot dynamic model parameters, i.e., the inertial of each link, is required. Also, inverse dynamics need to compute the inertia matrix [28] in each control loop. This increases the computational burden, as the inertia matrix is a large matrix. In this paper, we presented a controller that does not require computing inverse dynamics. The controller first computes a virtual wrench required to stabilize the upper body. Then, ground reaction forces (GRFs) at predefined contact points are optimized under unilateral and friction cone constraints. Finally, the torque command is derived by mapping GRF to joint space under a quasi-static assumption. Simultaneously, swing leg torque and stance foot stabilization are considered.
Lee and Kim [29] also controlled contact force without using inverse dynamics. They optimized the vertical force and roll/pitch moments at a single point on the foot to minimize the error of the Zero Moment Point (ZMP) and the height of the CoM. In contrast, our method directly controlled the contact force without needing to consider the ZMP, as our method implicitly controlled the ZMP to remain within the foot sole. Additionally, we optimized forces at two points on each foot during the single-support phase. This allowed our method to generate six parameters, while their method optimized only three. As a result, our method could handle more complex situations. Unlike their method, which used force/torque sensors to improve the accuracy of foot wrench control, we avoided using these sensors to prevent adding more inertia to the leg, which would make the robot deviate from the LIPM. Ott et al. [30] also directly controlled the contact force to achieve the desired wrench needed to recover posture, similar to our approach. However, they did not consider maintaining the foot position and orientation. For walking tasks, maintaining the foot position is crucial. Therefore, we proposed a foot stabilization wrench to address this issue and ensure stability during walking.
In this paper, we optimized both step location and timing in the high-level planner and combined it with the above controller to control the robot. The whole control scheme is shown in Figure 1. In this figure, x c d e s , x ˙ c d e s , R b d e s , and ω b d e s are the desired values of the CoM position, velocity, base orientation, and angular velocity, respectively. The footstep planner derives the optimal foothold position p * and step duration T * based on the desired CoM velocity and feedback information, including the actual CoM position x c , velocity x ˙ c , and the stance foot rotation matrix R . Then, the swing leg foot trajectories p r e f and p ˙ r e f are calculated. These trajectories are the input for inverse kinematics to compute joint references q r e f and q ˙ r e f . A Proportional–Integral–Derivative (PID) controller is used to generate the corresponding joint torque τ s w , driving the actual joint position q and velocity q ˙ to follow the joint references. For the low-level controller, the virtual wrench W d is generated based on the error between the desired CoM and base values and the actual CoM position, velocity, base orientation R b , and angular velocity ω b . The contact force distribution optimizes the contact force F c at each predefined contact point. This also adds the contact foot stabilizing wrench W c i s t a b i l , which is based on the stance foot velocity r ˙ c c i and angular velocity   b ω b c i . Finally, the contact force and stabilizing wrench are mapped to derive the joint torque τ F , which is combined with τ s w and sent to the robot.
This paper is organized in accordance with the structure of the control scheme. Section 2 provides details about the DCM-based high-level footstep planner, deciding both the step location and duration. Section 3 describes in detail the design of the controller based on contact force optimization. Section 4 presents the simulation and experimental results of the controller applied on BRUCE. In the end, conclusions and a discussion are presented in Section 5.

2. Footstep Planner

The bipedal robot is a hybrid dynamic and highly nonlinear system, making it challenging to use the full-order dynamic model to optimize the trajectory of all bodies online. Thus, researchers use reduced-order models like LIPM to optimize the trajectory of the most salient parts of the system, e.g., CoM and Center of Pressure (CoP). Notably, the LIPM dynamics can be decomposed into two parts, one stable and the other unstable, which is called DCM. Only controlling the DCM is sufficient to generate stable walking. Here, we employ DCM to optimize both the footstep position and timing.

2.1. MPC Formulation

The equations of motion for the LIPM can be written as follows:
x ¨ = ω 2 ( x p )
where x , x ¨ are 2D vectors representing the horizontal position and acceleration of the CoM, ω = g z com is the reciprocal of the time constant for LIPM, g is the gravitational acceleration, and z com is a fixed parameter representing the vertical position of the CoM. p is the horizontal position of the CoP, which is assumed to be on the ground, i.e., its height is 0.
DCM is defined as a linear combination of the CoM position and velocity:
ξ : = x + x ˙ / ω
Then, the LIPM dynamics can be split into two first-order linear differential equations:
x ˙ = ω ( ξ x ) ξ ˙ = ω ( ξ p )
The first equation of Equation (3) is the stable part of LIPM, i.e., x converges to ξ , whereas the second equation is unstable, i.e., ξ diverges along the line between ξ and p . Therefore, we need to control ξ to achieve stable walking. Since this differential equation is simple, we can obtain its analytical solution:
ξ ( t ) = p 0 + ( ξ 0 p 0 ) e ω t
where ξ 0 and ξ ( t ) denote the position of the DCM at the initial time and time t, respectively. Here, we assume p 0 is fixed during this period. With this solution, we can predict the future DCM in a few steps, which is needed by the MPC method.
Then, the DCM offset is defined as b = ξ p , which is the direction of the DCM velocity, and periodicity requires this DCM offset to be the same at the start and end of the step:
b = ξ 0 p 0 = ξ T p T
where T is the step duration.
Using the method [22], we can specify nominal step values, including the nominal step length ( L n o m ), nominal width ( W n o m ), nominal duration ( T n o m ), and nominal DCM offset ( b n o m = [ b x , n o m , b y , n o m ] T ), which are related to the desired average walking velocity. Furthermore, to avoid the nonlinearity induced by step duration, a new decision variable η = e ω T is applied instead of the step duration.
In order to make step values approach the above nominal values as closely as possible, we formalized a QP to minimize the error between predicted step values and nominal values, taking the foothold location and DCM offset of the next few steps and current footstep duration as decision variables. Note here that we directly take 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 the coronal planes. R S O ( 2 ) is a planar rotation matrix considering the yaw orientation of the foot. t 0 is the elapsed time in this step. N s is the step horizon. l m i n , l m a x are the kinematically reachable constraints, which are determined by the range of motion of the robot. T m i n , T m a x are the parameters to limit the step duration, which need to be tuned by trial and error. Since BRUCE is a miniature biped robot, its Divergent Component of Motion (DCM) diverges faster. Therefore, a shorter step duration would be better. However, too short a step duration would result in a large swing foot acceleration. Thus, the minimum step duration parameter should be carefully chosen. The maximum duration parameter prevents slow stepping, which rarely occurs according to our experience.

2.2. Online Foot Trajectory Generation

After deriving the step location p * and timing T * , the swing foot trajectory needs to be carefully designed to achieve the changing footstep location and timing. In order to ensure continuity at the order of acceleration, a fifth-order polynomial is applied as the reference trajectory:
p r e f ( t ) = i = 0 5 c i t i , t 0 t T *
where t 0 is the current time calculated from the start of this step. Note that this p r e f only includes the horizontal trajectory. The boundary conditions are given as follows:
p r e f ( t 0 ) = p ( t 0 ) p r e f ( T * ) = p * p ˙ r e f ( t 0 ) = p ˙ ( t 0 ) p ˙ ref ( T * ) = 0 p ¨ r e f ( t 0 ) = p ¨ ( t 0 ) p ¨ ref ( T * ) = 0
As for the trajectory in the vertical direction, we use two fifth-order polynomials: one for the rising phase, during which the height increases from the ground to a fixed apex, and another for the landing phase.

3. Controller Based on Contact Force Optimization

One of the main tasks of the controller is to control the position and orientation of the base. Compared to optimization-based inverse dynamics control, our approach is more intuitive; that is, we apply a virtual Cartesian wrench W d to control the CoM position and the orientation of the base, which simplifies the dynamic model compared to controlling the base position directly [31].
W d = W l i n d W a n g d = k l i n ( x c d e s x c ) + d l i n ( x ˙ c d e s x ˙ c ) + i l i n ( x c d e s x c ) k a n g Log ( R b T R b d e s ) + d a n g ( ω b d e s ω b ) + i a n g Log ( R b T R b d e s )
where W l i n d and W a n g d are the desired force and torque components, respectively. k l i n , d l i n , i l i n , k a n g , d a n g , and i a n g are the PID gain matrices for force and torque. x c , R b , and ω b represent the CoM position, base orientation, and angular velocity. The superscript “des” indicates their desired values. The following is an analysis of the relationship between the GRF and the desired wrench.

3.1. Dynamic Model

Here, we derive the floating base dynamics using the Newton–Euler method, as it provides an intuitive way to express the control method. The free-floating biped robot is described by the base position r b R 3 (we use the presuperscript to represent which frame it is denoted in. Mostly, it would be the world frame { w } , so w will always be omitted for brevity) and orientation R b S O ( 3 ) , and n j actuated joint coordinates q R n j . The generalized velocity is u = [ v b ,   b ω b , q ˙ ] T , where v b ,   b ω b are the linear and angular velocities of the base, respectively. According to the kinematics of the floating base system, the position r p i and velocity r ˙ p i of an arbitrary point p i with respect to the world frame are as follows:
r p i = r b + R b   b r b p i r ˙ p i = [ 1 3 × 3 R b   b r ^ b p i J P p i ] u
where   b r b p i denotes the position of p i with respect to the base frame expressed in frame { b } . 1 3 × 3 represents the 3 × 3 identity matrix and   b r ^ b p i is the hat operator ( · ) ^ of   b r b p i . 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 . J P p i = r b p i / q is a Jacobian matrix.
A frame { p i } is attached at position p i to represent its orientation R b p i and angular velocity   b ω b p i with respect to the base frame:
  b ω p i = [ 0 3 × 3 1 3 × 3 J R b p i ] u
where J R b p i is calculated by J R b p i = φ b p i / q and φ b p i R 3 is a rotation vector corresponding to R b p i . Our controller aims to control the position of the CoM instead of the base; thus, we replace the base velocity in u with the velocity of the CoM x ˙ c . Equation (10) is used to calculate the CoM velocity:
x ˙ c = [ 1 3 × 3 R b   b r ^ b c J P c ] u
where   b r b c denotes the position of the CoM with respect to the body frame expressed in frame { b } , and J P c is calculated by J P c = r b c / q . With the new generalized velocity u ¯ = [ r ˙ c ,   b ω b , q ˙ ] T , r ˙ p i in Equation (10) can be written as follows:
r ˙ p i = [ 1 3 × 3 R b   b r ^ c p i T J P c p i ] u ¯
where   b r c p i =   b r b p i   b r b c denotes the position of p i with respect to the CoM expressed in frame { b } and J P c p i can be derived by J P c = J P p i J P c .
Then, the virtual displacement δ r p i of p i and virtual rotation δ b φ p i of frame { p i } can be described by the variation δ u ¯ = [ δ r c , δ b φ b , δ q ] T :
δ r p i δ b φ p i = 1 3 × 3 R b   b r ^ c p i T J P c p i 0 3 × 3 1 3 × 3 J R b p i δ r c δ b φ b δ q
Note that we use δ φ b to denote the variation in the rotation of the base with respect to the world frame.
The free-body diagram of the biped robot is illustrated in Figure 2. We applied the principle of virtual work to derive the relationships between all the n e x t applied wrenches under the assumption of quasi-static equilibrium:
δ W = i = 0 n e x t δ r p i T δ b φ p i T W e x t , i = δ r c T δ b φ b T δ q T 1 3 × 3 0 3 × 3 R b   b r ^ c p i T 1 3 × 3 J P c p i T J R b p i T F e x t , i T e x t , i = 0 δ r c T δ b φ b T δ q T
The applied wrenches include a virtual Cartesian wrench W d , gravitational wrench W g = [ m g , 0 ] T , contact wrench i = 1 n c W c i = i = 1 n c [ F c i , 0 ] T , and actuation wrench i = 1 n j W a i = i = 1 n j [ 0 , τ i ] T . Here, n c is the number of contact points c i . For simplicity, we consider the frictional point contact without ground reaction moment, since its magnitude is small [32]. Then, the relationships between all these forces are as follows:
W l i n d + m g + i = 1 n c F c i = 0 W a n g d + i = 1 n c R b   b r ^ c c i T F c i = 0 τ + i = 1 n c J P c c i T F c i = 0
From this result, we can intuitively conclude that, by controlling the contact force distribution, the desired wrench can be achieved, and the mapping from contact forces to joint torques is also derived.

3.2. Computation of Contact Force and Torque

In this section, we aim to attain the desired contact force distribution with predefined contact points. Contact forces need to satisfy the first two equations of Equation (16), as well as unilateral and friction cone constraints. Thus, we cast our problem as an optimization problem in a QP form:
min F c 1 , , F c n c i = 1 n c F c i + W l i n d + m g W F 2 + i = 1 n c R b   b r ^ c c i T F c i + W a n g d W T 2 + i = 1 n c F c i W c 2 s . t . ± 1 0 μ 0 ± 1 μ 0 0 1 0 0 1 F c i 0 0 f z , m i n f z , m a x , i = 1 , n c
where W F , W T , W c are all 3 × 3 diagonal matrices, denoting the weight for each task. The third term in the cost function makes the cost positive definite; without it, there are many solutions to this optimization problem. Since the friction cone constraint is nonlinear, we use a square pyramid to approximate it. μ is the friction coefficient, and f z , m i n , f z , m a x are positive scalar values designed to ensure contact stability and unilateral constraints. Finally, the joint torque τ is calculated with the third equation of Equation (16):
τ = i = 1 n c J P c c i T F c i

3.3. Swing Leg Tracking and Stance Foot Stabilization

The joint torques derived above are only able to achieve the balance task, while for walking, the above joint torques mostly only affect the stance leg joints. In addition, we need the swing leg to touch the desired foothold position, which we derived in the footstep planner. Thus, joint position PID control is applied because it does not require a dynamic model and allows for a high updating frequency. Therefore, besides the joint torques coming from the contact force, we take the joint position and velocity references into consideration, which are solved by inverse kinematics:
τ = i = 1 n c J P c c i T F c i + k p ( q r e f q ) + k d ( q ˙ r e f q ˙ ) + k i ( q r e f q )
where k p , k d , and k i are n j × n j diagonal matrices combining PID gains for each joint.
A biped robot is a floating base system that needs to satisfy kinematic constraints. These kinematics constraints ensure that the contact points cannot move, which the above procedure does not consider. To maintain stance foot position and orientation, we add a damping wrench W c i s t a b i l = d s t a b i l r ˙ c c i to the above contact wrench when deriving joint torques, where d s t a b i l is a positive diagonal damping matrix. The final joint torques are as follows:
τ = i = 1 n c ( J P c c i T F c i + [ J P c c i T J R b c i T ] W c i s t a b i l ) + k p ( q r e f q ) + k d ( q ˙ r e f q ˙ ) + k i ( q r e f q )

4. Simulations and Experiments

In this section, a series of simulations and real-world experiments were conducted to validate the capability of our controller. Both the simulations using MuJoCo (Version 3.1.4) [33] 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 onboard IMU, joint encoders, and the sensing feet (detecting contact) are used to estimate the robot’s state. A mini PC with an Intel Core i5-7260U Dual-Core CPU at 2.2 GHz was utilized as the onboard computing resource. The QPs in the footstep planner and controller were both solved using the off-the-shelf QP solver OSQP (Version 0.6.5) [34]. Based on the onboard PC and OSQP, our control scheme could achieve a 1 kHz updating frequency, while whole-body control [12], which considers whole dynamics, could only achieve 500 Hz. A Supplementary Video recorded all the simulations and experiments.

4.1. Simulations

4.1.1. Push Recovery

The balance task is the most fundamental task for a bipedal system; thus, we first tested the capability of the controller to maintain balance under external disturbances. In the first simulation, the desired linear and angular velocities in Equation (9) were set to 0 , and an impulsive force was then exerted at the base in the positive x direction (7 N), followed by in the positive y direction (14 N). Figure 3 displays snapshots of the simulation and the results are shown in Figure 4. The push force is the maximum force in each direction with a fixed duration (0.1 s), and we can see that the robot could recover to its initial position within one second. The reason why the y direction can resist larger forces is that the support polygon has a larger width than length because of the short feet.
We compared our method with model-based whole-body control [12] through push recovery in the simulation. The result is shown in Figure 5. The figure shows that our method deviates less in both the x and y directions under the same push forces compared to the dynamic model-based method. This is because our method does not need to compute dynamic information in the controller, allowing our control frequency to achieve 1 kHz, which is twice that of their method (500 Hz). This high control frequency enables the controller to respond to push forces quickly and thus reduces the CoM deviation error.

4.1.2. CoM Tracking

In this simulation, BRUCE was commanded to track the desired CoM trajectory in both the sagittal and lateral directions. Like the first simulation, we first made the robot track the reference CoM trajectory in the sagittal direction, then in the lateral direction. The reference trajectory is a sinusoidal curve with a two-second period. From the results illustrated in Figure 6, we can see that the controller was able to track the reference with minor lags. A snapshot of each task is only shown in the simulation or experiment.

4.1.3. Omnidirectional Walking

This simulation was applied to validate the whole control scheme, including the DCM-based footstep planner and contact force distributed controller. Bruce was initially stepping in a fixed position, then commanded to walk in the positive x direction with a velocity of 0.05 m/s. After a while, the command switches to walk in the positive y direction with a speed of 0.05 m/s, and finally returns to walking in the positive x direction with the same velocity. The result is shown in Figure 7, and we can see that the robot was able to walk omnidirectionally. From the inset in the bottom graph of Figure 7, we can see that the duration of the stance phase was different, since we optimized the step duration in our planner.
We also compared the CoM tracking performance during walking with model-based whole-body control, the same method used in the push recovery comparison. As shown in Figure 8, at the start, the velocity command increased from 0 to 0.05 m/s. Our method responded faster to the change due to our higher control frequency. Since our method does not use dynamic information, it has a slight drift error, which is acceptable to us. In conclusion, our method benefits from a quick response to the velocity command.

4.2. Hardware Experiments

We also applied the above tasks to hardware to demonstrate the effectiveness of the control scheme in the real world, which is more challenging. The parameters of the planner and controller used in the experiments are presented in Table 1.

4.2.1. Push Recovery

In this experiment, we directly applied impulsive forces on the base by hand while the robot maintained its balance. This is similar to the first simulation, except we could not measure the magnitude and direction of the impulsive force. Figure 9 shows the CoM error. The result of contact force distribution is shown in Figure 10. When the CoM was pushed in the x direction, the vertical force on the toes of both the right and left legs increased to support the weight of the robot. At the same time, a force in the x direction generated a counteracting force to return the CoM to its initial position. The same procedure occurred when the CoM was pushed in the y direction.

4.2.2. CoM Tracking

In this experiment, BRUCE was commanded to track the desired CoM trajectory in both sagittal and lateral directions. The reference trajectory is a sinusoidal curve with a two-second period, like in the simulation, but with a different magnitude. A snapshot of this experiment is shown in Figure 11, and the trajectory of the CoM is illustrated in Figure 12. The contact force distribution for this experiment is depicted in Figure 13.

4.2.3. Omnidirectional Walking

This experiment aims to demonstrate the capability of the control scheme in real-world robot walking. Figure 14 and Figure 15 show the results when the robot is commanded to go left and then go forward. From the figures, we can see that our control scheme can maintain DCM stability and the optimized foothold position can keep the robot balanced.

5. Conclusions

In this paper, we presented a complete control scheme, including a planner and a controller, for the balance and walking of a biped robot. Our controller did not need to solve inverse dynamics. The high-level DCM-based planner was applied to choose the desired foothold position and step duration, considering future steps using the MPC method. We found that adapting the step duration in addition to the footstep location can help the robot recover better to the nominal gait pattern. Additionally, since BRUCE is a miniature biped robot, its DCM diverges faster, so a shorter step duration is preferred. However, too short a step duration would result in a large swing foot acceleration. Therefore, the step duration parameter T m i n should be carefully chosen. The controller based on contact force optimization was explained in detail. It first applied a virtual wrench on the CoM and base. Then, contact force distribution and corresponding joint torques were inferred based on the quasi-static assumption. The joint torques for swing leg tracking and stance foot stabilization were also considered in the controller. Lastly, we conducted a series of simulations and experiments to demonstrate the effectiveness of our control scheme. By comparing with the dynamic model-based method in simulation, we found that our method can respond to push forces quickly and reduce the CoM deviation error, as our method has a higher control frequency. This high control frequency also allows our method to more quickly follow changes in the velocity command. We also observed that our contact foot stabilization wrench can compensate for the absence of a dynamic model.
Future work will focus on decreasing velocity drift during walking and on enabling walking on uneven terrain. We will also consider using newer methods for modeling and system identification, as well as new control methods, such as control Lyapunov functions, to improve control performance.

Supplementary Materials

The following supporting information can be downloaded at https://www.mdpi.com/article/10.3390/math12142188/s1.

Author Contributions

S.H. organized this work and wrote the manuscript draft. C.S. 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 National Outstanding Youth Science Fund Project of National Natural Science Foundation of China (Grant no. 52025054) and the Major Research Plan of the National Natural Science Foundation of China (No. 92048301).

Data Availability Statement

The data and 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. Yang, S.; Chen, H.; Fu, Z.; Zhang, W. Force-Feedback Based Whole-body Stabilizer for Position-Controlled Humanoid Robots. In Proceedings of the 2021 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Prague, Czech Republic, 27 September–1 October 2021; pp. 7432–7439. [Google Scholar] [CrossRef]
  2. Hirose, M.; Ogawa, K. Honda Humanoid Robots Development. Philos. Trans. R. Soc. A Math. Phys. Eng. Sci. 2007, 365, 11–19. [Google Scholar] [CrossRef] [PubMed]
  3. Main Page of Walker. Available online: https://www.ubtrobot.com/humanoid/products/Walker (accessed on 13 June 2024).
  4. Kaneko, K.; Kaminaga, H.; Sakaguchi, T.; Kajita, S.; Morisawa, M.; Kumagai, I.; Kanehiro, F. Humanoid Robot HRP-5P: An Electrically Actuated Humanoid Robot With High-Power and Wide-Range Joints. IEEE Robot. Autom. Lett. 2019, 4, 1431–1438. [Google Scholar] [CrossRef]
  5. Mason, S.A. Optimization-Based Whole-Body Control and Reactive Planning for a Torque Controlled Humanoid Robot. Ph.D. Thesis, University of Southern California, Los Angeles, CA, USA, 2018. [Google Scholar]
  6. 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]
  7. Main Page of Digit. Available online: https://agilityrobotics.com/products/digit (accessed on 13 June 2024).
  8. Liu, Y.; Shen, J.; Zhang, J.; Zhang, X.; Zhu, T.; Hong, D. Design and Control of a Miniature Bipedal Robot with Proprioceptive Actuation for Dynamic Behaviors. In Proceedings of the 2022 International Conference on Robotics and Automation (ICRA), Philadelphia, PA, USA, 23–27 May 2022; pp. 8547–8553. [Google Scholar] [CrossRef]
  9. Cheng, X.; Ji, Y.; Chen, J.; Yang, R.; Yang, G.; Wang, X. Expressive Whole-Body Control for Humanoid Robots. arXiv 2024, arXiv:2402.16796. [Google Scholar]
  10. 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]
  11. 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]
  12. 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; pp. 39–46. [Google Scholar] [CrossRef]
  13. Apgar, T.; Clary, P.; Green, K.; Fern, A.; Hurst, J. Fast Online Trajectory Optimization for the Bipedal Robot Cassie. In Proceedings of the Robotics: Science and Systems XIV, Pittsburgh, PA, USA, 26–30 June 2018. [Google Scholar] [CrossRef]
  14. 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; pp. 25–32. [Google Scholar] [CrossRef]
  15. 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; pp. 1405–1411. [Google Scholar] [CrossRef]
  16. 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; Volume 1, pp. 239–246. [Google Scholar] [CrossRef]
  17. 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; pp. 1620–1626. [Google Scholar] [CrossRef]
  18. 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; pp. 137–142. [Google Scholar] [CrossRef]
  19. 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]
  20. 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; pp. 595–601. [Google Scholar] [CrossRef]
  21. 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]
  22. 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; pp. 35–42. [Google Scholar] [CrossRef]
  23. 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]
  24. Mistry, M.; Buchli, J.; Schaal, S. Inverse Dynamics Control of Floating Base Systems Using Orthogonal Decomposition. In Proceedings of the 2010 IEEE International Conference on Robotics and Automation, Anchorage, AK, USA, 3–7 May 2010; pp. 3406–3412. [Google Scholar] [CrossRef]
  25. Hyon, S.-H.; Hale, J.; Cheng, G. Full-Body Compliant Human–Humanoid Interaction: Balancing in the Presence of Unknown External Forces. IEEE Trans. Robot. 2007, 23, 884–898. [Google Scholar] [CrossRef]
  26. Sentis, L.; Park, J.; Khatib, O. Compliant Control of Multicontact and Center-of-Mass Behaviors in Humanoid Robots. IEEE Trans. Robot. 2010, 26, 483–501. [Google Scholar] [CrossRef]
  27. 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]
  28. Featherstone, R. Rigid Body Dynamics Algorithms; Springer: New York, NY, USA, 2008. [Google Scholar]
  29. Lee, H.J.; Kim, J.Y. Balance Control Strategy of Biped Walking Robot SUBO-1 Based on Force-Position Hybrid Control. Int. J. Precis. Eng. Manuf. 2021, 22, 161–175. [Google Scholar] [CrossRef]
  30. Ott, C.; Roa, M.A.; Hirzinger, G. Posture and Balance Control for Biped Robots Based on Contact Force Optimization. In Proceedings of the 2011 11th IEEE-RAS International Conference on Humanoid Robots, Bled, Slovenia, 26–28 October 2011; pp. 26–33. [Google Scholar] [CrossRef]
  31. 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]
  32. Lee, S.H.; Goswami, A. A Momentum-Based Balance Controller for Humanoid Robots on Non-Level and Non-Stationary Ground. Auton. Robot. 2012, 33, 399–414. [Google Scholar] [CrossRef]
  33. 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; pp. 5026–5033. [Google Scholar] [CrossRef]
  34. 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]
Figure 1. Overview of the control framework.
Figure 1. Overview of the control framework.
Mathematics 12 02188 g001
Figure 2. Free -body diagram of a biped robot. Here, actuation forces are omitted for succinctness.
Figure 2. Free -body diagram of a biped robot. Here, actuation forces are omitted for succinctness.
Mathematics 12 02188 g002
Figure 3. Snapshots of push recovery simulation.
Figure 3. Snapshots of push recovery simulation.
Mathematics 12 02188 g003
Figure 4. Simulation results of push recovery in the x and y directions. The figure shows the time history of CoM error with respect to its initial position in each direction.
Figure 4. Simulation results of push recovery in the x and y directions. The figure shows the time history of CoM error with respect to its initial position in each direction.
Mathematics 12 02188 g004
Figure 5. Comparison of push recovery in the x and y directions between our method and the dynamic model-based method. x1 and y1 represent our method, while x2 and y2 denote the dynamic model-based method.
Figure 5. Comparison of push recovery in the x and y directions between our method and the dynamic model-based method. x1 and y1 represent our method, while x2 and y2 denote the dynamic model-based method.
Mathematics 12 02188 g005
Figure 6. Simulation results of CoM tracking in the x and y directions. The dashed lines show the reference trajectory and solid lines are the CoM error with respect to its initial position in each direction.
Figure 6. Simulation results of CoM tracking in the x and y directions. The dashed lines show the reference trajectory and solid lines are the CoM error with respect to its initial position in each direction.
Mathematics 12 02188 g006
Figure 7. Simulation results of omnidirectional walking. The trajectories of CoM, left foot, right foot, and DCM are presented. The stripe with blue represents the left-stance phase, while orange represents the right-stance phase.
Figure 7. Simulation results of omnidirectional walking. The trajectories of CoM, left foot, right foot, and DCM are presented. The stripe with blue represents the left-stance phase, while orange represents the right-stance phase.
Mathematics 12 02188 g007
Figure 8. Comparison of CoM tracking in the x direction between our method and the dynamic model-based method. x1 represents our method, x2 denotes the dynamic model-based method, and ref x means the command.
Figure 8. Comparison of CoM tracking in the x direction between our method and the dynamic model-based method. x1 represents our method, x2 denotes the dynamic model-based method, and ref x means the command.
Mathematics 12 02188 g008
Figure 9. Experiment results of push recovery. The figure shows the time history of CoM error with respect to its initial position in each direction.
Figure 9. Experiment results of push recovery. The figure shows the time history of CoM error with respect to its initial position in each direction.
Mathematics 12 02188 g009
Figure 10. Contact force distribution for the push recovery experiment.
Figure 10. Contact force distribution for the push recovery experiment.
Mathematics 12 02188 g010
Figure 11. Snapshots of CoM tracking experiment.
Figure 11. Snapshots of CoM tracking experiment.
Mathematics 12 02188 g011
Figure 12. Experiment results of CoM tracking in the x and y directions. The dashed lines show the reference trajectory and solid lines are the CoM error with respect to its initial position in each direction.
Figure 12. Experiment results of CoM tracking in the x and y directions. The dashed lines show the reference trajectory and solid lines are the CoM error with respect to its initial position in each direction.
Mathematics 12 02188 g012
Figure 13. Contact force distribution for the CoM tracking experiment.
Figure 13. Contact force distribution for the CoM tracking experiment.
Mathematics 12 02188 g013
Figure 14. Snapshots of the walking experiment.
Figure 14. Snapshots of the walking experiment.
Mathematics 12 02188 g014
Figure 15. Experiment results of omnidirectional walking. The trajectories of CoM, left foot, right foot, and DCM are presented. The blue stripes represent the left stance phase, while the orange stripes represent the right stance phase.
Figure 15. Experiment results of omnidirectional walking. The trajectories of CoM, left foot, right foot, and DCM are presented. The blue stripes represent the left stance phase, while the orange stripes represent the right stance phase.
Mathematics 12 02188 g015
Table 1. Parameters of planner and controller.
Table 1. Parameters of planner and controller.
ParameterValue
N s 3
W b (100, 100)
W l (1, 1)
w η 0.1
k l i n (90, 90, 900)
d l i n (30, 30, 120)
i l i n (8, 8, 20)
k a n g (45, 45, 90)
d a n g (20, 20, 25)
i a n g (4, 4, 9)
W F (10, 10, 100)
W T (10, 10, 10)
W c (1, 1, 1)
d s t a b i l (60, 60, 60, 100, 100)
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.; 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. https://doi.org/10.3390/math12142188

AMA Style

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(14):2188. https://doi.org/10.3390/math12142188

Chicago/Turabian Style

Heng, Shuai, Xizhe Zang, Chao Song, Boyang Chen, Yue Zhang, Yanhe Zhu, and Jie Zhao. 2024. "Balance and Walking Control for Biped Robot Based on Divergent Component of Motion and Contact Force Optimization" Mathematics 12, no. 14: 2188. https://doi.org/10.3390/math12142188

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop