1 Port-Based Modeling and Analysis of Locomotion Vincent Duindam∗ Guido Blankenstein† Stefano Stramigioli∗

∗ Control Engineering, EEMCS, University of Twente † PMA, Katholieke Universiteit Leuven P.O. Box 217, 7500 AE Enschede, the Netherlands Celestijnenlaan 300B, B-3001 Heverlee, Belgium [email protected] [email protected] [email protected]

Abstract— The snakeboard is a locomotion device that is often Recently in [11], a method was proposed to obtain the re- used as an example to study nonholonomic mechanical systems. duced equations of general nonholonomic mechanical systems Several techniques have been developed in the literature to find (with the snakeboard treated as an example) using a port- simple explicit equations that describe its dynamics. Recently, a new port-based method was proposed that shows explicitly based approach. This approach has the advantage of explicitly the energy-structure of the system. In this paper, we show how showing the energy-structure of the mechanical system, thus this method is related to the existing literature on Hamiltonian possibly providing helpful hints for analysis and controller reduction as well as to the nonholonomic momentum map. We design. discuss how the newly proposed method may provide additional However, it was not made clear yet how this method insight into the system dynamics and form a helpful starting point for controller design. relates to the other well-established techniques available in the literature. Presenting these relations is exactly the purpose Index Terms — nonholonomic mechanical systems, snakeboard, of the current paper. We first describe briefly the main results port-controlled Hamiltonian systems. of [11] and relate it to the existing literature on Hamiltonian reduction (Section II). We then show how two (out of many I. INTRODUCTION possible) different equivalent sets of equations can be derived Research on locomotion systems has always been inspired that describe the dynamics of the snakeboard (Section III). by nature. In nature, animals locomote by periodically chang- Finally, we discuss the particular properties of these two ing their internal shape such that a net displacement of their formulations, and show how they relate to the results known body is obtained. This body displacement can usually be from the literature, especially to the nonholonomic momentum expressed mathematically by the element of a Lie group, such map, and to controller design (Section IV). as SE(2) for systems moving in a plane. The body’s net motion is generated by the coupling between the internal shape II. MODEL REDUCTION FOR NONHOLONOMIC changes and the external constraint forces, arising from the MECHANICAL SYSTEMS interaction of the system with its environment. In [1] this is called ‘undulatory’ locomotion. For instance, the reason A conservative unconstrained Port-Controlled Hamiltonian that a can propel itself forward is that the ground applies System (PCHS) is described by the equations constraint forces on the such that they don’t slip. Even ∂H though these constraint forces do no mechanical work, i.e. they x˙ = J(x) (x) + b(x)u, (1a) don’t supply energy to the system, they make it possible to ∂x ∂H convert energy generated internally in the shape motions to y = bT (x) (x). (1b) energy in the group motions. ∂x A well-known example of an undulatory locomotion system Here, x ∈X is the state of the system, with the state space X is the snakeboard [2], a device similar to the skateboard. This being a smooth manifold. The Hamiltonian H(x) is a smooth system is relatively simple to describe, yet possesses many function on X representing the total energy of the system. ∗ features that are interesting from a modeling and control point J(x) : Tx X → TxX is a skew-symmetric vector bundle of view: it has nonholonomic constraints, symmetries (invari- map. u ∈ U ≃ Rm represents the input variables, with input ∗ ances), and is underactuated. Through certain combinations of vector fields bl(x) ⊂ TxX , l = 1,...,m. Finally, y ∈U are the control actions and with the help of the constraint forces, the output variables, such that hu|yi corresponds to incoming it is possible to build up momentum in directions that are not power. directly actuated. This behavior has been studied using differ- In this paper we will focus on the description of so-called ent techniques, e.g. lie-bracket analysis [3], [4], averaging [5], simple mechanical systems. For these systems X = T ∗Q, the [6], principal bundles [7], and momentum maps [1], [5], [7], cotangent bundle corresponding to the n-dimensional config- [8], [9], [10]. These studies have revealed many interesting uration manifold Q. Local coordinates for T ∗Q are denoted physical and geometrical properties and interpretations, and by (q,p) with q ∈ Q. The kinetic energy is defined by a provide general tools to analyze nonholonomic systems. Riemannian metric g on Q and defines a quadratic form in p, 2

