Description

Biped Walking Pattern Generator allowing Auxiliary ZMP Control

All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.

Related Documents

Share

Transcript

Biped Walking Pattern Generator allowingAuxiliary ZMP Control
Shuuji KAJITA, Mitsuharu MORISAWA, Kensuke HARADA, Kenji KANEKO,Fumio KANEHIRO, Kiyoshi FUJIWARA and Hirohisa HIRUKAWA
AIST,Tsukuba, Ibaraki 305–8568
Email:
{
s.kajita,m.morisawa,kensuke.harada,k.kaneko,f-kanehiro,k-fujiwara,hiro.hirukawa
}
@aist.go.jp
Abstract
—A biped walking pattern generator which allowsan additional ZMP control (auxiliary ZMP) is presented. Anauxiliary ZMP is realized by an inverse system added to a patterngenerator based on the ZMP preview control. To compensate theeffect of the auxiliary ZMP, we apply virtual time shifting of the reference ZMP. As an application of the proposed method,a walking control on uneven terrain is simulated. The simulatedrobot can walk successfully by changing its walking speed as theside effect of the auxiliary ZMP control.
I. I
NTRODUCTION
A number of successful biped humanoid robots have beenadapting the Zero-Moment Point (ZMP) [1], [2] for theirwalking pattern generation and control. However, there existcriticisms that ZMP based walking controls lack the adaptivitywhich is observed in the passive dynamic walk [3], [4], thecompliance based walking control [5], the central patterngenerator (CPG) [6] or the hybrid zero dynamics [7].As criticized, many ZMP based walking control had reliedon off-line pattern generation due to its heavy computationaldemands, but there are works which had proposed adaptivewalking control based on ZMP [8]–[11]. In this context,a concept of auxiliary ZMP is introduced for an adaptivewalking pattern generation. The auxiliary ZMP modiﬁes aninstantaneous behavior of the walking robot and as its side ef-fect the long term parameters like walking cycle or step widthare modiﬁed to hold consistency of the system dynamics. Byusing the auxiliary ZMP as a control input, a pattern generatorcan be involved in a feedback loop, which potentially createsa robust and adaptive walking motion.The rest of this paper is organized as follows. In Section II,a concept of auxiliary ZMP and its applications are explained.In Section III, we derive a ZMP based pattern generator andinvestigate its internal structure. In Section IV, we expand thepattern generator to realize the auxiliary ZMP. To compensatethe effect of auxiliary ZMP, virtual time shifting of thereference ZMP is introduced in Section V. In Section VI,the auxiliary ZMP is used to stabilize a simulated humanoidrobot walking on an uneven ﬂoor and its effectiveness isdemonstrated. We conclude this paper and address the futureremarks in Section VII.II. I
NTRODUCING AUXILIARY
ZMPFigure 1 illustrates the basic control schema we assume inthis paper. A walking pattern generator creates reference jointangles from given walking parameters, for example, averagespeed, step width, ground proﬁle etc. At the same time, thepattern generator calculates an expected Zero-Moment Pointwhich is dynamically consistent with the reference motion.
Walking pattern generator Walking pattern (reference joint angles)Real robotSensor feedbackexpected ZMP
Fig. 1. Control schema of this paper
Now, let us assume this expected ZMP can be separated asfollowing,(expected ZMP)
=
p
ref
+
p
aux
.
(1)The ﬁrst component
p
ref
represents global walking behaviorsuch as average speed and step width. Since we must takeinto account of the global behavior and long term stability,we cannot ﬂexibly change
p
ref
.The second component
p
aux
is introduced as a supplementwhich can be changed in real-time. Let us call
p
aux
the
auxiliary ZMP
.We can use the auxiliary ZMP for the following purposes.
A. Absorbing external force
An external horizontal force
f
applied on the center of mass(CoM) is equivalent with the auxiliary ZMP of
p
aux
=
−
fz
h
/
(
Mg
)
,
where
M
is the total mass of the robot,
z
h
is the height of CoMand
g
is gravity acceleration (Fig.2(a)). Therefore, a robot canabsorb the effect of the external force by using this equation.
1-4244-0259-X/06/$20.00 ©2006 IEEE
2993
Proceedings of the 2006 IEEE/RSJInternational Conference on Intelligent Robots and SystemsOctober 9 - 15, 2006, Beijing, China
f
(a) External force(b) Uneven floor(c) Posture control
p
ref
+
p
aux
p
ref
p
ref
+
p
aux
p
ref
acceleration
p
ref
+
p
aux
p
real
z
h
Fig. 2. Applications of auxiliary ZMP
B. Adapting to ground unevenness
On an uneven terrain, it can happen that a robot cannotrealize the reference ZMP
p
ref
because of the ground shapeas shown in Fig.2(b). In such case, the pattern generator shouldmove the ZMP into the actual support polygon by using theauxiliary ZMP.
C. Posture control
When the body of a robot gets inclined, we can use a
Model ZMP control
which was proposed by Hirai, Hirose, Haikawaand Takenaka to control the Honda humanoid robot P2 [9].To recover the body posture, the robot strongly acceleratesforward and it makes the expected ZMP move away from thereal ZMP
(
p
real
)
1
. The posture recovery torque is generatedin proportional to the difference of the ZMPs(Fig.2(c)).III. D
YNAMICS OF PATTERN GENERATOR
In this section, we review a pattern generator as a prepa-ration of auxiliary ZMP. The pattern generator is derived byapplying a preview control theory to an inverted pendulummodel [12].
A. Preview controller based on linear inverted pendulum
Biped dynamics in sagittal plane can be approximated bythe model of Fig.3 [13] whose dynamics is given by
¨
x
=
gz
h
(
x
−
p
)
,
(2)where
x
is the horizontal displacement of the center of mass(CoM),
z
h
is the height of CoM,
g
is gravity acceleration and
p
is the location of ZMP.By assuming a cart carrying ZMP (ZMP-cart) instead of actual feet, we can concisely model the dynamics of a bipedrobot. For example, cart motion can represent the weightshifting in double support phase as well as the change of thefoot torque in single support phase.As the system input, let us take the speed of the ZMP-cart
v
. The dynamics of the ZMP-cart is given as
˙
p
=
v.
(3)
1
Since
p
ref
+
p
aux
is a nominal value planned by the pattern generator,it can leave the support polygon.
p
x
Oz
h
xz
Fig. 3. Linear inverted pendulum on a moving cart
From eqs. (2) and (3), we have the following system repre-sentation.
ddt
x
˙
x p
=
0 1 0
gz
h
0
−
gz
h
0 0 0
x
˙
x p
+
001
v p
=
0 0 1
x
˙
x p
(4)By discretizing eq.(4) with sampling time of
∆t
, we obtainthe following system.
x
k
+1
=
A
0
x
k
+
b
0
v
k
p
k
=
c
0
x
k
(5)where
x
k
≡
[
x
(
k∆t
) ˙
x
(
k∆t
)
p
(
k∆t
) ]
T
,v
k
≡
v
(
k∆t
)
, p
k
≡
p
(
k∆t
)
.
To obtain a preview controller, we deﬁne a performanceindex as
J
=
∞
j
=1
{
Q
(
p
ref j
−
p
j
)
2
+
Rv
2
j
}
,
(6)where
Q
and
R
are non-negative weights. This index
J
canbe minimized by using the following controller [14].
v
k
=
−
Kx
k
+ [
f
1
,f
2
,
···
f
N
]
p
ref k
+1
...
p
ref k
+
N
(7)where
K
and
f
j
are calculated as
K
≡
(
R
+
b
T
0
Pb
0
)
−
1
b
T
0
PA
0
f
i
≡
(
R
+
b
T
0
Pb
0
)
−
1
b
T
0
(
A
0
−
b
0
K
)
T
∗
(
i
−
1)
c
T
0
Q.
(8)
P
is a solution of the following Riccati equation.
P
=
A
T
0
PA
0
+
c
T
0
Q
c
0
−
A
T
0
Pb
0
(
R
+
b
T
0
Pb
0
)
−
1
b
T
0
PA
0
(9)The parameters we used in this paper are shown in thefollowing table.
2994
g
9.8 [m/s
2
]
Q
1
z
h
0.8 [m]
R
1
×
10
−
10
∆t
0.005 [s]
N
320
N∆t
1.6 [s]
B. Structure of the pattern generator
Figure 4 illustrates the structure of the pattern generator.
FIFO
p
k
+
reference ZMP
−
x
k
u
k
1
+ +
⋯
ref ref k N k
p p
K
eq.
(9) and (10),
G
(z)
preview gain
v
k
1
N
f f
⋯
Fig. 4. Structure of the pattern generator
For further analysis we rewrite the pattern generator. First,by combining the inverted pendulum system with the statefeedback gain we have
x
k
+1
=
Ax
k
+
b
u
k
,
(10)
p
k
=
cx
k
,
(11)where
A
≡
A
0
−
b
0
K
,
b
≡
b
0
,
c
≡
c
0
.The system input
u
k
is calculated by the reference ZMPpattern
p
ref
and the preview gain.
u
k
=
N
j
=1
f
j
p
ref k
+
j
(12)This convolution process is illustrated by a belt conveyer inFig.4. Finally, by feeding
u
k
to the system of eq.(10) and (11),we obtain a proper trajectory of the CoM
x
and the resultedZMP
p
.Figure 5 shows an example pattern generation. First, wedetermine a reference ZMP for the desired walking. Fig.5(a) isthe reference ZMP corresponding a walk of two 30[cm] stepswith 0.7[s] single support and 0.1[s] double support for eachstep. Next, by a convolution between the reference ZMP andthe preview gain
[
f
1
,...,f
N
]
(Fig.5(b)) the internal signal
u
iscalculated (Fig.5(c)). Finally, the internal signal is transformedinto the CoM and the ZMP (Fig.5(d)).IV. ZMP
MODIFICATION USING AN INVERSE SYSTEM
A. Inverse system
The pattern generator’s output
p
is used to control the actualwalking robot since it gives a ZMP consistent with the robotdynamics of eq.(2). The pattern generator guarantees its outputto be
p
k
=
p
ref k
+
ǫ
(13)where
ǫ
is the tracking error of the preview controller whosemagnitude can be negligibly small by selecting the weights of eq.(6).
0 0.5 1 1.5-50050100150200
P r e v i e w g a i n [ 1 / s ]
time [s]F
0 1 2 3 4-0.100.10.20.30.40.50.6
z m p [ m ]
time [s]p
ref
0 1 2 3 4-180-160-140-120-100-80-60-40-200time [s]
u [ m / s ]
F*p
ref
0 1 2 3 4-0.100.10.20.30.40.50.6
x , z m p [ m ]
time [s]xp
(a) Reference ZMP(b) Preview gain(c) Internal signal u(d) CoM and ZMP
Fig. 5. Process of pattern generation
Our goal is to modify the ZMP from the reference trajectoryas
p
k
=
p
ref k
+
p
auxk
+
ǫ
(14)where
p
auxk
is the auxiliary ZMP speciﬁed in real-time.
FIFO
reference ZMP
p
u
1
+ +
⋯
ref ref k N k
p p
G
INV
(z)
G
(z)
p
aux
preview gain
++
u
aux
u
ref
x
1
N
f f
⋯
Fig. 6. Preview pattern generator with inverse system
To realize the ZMP modiﬁcation of eq.(14), we extendthe pattern generator as Fig.6. Newly added
G
INV
(
z
)
musthave the following property to realize the real-time ZMPmodiﬁcation of eq.(14).
G
(
z
)
·
G
INV
(
z
) = 1
(15)where
G
(
z
)
is a transfer function from internal signal
u
to theZMP
p
determined by eq.(10) and (11). Using the parametersshown in Section III.A,
G
(
z
)
is given as
G
(
z
) = 0
.
005(
z
−
1
.
018)(
z
−
0
.
9827)(
z
−
0
.
9827)
2
(
z
−
0
.
8539)
.
(16)From eq.(15) we get
G
INV
(
z
) = (
z
−
0
.
9827)
2
(
z
−
0
.
8539)0
.
005(
z
−
1
.
018)(
z
−
0
.
9827)
.
(17)This transfer function can not be realized since its numeratorhas higher order than its denominator. This problem can be
2995
solved by multiplying an operator of one step delay
z
−
1
, andwe get a realizable transfer function as
G
INV
(
z
) = (
z
−
0
.
9827)
2
(
z
−
0
.
8539)0
.
005
z
(
z
−
1
.
018)(
z
−
0
.
9827)
.
(18)The drawback of this
G
INV
(
z
)
is that we have one sampletime delay from
p
aux
to
p
. Because now we have,
G
(
z
)
·
G
INV
(
z
) =
z
−
1
.
(19)As shown here, we can obtain an inverse transfer functionin discrete time domain by accepting delay. See Sain et al.[15] for more rigorous discussion.
B. Inverse system in state space
Let us derive the inverse system
G
INV
(
z
)
in state space.By letting eq.(10) one sampling step forward, we get
p
k
+1
=
cx
k
+1
=
cAx
k
+
cb
u
k
.
Since
cb
= 0
, we can derive the output equation of the inversesystem, which gives
u
k
from
x
k
and
p
k
+1
.
u
k
=
−
(
cb
)
−
1
cAx
k
+ (
cb
)
−
1
p
k
+1
≡
c
1
x
k
+
d
1
p
k
+1
(20)The state transition of the inverse system is obtained bysubstituting eq.(20) into eq.(10).
x
k
+1
= (
A
+
bc
1
)
x
k
+
b
d
1
p
k
+1
.
(21)From above results, we can form the state space represen-tation of
G
INV
(
z
)
as the following equations.
x
INV k
+1
=
A
1
x
INV k
+
b
1
p
auxk
u
auxk
=
c
1
x
INV k
+
d
1
p
auxk
(22)where
A
1
≡
A
+
bc
1
,
b
1
≡
b
d
1
.
x
INV k
gives the state of the inverse system. In the followingsimulations,
G
INV
(
z
)
is implemented by eq.(22).
C. Nature of the inverse system
Figure 7 shows an example of applying an auxiliary ZMP.From 1.0[s] to 1.3[s], an auxiliary ZMP of
−
0
.
05
[m] wasadded to the walking pattern of Fig.5. Although the ZMP iscorrectly modiﬁed (upper graph, thin line), the internal signal
u
ref
+
u
aux
(lower graph, gray line) and the CoM trajectory(upper graph, bold line) quickly diverges. It happens since theinverse system
G
INV
(
z
)
is unstable.
0 0.5 1 1.5 2 2.5 3 3.5 400.20.40.6
x , z m p [ m ]
xp0 0.5 1 1.5 2 2.5 3 3.5 4-200-150-100-500time [s]
u [ m / s ]
u
ref
u
ref
+u
aux
auxiliary ZMP
Fig. 7. Adding auxiliary ZMP using an inverse system
D. Stabilized inverse system
To avoid the divergence of the inverse system, we canstabilize it by a feedback. The auxiliary ZMP input is modiﬁedby
p
aux
2
=
p
aux
+
K
INV
x
INV
,
(23)where
K
INV
is a feedback gain matrix which stabilizeseq.(22) and we determined it by a pole assignment.
p
aux
2
becomes the input of the inverse system. Fig.8 shows the block diagram.
FIFO
reference ZMP
p
u
1
+ +
⋯
ref ref k N k
p p
G
INV
(z)
G
(z)
p
aux
preview gain
++
u
aux
u
ref
x
K
INV
+−
1
N
f f
⋯
Fig. 8. Preview pattern generator with a stabilized inverse system
Fig. 9(a) shows the result when the same auxiliary ZMP(
p
aux
=
−
0
.
05
,
t
∈
[1
.
0
,
1
.
3]
) is applied to this patterngenerator. Thanks to the state feedback, the CoM trajectorydoes not diverge but the auxiliary ZMP was not correctlyrealized. The distortion becomes smaller when the auxiliaryZMP has high frequency component. Fig.9(b) shows the resultwhen an auxiliary ZMP of
p
aux
= 0
.
05sin(50
t
)
,
t
∈
[1
.
0
,
1
.
3]
was applied. We can observe the ZMP is well modiﬁed asexpected.V. A
DJUSTING FUTURE
ZMP
A. Reset of the inverse system
To avoid the divergence of the inverse system
G
INV
(
z
)
, letus
reset
the system instead of the stabilization. We can reset
G
INV
(
z
)
by letting
x
INV k
=
0
.
(24)
2996
0 0.5 1 1.5 2 2.5 3 3.5 400.20.40.6
x , z m p [ m ]
xpp
ref
+p
aux
0 0.5 1 1.5 2 2.5 3 3.5 400.20.40.6
x , z m p [ m ]
time [s]xpp
ref
+p
aux
(a) p
aux
=-0.05 [m] (1.0 <t <1.3)(b) p
aux
=-0.05*sin(50t) [m] (1.0 <t <1.3)
auxiliary ZMPauxiliary ZMP
Fig. 9. Adding auxiliary ZMP using a stabilized inverse system
In Figure 10, the auxiliary ZMP is given without stabiliza-tion, but the inverse system is reset at the end of the ZMPmodiﬁcation (1.3[s]).
0 0.5 1 1.5 2 2.5 3 3.5 400.20.40.6
x , z m p [ m ]
xpp
ref
+p
aux
0 0.5 1 1.5 2 2.5 3 3.5 4200150100500time [s]
u [ m / s ]
u
prev
u
prev
+u
aux
auxiliary ZMPreset G
INV
(z)
{
tracking error
Fig. 10. Reseting an inverse system to avoid divergence
While the divergence of the CoM motion was avoided, weobserve a huge tracking error of the ZMP in the upper graph of Fig.10. The tracking error is inappropriate for walking controland it appears at 1.3[s] when
u
discontinuously changed bythe reset of
G
INV
(
z
)
(lower graph of Fig.10). From thisobservation, let us assume the following working hypothesis.
Working hypothesis:
By keeping continuity of theinternal signal
u
, the preview pattern generator cangenerate a pattern with small ZMP tracking error.Although we do not have a solid theoretical basis for thishypothesis, it is conﬁrmed by simulations in the rest of thispaper. To keep the continuity of the internal signal
u
, wemodify the reference ZMP by time shifting.
B. Time shift of the reference ZMP
Suppose the reference ZMP trajectory is deﬁned as afunction of virtual time
τ
. The preview feedforward term of eq.(12) can be rewritten as
g
p
(
τ
)
≡
N
j
=1
f
j
p
ref
(
τ
+
j∆t
)
.
(25)The normal preview controller is given by specifying thevirtual time for each sampling
τ
k
as
τ
k
+1
=
τ
k
+
∆t.
(26)
uu
τ
k
τ
∗
τ
k+1
=
τ
∗
(a) (b)
Fig. 11. Absorbing discontinuous change of the internal signal
u
. (a)Find
τ
∗
to keep current
u
. (b)Update virtual time as
τ
k
+1
=
τ
∗
. This results thetime shift of the reference ZMP.
When we reset the inverse system at time
(
k
+ 1)
∆t
, wehave discontinuous change of the internal signal as
u
auxk
= 0
and u
auxk
+1
= 0
.
(27)To ease this abrupt change, let us introduce an active controlof virtual time
τ
as shown in Fig.11. This time shiftingprocedure is formalized as following.
τ
k
+1
=
τ
∗
,
such that
g
p
(
τ
∗
) =
u
ref k
+
u
auxk
.
(28)
0 0.5 1 1.5 2 2.5 3 3.5 400.20.40.6
x , z m p [ m ]
xpp
ref
+p
aux
0 0.5 1 1.5 2 2.5 3 3.5 4200150100500time [s]
u [ m / s ]
F*p
ref
u
prev
+u
aux
0.17[s]
reset G
INV
(z) , adjust
τ
Fig. 12. Modiﬁed ZMP by shifting virtual time
2997

Search

Similar documents

Tags

Related Search

We Need Your Support

Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks

SAVE OUR EARTH

We need your sign to support Project to invent "SMART AND CONTROLLABLE REFLECTIVE BALLOONS" to cover the Sun and Save Our Earth.

More details...Sign Now!

We are very appreciated for your Prompt Action!

x