• No results found

Dynamic modeling and velocity control for limit cycle walking

N/A
N/A
Protected

Academic year: 2022

Share "Dynamic modeling and velocity control for limit cycle walking"

Copied!
111
0
0

Loading.... (view fulltext now)

Full text

(1)

2010:070

M A S T E R ' S T H E S I S

Dynamic Modeling and Velocity Control for Limit Cycle Walking

Tuomas Haarnoja

Luleå University of Technology Master Thesis, Continuation Courses

Space Science and Technology Department of Space Science, Kiruna

2010:070 - ISSN: 1653-0187 - ISRN: LTU-PB-EX--10/070--SE

(2)

Tuomas Haarnoja

Dynamic Modeling and Velocity Control for Limit Cycle Walking

Faculty of Electronics, Communications and Automation

Thesis submitted in partial fulfillment of the requirements for the degree of Master of Science in Technology

Espoo, September 9, 2010

Instructor: José-Luis Peralta Aalto University

School of Science and Technology

Supervisors: Professor Aarne Halme Professor Kalevi Hyyppä Aalto University Luleå University of Technology School of Science and Technology

(3)

Acknowledgment

I wish to thank my instructor José-Luis Peralta who has greatly supported my work since the beginning and oered a pleasant and motivating working environment. Professor Aarne Halme and Professor Kalevi Hyyppä have given me constructive feedback for which I would like to thank them. I would also like to thank William Martin for his valuable language support.

I am grateful to Tomi Ylikorpi, Richard Volpe and Adrian Stoica who orga- nized me a once-in-a-lifetime opportunity to visit the Jet Propulsion Laboratory (JPL) in Pasadena, California. I also wish to express my appreciation to Chris Assad and Rudra Mukherjee for great ideas and support with my work at JPL;

as well as Anna Intharathut, Susan Sease, Stephanie Cowans, and Anja Hän- ninen for taking care of practical issues with my visit. Without the nancial support from the Finnish Society of Electronics Engineers and the Career Ser- vice of Aalto University School of Science and Technology the visit to JPL would not have been possible.

Finally, I owe a great deal of gratitude to my supporting parents and lovely wife who encouraged me during my year's absence.

Espoo, September 9, 2010

Tuomas Haarnoja

ii

(4)

Aalto University

School of Science and Technology Abstract of the Master's Thesis

Author: Tuomas Haarnoja

Title of the thesis: Dynamic Modeling and Velocity Control for Limit Cycle Walk- ing

Date: September 9, 2010 Number of pages: 82

Faculty: Faculty of Electronics, Communications and Automation Department: Automation and System Technology

Programme: Master's Degree Programme in Space Science and Technology Professorship: Automation Technology (Aut-84)

Supervisors: Professor Aarne Halme (Aalto) Professor Kalevi Hyyppä (LTU) Instructor: José-Luis Peralta (Aalto)

Even though bipedal walking robots have been studied for decades, they still suer from poor energy eciency. Limit Cycle Walking (LCW) is a new paradigm that tries to minimize the energy usage by imitating the passivity-based walking method inherent to both humans and animals. Actuated robots based on LCW principles are still very immature and not very versatile.

Many such robots are two-dimensional meaning that they are restricted to move only forward by using a supporting structure to prevent them from falling over, and only a few of them are able to adjust their walking speed or steer the heading. The aim of this thesis work is to increase the versatility of LCW robots by proposing several ideas to control their velocity. Most of the eort, however, has been paid to create a rigid-body simulator based on Open Dynamics Engine (ODE).

The simulator is used for the study of the dynamics of a simple so called point-feet three-link model that consists only of a hip and a pair of legs. The simulation model is matched to an existing robot, GIMbiped, which has been developed at Automation Technology Laboratory in Aalto University. The simulator can then be utilized to make GIMbiped walk eciently.

The gait controller is based on a passive reference walker walking down a gen- tle slope which provides a Limit Cycle (LC) to follow. The results show that a method based on scaling the amplitude, or step length, of the reference or changing the reference slope angle results in an energy ecient and stable way to control the velocity. Both of these methods also provides continuous trajectories to standing pose and running gait.

Keywords: bipedal locomotion, energy-ecient walking, Limit Cycle Walking, model-based gait control, passive-dynamic walking, simulation, velocity control

iii

(5)

Contents

1 Introduction to Bipedal Walking 1

1.1 Motivation and Objectives . . . 1

1.2 Background of Robotic Walking . . . 3

1.3 Three Criteria for Stable Gait . . . 5

1.3.1 Static Walking Based on GCoM . . . 5

1.3.2 Dynamic Walking Based on the ZMP . . . 6

1.3.3 Dynamic Walking Based on Cyclic Stability . . . 7

2 Related Work 10 2.1 Passive Limit Cycle Walkers . . . 10

2.2 Actuated Limit Cycle Walkers . . . 11

2.2.1 Actuated Two-Dimensional walkers . . . 12

2.2.2 Actuated Three-Dimensional walkers . . . 13

2.3 Foot Design . . . 14

2.4 Comparison of Energy-Eciency of Locomotion . . . 15

2.5 Analytical Modeling of Passive Walking . . . 16

3 Analytical Modeling and AnalysisCase: Three-Link Model 18 3.1 Simulation Model Description . . . 18

3.1.1 Model Overview . . . 19

3.1.2 Static Properties . . . 19

3.1.3 Dynamic Properties . . . 20

3.1.4 Comparison of the Analytical and Numerical Models . . 22

3.2 Analytical Analysis . . . 22

3.2.1 Equations of Motion . . . 23

3.2.2 Finding the Limit Cycles . . . 25

3.2.3 Stability Evaluation . . . 26

4 Description of the Simulator 28 4.1 Overview . . . 28

iv

(6)

4.2 Structure of the Conguration File and the Model File . . . 29

4.3 Setting Up the Simulation Model . . . 31

4.4 Rough Terrain Generator . . . 33

4.5 Program Flow and the Output Files . . . 35

5 Gait and Velocity Control 38 5.1 Gait Control . . . 38

5.1.1 Computed-Torque Control . . . 39

5.1.2 Other Model-Based Gait Controllers . . . 41

5.2 Velocity Control . . . 42

5.2.1 Overview . . . 42

5.2.2 Frequency Control . . . 43

5.2.3 Amplitude Control . . . 44

5.2.4 Reference Slope Control . . . 45

5.3 Energy Dissipation Mechanisms . . . 47

6 Simulation Results 49 6.1 Eect of the Static Properties on Limit Cycles . . . 49

6.2 Limit Cycle vs. Slope Angle . . . 51

6.3 Passive Walking on ODE Simulator . . . 54

6.4 Computed Torque Control at Constant Velocity . . . 56

6.5 Computed Torque Control at Adjustable Velocity . . . 59

6.5.1 Frequency Control . . . 60

6.5.2 Amplitude Control . . . 63

6.5.3 Reference Slope Control . . . 64

6.5.4 Comparison of the Velocity Controllers . . . 69

6.6 Conclusions and Discussion . . . 72

7 Summary and Future Work 74 7.1 Summary . . . 74

7.2 Future Work . . . 76

References 78

A Conguration Parameters I

B Model Parameters V

C Conguration and Model Files Used in the Simulations X v

(7)

C.1 conf.txt . . . X C.2 threelinkmodel.txt . . . XI

vi

(8)

List of Tables

