Small Business & Entrepreneurship

Biped Walking Pattern Generator allowing Auxiliary ZMP Control

Description
Biped Walking Pattern Generator allowing Auxiliary ZMP Control
Published
of 7
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 modifies aninstantaneous behavior of the walking robot and as its side ef-fect the long term parameters like walking cycle or step widthare modified 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 floor 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 profile 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 first 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 flexibly 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 define 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 specified 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 modification of eq.(14), we extendthe pattern generator as Fig.6. Newly added  G INV   ( z )  musthave the following property to realize the real-time ZMPmodification 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 modified (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 modifiedby  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 modified 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 ZMPmodification (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 confirmed 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 defined 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. Modified ZMP by shifting virtual time 2997
Search
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