Proceedings of the 2003 IEEE
International Conference on Robotics & Automation
Taipei, Taiwan, September 14-19, 2003

Aerial Posture Control for 3D Biped Running Using
Compensator around Yaw Axis
Sang-Ho Hyon
Dept. of Mechatronics & Precision Eng.
Tohoku University
Aramaki-Aza-Aoba 01, Sendai 980-8579
Japan(sangho@ieee.org)

Takashi Emura
Dept. of Mechatronics & Precision Eng.
Tohoku University
Aramaki-Aza-Aoba 01, Sendai 980-8579
Japan(emura@emura.mech.tohoku.ac.jp)

Abstract— A new 3D biped prototype with small DOF,
SKIPPER, was developed. As an important componentof a running controller for this robot, an aerial posturecontroller is presented. This is the extended version ofplanar running controller, which was previously developed for a passive one-legged hopping robot, and plays
important roll for orbital stabilization at the lowest control layer. The controller stabilizes three output functions defiened as lareral leveling, holonomic constraint ofpitch dynamics, and linearization of swing leg dynamics.
Simulation results show that the robot achieves desired
posture control for wide sets of initial conditions, naturally utilizing its compensator around yaw axis. In thispaper, after describing the 3D biped model and its basic
running control strategy, the details of the aerial posturecontroller are presented, as well as the simulation results.

Head
Rotor

Torso

Hip

I. Introduction
After Raibert’s excellent works [1], running
robots have been widely studied both experimentally [2][3][4][5][6] and theoretically [7][8][9]. On theother hand, recently there are many studies on bipedhumanoid robots with the aim of practical application.
Many successful 3D biped walking motions have beenrealized (for example, Honda Humanoid Robot [10]).
Therefore, enhancing the mobility of them is important
target to be reached.
Running control of autonomous biped humanoid
robot is included in such targets. Energy-eﬃcient running control is especially crucial for autonomous humanoid robots because it directly extends the operationtime.
In this context, there have been some fundamental researches on energy-eﬃcient running control. Tompson
and Raibert showed that spring-driven one-legged hopping robot can hop without any inputs, provided if theinitial conditions were appropriately chosen [11]. Ahmadi and Buehler applied Raibert’s algorithm to thisrobot and realized energy-eﬃcient hopping in simulation and experiment [12][13]. François and Samson derived the elegant controller based on the general control
method used in nonlinear oscillatory system [14].
Motivated from their works, Hyon and Emura proposed alternative controller based on its energy analysis [15]. The distinctive feature of this controller is0-7803-7736-2/03/$17.00 ©2003 IEEE

Knee
Foot

Fig. 1. 3D biped robot – SKIPPER

the dead-beat of both leg angle and angular velocity atgiven ﬂight time. This enables the mechanical energy
at touchdown to be non-dissipative. As a result, interesting quasi-periodic gaits, which can be seen in some
Hamiltonian system, were found, and orbital stabilization was achieved.
This paper proposes an aerial posture control, whichmakes it possible to apply the planar touchdown control in the literature [15] to a 3D biped robot. The
paper is organized as follows: Section II describes themodel of 3D biped running robot, whereat, the hardware overview and the equation of motion of simpliﬁed model are given. Section III includes four subsections. Herein, the decoupling controller, lateral leveling
controller, holonomic constraint control, and dead-beattouchdown controller are presented in order. Section IV
gives simulation results. Section V concludes this paper.

57

ψ3
Rotor

e3
M
e2
Torso
z

Lb

Leg2

ψ2 −ψ
1
θ1

Z

L

e1
z

y

2d

x

C. Equations of motion at flight phase

m
Leg1

X

Z
Y

Lateral view

resents the Roll, Pitch and Yaw angles of the torso. M
includes the mass of torso, rotor and head. The foot ismass-less, and hence, has no eﬀects on leg length. All
principal axis of each rigid part are coincident with theircenter axis.
Table I shows the physical parameters, together
with the values used in later simulations, where
Iix, Iiy, Iiz (i = 0, 1, 2, 3) are the principal inertia ofeach part.

Front viewFig. 2. Simpliﬁed model

