Exploiting the Passive Dynamics of a Compliant Leg to Develop Gait Transitions

Exploiting the Passive Dynamics of a Compliant Leg to Develop Gait Transitions

Harold Roberto Martinez Salazar http://ailab.ifi.uzh.ch/martinez/ martinez@ifi.uzh.ch    Juan Pablo Carbajal http://ailab.ifi.uzh.ch/carbajal/ carbajal@ifi.uzh.ch, both authors can be contacted regarding the content of the paper Artificial Intelligence Laboratory, Department of Informatics,
University of Zurich
Andreasstrasse 15 8050 Zurich Switzerland
July 23, 2019

In the area of bipedal locomotion, the spring loaded inverted pendulum (SLIP) model has been proposed as a unified framework to explain the dynamics of a wide variety of gaits. In this paper, we present a novel analysis of the mathematical model and its dynamical properties. We use the perspective of hybrid dynamical systems to study the dynamics and define concepts such as partial stability and viability. With this approach, on the one hand, we identified stable and unstable regions of locomotion. On the other hand, we found ways to exploit the unstable regions of locomotion to induce gait transitions at a constant energy regime. Additionally, we show that simple non-constant angle of attack control policies can render the system almost always stable.

Valid PACS appear here
preprint: APS/123-QED

I Introduction

One of the most accepted mathematical models for bipedal running is the spring loaded inverted pendulum (SLIP, for an extensive review seeHolmesSIAM.06 ()). In a similar fashion, the rigid inverted pendulum has been extensively used to model bipedal walkingMochon1980 (). In 2006, Geyer et al.Geyer2006 () propose the SLIP model as a unifying framework to describe walking as well as running. The unified perspective proves useful for accurately explaining data from human locomotionGeyer2006 (). Additionally, it allows describing both gaits (walking and running) in terms of dynamical entities observed in a discrete map, obtained by intersecting the trajectories of the system with a predefined section of lower dimension. Geyer associates these entities with limit cycles of the hybrid dynamical systemGuckenheimer95 (); Cortes2008 () and named their attracting behavior as self-stabilization. Though the nature of the observed dynamical properties is not yet clarified, those results emphasize that bipedal locomotion may be dictated solely by the mechanics of the system. As a consequence, the control necessary for locomotion is thus reduced to the swing phase of the leg, showed in Fig. 1 between points A and B. The most popular control policy is to produce touchdowns at constant angle of attack (), i.e. the angle spanned by the landing leg and the horizontal.

In the last decade, many energy-efficient bipedal walking machines have been developed. Through careful design, they exploit the passive dynamics of their own body to move forward, requiring little control or noneMcGeer1990 (); Collins2001 (); MartijnWisseandJanvanFrankenhuyzen2006 (); Collins2005 (); Geng2006 (). However, the construction of bipedal machines capable of exploiting passive dynamics in different gaits remains an unsolved engineering challenge. In this context, Geyer et al.Geyer2006 () report that, in the SLIP model, it is not possible to have multiple gaits at the same energy. The results are based on simulations that do not cover all possible initial conditions of the system. In addition, Rummel et al.Rummel2010 () prove that walking and running is possible at the same energy level. They use a new map that allows comparing different gaits with ease. The map is defined at the vertical plane crossing the landing point of the foot (Fig. 1). In this way, they find the self-stable regions, but their intersection is empty. To concretize these ideas, let us describe this region for the running map .


where the subscript in denotes running using and denotes the section where the map is defined. Therefore, if for different gaits these stable regions do not intersect, e.g. , we conclude that a transition between the two gaits cannot occur if the system is to remain in these regions. In other words,

Figure 1: (Color online) Illustration of the evolution of the SLIP model for running and walking. The mass is represented with a filled circle. The color of the fill indicates touchdown event (black), takeoff event (white), and the crossing of the section (pink (grey)). The landing leg is pictured with a thick solid line, and the leg at takeoff is represented with a blurred line. Due to the passive properties of these models, control is necessary only during the swing of the leg, i.e. during free fall while running and from point A to B while walking.