3.1 Static parameters of a three-link model . . . 20 3.2 Dierences between the Matlab and ODE models . . . 23 6.1 Static parameters used in the simulations . . . 51 6.2 Initial state for Reference 1 and the controller parameters . . . . 57 6.3 Energy dissipation mechanisms . . . 70 A.1 Simulation parameters . . . II A.2 Matlab interface . . . III A.3 Other reserved words . . . IV B.1 Body parameters . . . VI B.2 Point parameters . . . VII B.3 Joint parameters . . . VIII B.4 Trigger parameters . . . IX

vii

(9)

List of Figures

1.1 Walking toy . . . 4

1.2 First Statically stable robot WL-3 . . . 6

1.3 Dynamically stable robots WL-10RD, ASIMO, and Shadow biped 8 1.4 Cyclic stability . . . 9

2.1 Passivedynamic walkers . . . 11

2.2 Actuated two-dimensional Limit Cycle Walkers . . . 12

2.3 Actuated three-dimensional Limit Cycle Walkers . . . 13

2.4 Flame and TUlip . . . 14

2.5 McGeer's compass-gait and three-link model . . . 17

3.1 Properties of a three-link model . . . 21

3.2 Phases of the gait of a three-link model . . . 24

3.3 An example of a step cycle . . . 25

4.1 Overview of the simulator . . . 29

4.2 Four basic building blocks of a simulation model . . . 32

4.3 Rough terrain generator . . . 34

4.4 Flow chart of the ODE simulator . . . 36

5.1 Gait controller . . . 40

5.2 Idea of frequency and amplitude control . . . 46

5.3 Eect of the slope angle on the gait . . . 47

6.1 LC vs. slope angle (Reference 1) . . . 52

6.2 LC vs. slope angle (Reference 2) . . . 54

6.3 State space plot for a passive walker . . . 55

6.4 Gait control at constant speed  State . . . 58

6.5 Gait control at constant speed  Torques . . . 59

6.6 Frequency and amplitude control  Velocity and power . . . 60

6.7 Frequency control  State . . . 61

6.8 Frequency control  Torque and energy . . . 62 viii

(10)

6.9 Amplitude control  State . . . 63

6.10 Amplitude control  Torque and energy . . . 64

6.11 γref control  State . . . 65

6.12 γref control  Torque and energy . . . 66

6.13 LC vs. slope angle (Reference 3) . . . 67

6.14 γref control  State (Reference 3) . . . 68

6.15 γref control  Torque and energy . . . 68

6.16 γref control  Velocity and power (Reference 2 and 3) . . . 69

6.17 Comparison of energy eciency of the velocity controllers . . . . 71

ix

(11)

Symbols and Abbreviations

A Jacobian matrix of the stride function ct specic cost of transport

cet specic energetic cost of transport cmt specic mechanical cost of transport

∆y step length of the surface roughness

fs step frequency

fs0 nominal step rate

F r Froude number

G(q) gravity vector

γ slope angle

γbias, γnom, γref slope angle bias, nominal slope angle, reference slope angle

k scale factor

kdi, kpi ith coecient of the derivative and proportional terms of a PD controller lstep step length

M(q) inertia matrix

q, ˙q, ¨q relative joint angles, angular velocities, and accelerations (Figure 3.1(b)) or generalized coordinates and their rst and second time derivatives q generalized coordinates for which S (q) = q

qi, ˙qi ith relative joint angle and angular velocity (Figure 3.1(b)) r (y) continuous terrain roughness function

rd(i) discrete terrain roughness function S (q) stride function

s, ˙s absolute joint angles and angular velocities (Figure 3.1(b)) si, ˙si ith absolute joint angle and angular velocity (Figure 3.1(b))

τ input torque

u control signal

V(q, ˙q) Coriolis vector vnom nominal velocity

x

(12)

vset set velocity

x, y, z simulation coordinates

ymax maximum y-coordinate after which the surface roughness is repeated

2D two-dimensional 3D three-dimensional Aalto Aalto University CoM Center of Mass

CTC Computed-Torque Control DoF Degree of Freedom

GCoM Ground Projection of Center of Mass IJC Independent Joint Control

JPL Jet Propulsion Laboratory LC Limit Cycle

LCW Limit Cycle Walking

LTU Luleå University of Technology

MIT Massachusetts Institute of Technology ODE Open Dynamics Engine

PBC Passivity-Based Control PD Proportional-Derivative

PID Proportional-Integral-Derivative UI User Interface

ZMP Zero Moment Point

xi

(13)

Chapter 1

Introduction to Bipedal Walking

1.1 Motivation and Objectives

Recently, much progress has been seen in the research of bipedal humanoid robots. Legged locomotion has signicant advantages over wheeled locomotion, such as improved dexterity and mobility over rough or unstructured terrain.

Moreover, robotic limbs that can mimic a human-like power-ecient gait would give a boost to the emergence of humanoid robot assistants or help amputees to recover their ability to walk. Legged locomotion has also a signicant po- tential for planetary surface exploration. Such a robot could explore eectively craters with steep walls. A wheeled rover is more likely to get stuck into the extraterrestrial soil as has happened with the Mars rover Spirit.

Until recently, state-of-the-art humanoid robots, such as Honda ASIMO, have not taken the benet of the uent gait inherent for humans and animals. In- stead, the traditional approach has been to control each joint angle to achieve the desired posture in terms of the Center of Mass (CoM) or the Zero Mo- ment Point (ZMP). These paradigms waste a considerable amount of energy on unnecessary control actions. For instance, ASIMO consumes about an order of magnitude more energy per traveled distance per mass unit than a human (Collins and Ruina, 2005).

A much better result in terms of energy eciency can be attained by imitating the gait of a human. The pioneer of so called Limit Cycle Walking (LCW) was

(14)

1.1 Motivation and Objectives 2

Tad McGeer who studied passive dynamic walkers in the late 1980s (McGeer, 1990a). The idea of LCW is to match the size and mass of the limbs in a way that on proper initial joint angles and angular speeds the legs will eventually cycle back to the same initial state. The cycle can then start again from the beginning resulting in a smooth human-like gait. The energy lost by the friction and inelastic collisions at knees and heels is usually replaced by the potential energy of a shallow slope.

The next generation of Limit Cycle Walkers includes bipeds with actuators in one or more joints enabling locomotion also on a level terrain. Still, only a few walkers to date can perform simple control maneuvers such as turning or adjusting the walking speed.

A one of a kind bipedal robot, GIMbiped, is under development at Automation Technology Laboratory in Aalto University (Peralta et al., 2009). The aim of this thesis work is to build a simulator for bipedal robot simulations. The sim- ulator will be utilized when analyzing dierent control policies and the stability of GIMbiped. This thesis summarizes the work accomplished with the simulator and also proposes several methods for controlling the locomotion velocity of a Limit Cycle Walker. These methods are put into practice and compared against each other. The work will be partially carried out in co-operation with the Jet Propulsion Laboratory (JPL), Pasadena, CA, where the author spent the rst three months developing the simulator (Assad et al., 2010). The simulator will be utilized at JPL in the development of a neural network-based falling detec- tion algorithm for bipeds. This control strategy is, however, out of the scope of this thesis, and therefore it will not be covered here.

The objective of this thesis work can be divided into two subgoals. First, a simulator is implemented for bipedal simulations. The simulator is not a specic-purpose simulator, but it can be used for a large variety of applications.