ij i.e., hp,pig−1 (q) = g (q)pipj. The Hamiltonian has the form where the subscript ⊥ denotes the annihilating codistribution. of kinetic energy plus potential energy, Notice that C⊥ is the g−1-orthogonal complement of D⊥. 1 By (2) and (4c) the trajectories of the system are restricted H(q,p) = hp,pig−1 (q) + V (q). (2) to lie in the constraint manifold 2 ∗ ∗ j ik The skew-symmetric vector bundle map J is defined by the (T Q)c = {(q,p) ∈ T Q | ωi (q)g (q)pk = 0}. (5) i Poincare´ canonical 2-form Ω = dq ∧ dpi and has the matrix ∗ representation This is a vector subbundle of T Q. Indeed, for each q ∈ Q, (5) defines a linear equation in p and hence defines a fiber 0 In ∗ ∗ J(q,p) = . (T Q)c which is a linear subspace of T Q. −In 0 q q   ∗ ⊥ T Lemma 1. For all q ∈ Q we have (T Q) = C . The input vector fields are of the form b(q) = 0 BT (q) . q c q ∗ i If in addition the mechanical system has to satisfy a set Proof. Take p ∈ (Tq Q)c. Then pk = gkivq for some vq ∈   Dq. Take wq ∈ Cq. Then hp|wqi = hvq, wqig = 0. Hence of k independent kinematic constraints, then the dynamics (1) ∗ ⊥ has to be slightly adapted. We consider kinematic constraints (Tq Q)c ⊂ Cq . Now, since both are linear spaces with the  which are linear in the velocities. These constraints can be same dimension, equality follows. described as In [12] it is shown that the constrained Hamiltonian system (4) can be reduced to an unconstrained Hamiltonian system j j i ∗ ω (q)q ˙ = ωi (q)q ˙ = 0, j = 1,...,k (3) on the constraint manifold (T Q)c. This unconstrained system has the form where ω1, . . . , ωk are k independent 1-forms on Q. They ¯ i i ∂H define a distribution D ⊂ T Q, such that vq ∈ Dq ⇐⇒ q˙ 0 S (q) ∂qj (q, α) j b ω (q)vi = 0, j = 1,...,k, called the constraint distribution. = j k ¯ i q α˙a −Sa(q) −pk([Sa,Sb](q)) " ∂H (q, α)# The kinematic constraints can be holonomic or nonholonomic,     ∂αb 0 corresponding to the constraint distribution being integrable + u (6a) Sj (q)Bl (q) l (i.e., involutive) or not. Recall that holonomic constraints can  a j  ∂H¯ be integrated to pure configuration constraints, while non- j (q, α) l i l ∂q holonomic constraints cannot. We will see that nonholonomic y = 0 Sb(q)Bi(q) . (6b) ∂H¯ (q, α) constraints are very important in the description of robotic " ∂αb #   locomotion systems, such as the snakeboard later on in this i 1 ∗ ⊥ Here (q , αa) are local coordinates for (T Q)c = C (with paper. i = 1,...,n; a = 1,...,n − k), and The constraints (3) introduce constraint forces of the form j i λjω in the right hand side of (1a). The complete set of αa = Sa(q)pi equations is then given by where S is defined such that i ∂H q˙ 0 1 ∂qi 0 0 j i = ∂H + j + l ul, (4a) ωi (q)Sa(q) = 0, j = 1,...,k. (7) p˙i −1 0 λjω(q)i Bi(q)     " ∂pi #     ∂H The function H¯ (q, α) is the Hamiltonian H(q,p) restricted to i yl = 0 Bl(q) ∂q , (4b) the constraint manifold. As a final step, the momenta p = i ∂H ⊥ " ∂pi # (p1,...,pn) ∈ Cq in (6a) should be expressed in the new   i j ∂H coordinates (q , αa). 0 = ωi (q) for j = 1,...,k (4c) −1 a ⊥ ∂pi Now consider a g -orthogonal basis {h (q)} of Cq as a ⊥ ∗ defined in [11], that is: h (q) ∈Cq ⊂ Tq Q are such that Here, λj are functions of both q and p, called the Lagrange multipliers, and are defined such that the constraints (4c) are a ij b ab ab hi (q)g (q)hj (q) =:g ¯ (q) =g ¯ satisfied at all times. Equations (4) form what is called a Constrained (or Implicit) Port-Controlled Hamiltonian System. is diagonal and independent of q. Define i ij b Sa(q) = g (q)hj (q)¯gab. A. Reduction to minimal coordinates By Lemma 1, condition (7) is satisfied. Then every p ∈ C⊥ The constraint distribution D defines a distribution C which q can be written as is the g-orthogonal complement of D, i.e., a pi = hi (q)αa. Cq = {wq ∈ TqQ | hwq,vqig = 0, ∀vq ∈Dq}. The unconstrained Hamiltonian system (6) then becomes The tangent space TqQ can be decomposed as [11] exactly the PCHS as reported in Theorem 1 of [11], with Hamiltonian T Q = D ⊕C . q q q 1 ¯ − ∗ H(q, α) := hα, αig¯ 1 + V (q). Dually, the cotangent space Tq Q is decomposed as 2