In this study, we will show how transitions between gaits are found at points outside these stable regions. The transitions require the selection of the angle of attack; therefore CAAP’s are not suitable for this task. We will also show evidence indicating that it is possible to find an angle of attack that maps a point into a stable region, e.g. . Additionally, we introduce the concepts of partial stability and viability that will be useful in the construction of the transitions presented herein.

This paper is organized as follows. In section II, we describe the models used for our simulations, their representation in state variables and the definition of the discrete map. Next, in section III, we introduce the new concepts, and we show the regions where the transitions between gaits exist. Later, in section IV, we discuss about the requirements of a controller for the system and the implications for robot design and bipedal locomotion. We conclude the paper in section V with our conclusion.

Ii Methods

As explained previously, we use the SLIP model to study bipedal gaits. We adopt the framework in JuergenRummel2009 (), which is described in the language of hybrid dynamical systems. Therefore, we reintroduce some notation and definitions.

To represent the different phases of a gait, the model is segmented into three sub-models. We will call these sub-models chartsGuckenheimer95 () or phases see Fig.1. Each chart represents the motion of a point mass under the influence of: only gravity (ff-chart or flight phase), gravity and a linear spring (s-chart or single stance phase), gravity and two linear springs (d-chart or double stance phase). The point mass represents the body of the agent and the massless linear springs model the forces from the legs (Fig.1). A trajectory switches from one chart to another when some real valued functions evaluated on it cross zero (event functionsGuckenheimer95 (); Piiroinen08 ()). We define a running gait as a trajectory that switches from the s-chart to the ff-chart and back to the s-chart. A walking gait is defined as a trajectory that switches from the s-chart to the d-chart and back again to the s-chart. Switches from the ff-chart to d-chart or vice versa are not included in this study.

ii.1 Equations of motion in each chart

The motion in all the charts is governed by a system of ordinary differential equations:


where is the vector of state variables and is a force function characteristic of each chart. Since all forces are conservative, the energy of the system is constant. For the ff-chart the state is described by the Cartesian coordinates of the position of the point mass and its velocity ,


where is the acceleration due to gravity.

The state in the s-chart is represented in polar coordinates , where is the length of the spring and is the angle spanned by the leg and the horizontal, growing in clockwise direction. Thus, the equations of motion are:


It is important to note that , i.e. the angular state at the time of touchdown is equal to the angle of attack. The parameter defines the natural length of the spring.

In the d-chart the state is also represented in polar coordinates , with the origin of coordinates in the new touchdown point. The motion is described by:


where is the horizontal distance between the two contact points and is the length of the back leg.

ii.2 Event functions

Event functions are functions on the phase space of the system. An event occurs when the trajectory of the system intersects a level curve of the event function. At the time of the event, the current state of the system is mapped to the state of another chart. Some event functions are parameterized with the angle of attack and the natural length of the springs.

Switches from the ff-chart to the s-chart are defined by:


which means that the mass is falling and the leg can be placed at its natural length with angle of attack . Therefore, the motion is now defined in the s-chart. The switch in the other directions is simply:


These are the only two event functions involved in the running gait. The map from one chart to the other is defined by:


It is important to have in mind that the origin of the s-chart is always at the touchdown point.

For the walking gait, we have to consider switches between single and double stance phases. From the s-chart to the d-chart, we have:


which is similar to (8) with the additional condition that the mass is tilted forward. Additionally, if we consider the sign of the radial speed, we differentiate between walking gait with and Grounded Running gait , with .

The switch from the double stance phase to the single stance phase is defined by:


with as defined in (7). The map from the d-chart to the s-chart is the identity. In the other direction we have:


where the subscripts indicate the corresponding chart.

If the system falls to the ground (), attempts a forbidden transition (e.g. d-chart to ff-chart), or renders (motion to the left,“backwards”), we consider that the system fails.

ii.3 Simulation of the dynamics

The state of the model is observed when the trajectory of the system intersects the section defined by . In this way, the map transforms points through the evolution of the system from the s-chart to the ff-chart and back again to the s-chart using an angle of attack . Similarly, the map transforms points through the evolution of the system from the s-chart to the d-chart and back again to the s-chart using an angle of attack .

