Biped Walking Pattern Generation by Using Preview Control Based on Three-Mass Model

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
  Biped Walking Pattern Generation by using PreviewControl of Zero-Moment Point Shuuji KAJITA, Fumio KANEHIRO, Kenji KANEKO, Kiyoshi FUJIWARA,Kensuke HARADA, Kazuhito YOKOI and Hirohisa HIRUKAWANational Institute of Advanced Industrial Science and Technology (AIST)Tsukuba Central 2, 1-1-1 Umezono, Tsukuba, Ibaraki, 305-8568 Japan E-mail:  { s.kajita,f-kanehiro,k.kaneko,k-fujiwara,kensuke.harada,kazuhito.yokoi,hiro.hirukawa } Abstract We introduce a new method of a biped walking pat-tern generation by using a preview control of the zero-moment 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 sim-ple model and the precise multibody model. The effec-tiveness of the proposed method is demonstrated by a simulation of walking on spiral stairs. 1 Introduction Researchon biped humanoid robots is currently oneof the most exciting topics in the field of robotics andthere are many ongoing projects [1, 2, 3, 4, 21]. Fromthe viewpoint of control and walking pattern genera-tion these works can be classified into two categories.The first group requires the precise knowledge of robotdynamics including mass, location of center of massand inertia of each link to prepare walking patterns.Therefore, it mainly relies on the accuracy of the mod-els [1, 2, 15, 5]. Let us call this group as the ZMP basedapproach since they often use the zero-moment point(ZMP) for pattern generation and walking control.Contrary, there is the second group which uses lim-ited knowledge of dynamics e.g. location of total cen-ter of mass, total angular momentum, etc. Sincethe controller knows little about the system struc-ture, this approach much relies on a feedback control[6, 10, 7, 8]. We can call this as the inverted pendu-lum approach, since they frequently uses an invertedpendulum model.From the second standpoint, the authors pro-posed a method of walking control and patterngeneration[11, 12] by which dynamic biped walkingwas successfully realized on simulations and experi-ments. However, since our method generated a stablegait by changing foot placements from the srcinal as-signment, it was not applicable to a situation like awalking on stepping-stones where the foot must beplaced on the specified location (Figure 1). Most of the inverted pendulum based methods suffer with thisproblem while the ZMP based methods can handlesuch situation [15].Figure 1: Walking on randomly placed stepping-stones Proceedings of the 2003 IEEE International Conference on Robotics & Automation Taipei, Taiwan, September 14-19, 2003   0-7803-7736-2/03/$17.00 ©2003 IEEE   1620  In this paper we introduce a novel walking patterngeneration that allows arbitrary foot placements as amixture of the ZMP based and the inverted pendulumbased approaches. It is also shown that by using thepreview controller, we can take into account of theprecise multibody dynamics although our method isbased on a simple inverted pendulum model. 2 Dynamic Models of Biped Robot 2.1 3D Linear Inverted Pendulum Modeand Zero-moment point When we apply a constraint control to an invertedpendulum such that the mass should move along anarbitrary defined plane, we obtain a simple linear dy-namics called the Three-Dimensional Linear InvertedPendulum Mode (3D-LIPM)[9, 11]. We take Cartesiancoordinatesas shown in Figure 2 and specify the  x -axisas the ordinal walking direction. The constraint planeis represented with given normal vector ( k x ,k y , − 1)and z intersection  z c  as z  =  k x x  +  k y y  +  z c .  (1)If the constraint plane is horizontal ( k x  =  k y  = 0),the dynamics under the constraint control is given by¨ y  =  gz c y  −  1 mz c τ  x ,  (2)¨ x  =  gz c x  + 1 mz c τ  y ,  (3)where  m  is the mass of the pendulum,  g  is gravityacceleration and  τ  x ,τ  y  are the torques around  x -axisand  y -axis respectively.Even in the case of the sloped constraint where k x ,k y   = 0, we can obtain the same dynamics by ap-plying additional constraint τ  x x  +  τ  y y  = 0 ,  (4)for the input torques.Eqs. (2) and (3) are linear equations. The only pa-rameter which governs those dynamics is  z c , i.e., the zintersection of the constraint plane and the inclinationof the plane never affects the horizontal motion.For the 3D-LIPM with the horizontal constraint( k x  =  k y  = 0), we can easily calculate the zero-moment point (ZMP), which is widely used in bipedrobot research [13],  p x  =  −  τ  y mg, p y  =  τ  x mg,  (5)Figure 2: A pendulum under constraintwhere (  p x ,p y ) is the location of the ZMP on the floor.By substituting Eqs. (5) to the 3D-LIPM ((2) and(3)) we obtain¨ y  =  gz c ( y  −  p y ) ,  (6)¨ x  =  gz c ( x −  p x ) .  (7) 2.2 ZMP equations and cart-table model To control the ZMP, it should be the outputs of thesystem while it appears as the inputs of the 3D-LIPMin the last section. Therefore, we rewrite Eqs. (6) and(7) to have the ZMP as their outputs as  p y  =  y  −  z c g  ¨ y,  (8)  p x  =  x −  z c g  ¨ x.  (9)In the following part of this paper, we will refer theabove equations as  the ZMP equations  .Figure 3 shows a suggestive model directly corre-sponds to these equations. It depicts a running cartof mass  m  on a pedestal table whose mass is negligible(we need two sets of a cart on a table for the motionof   x  and  y ).As shown in the figure, the foot of the table is toosmall to let the cart stay on the edge. However, if thecart accelerates with a proper rate, the table can keepupright for a while. At this moment, the ZMP existsinside of the table foot. Since the moment around theZMP must be zero, we have τ  zmp  =  mg ( x −  p x ) − m ¨ xz c  = 0 .  (10)We can verify that this yields the same equation toEq. (9). 1621   ZMP  τ  x  ɺɺ x  c  z  x  p m  O  Figure 3: A cart-table model 3 Walking pattern generation for givenZMP 3.1 Pattern generation as an inverseproblem When we represent a robot as the cart-table modeland give the the cart motion as the trajectory of thecenter of mass (CoM) of the robot, we can easily cal-culate the resulted ZMP by using the ZMP equationsEqs. (8) and (9).On the other hand, a walking pattern generation isthe inverse problem of this. That is, the cart motionshould be calculated from the given ZMP trajectory,which is determined by the desired footholds and stepperiod.Takanishi et al. proposed to solve this problem byusing Fourier Transformation [14]. By applying theFast Fourier Transformation (FFT) to the ZMP refer-ence, the ZMP equations can be solved in frequencydomain. Then the inverse FFT returns the resultedCoM trajectory into time domain.Kagami, Nishiwaki et al. proposed a method tosolve this problem in the discrete time domain [15].They showed the ZMP equation can be discretized asa trinomial expression, and it can be efficiently solvedby an algorithm of   O ( N  ) for the given reference dataof size  N  .Both methods are proposed as batch processes thatuse a ZMP reference of certain period and generatethe corresponding CoM trajectory. To generate con-tinuous walking pattern for a long period, they mustcalculate entire trajectory by off-line or must connectthe piece of trajectories calculated from the ZMP ref-erence divided into short segments. 3.2 ZMP control as a servo problem Let us define a new variable  u x  as the time deriva-tive of the horizontal acceleration of CoM. ddt ¨ x  =  u x  (11)Regarding  u x  as the input of Eq. (9), we can translatethe ZMP equation into a strictly proper dynamicalsystem as ddt  x ˙ x ¨ x   =  0 1 00 0 10 0 0  x ˙ x ¨ x  +  001  u x  p x  =   1 0  − z c /g  x ˙ x ¨ x  . (12)For Eq. (8), we define  u y  and obtain the system of thesame form.By using the dynamics of Eq. (12) we can con-struct a walking pattern generator as a ZMP trackingcontrol system (Figure 4). The system generates theCoM trajectory such that the resulted ZMP followsthe given reference. However, we must consider an  x u ZMPreferenceServoControllerDynamic ZMPequation (12)  p ref   p x + −  p ZMPCoM Figure 4: Pattern generation as ZMP tracking control 0 0.5 1 1.5 2 2.5−0.0500.   x   [  m   ] time [s]zmp refxOutput Input x  ZMP  Figure 5: ZMP and CoM trajectoryinteresting feature of this problem as follows. Figure5 illustrates the ideal trajectories of the ZMP and the 1622  CoM of a robot that walks one step forward dynam-ically. The robot supports its body by hind-leg from0s to 1.5s, and has support exchange at 1.5s followedby the foreleg support until 3.0s. Thus the referenceZMP should have a step change at 1.5s and obviouslythe CoM must start moving  before   this. Assuming thecontroller in Figure 4, the output must be calculatedfrom the future input!Although this sounds curious, we don’t have to vio-late the law of causality. Indeed, we are familiar withsuch situation in driving on a winding road, where westeer a car by watching ahead, that is, watching thefuture reference.A control that utilizes future information was firstproposed by Sheridan in 1966 and was named as the“Preview control”[16]. In 1969, Hayase and Ichikawaworked on the same concept and solved a linearquadratic (LQ) optimal servo controller with previewaction [17]. A digital version of LQ optimal previewcontroller was developed by Tomizuka and Rosenthalin 1979 [18] and was completed as the controller forMIMO system by Katayama in 1985 [19]. 3.3 Pattern generation by preview con-trol Let us design an optimal preview servo controllerfollowing the method proposed by Katayama et al.[19].First, we discretize the system of Eq. (12) withsampling time of   T   as x ( k  + 1) =  A x ( k ) +  Bu ( k ) , p ( k ) =  C  x ( k ) ,  (13)where x ( k )  ≡  [  x ( kT  ) ˙ x ( kT  ) ¨ x ( kT  ) ] T  ,u ( k )  ≡  u x ( kT  ) , p ( k )  ≡  p x ( kT  ) ,A  ≡  1  T T  2 / 20 1  T  0 0 1  ,B  ≡  T  3 / 6 T  2 / 2 T   ,C   ≡  [ 1 0  − z c /g  ] . With the given reference of ZMP  p ref  ( k ), the perfor-mance index is specified as J   = ∞  i = k { Q e e ( i ) 2 +∆ x T  ( i ) Q x ∆ x ( i )+ R ∆ u 2 ( i ) } ,  (14)where  e ( i )  ≡  p ( i ) −  p ref  ( i ) is servoerror,  Q e ,R >  0 and Q x  is a 3 × 3 symmetric non-negative definite matrix.∆ x ( k )  ≡  x ( k ) − x ( k − 1) is the incremental state vectorand ∆ u ( k )  ≡  u ( k ) − u ( k − 1) is the incremental input.When the ZMP reference can be previewed for  N  L step future at every sampling time, the optimal con-troller which minimizes the performance index (14) isgiven by u ( k ) =  − G ik  i =0 e ( k ) − G x x ( k ) − N  L  j =1 G  p (  j )  p ref  ( k  +  j ) , (15)where  G i ,G x  and  G  p (  j ) are the gains calculated fromthe weights  Q e ,Q x ,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 feedbackand the preview action using the future reference.Figure 6 shows the gain for the preview action. Wesee the controller does not need the information of far future because the magnitude of the preview gain G  p  becomes very small in the future farther than 2seconds. 0 0.5 1 1.5 2050010001500time [s]   p  r  e  v   i  e  w  g  a   i  n Figure 6: Preview controller gain  G  p  ( T   = 5[ms],  z c  =0 . 814[m],  Q e  = 1 . 0,  Q x  = 0,  R  = 1 . 0 × 10 − 6 )Figure 7 is an example of walking pattern gener-ation with the previewing period of 1.6s. The uppergraph is the sagittal motion along  x -axis and the lowergraph is the lateral motion along  y -axis. We can see asmooth trajectory of CoM (dashed line) is generatedand the resulted ZMP (bold line) follows the reference(thin line) with good accuracy. The generated walk-ing pattern corresponds to the walking of three stepsforward. The ZMP reference is designed to stay in thecenter of support foot during single support phase,and to move from an old support foot to a new sup-port foot during double support phase. To obtain asmooth ZMP trajectory in double support, we usedcubic spline.Figure 8 is the result with the previewing periodof 0.8s, which is not sufficient for the ZMP tracking.In this case, the resulted ZMP (bold line) does not 1623  0 1 2 3 4 5 6 700.51   x   [  m   ] ZMPZMP ref.CoM0 1 2 3 4 5 6 7−0.1−0.0500.050.1   y   [  m   ] time [s]ZMPZMP ref.CoM Figure 7: Body trajectory obtained by preview con-trol, previewing period  T   ∗ N  L  = 1 . 6( s ) 0 1 2 3 4 5 6 700.51   x   [  m   ] ZMPZMP ref.CoM0 1 2 3 4 5 6 7−0.1−0.0500.050.1   y   [  m   ] time [s]ZMPZMP ref.CoM Figure 8: With shorter previewing period  T   ∗  N  L  =0 . 8( s )follow the reference (thin line) well. We observe un-dershooting in the sagittal motion and overshooting inthe lateral motion. It should be noted that even ZMPtracking performance is poor, the system still remainsstable thanks to the term of the state feedback. 3.4 Pattern generation for multibodymodel The walking pattern is calculated by solving an in-verse kinematics such that the CoM of the robot fol-lows the output of the preview controller. As the sim-pler implementation, we can also use the center of thepelvis link since it approximates the motion of theCoM.To evaluate our method we used the physicalparameters of HRP-2 prototype (HRP-2P) shownin Figure 9[22]. HRP-2P is a humanoid robot of 154cm height and weighs 58kg developed in HumanoidRobotics Project (HRP) of METI [21].Figure 9: HRP-2 Prototype (HRP-2P)[22]We used the pattern of Figure 7 for the motionof the pelvis link considering the offset between thecenter of the pelvis and the real CoM. In this case,we had tracking errors of ZMP caused by the differ-ence between the simple cart-table model and the de-tailed multibody model defined by the parameter of HRP-2P. Figure 10 shows the ZMP calculated fromthe cart-table model (thin line) and the ZMP calcu-lated from the multibody model (bold line). The max-imum ZMP error was 2.3cm in  x -direction and 1.6cmin  y -direction. 0 2 4 6 800.51    x   [  m   ] ZMP multibodyZMP cart−tableCoM0 2 4 6 8−0.1−0.0500.050.1    y   [  m   ]  time [s]ZMP multibodyZMP cart−tableCoM Figure 10: ZMP calculated by table-cart model andmultibody modelIf the ZMP error becomes too big relative to thestability margin determined by the foot geometry, therobot can fall. To fix the ZMP error, again we canuse the preview control. That is, we first calculatethe CoM trajectory from the table-cart model and ob-tain expected ZMP error from the multibody model. 1624
Similar documents
View more...
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