∗ ⊥ ⊥ 1 1 Tq Q = Cq ⊕Dq , Denoted by (q, p˜ ) in [12]. 3

1 m , 1 J 2 w 2 w and dynamic equations (4) with T r 00010 φ B = ψ 00001   θ 1 H = hp,pi −1 r 2 g mb, Jb mt, Jt m 0 0 0 0 φ y 0 m 0 0 0   1 1 g = 0 0 J Jt 0 2 mw, 2 Jw  0 0 Jt Jt 0     0 0 0 0 Jw x   ω1 = sin(θ − φ)dx − cos(θ −φ)dy + r cos(φ)dθ Fig. 1. Schematic (top) view of the snakeboard. ω2 = sin(θ + φ)dx − cos(θ + φ)dy − r cos(φ)dθ The kinematic constraints represent the condition that the III. THE SNAKEBOARD wheels are not allowed to slip. The constraint distribution D In this section, we apply the proposed reduction techniques of allowed velocities can be written as to the well-known test-bench system of the snakeboard. We Dq = span {r cos(θ)∂x + r sin(θ)∂y + tan(φ)∂θ,∂ψ,∂φ} first give a description of the snakeboard and the model used to describe it, and then show how two choices for the momentum which corresponds to both relative internal degrees of freedom, coordinate basis h lead to two different sets of equations as well as a rotation around the instantaneous center of rotation for the snakeboard, each with its own characteristics and determined by the wheels. We assume that the relative angles π advantages (a more detailed discussion follows in Section IV). of the wheels remain strictly between ± 2 , in which case it can be checked that this distribution has constant dimension 3 and is not integrable. So indeed, the model of the snakeboard A. Model Description can be described as a nonholonomic mechanical system. The snakeboard is a commercially available locomotion de- vice [2], very similar to the skateboard, but with extra degrees B. Reduction using first coordinate basis of freedom that allow rotation of the front and rear bases As a first choice, we take the following basis h (this is around the vertical axis, such that the direction of motion of essentially the same choice as in [11], but now for a different the wheels can be changed. Using certain combinations of assumption on the parameters). motion of the feet (to control the wheel base angles) and of mr cos(θ) cos(φ) 0 0 the upper body, the person riding the snakeboard can increase α1 mr sin(θ) cos(φ) 0 0 the total forward momentum, without touching the ground or 1 2      h: α 7→ sin(φ)(mr − Jt) α + 1 α + 0 α directly driving the wheels.  2 β 1 2 3 α  0  1 0 Figure 1 shows a schematic representation of the snake- 3          0  0 1 board, which we use to construct the model (the inertia labeled             Jt represents the rotating torso of the driver). The model where consists of three parts (body, torso and wheels), each with 2 2 β(φ) := mr − Jt sin (φ) > 0. its own mass m∗ and inertia J∗. We define q ⊥ It can be checked that these basis vectors span C , and that m := mb + mt + mw total mass the induced metric on R3 can be represented by the matrix J := J + J + J + m r2 total inertia around (x,y) b t w w 1 0 0 g¯ = 0 Jt 0 and make the simplifying assumptions that (i) the wheels   rotate at equal but opposite angles (only one coordinate φ 0 0 Jw is used) and (ii) the parameters are such that J = mr2. These which proves that these basis vectors are orthogonal to each assumptions are standard in the analysis of the snakeboard and other and have constant norm. simplify the equations without affecting the essential geometry The three basis vectors can be physically interpreted as fol- of the problem2. Under these assumptions, the dynamics of the lows: h1 describes the total momentum of the board (without snakeboard can be described in PCHS form with coordinates the angular momentum of the torso and the wheels). This can T be seen by calculating the corresponding velocity vector field q = xyθψφ −1 1 v1 = g h ∈Dq: T p = px py pθ pψ pφ 1 T r cos(θ) cos(φ) r sin(θ) cos(φ) sin(φ) − sin(φ) 0 β  2 2In [11], the assumption is made that J = Jt + mr , which simplifies the   equations even further. However, in order to be able to compare our results, which shows an allowed motion of the board, where the we follow the existing literature and assume J = mr2 instead. absolute angle θ + ψ of the torso is kept constant and φ˙ = 0. 4