However, the simulator is built keeping in mind the main purpose of simulating humanoid robots, and therefore several properties that are essential for that kind of simulations are implemented. The simulator will then be utilized on one specic task of simulating a simple two-dimensional model of a Limit Cycle Walker. The second subgoal is to study the energy usage of dierent already implemented controllers (Peralta et al., 2010a) and to develop as well as test several strategies to control the speed of an LCW robot.

(15)

1.2 Background of Robotic Walking 3

The rst two chapters are dedicated for introducing the idea of LCW to the reader. First, dierent types of bipedal locomotion that are most commonly used in the eld will be briey presented. The focus is kept on LCW, which is then addressed more closely in Chapter 2 in terms of previous related work done in the eld. Chapter 3 will go more into details of LCW concentrating especially on the analytical modeling of it. The next two chapters will introduce the simulator and several well-known methods for controlling a walking robot using a passive reference walker as well as proposes ideas for velocity control.

Finally, Chapter 6 will present the simulation results.

1.2 Background of Robotic Walking

The rst walking machines already in the 17th century were based on the idea of replacing the wheels of a cart. These walking platforms did not have any power source of their own as they were meant to be pulled by a horse. The breakthrough of actuated walking machines was Phony Pony (McGhee, 1968) in 1968 that was the rst autonomous quadruped robot in the United States.

The robot was constructed at the University of Southern California, and it consisted of four similar legs. The same year, General Electric published a new truck-like vehicle (Liston and Masher, 1968), in which the wheels were replaced with legs. The limbs were controlled by the operator that sat inside the truck. The robotic legs replicated the movement of the operator's limbs by using hydraulic actuators.

Since the design of a two-legged walking machine is more demanding, their development has lagged behind quadruped robots. The rst bipedal walking machines ever designed and built have been toys. American toy maker George Fallis can be regarded as the inventor of walking bipedal machines. He intro- duced a simple human-like toy (Figure 1.1) in which a pair of rigid legs are connected to a hinge joint in the hip (Fallis, 1888). When placed on an inclined plane, the toy was able to rock from side to side while swinging its elevated leg forward. Repetition of the movement with the other leg resulted in a smooth gait.

Walking robots can be categorized in several ways. The most basic way is related to the criterion of stability that is used as the basis of control. The

(16)

1.2 Background of Robotic Walking 4

Figure 1.1: George Fallis patented a walking toy in the late 19th century.

(Fallis, 1888)

three commonly used criteria are based on the Ground Projection of Center of Mass (GCoM), the ZMP, and cyclic stability. These concepts are explained in the next section.

Another way to describe bipeds is to draw a line between passive and active walkers. A passive walker harvests its energy from the environment; most usu- ally from the potential energy of an inclined slope. An active walker has one or more actuators in its joints that pump more energy into the system at de- sired point during the walking cycle. Active walker can use a feedback loop to correctly synchronize the actuators with the gait or a controller that repeats a

xed control pattern without a feedback.

Second, walking robots can be either two-dimensional (2D) or three-dimensional (3D). A two-dimensional walker is restricted to move only in the sagittal plane, which is the vertical plane that splits the robot into left and right portions.

This is usually achieved by using two pairs of legs that are placed side by side and mechanically connected to each other. Also the robot can be mounted to a vertical guidance boom that can rotate around its other end. As they are unpractical, two-dimensional robots are used mainly for research purposes.

(17)

1.3 Three Criteria for Stable Gait 5

1.3 Three Criteria for Stable Gait

In general, it is very dicult to dene whether a gait is stable. Fundamentally, a robot is in a stable state if it can avoid falling. However, that denition is practically impossible to realize because an analytical solution cannot be derived for a whole robot. Consequently, the realization of a fundamental stability criterion would require an innite number of empirical tests. Luckily, there exists several approximate criteria. Three of these concepts are given in this section, beginning from the most restrictive and proceeding toward the one with less articial constraints.

1.3.1 Static Walking Based on GCoM

The robots that utilize the GCoM as their stability criteria are called static walkers. The term static walking is somewhat misleading since obviously walk- ing is a dynamic process not static. However, the term is justied by the fact that static walkers are operated at slow speeds so that the momentum of the moving limbs is negligible.

Static walking is the rst approximation to imitate legged locomotion. Static stability is guaranteed when the CoM is aligned inside the support polygon all the time during the gait. The support polygon is the smallest convex polygon that includes all the ground contact points of the feet. This implies that if the velocity of the limbs is small and their momentum does not signicantly aect the dynamics of the robot, it can be stopped anytime during the gait without losing its stability.

Although theoretical studies on bipedal locomotion were conducted already in the 1960s, the rst to construct a bipedal robot was Ichiro Kato and his group in Waseda University (Kato, 1974). The rst biped, Waseda Leg 3 or WL-3, is shown in Figure 1.2.

The advantage of static walking is that the robot can be controlled by using its inverse kinematic model. Ultimately, static control does not rely on any sensory data from the robot. The drawbacks include limitation in the velocity;

the need for heavy actuation or gearing to ensure accurate joint control; and

(18)

1.3 Three Criteria for Stable Gait 6

Figure 1.2: The rst statically stable robot WL-3 from Waseda University.

(Kato, 2003)

a need for large feet to provide a sucient support polygon also during the single support phase. Consequently, the static walkers show very poor energy- eciency, and due to the bulky structure they are unsuitable to operate in environment designed for humans. Due to these reasons, static walking is not very practical in real applications, and it is not utilized in humanoid robots.

1.3.2 Dynamic Walking Based on the ZMP

The rule that a static walker has to keep the GCoM inside the support polygon is an articial restriction which increase the control eort and thus energy con- sumption. A more general method for analyzing stability is based on the ZMP, which takes into account also the inertia of the limbs, and does not therefore require any assumptions of the velocity of the robot.

The concept of the ZMP was rst proposed in late 1960s (Vukobratovic and Juricic, 1969) although named few years later. Loosely speaking, the ZMP means the point in the support polygon where the overall moment induced by the ground reaction force vanished. This point does not necessarily exist, but if it does, the leg does not feel any torque around that point, and consequently, the leg lies rmly on the ground. Conversely, if the ZMP does not exist, the foot will ip around its edge yielding instability.

Shortly after building the rst walking robot based on the GCoM criterion, Ichiro Kato and his group built the rst dynamically stable bipedal robot, called

(19)

1.3 Three Criteria for Stable Gait 7

WL-10RD, in 1984 (Takanishi et al., 1985). The biped is shown in Figure 1.3(a).

Today, ZMP stability is a well-known concept, and the gait control of most of the advanced bipedal robots is based on that.

Maybe the most famous of the ZMP humanoid robots is Honda ASIMO (Figure 1.3(b)). The rst prototype of Honda's humanoid robot was unveiled in 1986 even though ASIMO was not introduced until 2000 (Honda, 2010). Since that there have been several versions of ASIMO each being more sophisticated than its predecessor. The latest version was unveiled in 2005, and it has 34 Degrees of Freedom (DoFs), six of which accommodates each leg. The current model weights 54 kg and is able to walk 2.7 km/h or run 6 km/h when not carrying any payload. The gait control is based on a predened trajectory that is then corrected on the y. (Hirai et al., 1998) Figure 1.3(c) shows another ZMP biped, Shadow biped, that utilizes pneumatic muscles, which makes it dependable on an air compressor (Shadow, 2010). The compressor is not included in the torso, so the robot has to be tethered all the time to obtain the energy it needs.