II. Model of 3D biped running robot
A. Hardware Overview
Figure 1 shows the 3D biped prototype, named SKIPPER. The robot has telescopic legs swinging aroundpitch axis and a rotor rotating around yaw axis at the
top of the torso. There is no actuator at each foot, thatis, the robot stands on the ground with point contacts.
The total DOF is ﬁve and it is relatively small compared to that of existing 3D biped robots. The main
goal of this biped robot having a small number of DOF
is to develop energy-eﬃcient controller for various 3D
motions including walking or running [16].
Overall height of the robot is 0.84[m] and the total
weight is about 8[kg]. Five geared DC motors of 20[W]are installed on each joint. For the telescopic joint at
the knee, high-lead ball screws are used to avoid selflocking. In addition, to assist the knee actuator, a coilspring is installed along the foot and parallel to the ballnut. It will enable the robot to perform both rigid andcompliant walking or running. Main sensors are rotary
encoders at each joint, three gyros in the head, andforce sensors at the foot. To allow the robot to move
three-dimensional space freely, all the control circuits
and power supply are on board.

The generalized coordinates are deﬁned as the position of center of mass (COM) x = (xg , yg , zg )T ∈ R3 ,the attitude of the torso e = (e1 , e2 , e3 )T ∈ R3 , andjoint angles p = (ψ1 , ψ2 , ψ3 )T ∈ R3 .
The equations of motion can be derived through Lagrangian formulation.

 

M 0
0


  0 M 0 ẍ
0(3 × 6)  ë 
0
0 M





p̈
N11 N120(6 × 3)
N21 M22


0




−M g
0(3 × 1)
 +  0(3 × 1)  , (1)0= H1 (e, p, ė, ṗ) τ
H2 (e, p, ė, ṗ)
where M = 2m + M b is the total mass and g is gravity
T, and N22 ∈ R3×3 are theacceleration. N11 , N21 = N12
inertia matrix contains only e and p. H 1 and H2 ∈ R3×1
are the nonlinear terms that contain only e, p, ė, and ṗ.
The generalized forces are τ = (τ 1 , τ2 , τ3 )T ∈ R3 , whereτ1 and τ2 are the hip torques and τ3 is the torque of therotor.
Since the COM of the robot moves along the path oftrivial ballistic ﬂight, we focus on the lower part of theEq. (1), i.e. the dynamics about e, p, hereinafter.
D. Lateral stability and control strategy
Needless to say, lateral stability is important for 3D
biped robot, even when moving forward. Clearly, theTABLE I
Robot parameters

Variables
L, Lb , d
Mb , m
I0x , I0y , I0z
I1x , I1x , I1x
I2x , I2x , I2x
I3x , I3x , I3x

B. Simplified Model
Figure Fig. 2 shows the simpliﬁed model of SKIPPER
described above. It is composed of four rigid bodies;
torso, leg 1, leg 2, and rotor. Inertial coordinate system
ΣXY Z is set on the ground and local coordinate systemΣxyz is set on the torso. The coodinates (e 1 , e2 , e3 ) rep-

58

Unit
m
kg
kgm2
kgm2
kgm2
kgm2

Values0.1, 0.224, 0.04
6.11, 1.126
0.06, 0.06, 0.02
0.004, 0.004, 0.001
0.004, 0.004, 0.001
0.035, 0.035, 0.07

lateral moment applied to the robot, which comes fromthe ground reaction force, is larger in running than inwalking. However, controlling lateral motion is diﬃcult
for our robot because it has no actuator of Roll-axis [17].
There are two possible solutions to achieve lateralstability. One is controlling the ground reaction forces
appropriately using leg thrust force of each leg during
stance phase. However, this method may deteriorate
the stability of forward (pitch) motion. Another solution is to keep the lateral level of the robot so as to direct
the bearing to the direction of falling during flight phase.
Rotor (Yaw-axis compensator) can be used for this purpose. The rotor can be also used at stance phase to compensate Yaw-axis moment arising from the leg swinging
motion. These two usage of the rotor will achieve boththe lateral stability and the bearing tracking. In thispaper, we will focus on controlling at ﬂight phase. It
should be noted that we are not intend to use it explicitly, e.g. PD feedback. Managing of the rotor is entirelyleft to the controller.
If the leveling control works well, we only have to control a swinging leg appropriately using the controller forplanar model proposed in [15]. This is our ﬁrst control
strategy for 3D biped running robot.
III. Controller
This section gives the details of the controller. First,
the decoupling control is given in Section III-A. Next,
lateral leveling control, holonomic constraint control,
and touch down control are described in Section IIIB, III-D and III-C respectively. And ﬁnally, the control
input is calculated in Section III-E.