u 2 I :: 1 α2 where again 2Jw 3 y2 = φ˙ 2 2 φ β(φ) := mr − Jt sin (φ) > 0. q ⊥ It can be checked that also these basis vectors span C , and MTF I 1 2 that the induced metric on R3 can be represented by the matrix 1 :: 2 α1 1 β sin(φ) m 0 0 g¯ = 0 Jtm 0   0 0 Jw u1 I :: 1 α2   0 2Jt 2 The physical interpretation of these basis vectors is the follow- y = ψ˙ 1 ing: h1 describes the locked momentum of the board, which Fig. 2. Bond graph representation of the snakeboard for the first choice of can be seen by calculating the corresponding velocity vector coordinates. −1 1 field v1 = g h ∈Dq:

1 T r cos(θ) cos(φ) r sin(θ) cos(φ) sin(φ) 0 0 h2 describes the total angular momentum of the torso, and h3 mr describes the angular momentum of the wheels (relative to the which corresponds to an infinitesimal rotation around the board). intersection point of the two wheel axles, while keeping the Using this transformation, the reduced dynamic equations torso and the wheels locked (i.e., ψ˙ = φ˙ = 0). The second can be computed from (6) as follows basis vector h2 is a combination of the momentum of the

r torso and the locked momentum of the board (chosen in such cos(θ) cos(φ) 0 0 − β a way that h1 and h2 are g 1-orthogonal), and h3 describes r sin(θ) cos(φ) 0 0 α d β 1 the angular momentum of the wheels. If we use this coordinate q  1 φ  α2 = β sin( ) 0 0 Jt basis, we obtain the reduced equations (6) as dt  α3   − 1 sin(φ) 1 0  β  Jw cos(φ) cos(θ) − Jt sin(2φ) cos(θ) 0  0 0 1   2β   φ θ Jt φ θ α1  1  cos( ) sin( ) − 2β sin(2 ) sin( ) 0 m − sin(φ) 0 d   α2 β q = 1 Jt 2 d u1 r sin(φ) − rβ sin (φ) 0 Jtm α = 1 0 dt  mr   α3  dt   u2  0 0 Jw 0 1    β  0 0 1       1 α1    Jtm cos(φ)α3 α1 − β sin(φ) 1 0 α2 0 0 y = Jwβ m Jt d α2 0 0 1  α3  α = Jtm cos(φ)α3   − J β 0 0 Jtm Jw dt w  α3    0 0 0 Jw which turn out to be quite simple equations. Interestingly,    0 0    the first three equations of q˙ define the motion of the group mr u1 + β 0 variables (x,y,θ) ∈ SE(2), whereas the other seven equations   u2 l 0 1   (for the shape variables ψ,φ and αa,y ) decouple from the group variables. The reason for this is the inherent SE(2)   α1 0 mr 0 m symmetry present in the system, representing the invariance β α2 y = Jtm of the dynamic equations under rigid body displacements. The 0 0 1  α3    Jw SE(2)-action on Q lifts to an action on the cotangent bundle Again, the last seven equations  decouple from the first three, T ∗Q, which acts trivially on α . Hence the system can be a representing the motion in the group variables. Notice that reduced further by decoupling the last seven equations from for this choice of basis the bottom right block of the skew- the first three (called the reconstruction equations). General symmetric matrix in (6a) does not vanish, introducing a theory (e.g. [13]) states that the reduced system is itself a gyrative coupling between the α . PCHS again. It can be graphically represented in the form of a The dynamic equations for this choice of h are not as a bond graph [14], [15] as shown in Figure 2. simple as in Section III-B, but nevertheless, they can still be represented by a bond graph, as shown in Figure 3. C. Reduction using second coordinate basis IV. DISCUSSION To obtain a second, but equivalent, set of dynamic equa- tions, we take another choice of basis h, mapping α to A. Bond Graph Interpretation In this section, we analyze and interpret the bond graphs φ θ 1 φ θ cos( ) cos( ) − 2 sin(2 ) cos( ) 0 of Figures 2 and 3. Looking at the bond graphs (rather than cos(φ) sin(θ) − 1 sin(2φ) sin(θ) 0   1  2    the corresponding equations) immediately gives insight in the r sin(φ) α + r cos2(φ) α + 0 α 1 β 2 3 energy structure of the system.  Jt sin(φ)   1 β2  0 I  mr   mr    For example, both bond graphs show that the wheels (  0   0  1       with state α3) do not have an energy coupling to the rest       5

