Controlled Limit Cycles Approach for Control of Legged Robots

Abstract– The paper addresses the hopping robots control prob- lem. ...... of 1 d.o.f hopping robot on nonlinear compliant surface. IFAC. Syroco'97, Nantes ...
388KB taille 14 téléchargements 281 vues
1

Controlled Limit Cycles Approach for Control of Legged Robots N. K. M’Sirdi, N. Manamani and N. Nadjar-Gauthier LRP Laboratoire de Robotique de Paris, UVSQ-CNRS 10-12, Avenue de l’Europe 78140 VELIZY FRANCE fax: 33 1 39 25 49 67 Email: [email protected] Abstract – The paper addresses the hopping robots control problem. These systems interact permanently with environment. Controlled Limit Cycles (CLC) are used to define gaits and their stabilization (closed orbits). An analysis of robustness of the proposed control with respect to parameters variations and disturbances is presented and illustrated by numerical simulations. Unlike the previous studies in this field, explicit models of interactions and impacts are not used. Keywords – Legged robots control, Hopping robots, Passive Feedback Systems, Controlled Limit Cycles.

I. Introduction At present time an increasing attention is paid to legged robots. Research has been focused on gait generation and mechanism design. There is an important and growing literature in this field. Simple mechanical systems have been considered for analysis of dynamic gaits and different approaches have been considered [1] [2] [3][4] [?] [5][6]. In [7] a feedback control is designed to stabilize a desired limit cycle for a compliant leg composed with a spring-mass system. For fast dynamic gaits (hopping or running), robots require that the desired trajectory be processed on line for preservation of the system stability and energy optimization [8][9]. Performances depend on the used control law and legged machines. Such variable structure systems or intermittent dynamic processes are difficult to control. This is due to their nonlinear nature and presence of phase transitions (several configurations in contact phase, flying phase, energy transformations and flow inside the system). It has been shown in [10] that leg models including mass and springs are important for understanding running and hopping. Our experiments exhibit that energy based models (retaining only pertinent informations variables for the running behavior) [11][12][13] are a good way to involve interactions between reactive and passive parts of the system and the ground [14][15]. That has been also pointed out by studies on biologically styled design of robots which include springs [16][17]. The main feature pointed out by these studies, among others, is that the control of legged robot requires a strategy, where the usual definitions have to be adjusted in order to perform motion and gaits. For legged robots, despite the reported results, many problems remain to be solved in order to obtain stable behavior in various environments. Performance index of such machines is much different than typical ones in control systems. Our 0 This work is a part of our contribution to the PRC of the CNRS on control of legged robots. 0 Submitted (31/01/98) to Motion Control 98. IFAC Grenoble 98, France.

aim is to prove that Controlled Limit Cycles (CLC) can be used to stabilize periodic gaits for legged robots. The organization of the paper is as follows. After introduction of some basic definitions, useful in this field, the problem formulation is presented in section 2. In section 3, the proposed approach emphasizes the strong relations existing between dynamics of the robotic system and admissible motions. The set of possible motions is function of the applied stabilizing control. This is exploited to define the control target, motion gaits and design tools. Section 4 is devoted to the design of CLC and their performance analysis. This control approach is applied for the SAP robot. Simulation results are presented for one leg hopping robot (SAP). Some comments, future prospects and conclusions on this work will be given. II. Dynamics of legged robots with fast gaits A. Motion and Stability definition The control objective has to be defined in the way that robot obeys some desired behavior imposed by required motion gaits. The main point is to ensure dynamic gaits and to maintain the global behavior. In a flying phase, for example, perturbations on leg positions or velocity may be not a matter except for equilibrium or stance requirements. For walking machines, gaits stability must be defined for control design and performance analysis. In what follows, basic stability definitions adapted from Lyapunov stability [18][19] are introduced. Some of them have been used previously in [1]. Let us consider a free (autonomous) system with state vector x ∈ Rn and initial condition xo = x(to ): x˙ = f (x)

(1)

Let {tk } be a sequence of time instants with lim tk = ∞. k→∞

