ZMP, pattern generation, Humanoid Robot, Humanoid Robotics, ZMP equations, preview control, trajectory, linear equations, ICRA, spiral stairs, Hirukawa, inverse problem, servo controller, biped robot, inverted pendulum, method
Content:
Proceedings of the 2003 IEEE
International Conference on Robotics & Automation
Taipei, Taiwan, September 1419, 2003
Biped Walking Pattern Generation by using Preview Control of ZeroMoment Point Shuuji KAJITA, Fumio KANEHIRO, Kenji KANEKO, Kiyoshi FUJIWARA, Kensuke HARADA, Kazuhito YOKOI and Hirohisa HIRUKAWA
National Institute of Advanced Industrial
Science and Technology (AIST) Tsukuba Central 2, 111 Umezono, Tsukuba, Ibaraki, 3058568 Japan Email: {s.kajita,fkanehiro,k.kaneko,kfujiwara, kensuke.harada,kazuhito.yokoi,hiro.hirukawa}@aist.go.jp
Abstract We introduce a new method of a biped walking pattern generation by using a preview control of the zeromoment point (ZMP). First, the dynamics of a biped robot is modeled as a running cart on a table which gives a convenient representation to treat ZMP. After reviewing
conventional methods of ZMP based pattern generation, we formalize the problem as the design of a ZMP tracking servo controller. It is shown that we can realize such controller by adopting the preview
control theory that uses the future reference. It is also shown that a preview controller can be used to compensate the ZMP error caused by the difference between a simple model and the precise multibody model. The effectiveness of the proposed method is demonstrated by a simulation of walking on spiral stairs. 1 Introduction Research on biped humanoid robots is currently one of the most exciting topics in the field of robotics and there are many ongoing projects [1, 2, 3, 4, 21]. From the viewpoint of control and walking pattern generation these works can be classified into two categories. The first group requires the precise knowledge of robot dynamics including mass, location of center of mass and inertia of each link to prepare walking patterns. Therefore, it mainly relies on the accuracy of the models [1, 2, 15, 5]. Let us call this group as the ZMP based approach since they often use the zeromoment point (ZMP) for pattern generation and walking control. Contrary, there is the second group which uses limited knowledge of dynamics e.g. location of total center of mass, total
Angular Momentum, etc. Since
the controller knows little about the system structure, this approach much relies on a feedback control [6, 10, 7, 8]. We can call this as the inverted pendulum approach, since they frequently uses an inverted pendulum model. From the second standpoint, the authors proposed a method of walking control and pattern generation[11, 12] by which dynamic biped walking was successfully realized on simulations and experiments. However, since our method generated a stable gait by changing foot placements from the original assignment, it was not applicable to a situation like a walking on steppingstones where the foot must be placed on the specified location (Figure 1). Most of the inverted pendulum based methods suffer with this problem while the ZMP based methods can handle such situation [15]. Figure 1: Walking on randomly placed steppingstones
0780377362/03/$17.00 ©2003 IEEE
1620
In this paper we introduce a novel walking pattern generation that allows arbitrary foot placements as a mixture of the ZMP based and the inverted pendulum based approaches. It is also shown that by using the preview controller, we can take into account of the precise multibody dynamics although our method is based on a simple inverted pendulum model.
2
Dynamic Models of Biped Robot
2.1 3D Linear Inverted Pendulum Mode and Zeromoment point
When we apply a constraint control to an inverted pendulum such that the mass should move along an arbitrary defined plane, we obtain a simple linear dynamics called the ThreeDimensional Linear Inverted Pendulum Mode (3DLIPM)[9, 11]. We take
Cartesian coordinates as shown in Figure 2 and specify the xaxis as the ordinal walking direction. The constraint plane is represented with given normal vector (kx, ky, 1) and z intersection zc as
z = kxx + kyy + zc.
(1)
If the constraint plane is horizontal (kx = ky = 0), the dynamics under the constraint control is given by
yЁ =
g y zc

1 mzc x,
(2)
g
1
xЁ
=
x zc
+
mzc y,
(3)
where m is the mass of the pendulum, g is gravity acceleration and x, y are the torques around xaxis and yaxis respectively. Even in the case of the sloped constraint where kx, ky = 0, we can obtain the same dynamics by applying additional constraint
xx + yy = 0,
(4)
for the input torques. Eqs. (2) and (3) are
Linear Equations. The only pa rameter which governs those dynamics is zc, i.e., the z intersection of the constraint plane and the inclination of the plane never affects the horizontal motion. For the 3DLIPM with the horizontal constraint (kx = ky = 0), we can easily calculate the zeromoment point (ZMP), which is widely used in biped
robot research [13],
px
=
 y , mg
