1 Introduction

The physical compliance of tendons and ligaments of the muscle-skeleton systems of biological animals plays an important role in their agile locomotion due to the benefits in terms of energetics and shock absorption etc. Alexander (2003). The compliant property of muscles naturally initiates soft interaction with environment and renders correct force and torque to be applied through contacts for generating desired motions. Therefore, it is a research of interest to transfer this embodied know-how to the design of robotic systems, particularly, the humanoids or even simpler bipeds, for improving their locomotion capabilities. The most common actuation for robots are the electric motors with high gear ratio transmissions or the hydraulic actuators, which normally, except for active controlled low impedance based on force/torque sensing, exhibit much higher stiffness compared to the soft muscles.

The development of compliant pneumatic actuators (Daerden et al. 2001; Tsagarakis and Caldwell 2003), series elastic actuators (SEAs) (Pratt and Krupp 2004), and variable impedance actuators (Visser et al. 2010) provide the muscle-like properties, and show the possibility of incorporating these new actuation technologies into the design of complex robots. The work in Vanderborght (2010) has shed some light on the design and control of the intrinsically compliant biped Lucy powered by pneumatic muscles. The lower body humanoid robot M2V2 could realize efficient walking benefiting from its ankle compliance and the swing leg passivity which was achieved by its low-impedance and force-controllable SEAs (Pratt and Krupp 2008). NASA’s first humanoid robot Valkyrie (Radford et al. 2015) equipped with 25 SEA joints aims at advancing the human spaceflight endeavors in extraterrestrial planetary exploration.

As an intermediate stage for the investigation of muscle-like compliant actuation in robots, we are motivated to utilize available SEA based compliant actuators, prior to the future invention of artificial muscles that are comparable to those of humans, to develop the COMpliant huMANoid COMAN for locomotion and manipulation research. Meanwhile, the COMAN robot also serves as a good scientific platform to validate neuroscience and biology based research, such as the study of muscle reflex control on bipedal walking (Van der Noot et al. 2015).

Compared with the pneumatic systems, the electric motorized actuation systems, e.g. SEAs, have limited capacity of storing elastic energy. This is because an over lower stiffness of the springs unavoidably downgrades the control bandwidth of both the position and torque tracking performance, which makes the robotic systems difficult to control. Therefore, the selection of the spring stiffness is the optimization of the control bandwidth and the level of compliance.

The above factors have been taken into account during the design of the intrinsically compliant humanoid COMAN (Tsagarakis et al. 2013), which has the spring stiffness as low as possible but still retains the principle resonance modal higher than the minimum required control bandwidth. Therefore, this design keeps the advantage such that the introduced physical elasticity from springs reduces the magnitude of impact forces at the initial contact phases, thus protects the gear transmission from damages (Albu-Schaeffer et al. 2008). Meanwhile, the reduced stiffness elongates the duration of impact forces, therefore, allows more time for the active control to be effectively applied.

The earlier development of Honda’s humanoid robot P2 had also shown the importance of using intrinsic compliance in feet as the low-pass mechanical filter, otherwise the active compliance control would have unstable vibrations (Hirai et al. 1998). In the design of COMAN, on top of the rubber cushion in feet, the intrinsic compliance in joints further enhance the physical compliant property. On this basis, the actively controlled compliance offers more flexibility of achieving a wild range of compliance to adapt to different tasks, as well as the online regulation of variable gains.

The our previous impact study in Li et al. (2012) showed that the physical compliance reacted instantly to the impact while the active stabilization control produced significant response with about 10 ms delay. The aforementioned stabilization control of COMAN utilized the motors to deliberately dissipate excessive energy and perform the negative work to ensure a stable system response with sufficient passivity. It shall be noted that the integration of variable physical damping actuators (Laffranchi et al. 2011) into a humanoid may also lead to a comparable performance as in Li et al. (2012). However, the use of variable stiffness and physical damping actuators will significantly increase the size and weight of a humanoid robot and reduce the power-weight ratio. Therefore, the design of COMAN only integrated the SEA actuations and focused on the use of active stiffness and damping control to achieve the complidant and passivity property.

The scope of this paper focuses on the control design of stabilizing interaction force and torque during locomotion by active stiffness and damping regulation on an intrinsically compliant humanoid system. The proposed control is realized by the admittance scheme for the position controlled system with six axis force/torque sensors on the end-effectors, i.e., feet in the case of lower body of a humanoid. The same control principle can also be transferred and implemented via an impedance scheme if the joint torque control is available for a torque controlled robot, such as the DLR TORO (Englsberger et al. 2014) and Sacros (Stephens and Atkeson 2010). Our proposed controller is targeted to stabilize the real overall center of pressure (COP) around the desired COP reference inside the support polygon during standing and walking.