Although Honda ASIMO and many other ZMP walkers seem to have a smooth, human-like gait, they still have their shortcomings in locomotion. They are relatively slow (ASIMO can run at the speed that a human normally walks), and they show poor energy eciency. For example, ASIMO consumes around an order of magnitude more energy for walking than a human of the same weight (Collins and Ruina, 2005). Due to this fact, ASIMO has to carry heavy batteries all the time enabling 40 to 60 minutes of continuous walking. Also, the maximum payload of the current model is limited by the grasping force of only 0.5 kg on each hand. (Honda, 2010)

1.3.3 Dynamic Walking Based on Cyclic Stability

The ZMP stability criterion still leaves unnecessary constraints to the control.

For example, image a robot that has two point-feet. According to the ZMP criterion, such a robot is constantly dynamically unstable since its support polygon is only a single line (if the robot is standing) or a point (during the swing phase of either of the legs). In this exemplary case, the area of the support polygon is theoretically zero and ZMP cannot thus lie inside it. Nevertheless, a robot having a support polygon that has a zero area does not automatically

(20)

1.3 Three Criteria for Stable Gait 8

(a) WL-10RD (Kato, 2003) (b) ASIMO (Honda, 2010)

(c) Shadow biped (Shadow, 2010)

Figure 1.3: Three dynamically stable robots. (a) WL-10RD is the rst dy- namically stable biped from Wasadena University; (b) Honda ASIMO; and (b) Shadow biped by Shadow Robot Company

mean that it cannot have a stable gait.

Both the ZMP and the GCoM criteria deal with local stability. A locally stable system will converge back to a stable state after injection of a small disturbance.

On the contrary, cyclic stability does not require local stability. Instead, in a cyclically stable system the gait (the trajectory of the state vector in the state space) will eventually converge into a nominally stable gait. Figure 1.4 illustrates the idea in the state space. The dimension of the Limit Cycle (LC) plot should correspond to the number of free state variables in the system. For simplicity, the gure shows only a projection of a real LC of a walking robot in s3 ˙s3 subspace where the variables correspond to the knee ankle and angular speed of the swing leg. The black curve shows the trajectory of a LC for two of the state variables. The two other curves shows realized trajectories for the system after a small disturbance has shifted the state out from the LC. If the LC is stable, the state converges back to the LC (blue curve). On the contrary, the red curve shows the case in which the LC is unstable.

A walking method that is based on cyclic stability is called Limit Cycle Walking.