py
=
x , mg
(5)
Figure 2: A pendulum under constraint
where (px, py) is the location of the ZMP on the floor. By substituting Eqs. (5) to the 3DLIPM ((2) and (3)) we obtain
yЁ =
g (y zc
 py),
(6)
xЁ
=
g (x zc
 px).
(7)
2.2 ZMP equations and carttable model
To control the ZMP, it should be the outputs of the system while it appears as the inputs of the 3DLIPM in the last section. Therefore, we rewrite Eqs. (6) and (7) to have the ZMP as their outputs as
py
=
y

zc yЁ, g
(8)
px
=
x

zc g
xЁ.
(9)
In the following part of this paper, we will refer the above equations as the ZMP equations. Figure 3 shows a suggestive model directly corresponds to these equations. It depicts a running cart of mass m on a pedestal table whose mass is negligible (we need two sets of a cart on a table for the motion of x and y). As shown in the figure, the foot of the table is too small to let the cart stay on the edge. However, if the cart accelerates with a proper rate, the table can keep upright for a while. At this moment, the ZMP exists inside of the table foot. Since the moment around the ZMP must be zero, we have
zmp = mg(x  px)  mxЁzc = 0.
(10)
We can verify that this yields the same equation to Eq. (9).
1621
mx zc ZMP O pxx Figure 3: A carttable model 3 Walking pattern generation for given ZMP 3.1 Pattern generation as an
inverse problem When we represent a robot as the carttable model and give the the cart motion as the trajectory of the center of mass (CoM) of the robot, we can easily calculate the resulted ZMP by using the ZMP equations Eqs. (8) and (9). On the other hand, a walking pattern generation is the inverse problem of this. That is, the cart motion should be calculated from the given ZMP trajectory, which is determined by the desired footholds and step period. Takanishi et al. proposed to solve this problem by using Fourier Transformation [14]. By applying the Fast Fourier Transformation (FFT) to the ZMP reference, the ZMP equations can be solved in
Frequency Domain. Then the
Inverse FFT returns the resulted CoM trajectory into time domain. Kagami, Nishiwaki et al. proposed a method to solve this problem in the discrete time domain [15]. They showed the ZMP equation can be discretized as a trinomial expression, and it can be efficiently solved by an algorithm of O(N ) for the given
reference data of size N . Both methods are proposed as batch processes that use a ZMP reference of certain period and generate the corresponding CoM trajectory. To generate continuous walking pattern for a long period, they must calculate entire trajectory by offline or must connect the piece of trajectories calculated from the ZMP reference divided into short segments.
3.2 ZMP control as a servo problem
Let us define a new variable ux as the time derivative of the horizontal acceleration of CoM.
d
dt xЁ = ux
(11)
Regarding ux as the input of Eq. (9), we can translate the ZMP equation into a strictly proper dynamical
system as
x
010 x
0
d dt
x
=
0
0
1 x + 0 ux
xЁ
0 0 0 xЁ x
1
(12)
px = 1 0 zc/g x .
xЁ
For Eq. (8), we define uy and obtain the system of the same form. By using the dynamics of Eq. (12) we can construct a walking pattern generator as a ZMP tracking
control system (Figure 4). The system generates the CoM trajectory such that the resulted ZMP follows the given reference. However, we must consider an
p
pref +  ZMP reference
Servo Controller
Dynamic ZMP p ux equation (12) ZMP x
CoM
Figure 4: Pattern generation as ZMP tracking control
x [m]
0.3 0.25 0.2 0.15 0.1 0.05 0 0.05 0
Input Output
0.5
1
1.5
2
time [s]
zmp ref x 2.5
x ZMP
Figure 5: ZMP and CoM trajectory
interesting feature of this problem as follows. Figure 5 illustrates the ideal trajectories of the ZMP and the
1622
CoM of a robot that walks one step forward dynamically. The robot supports its body by hindleg from 0s to 1.5s, and has support exchange at 1.5s followed by the foreleg support until 3.0s. Thus the reference ZMP should have a step change at 1.5s and obviously the CoM must start moving before this. Assuming the controller in Figure 4, the output must be calculated from the future input! Although this sounds curious, we don't have to violate the law of causality. Indeed, we are familiar with such situation in driving on a winding road, where we steer a car by watching ahead, that is, watching the future reference. A control that utilizes future information was first proposed by Sheridan in 1966 and was named as the "Preview control"[16]. In 1969, Hayase and Ichikawa worked on the same concept and solved a linear quadratic (LQ) optimal servo controller with preview action [17]. A digital version of LQ optimal preview controller was developed by Tomizuka and Rosenthal in 1979 [18] and was completed as the controller for MIMO system by Katayama et.al in 1985 [19].
3.3 Pattern generation by preview control
Let us design an optimal preview servo controller following the method proposed by Katayama et al. [19]. First, we discretize the system of Eq. (12) with sampling time of T as
x(k + 1) = Ax(k) + Bu(k),
p(k) = Cx(k),
(13)
where
x(k) [ x(kT ) x (kT ) xЁ(kT ) ]T ,
u(k) ux(kT ),
p(k)
px(kT ), 1T
T 2/2
A 0 1 T ,
00 1 T 3/6 B T 2/2 ,
T
C [ 1 0 zc/g ].
With the given reference of ZMP pref (k), the performance index is specified as
J = {Qee(i)2+xT (i)Qxx(i)+Ru2(i)}, (14) i=k
where e(i) p(i)pref (i) is servo error, Qe, R > 0 and Qx is a 3 Ч 3 symmetric nonnegative definite matrix. x(k) x(k)x(k1) is the incremental state vector and u(k) u(k)  u(k  1) is the incremental input. When the ZMP reference can be previewed for NL step future at every sampling time, the optimal con troller which minimizes the performance index (14) is given by
k
NL
u(k) = Gi e(k)  Gxx(k)  Gp(j)pref (k + j),
i=0
j=1
(15)
where Gi, Gx and Gp(j) are the gains calculated from the weights Qe, Qx, R and the system parameter of Eq. (13).
The preview control is made of three terms, the in
tegral action on the
tracking error, the state feedback
and the preview action using the future reference.
Figure 6 shows the gain for the preview action. We
see the controller does not need the information of
far future because the magnitude of the preview gain
Gp becomes very small in the future farther than 2 seconds.
1500
preview gain
1000
500
0
0
0.5
1
1.5
2
time [s]
Figure 6: Preview controller gain Gp (T = 5[ms], zc = 0.814[m], Qe = 1.0, Qx = 0, R = 1.0 Ч 106)
Figure 7 is an example of walking pattern generation with the previewing period of 1.6s. The upper graph is the sagittal motion along xaxis and the lower graph is the lateral motion along yaxis. We can see a smooth trajectory of CoM (dashed line) is generated and the resulted ZMP (bold line) follows the reference (thin line) with good accuracy. The generated walking pattern corresponds to the walking of three steps forward. The ZMP reference is designed to stay in the center of support foot during single support phase, and to move from an old support foot to a new support foot during double support phase. To obtain a smooth ZMP trajectory in double support, we used cubic spline. Figure 8 is the result with the previewing period of 0.8s, which is not sufficient for the ZMP tracking. In this case, the resulted ZMP (bold line) does not
1623
1
x [m]
0.5
ZMP
ZMP ref.
0
CoM
0
1
2
3
4
5
6
7
y [m]
0.1 0.05 0 0.05 0.1
ZMP ZMP ref. CoM
0
1
2
3
4
5
6
7
time [s]
Figure 7: Body trajectory obtained by preview control, previewing period T NL = 1.6(s) 1
x [m]
0.5
ZMP
ZMP ref.
0
CoM
0
1
2
3
4
5
6
7
y [m]
0.1 0.05 0 0.05 0.1
ZMP ZMP ref. CoM
0
1
2
3
4
5
6
7
time [s]
Figure 8: With shorter previewing period T NL = 0.8(s) follow the reference (thin line) well. We observe undershooting in the sagittal motion and overshooting in the lateral motion. It should be noted that even ZMP tracking performance is poor, the system still remains stable thanks to the term of the state feedback. 3.4 Pattern generation for multibody model
The walking pattern is calculated by solving an inverse kinematics such that the CoM of the robot follows the output of the preview controller. As the simpler implementation, we can also use the center of the pelvis link since it approximates the motion of the CoM. To evaluate our method we used the physical parameters of HRP2 prototype (HRP2P) shown in Figure 9[22]. HRP2P is a humanoid robot of
154cm height and weighs 58kg developed in Humanoid Robotics Project (HRP) of METI [21].
Figure 9: HRP2 Prototype (HRP2P)[22] We used the pattern of Figure 7 for the motion of the pelvis link considering the offset between the center of the pelvis and the real CoM. In this case, we had tracking errors of ZMP caused by the difference between the simple carttable model and the detailed multibody model defined by the parameter of HRP2P. Figure 10 shows the ZMP calculated from the carttable model (thin line) and the ZMP calculated from the multibody model (bold line). The maximum ZMP error was 2.3cm in xdirection and 1.6cm in ydirection. 1
x [m]
0.5
ZMP multibody
ZMP carttable
0
CoM
0
2
4
6
8
y [m]
0.1 0.05 0 0.05 0.1 0
ZMP multibody ZMP carttable CoM
2
4
6
8
time [s]
Figure 10: ZMP calculated by tablecart model and multibody model If the ZMP error becomes too big relative to the stability margin determined by the foot geometry, the robot can fall. To fix the ZMP error, again we can use the preview control. That is, we first calculate the CoM trajectory from the tablecart model and obtain expected ZMP error from the multibody model.
1624
1
x [m]
0.5
ZMP multibody
ZMP carttable
0
CoM
0
2
4
6
8
y [m]
0.1 0.05 0 0.05 0.1 0
ZMP multibody ZMP carttable CoM
2
4
6
8
time [s]
Figure 11: Modified ZMP of multibody model
These information are stored to the buffer memory and loaded to use after delay time of T NL. By this way, we can use the future ZMP error for the preview control to calculate a proper compensation. Figure 11 shows the improved pattern of ZMP by this method. We can observe now the ZMP by the multibody model (bold line) well follows the reference ZMP of the carttable model (thin line). The maximum ZMP error was 1.2cm in xdirection and 0.4cm in ydirection. We used the previewing period T NL = 0.75(s) for this calculation. This short period was effective enough because the amount of the compensation is small.
4 Simulation To demonstrate the performance of the proposed pattern generator, we conducted a simulation of a walking on spiral stairs. The horizontal foot placement was specified so that the robot can clear the edges of the stairs, and then the horizontal portion of the CoM trajectory was generated by the method of the last section. Figure 12 shows the generated trajectory. The elevation of the CoM is calculated by the constraint condition (Eq. 1). Note that the slope of the constraint for each step must be specified from the geometry of the stairs, and all zintersection (zc) must be the same. For the dynamic simulation we used OpenHRP, which is a dynamic simulator developed in the HRP [20]. As shown in the snapshots in Figure 13, simulated HRP2P could successfully walk on the spiral stairs (step height 0.1m, rotation per step 24deg, inner radius 0.7m, outer radius 1.3m).
y [m]
1 0.8 0.6 0.4 0.2 0 0.2
ZMP CoM
0
0.5
1
1.5
x [m]
Figure 12: Planned trajectory for a walk on spiral stairs :ZMP and CoM projected on the
horizontal plane5 Conclusion We proposed a new method for biped walking pattern generation. First we introduced a carttable model, which is a convenient representation to design a ZMP controller. After reviewing conventional methods that uses ZMP to generate walking pattern, we formalized the problem as the design of a ZMP tracking servo controller. It was shown that we can design such controller by adopting the preview control that uses the future ZMP reference. It was also shown that a preview controller can be used to compensate the ZMP error caused by the difference between the simple carttable model and the precise multibody model. To demonstrate the proposed method, a walking pattern for spiral stairs was generated and verified by the dynamic simulator. The implementation to the real robot system is our next target. Acknowledgments This research was supported by the Humanoid Robotics Project of the Ministry of Economy,
Trade and Industry.
References [1] Yamaguchi, J., Soga, E., Inoue, S. and Takanishi, A., "Development of a Bipedal Humanoid Robot
control method of Whole Body Cooperative Dynamic Biped Walking ," Proc. of the 1999 ICRA, pp.368 374, 1999. [2] Hirai, K., Hirose, M., Haikawa, Y. and Takenaka, T., "The Development of Honda Humanoid Robot," Proc. of the 1998 ICRA, pp.13211326, 1998.
1625
Figure 13: Snapshots of walking on spiral stairs (simulation) [3] Nishiwaki, K., Sugihara, T., Kagami, S., Kanehiro, F., Inaba, M., and Inoue, H., "Design and Development of Research Platform for PerceptionAction Integration in Humanoid Robot: H6," Proc. Int. Conference on Intelligent Robots and Systems, pp.1559 1564, 2000. [4] Gienger, M., et.al, "Toward the Design of a Biped Jogging Robot," Proc. of the 2001 ICRA, pp.4140 4145, 2001. [5] Huang,Q., Yokoi, K., Kajita, S., Kaneko, K., Arai, H., Koyachi, N., Tanie, K., "Planning Walking Patterns for a Biped Robot,"
IEEE Trans. on Robotics and Automation, Vol.17, No.3, June 2001. [6] Sano, A. and Furusho, J. , "Realization of Natural Dynamic Walking Using The Angular Momentum Information," Proc. of ICRA1990, Cincinnati, 3, pp.14761481, 1990. [7] Pratt, J., Dilworth, P. and Pratt, G., "Virtual Model Control of a Bipedal Walking Robot," Proc. of the 1997 ICRA, pp.193198, 1997. [8] Sugihara, T., Nakamura, Y. and Inoue, H., "Realtime Humanoid Motion Generation through ZMP Manipulation based on Inverted Pendulum Control," Proc. of the 2002 ICRA, pp.14041409, 2002. [9] Hara,K., Yokogawa,R. and Sadao, K., "Dynamic Control of Biped Locomotion Robot for Disturbance on Lateral Plane," Proc. of The Japan Society of
mechanical engineers 72nd kansai meeting, pp.10371038, 1997 (in Japanese).
[10] Kajita,S. and Tani, K., "Study of Dynamic Biped Locomotion on Rugged Terrain," Proc. of the 1991 ICRA, pp.14051410, 1991. [11] Kajita,S., Matsumoto,O. and Saigo, M., "Realtime 3D walking pattern generation for a biped robot with telescopic legs," Proc. of the 2001 ICRA, pp.22992308, 2001. [12] Kajita,S., Kanehiro,F., Kaneko, K., Fujiwara, K., Yokoi, K. and Hirukawa, H., "A Realtime Pattern Generator for Biped Walking," Proc. of the 2002 ICRA, pp.3127, 2002. [13] M.Vukobratoviґc and J.Stepanenko: "On the Stability of Anthropomorphic Systems," Mathematical Biosciences, vol.15 pp.137, 1972. [14] Takanishi, A., Lim, H.,Tsuda, M. and Kato, I., "Realization of Dynamic Biped Walking Stabilized by Trunk Motion on a Sagittally Uneven Surface," Proceedings of
IEEE Inter
National Workshop on Intelligent Robots and Systems (IROS '90), pp.323330, 1990. [15] Kagami, S., Nishiwaki, K., Kitagawa, T., Sugihiara, T, Inaba, M. and Inoue, H., "A Fast Generation Method of a Dynamically Stable Humanoid Robot Trajectory with Enhanced ZMP Constraint," Proceedings of IEEE International Conference on Humanoid Robotics, 2000. [16] Sheridan, T.B, "Three Models of Preview Control," IEEE Transaction on
Human Factors in Electronics, 72, 1966. [17] Hayase, M. and Ichikawa, K., "Optimal Servosystem Utilizing
future value of Desired Function," Transactions of SICE, Vol.5, No.1, pp.8694,1969 (in Japanese). [18] Tomizuka, M. and Rosenthal, D.E, "On the Optimal Digital State Vector Feedback Controller with Integral and Preview Actions," Trans. of the ASME, J. of Dyn. Sys. Meas. Contr., 101, pp.172178, 1979. [19] Katayama, T., Ohki, T., Inoue, T. and Kato, T., "Design of an
optimal controller for a Discrete Time System Subject to Previewable Demand," Int. J. Control, Vol.41, No.3, pp.677699, 1985. [20] Hirukawa,H., Kanehiro,F. and Yokoi,K., HRP develops OpenHRP, IEEE/RSJ IROS Workshop on explorations towards Humanoid Robot Applications, 2001. [21] Inoue,H., Tachi,S., Nakamura,Y., Hirai,K., Ohyu,N., Hirai,S., Tanie,K., Yokoi,K. and Hirukawa,H., Overview of Humanoid Robotics Project of METI, Proc. of the 32nd ISR, April, 2001. [22] Kaneko, K., Kanehiro, F., Kajita, S., Yokoyama, K., Akachi, K., Kawasaki, T., Ota, S. and Isozumi, T., "Design of Prototype Humanoid Robotics Platform for HRP," Proc. of IROS 2002, 2002.
1626
S Kajita, F Kanehiro, K Kaneko, K Fujiwara, K Harada