angles p and input torques τ . We have to choose
carefully the variables to be controlled because thesystem is under-actuated.
Remark 2) The most of the interests of underactuated system is to control more number of variables than that of inputs. However, diﬀerent fromspace robots, given time (ﬂight time) to ﬁnish control task for running robots is quite limited. Thus,
the authors think it unrealistic to use nonholonomic
control during ﬂight phase.
B. Lateral leveling control
Turning to the direction of falling means keeping thelevel of local y-axis (Fig. 2). Here we call it lateral leveling control.
This can be formulated as the Z-component of theunit vector of y-axis are zero, that is,  
0Ee  1 0Z
= cos e1 sin e2 sin e3 + sin e1 cos e3 = 0

where Ee is the coordinate transformation matrix from
Σxyz to ΣXY Z .
This can be controlled using the idea of Input-Output
Linearization [18]. Deﬁning output function
α := cos e1 sin e2 sin e3 + sin e1 cos e3α̈ + kad α̇ + kap α = 0

N11 ë + N12 p̈ + H1 = 0
N21 ë + N22 p̈ + H2 = τ

(2)
(3)

, and deleting p̈ from Eq. (2) and Eq. (3) givesë =−1H1 − H 2 + τ
N22 N12−1(N21 − N22 N12
N11 )

(4)

Deﬁning the right hand side as a new control input v ∈R3 yields the decoupled control system:(7)

and control it to be zero. For output zeroing, the following equation is used.

A. Decoupling control
The equation of motion Eq. (1) is highly nonlinear
and formidable to derive posture controllers. Therefore,
it is decoupled using a new control input.
Rewriting the concerned part of Eq. (1) as:

(6)

(8)

where kad > 0 and kap > 0 are the gains. On the other
hand, expanding α̈ givesα̈ = a1 e¨1 + a2 e¨2 + a3 e¨3 + a4

(9)where ai (i = 1, 2, 3, 4) is the nonlinear terms that contain only e, p, ė and ṗ.
Therefore, the condition that ë must satisfy to achieve
the control goal Eq. (6) is writen as:


e¨1
(10)
(a1 a2 a3 )  e¨2  = −(a4 + kad α̇ + kap α)e¨3
C. Holonomic constraint controlë = v(5)

Some remarks are in order.
Remark 1) Having obtained Eq. (5), it is easy to control e directly to desired values using e.g. PD feedback law. But we cannot tell what happens on joint

Integrating Eq. (2) gives three ﬁrst integrals, i.e. angular momentums around COM. But this is nonholonomic constraint and is not easy to deal with. As mentioned in Remarks above, there are no time to apply
some complex attitude controllers during ﬂight phasefor running robot. Also, it has no meaning to control

59

directly the attitude e. Instead, the following simple
target dynamics are introduced.
e˙2
ψ¨1= e˙2 (0)
= u1

(11)
(12)

Equation (11) means imposing the holonomic constraint of virtual angular momentum around Pitch-axis.
Note that it suits normal biped running gait because
this constraint holds approximately, when the both legs
are swung symmetrically (ψ˙1 + ψ˙2 = 0). On the other
hand, Eq. (12) is to control a swinging leg arbitrarily using a new control input u1 . These target dynamics areused in touchdown control at the next section. Note that
putting these two equations together with the above leveling control, three (the same number of control inputs)
control goals were set.
Below we describe how to achieve these control goal.
First, for Eq. (11), simply deﬁne output function andcontrol it to be zero, as done in the previous section.
The output function in this case is deﬁned asγ := e˙2 − e˙2 (0)Deﬁning new variables




θ1
e2
Φ :=
, Θ :=e˙2
θ˙1

and descretizing Eq. (12) using the piecewise constant
inputsuˆ1 ,if 0 ≤ t < Tv /2
(19)
u1 =
if Tv /2 ≤ t < Tvuˆ2 ,, the dead-beat control inputs can be calculated as follows:


uˆ1
uˆ2



= B(Tv )−1 {Ψ(Tv ) − A(Tv )Ψ(0)}

where


A(Tv ) =

1 Tv
0 1

 3

2
8 Tv
1
2 Tv

B(Tv ) =

(13)

(14)

where kg > 0 is the gain, Eq. (13) converges to zero.
Therefore, merging Eq. (13) and Eq. (14) gives the following condition.
e¨2 = −kg γ,ψ¨1 = −(c1 e¨1 + c2 e¨2 + c3 e¨3 + c4 )(16)

where ci (i = 1, 2, 3, 4) is the nonlinear terms that contain only e, p, ė and ṗ. Therefore, substituting it to
Eq. (12), we obtain