It shall be clearly delineated here that the general term of “stabilization control” is classified into two categories according to their different fundamentals. One is termed as “local stabilization” in our study, where the real contact forces and torques are sensed as feedback and stabilized by the control to track the desired references, and the control does not deliberately alter the multi-contacts between the robot and the environment, such as taking a step, or changing the foot placement. Hence, the local stabilizer does not necessarily guarantee stability of the robot in the future. For example, if the stabilizer tracks a pre-defined force reference, e.g. the ZMP reference for the case of a ZMP based gait, after the robot being strongly pushed, then consequently an unavoidable falling will occur shortly.

On the contrary, the other type of stabilization control, is hereby termed as “global stabilization”, which may involve the modification of footholds to capture balance, the activation of stepping from stance, and/or the use of upper limbs to regain balance. In short, the global stabilization is the type of control policies to warrant the avoidance of losing balance by changing the physical support. In bipedal walking, the discrete placement of support foot is used for gait stabilization (Townsend 1985). This level of stabilization is placed at a higher hierarchy in the control framework compared to the former one. In this study, our controller is designed for the local stabilization, such that real COP is stabilized around the given COP reference, subject to the un-modeled dynamics of the robot and the small irregularities of the lab floor.

The paper is organized as follows. Section 2 discusses about the related work in literature and the scope of our study in this paper. Section 3 elaborates the modeling, control formulation, design of discretized controllers, and the overall framework. The simulation comparisons in standing and walking scenarios without/with the proposed controller are studied in Sect. 4. Section 5 demonstrates the experimentally validated effectiveness by the comparison study of standing, forward walking, and omni-directional walking. We discuss about the results in Sect. 6 and conclude the work in Sect. 7.

2 Related works

The active stabilization of walking was widely observed in biological systems, therefore, there are some past works that investigated stabilization for walking bipeds via the bio-inspired approaches, as opposed to the control engineering techniques. Fukuda et. al explored the genetic algorithms to train the recurrent neural networks for generating the references for actuators based on the COP feedback in soles (Fukuda et al. 1997). Endo et. al used neural oscillators to build up central pattern generators using bio-inspired feedback pathways for the realization of vestibulo-spinal and extensor reflexes (Endo et al. 2005).

The work in Lee and Goswami (2012) studied the balance control during standing and developed a computational method to optimize contact forces in each foot by controlling both the linear and angular momentum in a least-square manner. The compliant interaction and behavior were studied based on the proposed internal force/torque controllers in Sentis (2010) for the whole-body control of humanoids under multi-contacts with the environment. Besides, the research in passive dynamic walking also shows that the active compliance regulation provided the ability to adjust the compliance of the stance leg alongside with the damping control to achieve smooth transition of hip velocity (Van Der Linde 1998).

The stabilization approach in Kajita et al. (2010) applied the full state feedback control to track the COM (position, velocity, acceleration) based on the linear inverted pendulum model (LIPM), where the gains were designed using the best COM/ZMP regulator (Sugihara 2009). The modified ZMP reference was sent to the lower layer ZMP controller which tracked the individual ZMP distributed in each foot. In the case of an intrinsically compliant robot, unlike our compliance based stabilization, this ZMP servo layer does not necessarily guarantee the passivity, i. e. by solely tracking the ZMP, the control action is likely to produce more elastic deformation and inject more energy into the system. This is not an issue for classical rigid robots which suffice the assumption of ideal position tracking, but can be very problematic for the intrinsically elastic robots like COMAN, where the passive springs start to oscillate in this case.

Our previous investigation of walking on a compliant lower body prototype of COMAN has shown the advantage of physical elasticity in dealing with ground impacts; however, the side effects of undesired oscillation and the deterioration of positional trajectories were also revealed (Li et al. 2013). The challenge of stabilizing the intrinsically elastic robots, for those who the elasticity is realized by springs with very little viscous damping, is the effective algorithm that controls the rate of the elastic energy stored in the springs to be negative. Though the concept of safety human-robot or robot-environment interactions can be partially realized by using the elastic springs, no control over the recoil of springs can also make the system unsafe for both humans and robots themselves. Therefore, the control algorithm should be able to suspend recoils of springs and to attenuate any oscillation of springs induced by external disturbances.

Our first investigation of the active compliance control in additional to the intrinsic compliance was reported in Li et al. (2012). An improved admittance controller was introduced in Li et al. (2012) where the formulation was done in the polar coordinate for keeping a more straight knee feature during balancing in stance posture. However, since the gait walking control is commonly designed in the Cartesian space, the directly application of the method in Li et al. (2012) causes inconvenience. Hence, the reformulation of its Cartesian variant was studied in Zhou et al. (2014) for standing stabilization.