Although LCW has been applied for decades, it has not been well dened until recently. The rst to give a denition to the term `Limit Cycle Walking' were D. Hobbelen and M. Wisse (Hobbelen and Wisse, 2007):

(21)

1.3 Three Criteria for Stable Gait 9

s3

ds 3

Unstable LC

Distrubance

occurs Limit Cycle

Stable LC

Figure 1.4: An example of a Limit Cycle (black curve). Blue curve shows a realized trajectory if the LC was stable whereas the red curve corresponds to an unstable LC. Note that the initial distance of the curves from the LC is exaggerated.

Limit Cycle Walking is a nominally periodic sequence of steps that is stable as a whole but not locally stable at every instant in time.

The concept of LCW has been used in both passive and actuated robots since the late 1980s. Although LCW is a very eective in terms of its energy expenditure, its usage is limited to relatively well-formed terrain where the gait does not need to be modied in order to avoid obstacles or recover from substantial disturbances. For this reason, the gait controller should be accompanied also with another that is based on e.g. ZMP or GCoM. The next chapter will give an overview of the history and current status of the LCW. Later chapters will address the eld more closely in the sense of its controllability and energy eciency.

(22)

Chapter 2

Related Work

This chapter reviews some of the work done in the eld of Limit Cycle Walking.

The rst two sections introduce some existing passive and active Limit Cycle Walkers. Foot design, one of the key issues of LCW, is addressed in the third section. The next section introduces the common convention to measure energy usage of legged locomotion as well as speed to make the dierent size of robots comparable with each other. Finally, the last section of this chapter dealing with modeling of LCW sets the basis for Chapter 3.

2.1 Passive Limit Cycle Walkers

The concept of Limit Cycle Walking is based on the idea of an inherently stable walking cycle that can be obtained without any external control. Consequently, the rst walkers have been passive. Actuation was added later to increase their versatility. The pioneer of LCW, Tad McGeer, studied in the late 1980s how to model very simple passive walkers. To make use of the concept, he also built a biped with straight legs. His walker (Figure 2.1(a)) was two-dimensional, which was assured by using two pairs of legs. Each pair was placed side by side and connected to each other in order to prevent the walker from turning or toppling over to the side.

Because McGeer's walker was two-dimensional, foot clearance could not be achieved by rocking from side to side. Instead, he used either a checkerboard

(23)

2.2 Actuated Limit Cycle Walkers 11

pattern of elevated stepping stones or additional actuator to shorten the legs during their swing phase. The shortening mechanism was implemented by using electrical motors driving a screw that adjusted the length.

After McGeer, Andy Ruina and his group at Cornell University have shown much progress in the eld. They were able to build the rst three-dimensional passive walker that was dynamically stable but unable to stand on its own (Coleman and Ruina, 1998). The same group built also another 3D biped that was more anthropomorphic than the earlier Limit Cycle Walkers (Collins et al., 2001). This biped, shown in Figure 2.1(b), demonstrated a very natural-looking gait as it has also knees and swinging arms.

(a) McGeer's passive straight- legged walker. (McGeer, 1990a)

(b) Passive walker from Cornell University. (Collins et al., 2001)

Figure 2.1: (a) McGeer's passive straight legged walker, and (b) a three- dimensional walker with knees and arms from Cornell University.

2.2 Actuated Limit Cycle Walkers

The spectrum of passive-dynamic walkers is quite narrow since their design is so simple that it does not leave many possibilities to digress from the main stream.

On the other hand, the eld of actuated walkers is wider.

(24)

2.2 Actuated Limit Cycle Walkers 12

2.2.1 Actuated Two-Dimensional walkers

Figure 2.2(a) shows Rabbit that was developed especially for serving as a test bed for gait control (Chevallereau et al., 2003). Rabbit is an extreme example of Limit Cycle Walkers since its joints at the hips and knees are heavily geared, which makes it very sti. Rabbit has point feet, and it applies the concepts of Hybrid Zero Dynamics and Virtual Constraints. This means that some of the joints are linked together through a feedback control, and consequently some of the DoFs are virtually constrained. The hip and the knee are strictly controlled by the angle between the lower leg and the oor. Rabbit is attached to a guiding boom to make it two-dimensional. The other extreme, R1 (Morimoto et al., 2003), shown in Figure 2.2(b) is highly back-drivable and thus resembles more passive walkers than Rabbit. R1 is an electrically actuated biped built in Carnie Mellon University. The robot has one lateral DoF in the hip and three DoFs in each leg.

(a) Rabbit (Chevallereau et al., 2003)

(b) R1 (Morimoto et al., 2003)

(c) Spring Flamingo (Pratt et al., 2001)

(d) Meta

(Wisse et al., 2006)

Figure 2.2: Four actuated two-dimensional Limit Cycle Walkers: Rabbit, R1, Spring Flamingo, and Meta.

Spring Flamingo (Figure 2.2(c)) is a seven-DoF biped developed in Massachusetts Institute of Technology (MIT) (Pratt et al., 2001). It uses a new kind of series elastic actuators in its joints. Series elastic actuator consists of an electric mo- tor that is used to load or unload elastic strings (Pratt and Williamson, 1995).

This way, the joints can be virtually torque controlled instead of having strict position control, which is benecial for LCW. Similar to Spring Flamingo is

(25)

2.2 Actuated Limit Cycle Walkers 13

Meta (Figure 2.2(d)), but it has elastic actuators only at the hip and the ankles (Wisse et al., 2006).

2.2.2 Actuated Three-Dimensional walkers

One of the simplest actuated three-dimensional bipeds is Cornell biped in Figure 2.3(a). The robot is an improved version of its passive predecessor (see Figure 2.1(b)) (Collins and Ruina, 2005). Cornell biped has ve DoFs (ankles, knees, and hip). The robot has also swinging arms, but they are mechanically coupled to opposite legs. The main idea behind the biped was to make it particularly energy ecient. It has an actuation only in its ankles that provides a toe push before the trailing leg leaves the ground. The force is created by two springs that are loaded by electrical motors during the gait.

(a) Cornell Biped (Collins et al., 2005)

(b) Toddler

(Tedrake et al., 2004)

(c) Denise (Anderson et al., 2005)

(d) R2 (Ander- son et al., 2005)

Figure 2.3: Four actuated three-dimensional Limit Cycle Walkers: (a) Cornell biped , Toddler, Denise, and R2

Other actuated 3D bipeds include Toddler (Figure 2.3(b)), Denise (Figure 2.3(c)), and R2 (Figure 2.3(d), not to be confused with Robonaut 2 or R2, which does not have legs at all). Toddler at MIT has a very simple mechanical design: it has only two straight legs and large arched feet (Tedrake et al., 2004).

The ankle has two actuated DoFs, and one DoF in the hip is left passive. The ankle is driven by position controlled servomotors. Dierent to Toddler, Denise from Delft University of Technology has pneumatic actuators only in the hip

(26)

2.3 Foot Design 14

whereas the ankle is left passive (Wisse, 2004). R2 is a hydraulic seven-DoF biped built by the Sarcos Company. Although R2 was not designed for LCW, its ability to perform LCW was demonstrated at Carnegie Mellon University (Anderson et al., 2005).

Flame and TUlip (Figure 2.4), which were built in Delft University of Technol- ogy, are the only reported three-dimensional at feet walkers designed speci- cally for LCW (Hobbelen et al., 2008). Flame can walk straight with adjustable speeds as well as stop and start walking. It has nine DoFs: two in each ankle, one in each knee, and three in the hip. Similar to Spring Flamingo, it utilizes series elastic actuators in the joints that have high dynamic motion during the gait. All other joints are passive. TUlip is a successor of Flame, and it has also actuated upper body. (Hobbelen et al., 2008)

(a) Flame (b) Sketch of TUlip

Figure 2.4: The only three-dimensional at foot bipeds to date: (a) Flame and (b) TUlip. (Hobbelen et al., 2008)

2.3 Foot Design

One of the most crucial issues dealing with stability and eciency is the foot and ankle design. Most of the Limit Cycle Walkers have arched feet, some of the two dimensional-walkers have point feet, but only a few have at feet.

Arched feet are benecial in terms of gait stability and eciency, but they make

(27)

2.4 Comparison of Energy-Eciency of Locomotion 15

it almost impossible for the robot to stand still. Point feet are the simplest but not very practical for three-dimensional bipeds. Flat feet have the benet of enabling also static stability.

A common way is to actuate robots from the ankles and ultimately leave the other joints passive. Wisse and his group suggested that arched feet could be replaced with at feet with a spring compliance in the ankle (Wisse et al., 2006), which was also studied later by Wang et al. (Wang et al., 2009). The feet would then behave in the same manner as arched feet whose radius can be tuned by modifying the stiness of the springs.

Borovac and Slavnic studied a multi-segment foot that could provide a more natural gait (Borovac and Slavnic, 2009). Kwan and Hubbard tried to nd an optimal foot shape (Kwan and Hubbard, 2007), and they proposed that instead of a single heel strike, it would be better to split the strike into smaller impacts that would gradually redirect the velocity of the leg. Furthermore, Collins and Kuo investigated the fact that most of the energy dissipation during a walking cycle is in the transitions between the steps (Collins and Kuo, 2010). They developed an articial foot that is able to store some of the energy dissipated in the impacts, and recycle it back to the walking cycle.

2.4 Comparison of Energy-Eciency of Locomo- tion

To enable long-term autonomy for service robots, it is essential to minimize their energy consumption. However, the energy consumption diers signicantly be- tween robots of dierent sizes. Therefore, the energy usage is normalized to make dierent kinds of robots comparable in sense of their eciency. A com- mon convention is to use specic cost of transport, ct. This dimensionless gure is dened by

ct= E

M gd, (2.1)

where E is the energy used, M is the overall mass of the robot, g is the gravity on the Earth's surface, and d is the distance traveled. This denition of ct is analogous to the friction coecient µ = Ef/(M gd) where Ef is the work done

(28)

2.5 Analytical Modeling of Passive Walking 16

by the friction force when an object is moved the distance d on a at surface.

For this reason ct is sometimes also called specic resistance.

Since most robots can perform also other things than walking, the mechanical energy used for locomotion is usually separated from the total energy used. The specic mechanical cost of transport is usually marked as cmt in comparison to cet for the overall energy consumption. cmt does not take into account the energy lost in the conversion from the primary energy form, e.g. electricity or compressed air, to mechanical energy.

Along with mass, also the speed of traveling has a great impact on the energy consumption. Therefore, the specic cost of transport has to be accompanied with normalized speed. There exists several ways to normalize the speed. The most common is the dimensionless Froude number

F r = v

√gl, (2.2)

where v and l are the velocity and the length of the legs of the robot, respectively.

2.5 Analytical Modeling of Passive Walking

There exists several analytical models for passivedynamic walkers. The models dier in their complexity, but common for all of them is that they are two- dimensional and assume all the collisions to be inelastic and the lateral friction forces on the ground large enough to prevent legs from sliding. The simplest models, rst developed by McGeer in the late 1980s, include the rimless wheel and the synthetic wheel (McGeer, 1989), but as they are impractical to realize, they were developed only to prove the concept of passive walking.

A rimless wheel is a single point mass that is surrounded with massless spokes sticking radially out from the mass. When the rimless wheel is placed on an inclined slope, it starts rolling bringing the next spoke (leg) into touch with the ground. Using this simple imaginative setup, McGeer was able to produce slope-dependent periodic motions that are the basis for the LCW research. The synthetic wheel is an upgrade of the rimless wheel, and it includes only one pair of straight legs that are attached to each other via a rotational joint in the hip.

(29)

2.5 Analytical Modeling of Passive Walking 17

McGeer then enhanced the models and developed so called compass-gait model (Figure 2.5(a)) and later a three-link model (Figure 2.5(b)).

A three-link model (McGeer, 1990b) is a model for a passive walker with knees.

It is called a three-link model since the stance leg is always straightened leaving only three independent links. Such a model is based on studies by Mochon and McMahon who found that a pair of legs was able to produce so called ballistic walking (Mochon and McMahon, 1980a,b). Ballistic walking means that on appropriate initial conditions the limbs are able to swing freely imitating natural gait ending up to a heel strike.

(a) Compass-gait model.(McGeer, 1990a) (b) Three-link model. (McGeer, 1990b)

Figure 2.5: Two basic models for passive Limit Cycle Walking.

Variations of the models described above have been used to study stability and behavior of passive walkers. Garcia et al. analyzed the so called simplest walk- ing model that was a simplied version of the general three-link model (Garcia et al., 1998b). They were analytically able to nd stable LCs from linearized equations, and they also found stable higher period gaits (gaits in which the Limit Cycle is longer than one step). Moreover, they derived approximate scal- ing laws for the gait parameters and studied energetic cost of such walkers.

Wang et al. then modied the simplest walking model by adding at feet and ankle compliance (Wang et al., 2009) whereas Schwab and Wisse studied the concept of Basin of Attraction as a measure for maximum disturbance the sys- tem can take without losing stability (Schwab and Wisse, 2001).

(30)

Chapter 3

Analytical Modeling and

AnalysisCase: Three-Link Model

This chapter will present how to model and analyze walking analytically in an ideal case. First, the simulation model that is used consistently throughout this thesis in the later chapters is described. The description is followed by analytical equations for its dynamics. Finally, the rest of this chapter is dedicated to a concept called stride function that can be used when searching for stable Limit Cycles.

3.1 Simulation Model Description

The gait control is based on the idea of a passive reference walker that is simu- lated simultaneously with the actuated robot. The idea of the gait controller is covered in Section 5.1. As this thesis concentrates on the control of a simulation model, two dierent models are needed: an ideal reference model based on ana- lytical equations for the reference; and a more realistic model that is run on the Open Dynamics Engine (ODE) simulator. This section denes the three-link model used and compares the properties of the reference model and the ODE model.

(31)

3.1 Simulation Model Description 19

3.1.1 Model Overview

As mentioned in the previous chapter, there exist several models that can be used to study the dynamics of a passive walker. The topic of this thesis work is on the gait control of an LCW robot and not on the balancing or steering of it. Although straight-legged models may give quite similar results as models with knees, they are still very rough approximations of real robotic hardware.

Moreover, their lack of the knee joints is problematic from the control point of view if the model is to be used as a reference for a model-based controller.

Subsequently, this thesis will concentrate on a two-dimensional three-link model that can imitate the dynamics of a generic walking bipedal robot quite closely.

To keep the model simple, the ankle joints are omitted even though the ankles have a signicant role in actuated bipeds. Nevertheless, this is not an issues in the simulation since the torque that would be applied by the ankle actuator can be replaced by a virtual actuator that acts between the shank and the ground.

Although the reference walker can be idealized from the real hardware, their dimensions and DoFs should be matched. Because the reference has to be simulated faster than real time to allow time also for data processing, and it should not be aected by any noise source, it is reasonable to use an ideal, analytical model for it.

3.1.2 Static Properties

The basic point-feet three-link model that was chosen to approximate the real existing hardware is shown in Figure 3.1(a). The model is basically a kinematic chain of ve rigid bodies that are connected to each other with rotational joints, or a hinges, all of which leaves one rotational DoF with respect to their parent joint. Each leg consists of two links, a shank and a thigh. Additionally, an extra dimensionless mass, a hip, is attached between the legs to act as the upper torso of the walker. All the joints in this model are frictionless, but the friction can still be added later to make the model more realistic. The ground friction, on the other hand, is assumed to be large enough to keep the feet from sliding.

All the links has also a mass and moment of inertia. The CoM of each link is assumed to be located between the end points of the links, but otherwise

(32)

3.1 Simulation Model Description 20

its location can be chosen arbitrarily. All the tunable parameters of the model shown in Figure 3.1(a) are listed in Table 3.1.

This thesis will consistently refer to the following terms: shank (lower leg), thigh (upper leg), leg (shank + thigh), hip (the intersection point or joint of the legs), knee (intersection of a shank and a thigh), and foot (the end point of shank that counteracts with the ground). The leg that is rmly on the ground is called stance leg, and the other one is swing leg.

Table 3.1: Static parameters of a three-link model Parameter Meaning

a1 [m] Foot's distance from the CoM of the corresponding shank.

b1 [m] Knee's distance from the CoM of the corresponding shank.

a2 [m] Knee's distance from the CoM of the corresponding thigh.

b2 [m] Distance from the CoM of a thigh to the hip.

ms [kg] Mass of a shank.

mt [kg] Mass of a thigh.

mh [kg] Mass of the hip.

Is [kg·m2] Moment of inertia of a shank around the CoM.

It [kg·m2] Moment of inertia of a thigh around the CoM.

Ih [kg·m2] Moment of inertia of the hip around the CoM.

γ [rad] Slope angle, positive on downward slopes.

3.1.3 Dynamic Properties

The parameters given above will completely dene the static properties of a three-link model with given assumptions. Since the walker consists only of rotational joints, the dynamic properties, or the state, of the walker is given with joint angles and angular velocities. There exists four joints or DoFs (two knees, and two in the hip) and one imaginary joint between the stance leg and the ground. By considering the fact, that the stance leg is always straightened the DoF of the knee of the stance leg is omitted. Furthermore, if the hip is symmetrical around the hip axes, the attitude of it is insignicant, and the two hip joints can be summed up to form an imaginary joint that gives the inter-leg

(33)

3.1 Simulation Model Description 21

(a) Static properties. (b) Dynamic properties.

Figure 3.1: The three-link model used throughout the thesis. (a) The static properties that do not change during the simulation. (b) The dynamic prop- erties or joint angles vary as simulation proceeds. These angles can be either absolute (s) or relative (q). The angles are measured around the positive x-axis into the direction marked by the arrows.

angle leaving only three independent joints in the overall system. Consequently, the state of the walker is completely dened by only three angles and three angular velocities.

The angles can be dened in two ways: as absolute angles relative to the world reference frame; or relative to the previous (parent) link in the kinematic chain (Figure 3.1(b)). Both conventions have their pros and cons, and therefore both practices will be used in this thesis work. However, the absolute joint angles will be preferred because of their wide acceptance in the eld. These angles are referred to as s = [s1 s2 s3]T. The amplitude controller, which is one type of velocity controller described in Section 5.2.3, benets from the latter convention.

In that case, the angles will be marked as q = [q1 q2 q3]T. To convert from s to q or vice versa, one can use the following equality:









s1 = π/2 − q1

s2 = π/2 − q1− q2 s3 = π/2 − q1− q2− q3









q1 = π/2 − s1

q2 = s1− s2 q3 = s2− s3

, (3.1)

(34)

3.2 Analytical Analysis 22

and 









˙s1 = − ˙q1

˙s2 = − ˙q1− ˙q2

˙s3 = − ˙q1− ˙q2− ˙q3









˙

q1 = − ˙s1

˙

q2 = ˙s1− ˙s2

˙

q3 = ˙s2− ˙s3

. (3.2)

3.1.4 Comparison of the Analytical and Numerical Mod- els

As explained in the beginning of this chapter, the dynamics of the reference (Matlab) model and the robot (ODE) model are modeled dierently. Although both of the models are essentially the same, the robot model is somewhat more realistic and more detailed than the reference model. The main dierence be- tween the simulators is the way the dynamics of the simulation model are solved.

The reference model is based on numerical integration of the dierential equa- tions of motion whereas for the robot model the movement of the bodies is solved independently based on semi-elastic constraints set by the joints. Col- lisions and joint locks are handled in Matlab as instantaneous changes in the momentum of the bodies whereas ODE handles them as temporary joints. Nei- ther the reference model nor the robot model takes into account the spring-like energy stored into elastic actuators.

At the moment, the lateral position of the stance foot is xed in both models.

In the robot model, it is possible to use a friction force between the stance leg and the ground. However, the friction coecient is set to innity because only that way the excess sliding of the leg was prevented. Finally, the bodies in Matlab are assumed to have a point mass whereas in ODE also the moment of inertia can be set by the user. Table 3.2 summarizes the main dierences in the models.

3.2 Analytical Analysis

Although the focus of this thesis is on the ODE simulator, the controller is based on analytical referenced model. The advantage of the analytical model is the high speed in which the complete step cycle can be solved, which makes it

(35)

3.2 Analytical Analysis 23

Table 3.2: Dierences between the Matlab and ODE models Reference (Matlab) Robot (ODE)

Dynamics solver based on ideal equations based on interaction between rigid bodies Collision inelastic instantaneous

collisions

springdamper collisions

Ground friction xed stance foot Ffriction = µFlateral

Mass point mass mass and moment of inertia

Joint lock xed exible (springdamper)

benecial in computationally expensive tasks that do not require high accuracy.

For this reason, the analytical model will be used for the reference walker or when extensive search for LCs are run.

3.2.1 Equations of Motion

It is straight-forward to derive the equations of motion for a three-link model.

However, as the equations are very nonlinear, the equations cannot be solved in the closed form in a general case. Therefore, the motion has to be solved by integrating the equations numerically. The dynamics of a three-link model repeats four independent phases depicted in Figure 3.2. These phases can be split into two categories: continuous dynamics dened by dierential equations (three-link phase and two-link phase); and instantaneous collisions (knee strike and heel strike).

1. three-link phase is the dominating phase. During this phase the swing leg swings freely with its knee bended. The dynamics can be simply solved from the Lagrangian (see e.g. (Lewis et al., 2004)) of the system:

M(q)¨q + V(q, ˙q) + G(q) = τ (3.3) with M(q) the inertia matrix, V(q, ˙q) the Coriolis vector, and G(q) the gravity vector. The formulation of these matrices depends on the selection

(36)

3.2 Analytical Analysis 24

of the state variables, q, which can be any set of variables that fully determines the state of the system. For the set sT ˙sTT

in Figure 3.1, the equations of motion are calculated in (Peralta et al., 2010a).

2. knee strike or knee lock is the time instant when the knee of the swing leg straightens and becomes one solid link instead of a separate thigh and a shank. This is an instantaneous occasion that dissipates some of the energy associated with angular momentum of the shank of the swing leg, but preserves the angular momentum of the entire system. At this point the knee becomes locked and the system loses one DoF.

3. two-link phase follows the knee lock. In this phase, the model is equal to the compass-gait model, and it can be modeled with a similar Lagrangian as in the rst phase.

4. heel strike is what ends one gait cycle. At this point the swing leg hits the ground and becomes the new stance leg. Similarly, the former stance leg becomes the new swing leg, and its knee unlocks. The heel strike is modeled similarly to the knee strike as an instantaneous inelastic collision.

Figure 3.2: Four phases of the gait of ideal three-link model.

Figure 3.3 shows an example of a step cycle in the state space. Each of the three joint angles are depicted with respect to their angular velocities. The initial points for the stance leg angle (s1), the thigh angle (s2), and the shank angle (s3) are marked in the gure. In the beginning of the three-link phase, s2 and s3 are coincident after which they separate along the red and green curves, respectively, whereas s1 starts moving along the blue curve. The three- link phase ends with the knee strike when the s2 and s3 become equal again.

At that point, the angular velocities ˙s2 and ˙s3 change instantaneously (red

(37)

3.2 Analytical Analysis 25

and green dash line), and the two trajectories becomes the same (black curve) starting the two-link phase. The knee strike can also be seen in ˙s3 as a small drop. In the two-link phase, the combined thighshank angle and the stance leg angle proceeds their trajectories until the thighshank angle meets the initial stance leg angle and vice versa. This occasion gives rise to the heel-strike (black and blue dash lines) which, in turn, restarts the cycle with alternated swing and stance legs.

0

Angle [rad]

Angular velocity [rad/s]

Initial points2, s3 Heel strike

s1

Knee strike Initial point

s2

s3 s2, s3

Knee strike

s1

Figure 3.3: An example of a step cycle in the state space. The plot shows simultaneously all three angles with respect to corresponding angular velocities.

The dash line means instantaneous change in velocity due to inelastic collisions.

3.2.2 Finding the Limit Cycles

One of the motivations for modeling LCW is the need for nding stable LCs.

For that purpose, we rst need to dene a stride function. Lets assume that a walker always passes a certain conguration of its joints that can be identied for all of its steps. For example, this point can be the time instant when the swing leg hits the ground. If t1 < t2 < . . . < tn are these time instants of the robot during the gait, then

S (qi) = qi+1, (3.4)

where qi = q(ti), is the stride function of the walker. For simple cases, as for compass-gait or three-link model, the stride function can be found analytically.

(38)

3.2 Analytical Analysis 26

An LC is a closed trajectory in the state space that is cyclically stable. To nd the trajectory, we need to search for a xed point q in the state space that satises

S (q) = q. (3.5)

By introducing a vector valued function

f (q) = S (q) − q, (3.6)

the problem of nding the value of q is equivalent to nding the roots of f (q).

That can be solved by using several dierent numerical algorithms such as the NewtonRaphson method. It should be noted that as the function f(q) is highly nonlinear, includes singularities, and is not dened for all values of q, a good initial guess is needed in order to get the algorithm to converge to an LC. One method is to use a genetic algorithm to nd the potential minima of (f (q))2, and use them as initial values for the NewtonRaphson method. In some cases for relatively small slope angles, a closed form solution can also be found by using linearized equations (Garcia et al., 1998b). This approximate solution from the linearized model can then be used as an initial guess for a numerical method (Garcia et al., 1998b).

3.2.3 Stability Evaluation

Finding the point q does not automatically guarantee cyclic stability. Cyclic stability means that any point in the neighborhood of the LC will eventually, after several cycles, converge to the same LC.

By linearizing the stride function around the xed point q, we get for small disturbances δq

S (q + δq) ≈ q+ Aδq, (3.7)

where

A = ∂S

∂q q=q

is the Jacobian matrix of the stride function that consists of the components

∂Si/∂qj evaluated at q. From (3.7) it follows that a small disturbance δqi at step i maps to δqi+1 ≈ Aδqi after one step cycle. This yields that after n steps, the disturbance is δqn ≈ Anδq. As a consequence, if the Jacobian matrix has

(39)

3.2 Analytical Analysis 27

all its eigenvalues inside a unit circle, the disturbance will eventually converge to zero, which yields cyclic stability. Otherwise, the gait is marginally stable (one of the eigenvalues lies on the unit circle) or unstable. When it comes to walking, the discussion above is valid only for the period-one gait in which each of the steps are identical. In a more general case, an LC might last longer than only one step which has to be taken into account in the equations above. This thesis, however, concentrates only on period-one gaits.

In summary, the stability analysis of LCW reduces to a (numeric) calculation of the eigenvalues of Jacobian matrix of the stride function S (q). As an example, if one of the eigenvalues of the Jacobian of the LC in Figure 1.4 is outside the unit circle, the red curve would occur. Otherwise, the system is stable and the blue curve results.

(40)

Chapter 4

Description of the Simulator

This section summarizes the work the author has accomplished during his three- month visit to JPL. The work consisted of building a rigid body simulator for simulating robotic walking in general, and a lot of eort has been put to make the simulator optimal especially for LCW. The simulator is based on Open Dynamics Engine (ODE), which is an open physics engine written in C.

ODE is basically just a collection of libraries that solves the dynamic equations of motion as well as is able to detect collisions between bodies. The User Interface (UI) for setting up the body/joint relations has to be implemented by the user. This section will review the UI part of the software.

4.1 Overview

The structure of the simulator is kept as simple as possible. It supports features, such as knee lock, that are essential when simulating passive walking. The simulator is built in a way that it does not rely on any features of the simulation model, so in principle one can simulate any simple system consisting of rigid bodies. In this thesis work, the simulator is used to simulate the simple three- link model described in Chapter 3. An overview of the simulator interface is shown in Figure 4.1. The interface to specify the simulation parameters and the model is simply one or several les. The simulator can be set to discuss with Matlab via sensors and actuators (torques), which makes implementing and testing dierent kind of controllers easy. Furthermore, Matlab can be used

(41)

4.2 Structure of the Conguration File and the Model File 29

to add an UI to manually control the simulation ow or to gather data. There is also an in-built visualization tool for real-time animation, but to gain more speed, it can be turned o. All the results, including coordinates of the points as well as angles and angular velocities of the joints are outputted into several text

les. These output les can be also easily read into Matlab or other software for further analysis.

Figure 4.1: Overview of the simulator.

4.2 Structure of the Conguration File and the Model File

The conguration le conf.txt is the le that the simulator looks for in the beginning of each run. Normally, this le is used only to dene the settings that are kept xed regardless from the simulation model. These settings include, for example, the simulation time step and the slope angle. Furthermore, the user can include the actual model le of arbitrary name from the conguration le by using include command. include and other reserved words are listed in

(42)

4.2 Structure of the Conguration File and the Model File 30

Appendix A. Although the conguration le and the model le can be merged into only one le, they are assumed to be separated into two les in the following discussion. These les are consistently called the conguration le and the model

le. The les used in the simulations can be found in Appendix C.

The input les can have any of the following commands in an arbitrary order:

• <var>=<val> creates a variable named <var> and stores the value <val>

in that variable. The new variable can then be used in the conguration and model les after this line. This is useful especially when many objects share the same property (e.g. two bodies have the same mass). There exists a set of reserved variable names that are used to dene simulation parameters and cannot thus be used as user-dened variables.

• include <filename> includes the le named <filename> to congura- tion stream.

• begin <object type> starts a description of a simulation model compo- nent of type <object type> that can have one of the following values:

body, point, joint, or trigger. This command is followed by a set of component-specic variables. These variables are listed in Appendix B.

• end closes the denition of a model component (see above).

• # is used for comments. The rest of the line after this symbol is skipped by the parser.

• sensor and torque are used to dene sensors and torques for the Mat- lab interface (see Section 4.3). These keywords are followed by several parameters that links joints and bodies to Matlab variables.

After parsing the conguration le, the simulator parses the command line parameters. The command line parameters are parsed similarly to the cong- uration le, and therefore any of the parameters given in the conguration le could also be given as a command line parameter of the same format. If the same parameter is given twice, then the latter overrides the former. This is use- ful especially when the user wants to vary some of the simulation parameters for each run.

(43)

4.3 Setting Up the Simulation Model 31

4.3 Setting Up the Simulation Model

The simulation model is fed to the simulator by using model les. These les consist of six components; four for the model and two for the Matlab interface.

The model components are listed below and illustrated in Figure 4.2. A more detailed description of the model components can be found in Appendix B.

• Body is a basic building block. It describes the static properties of a body, namely the moment of inertia and the mass. It does not have any information about its location or orientation. Each body has its own frame whose origin is located in the CoM of the body. The user can also dene a shape for a body, but the shape information is used only for visualization and not e.g. for detecting collisions.

• Point is used to describe any interesting locations in a body. A point can also be placed directly to the inertial frame. A point does not have a frame of its own, but it uses its parent's coordinate system. Coordinates of a point are thus relative to the CoM of the body or to the origin of the inertial frame in case the point does not belong to any body. Points can be used e.g. to place joints or to dene contact points that can collide with the ground.

• Joint describes the childparent relationship between two bodies. There exists four kind of joints. Each joint restricts zero (free joint), all (xed), or some of the DoFs of a child body with respect to its parent. A Joint is attached between two points that belongs to two dierent bodies. When creating a joint, the rst body (parent) is kept xed, and the second body (child) is moved and rotated so that the two points coincides and the corresponding axes of the parent frame and child frame are parallel. The angular and linear speeds of the child body are zeroed with respect to the parent frame. The child body can be also given an additional linear and/or angular displacement and speed with respect to the parent frame depending on the joint type.

• Trigger is used to trigger an event when a predened condition is met.

For example, a trigger can be used to lock a knee or to calculate the number of steps the walker has taken. A trigger consists of one or more

(44)

4.3 Setting Up the Simulation Model 32

set conditions and reset conditions. A trigger triggers once all of the set conditions are true. The trigger will then be disabled (does not trigger again) until the reset conditions are true.

Figure 4.2: The four components from which a simulation model is built: body (blue), point (green), joint (red, a hinge joint in this example), and trigger (brownish)

The bodies can be connected to each other using joints. The four types of joints are xed, free, hinge, and slider.

• Fixed joint keeps the child body xed with respect to its parent. This joint is not encouraged to be used: its usage will slow down the simulation in vain because it could be avoided by using only one body that is the union of the two. Nevertheless, in some cases, it is reasonable to use a xed joint, i.e., when attaching an unmovable object into the world frame.

• Free joint lets the child move freely. This joint can be used to give a free object an appropriate initial position and pose.

• Hinge is the basic joint used when simulating the three-link model. This joint leaves only one rotational DoF around the joint axis between the parent and child bodies.

• Slider is similar to hinge but leaves one linear instead of rotational DoF between the bodies.

It is possible to form loops of bodies in which two bodies are interacting with each other through two or more separate chains of bodies and joints. However, it is not recommended to form loops where two bodies are connected to each other

References

Related documents

Felt like the simulations took to much time from the other parts of the course, less calculations and more focus on learning the thoughts behind formulation of the model.

Föreläsningarna var totalt onödiga eftersom allt som hände var att föreläsaren rabblade upp punkter från en lista, på projektor, som vi hade 

Samtidigt innebär det att vi har ett ansvar att trygga tillgången till service och utveckling för att säkra kundernas tidigare investeringar, säger Robert Larsson,

I dag uppgår denna del av befolkningen till knappt 4 200 personer och år 2030 beräknas det finnas drygt 4 800 personer i Gällivare kommun som är 65 år eller äldre i

Detta projekt utvecklar policymixen för strategin Smart industri (Näringsdepartementet, 2016a). En av anledningarna till en stark avgränsning är att analysen bygger på djupa

DIN representerar Tyskland i ISO och CEN, och har en permanent plats i ISO:s råd. Det ger dem en bra position för att påverka strategiska frågor inom den internationella

Sedan dess har ett gradvis ökande intresse för området i båda länder lett till flera avtal om utbyte inom både utbildning och forskning mellan Nederländerna och Sydkorea..

Aaltos universitet för fram att trots att lagändringen löst vissa ägandefrågor och bidragit till att universiteten har fått en struktur på plats som främjar kommersialisering