All initial conditions are given in the section and in the s-chart, i.e. only one leg touching the ground and oriented vertically. Moreover, all the initial conditions are given at the same total energy. The results are visualized using the values of the length of the spring and the radial component of the velocity which, in , equals the vertical speed ( is obtained from these values and the equation of constant energy). It is important to note that all possible values of , and , for a given value of the total energy , lay on an ellipsoid. Besides, there is a transformation that maps the ellipsoid to a sphere. This can be shown as follows: the total energy in the section is,


Defining the parameters


the new variables


transform equation (15) into,


which defines a sphere. Therefore, all initial conditions of and with constant energy, are defined inside a circle. A Delaunay triangular mesh was created in the circle with initial conditions as vertices ( triangles). Each vertex was transformed using , and with values of . To compute the evolution of an arbitrary initial condition, we used bilinear interpolation in the triangles of the mesh.

The model implementation and data analysis were carried out in MATLAB(2009, The MathWorks), GNU Octaveoctave2002 () and Matplotlibmatplotlib (). Simulations were run for constant energy, using the step variable integrator ode45 (relative tolerance: and absolute tolerance: ). Table 1 shows the values of the parameters used.

Description Name Value
Elastic constant of linear springs
Rest length of linear springs
Total energy
Acceleration due to gravity
Angle of Attack from to
Table 1: Values used for the simulations presented in this paper.

Iii Results

In this section, we present the results of the analysis on the data collected from the models as described in section II.3. Aiming to define a controller, we introduce some important properties of the dynamics of each gait, namely finite stability for a given CAAP and viability.

iii.1 Finite stability and Viability

Finite stability describes the set of initial conditions where the system can do a maximum amount of steps (sequential applications of the map) before failing, using CAAP. For example, we can define for


That is, at a given state in there is a such that the system can do at most steps before failing. The region are all the points in the section where applying produces a failure. The existence of implies that a controller of the system may not need to take a decision at each step. In addition, the controller may exploit this alleviation by planning future angles of attack. Viability describes how easy is to choose the future angle of attack. The level of ease is measured in terms of the size of the interval of angles that can be chosen to avoid a failure of the system. For the running gait this region is defined as:


where denotes a real interval and measures its length. In a real system, it is required that a viable angle of attack exists for a definite interval, since real sensors and actuators have a finite resolution and are affected by noise.

Figure 2: (Color online) Finite stability regions. The figures show initial conditions for , and that can do multiple steps under CAAP before failing. A region in white corresponds to for gait .

Fig. 2 shows the finite stability regions for each gait. The stable region of , as reported in JuergenRummel2009 () () is not visible. Although may have some area of attraction, due to the resolution we used for the angles of attack (described in section II.3) we do not see it in our results. Based on results not presented here, we estimate that the resolution in the angle of attack to detect such basin for the current energy is . In despite of the low resolution in the angles, the system can perform an average of steps in , and at least steps (maximum calculated) in and . This means that running is more difficult at this energy level than the other two gaits. Particularly for and , we see that there is a plateau with the maximum number of steps. This is the evidence of the self-stable regions of these gaits, and the plateau is related to the basing of attraction of that region.

Fig. 3 shows the regions for each gait . Comparing with Fig. 2, we see that in general long partial stability implies wider options for the angle of attack. Particularly, transitions are found near these regions of high viability and long partial stability, as will be described in the next section.

Figure 3: (Color online) Viability regions for each gait. The figures show the range of angles of attack that can be selected in each initial condition that allows the system give at least one more step. Colors indicate the size of the window, spanning from to .

Fig. 4 shows one of the strongest results presented here. For each gait , there is at least one angle of attack that maps the current state of the system into , and this angle exists for an extense region of . This implies that if we consider control policies with variable angle of attack, almost any point in the section can be rendered stable. For this region the optimal control policy requires two angles: the first one maps the point to ; the second angle, keeps the system in this region.

Figure 4: (Color online) Points that can be mapped to stable regions in one step. The figures show the initial conditions that can be mapped to a small neighborhood of the stable region , (, dashed horizontal lines). Color indicates the angle chosen. Regions are marked with solid lines.