e¨1
(17)
(c1 c2 c3 )  e¨2  = c4 + u1
e¨3
D. Touchdown control of swing leg (dead-beat)
The purpose here is to dead-beat the absolute angleof the swing leg θ1 (Fig. 2) and its velocity θ˙1 to arbitraldesired values at given ﬁxed time Tv (ﬂight time) as in[15].
Since Eq. (12) is the second order linear ODE, we
can easily dead-beat ψ1 and ψ˙1 , by only once-switchingof the constant inputs 1 . Note that θ1 = ψ1 + e2 andθ˙1 = ψ˙1 + e˙2 .
1 Diﬀerent from passive one-legged hopper in [15], SKIPPER
prototype does not have hip spring at present. Therefore, here weused the simplest dead-beat controller.

(21)


2

1
8 Tv
1
2 Tv

(22)
(23)

, and Θd is the arbitral desired value to be set.
E. Calculation of control input
Using Eq. (10), Eq. (15) and Eq. (17) we get


 

a1
0
c1

(15)

Next, Eq. (12) is treated as follows. Taking the ﬁrst
equation from Eq. (3) gets

(20)



Ψ(Tv ) = Θd − A(Tv )Φ(0)Usingγ̇ + kg γ = 0

(18)

a2
1
c2

a3
0
c3

e¨1
e¨2
e¨3

=

a4 + kad α̇ + kap α
kg γ
c 4 + u1(24)

where u1 is the values in Eq. (19) and Eq. (20).
From this equation the desired angular accelerationof torso ëd can be calculated as:

−1 

ëd

=

a1
0
c1

a2
1
c2

a3
0
c3

a4 + kad α̇ + kap α
kg γ
c 4 + u1(25)

Substituting this to ë in Eq. (4) yields control input τ .
IV. Simulation
Using the controller described above, numerical simulations were carried out. This section demonstrates oneof the examples, in which, the simulation starts fromlift-oﬀ and terminates at touchdown. The initial conditions were set as Table II, where e˙1 (0) = −1 rad/smeans that the robot has initial angular momentum of
Roll-axis at the instant of lift-oﬀ. This means the robot
will fall down to the left without control. Dead-beattime is set to Tv = 2zg (0)/g = 0.3 s (ﬂight time) anddesired touchdown values of swing leg is set to θ 1d = −1
rad and θ̇1d = 3 rad/s.
The time evolution of each variable are depicted inFig. 3 to Fig. 7, where the transverse axis is time [sec].

60

0

TABLE II
Initial conditions−0.005

Values0, 0, 0.2
0, 0.01, 00.01, 0, 0
0, 0, 1.5
-1, 0, 00, 0, 0−0.015−0.02−0.025
0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.1
0.05
0

γ

Unit
m
rad
rad
m/s
rad/s
rad/s

α

−0.01

Variables
xg (0), yg (0), zg (0)e1 (0), e2 (0), e3 (0)ψ1 (0), ψ2 (0), ψ3 (0)x˙g (0), x˙g (0), x˙g (0)e˙1 (0), e˙2 (0), e˙3 (0)ψ˙1 (0), ψ˙2 (0), ψ˙3 (0)

−0.05
−0.1
0

2
e
1
e
2
e

1.5
1

Fig. 6. Output functions

3

0.5

0.5

0
0
0.05

0.1

0.15

0.2

0.25

0.3

0.35
θ1

−0.5
0

−0.5

30

−1

e1D
e2D
eD
3

20

−1.5
0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.05

0.1

0.15

0.2

0.25

0.3

0.35

10
5

0
0.1

0.15

0.2

0.25

0.3

0

0.35

1

0.05

θD

−10
0

−5

Fig. 3. Attitude of torso
−10
0

1

ψ1
ψ2
ψ3

0

Fig. 7. Swing leg angle and velocity

−1
−2
−3
0

0.05

0.1

0.15

0.2

0.25

0.3

10

0.35

ψ1D
ψD
2
ψ3D

0
−10
−20
−30
−40
0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Fig. 4. Joint angles
20

τ1
τ2
τ3

0
−20
−40
−60
−80
0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.1
M1
M2
M

0

3

−0.1
−0.2
−0.3
0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Fig. 5. Input torques and angular momentums

