PERIODIC STABILIZATION OF A 1-DOF HOPPING ROBOT ON NONLINEAR COMPLIANT SURFACE C. Canudas , L. Roussel , A. Goswami Laboratoire d'Automatique de Grenoble UMR-CNRS 5528, ENSIEG-INPG B.P. 46, 38402, St Martin d'Heres, France E-mail : canudas@lag.ensieg.inpg.fr INRIA Rh^one-Alpes ZIRST, 655 ave. de l'Europe 38330 Montbonnot St Martin, France Abstract: This paper deals with the problem of characterizing and stabilizing periodic orbits of a 1-DOF hopping robot moving over a nonlinear compliant surface. It is shown, through implicit calculations of the Poincare map, that globally stable periodic motions are possible via the injection of nonlinear damping. Keywords: periodic stabilization, walking and hopping robots. 1. INTRODUCTION The system considered is the classic simple point mass bouncing on a surface or equivalently, an idealized 1-dof hopping robot. The objective of this work is to introduce compliance in the robot/ground interface in order to control the interaction. The model can be seen as a rigid robot bouncing on a compliant surface or a compliant robot bouncing on a rigid surface. The current work stems from our eorts in the modeling and control of legged robots. While modeling a legged robot it is important to recall its principal dierences with a conventional manipulator arm, the dierences which are of fundamental importance but are sometimes overlooked and, in our opinion, not suciently emphasized. While a conventional manipulator arm is permanently rigidly xed to the ground, a legged robot is not. More importantly the \constraint" between the robot foot and the ground is unilateral. Thus given appropriate joint torques the robot is free to leave the ground, which is an impossibility for a conventional arm. There are two common lines of approach in treating the interaction of such a robot with the ground. The rst is a rigid body approach where both the robot and the ground are idealized rigid bodies. A second approach, the one adopted here, is the modeling of the interaction as a compliant phenomenon. In this approach, we typically place a spring/damper module on one of the two interacting objects. The advantage of this model is that it has continuous dynamics governed completely by dierential equations and can be used to simulate a variety of interacting surfaces by changing the spring/damper coecients. In case of interactions involving non-zero relative velocities between the interacting objects a linear damper produces a discontinuous jump in the interaction force during the rst contact, a phenomenon which cannot be physically justied. Also, traditional spring-damper elements, which are active both in extension and compression, cannot correctly model the ground contact of either a bouncing ball or a legged robot since they would generate articial tension forces pulling the interacting objects towards each other. In order to rectify the two rst problem, we adopt the use of non-linear spring-damper elements following (?) and (Marhefka and Orin., April 1996). The authors of both of these articles focus on the performance of the non-linear models in terms of their dynamic behavior. We use the model, in addition, to formulate simple control laws to stabilize a simple one-degree of freedom hopping robot about a desired periodic orbit. The characteristics of the walking robot is preserved here through the restriction of allowing only positive feedback. Given the height of jump altitude, the employed control law tries to bring the robot to the bouncing trajectory. In this paper we present a control law that globally stabilizes the robot to any arbitrary jump altitude. We present two alternative controllers: a dead-beat feedback and an asymptotic one. Raibert performed a detailed theoretical and practical investigation of the hopping robot (Raibert, 1986) and was capable of establishing a stable vertical hopping motion of the robot. Several theoretical studies, chiey those from the groups of Koditschek (Koditschek and Buehler, 1991) and Burdick(A.F. et al., 1991)(McCloskey and Burdick., April 1991) followed from this. (Ahmadi and Buehler., April 1995) studied passive dynamic running with a simple hopping robot model similar to the ones mentioned above. This model takes advantage of tuned passive elements, in addition to the actuators to run economically. The proposed controller can stabilize any desired robot speed. (Francois and Samson., April 1994) considered the problem of creating constant-energy gaits of hopping robots. 2. MODELS The dynamics of the hopping robot may be written as follow: m_v = ?mg + u + F u 0 (1) where m is the masse, v is the velocity of the robot, g is the gravity, u 2 R+ is the control input, and F is the contact force. Nonlinear contact models for compliant surfaces have been introduced in works of (Hunt and Crossley, 1975), and studied further in Marhefka and Orin' 96, to cope with the following drawbacks of the simple linear spring/damper model: the model is physically incoherent since interacting bodies may exert tensile forces on another before separation, the equivalent restitution coecient depends upon the masses of the colliding bodies and not on the impact velocities, contact force is discontinuous at the moment of impact. A quite general nonlinear contact model is (Hunt and Crossley, 1975) is: F = ?jxjnv ? kjxjn?1x (2) where F is the contact force, v = x_ is the velocity, x the position, and , k are positive constants. The surface x = 0 represents the contact surface. The power n 1 is used to model dierent geometries of contact (i.e. a sphere impacting a Hertzian plate ; n = 2=3). Two interesting properties have been demonstrated with this model (Marhefka and Orin' 96): x Dnc v Dc2 Dc1 Fig. 1. Natural dissipative motion. x v 0 = - vi v0 vi v x Fig. 2. Accessible set of output velocities by positive damping injection. (i) consider a body of mass m, in contact with a surface modeled by (1) and (2), i. e. m_v + jxjnv + kjxjn?1x = 0; x0 then the position x can be solved explicitly as a function of the actual velocity v, the contact velocity vi , and the contact position xi x = (xi; vi ; v) (3) h 2 m ( n + 1) 4 2 ? 3vi 3(v ? vi ) ? 2 ln 2 ? 3v = ? 92 k 1 +(?xi )n+1 n+1 (4) where = (2=3k). (ii) For small vi , the equivalent restitution coefcient e,can be approximated as e 1 ? vi . The complete system can be written as: ( v_ = ?g if x > 0 1 (?jxjnv ? kjxjn?1 x + u) ? g if x 0 m (5) where x = 0 describes the contact surface, and u 2 R+ . Note that the control u, u 0 can only apply forces in the upward direction and that no control action is possible during the ight phase. This is a common factor in the walking mechanisms where the degree of freedom between feet and ground is not actuated. 3. INVARIANT PERIODIC ORBITS The control philosophy underlined in this paper consists rst in the characterization, via an innerfeedback loop, of an invariant periodic orbit, and then to design, through an outer-feedback loop, a control strategy to stabilize such an orbit. Since model (5) can only dissipate energy during the contact phases ( the map v 7! ?F is dissipative), and energy is preserved during the free motion phases, it is clear that \natural" periodic orbits (with u = 0 ) cannot exist. This can be seen by writing the following energy-like positive continuous function V 8 < mgx + 0:5mv2 if x > 0 V = : mgx + 0:5mv2 + k jxjn+1 if x 0 (6) n+1 which has its time-derivative evaluated along the solutions (continuous) of (5) given as 0 V_ = ?jx0jnv2 ifif xx > 0 (7) It is convenient to split the state-space into three disjoint subsets in R2, Dnc = f(x; v) : x > 0g Dc1 = f(x; v) : x 0; v < 0g Dc2 = f(x; v) : x 0; v 0g (8) (9) (10) This state-space partition is shown in Fig(1)(2), together with the phase diagram of a natural dissipative motion (u = 0). In this gure v0 and vi stands for the exit velocity and the entrance velocity, respectively. xd is the desired altitude of the periodic motion. Note that to reach xd it is necessary to inject energy via u 0 during the contact phases. However, this is only possible during the motion in Dc2 due to the restriction of the positive sign of the control action. For this we consider that u be given as: u = g + 2m(vi ) jxjnv 0 if (x; v) 2 Dc2 (11) where the rst term compensates for the gravity and the second term is a nonlinear damper used to inject the precise amount of energy to ensure that v0 = ?vi . Note that 2 (vi ) 0 is constant during the contact phase, but it depends on the entrance velocity resulting from the free fall starting at xd . The nonlinear term in u is homogeneous to the nonlinear damper of the contact surface. Hence the total damper coecient 1 (vi ) = 2 (vi ) ? can be virtually modied within the following bounds: ? 2 < 1. With this rst inner-loop, the closed-loop equation becomes, 8 f (x; v) > > 1 > > > > f2 (x; v) < = ?g if (x; v); 2 Dnc = m1 (?jxjnv ? kjxjn?1x) v_ = > if (x; v); 2 Dc1 (12) > 1 > n n ? 1 > f3 (x; v) = m (2 (vi )jxj v ? kjxj x) > > : if (x; v); 2 Dc2 Problem 3.1. (Existence of invariant periodic orbits). Let vd be the desired entrance velocity corresponding to the desired jump altitude, and assume that x(0) = xd . An invariant orbit does exist, if an entrance velocity-dependent constant 2 (vi ) > 0, can be found such that the exit velocity vo be equal to the entrance desired velocity vd , i.e. vo = ?vi = vd . The natural system motion is dened as being a particular case of the above closed-loop equation with 2 = ?, ( or equivalent u = 0), and is characterized by the explicit map () : v 7! x, 8(x; v) 2 Dc1 [ Dc2 x = (vi; v) the exit velocity resulting from this natural dissipative motion, namely vo , can be computed from the implicit equation 0 = (vi; vo ) which results in vo < vi . By injecting a positive damping, as described by the last equation (12), or equivalent by changing 2 within the allowed range determined above, we can enlarge the set of accessible output velocities vo to the open set [vo ; 1), which, by construction, includes vi . This property is shown in Figure (2), and it can be demonstrated as follows. With this controller, the motion in contact is explicitly characterized by the maps 1 : v 7! x in Dc1 and 2 : v 7! x in Dc2 , i.e., x = 1 (vi ; xi; v) = 1 (vi ; 0; v) (13) x = 2 (2 ; v; x; v) = 2 (2 ; 0; x; v) (14) where v = 0; x are the values of v and x, respectively, when crossing from Dc1 to Dc2 at v = 0. The contact position is xi. In spite of the switching from ? ! 2 when crossing from Dc1 to Dc2 , the functions f2 (x; v); f3(x; v), are such that: lim? ff2 (x; v)g = lim+ ff3(x; v)g = ?kjxjn?1x x v ! x? !0 x v ! x+ !0 Hence the system solutions as well the maps i() are continuous. We can thus concatenate these maps and write x = 2 1, 8(x; v) 2 Dc1 [ Dc2 . Following the above notation we have that x = 1(vi ; 0; v), from which we get, x = 2(2 ; 0; x; v) (15) = 2(2 ; 0; 1(vi ; 0; v); v) (16) 4 = (2 ; vi; v) (17) The problem is now to nd 2 , such that it solves the implicit equation (17) evaluated at x = 0, v = ?vi , i.e., 0 = (2 ; vi; ?vi ) (18) which is equivalent to solving for 2 = (2=3k)2, in the following transcendental equation: a22 + b2 ? ln(2 + b2)2 + 2 ln2 = 0 (19) h i with a = 12 3vi + ln 2?32vi 2 , and b = ?3vi , vi < 0 = (2=3k): By inspection of (19), we can see that for the suitable range of 2 > 0, this function is continuous and it has the unique solution 2 = . This solution corresponds to a symmetric positive damping injection, where the energy lost during motion in Dc1 is recovered in Dc2 by just inverting the sign 2 . An example of an invariant motion is shown in Fig. (3) with a bold line, where motion is conned to the shown orbit. This nominal orbit will be denoted in the sequel as x = (v) = (2 ; vi ; v)jvi =?vd 2=2 ? where 2 is the value of 2 that solves for (19) with vi = ?vd . The problem considered in this section is to add a correction term to the nominal control (11) such as to render attractive the invariant orbit x = (v). For this we consider the following structure for u 0 1 (vi ) jxjn v if (x;v); 2 D c1 m u= > (vi ) n : g + 2m jxj v if (x;v); 2 Dc2 8 > <g? (20) where 1 > 0, 2 > 0. The control u is always positive, since the v is negative in Dc1 and positive in Dc2 . However due to this sign restriction on the control input, it is not possible to make the desired orbit x = (v) attractive in the usual sense. Instead, it is possible (as it will be shown in the following subsection), to nd 1 and 2 , such that the exit velocity series fvo (k)g converges to desired value vd , i.e. vo (k) ! ?vi (k) = vo (k ? 1) = vd This can be performed either in one cycle or asymptotically, as studied next. 3.1 Dead-beat Control With the controller (20), the closed-loop equations now become: x Dnc x= Φ*(x) v0= vd vi= -vd v Dc1 Dc2 Fig. 3. Accessible sets in the (x ? v)-plane, and nominal orbit. v_ = 8 f1 (x;v) = ?g if (x; v); 2 Dnc > > 1 > n n?1 x) > < f2 (x;v) = m (1 jxj v ? kjxj > > > f (x;v) = > : 3 if (x;v); 2 Dc1 1 ( jxjn v ? kjxjn?1 x) m 2 if (x;v); 2 Dc2 (21) with 1 2 [?; ?1), 2 2 [?; 1) . By modifying these constant with the allowed sets, we can have the following properties: (iii) The point x = (0) is accessible from any vi 2 [?vd ; ?1), for motions in Dc1 . (iv) The value of the exit velocity vo = vd is accessible from any x 2 (0; ?x], on the axe v = 0, for motions in Dc2 . Property (iii) results from the ability of dissipating arbitrarily large amounts of energy in Dc1, while Property (iv) comes from the fact that energy can be injected in Dc1 . Then, the shaded area shown in Figure (3) represents the state space domain where energy can be either dissipate or injected throughout positive feedback. These properties are equivalent to nding 1 ; 2 such that the following relationships hold: x = 1 (1 (vi );vi ; 0); if vi 2 [?vd ; ?1); 0 = 2 (2 (xc);xc ; vd ); if xc 2 (0; x]; (22) (23) where xc is the position when crossing the velocity-axis while in contact. In case that the initial contact velocity vi , is smaller in magnitude than vd , the value of 1 is set to be the natural system damping since there is no need to add more dissipation. Therefore, the maps (22)-(23) are completely dened for any value of vi , i.e. ( xc = 1 (1 (vi );vi ; 0) = x if vi 2 [?vd ; ?1) 1 (;vi ; 0); if vi 2 (?vd ; 0) 0 = 2 (2 (xc); xc ;vd ) if xc 2 (0; x]; (24) (25) Since the 1 -map projects all the contact velocities to the bounded set (0; x], there is no theoretical need to consider the case where xc > x. However, if this happens, due to possible model uncertainties, then 2 is set to be equal to ?, which will have the eect to bring the system x = 2 (2 ; xc; v) = 2 (2 ; 1(1 ; vi ; v); v) 4 = (1 ; 2 ; vi; v) (26) Equations (24)-(25) imply that we are able to nd 1 , 2 such that it solves the implicitequation (26) evaluated at x = 0, v = ?vd for all bounded vi, i.e. 0 = (1 ; 2 ; vi; vd ) (27) Phase Diagram xi=1.03 m 1 0.8 0.6 Position (m) motion towards the interior of the desired orbit x = (v). As before 1; 2 are continuous and can be concatenated to get x = 2 1, 8(x; v) 2 Dc1 [ Dc2, or equivalent, 0.4 0.2 xi=0.11 m 0 −5 −4 −3 −2 −1 (1 (vo (k ? 1));2 (vo (k ? 1));vo (k ? 1);vo (k)) = 0 and by continuity of the function (), the Poincare map : vo (k ? 1) 7! vo (k), can be represented as: vo (k) = (1 (vo (k ? 1));2 (vo (k ? 1));vo (k ? 1)) Introducing v~(k) = vo (k) ? vd , we get: v~(k) = (1 (vo (k ? 1)); 2(vo (k ? 1)); vo (k ? 1)) ? vd (28) If 1 (vo (k ? 1)); 2 (vo (k ? 1)) satisfy (24) and (25), we have (1 (vo (k ? 1)); 2 (vo (k ? 1)); vo (k ? 1)) ? vd = 0, which when substituted in the above equation gives v~(k) = 0 (29) Hence, dead-beat control is achieved. The following theorem summarizes this result. Theorem 3.1. Let vd be the desired velocity needed to reach the desired altitude xd . Let the control law be dened by 1 (vi ) jxjn v m u= > : g + 2m(vi ) jxjn v 8 > <g? if (x; v); 2 Dc1 if (x; v); 2 Dc2 (30) 2 3 4 5 Fig. 4. Phase-plane for the dead-beat control. The parameters for this simulations are: m = 1kg; n = 1; k = 1000N=m; xd = 0:46m; = 0:3 Phase Diagram xi=1.03 m 1 0.8 0.6 Position (m) The solution studied in the previous section is a particular case of the above problem. Solution for 1 , in the Equation (24) as well as the solution for 2 , in the Equation (25) are involved (except if xc = x, in which case the solution is 2 = ), and need to be solved numerically by a root nding algorithm. However, these solutions do exist and are uniquely dened. We can now consider the Poincare section S(x; v) = f(x; v)jx = 0; v > 0g. The Poincare map between the exit velocity at time instant t = k ?1, vo (k ?1), and the exit velocity at the time t = k, vo (k) is implicitly given by Equation (26), evaluated as vi = ?vo (k ? 1), v = vo (k) and x = 0: 0 1 Velocity (m / s) 0.4 0.2 xi=0.11 m 0 −5 −4 −3 −2 −1 0 1 Velocity (m / s) 2 3 4 5 Fig. 5. Phase-plane motion with the asymptotic controller. The parameters for this simulations are: m = 1kg; n = 1; k = 1000N=m; xd = 0:46m; = 0:4; = 0:3 with the contact velocity-dependent constants 1 (vi ) and 2 (vi ), being such as the relations (24) and (25) hold. Then the system solutions are bounded and the altitude xd is reached in one cycle, or equivalently the exit velocity vo (k) ! vd , in one step of nite duration. Simulations are shown in Fig (4) starting from two dierent initial position : x(0) = 1:03m and x(0) = 0:11m. 3.2 Asymptotic stabilization We consider now the problem of asymptotic stabilization of equation (28). The motivation for this is twofold: rst dead-beat control is known to result in large amplitude control signals, while asymptotic stabilizers necessitate lower control amplitudes. Second, the system robustness will be enhanced. Assume now that instead of solving for the equation (1 (vo (k ? 1));2 (vo (k ? 1));vo (k ? 1);vo (k)) = 0 with vo (k) set to vd , we rather solve for, vo (k) = (vo (k ? 1) ? vd ) + vd where jj < 1, i.e. Dead−beat control 200 which results in 150 Control (N) (1 (vo (k ? 1));2 (vo (k ? 1));vo (k ? 1);v~(k ? 1) + vd ) = 0 50 0 0 v~(k) = (1 (vo (k ? 1));2 (vo (k ? 1));vo (k ? 1)) ? vd = v~(k ? 1) (31) d (32) ? vo (k ? 1) 2 (?vd ; 0) 0 = 2 (2 (k ? 1);xc (k ? 1);vd ) if xc (k ? 1) 2 (0; x]; 20 25 30 35 25 30 35 150 100 5 10 15 20 Time (s) 8 1 (1(k ? 1); ?vo (k ? 1); 0) = x > > < if ? v (k ? 1) 2 [?v ; ?1) if 15 200 0 0 the following relationships hold, > > : 1 (;vo (k ? 1); 0); 10 50 The following theorem summarizes the result. Theorem 3.2. Let vd be the desired velocity needed to reach the desired altitude xd . Consider the control law 30, with the contact velocity-dependent constants 1 (vi ) and 2 (vi ), dened now such that o 5 Asymptotic Stabilization Control (N) since jj < 1, we have that lim v~(k) = 0 k!1 xc (k ? 1) = 100 (33) with x being dened as x = 1(; ?vd ; 0). Then the system solutions are bounded and satisfy: lim v (k) = vd k!1 o Hence, the jump altitude xd is reached asymptotically with a convergence velocity dened by . Remark Boundedness of the solution away from the Poincare section follows from the fact that during contact, the system motion is completely characterized by the relationship x = (vi ; v). From the continuity and boundedness of the map (), and the fact that vi is bounded (no energy is injected during the ight phase), we have that system solutions cannot escape in nite time. Finally note that for any bounded vi , Equation (32) projects the system trajectories to x, from which the map (33) provides a bounded exit velocity, while providing bounded (x; v) trajectories. The above analysis shows that vd is the unique asymptotically stable equilibrium point for vo (k). The phase-plane motion of the simulations are shown in Fig (5) starting from two dierent initial position: x(0) = 1:03m and x(0) = 0:11m, with = 0:4. As mentioned before, the transient magnitude of the control signal can be reduced, as shown the Fig (6). 4. CONCLUSIONS In this paper we have presented a solution for the problem of characterizing the existence and Fig. 6. Time-evolution of the control law. Comparison between the dead-beat and asymptotic strategy. stabilizing periodic orbits of an actuated 1-DOF hopping robot moving on a nonlinear compliant surface. It was shown that stable periodic motions are possible via the injection of nonlinear damping through nonlinear stabilizing feedback. This gives rise to one-step or asymptotic stabilizers. 5. REFERENCES A.F., Vakakis, Burdick J.W. and Caughey T.K. (1991). An 'interesting' strange attractor in the dynamics of the hopping robot. Int. J. on Robotics Research 10(6), 607{618. Ahmadi, M. and M. Buehler. (April 1995). A control strategy for stable passive running. In Proc. IEEE International Conference on Robotics & Automation, Nagoya, Japan pp. 152{157. Francois, C. and C. Samson. (April 1994). Running with constant energy. In Proc. IEEE International Conference on Robotics & Automation, San Diego pp. 131{136. Hunt, K.H. and F.R.E. Crossley (1975). Coecient of restitution interpreted as damping in vibroimpact. Transactions of the ASME, Journal of Applied Mechanics pp. 440{445. Koditschek, D.E. and M. Buehler (1991). Analysis of a simplied hopping robot. Int. J. of Rob. Res. 10(6), 587{605. Marhefka, D. and D. Orin. (April 1996). Simulation of contact using a nonlinear damping model. In Proc. IEEE International Conference on Robotics & Automation, Minneapolis 2, 1662{1668. McCloskey, R.T. and J.W. Burdick. (April 1991). An analytical study of simple hopping robots with vertical and forward motion.. Proc. IEEE Robotics & Automation 2(6), 1392{ 1397. Raibert, M.H. (1986). Legged Robots that Balance. The MIT PRESS. Cambridge Massachusetts, London, England.