iii.2 Transition regions

As it was shown in the previous section, the only way of producing transitions between gaits is to put the system in a region with finite stability (due to the empty intersection of the regions reported in JuergenRummel2009 (), see Fig 4). In Fig. 5 we show transitions starting at and arriving at for and . We show the transitions that will be used in the next example, however transitions between two any gaits are possible. It shall be noticed that wherever two regions of different gaits intersect, the transition is trivial.

Figure 5: (Color online) Transitions regions landing in . All the initial conditions that have a future inside the region with of the objective gait are plotted with black dots. The same region of the starting gait is given as a reference and appears shaded. Colors in the objective region indicate the angle of attack used to perform the transition. Wherever two regions of different gaits intersect, the transition is automatically given.

Finally, Fig. 6 and Fig. 7 show one example of three transitions for a given initial condition. The trajectory has a total of steps and the angle sequence is


where the exponent indicates how many times the angle was used. The path of the center of mass in the Cartesian plane is also shown in the figures.

Figure 6: (Color online) Transition sequence. The plot shows a trajectory with three transitions. The Regions are shown shaded with self-stable regions in dotted line. The arrows indicate the order of the sequence and the step number is given. The angle of attack sequence is given in (24).
Figure 7: Transition time series. The figure shows the motion of the point mass222An animation of these transitions can be seen in http://www.ifi.uzh.ch/arvo/ailab/people/hamarti/GaitT.avi in the plane is shown together with the crossing of the section (filled circles 6). Transition points are indicated with a vertical line.

All together we have shown that the SLIP model can be easily controlled to present transitions between gaits. To find transitions we must search for an intersection between the future of the starting region and the desired objective region. Depending how these regions are defined, it may be the case that multiple steps are required to achieve a successful transition.

Iv Discussion

There are two important aspects regarding the viability regions. First, it is important to notice that enclose the region, and the points that can be mapped to stable regions in one step (Fig. 4) . Second, as it can be seen in Fig. 3, the bigger the range of the angle of attack is, the smaller the viability region is. We can take advantage of these properties to stabilize the system more easily. The selection of an appropriate e.g. defines a set of inside the section , where the controller has at least a range of to select an appropriate angle of attack. Moreover, the agent can select conservative angles, step by step, to bring itself to the region (Fig. 5).

Despite the relief to the controller induced by the viability region, the selection of the can generate regions that do not intersect; e.g. in Fig. 4 we can see that does not intersect any other region, which makes the gait transition more difficult to carry out. In order to cope with this situation, we look at the future of all the initial conditions in . As it is presented in Fig. 5, we found that there are some initial conditions, that under a set of angles of attack, are mapped from to (e.g. to ). What is also important is that the region where we can find these initial conditions are inside the viability region (Fig. 5).

In these terms, the controller has two purposes. First, based on the state on the section, it has to select the gait, and the angle of attack to keep the agent stable. Thus, the controller needs to have the knowledge of all the , and the desired to identify which gait has to be selected; the angle of attack can be selected based on the gait model. Second, the controller has to be able to produce gait transition when it is needed. Hence, the transition regions should be known by the controller and with a model of the gait, the angle of attack required can be selected. We expect that this approach can be used to handle uneven terrain, given that these irregularities can be modeled (under certain restrictions) as a change in energy.

All these results are conditioned to the selection of the section. This means that we are analyzing the system in only one point in the whole trajectory. From what we see in these results, in some regions the trajectories are very close. It would not be a surprise that these trajectories of , , and cross each other in another point along their continuous evolution, but given that we are looking just at the section, this cannot be anticipated. Nevertheless, the selection of this section establishes the angle of attack as a natural control action to stabilize the system and to generate the transitions.

V Conclusion