u 2 I :: 1 α2 B. Momentum Map ˙ 2Jw 3 y2 = φ From (4) it follows that in the absence of constraints the φ, α3 momentum in the group variables (i.e., px,py and pθ) is conserved; this is the classical Noether Theorem. In [7], [8] MGY I 1 2 it is shown that even in the presence of constraint forces :: 2m α1 Jtm cos(φ)α3 there exists a certain direction of the group momentum whose Jwβ evolution can be integrated from the shape variables without explicitly having to calculate the constraint forces. This is u1 called the nonholonomic (or generalized) momentum. MTF I :: 1 α2 1 2Jtm 2 Let VqQ be the vertical subspace of TqQ, that is, the tangent y1 = ψ˙ mr β space at q to the orbit of the group action on Q. In the case of Fig. 3. Bond graph representation of the snakeboard for the second choice the snakeboard: VqQ = Tq(OrbSE(2)(q)) = span{∂x,∂y,∂θ}. of coordinates. Define the distribution

Sq := Dq ∩ VqQ. Take a vector field v in S. Since v ∈ D , it represents an of the snakeboard. They only influence the system indirectly q q infinitesimal motion allowed by the constraints (and hence it through modulation of the MTF and MGY. is not opposed by any constraint forces). At the same time ˙ Furthermore, the input port (u1, ψ) can exchange energy vq ∈ VqQ, which means that it represents an infinitesimal rigid with the torso as well as with the overall ‘group’ motion. body motion of the snakeboard (and hence it is not directly The exact splitting between torso motion and group motion influenced by the controls which lie in the shape directions). is different for the two different choices of basis: in case Define the nonholonomic momentum to be the total torso momentum is separated from the momentum of the board (Figure 2), we see that the momentum of the p := hp|vi. board is influenced directly by u1 (i.e. there is a direct Then in [7], [8] it is show that the evolution of p satisfies the I causal path from u1 to the with state α1), but only for momentum equation4 p˙ = hp|v˙i, which can be expressed only φ 6= 0. On the other hand, in case the locked momentum in terms of the shape variables (and possibly p itself). of the board is distinguished from a combination of torso Consider the second coordinate basis for C⊥ and take the and board momentum (Figure 3), we see that the board’s vector field mv1 ∈ S. Then the nonholonomic momentum is locked momentum (α1) is only indirectly influenced by u1, ij 1 i via a second order path that occurs for nonzero relative torso p = hp|mv1i = mpig hj = S1pi = α1 momentum (ψ˙ 6= 0) and nonzero wheel momentum (α 6= 0). 3 The difference between this choice and the nonholonomic Closely related, Figure 2 shows that for u1 = u2 = 0, the momentum defined in [7], [8] is a factor −2r cos(φ) (plus an efforts everywhere in the graph are determined to be zero. additional minus sign resulting from the opposite definition of Hence in the first description there is no internal dynamics the angle φ). From the reduced equations it follows directly (for αa) in the system. In Figure 3 however, when u1 = that the momentum equation is given by u2 = 0 there is still a possible energy flow between the Is cos(φ)α2α3 Jt with states α1 and α2. Indeed, for nonzero α3 and nonzero p˙ =α ˙1 = = cos(φ)ψ˙φ.˙ (8) board momentum, a torque is exerted on the torso (due to Jwβ r the MGY) which causes the torso to move. Intuitively, this It can be integrated to α is clear: if the board is moving ( 1 6= 0) on some circle J t defined by a φ (possibly zero) and then changes the direction p(t) = t cos(φ(s))ψ˙(s)φ˙(s)ds r 0 of motion (α3 6= 0), a counter-torque on the torso is generated Z which causes the torso to rotate relative to the board.3 In which is the same expression as in [1], except for the factor bond graph terminology, one of the I elements is dualized 2r cos(φ). ⊥ by the MGY to a C element, which results in a C − I We remark that in the first coordinate basis for C the path, and hence nontrivial oscillatory internal dynamics in αa. nonholonomic momentum becomes This observation is important for controller design, which is 1 p = (β(φ)α + sin(φ)α ) discussed in Section IV-C. r 1 2

