Enhancing Zero Moment Point-Based Control Model 2011
Enhancing Zero Moment Point-Based Control Model 2011
Enhancing Zero Moment Point-Based Control Model 2011
brill.nl/ar
Full paper
Abstract
The approximation of a humanoid robot by an inverted pendulum is one of the most frequently used models
to generate a stable walking pattern using a planned zero moment point (ZMP) trajectory. However, on
account of the difference between the multibody model of the humanoid robot and the simple inverted
pendulum model, the ZMP error might be bigger than the polygon of support and the robot falls down.
To overcome this limitation, we propose to improve the accuracy of the inverted pendulum model using
system identification techniques. The candidate model is a quadratic in the state space representation. To
identify this system, we propose an identification method that is the result of the comprehensive application
of system identification to dynamic systems. Based on the quadratic system, we also propose controlling
algorithms for on-line and off-line walking pattern generation for humanoid robots. The efficiency of the
quadratic system and the walking pattern generation methods has been successfully shown using dynamical
simulation and conducting real experiments on the cybernetic human HRP-4C.
© Koninklijke Brill NV, Leiden and The Robotics Society of Japan, 2011
Keywords
Humanoid robot, zero moment point control, system identification, optimization, nonlinear system control
1. Introduction
Research on biped humanoid robots is nowadays one of the most active research
fields in robotics. Making humanoid robots walk has been the subject of intensive
investigation over recent years. Many researchers have proposed different methods
to generate a stable walking motion for a humanoid robot [1–8]. Most of these
methods use a simplified model based on the approximation of the humanoid robot
© Koninklijke Brill NV, Leiden and The Robotics Society of Japan, 2011 DOI:10.1163/016918610X551773
428 W. Suleiman et al. / Advanced Robotics 25 (2011) 427–446
by an inverted pendulum model. The mass of the inverted pendulum coincides with
the centre of mass (CoM) of the humanoid robot.
In order to generate a stable motion (dynamically balanced), those methods use
the zero moment point (ZMP) principle [9]. The ZMP is a point of the support
polygon (i.e., the convex hull of all points of contact between the support foot (feet)
and the ground) at which the horizontal moments are vanishing.
The cart-table model proposed by Kajita et al. [3] is one of these methods. The
efficiency of this method has been proved by generating on-line stable walking
motions using a planned trajectory of the ZMP.
Some methods have been proposed to compensate for the error between the sim-
ple inverted pendulum model and the multibody model of the humanoid robot [10,
11]. To achieve the same goal, however, the purpose in this paper is to show that
the linear model related to the cart-table model can be improved by capturing the
dynamic difference between the the multibody model of the humanoid robot and
that of the cart-table model, then identifying a quadratic system [12] that is able to
approximate this difference. Furthermore, we aim to give insights into the problem
of controller design of the quadratic system in order to generate dynamically stable
walking patterns. The dynamic balance of the humanoid robot during the execution
of the ZMP trajectory is subject to several perturbations, such as inaccuracy of the
dynamic and kinematics parameters, and the flexibility in some joints of the hu-
manoid robot. However, by guaranteeing that the ZMP trajectory is always inside
a safety margin of stability, the on-line stabilizer can ensure the dynamic balance
of the humanoid robot. Therefore, the dynamic stability is guaranteed by tracking
a predefined ZMP trajectory that is always inside the polygon of support while re-
specting a safety margin.
The proposed controlling algorithms are classified into two categories:
(i) Off-line walking pattern generation algorithms: in this category the compu-
tational time is not considered and the objective is to track the desired ZMP
trajectory precisely.
(ii) On-line walking pattern generation algorithms: in this category the computa-
tional complexity of the controller should respect the real-time constraints. In
this case, the desired ZMP trajectory is tracked as much as possible.
This paper is organized as follows. An overview of the cart-table model and the
proposed model to improve the reliability of the cart-table model is discussed in
Section 2. An adapted identification method for the identification of the quadratic
system is developed in Section 3. Section 4 points out the problem of design-
ing a controller to track a desired ZMP trajectory. The efficiency of the proposed
quadratic system and the walking generation algorithms is shown in Section 5
through real experiments on the cybernetic human HRP-4C [13].
W. Suleiman et al. / Advanced Robotics 25 (2011) 427–446 429
where xij is the element of the ith line and the j th column of the matrix X.
The above model has been used to generate a stable biped waking pattern using
a preview controller [3]. However, when the error between the output of this model
and the real ZMP trajectory of the humanoid robot becomes bigger than the stability
margin, then the robot falls down. The solution proposed by Kajita et al. [3] is to
inject this error in the preview controller as a second stage in order to eliminate
the dynamic error. However, this procedure requires the dynamic simulation of the
multibody model of the humanoid robot; as a result, it is a time-consuming process.
To overcome this problem, we propose to model the ZMP of the humanoid robot
by the model given in Fig. 2. This model consists of two blocks: (i) the previous
cart-table model and (ii) a linear system with respect to the input uk ⊗ Xk .
The obtained model is a quadratic system in the state space representation. This
realization of the quadratic system is given by:
Xk+1 = A1 Xk + B1 uk
pk = C1 Xk + C2 Zk ,
3. System Identification
It is clear that the system is defined by the coefficient matrices of (10). The unknown
matrices are A2 , B2 and C2 . That means that the structure parameters can be given
by
⎡ ⎤
vec(A2 )
θ = ⎣ vec(B2 ) ⎦ , (11)
vec(C2 )
where vec(·) denotes the vectorization operator, which is defined as follows
vec : M ∈ Rm×n → Rm·n
vec(M) = vec [ m1 m2 · · · mn ] = [ mT1 mT2 · · · mTn ]T .
Given the input uk and the output pk of the real system, our goal is achieved if the
output of the following model:
X̂k+1 = A1 X̂k + B1 uk
Ẑk+1 (θ ) = A2 (θ )Ẑk (θ ) + B2 (θ )(uk ⊗ X̂k ) (12)
p̂k (θ ) = C1 X̂k + C2 (θ )Ẑk (θ ),
approximates the output pk of the real system accurately enough.
This criterion can be transformed into the minimization of the output error with
respect to the parameter θ . Considering a data set of N samples, the output error
cost function is given by:
N
1 1
JN (θ ) = pk − p̂k (θ )22 = EN (θ )T EN (θ ), (13)
N N
k=1
signals. The objective of each set is exciting one or more modes of the system.
The multiple experiments should be exploited simultaneously to obtain an accurate
model of the system.
The optimization problem that considers K experiments simultaneously can be
formulated as:
K Ni
1 1 2 1
JK (θ ) = pki − p̂ki (θ )2 = EK (θ )T EK (θ ), (16)
K Ni K
i=1 k=1
where:
EK (θ ) = [EN
1
1
(θ )T EN
2
2
(θ )T · · · EN
K
K
(θ )T ]T , (17)
and:
1
i
EN i
(θ ) = √ [ei (1)T ei (2)T · · · ei (Ni )T ]T , (18)
Ni
is the error vector in which ei (k) = pki − p̂ki (θ ). pki is the output of the system
according to the input uik .
The estimated output p̂ki (θ ) of the data set number i is given by:
i
X̂k+1 = A1 X̂ki + B1 uik
i
Ẑk+1 (θ ) = A2 (θ )Ẑki (θ ) + B2 (θ )(uik ⊗ X̂ki ) (19)
p̂ki (θ ) = C1 X̂ki + C2 (θ )Ẑki (θ ).
The minimization of (16) can be calculated, similarly to the case of a single
experiment, by using the iterative gradient search method as:
θ̂ l+1 = θ̂ l − (ψK (θ̂ )ψK (θ̂ l ) + λl I )−1 ψK
T l T l
(θ̂ )EK (θ̂ l ), (20)
where:
⎡ ⎤
ψN1 1 (θ )
⎢ 2 ⎥
⎢ ψN2 (θ ) ⎥
⎢
ψK (θ ) = ⎢ ⎥ (21)
.. ⎥
⎣ . ⎦
K
ψNK (θ )
and:
i (θ )
∂EN
ψNi i (θ ) i
, (22)
∂θ T
is the Jacobian of the error vector ENi .
i
In order to apply the identification algorithm, the input and output signals are
supposed to be known. In our case, a sequence of walking patterns has been de-
ployed to identify the quadratic system. The input data sets have been calculated
using the method proposed by Kajita et al. [3] by defining the ZMP trajectories (the
output signals).
434 W. Suleiman et al. / Advanced Robotics 25 (2011) 427–446
4. Controller Design
The problem of designing a controller to follow a desired ZMP trajectory can be
formulated as:
N
min uTk Qu uk + (pkref − pk )T Qe (pkref − pk ) subject to
uk
k=0
Xk+1 = A1 Xk + B1 uk
(23)
Zk+1 = A2 Zk + B2 (uk ⊗ Xk )
pk = C1 Xk + C2 Zk ,
where pkref designs the desired ZMP trajectory and N is the number of last sampling
of the trajectory.
In this section we propose one algorithm for off-line control and two algorithms
for on-line control of the quadratic system. The off-line algorithm is useful, for
instance, in the case of motion planning. In this case, the path of the humanoid robot
is provided off-line. However, for reactive motions and human–robot interactions,
the on-line control algorithms are crucial.
W. Suleiman et al. / Advanced Robotics 25 (2011) 427–446 435
In other words, the optimization problem has been transformed into finding the
vector uS ∈ R2l . Note that the trajectory of the CoM of the robot can be directly
obtained from Xk by applying the input signal uk to the quadratic system (10).
4.2. On-Line Walking Pattern Generation Algorithm I
The idea of this algorithm is to linearize the quadratic system and then control the
linearized system. The linearized system of quadratic system (10) around the value
436 W. Suleiman et al. / Advanced Robotics 25 (2011) 427–446
Xk = X is given by:
Xk+1 = A1 Xk + B1 uk
Zk+1 = A2 Zk + B2 (uk ⊗ X ) (28)
pk = C1 Xk + C2 Zk .
Let us define the matrix B2,j as:
B2,j = B2 (:, (j − 1)n1 + 1 : j n1 ), (29)
where n1 denotes the dimension of Xk (in our case n1 = 6) and the notation
M(:, i : j ) designs the submatrix of matrix M that contains the columns from the
ith to j th column.
Using (29), the variable B2 (uk ⊗ X ) can be formulated as:
B2 (uk ⊗ X ) = [ B2,1 X B2,2 X · · · B2,m X ] uk
B2 uk . (30)
Using the above definitions, the linearized system (28) can be reformulated as:
Xk+1 = AXk + B uk
(31)
pk = CXk ,
where:
Xk A1 0
Xk = , A= ,
Zk 0 A2
(32)
B1 0
B= , C = [ C1 C2 ] .
0 B2
Therefore, the controller design problem (23) is transformed into the following
problem:
L
min uTk Qu uk + (pkref − pk )T Qe (pkref − pk ) subject to
uk
k=0
Xk+1 = AXk + B uk (33)
pk = CXk .
The above optimization problem is well known in automatic control as the pre-
view control of a linear system. The optimal input signal (uk ) can be obtained by
applying the classical linear-quadratic state-feedback regulator (LQR) technique.
Thus, when the ZMP reference is previewed for NL future steps at every sampling
time, the optimal controller that minimizes the objective function (33) is given by:
⎡ pref ⎤
k+1
⎢ pref ⎥
⎢ k+2 ⎥
uk = −K Xk + [ f1 f2 · · · fNL ] ⎢ . ⎥ , (34)
⎣ .. ⎦
ref
pk+N L
W. Suleiman et al. / Advanced Robotics 25 (2011) 427–446 437
5. Experimental Results
5.1. Humanoid Robot: Kinematic Structure
The proposed walking patterns generation algorithms have been validated using
the cybernetic human HRP-4C[13]. HRP-4C is a life-size humanoid robot that
was developed for entertainment use, such as a fashion model, master of cere-
monies of various events, etc. For these applications, it has been decided to make
it more human-like than the humanoid robots that have been developed so far [16,
17]. In order to realize a human-like shape, its dimensions are designed referring
to a database of Japanese women of the 20th century (Table 1) [18]. The basic
joint configurations are shown in Fig. 3 (right) (face and hand joints are not dis-
played).
5.2. Identification of the Quadratic System
In order to identify the quadratic system, we have simulated several walking pat-
terns with different step length and walking speed values. We define the model
Table 1.
Specifications of the cybernetic human HRP-4C
Figure 3. Exterior and joint configuration of cybernetic human HRP-4C (face and hand joints are not
displayed).
where p̂k denotes the estimated output signal (the output of the quadratic system)
and p̄k is the mean value of the real output of the system pk (ZMP trajectory of the
multibody model; Fig. 4).
The optimal dimension of the state Zk has been calculated according to the pro-
cedure explained in Ref. [14] and we obtained n = 8.
In order to validate the identified model, the number of conducted simulation
walking patterns and the accuracy of the identified quadratic system model are given
in Table 2.
Depending on the accuracy reported in Table 2, we have chosen the identified
model that is the result of using 10 walking patterns. In Fig. 5, we observe that the
quadratic system is perfectly able to capture the dynamic difference between the
multibody model and the simple cart-table model. For more details on the identifi-
cation procedure, refer to Ref. [19].
5.3. Results
5.3.1. Off-Line Walking Pattern Generation Algorithm
The application of the off-line walking pattern generation algorithm in order to
track a desired trajectory of the ZMP is applied to the cybernetic human HRP4-C.
We have chosen a basis (Sk ) of 40 B-spline functions. The optimization algorithm
stops when the norm of the error between the planned ZMP (pref ) and the output
of the quadratic system is less than 10−4 m. The ZMP error between the multibody
440 W. Suleiman et al. / Advanced Robotics 25 (2011) 427–446
Figure 4. Reference ZMP trajectory (dashed lines), ZMP of the multibody model (solid lines) and
safety region of stability (dotted lines).
Table 2.
Accuracy of the identified model
2 89.7
5 93.1
10 97.2
model of the humanoid robot and the planned ZMP trajectory (pref ) is given in
Fig. 6.
From Fig. 6 we can conclude:
(i) The planned ZMP trajectory is well tracked by the proposed controller.
(ii) The error between the ZMP of the multibody model of the humanoid robot and
the planned ZMP trajectory (pref ) is small enough (less than 2 cm) and the
ZMP stays always inside of the region of stability. Moreover, this proves that
the quadratic system is an accurate model of the walking motion.
In order to validate the obtained results, we have simulated the generated mo-
tion using the dynamic simulator OpenHRP3 [20, 21]. Snapshots of the simulated
walking pattern are given in Fig. 7.
Figure 5. ZMP error between the multibody model of a humanoid robot and the simple cart-table
model (solid line), and the output of the second block of the quadratic system (dashed line).
(a) (b)
Figure 6. Off-line walking pattern generation algorithm: the ZMP error between the multibody model
of the humanoid robot and the planned ZMP trajectory (pref ) (solid line), and the safety margin of
stability (dashed line). (a) The x element (pxerr ). (b) The y element (pyerr ).
ZMP error between the multibody model of the humanoid robot and the planned
ZMP trajectory (pref ) is given in Fig. 8.
From Fig. 8, we observe that the ZMP trajectory is always inside the safety region
of stability. However, the ZMP tracking error is bigger than that of off-line walking
pattern generation. On the other hand, this controller can be applied on-line on
account of its low computational complexity.
442 W. Suleiman et al. / Advanced Robotics 25 (2011) 427–446
Figure 7. Off-line walking pattern generation algorithm: snapshots of the simulated walking motion.
(a) (b)
Figure 8. On-line walking pattern generation algorithm I: the ZMP error between the multibody model
of the humanoid robot and the planned ZMP trajectory (pref ) (solid line), and the safety margin of
stability (dashed line). (a) The x element (pxerr ). (b) The y element (pyerr ).
Figure 9. On-line walking pattern generation algorithm I: snapshots of the real experiment using the
cybernetic human HRP-4C.
(a) (b)
Figure 10. On-line walking pattern generation algorithm II: the ZMP error between the multibody
model of the humanoid robot and the planned ZMP trajectory (pref ) (solid line), and the safety margin
of stability (dashed line). (a) The x element (pxerr ). (b) The y element (pyerr ).
From Fig. 10, we observe that the ZMP tracking error becomes bigger. However,
the ZMP is always inside the safety region of stability and the dynamic stability of
the walking patterns has been verified using the dynamical simulator OpenHRP3.
Acknowledgements
This research was partially supported by a Grant-in-Aid for Scientific Research
from the Japan Society for the Promotion of Science (20-08816).
References
1. S. Kajita and K. Tani, Experimental study of biped dynamic walking in the linear inverted pendu-
lum mode, in: Proc. IEEE Int. Conf. on Robotics and Automation, Nagoya, vol. 3, pp. 2885–2891
(1995).
2. N. Naksuk, Y. Mei and C. S. G. Lee, Humanoid trajectory generation: an iterative approach based
on movement and angular momentum criteria, in: Proc. IEEE–RAS/RSJ Int. Conf. on Humanoid
Robots, Los Angeles, CA, vol. 2, pp. 576–591 (2004).
3. S. Kajita, F. Kanehiro, K. Kaneko, K. Fujiwara, K. Harada, K. Yokoi and H. Hirukawa, Biped
walking pattern generation by using preview control of zero-moment point, in: Proc. IEEE Int.
Conf. on Robotics and Automation, Taipei, pp. 1620–1626 (2003).
4. T. Sugihara, Y. Nakamura and H. Inoue, Realtime humanoid motion generation through ZMP
manipulation based on inverted pendulum control, in: Proc. IEEE Int. Conf. on Robotics and
Automation, Washington, DC, pp. 1404–1409 (2002).
W. Suleiman et al. / Advanced Robotics 25 (2011) 427–446 445
Fumio Kanehiro received the BE, ME and PhD degrees, in 1994, 1996 and 1999,
respectively, all from the University of Tokyo, Tokyo, Japan. He was a Research
Fellow of the Japan Society for the Promotion of Science, from 1999 to 2000, and
a Visiting Researcher of LAAS-CNRS, Toulouse, France, in 2007. He is now a
Member of the Intelligent Systems Research Institute, National Institute of Ad-
vanced Industrial Science and Technology Tsukuba, Japan. His research interests
include humanoid robots and developmental software systems.
Kanako Miura received the BE, ME and PhD degrees, in 1999, 2001 and 2004,
respectively, all from Tohoku University, Sendai, Japan. She also received the
double-degree of the PhD, in 2004, from Louis Pasteur University, Strasbourg,
France. She was a Postdoctral Researcher of Tohoku University, from 2004 to
2005, and a Researcher of NTT DOCOMO, Japan’s mobile communications
company, from 2005 to 2007. She is now a Member of the Intelligent Systems
Research Institute, National Institute of Advanced Industrial Science and Technol-
ogy Tsukuba, Japan. Her research interests include humanoid robots and motion
generation.
Eiichi Yoshida received the ME and PhD degrees on Precision Machinery Engi-
neering from the Graduate School of Engineering, University of Tokyo, in 1993
and 1996, respectively. In 1996, he joined the former Mechanical Engineering
Laboratory, Tsukuba, Japan. He is currently Senior Research Scientist in the In-
telligent Systems Research Institute, National Institute of Advanced Industrial
Science and Technology (AIST), Tsukuba, Japan. From 1990 to 1991, he was
a Visiting Research Associate at the Swiss Federal Institute of Technology at
Lausanne. He served as Co-Director of the AIST/IS-CNRS/ST2I Joint French–
Japanese Robotics Laboratory (JRL) at LAAS-CNRS, Toulouse, France, from 2004 to 2008. He is
currently Co-Director of CNRS-AIST JRL, UMI3218/CRT, AIST, Japan, since 2009. His research
interests include robot task and motion planning, modular robotic systems, and humanoid robots.