In the present study we have taken advantage of the perspective of hybrid dynamical systems to represent locomotion as a process generated by several charts. Although, this view makes evident a bigger set of connections among the charts, in this paper we take into account a small subset (s-chart to ff-chart, and s-chart to d-chart) which allow us to discover new alternatives to perform gait transitions. The development of the maps , , is fundamental to identify important regions in the section that bring the system to stable locomotion and to a gait transition. The present results bring new ideas about plausible mechanisms that biped creatures could use to carry out gait transitions and stable locomotion. These mechanisms exploit the passive dynamics of the system, which reduces the amount of energy needed to control the system. These features are also present in biped machines with compliant legs, and as suggested in this paper, these mechanisms can be exploited to develop stable gaits and gait transitions.


Funding for this work has been supplied by SNSF project no. 122279 (From locomotion to cognition), and by the European project no. ICT-2007.2.2 (ECCEROBOT). Additionally, the research leading to these results has received funding from the European Community’s Seventh Framework Programme FP7/2007-2013-Challenge 2-Cognitive Systems, Interaction, Robotics- under grant agreement No 248311-AMARSi.


  • (1) P. Holmes, R. J. Full, D. Koditschek, and J. Guckenheimer, SIAM Rev. 48, 207 (2006), ISSN 0036-1445
  • (2) S. Mochon and T. A. McMahon, J. Biomech. 13, 49 (1980), ISSN 00219290
  • (3) H. Geyer, A. Seyfarth, and R. Blickhan, P. Roy. Soc. B - Biol. Sci. 273, 2861 (Nov. 2006), ISSN 0962-8452
  • (4) J. Guckenheimer and S. Johnson, in Hybrid Systems II (Springer-Verlag, London, UK, 1995) pp. 202–225, ISBN 3-540-60472-3
  • (5) J. Cortes, IEEE Contr. Sys. Mag. 28, 36 (Jun. 2008), ISSN 0272-1708
  • (6) T. McGeer, Int. J. Robot. Res. 9, 62 (Apr. 1990), ISSN 0278-3649
  • (7) S. H. Collins, Int. J. Robot. Res. 20, 607 (Jul. 2001), ISSN 0278-3649
  • (8) M. Wisse and J. V. Frankenhuyzen, in Adaptive Motion of Animals and Machines (Springer-Verlag, Tokyo, 2006) pp. 143–154, ISBN 4-431-24164-7
  • (9) S. H. Collins, A. Ruina, R. Tedrake, and M. Wisse, Science 307, 1082 (Feb. 2005), ISSN 1095-9203
  • (10) T. Geng, B. Porr, and F. Worgotter, Neural Comput. 18, 1156 (May 2006), ISSN 0899-7667
  • (11) J. Rummel, Y. Blum, H. M. Maus, C. Rode, and A. Seyfarth, in IEEE Int. Conf. Robot. (ICRA) (IEEE, 2010) pp. 5250–5255, ISBN 978-1-4244-5038-1
  • (12) J. Rummel, Y. Blum, and A. Seyfarth, in Autonome Mobile Systeme (Springer, Berlin, Heidelberg, 2009) pp. 89–96, ISBN 978-3-642-10283-7
  • (13) P. T. Piiroinen and Y. A. Kuznetsov, ACM T. Math. Software 34, 1 (May 2008), ISSN 00983500
  • (14) J. W. Eaton, GNU Octave Manual (Network Theory Limited, http://www.octave.org, 2002) ISBN 0-9541617-2-6, http://www.octave.org
  • (15) J. D. Hunter, Computing in Science and Engineering 9, 90 (2007), ISSN 1521-9615
Comments 0
Request Comment
You are adding the first comment!
How to quickly get a good reply:
  • Give credit where it’s due by listing out the positive aspects of a paper before getting into which changes should be made.
  • Be specific in your critique, and provide supporting evidence with appropriate references to substantiate general statements.
  • Your comment should inspire ideas to flow and help the author improves the paper.

The better we are at sharing our knowledge with each other, the faster we move forward.
The feedback must be of minimum 40 characters and the title a minimum of 5 characters
Add comment
Loading ...
This is a comment super asjknd jkasnjk adsnkj
The feedback must be of minumum 40 characters
The feedback must be of minumum 40 characters

You are asking your first question!
How to quickly get a good answer:
  • Keep your question short and to the point
  • Check for grammar or spelling errors.
  • Phrase it like a question
Test description