It should be stressed that, although the two bond graphs and which is a linear combination of α1, α2. A straightforward the corresponding equations look very different, both represent calculation shows that the momentum equation is again given exactly the same system, and the input-output behavior of the by the right hand side of (8). two systems is identical (for equivalent initial conditions). In [1] it is shown how the momentum equation can be used to analyze the locomotion properties of the snakeboard,

4Actually, this expression of the momentum equation is only correct if the 3In order to keep the torso’s orientation fixed relative to the board, a control Hamiltonian is independent of q, as for the snakeboard. We refer to [7], [8] torque u1 would have been necessary. for the general case. 6

C controller u snakeboard as a bond graph in Figure 4. The upper together with the k :C 1 2 I :: 1 α2 w y2 2Jw 2 inertia of the wheels forms a harmonic oscillator, making φ φ oscillate periodically. The lower C together with the MTF pump energy (stored initially in the C) from the controller to MTF 1 I 1 2 the snakeboard, in such a way that it flows temporarily to the xt :: 2 α1 1 inertia of the torso, but eventually to the forward momentum; β sin(φ) the equations of the closed loop system show that α˙ 1 ≥ 0 at u1 1 2 all times. kt : C MTF 1 0 I :: α y1 2Jt 2 Clearly, the interconnection of this controller to the bond axt sin(φ) graph of Figure 3 results in the same closed-loop behavior; after all, both bond graphs represent exactly the same dynamic Fig. 4. Bond graph of the snakeboard and a controller (with parameter a> 0) that increases the forward momentum of the board while keeping the system. However, it would not have been obvious (to say absolute angle of the torso (almost) constant. the least) to design this controller by inspection of the model expressed in the second basis. in particular its gaits [3]. Although the expression for the V. CONCLUSIONS AND FUTURE WORK nonholonomic momentum is a bit more complex in the first basis (and not directly shown in the bond graph, unlike in the In this paper, we have presented the relation between a re- cently proposed model-reduction technique for nonholonomic second basis where p = α1 corresponding to the I with state mechanical systems [11] and other existing results known from α1), the bond graphs show that the equations of motion are actually simpler in this basis. (In particular, there is no gyrative the literature. Particular attention was given to the snakeboard locomotion device. We showed that the reduction technique coupling between the αa.) This has advantages for control design. This will be explained in the next section, where we itself is a special case of the method presented in [12] consider as a control goal the increase of momentum in the that allows an insightful graphical representation by means forward direction, which corresponds more or less to the drive of a bond graph. Furthermore, we demonstrated that (for a gait of the snakeboard. particular choice of coordinates) one of the reduced variables is exactly the nonholonomic momentum map, whose evolution C. Controller Design equation follows directly from the reduced equations and, moreover, is explicitly displayed in the bond graph. Finally, As an example of the application of our results to control we discussed several properties of the obtained models that design, let us consider the following control goal: increase the allow interpretation and starting points for controller design. forward momentum of the snakeboard, i.e. increase α1, while In future work, we want to look at different examples of keeping α2 and α3 relatively small. This roughly corresponds nonholonomic systems (e.g. the roller racer) and see what the to putting as much energy as possible in the forward motion reduced model equations become. Based on these results, it of the snakeboard. Notice that for the two different choices may be possible to formulate a method to find the set of basis of basis, this means two slightly different things: for the first vectors that give the ‘simplest’ equations for a certain system. basis, it means an increase in momentum of the board while For the example of the snakeboard, it would be very keeping the absolute rotations of the torso to a minimum, interesting to include potential energy into the model (e.g. whereas for the second basis, it means in increase in locked model the snakeboard in a half-pipe). Although the symmetry momentum of the board while keeping the relative rotations may be broken, the reduction method is still valid, and we of the torso to a minimum. automatically obtain an extended ‘nonholonomic momentum u As explained in Section IV-A, a control torque 1 is needed equation’, now including potential energy. to keep the relative angle of the torso fixed, whereas no torque is needed to keep the absolute angle fixed. So for simplicity ACKNOWLEDGMENT of control, a control goal that allows to keep the absolute angle of the torso fixed is to be preferred. Furthermore, this This work has been done in the context of the goal is preferable for efficiency reasons: when the torso needs European sponsored project GeoPlex with reference to be rotated together with the board, the effective inertia code IST-2001-34166. Further information is available is increased. So with a fixed amount of energy, the overall at http://www.geoplex.cc. achievable forward speed is lower in case the torso has to be moved too (internal friction has not been considered here). REFERENCES These considerations suggest to adopt as a control goal the [1] J. Ostrowski and J. Burdick, “The geometric mechanics of undula- desire to make the board move while keeping the absolute tory robotic locomotion,” International Journal of Robotics Research, angle of the torso fixed (as much as possible). The easiest way vol. 17, no. 7, pp. 683–701, 1998. [2] Snakeboard U.S.A., http://www.snakeboard.com. to express this is using the first choice of basis: fulfillment of [3] A. Lewis, J. Ostrowski, R. Murray, and J. Burdick, “Nonholonomic the control goal is equivalent to having α1 large and having Mechanics and Locomotion: the Snakeboard Example,” in Proceedings α and α small. of the IEEE Conference on Robotics and Automation, 1994. 2 3 [4] F. Bullo and M. Zefran, “On Mechanical Control Systems with Non- In [11], a controller is designed intuitively (by inspection holonomic Constraints and Symmetries,” Systems and Control Letters, of the bond graph of Figure 2), and this controller is shown vol. 45, no. 1, pp. 133–143, 2001. 7