Figure 8 shows corresponding animation, where therobot turns to the left after lift-oﬀ. This animation was
generated by the dynamics simulation software, named
DADS (http://www.cybernet.co.jp). The upper graphof Fig. 3 and Fig. 4 show that the robot uses its rotor
to turn to the left. The upper graph of Fig. 5 shows therobot needs relatively large Yaw-axis torque to turn and
it is coincident with our intuition. The bottom graphdepicts three components of angular momentum aroundCOM. Here, only M1 , the value about Roll-axis, is nonzero. It corresponds to the initial condition e˙1 (0) = −1
rad/s. Figure 6 shows the convergence of output functions. The convergence rate of output functions can bechanged by tuning gains. Note that γ is maintained to
be zero because there are no disturbance at ﬂight phasein this simulation. Figure 7 indicates that the angle andits velocity of swing leg reach desired values exactly at
the given ﬂight time. Consequently, the eﬀectiveness ofthe controller was conﬁrmed.
However, we found the controller has singularity atsome conﬁguration. For example, if the desired touchdown angle θ1d is set to be −2 rad, hip angle ψ 1 passes
through π/2, and then encounters singularity. Obviously it comes from invertibility of Eq. (25). Al-

61

0.00 [s]0.24 [s]0.08 [s]0.32 [s]0.16 [s]0.40 [s]Fig. 8. Animation using DADS; starting from free fall, thenturning to left (direction of falling) and touchdown

though singular conﬁgurations do not exist around normal workspace, the analysis and its avoidance is left as
an important task.
V. Conclusion
In this paper, an aerial posture controller for our ner
3D biped running robot, SKIPPER, was presented. Although the controller has singular conﬁguration, simulation results show that the controller can achieve desired
posture control in normal workspace.
The current work includes putting robustness to thecontroller and derivation of eﬀective nonlinear controller
at stance phase, which ensures the orbital stability ofwalking or running.
References[2] G.Zeglin, B.Brown: Control of a bow leg hopping
robot, Proc. of IEEE ICRA, pp.793–798, 1998.
[3] D.Papadopoulos, M.Buehler: Stable running ina quadruped robot with compliant legs, Proc. ofIEEE ICRA, pp.444–449, 2000.
[4] U.Saranli, et.al. RHex: a simple and highly mobile
hexapod robot, Int. J. Robotics Research, vol.20,
no.7, pp.616–631, 2001.
[5] H.Kimura, et.al.: Three-dimensional adaptive dynamic walking of a quadruped-rolling motion feedback to CPGs controlling pitch motion, Proc. ofIEEE ICRA, May 2002.
[6] S.Hyon, T.Mita: Development of a Biologically Inspired Hopping Robot –“Kenken”, Proc. of IEEE
ICRA, pp.3984-3991, May 2002.
[7] D.Koditschek, M.Buehler: Analysis of a simpliﬁed
hopping robot, Int. J. Robotics Research, vol.10,
no.6, pp.587–605, 1991.
[8] R.M’Closkey, J.Burdick: Periodic motions of a
hopping robot with vertical and forward motion,
Int. J. Robotics Research, vol.12, no.3, pp.197–218,
1993.
[9] W.Schwind, D.Koditschek: Control of forward velocity for a simpliﬁed planar hopping robot, Proc.ofIEEE ICRA, pp.691–696, 1995.
[10] K.Hirai, et.al.: The development of Honda Humanoid Robot, Proc. of IEEE ICRA, pp.1321–
1326, 1998.
[11] C.Thompson, M.Raibert: Passive dynamic running, Experimental Robotics I, eds. V.Haywardand O. Khatib., pp.74-83, Springer, 1989.
[12] M.Ahmadi, M.Buehler: Stable control of a simulated one-legged running robot with hip and leg
compliance, IEEE Trans. on Robotics and Automation, vol.13, no.1, pp.96–104, 1997.
[13] M.Ahmadi, M.Buehler: The ARL Monopod II running robot: control and energetics, Proc. of IEEE
ICRA, pp.1689–1694, 1999.
[14] C.François, C.Samson: A new approach to thecontrol of the planar one-legged hopper, Int. J.
Robotics Research, vol.17, no.11, pp.1150–1166,
1998.
[15] S.Hyon, T.Emura: Quasi-periodic gaits of passive one-legged hopper, Proc. of IEEE/RSJ IROS,
pp.2625-2630, 2002.
[16] T.Emura, et.al: A biped hopper controlled aroundyaw axis by body-twisting motion, Proc. of ICOM,
June 2003 (Accepted).
[17] A.Kuo: Stabilization of lateral motion in passive
dynamic walking, Int. J. Robotics Research, vol.18,
no.9, pp.917–930, 1999.
[18] H.Khalil: Nonlinear Systems, 2nd ed., PrenticeHall, 1996.

[1] M.Raibert: Legged Robots That Balance, MIT
Press, 1985.

62