To follow the simulation study (Zhou et al. 2014), we hereby validate the effectiveness of the controller on a real compliant humanoid robot COMAN by comparison studies. It should be noted that the formulation in Zhou et al. (2014) was specialized only for standing, but in this paper, we propose a reformulation of the control scheme to generalize the stabilizer for the implementation in omni-directional walking both in simulation and experiments. We will show that the proposed scheme is effective to cope with unexpected ground impacts during the switch of support foot during walking, as well as external force impacts applied to the body of the robot during standing.

3 Control principles

3.1 Modeling

We apply the cart-table model (Kajita et al. 2003) to represent the major dynamics of the robot, where the table is mass-less, the small support area represents the foot, and a moving cart represents the COM dynamics. Our proposed local stabilization approach is formulated based on the cart-table model so it is compatible to be integrated with a walking pattern generator based on the same model for both standing and walking. The parameters used in this paper are listed in Table 1. All the equations are formulated in local frame \(\sum _{B}\) inside the support polygon, which will be further elaborated in Sect. 3.2.

Table 1 Parameters for controller

Assume there is a virtual spring-damper connected between the real and the reference COM positions, hence, the dynamics of this model as shown in Fig. 1 with gravity compensation can be described as

$$\begin{aligned} \frac{\tau _{real}^{y} - \tau _{d}^{y}}{z_{c}} = B_{d}(\dot{x}_{ref}-\dot{x}) + K_{d}(x_{ref}-x). \end{aligned}$$
(1)

The term \(\tau _{real}^{y}\) is the actual torque measured around y axis in \(\sum _{B}\), \(\tau _{d}^{y}\) is the desired torque to be applied to the system with respect to the references of COM and ZMP, which can be represented as

$$\begin{aligned} \tau _{d}^{y}= mgx_{ref}+z_{c}m\ddot{x}_{ref} , \end{aligned}$$
(2)

where desired acceleration \(\ddot{x}_{ref}\) is described by the LIPM as

$$\begin{aligned} \ddot{x}_{ref} = \frac{g}{z_{c}}\left( x_{ref}-p_{ref}^{x}\right) . \end{aligned}$$
(3)

In order to emulate this spring-damper behavior, a modification needs to be introduced to the reference in the real system. Therefore, as shown in Fig. 1b, for the system with negligible physical damping, the modification \({{\varDelta }{x}}\) can be described by

