IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 60, NO. 11, NOVEMBER 2013
5137
Biped Walking Pattern Generation by Using Preview Control Based on Three-Mass Model Shuhei Shimmyo, Member, IEEE, Tomoya Sato, and Kouhei Ohnishi, Fellow, IEEE
Abstract—Biped walking robots have been widely researched because biped walking is considered as an effective way to locomote in human environments. There are a lot of ways to generate biped walking patterns, and it is widely known that the model certainty of the robot and the immediate generation of the trajectory are very important. Using preview control is a useful way to generate the walking patterns. By using the preview control method, modeling errors, which are generated by using a simple model, can be compensated by using the preview controller again in the conventional approaches. As a matter of fact, it is known that it takes much time to generate the trajectory by using the preview controller again. In this paper, biped walking pattern generation by using preview control based on a three-mass model is proposed. By using the proposed method, the modeling errors can be decreased without using the preview controller again, which means that the immediate generation of the trajectory can be achieved. The validity of the proposed method is confirmed by numerical examples and experimental results. Index Terms—Biped robot, preview control, three-mass model, walking pattern generation, zero-moment point (ZMP).
I. I NTRODUCTION
M
OTION control technologies [1]–[3] have developed for industrial applications. Robotic industrial systems play an important role in the manufacturing industry. In recent times, robots have been expected to work in open spaces that are not limited by factories or laboratories since human-friendly robots such as welfare robots and home robots are also required. In order to act as human’s partners, the robots must recognize and adapt to the human environment. Contact motions are essential parts for recognition and adaptations, and a lot of related research studies have been carried out [4]–[6]. However, humans can recognize the environment by using a visual sensation before actual contacts. In other words, human beings can recognize the environment and adapt them sophisticatedly by using prospective information. Generally speaking, human environments are designed by human beings for their own convenience. Therefore, robots that Manuscript received August 23, 2010; revised May 17, 2011, January 19, 2012, and July 27, 2012; accepted August 4, 2012. Date of publication September 28, 2012; date of current version June 6, 2013. S. Shimmyo was with the Department of System Design Engineering, Keio University, Yokohama 223-8522, Japan. He is now with the Power and Industrial Systems Research and Development Center, Toshiba, Tokyo 1838511, Japan (e-mail:
[email protected]). T. Sato was with the Department of System Design Engineering, Keio University, Yokohama 223-8522, Japan (e-mail:
[email protected]). K. Ohnishi is with the Department of System Design Engineering, Keio University, Yokohama 223-8522, Japan (e-mail:
[email protected]). Color versions of one or more of the figures in this paper are available online at http://ieeexplore.ieee.org. Digital Object Identifier 10.1109/TIE.2012.2221111
have humanlike shapes are considered to be suitable for human environments. Thus, research studies of humanlike transportation, e.g., biped walking, have been carried out. In particular, ASIMO with HONDA Company [7]–[10] blazed a trail for the research studies of biped robots, and many organizations followed the trail. On their ways to progress the trail, a lot of tasks, e.g., climbing stairs [11], [12], running [8], pushing objects [13]–[16], walking on rough terrain [17], stepping over obstacles [18], [19], and collision-free walking [21], have been achieved. The achievements above are based on an indicator of biped walking. To evaluate stable walking, a zero-moment point (ZMP) [22] is widely used. If the ZMP exists in a supporting polygon, their foot never comes off from the ground. Although the ZMP has been generalized [23]–[25], the ZMP is still widely being used because of the ease of implementations. Using smooth ZMP trajectories for biped walking is researched [26]. In addition, the ZMP was also applied for a jumping robot [27]. Therefore, its versatility is large. A ZMP equation represents a relationship between a center of gravity (COG) of each link and the ZMP [28]. By solving the ZMP equation, stable walking patterns are generated. Kajita et al. have proposed biped walking pattern generation by using preview control of ZMP [29]. This method can generate the stable walking patterns, and the robots can adapt to the environment. Conventionally, analytical solutions of the ZMP equation [31]–[33] did not allow the biped robots to generate their foot placement arbitrary and walk on terrains such as stepping stones. In addition, numerical solutions of ZMP equation [34]–[36] took high computational costs. By using the preview control, the biped robots can generate their foot placement arbitrary. Additionally, trajectory modifications can be achieved if robots recognize the environment before preview periods [37]. Furthermore, by using the preview control again, modeling errors can be compensated [18], [29]. Although the modeling errors between a one-mass model and a multimass model can be compensated, the preview periods become longer. Long preview periods do not allow the biped robot to modify the trajectories immediately. This structure has two preview controllers, and both of them are based on the one-mass model. If the first preview controller is based on a more precise model, the modeling errors can be decreased without using the preview controller again. This is one of the main findings in this paper. Conventionally, precise modeling of the biped robot has been researched. One of the most simplified models is linear inverted pendulum mode that uses the one-mass model [31]. In addition, the model was extended for the two-mass model
0278-0046/$31.00 © 2012 IEEE
5138
IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 60, NO. 11, NOVEMBER 2013
as gravity-compensated inverted pendulum mode [38]. Additionally, multiple masses inverted pendulum mode (MMIPM) was developed [39]. However, the larger the number of mass points becomes, the more dominative nonlinearities of the ZMP equation become. To apply to the preview controller, the linear equation is required. In addition, in MMIPM, offline calculations are required in advance. Thus, the large number of the mass points is better for the precise ZMP control. However, this is not better for the trajectory modification. Consequently, the three-mass model is considered to be appropriate for the precise ZMP control and the trajectory modification [7], [40], [41]. In this paper, biped walking pattern generation by using preview control based on the threemass model is proposed. As previously stated, the relationship between the ZMP and each mass is represented by the ZMP equation. Conventionally, the biped robot is approximated as the one-mass model, and large modeling errors were remained. In this paper, the three-mass model that is considered a more precise model than the one-mass model is applied to the preview controller. The first preview controller of the conventional walking pattern generation by using preview control [29] is changed to the three-mass model to decrease the modeling errors. By decreasing the modeling errors, the stable walking patterns can be generated without using preview control again. The effectiveness of the proposed method is confirmed by numerical examples and experimental results. This paper is organized as follows: In Section II, a model of a biped robot and a controller are explained. In Section III, the conventional method is explained. In Section IV, the proposed method is explained. In Section V, some numerical examples are shown. In Section VI, experimental results are shown. Finally, this paper is concluded in Section VII. II. ROBOTIC H ARDWARE AND C ONTROLLER In this section, the model of a biped robot and a controller are explained. A. Robotic Hardware A view of the robot is shown in Fig. 1. The robot is a 3-D biped robot with a serial link structure. Each joint has an actuator and an encoder. The 3-D model of the biped robot is shown in Fig. 2. The biped robot has four degrees of freedom (DOFs) in a frontal plane and six DOFs in a sagittal plane. In addition, force sensors consisted by strain gauges are attached to the edges of soles. B. Controller A PD controller and joint space disturbance observers [1] are used to the biped robot in this paper. The position and the posture of the robot are controlled to track to the desired trajectory by this controller. The referential value of the PD controller is obtained by (1) b ref ¨ ◦ = Kp b pcmd + Kv b p˙ cmd (1) − b pres − b p˙ res p ◦ ◦ ◦ ◦ b pitch b where b p◦ ≡ [b xr b yr b zr b φroll φr x l b y l b zl r 10×1 b roll b pitch T φl φl ] ∈ represents the position and the
Fig. 1.
View of the robot.
Fig. 2.
3-D model of the robot.
sole posture in work space. Superscript b means the base coordinates Σb . Subscripts r and l represent the right and left legs, respectively. Subscripts roll and pitch denote the roll and pitch angles of each sole. Superscripts cmd, ref, and res represent the command, reference, and response values, respectively. In addition, Kp and Kv are the position feedback gain and the velocity feedback gain, respectively. The response values of the sole postures are obtained by using encoders. Fig. 3 shows the whole control system, including the walking pattern generator. Ideally, the contact forces do not act on the swinging leg. However, early landings of the swinging leg can be occurred because the robot may become inclined because of the modeling errors and the disturbances that act on each motor. Hence, in order to reduce impact force during walking, a variable compliance controller [43], [44] is used in the z-direction. The referential value of the swing leg is obtained as follows: cmd b cmp b res b ref z¨sw = Kp b zsw − z − zsw b cmd sw b cmp b cmp res − z¨sw (2) + Kv z˙sw − z˙sw − b z˙sw b cmp b cmp b cmp Kc Cf F ext = M z ¨ + D z ˙ + K z (3) c sw c sw c sw Cfo tanh(ai F ext ), (F ext ≥ 0) (4) Cf = 0, (F ext < 0).
SHIMMYO et al.: WALKING PATTERN GENERATION BY USING PREVIEW CONTROL BASED ON THREE-MASS MODEL
Fig. 3.
5139
Schematics of the whole control system.
Here, subscript sw means the swing leg, and superscript cmp denotes the compensation value for reduction of the impact force. F ext denotes the external force in the z-direction. Mc , Dc , and Kc are a virtual mass, a virtual damper, and a virtual stiffness. Cfo and ai denote arbitrary feedback gains. III. C ONVENTIONAL M ETHOD In this section, a ZMP equation based on the one-mass model is explained. In addition, walking pattern generation by using preview control is explained [29].
A ZMP equation based on the multimass model is represented as follows [28]: (5)
zi + g)yi − zi y¨i ) Σni=1 mi ((¨ . Σni=1 mi (¨ zi + g)
(6)
Here, pzmp ≡ [ px py ] ∈ denotes the ZMP on flat terrain in the world coordinates ΣW . An original point of the world coordinates is set on the starting point of the biped robot’s base coordinates. pi ≡ [ xi yi zi ]T ∈ 3×1 means COG positions of each link in the world coordinates. mi denotes the mass of each link. Here, n means the number of the mass points. g denotes the acceleration of gravity. Regarding the robot as the one-mass model, the ZMP equation is rewritten as follows: zc x ¨cog g zc py = ycog − y¨cog . g
(9)
d3 ycog = uy . dt3
(10)
X cog [k] ≡ [ xcog [k]
y cog [k] ]T
out pout zmp [k] ≡ [ px (kΔt)
(7) (8)
Here, pcog ≡ [ xcog ycog zc ]T ∈ 3×1 denotes the onemass modeled COG position with the constant COG height in the world coordinates. Fig. 4 shows the conventional one-mass model of the biped robot. B. Walking Pattern Generation by Using Preview Control First, conventional method I that uses the preview controller once is explained. Second, conventional method II that uses the preview controller again is explained.
uy (kΔt) ]T T pout y (kΔt) ]
X cog [k + 1] = AX cog [k] + Bu[k] pout zmp [k] = CX cog [k].
2×1
px = xcog −
d3 xcog = ux dt3
u[k] ≡ [ ux (kΔt)
zi + g)xi − zi x ¨i ) Σn mi ((¨ px = i=1 n Σi=1 mi (¨ zi + g)
T
1) Conventional Method I (Without Using Preview Control Again): Here, the preview controller based on the one-mass model is explained. Control inputs ux and uy in jerk dimension are defined by (9) and (10)
Selecting the state variables as (11)–(13), a state space equation in a discrete-time system is defined as (14) and (15) as follows:
A. ZMP Equation Based on the One-Mass Model
py =
Fig. 4. Conventional one-mass model.
(11) (12) (13) (14) (15)
Here, xcog [k] ≡ [xcog (kΔt) x˙ cog (kΔt) x ¨cog (kΔt)] ∈ 1×3 and y cog ≡ [ycog (kΔt) y˙ cog (kΔt) y¨cog (kΔt)] ∈ 1×3 are the COG position, velocity, and acceleration for the world coordinates in the sagittal and frontal planes, respectively. Here, Δt denotes a sampling time. The ZMP output differs from the ZMP response. The ZMP output is an output of the preview controller. In addition, A ∈ 6×6 , B ∈ 6×2 , and C ∈ 2×6 are represented as (16)–(18), respectively ⎡ ⎤ 1 Δt Δt2 /2 0 0 0 Δt 0 0 0 ⎥ ⎢0 1 ⎢ ⎥ 1 0 0 0 ⎥ ⎢0 0 A≡⎢ (16) ⎥ 0 1 Δt Δt2 /2 ⎥ ⎢0 0 ⎣ ⎦ 0 0 0 0 1 Δt 0 0 0 0 0 1 ⎡ 3 ⎤ Δt /6 0 0 ⎥ ⎢ Δt2 /2 ⎢ ⎥ 0 ⎥ ⎢ Δt (17) B≡⎢ ⎥ Δt3 /6 ⎥ ⎢ 0 ⎣ ⎦ 0 Δt2 /2 0 Δt 1 0 −zc /g 0 0 0 C≡ . (18) 0 0 0 1 0 −zc /g
5140
IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 60, NO. 11, NOVEMBER 2013
Fig. 5. Schematics of the conventional approach.
Fig. 6.
Three-mass model in the sagittal plane.
Fig. 7.
Three-mass model in the frontal plane.
Here, a servo problem of the ZMP trajectories must be treated to generate the biped walking patterns. Thus, these systems are redefined as an error system. By deriving the optimal solutions of the error system, the optimal control gains and the preview gains are obtained. The servo problem is solved by using these gains. 2) Conventional Method II (With Using Preview Control Again): Conventionally, the COG positions derived from preview control are fed back to the preview controller again [18], [29]. Fig. 5 shows the conventional method with using the preview control again. Using the preview controller again makes the preview periods longer. The immediate modifications of the trajectories are therefore difficult for these systems. IV. P ROPOSED M ETHOD In this section, biped walking pattern generation by using preview control based on the three-mass model is proposed. First, a ZMP equation based on the three-mass model is explained. Second, the ZMP equation is applied to the preview controller. A. ZMP Equation Based on the Three-Mass Model Here, the ZMP equation based on the three-mass model is explained. This formulation is based on the proposal by Sato et al. [40], [41]. In this method, three masses are located on the base link, the right leg, and the left leg. From (5) and (6), the ZMP equations based on the three-mass model are derived as (19) and (20) as follows: px =
zi + g)xi − zi x ¨i ) Σ3i=1 mi ((¨ Σ3i=1 mi (¨ zi + g)
(19)
zi + g)yi − zi y¨i ) Σ3 mi ((¨ py = i=1 3 Σi=1 mi (¨ zi + g)
(20)
M = mB + 2mL .
(21)
T
in the world coordinates, respectively. In addition, M denotes the total mass of the biped robot, and mB and mL denote the body mass and the leg mass, respectively. Figs. 6 and 7 show the three-mass model of the biped robot. p1 , p2 , and p3 can be derived as follows: p1 = pb + b pbody ⎤ ⎡ ⎤ ⎡b xb xbody = ⎣ yb ⎦ + ⎣ b ybody ⎦ b zb zbody
(22)
p2 = pmt + mt psup 1 = (pb + pt − l) + mt psup 2 ⎡ ⎤ ⎡ mt ⎤ xb + xt xsup 1 = ⎣ yb + yt − l ⎦ + ⎣ mt ysup ⎦ 2 mt zsup zb + zt
(23)
p3 = pms + ms psw T
Here, p1 = [ x1 y1 z1 ] ≡ [ xbody ybody zbody ] ∈ 3×1 , p2 = [ x2 y2 z2 ]T ≡ [ xsup ysup zsup ]T ∈ 3×1 , and p3 = [ x3 y3 z3 ]T ≡ [ xsw ysw zsw ]T ∈ 3×1 are the mass point of the body, the support leg, and the swing leg
1 = (pb + ps + l) + ms psw 2 ⎡ ⎤ ⎡ ms ⎤ xb + xs xsw 1 = ⎣ yb + ys + l ⎦ + ⎣ ms ysw ⎦ . 2 ms zsw zb + zs
(24)
SHIMMYO et al.: WALKING PATTERN GENERATION BY USING PREVIEW CONTROL BASED ON THREE-MASS MODEL
Here, subscripts b, t, and s mean the base link, the tip of the support leg, and the tip of the swing leg, respectively. In addition, mt and ms denote the middle point between the base and the tip of the support leg and the middle point between the base and the tip of the swing leg, respectively. l ≡ [ 0 l 0 ]T denotes a vector to the base of each leg from the origin of the base. In order to apply to the preview controller, two assumptions are conducted in that method. 1) Assumption for Constant Mass Distribution: b pbody , which is the vector fixed in the body coordinates, is generated by a mass distribution of the base link. If the mass distribution of the base link does not vary, b pbody must be a constant vector. Additionally, mt psup and ms psw , which are the vectors fixed in the middle point between the base and the tip of the support leg and the middle point between the base and the tip of the swing leg, are generated by a knee bending of the biped robot. Therefore, mt psup and ms psw depend on the postures of the biped robot, and they vary during walking. However, variations of mt psup and ms psw are small during walking, and the variations can be therefore negligible. Hence, the three vectors b pbody , mt psup , and ms psw are assumed to be constant first. 2) Assumption for Constant Mass Height: Additionally, the height of each mass is assumed to be a constant in this method. This assumption is appropriate if the height of the swing leg does not vary largely during walking. Here, cbody , csup , and csw are defined as follows: cbody ≡ (zb + b zbody )
zb + zt mt csup ≡ + zsup 2
zb + zs ms + zsw . csw ≡ 2
(25) (26) (27)
Hence, the three values cbody , csup , and csw are assumed to be constant second. Above constant values can be measured from the posture of the biped robot. By applying the two assumptions above, the ZMP equations based on the three-mass model are represented as follows: mB (xb + b xbody ) + mL px = M xb +xs ms mL + xsw 2 + M −
py =
mB cbody x¨b +
xb +xt 2
+ mt xsup
mL + −
yb +ys +l 2
+ ms ysw
px =
py =
mB + m L Ez xb − x ¨ b + Ex M g
mL csw x ¨ s + xt + xs − 2M g
+
mL csw x¨b +2 x¨s
M mB cbody y¨b + mL csup y¨2b + mL csw y¨b +2 y¨s . (29) Mg
(31)
Ex =
mB b xbody + mL mt xsup + mL ms xsw M
(32)
Ey =
mB b ybody + mL mt ysup + mL ms ysw M
(33)
Ez =
mB cbody + mL M
csup 2
+ mL csw 2
.
(34)
In this paper, the case that the body of the robot remains always parallel to the world coordinates is only treated. This is because our robot system has no DOFs to turn. On the other hand, the robot turns by using the preview control in [26]. Therefore, if our robot has DOFs to turn and turns slowly, it is possible for our robot to turn. B. Walking Pattern Generation by Using Preview Control Based on the Three-Mass Model Here, the three-mass-based ZMP equation is applied to the preview controller. Control inputs to the base ubx and uby in jerk dimension are defined as (35) and (36) d3 x b = ubx dt3
(35)
d3 y b = uby . dt3
(36)
Selecting the state variables as (37)–(39) in a discrete-time system, a state space equation is defined as (40) and (41) as follows: X b [k] ≡ [ xb [k]
(28)
(30)
mB + m L Ez yb − y¨b + Ey M g
mL csw y¨s + yt + ys − 2M g
y b [k] ]T
out pout zmp [k] ≡ [ px (kΔt)
mL csup x¨2b
M
In order to apply to the preview controller, above equations are simplified as follows:
ub [k] ≡ [ ubx (kΔt)
Mg t −l mB (yb + b ybody ) + mL yb +y + mt ysup 2
5141
uby (kΔt) ]T T pout y (kΔt) ]
X b [k + 1] = AX b [k] + Bub [k] pout zmp [k] = DX b [k] + E + F [k].
(37) (38) (39) (40) (41)
¨b (kΔt)] ∈ 1×3 and y b ≡ Here, xb [k] ≡ [xb (kΔt) x˙ b (kΔt) x 1×3 are the base position, [yb (kΔt) y˙ b (kΔt) y¨b (kΔt)] ∈ velocity, and acceleration for the world coordinates in the sagittal and frontal planes, respectively. In addition, D ∈ 2×6 is redefined as the output matrix for this proposal, i.e., mB +mL 0 − Egz 0 0 0 M D= . (42) mB +mL 0 0 0 0 − Egz M
5142
IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 60, NO. 11, NOVEMBER 2013
In addition, E ∈ 2×1 and F ∈ 2×1 are represented as follows: Ex E= (43) Ey ⎤ ⎡ mL csw ¨s [k] + xt [k] 2M xs [k] − g x ⎦. (44) F [k] = ⎣ mL csw [k] − y ¨ [k] + y [k] y s t 2M g s From (41), it is clear that E and F should be determined before walking. Since we can obtain the information of the posture of the biped robot before it starts walking, E can be calculated. Additionally, foot landing positions can be determined before generating the base link trajectories. Thus, swing leg trajectories are already determined when the base link trajectories are generated. The swing leg trajectories are calculated as follows: xs (t)
i x = ΣN i=0 dxi t
(45)
ys (t)
Ny = Σi=0 dyi ti .
(46)
Here, Nx and Ny denote the order of each polynomial. t is defined as the time. dxi and dyi denote the ith coefficients of each polynomial. In this paper, a fifth-order polynomial is utilized in the sagittal plane. By using the fifth-order polynomial for swing leg trajectories, we can select the initial position, the initial velocity, the initial acceleration, the termination position, the termination velocity, and the termination acceleration arbitrary. Hence, the smooth swing leg trajectories, where the acceleration is continuous, can be achieved . A zeroth-order polynomial that is a constant value is utilized in the frontal plane. Therefore, can be F [k] can be calculated. Hence, a new variable P out b defined as follows: out P out b [k] ≡ pzmp [k] − E − F [k].
(48)
To generate the biped walking patterns by using the preview control, a servo problem of the ZMP trajectories must be treated. Thus, these systems are redefined as an error system, and the servo problem of the ZMP trajectories is solved in this paper. In [26], the error system is also used. Selecting the state variables as (49)–(51), the state space equation of the error system is defined as (52) and (53) as follows: ΔX b [k] ≡ X b [k] − X b [k − 1]
(49)
Δub [k] ≡ ub [k] − ub [k − 1] out P b [k] ∗ X b [k] ≡ ΔX b [k]
(50)
X ∗b [k + 1] = ΦX ∗b [k] + ΓΔub [k]
(52)
˜ ∗ [k]. = DX b
(53)
P out b [k]
Block diagram of the proposed method.
˜ ∈ 2×8 are represented by Here, Φ ∈ 8×8 , Γ ∈ 8×2 , and D (54)–(56), respectively
DA A DB Γ≡ B
Φ≡
I 0
˜ ≡ [I D
(51)
(54) (55)
0].
(56)
Here, I ∈ 2×2 is a diagonal unit matrix. An optimal control input is obtained by minimizing (57), i.e., J=
∞
∗ T X ∗T b [i]Qb X b [i] + Δub [i]H b Δub [i] .
(57)
i=k
Control input is obtained by (58) ub [k] = K sb
k
eb [i] − K Xb X b [k] +
i=0
(47)
In this paper, P out is defined as a “ZMP from base.” By using b the above definition, output equation (41) can be simplified as follows: P out b [k] = DX b [k].
Fig. 8.
NL
Gb [i]P ref b [k + i].
i=1
(58) Here, eb [k] ≡ [ ebx [k] eby [k] ]T ∈ 2×1 means a ZMP error vector between ZMP reference and ZMP output. Qb ∈ 8×8 and H b ∈ 2×2 are weighting matrices. NL means the number of future information steps. Optimal gain matrices K sb ∈ 2×2 and K Xb ∈ 2×6 and diagonal preview gain matrix Gb [k] ∈ 2×2 are obtained from preview control theory K b ≡ (H b + ΓT P Γ)−1 ΓT P Φ = [ K sb
K Xb ]
Gb [i] ≡ −(H b + ΓT P Γ)−1 ΓT i−1 T · (Φ + ΓK b )T P Γ.
(59) (60) (61) (62)
Here, P ∈ 8×8 denotes the Riccati solution matrix. In addition, details of the derivation process are in [3]. Fig. 8 shows the block diagram of the proposed method. The ZMP reference ref by pref zmp is transformed to the ZMP reference from base P b using (47), and then the preview controller generates the base trajectories and the ZMP output from base P out b . Additionally, ZMP output pout is calculated by using (47). By applying the zmp proposed method, the modeling errors can be decreased without using the preview controller again.
SHIMMYO et al.: WALKING PATTERN GENERATION BY USING PREVIEW CONTROL BASED ON THREE-MASS MODEL
5143
TABLE I CONTROL AND WALKING PARAMETERS
Fig. 9.
Preview gains.
V. N UMERICAL E XAMPLE In this section, numerical examples of the conventional and proposed methods are shown. In these numerical examples, to measure the modeling errors of conventional method I (without using the preview control again), conventional method II (with using the preview control again), and the proposed method, the COG trajectories and the base trajectories are generated based on each method. Then, the prepared ZMP reference trajectories and ZMP outputs based on the multimass model are compared. Here, we assumed that the joints of the robot are rigidly controlled and the robot has no interference from outer environment. We use the linear functions for the ZMP trajectories in both of the single-support phases and the double-support phases. By using these functions not only for the double-support phases but also for the single-support phases, the maximum values of the acceleration of the COG or the body can be suppressed. Here, ZMP outputs based on the multimass model are shown. Regarding each link as a one-mass model, ZMP output based on the multimass model is calculated by using (5) and (6). In this numerical example, several walking periods Twalk were examined. The single-support phase Tssp and the double-support phase Tdsp had a ratio of 1.90 : 0.35. From Fig. 9, preview gains were almost 0 after preview steps NL = 320. Hence, it is meaningless that we use the preview steps over NL = 320. This is because the preview gains over 320 are small and can be negligible. In this paper, the preview steps were therefore set as NL = 320, same as the conventional method. Here, the preview periods of conventional method I and the proposed method were set as Δt ∗ NL = 1.6 [s]. In addition, the preview periods of conventional method II were set as Δt ∗ NL = 3.2 [s]. In conventional method [18], [29], [37], the preview periods are also selected as Δt ∗ NL = 1.6 [s] (without using preview control again) or 3.2 [s] (using preview control again). Our approach reduces this preview period by using the threemass model. Table I shows control and walking parameters. Fig. 10(a), (c), and (e) shows the ZMP output based on the multimass model in the sagittal plane with conventional method I, conventional method II, and the proposed method, respectively. Fig. 10(b), (d), and (f) shows the ZMP output based on the multimass model in the frontal plane with conventional method I, conventional method II, and the proposed method, respectively.
In conventional method II, although the ZMP errors were small, the start of the trajectory was delayed by using preview control again. This means that it takes much more time to change the trajectories by using conventional method II. In conventional method I and the proposed method, the start of the trajectory was same because the second preview loop was not used. The faster the walking speed was, the larger the ZMP error between the ZMP reference and the ZMP output based on the multimass model became. From these figures, it is clear that the tracking performance of the proposed method was improved from conventional method I and the preview period of the proposed method was reduced from conventional method II. From Fig. 10, ZMP errors are decreased about a couple of centimeters by using the proposed method from conventional method I. In the biped robot system, even if the ZMP errors are small, it may still cause walking to become unstable. This is because the ZMP must be located in the supporting polygon for stable walking. The supporting polygon is organized by the edge of the feet. The length of the foot of our robot system is 0.26[m] in the sagittal plane, and the length is 0.18[m] in the frontal plane. Generally speaking, the length of the foot of the biped robot is about the same range. Therefore, the decrease in the ZMP errors about a couple of centimeters is very effective for achieving stable walking. The effectiveness of the proposed method was confirmed by the numerical examples. VI. E XPERIMENT In this section, experimental results of the conventional and proposed methods are shown. Here, we only compared the results of conventional method I (without using the preview control again) with the proposed method because using the
5144
IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 60, NO. 11, NOVEMBER 2013
Fig. 10. Numerical examples. (a) Sagittal plane with conventional method I (without using preview control again). (b) Frontal plane with conventional method I (without using preview control again). (c) Sagittal plane with conventional method II (using preview control again). (d) Frontal plane with conventional method II (using preview control again). (e) Sagittal plane with proposed method. (f) Frontal plane with proposed method.
preview control again needs much more time to modify the trajectories. Fig. 11(a) and (b) shows the ZMP response in the sagittal plane. Fig. 11(c) and (d) shows the ZMP response in the frontal plane. Fig. 11(e) and (f) shows the ZMP response in the horizontal plane. In these figures, solid lines denote the ZMP response. Dash–dotted lines are the ZMP reference. Dashed and dotted lines mean the edge of the sole. If we use some walking stabilization controllers, the results in Fig. 11 may be improved. However, this experiment cannot serve as the validation of the
proposed walking pattern generator if we use the walking stabilization controllers. This is because the walking stabilization controllers modify the COG and the base trajectories. Therefore, the walking stabilization controllers were not used in the experiment. From these figures, stable walking was achieved by using the proposed method because the ZMP responses were not located on the edge of the supporting polygon in the proposed method. On the other hand, the ZMP responses were located on the edge of the supporting polygon several times in conventional method I. In this experiment, the feet of the robot
SHIMMYO et al.: WALKING PATTERN GENERATION BY USING PREVIEW CONTROL BASED ON THREE-MASS MODEL
5145
Fig. 11. Experimental results. (a) Sagittal plane with conventional method I (without using preview control again). (b) Sagittal plane with proposed method. (c) Frontal plane with conventional method I (without using preview control again). (d) Frontal plane with proposed method. (e) Horizontal plane with conventional method I (without using preview control again). (f) Horizontal plane with proposed method.
clashed the ground during walking because the robot became inclined because of the modeling errors, disturbances, and soft rubbers on the edge of the feet. Hence, early landings were occurred, and there are discontinuous nature of the feet edges in Fig. 11. In this paper, the COG of the robot never goes out of the supporting polygon because our robot system is weak for fast walking. However, the proposed method is, in theory, applicable for dynamic walking robots. In addition, the real ZMP was measured by using the force sensors, which were attached on the edge of the sole explained in Section II. Table II shows
TABLE II AVERAGE ZMP ERRORS OF THE EXPERIMENT
average ZMP errors of the experiment. By using the proposed method, the ZMP errors were decreased. From Fig. 12, stable walking was also confirmed. The effectiveness of the proposed method was confirmed by the experimental results.
5146
IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 60, NO. 11, NOVEMBER 2013
Fig. 12. Snap shots of experimental walking with proposed method.
VII. C ONCLUSION In this paper, biped walking pattern generation by using preview control based on the three-mass model has been proposed. The first preview controller of the conventional walking pattern generation by using preview control [29] was changed to the three-mass model to decrease the modeling errors. By decreasing the modeling errors, the stable walking patterns could be generated without using the preview control again. Short preview periods enable the biped robots to modify their trajectories immediately. The effectiveness of the proposed method was confirmed by numerical examples and experimental results.
R EFERENCES [1] K. Ohnishi, M. Shibata, and T. Murakami, “Motion control for advanced mechatronics,” IEEE/ASME Trans. Mechatron., vol. 1, no. 1, pp. 56–67, Mar. 1996. [2] A. Matsushita and T. Tsuchiya, “Decoupled preview control system and its application to induction motor drive,” IEEE Trans. Ind. Electron., vol. 42, no. 1, pp. 50–57, Feb. 1995. [3] T. Egami and T. Tsuchiya, “Disturbance suppression control with preview action of linear DC brushless motor,” IEEE Trans. Ind. Electron., vol. 42, no. 5, pp. 494–500, Oct. 1995. [4] M. Morisawa and K. Ohnishi, “Interactive control of environmental mode for biped walking,” in Proc. 29th Annu. Conf. IEEE IECON, 2003, pp. 490–495. [5] R. Kubo and K. Ohnishi, “Mechanical recognition of unknown environment using active/passive contact motion,” IEEE Trans. Ind. Electron., vol. 56, no. 5, pp. 1364–1374, May 2009. [6] K. Suwanratchatamanee, M. Matsumoto, and S. Hashimoto, “Haptic sensing foot system for humanoid robot and ground recognition with oneleg balance,” IEEE Trans. Ind. Electron., vol. 58, no. 8, pp. 3174–3186, Aug. 2011. [7] T. Takenaka, T. Matsumoto, and T. Yoshiike, “Real time motion generation and control for biped robot—1st report: Walking gait pattern generation,” in Proc. IEEE/RSJ Int. Conf. Intell. Robot. Syst., 2009, pp. 1084–1091. [8] T. Takenaka, T. Matsumoto, T. Yoshiike, and S. Shirokura, “Real time motion generation and control for biped robot—2nd report: Running gait pattern generation,” in Proc. IEEE/RSJ Int. Conf. Intell. Robot. Syst., 2009, pp. 1092–1099. [9] T. Takenaka, T. Matsumoto, and T. Yoshiike, “Real time motion generation and control for biped robot—3rd report: Dynamics error compensation,” in Proc. IEEE/RSJ Int. Conf. Intell. Robot. Syst., 2009, pp. 1594–1600.
[10] T. Takenaka, T. Matsumoto, T. Yoshiike, and S. Shirokura, “Real time motion generation and control for biped robot—4th report: Integrated balance control,” in Proc. IEEE/RSJ Int. Conf. Intell. Robot. Syst., 2009, pp. 1601–1605. [11] C. Fu and K. Chen, “Gait synthesis and sensory control of stair climbing for a humanoid robot,” IEEE Trans. Ind. Electron., vol. 55, no. 5, pp. 2111–2120, May 2008. [12] T. Sato, S. Sakaino, E. Ohashi, and K. Ohnishi, “Walking trajectory planning on stairs using virtual slope for biped robots,” IEEE Trans. Ind. Electron., vol. 58, no. 4, pp. 1385–1396, Apr. 2011. [13] K. Harada, S. Kajita, K. Kaneko, and H. Hirukawa, “Dynamics and balance of humanoid robot during manipulation tasks,” IEEE Trans. Robot., vol. 22, no. 3, pp. 568–575, Jun. 2006. [14] K. Harada, S. Kajita, F. Kanehiro, K. Fujiwara, K. Kaneko, K. Yokoi, and H. Hirukawa, “Real-time planning of humanoid robot’s gait for forcecontrolled manipulation,” IEEE/ASME Trans. Mechatron., vol. 12, no. 1, pp. 53–62, Feb. 2007. [15] E. Ohashi, T. Aiko, T. Tsuji, H. Nishi, and K. Ohnishi, “Collision avoidance method of humanoid robot with arm force,” IEEE Trans. Ind. Electron., vol. 54, no. 3, pp. 1632–1641, Jun. 2007. [16] N. Motoi, M. Ikebe, and K. Ohnishi, “Real-time gait planning for pushing motion of humanoid robot,” IEEE Trans. Ind. Informat., vol. 3, no. 2, pp. 154–163, May 2007. [17] E. Ohashi, T. Sato, and K. Ohnishi, “A walking stabilization method based on environmental modes on each foot for biped robot,” IEEE Trans. Ind. Electron., vol. 56, no. 10, pp. 3964–3974, Oct. 2009. [18] B. Verrelst, O. Stasse, K. Yokoi, and B. Vanderborght, “Dynamically stepping over obstacles by the humanoid robot HRP-2,” in Proc. IEEE/RAS Int. Conf. Humanoid Robots, 2006, pp. 117–123. [19] N. Perrin, O. Stasse, F. Lamiraux, and E. Yoshida, “A biped walking pattern generator based on half-steps for dimensionality reduction,” in Proc. IEEE Int. Conf. Robot. Autom., 2011, pp. 1270–1275. [20] O. Stasse, B. Verrelst, B. Vanderborght, and K. Yokoi, “Strategies for humanoid robots to dynamically walk over large obstacles,” IEEE Trans. Robot., vol. 25, no. 4, pp. 960–967, Aug. 2009. [21] K. Harada, S. Hattori, H. Hirukawa, M. Morisawa, S. Kajita, and E. Yoshida, “Two-stage time-parametrized gait planning for humanoid robots,” IEEE/ASME Trans. Mechatron., vol. 15, no. 5, pp. 694–703, Oct. 2010. [22] M. Vukobratovic and J. Stepanenko, “On the stability of anthropomorphic systems,” Math. Biosci., vol. 15, no. 1/2, pp. 1–37, Oct. 1972. [23] A. Goswami, “Postural stability of biped robots and the foot rotation indicator (FRI) point,” Int. J. Robot. Res., vol. 18, no. 6, pp. 523–533, Jun. 1999. [24] T. Saida, Y. Yokokohji, and T. Toshikawa, “FSW (Feasible Solution of Wrench) for multi-legged robots,” in Proc. IEEE Int. Conf. Robot. Autom., 2003, vol. 3, pp. 3815–3820. [25] H. Hirukawa, S. Hattori, K. Harada, S. Kajita, K. Kaneko, F. Kanehiro, K. Fujiwara, and M. Morisawa, “A universal stability criterion of the foot contact of legged robots—Adios ZMP,” in Proc. IEEE Int. Conf. Robot. Autom., 2006, pp. 1976–1983.
SHIMMYO et al.: WALKING PATTERN GENERATION BY USING PREVIEW CONTROL BASED ON THREE-MASS MODEL
[26] K. Erbatur and O. Kurt, “Natural ZMP trajectories for biped robot reference generation,” IEEE Trans. Ind. Electron., vol. 56, no. 3, pp. 835–845, Mar. 2009. [27] B. Ugurlu and A. Kawamura, “ZMP-based online jumping pattern generation for a one-legged robot,” IEEE Trans. Ind. Electron., vol. 57, no. 5, pp. 1701–1709, May 2010. [28] S. Kajita, K. Yokoi, H. Hirukawa, and K. Harada, Humanoid Robot. Tokyo, Japan: Ohmsha, 2005. [29] 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. Robot. Autom., 2003, pp. 1620–1626. [30] S. Kajita, M. Morisawa, K. Harada, K. Kaneko, F. Kanehiro, K. Fujiwara, and H. Hirukawa, “Biped walking pattern generation allowing auxiliary ZMP control,” in Proc. IEEE/RSJ Int. Conf. Intell. Robot. Syst., 2006, pp. 2993–2999. [31] S. Kajita, F. Kanehiro, K. Kaneko, K. Yokoi, and H. Hirukawa, “The 3D linear inverted pendulum mode: A simple modeling for a biped walking pattern generation,” in Proc. IEEE/RSJ Int. Conf. Intell. Robot. Syst., 2001, vol. 1, pp. 239–246. [32] K. Harada, S. Kajita, K. Kaneko, and H. Hirukawa, “An analytical method on real-time gait planning for a humanoid robot,” in Proc. IEEE/RAS Int. Conf. Humanoid Robots, 2004, vol. 2, pp. 640–655. [33] T. Tsuji and K. Ohnishi, “A control of biped robot which applies inverted pendulum mode with virtual supporting point,” in Proc. 7th Int. Workshop Adv. Motion Control, 2002, pp. 478–483. [34] K. Nishiwaki, S. Kagami, Y. Kuniyoshi, M. Inaba, and H. Inoue, “Online generation of humanoid walking motion based on a fast generation method of motion pattern that follows desired ZMP,” in Proc. IEEE/RSJ Int. Conf. Intell. Robot. Syst., 2002, vol. 3, pp. 2684–2689. [35] K. Nagasaka, H. Inoue, and M. Inaba, “Dynamic walking pattern generation for a humanoid robot based on optimal gradient method,” in Proc. IEEE Conf. System, Man, Cybern., 1999, vol. 6, pp. 908–913. [36] M. Morisawa, S. Kajita, K. Harada, F. Kaneko, K. Fujiwara, and H. Hirukawa, “Pattern generation of biped walking constrained on parametric surface,” in Proc. IEEE Int. Conf. Robot. Autom., 2005, pp. 2405–2410. [37] K. Nishiwaki and S. Kagami, “High frequency walking pattern generation based on preview control of ZMP,” in Proc. IEEE Int. Conf. Robot. Autom., 2007, pp. 2667–2672. [38] J. H. Park and K. D. Kim, “Biped robot walking using gravitycompensated inverted pendulum mode and computed torque control,” in Proc. IEEE Int. Conf. Robot. Autom., 1998, pp. 3528–3533. [39] A. Albert and W. Gerth, “Analytic path planning algorithms for bipedal robots without a trunk,” J. Intell. Robot. Syst., vol. 36, no. 2, pp. 109–127, Feb. 2003. [40] T. Sato, S. Sakaino, and K. Ohnishi, “Real-time walking trajectory generation method at constant body height in single support phase for threedimensional biped robot,” in Proc. Int. Conf. Ind. Technol., 2009, pp. 1–6. [41] T. Sato, S. Sakaino, and K. Ohnishi, “Real-time walking trajectory generation method with three-mass models at constant body height for threedimensional biped robot,” IEEE Trans. Ind. Electron., vol. 58, no. 2, pp. 376–383, Feb. 2011.
5147
[42] M. Morisawa and K. Ohnishi, “Motion control of biped robot for parallel link mechanism,” Ph.D. dissertation, Keio Univ., Tokyo, Japan, 2000. [43] E. Ohashi and K. Ohnishi, “Variable compliance control based on softlanding trajectory for hopping robot,” in Proc. 30th Annu. Conf. IEEE IECON, 2004, pp. 117–122. [44] N. Nishikawa, Y. Fujimoto, T. Murakami, and K. Ohnishi, “Variable compliance control for 3 dimensional biped robot considering environmental fluctuation,” IEEJ Trans. Ind. Appl., vol. 119-D, no. 12, pp. 1507–1514, 1999.
Shuhei Shimmyo (S’09–M’11) received the B.E. degree in system design engineering and the M.E. degree in integrated design engineering from Keio University, Yokohama, Japan, in 2009 and 2011, respectively. He is currently with the Power and Industrial Systems Research and Development Center, Toshiba, Tokyo, Japan. His research interests include biped robot, motion control, and power electronics.
Tomoya Sato was born in Fujisawa, Japan, in 1984. He received the B.E. degree in system design engineering and the M.E. and Ph.D. degrees in integrated design engineering from Keio University, Yokohama, Japan, in 2007, 2009, and 2010, respectively. His research interests include motion control of biped robots and haptics.
Kouhei Ohnishi (S’78–M’80–SM’00–F’01) received the B.E., M.E., and Ph.D. degrees in electrical engineering from The University of Tokyo, Tokyo, Japan, in 1975, 1977 and 1980, respectively. Since 1980, he has been with Keio University, Yokohama, Japan. His research interests include mechatronics, motion control, robotics, and haptics. Dr. Ohnishi served as the President of the IEEE Industrial Electronics Society (IES) from 2008 to 2009. He was the recipient of the Best Paper Awards from the Institute of Electrical Engineers of Japan and the Japan Society for Precision Engineering and the Outstanding Paper Awards at IECON’85, IECON’92, IECON’93, and IECON’05. He was also a recipient of the EPE-PEMC Council Award and the Dr.-Ing. Eugene Mittelmann Achievement Award from the IEEE IES in 2004.