Definition 1: For the system (1) a ’positive limit set’ Ω of a bounded trajectory x(t) ( kx(t)k < µ, ∀t > 0) is defined as Ω = {p ∈ Rn , ∀ε > 0, ∃{tk } such that kp − x(tk )k < ε, ∀k ∈ N }. Note that for second order systems the only possible types of limit sets are singular points and limit cycles. It can be shown that the limit set Ω is not empty, closed, bounded and connected. A bounded infinite sequence of points always contain a convergent subsequence. This defines a closed orbit Ω (limit cycle or non-static equilibrium) for the system trajectory [19]. Let us consider the behavior of neighboring trajectories in order to analyze the orbital stability. Definition 2: Orbital stability: The system trajectory in the phase space Rn is a stable orbit Ω if ∀ε > 0 ∃δ > 0

2

τ→

such that kxo − Ω(xo )k < δ ⇒ inf kx(t) − pk < ε, ∀t > to

G a it D ef in i tio n

p∈Ω

All trajectories starting near the orbit Ω stay in its vicinity. If all trajectories in the vicinity of Ω approach it as t → ∞ then the limit set Ω has the property of a region of attraction: Ω verifies the property of asymptotic orbital stability. Definition 3: Asymptotic orbital stability: The system trajectory in the phase space Rn is asymptotically stable if it is stable and kxo − Ω(xo )k < δ ⇒ lim inf kx(t) − pk =

E n ergy R e feren ce S ta n c e

+

-

M o tio n E v a l u a t io n

=• Εz - u )

C o n trol

+

R obot

Fig. 1. Approach for Gait stabilization with CLC

t→∞ p∈Ω

0

This can be used for definition of gaits, trajectory generation, obtention of nominal positions and velocities versus time required for the gait and dynamical stability. B. Gaits of legged robots Definition of gaits: A regular motion of a legged machine corresponds to a quasi periodic variation of the state vector x in the phase plane. That allows us to define a closed orbit Ω, in the phase plane, in order to determine the quasi periodic expected behavior of the robot. Stable gait: A gait, corresponding to a closed phase trajectory Ω for the system state x, is stable if starting from any point in the phase space, near to Ω, the system trajectory remains near to Ω, as shown by definition 2, then the gait is stable. Asymptotically stable gait: If the system returns to the original gait, corresponding to Ω, in spite of disturbances, as shown by definition 3, then the gait is asymptotically stable. Note that a general condition for existence of limit cycles in the phase plane is given by the Poincaré- Bendixon theorem [18]. For stability analysis, Lyapunov second method can still be applied mutadis mutandis [19].

.

.

¨ + C ∗ (x, x) x +G∗ (x) = F + Fe M ∗x

Performance can be defined here in terms of locomotion and gaits smoothness, maximum speed, distance travelled versus energy input, robustness, etc... All these features make important to exploit the physical properties of robots such as passivity of the mechanical part, ability of energy storages, transfer between internal parts and restitution by inertial and springy components in the system. This design must be done in order to obtain compatible subsystems leading to a process which will have a prescribed performance [14] [20]. The approach proposed for control can be summarized with figure 1. It is composed with two feedback loops, one for stabilization of nominal stance and one for regulation of the energy balance to stabilize a CLC. The role of each block will be detailed in the following subsections. In what follows the main points of the proposed control approach and their relation with the system physical properties are defined. The dynamic equation for a legged robot expressed in angular coordinates (q, q, ˙ q¨ are joint positions, velocities and accelerations) can be written: (2)

(3)

The first thing to deal with is definition and stabilization of a stance when in contact with the ground. A. Stance control: control with Implicit ground interactions An implicit stabilization by means of pure position con¤T £ trol can be applied at this step. Let qd = q1d , q2d , .., qnd corresponding to xd = [xd , zd , φd ]T be the desired position vector referring to an equilibrium posture. A simple stabilizing control (without gravity compensation) can be considered such as: ˙ τ = Fp (qd − q) − Fv q.