[5] P. Vela, “Averaging and Control of Nonlinear Systems,” Ph.D. disserta- tion, California Institute of Technology, 2003. [6] P. Vela, K. Morgansen, and J. Burdick, “Second-order Averaging Meth- ods and Oscillatory Feedback Control of Underactuated Mechanical Systems,” in Proceedings of the IEEE American Control Conference, 2002, pp. 4672–4677. [7] A. Bloch, Nonholonomic Mechanics and Control, ser. Interdisciplinary Applied Mathematics (24). Springer-Verlag, 2003. [8] A. Bloch, P. Krishnaprasad, J. Marsden, and R. Murray, “Nonholonomic mechanical systems with symmetry,” Archive for Rational Mechanics and Analysis, vol. 136, pp. 21–99, 1996. [9] J. Ostrowski, “Computing Reduced Equations for Robotic Systems with Constraints and Symmetries,” IEEE Transactions on Robotics and Automation, vol. 15, no. 1, pp. 111–123, Februari 1999. [10] G. Blankenstein, “Symmetries and Locomotion of a 2D Mechanical Network: the Snakeboard,” in Lecture Notes for the Euron/GeoPleX Summer School. Bertinoro, Italy, July 2003. [11] V. Duindam and S. Stramigioli, “Energy-Based Model-Reduction and Control of Nonholonomic Mechanical Systems,” in Proceedings of the IEEE International Conference on Robotics and Automation, April 2004, pp. 4584–4589. [12] A. v. d. Schaft and B. Maschke, “On the Hamiltonian Formulation of Nonholonomic Mechanical Systems,” Reports on Mathematical Physics, vol. 34, pp. 225–233, 1994. [13] G. Blankenstein, “Implicit Hamiltonian Systems: Symmetry and Inter- connection,” Ph.D. dissertation, University of Twente, 2000. [14] H. Paynter, Analysis and Design of Engineering Systems. M.I.T. Press, 1961. [15] D. Karnopp, D. Margolis, and R. Rosenberg, System Dynamics, a Unified Approach. John Wiley and Sons, 1990.