$$\begin{aligned} \left\{ \begin{array}{l} \tau _{real}^{y} = z_{c}(-K_{s}x_{s}),\\ x-x_{ref} = {{\varDelta }{x}}+x_{s}. \end{array} \right. \end{aligned}$$
(4)
Fig. 1
figure 1

The cart-table model with intrinsic elasticity for formulating the stabilizer (sagittal plane)

Hence, x and \(\dot{x}\) can be obtained as

$$\begin{aligned} \left\{ \begin{array}{l} x-x_{ref}={{\varDelta }{x}}-\frac{\tau _{real}^{y}}{z_{c}K_{s}}, \\ \dot{x}-\dot{x}_{ref}=\dot{x}_{d}-\frac{\dot{\tau }_{real}^{y}}{z_{c}K_{s}}. \end{array} \right. \end{aligned}$$
(5)

Substitute (5) into (1), yields

$$\begin{aligned} \frac{\tau _{real}^{y} - \tau _{d}^{y}}{z_{c}} = -B_{d}\left( \dot{x}_{d}-\frac{\dot{\tau }_{real}^{y}}{z_{c}K_{s}}\right) - K_{d}\left( {{\varDelta }{x}}-\frac{\tau _{real}^{y}}{z_{c}K_{s}}\right) . \end{aligned}$$
(6)

Rearrange (6), we obtain

$$\begin{aligned} -\frac{\tau _{real}^{y} - \tau _{d}^{y}}{z_{c}} + \frac{B_{d}\dot{\tau }_{real}^{y}}{z_{c}K_{s}} + \frac{K_{d}\tau _{real}^{y}}{z_{c}K_{s}} = B_{d}\dot{x}_{d}+ K_{d}{{\varDelta }{x}}. \end{aligned}$$
(7)

The desired velocity \(\dot{x}_{d}\) can be replaced by the derivative of the \({{\varDelta }{x}}\) in a discrete form by

$$\begin{aligned} \dot{x}_{d}= \frac{{{\varDelta }{x}}(i)-{{\varDelta }{x}}(i-1)}{{\varDelta }{t}}. \end{aligned}$$
(8)

Substitute (8) into (7), we can derive the desired reference positional modification \({{\varDelta }{x}}\) in a discrete form. At discrete time i, given the feedback \(\tau _{real}^{y}(i)\), we have

$$\begin{aligned} {{\varDelta }{x}}(i) = \frac{{\varDelta }{t}}{K_{d}{{\varDelta }{t}}+B_{d}}A(i)+\frac{B_{d}}{K_{d}{{\varDelta }{t}}+B_{d}}{{\varDelta }{x}}(i-1), \end{aligned}$$
(9)

where A is an intermediate variable

$$\begin{aligned} A(i)=-\frac{\tau _{real}^{y}(i) - \tau _{d}^{y}(i)}{z_{c}} + \frac{B_{d}\dot{\tau }_{real}^{y}(i)}{z_{c}K_{s}} + \frac{K_{d}\tau _{real}^{y}(i)}{z_{c}K_{s}}. \end{aligned}$$
(10)

The desired torque used in (10) can be described by

$$\begin{aligned} \tau _{d}^{y}(i)= mgx_{ref}(i)+z_{c}m\frac{g}{z_{c}}\left( x_{ref}(i)-p_{ref}^{x}(i)\right) . \end{aligned}$$
(11)

By setting \(K_{s}\rightarrow \infty \), we can obtain the formula for a stiff transmission system, then A evolves to

$$\begin{aligned} A(i)= -\frac{\tau _{real}^{y}(i) - \tau _{d}^{y}(i)}{z_{c}}. \end{aligned}$$
(12)

The above control is an admittance scheme. To achieve the active compliant behavior as the desired spring-damper system, our stabilization approach uses the feedback of ground reaction torque as an input, and generates the COM reference modification as an output. By modifying the positional references, the torques applied at joints are modulated, resulting in the change of contact forces. Therefore, the interaction force and torque are indirectly controlled via this admittance scheme.

The level of compliance is adjusted by the stiffness, and the passivity is warranted by applying active damping at the COM since the real damping of our system is fairly low. This approach can also be used for an orthogonal 2-DOF system in a decoupled form. The Cartesian modification \({{\varDelta }{x}}\) and \({{\varDelta }{y}}\) can be obtained by substituting \(K_{d}^{x,y}\), \(B_{d}^{x,y}\), \(K_{s}^{x,y}\), \(\tau _{d}^{x,y}\) and \(\tau _{real}^{x,y}\) into (9) respectively.

3.2 Definition of ground reference frame

In order to integrate the proposed stabilization algorithm into walking, it is essential to take into account the change of base frame \(\sum _{B}\). It should be noted that while the robot is standing at an initial position, the base frame \(\sum _{B}\) is located at the center of the support polygon and coincides with the global frame \(\sum _{W}\). However, this assumption no longer holds during walking due to the displacements of support feet particularly in the walking direction.

Here, we define the inertial frame \(\sum _{B}\), whose origin instantaneously coincides with the middle point of two ankles’ projections on the ground. In other words, at each time instant, the stationary position vector of the origin of \(\sum _{B}\) is instantaneously located at the mid of the vector pointing from the horizontal projection of the support foot along the direction to that of the swing foot. So, the ground reference frame \(\sum _{B}\) is defined by a relative vector with respect to the support foot. Here, we assume the stance foot always has firm contact with ground and does not slip, thus it is equally an inertial frame of reference. The heading of \(\sum _{B}\) is defined as same as the heading of pelvis.

It shall be noted that the previous work in Kajita et al. (2010) assigned similar inertial reference frame slightly in a different manner: during the single support phase, the origin and heading of the reference frame was the same as the stance foot; during the double support phase, the reference frame was at the middle point of two feet, and the heading was the average of that of two feet. However, the definition in Kajita et al. (2010) resulted in discrete jumps of origin and heading of the ground frame during the change of the support foot. On the contrary, our introduced definition updates the ground reference in a continuous manner as well as the heading, which we found more intuitive and very helpful during the development and the debugging phase of the stabilization algorithms.

3.3 Control framework

Figure 2 shows the generic control framework for stabilization humanoid robots during standing and walking. Since all the references generated by high level gait pattern generator are in \(\sum _{W}\) frame, therefore it is necessary to transfer the references to the local frame \(\sum _{B}\) in order to implement the proposed local stabilization strategy.

figure f

where

(15)

The left superscripts W, B, F and H of the vector are the abbreviations for World, Base, Foot and Hip frames, to indicate which Cartesian reference frame the vector represents. \({}^{b}\!\varvec{R}_{a}\) is a \(3\times {3}\) rotation matrix that transforms 3D vectors from reference frame a to b. \(\varvec{r}_{ref}^{com}\), \(\varvec{r}_{ref}^{zmp}\), \(\varvec{r}_{ref}^{{foot}_{l}}\) and \(\varvec{r}_{ref}^{{foot}_{r}}\) are the COM, ZMP, left and right foot references, respectively. is the vector from the origin of \(\sum _{W}\) to the origin of \(\sum _{B}\) which is the horizontal mid point of the left and right foot. \({}^{F}\!\varvec{F}_{real}^{l}\) and \({}^{F}\!\varvec{F}_{real}^{r}\) are the force \({}^{F}\!\varvec{f}_{real}\) and torque \({}^{F}\!\varvec{\tau }_{real}\) feedback measured by the F/T sensor in the left and right foot, respectively. \(\left\{ \varvec{r}\right\} _{x,y,z}\) denotes the x, y, and z elements of a vector \(\varvec{r}\).

Fig. 2
figure 2

Diagram of overall control framework

Therefore, the local reference position of COM and ZMP in \(\sum _{B}\) can be calculated by

(16)

thus the desired torque can be obtained using (11).

The horizontal components of the resultant torque in the local \(\sum _{B}\) coordinates are computed by

$$\begin{aligned} {}^{B}\!\varvec{\tau }_{real}&= {}^{B}\!\varvec{\tau }_{real}^{l} + {}^{B}\!\varvec{\tau }_{real}^{r} + {}^{B}\!\varvec{r}_{foot}^{l}\times {}^{B}\!\varvec{f}_{real}^{l}+{}^{B}\!\varvec{r}_{foot}^{r} \nonumber \\&\times {}^{B}\!\varvec{f}_{real}^{r}, \end{aligned}$$
(17)

where

(18)

are the position vectors from the origin of \(\sum _{B}\) to the F/T sensor for the left and right foot respectively.

At last, the local modifications of COM \({\varDelta }{x}\) and \({\varDelta }{y}\) will be computed by (9), then transformed back to \(\sum _{W}\) to be superimposed to the COM reference in the walking pattern generator using (19) in order to produce effective stabilization.

(19)

4 Simulations

To validate the effectiveness of the proposed stabilizer before the implementation on the real humanoid, two simulation studies were carried out in the simulated physics environment developed from Open Dynamics Engine (ODE). The ODE model (Fig. 3) has the same kinematics and actuator configuration of the real COMAN robot, details of the physical parameters, such as limb dimension and segmental masses can be found in Tsagarakis et al. (2013).

Fig. 3
figure 3

Kinematics and actuator configuration of the ODE model

The new COM references superimposed by the modifications of the stabilizer in (9) are the inputs to the COM based inverse kinematics (Li et al. 2012). The joint position references solved by the inverse kinematics are then sent to the on-board position controllers. The control loop runs at 500 Hz in the simulation.

After an initialization of 0.5 s, the center of pelvis moved to the position (0.0023, 0, 0.4837) m, meanwhile, the calculated overall COM was at (0.0262, 0, 0.4350) m which was close to the center of pelvis. The impulse disturbance was applied at the pelvis link in the simulation study. The desired stiffnesses and viscous coefficient in sagittal and lateral directions were set as follows: \(K_{d}^{x}=3000\) N/m, \(B_{d}^{x}=1200\) N/m, \(K_{d}^{y}=1500\) N/m, \(B_{d}^{y}=500\) N/m. Since the simulated robot was ideally rigid, the physical stiffness \(K_{s}^{x,y}\) can be considered as infinite, therefore the formula for the stiff system (12) was used for stabilizing the simulated robot.

4.1 Simulation I: standing

In the first simulation study, an external force of a half-cycle sinusoid profile with duration of 0.1 s and amplitude of 180 N was applied to the center of pelvis, along positive x and y direction respectively. The linear momentum of this disturbance was about 11.46 Ns.

Figure 4 shows the responses of COM and COP after the impulsive force disturbance in sagittal and lateral planes without/with stabilizer, respectively. In the upper plots, it is shown that the robot acted like a rigid system, resulted in oscillations of the COM and COP after the disturbance. In contrast, the active compliance control dissipated the interference by buffering the COM along the external force, so the robot recovered to the equilibrium as soon as the disturbance was over. The results show that the active compliant behavior eliminated undesired oscillations introduced by the external disturbances, and stabilized the system around its initial equilibrium at least twice faster than the case without stabilization.

Fig. 4
figure 4

Responses of COP and COM without [(a) and (b)] and with [(c) and (d)] stabilization after an impulsive disturbance in ODE

4.2 Simulation II: straight walking

In this part, we extend the proposed stabilizer to forward walking in a straight line. Since our proposed stabilizer targeted for the local stabilization without any online gait modification, the tested gait pattern was fixed. The very same pattern was generated for the comparison study to keep the same conditions for both tests without and with the stabilization. The gait started with the double support on the flat ground, and the feet were always level to the ground during walking. The gait cycle was 0.9 s, the maximum foot clearance from the ground was 0.04 m. The robot performed totally 8 steps with the step length of 0.05 m. The walking started at 3.0 s and ended before 13.0 s.

Figures 5 and 6 show the responses of COM and COP without/with stabilizer during forward walking in x and y directions, respectively. It can be seen that without the proposed stabilizer, the COP vibrated significantly during walking and even reached the edges of support foot. This phenomenon was caused by the early landing impacts, which was problematic for achieving a stable dynamic walking. This drawback was inevitable as a result of the simplified LIPM for generating the gait, because there were discrepancies between the real robot and the over simplified LIPM, for example, deformation of the mechanical structure of the robot.

Fig. 5
figure 5

Responses of sagittal COP and COM without (a) and with (b) stabilization while walking forward in ODE

Fig. 6
figure 6

Responses of lateral COP and COM without (a) and with (b) stabilization while walking forward in ODE

On the other hand, with the assistance of stabilizer, the impacts were absorbed immediately after the landing, only a very short time of impact force peak was observed in the measured data. Consequently, the stabilizer improved the COM tracking performance, and the COM motion was much smoother without jerky motions compared to the trial without the stabilization.

Figure 7 shows the orientation variations of the pelvis during the forward walking. The large range of the roll angular variation at the negative regime without the stabilizer indicated that the robot easily encountered the early landing impact with the left foot. Without compliant interaction with the ground, any small positional error during the landing of one foot can cause a noticeable impact and disturbance on the gait. However, this problem was not present anymore during the trial with the proposed stabilization, which demonstrated the effectiveness.

Fig. 7
figure 7

IMU feedback of roll (a)/pitch (b) angles without (blue) and with (red) stabilization while walking forward in ODE (Color figure online)

5 Experiments

In the previous section, the effectiveness of proposed stabilizer is validated in several simulation scenarios. The ideal conditions do not always exist in the real world compared to that in the simulation. Therefore, a real robot, the compliant humanoid COMAN, was used to validate the performance of our strategy in the following experiments. The real physical stiffnesses were identified experimentally beforehand, which were about 3200 and 25000 N/m in sagittal and lateral directions, respectively. The desired stiffnesses and viscous coefficient were chosen with the same values used in the previous simulations in order to ensure the consistent compliant behaviors in the following experiments.

5.1 Experiment I: standing

In the first experiment, the performance of standing stabilization was tested. The setting of experiment, as shown in Fig. 8, had a weight of 10 kg hanging on the ceiling by a rope of 115 cm length, and COMAN was standing on the floor for the impact tests in the sagittal and lateral planes, respectively. The weight impacted the robot at the same height of 1.1 m from two sides. Since the support polygon had different dimensions in the x and y directions, the maximum stability was certainly not the same, and the impact resistance in the lateral plane was better than that in the sagittal plane.

Fig. 8
figure 8

Experiment setting of standing stabilization

In this test, the initial position of the weight was benchmarked by the horizontal distance away from the collision point, where the rope was exactly aligned vertically. The initial distance \(|AC|_{lateral}\) for lateral impact test was 45 cm, which meant that the rope had an initial angle \({\theta }_{init}\) of 21.37\(^\circ \), and the momentum of this impact was calculated as 13.41 Ns. Additionally, for the sagittal impact test, the \(|AC|_{sagittal}\) was 28 cm. Therefore, \({\theta }_{init}\) was 13.68 degrees, and the momentum was about 8.24 Ns.

Figure 9 shows the responses of COP and COM without/with stabilization after the impact tests by a 10 kg weight. The top plots show the responses without stabilization in the sagittal and lateral planes. It can be seen that though the impact in the lateral plane was greater than that of the sagittal one, smaller amplitude of vibration of COM was observed compared with the response in the sagittal plane, which implies that robot was more stable in the lateral plane. The bottom plots show the effectiveness of oscillation reduction by the stabilizer. The overshoots of COM and COP caused by impacts were immediately damped out as soon as the removal of the disturbances, the robot recovered to its initial position and kept stable. Whereas, without stabilization, the COM and COP vibrated more than 5 s for reaching the same steady conditions.

Fig. 9
figure 9

Responses of COP and COM without [(a) and (b)] and with [(c) and (d)] stabilization after the impact tests

Figure 10 shows the reference torque by (11) and the comparison of the real applied torque by (17) without and with the stabilization, as well as the positional modification of the COM references for producing the compliant behavior. Figures 11 and 12 show the snapshots of COMAN during standing stabilization experiments in the sagittal and lateral plane, respectively. The experimental settings of the impact weight were the same in both cases without/with stabilization, as shown by the first snapshot in both sequences. The second snapshot is the exact instant when the weight hit the robot, and the following snapshots show the behavior of COMAN after impacts without/with stabilization. It can be noted that especially in the third snapshot of Fig. 12, the stabilizer controlled the robot to move its COM along the impact direction in order to buffer the external force during the disturbance, and then eliminated the position offset as soon as the disturbance was removed.

Fig. 10
figure 10

Standing test: \(\tau _{d}\) and \(\tau _{real}\) without [(a), (b)] and with [(c), (d)] stabilization during standing; e and f are the corresponding outputs of the proposed stabilizer

Fig. 11
figure 11

Snapshots of COMAN response after x-impulsive disturbance without (upper) and with (below) stabilizer

Fig. 12
figure 12

Snapshots of COMAN response after y-impulsive disturbance without (upper) and with (below) stabilizer

5.2 Experiment II: straight walking

The same walking gait used in Sect. 4.1 was applied to COMAN in order to demonstrate the performance of our stabilizer during straight walking on a real robot. The floor for this experiment was not perfectly flat so there were discrepancies such as the unevenness compared to the ideal condition assumed by the walking pattern generation. Therefore, the unprepared lab floor produced some unexpected impacts to the humanoid robot during walking.

Figures 13 and 14 show the responses of COM and COP of COMAN respectively in the x and y axes without/with the stabilizer during straight walking. We can clearly see that, with the stabilizer, the responses of both COP and COM were much smoother than those without stabilization. In Fig. 13, the trajectory of COM diverged from reference while the stabilizer was off. This happened mainly as a result of the landing impact which caused by the discrepancies between the theoretic model and the real robot, such as the intrinsic compliance of COMAN as well as the imperfect floor. For instance, during the swing phase, the spring deflections generated by the gravity in the compliant pitch joints of the support leg caused the robot to lean forward slightly, which lead to the early landing of the swing foot. This circumstance not only increased the level of deterioration of the COP response, but also shortened the actual step length at each step. On the contrary, with stabilization, COMAN was capable of walking forward without chattering.

Fig. 13
figure 13

Responses of sagittal COP and COM without (a) and with (b) stabilization while walking forward

Fig. 14
figure 14

Responses of lateral COP and COM without (a) and with (b) stabilization while walking forward

Figure 14 also implies the issue of ground impacts during the switch of support foot in the upper plot. The unexpected overshoots and undershoots of the COP response appeared between single support and double support phases. This indicates that the landing impacts pushed the robot to the opposite direction, thus disturbed the COM trajectory as well. However, these undesired behaviors were resolved when the proposed stabilizer was applied so that the controlled compliant property absorbed those accidental impacts.

Figure 15 shows the experimental data from straight walking: the reference torque by (11) and the comparison of the real applied torque by (17) without and with the stabilization, as well as the positional modification of the COM references when the stabilization was activated. Without the stabilization, the measured torque had more spikes due to the landing impact as explained before. Whereas, with the stabilization, the torque was tracked much better with repetitive patterns. The lateral positional modification of COM was within 5 mm, thus did not cause big positional deviation of the COM, so the negative influence on the dynamic stability could be ignored. However, by trading off the positional accuracy at the millimeter scale, the controller significantly improved the smoothness of the transition during the change of the support foot.

Fig. 15
figure 15

Straight walking: \(\tau _{d}\) and \(\tau _{real}\) without [(a), (b)] and with [(c), (d)] stabilization while walking forward; e and f are the corresponding outputs of the proposed stabilizer

The IMU feedback of the pelvis of the robot is shown in Fig. 16. The measurements of roll angle in the upper plot are compared between the walking trials without/with stabilization. When the stabilization was off, the ground impact created spikes in the roll angle, compared to the case when the stabilizer was on. It is in agreement with the data shown in Fig. 14. Besides, the oscillations of the pitch responses during 3 s to 11 s in the bottom plot of Fig. 16 implicitly indicated the unevenness of lab ground as well as the global inclination, since the initial and final pitch angle was \(-0.02\) and 0.02 rad respectively. The proposed stabilizer demonstrated the effectiveness in assisting the implementation of gait pattern from ideal simulations to the imperfect real word.

Fig. 16
figure 16

IMU feedback roll (a)/pitch (b) angles without (blue) and with (red) stabilization while walking forward (Color figure online)

5.3 Experiment III: omni-directional walking

The third experiment was carried out to further evaluate to what extent the stabilizer could potentially stabilize a prefixed gait without any modification of the position or timing of the footholds. The effectiveness of the proposed stabilizer was validated when COAMN performed a fixed omni-directional walking pattern.

The gait started with double support on the ground, and the feet during walking were designed to be level to the ground. The gait cycle was 0.9 s, and the foot clearance from the ground was 0.04 m. The robot performed totally 14 steps, the step length alternately changed between 0.1 and 0.05 m from step to step, and the step width was 0.05 m. The robot kept turning \(5^{\circ }\) per step to the left during the first 7 steps, and then \(-5^{\circ }\) per step to the right during the last 7 steps. Therefore, the gait used for this experiment combined walking forward, side stepping and turning, which covered most walking primitives on flat ground.

Figure 17 shows the desired COM reference in black dashed line and measured COM trajectories from omni-directional walking without/with stabilization in blue and red solid lines, respectively. Without stabilization, the robot fell down after 7 steps during the trial. It can be observed that, starting from the third step where the real COM measurement showed a small bump around 0.2 m, the robot was more influenced by the undesired foot-ground interactions. Due to the accumulated deterioration in the COM motion, the robot finally lost the balance and fell down while performing the \(8^{th}\) step.

Fig. 17
figure 17

The COM measurement during the 1st omni-directional walking test

On the contrary, the COMAN robot successfully completed the full gait pattern with the proposed stabilizer. The measurement of the COM estimation is shown by the red line in Fig. 17. The difference between the desired COM reference and the COM estimation was partly because of the limited accuracy of the odometry computed from the proprioception data of the COM, and also partly because the real robot indeed slipped its foot slightly from step to step. Therefore, as the number of steps increased, the drift between the ideal and real spatial trajectories of the COM becomes unavoidable.

Figure 18 shows the experimental data from the omni-directional walking: the reference torque by (11), and the comparison of the real torque measurement by (17) without and with the stabilization, together with the positional modification of the COM references computed by the stabilization. The ground impact became more problematic for the omni-directional walking since the step length/width and the heading were changing simultaneously. The COMAN robot finally fell down at about 10 s (marked by vertical black dashed line) when the real applied torque had too large errors. In contrast, our proposed compliance control stabilized the real torque around the desired reference, as shown in Fig. 18 c, d. The positional modification was at maximum 1 cm scale except the gait termination phase in the lateral plane around 15 s.

Fig. 18
figure 18

Omni-directional walking: \(\tau _{d}\) and \(\tau _{real}\) without [(a), (b)] and with [(c), (d)] stabilization during the 1st omni-directional walking test; e and f are the corresponding outputs of the proposed stabilizer

It should be noted that our stabilizer belongs to a local stabilization approach, it modifies the COM references relatively from the applied torque errors computed from the local reference frame in the support polygon (inertial frame). Therefore, the drifted location of the real support polygon, compared with the desired location, does not affect our computation. Certainly, to resolve the drifting issue, external visual perception is needed to close the loop of the absolute position in the global coordinate, which can be the further improvement but is not within the scope of this paper.

Figure 19 shows the comparison from an additional omni-directional walking with more number of steps, larger turning angles, including backward walking as well. Without the compliance control, the robot eventually fell at 12 s. In short, the accomplishment of this omni-directional walking experiment proves the effectiveness of the proposed stabilizer to be applied in more generic walking tasks, with the proper coordinate transformation applied, such as in (16)–(19).

Fig. 19
figure 19

Snapshots of 2nd omni-directional walking: a robot fell without stabilization; b successful gait with stabilization

6 Discussion

The necessity of the local stabilization generally arises from the discrepancies between the theoretical models and the imperfect reality (both robot and environment), as well as moderate external disturbances. An effective local stabilization strategy could reduce these undesired disturbances, and permit the high-level controllers, such as pattern generator, autonomous navigation etc., to be more easily realized on the real humanoid robots.

To form a better understanding, we compare the differences between the simplified model and the real multi-body robot both in simulations and experiments by an order of increasing complexity. The references of COM and COP generated by the ideal LIPM based pattern generator shown in Sects. 4 and 5 are smooth, steady and continuous at each phase of locomotion. This pattern is obtained assuming a perfect kinematic tracking of the real system. However, during the straight walking for instance, without any stabilization control, we observed spikes caused by ground impacts in the measurements of COP and applied torque both in simulation (Figs. 5 and 6) and experiments (Figs. 13, 14, 15, and 18).

This issue is unavoidable because of the fundamental aspect of walking: exchange of support foot. No matter in a simulated or real robot, to form a new contact, the impact between the foot and the ground inevitably occurs. This not only introduces the landing impacts but also deteriorates the COM tracking in a global scale as shown in Figs. 13 and 14. The robot even fell while performing a more complicate locomotion task in Sect. 5.3 without the stabilization.

On the other hand, after introducing the proposed local stabilization strategy, the results of the COM, the COP, and the applied torque in both simulations and experiments indicate that the landing impacts are well compensated. Furthermore, the tracking performances in presence of the small unevenness of the terrain and the intrinsic compliance of COMAN were improved as well. Particularly, when the robot was performing the omni-directional walking, the proposed stabilizer allowed the robot to complete the gait with variable step length/width and turning simultaneously.

7 Conclusion

A local stabilization strategy based on active compliance regulation is introduced in this paper. The general formulation allows this stabilizer to keep the local stability of the humanoid robot. Our study shows that an additional control, such as our proposed stabilization, is needed, despite the intrinsic compliance can reduce the undesired landing impact to some limited extent according to our previous study (Li et al. 2013). Both simulations and experiments demonstrate the effectiveness of our actively regulated compliant control in different locomotion tasks, such as standing, straight and omni-directional walking in our investigation.

Since our proposed stabilization control could guarantee the successful execution of standing balancing and walking, on top of this basis, we are permitted to develop more sophisticated control to online regulate the gait pattern, such as changing the foot placement, to gain a better global stability under large external disturbances. This effective stabilization control serves as a good foundation for our future work towards more autonomous locomotion of humanoid robots.