III. Physical Properties and CLC Approach

M (q)¨ q + C(q, q) ˙ q˙ + G(q) = τ + τ e

M(q) is the generalized inertia matrix, G(q) the vector of gravitational forces and C(q, q) ˙ q˙ the vector of centripetal and Coriolis forces. The case of planar legged robots moving in the sagittal plane is considered here (see for example figure 4). The expression of the robot motion in Cartesian space can be obtained by use of a geometric model. Let T x = [xr , z, φ] = L(q) be the Cartesian representation of the end point of a leg and the corresponding Jacobian matrix J. If x˙ is the velocity of end point of a leg. x˙ = J q. ˙ The system can be written:

(4)

or in Cartesian space (if Kv = 0), F = Kp (xd − x)

(5)

this partial feedback control leads to .

¨ + M ∗−1 C ∗ x +M ∗−1 Kp x M ∗−1 (Fe + Kp xd − G∗ (x)) = x (6) Physical interpretation: The ground reaction force Fe has its effect weighted by the inertia matrix expressed in Cartesian space M ∗−1 Fe . The resulting system is equivalent to an n dimensional oscillator. The control gain Kp contributes jointly with ground for the system excitation. This imposes the characteristic pulsations for oscillations. If Kp increases the period is reduced and if M ∗ increases then period increases. Assuming that the mechanical impedance of ground is Ze with stiffness matrix Ke (or consider as reduced nominal impedance Fe = −Ze ∆z ' −Ke ∆z with ∆z the ground deformation) the equivalent stiffness is K. This corresponds to the impedance equivalent to the ground and control ones in serial connection [21]. If the ground is infinitely stiff compared to control

3

gain, the equivalent impedance reduces to the control one. Then the equivalent system can be written .

¨ + C ∗ x +Kx = Kxd − G∗ (x) M ∗x

(7)

Despite equations complexity for fast dynamic gaits, this system has, as main features, the same physical characteristics as a simple mass-spring hopper like the one considered and studied for CLC in [20] [14]. Its motion can be characterized through three points which are mainly: • Existence of a contact phase (stance) and a flight phase, • During the flight phase the system is uncontrollable and has its motion due to gravity effect, • Interaction with ground appear in contact phase and its mechanical impedance comes essentially from control gain Kp and ground stiffness Ke (in serial connection to produce an equivalent stiffness K). Remark 4: The gain Kp can then be optimized in function of the required behavior and the encountered ground stiffness. This must be done in order to reduce sensitivity of the system (Robot+Control+ground) to variations of ground stiffness and energy balance depending on motion. Remark 5: The gain Fv materializes energy dissipation. Its use is devoted to stabilization and oscillation damping. Its use must be oriented to damp dynamics which are transverse to the desired limit cycle [22][23]. This will avoid energy wasting. The partial feedback applied here ensures existence of an imposed equilibrium point. If xd is constant this point will be stable. B. Admissible Gaits: behavior in function of environment reactions and the system dynamics The system (robot+ground) is composed with interconnection of subsystems (masses or inertia, springs, gravitational effect, energy storage elements and ground). Energy evolutions, during a motion can be, for example: Potential (g)→ Kinetic→ potential accumulation→ potential restitution→ Kinetic→ Potential (g) and so on. Exchange of energy (kinetic and potential) of the ground with different parts of the robot is of main importance when dealing with legged robots operating with high velocities (high level of kinetic energy). The system has at least two kinds of energy accumulations. That points out that a crucial feature for gaits admissibility is to involve inertial and potential effects of the system. The energy flow in the system cannot be arbitrarily shaped (independently from system characteristics). Thus for a gait definition and trajectory processing, inertia matrix and potential energy of the system have to be taken into account. On the other hand, gaits must correspond to limit cycles, by means of energy exchanges. Their definition has to be energy oriented and this copes for the objective of energy optimization. This elucidates the encountered bad conditioning of some procedures for on line trajectory design and optimization when dealing with legged robots. Example 6: Let us consider the mass-spring system analyzed in [14] (Figure 2). This system (with mass M and

stiffness k; zo .is the spring length and u is the control input) can be used as reference model to analyze energetic interactions between robot, control and ground. The spring attach is assumed to have a controllable linear displacement u from the center of mass M (control input). The spring (with stiffness k) can be moved as shown in figure (2).This system is made of interconnection of 3 subsystems M

k

C on trol u Zo Z X

Fig. 2. Vertical Hopper (1 DOF)

(Mass, Spring and ground) and energy evolutions are: Potential (g)→ Kinetic→ potential accumulation→ potential restitution→ Kinetic and so on [14]. This simplified model has been shown efficient for nominal representation of our robot (for vertical hopping) in experimental validations [13]. Mechanical impacts can either be modeled [24] and taken into account or environment interaction is involved by means of mechanical impedance [21]. The environment is assumed infinitely rigid: ke >> k. If this is not the case let kr be the stiffness of the spring and k the equivalent stiffness of interaction with the ground ke ). The position of the mass M , in a frame at(k ' kkrr+k e tached to the ground, is noted z. The gravity constant is . −2 . Let vd =z d > 0 be the lift off velocity and g = 9.81ms . vc =z c < 0 the touch down velocity. The dynamic interaction with the ground has two phases: flying and stance phases [16]. We can then write the system equations: M z¨ + ξ(z − u)k(z − zo − u) + Mg = 0 ½ 1 0 f light ξ(z − u) = (1 − sign(z − zo − u)) = 1 contact 2

(8) (9)

The oscillations of the free system (u = 0) correspond to a closed orbit as shown in figure 3. The obtained periodic orbit, for the free system, is defined by the energy equation: 1 k . .2 Vf (z, z, z(0)) = M z +M g(z − zm ) + ξ(z) (z − zm )2 2 2 (10) which is plotted in figure 3. Equation (10) can be used to describe those arbitrary motions that cope with the system’s ability (admissible motions for the system). Proposition 7: If we consider the general case like the robot of equation (7), the motion gaits which cope with the system dynamics are of the following form Z q 1 1 G(s)ds + q T K ∗ q (11) V (q) = q˙ T M (q)q˙ + 2 2 0

In the joint space or in Cartesian coordinates, the obtained orbit can be defined by Z x 1 1 V (x) = x˙ T M ∗ (x)x˙ + G∗ (s)ds + xT Kx (12) 2 2 0

4

P h a s e

1 . 5

p l a n e

Z p

= f ( Z )

Z p

1 . 4 1 . 3 1 . 2 1 . 1 1 0 . 9 0 . 8

Z - 4

- 2

0

2

4

Fig. 3. Periodic Orbit (Free System)

Remark 8: It is worthwhile to note that the positions and velocities are strongly related through the robot, the control and the ground characteristics. This means that if we impose either positions or the velocities, the rest of variables (position, velocities, forces and accelerations) will result from energy optimization. Mechanical resonance of the system can be exploited by this way. Remark 9: Accelerations are consequence of the possible energy flow in the system; they cannot be imposed arbitrarily. The interaction robot-environment is implicitly involved by equivalent stiffness (mechanical impedance) and cannot be constrained by imposing positions and forces independently. Remark 10: Equations (11 and 12) show that (natural) gaits with constant energy can be obtained simply by affecting an energy to the system. The dissipations have to be compensated in order to stabilize the corresponding limit cycle. Choosing arbitrarily the gaits before control design may be inappropriate. These features point out the origin of main difficulties encountered for trajectory generation and optimization. C. Motion Evaluation and gait definition For prediction, supervision and control of the robot motion and behavior, we have to consider the power exchanges in the system (actuators, robot, ground and control system). Interaction with the ground is implicit, expression of constraints and restitution model for impacts are avoided [24]. For motion evaluation in the case of hopping, the preceding analysis shows that the phase space (q, q) ˙ or (x, x) ˙ have to be decomposed in two subspaces, one for the robot hopping and its transverse (they will be denoted the hopping subspace and the transverse one). In the hopping space, a limit cycle must be stabilized and in the transverse one, we have to deal with attenuation of motion perturbations and control of velocity of the robot (example: stabilization of the forward Cartesian velocity). Then the Lyapunov function of equation (12) is decomposed in two parts (one for the limit cycle and the second for the transverse motion). By this way the robot motion can be evaluated for control of the limit cycle and anticipation on motion. V (x) = Vlc (z) + VT (x) This definition of the control objective copes well with the previous blocks requirements and can be exploited to avoid the use of modelling of ground interaction and simplify the limit cycle control and stabilization. For hopping, we can specify either the height of the jumps or the lift off

velocity. This gives an energy value Vlc∗ (z) for the limit cycle and positions and velocities will result as consequence (Inertia matrix, gravitational effects and potential effect of contact are imposed by interaction and control K). CLC allows implicit trajectory generation and optimization. For hopping evaluation Vlc (z) can be computed and compared to Vlc∗ (z). This allows adjustment of desired trajectories with as Energy reference model Vlc∗ (z). The jump height zm depends, for a free system, on initial conditions (Cycle energy) and the motion period depends on the spring stiffness and mass. By this way, the remaining trajectories zd and φd (or qd ) will be imposed by energetic behavior of the system (robot+control+ground). They are solutions of the equations (11, 12). Let us consider in what follows motion evaluation by the Lyapunov function: Z x 1 .T G∗ (s)ds (13) V (x) = x M ∗ x + 2 0 IV. Controlled Limit Cycles (CLC) with Energy Reference Our main objective is now to stabilize a periodic motion (vertical hopping) by means of limit cycle control. The control computation needs the use of energy reference level T as shown in figure (1). Let us consider xd = [xrd , zd , φd ] , the nominal position of the leg (control input). If the maximum height of jumps is zm , we can define the closed orbit and its Lyapunov function: Rx Vo =©12 x˙ Td M ∗ x˙ d + 0 G∗ (s)dsª . (14) Ωo = (z, z) ∈ R × R : V = Vo The input xd has to be designed for this system such that xeq the equilibrium point is either an unstable node or an unstable focus. In this case all trajectories starting near the origin would diverge away from it toward the desired limit cycle [23]. This correspond to an ”active” behavior which means that the controller supplies energy [18]. This can be realized by the following non linear control law:

Λ . sign(V − V0 ) x (15) K This control is equivalent to a force feedback because xd is multiplied by the equivalent stiffness in the system equation (7). This control will then be able either to supply energy to the system or to reduce its energy level. It can be either active or passive (dissipative). So we can state the following theorem for the CLC. Theorem 11: The system of equation (7) with the partial state feedback of equation (5), has as Limit Cycle the closed Orbit Ωo defined by the Lyapunov function value V0 (equations 14) if the control of equation (15) is used with positive gain Λ. Proof: Derivation of the Lyapunov function (13) use of equation (7) and anti symmetry property (M˙ ∗ − 2C ∗ ) gives: (16) V˙ = x˙ T (Kxd − Kx) xd = x −

5

q

Z plateforme 3

l3

↓ 2∼ 2∼

q

4



q1

l2



° r o

q

2

Z

l3

r

X

B. Stance and CLC

Fig. 4. SAP Robot Model

To stabilize the periodic orbit (limit cycle), we need the . following condition: (V − V0 ) V < 0, .T

(V − V0 ) x K(xd − x) < 0

(17)

if V > V0 we have V˙ < 0, energy is greater than the one of Ωo , then energy is decreased, the feedback has dissipative contribution. • if V < V0 we have V˙ > 0, energy is less than Vo , then energy is increased by an active control u. •

Then the CLC defined by ΩV0 = {(x, x) ˙ , V (x) = V0 } is orbitally asymptotically stable. Tangential dynamics [22] with regard of the periodic orbit can be minimized (dynamical stability) [23]. We can then conclude, for the Controlled Limit Cycle, that the periodic orbit Ωo is a stable invariant of the system. Remark 12: The Control Limit Cycle is obtained by a control expression which is either active or dissipative depending on the system energy with regard to the desired closed orbit Ωo . The CLC control is frozen in the flight phase (uncontrollable region). Rebounds may appear if the system has an energy level greater than the one of the orbit at initial configuration. V. Application to the SAP Robot We consider the system as unconstrained, without contact, and composed by three links (3 rigid bodies: platform and a 2 links leg with length l3 ) connected by two actuated joints as shown by figure 4. One side of the body is maintained on the ground by a free wheeled system. The dynamic equation of the rigid system (with one leg) can be written using Lagrange method.

T

Let us define a stance for the robot as for example the one in figure (4). The leg is in contact with ground. The angle between the segment defined by contact point and the body is noted θ. If we define α as shown in figure (4), we obtain the angular relations q3 = π − α − q2 − θ and q4 = 2α. If θ = 0 the body (platform) is at a height from the ground equal to zb = ro = 2l3 cos(α) we can choose for example zb = 1.8l3 < 2l3 . This stance can be easily stabilized for the SAP robot by a partial state feedback. By definition of stance angles θ and α, we can obtain the nominal desired vector qd = £ ¤T π − q2 − α − θ; 2α; 0; q2d for the robot position variables T q = [q3 ; q4 ; q1 ; q2 ] . For a gait corresponding to a vertical hopping, we can also define the following desired nominal positions (for stance control). xrd θd zd

(18)

Let q = (q3 , q4 , q1 , q2 ) be the joint position vector and recall that q, ˙ q¨ denote respectively the (4 × 1) vectors of joint velocities and accelerations. The torque input vecT tor is τ = [τ 1 ; τ 2 ; 0; 0] . q2 defines the angular position (orientation) of robot’s body. Let us define M(q) as the

= 0, = 0, θ˙ d = 0, ¨ θ d = 0, = rd = zo + u

(19)

T

Then the control input τ = [τ 1 ; τ 2 ] (dim 2) can be computed as follows (with Kp = diag(kp1 , kp2 , 0, 0)). F xd

A. Dynamic Model for SAP Robot with one leg

M (q)¨ q + C(q, q) ˙ q˙ + G(q) = τ + τ e

(4 × 4) generalized inertia matrix, G(q) is the (4× 1) vector of gravitational forces and C(q, q) ˙ q˙ is the (4 × 1) vector of centripetal and Coriolis forces. The simulation of ground reaction is considered as mechanical impedance with very 5 high stiffness (k   = 10 ). M1,1 M1,2 M1,3 M1,4  M1,2 M2,2 M2,3 M2,4   ˙ = M(q) =   M1,3 M2,3 M3,3 M3,4  ; C(q, q) M1,4 M2,4 M3,4 M4,4     C1,1 C1,2 0 C1,4 G1  C2,1  G2  0 0 C2,4       C3,1 C3,2 0 C3,4  ; G(q) =  0  C4,1 C4,2 0 C4,4 G4

= Fp (xd − x) Λ . = x − sign(V − V0 ) x K

(20) (21)

Following the approach of the preceding section, the input u (xd = [0, z0 + u, 0]) is computed and applied to stabilize a hopping cycle with specified amplitude. The amplitude zm corresponds to V0 = 12 q˙dT M (qd ).q˙d + Ep (qd ) = Mz gzm defined for the maximum height. C. Simulation Results CLC for hopping The first simulation shows vertical hopping with as desired height zm = 0.55m. We choose θ = 0, q3 = 1.805, and q4 = 0.5. The control gains are Kp = 10, Kv = 1.5, and Λ = 0.3. The figure (5) shows that the CLC for the body) is not as regular as for spring-mass hopper. This is due to the non linearity of the system, the control and coupling. The steady state error on the maximum height is due to the error (assumed for energy reference) on stiffness

6 0 .5 5

and inertial parameters control limitation. In figure (6) we can see the motion of the body. An integral action can be used to compensate the error on the maximum height of the jumps.

0 .5

0 .5 5

0 .4 5