control of a planar, one legged hopping robot model on...

95
Martin Rutschmann Control of a planar, one legged hopping robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor: Professor K. Byl, Robotics Laboratory, University of California Santa Barbara (UCSB) Tutor: Professor M. Morari, Automatic Control Laboratory, Swiss Federal Institute of Technology (ETHZ)

Upload: others

Post on 01-Aug-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

Martin Rutschmann

Control of a planar, one legged hoppingrobot model on rough terrain

Master ThesisAugust 2011 to February 2012

Supervisor:Professor K. Byl,Robotics Laboratory,University of California Santa Barbara (UCSB)

Tutor:Professor M. Morari,Automatic Control Laboratory,Swiss Federal Institute of Technology (ETHZ)

Page 2: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:
Page 3: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

3

Abstract

This thesis is based on the design of a planar, one legged hopping robot createdby the Robotics Laboratory at UCSB (University of California Santa Barbara).For the purpose of controlling the robot on rough terrain, simplified dynamicalmodels of the hopper are developed and analyzed. In the second part nonlinearmodel predictive control is used to enable the robot model to hit a sequence ofdesired footholds. Simulations show that the used control architecture enablesthe models to hit the desired footholds accurately while maintaining a stablehopping gate.

3

Page 4: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:
Page 5: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

5

Acknowledgment

This thesis was written during a semester abroad at the University of CaliforniaSanta Barbara. I would like to express my thanks to my tutor Professor M.Morari for giving me this opportunity and helping me finding a supervisor inSanta Barbara. I would also like to thank the whole Group of the RoboticLaboratory at UCSB and especially my supervisor Professor K. Byl for theirsupport. Without them the completion of this thesis would not have beenpossible.

5

Page 6: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:
Page 7: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

Contents

1 Introduction 151.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.2 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2 Models 172.1 General Terms And Notation . . . . . . . . . . . . . . . . . . . 172.2 Conservative SLIP Model . . . . . . . . . . . . . . . . . . . . . 19

2.2.1 Model Parameters . . . . . . . . . . . . . . . . . . . . . 192.2.2 Flight Dynamics . . . . . . . . . . . . . . . . . . . . . . 192.2.3 Stance Dynamics . . . . . . . . . . . . . . . . . . . . . . 202.2.4 Touch-Down . . . . . . . . . . . . . . . . . . . . . . . . . 212.2.5 Take-Off . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.2.6 Failure Conditions . . . . . . . . . . . . . . . . . . . . . 22

2.3 Actuated Lossy SLIP Model (ALSLIP) . . . . . . . . . . . . . . 232.3.1 Model parameters . . . . . . . . . . . . . . . . . . . . . . 232.3.2 Stance Dynamics . . . . . . . . . . . . . . . . . . . . . . 232.3.3 Flight Dynamics . . . . . . . . . . . . . . . . . . . . . . 242.3.4 Touch-Down . . . . . . . . . . . . . . . . . . . . . . . . . 252.3.5 Take-Off . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.3.6 Failure Conditions . . . . . . . . . . . . . . . . . . . . . 26

3 Actuator Motions 273.1 Actuator Motion Limits . . . . . . . . . . . . . . . . . . . . . . 273.2 Experiment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283.3 Initial Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.4 Single Step Motions . . . . . . . . . . . . . . . . . . . . . . . . . 32

3.4.1 Unit Single Step . . . . . . . . . . . . . . . . . . . . . . 323.4.2 Linear Single Step . . . . . . . . . . . . . . . . . . . . . 323.4.3 Accelerated Single Step . . . . . . . . . . . . . . . . . . . 333.4.4 Reachable Apex Region Shape . . . . . . . . . . . . . . . 34

3.5 Double Step Motion . . . . . . . . . . . . . . . . . . . . . . . . 373.5.1 Unit Double Step . . . . . . . . . . . . . . . . . . . . . . 373.5.2 Linear Double Step . . . . . . . . . . . . . . . . . . . . . 373.5.3 Accelerated Double Step . . . . . . . . . . . . . . . . . . 383.5.4 Reachable Apex States . . . . . . . . . . . . . . . . . . . 39

3.6 Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

7

Page 8: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

8 Contents

3.7 Influence Of Height, Speed And Touch-Down Angle . . . . . . . 43

4 Dead Beat Control 474.1 Control Design . . . . . . . . . . . . . . . . . . . . . . . . . . . 474.2 Region Of Attraction . . . . . . . . . . . . . . . . . . . . . . . . 484.3 Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

5 Foothold Placement Control 515.1 Finite Horizon Nonlinear Model Predictive Control . . . . . . . 515.2 SLIP Step Size . . . . . . . . . . . . . . . . . . . . . . . . . . . 525.3 SLIP foothold placement control . . . . . . . . . . . . . . . . . . 53

5.3.1 State, Input And State Transition Matrix . . . . . . . . 535.3.2 Cost Function . . . . . . . . . . . . . . . . . . . . . . . . 535.3.3 Input sequence constraints . . . . . . . . . . . . . . . . . 545.3.4 Accuracy Experiment . . . . . . . . . . . . . . . . . . . . 55

5.4 ALSLIP Step Size Analysis . . . . . . . . . . . . . . . . . . . . . 575.5 ALSLIP Foothold Placement Control . . . . . . . . . . . . . . . 59

5.5.1 ALSLIP foothold placement algorithm modifications . . 595.5.2 Experiments . . . . . . . . . . . . . . . . . . . . . . . . . 605.5.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . 66

6 Hopper Model 676.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 676.2 Control loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

6.2.1 Foothold Placement Control . . . . . . . . . . . . . . . . 696.2.2 Torso Angle Control . . . . . . . . . . . . . . . . . . . . 696.2.3 Actuator Length Controller . . . . . . . . . . . . . . . . 706.2.4 Leg Angle Controller . . . . . . . . . . . . . . . . . . . . 71

6.3 Hopper Foothold Placement Control . . . . . . . . . . . . . . . 726.3.1 ALSLIP Parameter Identification . . . . . . . . . . . . . 726.3.2 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

7 Summary and Future Work 757.1 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 757.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

Appendix A ALSLIP Model Calculations 77A.1 Stance Phase Dynamics . . . . . . . . . . . . . . . . . . . . . . 77

Appendix B Hopper Model 79B.1 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79B.2 Stance Equation of Motion . . . . . . . . . . . . . . . . . . . . . 79B.3 Stance Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84B.4 Flight Equation of Motions . . . . . . . . . . . . . . . . . . . . . 85

8

Page 9: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

Contents 9

B.5 Flight events . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87B.6 Touch-Down Calculation . . . . . . . . . . . . . . . . . . . . . . 88B.7 Take-Off Calculation . . . . . . . . . . . . . . . . . . . . . . . . 90

Appendix C Foothold Control Simulation Results 91

9

Page 10: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:
Page 11: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

List of Figures

1.1 One legged hopping robot . . . . . . . . . . . . . . . . . . . . . 16

2.1 Illustration of flight and stance phases and take-off (TO) andtouch-down (TD) events . . . . . . . . . . . . . . . . . . . . . . 18

2.2 Illustration of SLIP model parameters . . . . . . . . . . . . . . 192.3 Flight Phase Coordinate System . . . . . . . . . . . . . . . . . . 202.4 Stance Phase Coordinate System . . . . . . . . . . . . . . . . . 212.5 Illustration of the ALSLIP parameters . . . . . . . . . . . . . . 23

3.1 Illustration of actuator motion experiment . . . . . . . . . . . . 293.2 Two examples of piecewise linear actuator motions . . . . . . . 293.3 Point cloud of reachable apex states for experiment with piece-

wise linear actuator motion . . . . . . . . . . . . . . . . . . . . 303.4 Side view of point cloud of reachable apex states for experiment

with piecewise linear actuator motion . . . . . . . . . . . . . . . 313.5 Residuum in x direction between point cloud and reference surface 313.6 Illustration of the unit single step actuator motion . . . . . . . . 323.7 Illustration of the linear single step actuator motion including

speed profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.8 Illustration of the accelerated single step actuator motion, in-

cluding speed and acceleration profile . . . . . . . . . . . . . . . 333.9 Illustration of the same stance motion with different motion

parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343.10 Reachable apex states with unit single step actuator motion . . 353.11 Reachable apex states with linear single step actuator motion . 353.12 Reachable apex states with accelerated single step actuator motion 363.13 Illustration of the unit double step actuator motion . . . . . . . 373.14 Illustration of the linear double step actuator motion, including

velocity profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.15 Illustration of the accelerated double step actuator motion, in-

cluding acceleration and velocity profile . . . . . . . . . . . . . . 383.16 Reachable apex states with unit double step actuator motion . . 393.17 Reachable apex states with linear double step actuator motion . 403.18 Reachable apex states with accelerated double step actuator

motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403.19 Reachable apex region with single step motions . . . . . . . . . 42

11

Page 12: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

12 List of Figures

3.20 Reachable apex region with double step motions . . . . . . . . . 423.21 Reachable apex regions with accelerated double step motion

with different initial heights and speeds . . . . . . . . . . . . . . 433.22 Reachable apex regions with accelerated double step motion

with different touch-down angles . . . . . . . . . . . . . . . . . . 443.23 Reachable apex regions with accelerated double step motion

with different touch-down angles . . . . . . . . . . . . . . . . . . 45

4.1 Region of attraction for Dead Beat Controller . . . . . . . . . . 494.2 Distributions of apex speed and height for dead beat controller . 50

5.1 Running speed vs step size for running at constant speed witha compensated height of 0.8[m] . . . . . . . . . . . . . . . . . . 53

5.2 Illustration of discrete SLIP states and inputs . . . . . . . . . . 545.3 Example for a solution of the optimization problem with no cost

for the end state (horizon=2) . . . . . . . . . . . . . . . . . . . 555.4 SLIP accuracy experiment results . . . . . . . . . . . . . . . . . 575.5 ALSLIP step size vs apex speed on even ground . . . . . . . . . 585.6 ALSLIP maximum step size vs step height . . . . . . . . . . . . 585.7 ALSLIP error statistics for flat ground accuracy experiment . . 615.8 Illustration of foothold placement control performance under

model mismatch . . . . . . . . . . . . . . . . . . . . . . . . . . . 635.9 ALSLIP measurement noise error statistics . . . . . . . . . . . . 645.10 ALSLIP error statistics for input noise experiments on flat ground 655.11 ALSLIP uneven ground error statistics . . . . . . . . . . . . . . 66

6.1 Illustration of different components of the hopper model . . . . 676.2 Control Concept Overview for Hopper Model . . . . . . . . . . . 686.3 Hopper Torso Angle Control performance for typical hopping gait 696.4 Actuator Length Control . . . . . . . . . . . . . . . . . . . . . . 706.5 Actuator Length Control performance . . . . . . . . . . . . . . . 716.6 Leg Angle Control loop with switch for constant torque during

stance phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 726.7 Leg Angle Control performance . . . . . . . . . . . . . . . . . . 73

B.1 Hopper parameter illustration . . . . . . . . . . . . . . . . . . . 79B.2 Generalized coordinates during the stance phase . . . . . . . . . 81B.3 Generalized coordinates during the flight phase . . . . . . . . . 85

12

Page 13: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

List of Tables

2.1 Conservative SLIP model parameters . . . . . . . . . . . . . . . 192.2 Parameters for ALSLIP model . . . . . . . . . . . . . . . . . . . 24

3.1 Actuator Motion Limits . . . . . . . . . . . . . . . . . . . . . . 28

4.1 Parameters for blind running controller . . . . . . . . . . . . . . 48

5.1 Foothold Error Statistics for SLIP accuracy simulation . . . . . 565.2 Computation runtime statistics for SLIP accuracy simulation . . 565.3 Foothold Error Statistics for ALSLIP flat ground accuracy sim-

ulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615.4 Compensated height error statistics for ALSLIP flat ground ac-

curacy simulation . . . . . . . . . . . . . . . . . . . . . . . . . . 625.5 Computation runtime statistics for ALSLIP flat ground accu-

racy simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

B.1 Hopper model parameter description and values . . . . . . . . . 80

C.1 ALSLIP Foothold Placement Control: error statistics for legmass mismatch . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

C.2 ALSLIP Foothold Placement Control: error statistics for bodymass mismatch . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

C.3 ALSLIP Foothold Placement Control: error statistics for springstiffness mismatch . . . . . . . . . . . . . . . . . . . . . . . . . . 92

C.4 ALSLIP Foothold Placement Control: error statistics for mea-surement noise of xapex . . . . . . . . . . . . . . . . . . . . . . . 92

C.5 ALSLIP Foothold Placement Control: error statistics for mea-surement noise of yapex . . . . . . . . . . . . . . . . . . . . . . . 93

C.6 ALSLIP Foothold Placement Control: error statistics for mea-surement noise of xapex . . . . . . . . . . . . . . . . . . . . . . . 93

C.7 ALSLIP Foothold Placement Control: error statistics for inputnoise on αTD . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

C.8 ALSLIP Foothold Placement Control: error statistics for inputnoise on actuator step size . . . . . . . . . . . . . . . . . . . . . 94

C.9 ALSLIP Foothold Placement Control: error statistics for unevenground experiment with different noise level in terrain heightmeasurement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

13

Page 14: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:
Page 15: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

Chapter 1

Introduction

1.1 Motivation

An important part in the field of mobile robotics is robot locomotion, theability to transport robots over different terrains. Wheels are the classicaldrive system, but their use introduces limits in the terrain which the robotis able to overcome. In general wheeled robots struggle to overcome simplethings like stairs or small gaps in the terrain. As there is a need for mobilerobots to be able to go wherever humans can go, one solution is leggedlocomotion. Legged locomotion is a difficult task since several goals have tobe achieved. On the one hand side, the robot has to be stable and not fallover and on the other hand to be able to overcome rough terrain by hittingdesired footholds.

In the case of running robots, one legged hopping robots can be used to developcontrol strategies, which can be extended to systems with multiple legs later on[1]. Since M.N. Raibert [2] first built his one legged hopping robot in the 80’s,the number of research labs who study and build running or hopping robotsgrew larger. One of these research labs is the Robotics Lab at the Universityof California Santa Barbara (UCSB) where this thesis was written. At thetime this thesis was written, the members of this lab were designing a planar,one legged hopping robot, on which this thesis is based. To reduce the degreesof freedom which have to be controlled, the hopping robot will be mounted ona boom which allows the robot to move back and forward and to jump up anddown. Figure 1.1 shows the CAD drawing and an early prototype of the hopper.

In parallel to the mechanical robot design, the purpose of this thesis was toinvestigate the possibilities and limitations of the basic design and to developnew control strategies to enable the robot to move on rough terrain. In previousresearch, the focus mostly lied on stability and how to control a hopping robotsuch that it is able to hop at a desired velocity or hopping height (see [3], [4],[5], [6]). The advantage of legged robots over wheeled robots is to overcomegaps in the terrain. Therefore there is a need to be able to hit desired footholds.Some of few previous work on the control of the step length has been done by

15

Page 16: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

16 CHAPTER 1. INTRODUCTION

(a) CAD Drawing of the hoppingrobot

(b) Early prototype ofhopper restricted tovertical hopping

Figure 1.1: One legged hopping robot

J.K. Hodgins and M.N. Raibert [7]. This is why in this thesis a model basedcontrol algorithm is developed which enables one legged hopping robots to hita sequence of desired footholds accurately.

1.2 Overview

Chapter 2 introduces two simplified models of the hopper. The conservativeSLIP model which is widely used in research and a slightly modified model,which is able to influence the system energy due to the presence of an actuatorand should cover the dynamics of the hopper robot more accurately. Chapter3 presents an approach to how the added actuator can be used to influence thehopping behaviour of the robot. Based on the results of chapter 3, a dead beatcontroller is introduced in chapter 4. Chapter 5 presents the control approachused to hit a sequence of desired footholds. In chapter 6 the foothold controlleris tested on a more sophisticated model of the hopper. Finally, chapter 7 givesa short summary and an outlook of what future work can be done.

16

Page 17: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

Chapter 2

Models

In this thesis, two different simplified dynamical models of the hopper are used.One of these models is the widely known and used Spring Loaded InvertedPendulum (SLIP) model, which is described in 2.2. Section 2.3 of this chapterdeals with a slightly modified SLIP model, the ALSLIP(Actuated Lossy SLIP)model, which is able to account for losses and should match the real hopperdynamics more accurately. Some terms and notation used throughout the thesisare introduced in 2.1.

2.1 General Terms And Notation

The models used in this thesis are hybrid systems. The dynamics are dividedinto two different phases with two events which mark the transition fromone phase to the other. The system is either in stance phase, when the footis touching the ground, or in flight phase, when there is no ground contact.The event when the model switches from flight phase to the stance phase isreferred to as touch-down (TD) and the event when the system switches fromstance phase to flight phase as take-off (TO).

To simplify the analysis of the system, the apex return map is introduced. Theapex is the point in the flight phase where the center of mass of the systemhas no velocity in the vertical direction. This state allows to describe thesystem state with just three variables: the apex height yapex, the horizontalapex position xapex and the horizontal apex speed xapex. The apex return mapis defined from the current apex state to the next apex state. The angle atwhich the leg touches the ground is defined as touch-down angle αTD. Figure2.1 illustrates the transition from one apex to the other with the differentevents and phases in between.

In this thesis, the energy of the apex state is expressed as a compensatedheight. To do that, the kinetic energy of the apex is transformed into potentialenergy and from that into a height and added to the apex height. The formulafor calculating the compensated height is:

17

Page 18: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

18 CHAPTER 2. MODELS

Flight Phase Stance Phase Flight Phase

Apex ApexTOTD

αTD

Figure 2.1: Illustration of flight and stance phases and take-off (TO) and touch-down (TD) events

zapex = yapex +Eapex,kingm

(2.1)

= yapex +x2apex2g

(2.2)

where Eapex,kin = 12mx2apex is the kinetic energy of the apex, m is the overall

mass of the hopper and g is the gravity of the earth. The hopping energy thencan be expressed as a linear function:

Eapex = mgzapex (2.3)

18

Page 19: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

2.2 Conservative SLIP Model 19

2.2 Conservative SLIP Model

2.2.1 Model Parameters

The SLIP model is essentially a leg with a point mass as body which is con-nected with a spring to the foot. The different parameters are illustrated infigure 2.2 and explained in table 2.1.

mb

L0

Lk0,k

Lf

Figure 2.2: Illustration of SLIP model parameters

Parameter Description Value Unitmb Mass of the body 7 [kg]L0 Length of the leg during flight 0.5 [m]Lf Length of the unsprung part of the leg 0.3 [m]Lk0 Length of the uncompressed spring 0.2245 [m]k Spring constant 2800 [N/m]g Earth gravity 9.81 [m/s2]

Table 2.1: Conservative SLIP model parameters

2.2.2 Flight Dynamics

For the flight phase, a Cartesian coordinate system is used, where yb is theheight of the body and xb is the vertical position of the body (see Figure 2.3).The leg angle α describes the orientation of the leg with respect to the horizon.

During the flight phase, the only force acting on the body is gravity. Thereforethe horizontal speed stays constant (2.4) and a constant acceleration acts onthe vertical position (2.5).

19

Page 20: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

20 CHAPTER 2. MODELS

xb

yb

y

x

α

Figure 2.3: Flight Phase Coordinate SystemRed: generalized coordinates xb,yb, Black: leg angle α

x = 0 (2.4)

y = −g (2.5)

The closed form solutions for equation (2.4) and equation (2.5) are shown in(2.6) and (2.7), where (xb,0, yb,0) is the initial position and (dxb,0, dyb,0) is theinitial speed at time t0.

xb(t) = xb,0 + dxb,0(t− t0) (2.6)

yb(t) = yb,0 + dyb,0(t− t0)−1

2g(t− t0)2 (2.7)

The model allows the leg angle α to change instantaneously. The length ofthe leg does not change during flight and always has the value L0. One cancalculate the position of the foot during flight as a function of the body positionand the current leg angle:

xf (t) = xb(t)− cos(α(t))L0 (2.8)

yf (t) = yb(t)− sin(α(t))L0 (2.9)

2.2.3 Stance Dynamics

During the stance phase, the foot position (xf , yf ) is assumed to stick to theground. The position of the body is described with a polar coordinate system.

20

Page 21: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

2.2 Conservative SLIP Model 21

xf

yf

y

x

α

Lb

Figure 2.4: Stance Phase Coordinate SystemRed: generalized coordinates leg length Lb and leg angle αBlack: fixed position of the foot (xf , yf )

α is the current angle of the system and Lb is the current distance between thebody and the foot (see figure 2.4). 2.10 and 2.11 show the equations of motionduring the stance phase.

Lb = − km

(Lb − Lf − Lk0)− g sin(α) + Lbα2 (2.10)

α =−2Lbα− g cos(α)

Lb(2.11)

The derivation of the equations of motion is done in appendix A. Unfortunately,the closed form solution for this system of differential equations does not exist.Hence it is necessary to either use approximation like in [4] or use numericalintegration. Throughout this thesis the stance dynamics are calculated usingthe ode45 solver of MATLAB.

2.2.4 Touch-Down

At the moment of touch-down, it is necessary to transform the flight coor-dinates into the stance coordinates. During flight the leg length is alwaysL0, hence the initial length Lb is always equal to L0 at touch-down. Thetouch-down angle αTD is chosen during the flight phase and is the initial valueof the stance phase leg angle.

21

Page 22: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

22 CHAPTER 2. MODELS

What needs to be calculated are the initial angular speed α and the initial rateof change of the leg length Lb. For this, the Cartesian speeds are transformedinto the angular speed and the radial speed which is the same as the rate ofchange of the leg length:

α =− sin(αTD)xb + cos(αTD)yb

L0

(2.12)

Lb = cos(αTD)xb + sin(αTD)yb (2.13)

2.2.5 Take-Off

Take-off occurs when the length Lb reaches the flight leg length again. Atthis moment, the dynamics change back to the flight dynamics. Hence it isnecessary to transform back to the flight coordinates. The position of the bodycan be calculated using the leg angle at take-off α and the position of the foot:

xb,TO = xf + cos(αTO)L0 (2.14)

yb,TO = yf + sin(αTO)L0 (2.15)

The angular and radial velocities (α, Lb) are transformed back to get the Carte-sian velocity of the body:

xb,TO = cos(αTO) ˙Lb,TO − sin(αTO)αTOL0 (2.16)

yb,TO = sin(αTO) ˙Lb,TO + cos(αTO)αTOL0 (2.17)

2.2.6 Failure Conditions

Certain conditions can occur, which will result in a unsuccessful step.

Bottoming out of the springAs soon as the spring length Lk would be smaller than zero, the step isassumed to fail. This limits the maximum hopping height, since a largerhopping heights results in a bigger spring compression.

Negative vertical take-off speedIf the speed of the body is negative at take-off, the step obviously hasfailed due to the impossibility to reach the next apex state.

Apex height too smallIf the apex at the start of the simulation is not higher than the leg, themodel is not able to move the leg forward to its desired touch-down angle.In this case, the step is also considered to be unsuccessful.

22

Page 23: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

2.3 Actuated Lossy SLIP Model (ALSLIP) 23

2.3 Actuated Lossy SLIP Model (ALSLIP)

The designed hopping robot will not be conservative. It has the ability toadd or remove energy with an actuator located in series to the spring. TheALSLIP model is based on the SLIP model with small modifications. Itaccounts for the losses which will occur for the real hopper by adding anunsprung leg mass. Due to this unsprung mass the ALSLIP model loses a partof its hopping energy at each touch-down.

To reduce the complexity of the model, the series actuator dynamics are notconsidered. The actuator is represented by the length La, which can be changedinstantaneously. The actuator dynamics are considered by adding constrainsto the actuator motions (See chapter 3).

2.3.1 Model parameters

Table 2.2 lists the ALSLIP parameters and figure 2.5 illustrates some of theseparameters.

mb

L0

Lk0,k

ml

Ll

Lf

Figure 2.5: Illustration of the ALSLIP parameters

2.3.2 Stance Dynamics

During the stance phase, the same generalized coordinates are chosen as for theSLIP model (see 2.2.3). Due to the presence of the leg mass and the actuatorlength La the stance phase dynamics change to:

Lb = − km

(Lb − La(t)− Lf − Lk0)− g sin(α) + Lbα2 (2.18)

α =−g cos(α)(Lbmb + Llml)− 2LbLbmbα

L2bmb + L2

lml

(2.19)

23

Page 24: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

24 CHAPTER 2. MODELS

Parameter Description Value Unitmb Mass of the body 7 [kg]ml Mass of the leg. The leg mass is unsprung

and therefore responsible for the losses of therobot

0.7 [kg]

L0 Length of the leg during flight 0.5 mLf Length of fixed part of the leg 0.3 [m]Ll Distance between the foot and the leg mass 0.2 [m]Lk0 Length of the uncompressed spring 0.2245 [m]k Spring constant 2800 [N/m]g Earth gravity 9.81 [m/s2]

Table 2.2: Parameters for ALSLIP model

The derivation of these equations is done in Appendix A. Like for the SLIPstance phase equations of motion, the closed form solution for this system ofdifferential equations can not be found in general, due to the presence of non-integrable terms. Therefore numerical integration is used to solve the stancedynamics.

2.3.3 Flight Dynamics

During flight, the center of mass of the model follows a ballistic trajectory.Due to the presence of the leg mass, the position of the center of mass is notthe same as the position of the body mass any more. It is still assumed thatit is possible to set the leg angle directly. Derived in the same way as for theSLIP model (see section 2.2.2) the trajectory of the center of mass is:

xc(t) = xc0 + dxc0(t− t0) (2.20)

yc(t) = yc0 + dyc0(t− t0)−1

2g(t− t0)2 (2.21)

where (xc0, yc0) is the initial position of the center of mass and (dxc0, dyc0) theinitial velocity at time t0.

For the Cartesian position of the foot the following formula can be used:

xf (t) = xc(t)− cos(α(t))Lc (2.22)

yf (t) = yc(t)− sin(α(t))Lc (2.23)

where Lc is the distance between the foot and the center of mass:

24

Page 25: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

2.3 Actuated Lossy SLIP Model (ALSLIP) 25

Lc =L0mb + Llml

mb +ml

(2.24)

2.3.4 Touch-Down

At touch-down, it is assumed that the speed of the leg angle is equal to zeroand the leg angle is at its desired touch-down value. Due to this assumption,the velocity of the center of mass, the foot and the body are the same justbefore touch-down occurs.At touch-down, the coordinates have to be transformed from flight coordinatesto stance phase coordinates. For the radial velocity of the body Lb, the equationstays the same as for the SLIP model:

Lb = cos(αTD)xc + sin(αTD)yc (2.25)

Important to note is, that an impact occurs in radial direction. The speed ofthe body mass does not change in radial direction, but the speed of the centerof mass will change instantaneously, since the radial speed of the leg mass willbe equal to zero after the touch-down event.

To calculate the angular velocity, the angular momentum of the systems withrespect to the foot position is calculated:

L = (L0mb + Llml)(− sin(αTD)xb + cos(αTD)yb) (2.26)

Using the conservation of angular momentum, the angular velocity after touch-down is:

α =L

L20mb + L2

lml

(2.27)

2.3.5 Take-Off

Like for the SLIP model, take-off occurs if the leg length reaches L0 again. Atthis point, the radial velocity of the center of mass is:

Lc =mb

mb +ml

Lb (2.28)

The radial position of the center of mass Lc at take-off is the same as thedistance between the foot and the center of mass during flight(see (2.24)).Using this, one can calculate the Cartesian velocity of the center of mass:

25

Page 26: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

26 CHAPTER 2. MODELS

xc = cos(α)Lc − sin(α)αLc (2.29)

yc = sin(α)Lc + cos(α)αLc (2.30)

where α and α are the values of the stance phase coordinates at take-off.Important to note is that the velocity of the foot and the body would not bethe same as the velocity of the center of mass. The system would have a certainangular velocity. But since the leg angle can be set directly during the flightphase, the energy stored in this rotation is assumed to be lost.

2.3.6 Failure Conditions

The failure conditions for the ALSLIP are exactly the same as for the SLIPmodel (see 2.2.6).

26

Page 27: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

Chapter 3

Actuator Motions

With help of the actuator, one can add or remove energy from the ALSLIPmodel. Depending on how the actuator motion is chosen, it is possiblenot only to influence the amount of energy which is added to the nextapex state, but also influence the distribution of the energy. The goal ofthis chapter is to find an actuator motion parametrization that allows foreffective manipulation of the apex return map based on the chosen parameters.

Since the ALSLIP model allows the actuator length to change instantaneously,some limitations for the actuator motions are introduced in section 3.1. Tobe able to analyse the influence of the actuator motion, an experiment is per-formed with each actuator motion, which is described in section 3.2. Initialtests have shown, that for a given initial apex state and a fixed touch-downangle, the reachable apex states tend to lie on a surface. Section 3.3 of thischapter is focused on this observation. Based on this observation, two differenttypes of actuator motion are introduced. The single step motion is describedand analysed in section 3.4 and the double step motion in section 3.5. Tosee the influence of different hopping heights, speeds and touch-down angles,another set of experiments is performed in section 3.7.

3.1 Actuator Motion Limits

On the real hopper, the series actuator will try to follow a parametrizedmotion. Due to the ability of the ALSLIP model to change the actuator lengthinstantaneously, limitations for the actuator motion are introduced in thissection, to assure that a real actuator would be able to produce the trajectory.Table 3.1 summarizes the determined actuator motion limitations.

The actuator in the real hopper is a combination of an electrical motor anda ball screw which transforms the motor rotation into the actuator lengthtranslation. The motor used is a Maxon EC-4pole 30 [8] and the ball screwused has a pitch of 0.005[m] per revolution. The nominal speed of the motoris 15800[rpm]. Transformed into a translational velocity by the ball screw,

27

Page 28: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

28 CHAPTER 3. ACTUATOR MOTIONS

Parameter Description Value UnitLa,max Maximum actuator length 0.07 [m]dLa,max Maximum actuator speed 1 [m/s]ddLa,max Maximum actuator acceleration 30 [m/s2]

Table 3.1: Actuator Motion Limits

the corresponding actuator speed is 1.3[m/s]. Based on this, the maximumactuator speed is set to 1[m/s].

Another limitation introduced is the maximum actuator length. This limi-tation should avoid the bottoming-out the spring. The maximum actuatorlength is calculated based on the spring compression for hopping withoutactuator movement. For the ALSLIP model and vertical hopping at a heightof 0.8[m], the minimum length of the spring during the stance phase is0.0733[m]. Due to this, the maximum actuator length is limited to 0.07[m].

The last limitation is the maximum acceleration of the actuator motion. Asfor the maximum actuator length, an approximation of the maximum possibleacceleration is done using the case of vertical hopping at a height of 0.8[m].Using equation (B.29) for the actuator length acceleration of the hopper model(see appendix B) with the simplification mn = 0, one gets:

La =k(Lk − Lk0) + JaNaIa

JaN2a

(3.1)

The smallest acceleration can be expected when the spring force is the biggest,which is the case at minimum spring length. The maximum current is approxi-mately Ia = 20[A] which leads to a worst case acceleration of 33.16[m/s2]. Dueto this, the acceleration limit is set to 30[m/s2].

3.2 Experiment

For this experiment, the initial apex state and the touch-down angle arefixed. The apex return map is simulated several times with different actuatormotions (see illustration in figure 3.1). This allows for analysis of how theseries actuator can influence the apex return map.

The chosen initial apex speed is 1.4[m/s] and the initial apex height is 0.7[m].This corresponds to a compensated height of 0.8[m]. The touch-down angle ischosen so that the successive apex speed is the same as the initial apex speedif the actuator does not move at all.

28

Page 29: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

3.3 Initial Tests 29

0 0.2 0.4 0.6 0.8 10

0.2

0.4

0.6

0.8

x [m]

y [m

]

TrajectoriesPassive trajectoryHopper at TD

Figure 3.1: Illustration of actuator motion experiment: Step is simulated withsame initial apex state and same touch-down angle but differentactuator motions during stance phase

3.3 Initial Tests

t

La(t)

tTD

La,max

Figure 3.2: Two examples of piecewise linear actuator motions

The actuator motion used for the initial tests is a continuous piecewise linearmotion. The only actuator limit, which is accounted for by this motion, isthe limited actuator length. The actuator moves linearly between time t[i] andt[i+1] from the value La[i] to La[i+1]. Since the stance time Ts is approximatelyπ/ω, where ω is the natural frequency of the spring mass system, the discretetime values are equally spaced with t[0] = 0 and t[n− 1] = Ts,:

t[i] =i

n− 1Ts,∀i ∈ 0, 1, ..., n− 1 (3.2)

29

Page 30: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

30 CHAPTER 3. ACTUATOR MOTIONS

The lengths La[i] can take discrete values defined by:

La[i] =j

m− 1∗ La,max,m ∈ 0, 1, ...,m− 1 (3.3)

Two examples of the piecewise linear actuator motion are illustrated in figure3.2. With this parametrization mn different motions can be constructed.

The reachable apex states are plotted in figure 3.3. The point cloud is con-structed by simulating the apex return map for all possible combinations ofthe piecewise actuator motion with m = 8 and n = 5. It can be seen in figure3.4 that the reached states seem to lie on a surface.In fact the surface has a certain thickness. To show that, the residuum inx direction between the point cloud of piecewise linear actuator motion anda interpolated surface constructed using the unit double step motion (see3.5.1) is plotted in figure 3.5. The double step motion was chosen because itspans the biggest reachable area of all tested actuator motions. The maximumabsolute value of the residuum in x direction is just in the range under onemillimeter. The simulation was also repeated for other initial conditions andtouch-down angles. It turns out that for all tested conditions the residuum inx direction is in the millimeter range.

The results indicate that regardless of the shape of the actuator motion, thereachable apex states stay close to a surface. In general, one can not leavethe surface by a considerable amount. Based on this observation, the chosenactuator motion parametrizations consist of two changeable parameters, whichis enough to span a surface.

11.2

1.41.6

0.6

0.8

0.6

0.8

1

dxApex

[m/s]yApex

[m]

x Ape

x [m]

x Ape

x [m]

0.6

0.65

0.7

0.75

0.8

0.85

0.9

Figure 3.3: Point cloud of reachable apex states for experiment with piecewiselinear actuator motion

30

Page 31: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

3.3 Initial Tests 31

1

1.50.5 0.6 0.7 0.8 0.9

0.5

0.6

0.7

0.8

0.9

yApex

[m]dxApex

[m/s]

x Ape

x [m]

x Ape

x [m]

0.6

0.65

0.7

0.75

0.8

0.85

0.9

Figure 3.4: Side view of point cloud of reachable apex states for experimentwith piecewise linear actuator motion

11.2

1.41.6

0.6

0.8

−0.4

−0.2

0

0.2

dxApex

[m/s]yApex

[m]

Res

iduu

m x

Ape

x [mm

]

Res

iduu

m x

Ape

x [mm

]

−0.3

−0.2

−0.1

0

0.1

0.2

Figure 3.5: Residuum in x direction between point cloud and reference surface

31

Page 32: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

32 CHAPTER 3. ACTUATOR MOTIONS

3.4 Single Step Motions

The single step motions change the length of the actuator at a certain timeafter touch-down occurs. The parameters used to describe these motions arethe amplitude A and the time delay t0. As the duration of the stance phase islimited, it does not make sense to have a bigger time delay than the time ofthe stance phase.

To allow the actuator to add and remove energy from the system, the initiallength of the actuator is fixed at La,0 = 0.0165[m]. This value was determinedto allow the series actuator to add approximately the same amount of energyas it can remove. To see how the limit of acceleration and velocity influencethe reachable apex states, three different types of single step motions are in-troduced.

3.4.1 Unit Single Step

t

La(t)

tTD tTD+t0

La,max

A

La,0

Figure 3.6: Illustration of the unit single step actuator motion

The unit single step motion (illustrated in figure 3.6) starts with a length ofLa,0 and performs a instant step of the actuator length with amplitude A attime t0 after the touch-down event. Since the actuator length is limited, theamplitude A is limited by

La,min − La,0 ≤ A ≤ La,max − La,0 (3.4)

3.4.2 Linear Single Step

The linear single step motion takes the limited actuator speed into account. Asshown in figure 3.7, the length of the actuator displacements remains at La,0until time t0 + tTD where tTD is the time when touch-down occurred. Thenthe length starts to increase or decrease with a slope of dLmax. The actuatormotion stops when either amplitude A is reached or the stance phase is over.

32

Page 33: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

3.4 Single Step Motions 33

t

La(t)

tTD tTD+t0

La,max

A

La,0

t

dLa(t)

tTD tTD+t0

dLa,max

Figure 3.7: Illustration of the linear single step actuator motion including speedprofile

The allowed values of A are the same as for the unit single step motion (see(3.4)).

3.4.3 Accelerated Single Step

t

La(t)

tTD tTD+t0

La,max

A

La,0

t

dLa(t)

tTD tTD+t0

dLa,max

t

ddLa(t)

tTD

tTD+t0

ddLa,max

-ddLa,max

Figure 3.8: Illustration of the accelerated single step actuator motion, includingspeed and acceleration profile

For the accelerated single step motion, the limited actuator acceleration istaken into account. Figure 3.8 shows that at time t0 the actuator starts toaccelerate with plus or minus ddLa,max depending on the sign of the step sizeA. If the motion reaches the maximum speed dLa,max, the speed stays constant.The actuator decelerates automatically so that the motion reaches the desiredamplitude with a velocity of zero.

33

Page 34: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

34 CHAPTER 3. ACTUATOR MOTIONS

3.4.4 Reachable Apex Region Shape

The reachable apex region for the unit single step motion is shown in figure3.10, the region for the linear single step in figure 3.11 and for the acceleratedsingle step in figure 3.12.All the regions have a bow tie shape. The center point of the bow tie shape isthe apex state which is reached, if the step amplitude is zero and the actuatordoes not move at all. The same thing happens, if the time delay is biggerthan the stance time and due to that, the actuator does not move during thestance phase.

For all regions, the part above the shape center is the region wherethe amplitude is positive and the time delay is smaller than the stancetime. In this case, the actuator adds energy during the stance phase. Onthe other hand energy is removed during the stance phase for everythingwhich is below the center point. For these states the step amplitude is negative.

A special case is the unit step when the time delay is equal to zero. Theactuator then changes its length instantaneously at the beginning of thestance phase. No energy is added but the precompression of the spring ischanged. This changes the passive stance dynamics and drives the ALSLIPmodel to a different apex state.

An interesting observation can be done for the linear and accelerated single stepmotion. As the time delay gets bigger some parameter combinations lead to thesame apex state. The reason for this is that if the step can not be completedbefore the end of the stance phase, motions with the same time delay butdifferent step amplitudes produce the same actuator trajectory during stancephase (see figure 3.9).

t

La(t)

tTD

La,0

tTO

Figure 3.9: Illustration of same the stance motion for a linear step with dif-ferent parameters. The red and blue motions have different am-plitudes but produce the same stance actuator motion since thestance phase is over before the step is finished

34

Page 35: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

3.4 Single Step Motions 35

1.1 1.2 1.3 1.4 1.50.55

0.6

0.65

0.7

0.75

0.8

0.85

Apex speed [m/s]

Ape

x he

ight

[m]

Fixed AFixed t

0

t0=0

Figure 3.10: Reachable apex states with unit single step actuator motion

1.2 1.25 1.3 1.35 1.4 1.45 1.5 1.550.55

0.6

0.65

0.7

0.75

0.8

0.85

Apex speed [m/s]

Ape

x he

ight

[m]

Fixed AFixed t

0

t0=0

Figure 3.11: Reachable apex states with linear single step actuator motion

35

Page 36: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

36 CHAPTER 3. ACTUATOR MOTIONS

1.3 1.35 1.4 1.45 1.50.55

0.6

0.65

0.7

0.75

0.8

0.85

Apex speed [m/s]

Ape

x he

ight

[m]

Fixed AFixed t

0

t0=0

Figure 3.12: Reachable apex states with accelerated single step actuator mo-tion

36

Page 37: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

3.5 Double Step Motion 37

3.5 Double Step Motion

To increase the size of the reachable apex region, two steps are performedduring the stance phase. The first one starts at the time of the touch-downevent, and the second one with a time delay of t0. The first step is mainlyresponsible for changing the pre-compression of the spring. The second stepthen is used to add or remove energy from the system.

Just like in single step motions, three different double step motions are in-troduced to see how the actuator limits influence the size and shape of thereachable apex region. For all double step parametrizations except for the unitdouble step, the initial actuator length is fixed to a value of La,0 = 0.0165[m].

3.5.1 Unit Double Step

t

La(t)

tTD tTD+t0

La,max

ALa,max/2

Figure 3.13: Illustration of the unit double step actuator motion

Figure 3.13 shows that for the unit step, the actuator length is changed imme-diately. The first step corresponds to changing the initial actuator length. Theinitial actuator length is changed depending on the amplitude A and is chosenso that the motion step is symmetric around the half of the maximum lengthLa,max. That means the initial length is defined as:

La,0 =La,max

2− A

2(3.5)

The amplitude A is limited by the maximum allowed actuator length:

−La,max ≤ A ≤ La,max (3.6)

3.5.2 Linear Double Step

Instead of setting the desired height of the step, the linear double step motionis defined by the actuator speed v. As shown in figure 3.14, the length of the

37

Page 38: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

38 CHAPTER 3. ACTUATOR MOTIONS

t

La(t)

tTD tTD+t0

La,max

t

dLa(t)

tTD tTD+t0

dLa,max

-dLa,maxLa,0

v

-v

Figure 3.14: Illustration of the linear double step actuator motion, includingvelocity profile

actuator changes with the speed of −v from time 0 to time t0. After t0 thespeed is set to +v. The motion stops as soon as it reaches the actuator lengthboundaries.The values of v are limited by the maximum allowed actuator velocities:

−dLa,max ≤ v ≤ dLa,max (3.7)

3.5.3 Accelerated Double Step

t

La(t)

tTD tTD+t0

La,0

t

dLa(t)

tTD tTD+t0

t

ddLa(t)

tTD tTD+t0

-v

v

ddLa,max

-ddLa,max

Figure 3.15: Illustration of the accelerated double step actuator motion, in-cluding acceleration and velocity profile

For the accelerated double step motion (see figure 3.15), the motion parametersare the same as for the linear double step motion. Just after touch-down, the

38

Page 39: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

3.5 Double Step Motion 39

actuator will be accelerated as fast as possible until it reaches the demandedvelocity −v. The actuator decelerates so that at time tTD + t0 the actuatorvelocity is equal to zero. Then the actuator accelerates in the other directionuntil it reaches the demanded velocity +v. If necessary, the actuator deceleratesin order to not violate the length constraints.

3.5.4 Reachable Apex States

Figure 3.16 shows the result of the experiment for the unit double stepmotion, figure 3.17 for the linear double step motion and figure 3.17 for theaccelerated double step motion.

For all figures the region above the blue thick line corresponds to the casewith amplitudes and time delays bigger than zero and beneath to negativeamplitudes and positive time delays. The center of the shape corresponds tothe case where the amplitude is zero and the actuator does not move at all.The center of the unit step motion is at a different place than for the othertwo because the initial length of the actuator for this case is 0.5La,max and forthe other two cases La,0.

The size of the shape shrinks if the actuator motion constraints are added.If the time delay gets bigger than the stance time, the successive apex statelands on the same point as for the motion with a time delay of zero, the sameamplitude and the opposite sign.

1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.80.5

0.6

0.7

0.8

0.9

Apex speed [m/s]

Ape

x he

ight

[m]

Fixed AFixed t

0

t0=0

Figure 3.16: Reachable apex states with unit double step actuator motion

39

Page 40: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

40 CHAPTER 3. ACTUATOR MOTIONS

1.2 1.3 1.4 1.5 1.6 1.70.55

0.6

0.65

0.7

0.75

0.8

0.85

Apex speed [m/s]

Ape

x he

ight

[m]

Fixed vFixed t

0

t0=0

Figure 3.17: Reachable apex states with linear double step actuator motion

1.3 1.4 1.5 1.6 1.70.55

0.6

0.65

0.7

0.75

0.8

0.85

Apex speed [m/s]

Ape

x he

ight

[m]

Fixed vFixed t

0

t0=0

Figure 3.18: Reachable apex states with accelerated double step actuator mo-tion

40

Page 41: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

3.6 Comparison 41

3.6 Comparison

If one compares the reachable apex region for the different actuator motions(see figures 3.19 and 3.20) one can make the following observations:

The addition of the actuator constraints shrinks the size of the regions.

By taking the double step motion one can go into all directions aroundthe apex state defined by the passive dynamics. For the single step, thereis a singularity at this point due to the bow tie shape of the reachableregion.

In general the expansion of the double step is slightly bigger. Due tothe change in the precompression more energy can be added or removedduring the stance phase.

If one just wants to control the amount of energy which is added duringthe stance phase, the single step is sufficient for the reason that it iseasier to implement and easier to follow by a real actuator.

The double step motion is used in chapter 4 because the proposed controllerneeds the ability to influence the jumping height and velocity of the next apexstate during the stance phase. For the foothold control algorithm of chapter5, the single step parametrization is used. In this case the distribution of theenergy is controlled by a proper selection of the touch-down angle. Due to thatit is sufficient to have a simple way to add or remove energy.

41

Page 42: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

42 CHAPTER 3. ACTUATOR MOTIONS

1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.80.5

0.6

0.7

0.8

0.9

Apex speed [m/s]

Ape

x he

ight

[m]

USSLSSASS

Figure 3.19: Reachable apex region with unit single step motion (USS), linearsingle step motion (LSS) and accelerated single step motion (ASS)

1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.80.5

0.6

0.7

0.8

0.9

Apex speed [m/s]

Ape

x he

ight

[m]

UDSLDSADS

Figure 3.20: Reachable apex region with unit double step motion (UDS), lineardouble step motion (LDS) and accelerated double step motion(ADS)

42

Page 43: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

3.7 Influence Of Height, Speed And Touch-Down Angle 43

3.7 Influence Of Height, Speed And Touch-DownAngle

The previous sections have shown the reachable apex state for one particularexperiment. This section should give some general statements about theinfluence of the initial hopping height, the initial hopping speed and thechosen touch-down angle on the shape and the size of the reachable apexspace. For all experiments performed in this section the accelerated doublestep motion is used.

The first experiment simulates hopping with different initial speeds and initialheights. For each set of initial speed and height the touch-down angle is chosenso that the speed of the next apex state is equal to the initial speed.

Figure 3.21: Reachable apex regions with accelerated double step motion withdifferent initial heights and speeds

Figure 3.21 shows the results for this ”symmetric” running case. One can maketwo observations:

The higher the initial apex height, the bigger is the influence of theactuator motion on the next apex height. The reason for this is that dueto the larger spring compression the series actuator can add or remove abigger amount of energy.

The slower the hopper speed, the smaller is the influence of the seriesactuator on the speed of the next apex state. For zero apex speed whichis the case for vertical hopping, the series actuator can not influence thespeed at all.

To determine the influence of the touch-down angle, two similar experimentsare performed. Both experiments start with an initial hopping height of

43

Page 44: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

44 CHAPTER 3. ACTUATOR MOTIONS

0.7[m]. For one experiment the initial speed is 0[m/s] and for the other one1.5[m/s]. The touch-down angle is chosen so that the passive dynamics leadto a successive apex velocity of either 0.0[m/s], 0.5[m/s], 1.0[m/s], 1.5[m/s]or 2.0[m/s].

−0.5 0 0.5 1 1.5 2 2.5 3 3.5 40.4

0.5

0.6

0.7

0.8

0.9

Apex speed [m/s]

Ape

x he

ight

[m]

α

TD=90.0

αTD

=86.3

αTD

=82.5

αTD

=78.3

αTD

=73.4

Figure 3.22: Reachable apex regions with accelerated double step motion withdifferent touch-down angles, initial apex speed = 0[m/s], initialapex height = 0.7[m]

Figure 3.22 shows the reachable apex states for zero initial velocity and figure3.23 shows the reachable apex states for an initial apex speed of 1.5[m/s]. Inboth cases one can see, that for the case where the passive dynamics wouldend with a high velocity, the actuator motion has a bigger influence on thesubsequent apex velocity. The figures also show that the general shape of thereachable apex states stays the same. What changes is the inclenation and thestretching in either height or speed.

44

Page 45: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

3.7 Influence Of Height, Speed And Touch-Down Angle 45

−0.5 0 0.5 1 1.5 2 2.5 3 3.5 40.5

0.6

0.7

0.8

0.9

1

Apex speed [m/s]

Ape

x he

ight

[m]

α

TD=109.8°

αTD

=107.0°

αTD

=103.8°

αTD

=100.2°

αTD

=95.7°

Figure 3.23: Reachable apex regions with accelerated double step motion withdifferent touch-down angles, initial apex speed = 1.5[m/s], initialapex height = 0.7[m]

45

Page 46: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:
Page 47: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

Chapter 4

Dead Beat Control

Based on the results of chapter 3, a controller is developed, which usesthe series actuator not just to stabilize the hopping height, but also tostabilize the hopping speed of the ALSLIP model. At the moment of touch-down, the actuator tries to influence the stance phase so that the ALSLIPmodel ends up at the desired apex speed and height or as close to it as possible.

The purpose of this chapter is to investigate the control possibilities by justusing the actuator. The touch-down angle is fixed and not used as controlinput.

4.1 Control Design

The goal of the proposed controller is to run at a constant speed and aconstant height with respect to the previous foothold height. The touch-downangle is fixed at a nominal value and all the control action is produced bythe series actuator. At the time at which touch-down occurs, the controllercalculates the actuator motion parameters so that the speed and the height atthe next apex state are as close as possible to the desired apex speed and height.

A function f is constructed to calculate the next apex height yapex[n+ 1] andspeed xapex[n+ 1], given the initial apex speed xapex[n] and the initial hoppingheight yapex[n], the touch-down angle αTD and the accelerated double stepmotion parameters v[n] and t0[n].

[yapex[n+ 1]xapex[n+ 1]

]= f(yapex[n], xapex[n], αTD[n], A[n], t0[n]) (4.1)

At each touch-down event the optimization problem (4.2) is solved to findthe actuator motion for the following stance phase. yapex,d is the desired apexheight relative to the current foothold, xapex,d the desired apex speed and ‖.‖22denotes the square of the vector 2-norm.

47

Page 48: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

48 CHAPTER 4. DEAD BEAT CONTROL

minimizeA[n],t0[n]

‖f(xTD[n], yTD[n], αTD[n], A[n], t0[n])−[yapex,dxapex,d

]‖22 (4.2)

This minimization problem is solved using the Matlab function ’lsqnonlin’. Theproblem is that the minimization problem (4.2) has several local minimas. Thesolver will find the local minimum which is the closest to the initial condition.To raise the probability that the found local minimum is the global minimum,the minimization problem is solved using different initial conditions. The re-sults are compared and the solution is chosen, which will drive the systemcloser to the desired apex state.

4.2 Region Of Attraction

The first approach to test the controller performance is to find out for whichinitial condition the controller is able to stabilize the system. Additionally,the number of steps needed to reach the desired apex speed and height ismeasured. For this experiment the ground is assumed to be flat. The desiredspeed and height (see table 4.1) are chosen such that the hopping energycorresponds to a compensate height of 0.8[m]. If starting at the desired apexvalues, the chosen touch-down angle drives the system to the desired apexvelocity again.

Parameter Description Value Unityapex,d Desired apex height relative to the last

foothold height.0.7 [m]

xapex,d Desired apex speed 1.4 [m/s]αTD touch-down angle 99.6 [deg]

Table 4.1: Parameters for blind running controller

The simulation starts with different initial apex states and counts howmany steps are needed to reach the desired apex state. The calculationstops, if the desired value is reached, the system was not able to performa successful step or five steps were made without converting to the desiredapex speed and height. The results of these simulations are shown in figure 4.1.

One can see that the controller is able to drive the system to the desiredapex state for initial states lying in a region around the desired values. Thecontroller is able to handle variations in height better than variations in speed.If the hopping height is too high, the model can not make a successful stepdue to the bottoming out of the spring.

48

Page 49: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

4.3 Application 49

1.2 1.3 1.4 1.5 1.6

0.6

0.8

1

1.2

dxApex

yApe

x

1 Step2 Steps3 Steps4 Steps5 StepsUnstableNot converged

Figure 4.1: Region of attraction for Dead Beat Controllerdesired apex speed = 1.4[m/s], desired apex height = 0.7[m].

4.3 Application

The controller can be used to maintain a desired hopping height and speedeven if the terrain is unknown. Assuming the touch-down velocities of thehopper are known, it is possible to calculate the relative previous apex heightand the apex speed of the hopper. In this case the controller is able to selectthe actuator motion, which will lead to the desired apex state, and react onchanges of the terrain height.

For implementation of the controller in a real time application anotherproblem occurs: the time needed to solve the optimization problem. Toaddress that, a lookup table is used to solve the optimization problem off-line.At the time of touch-down, it is possible to determine the optimal actuatormotion parameters almost instantaneously.

The terrain is constructed out of piecewise linear parts. Each part has a lengthin x direction of 1[m]. The slope of the parts is based on sampling a uniformlydistributed random variable between −10% and +10%. The ALSLIP modelstarts with a apex height of 0.7[m] and apex speed of 1.4[m/s]. At eachtouch-down the precalculated actuator motion parameters are looked up andthen applied to the model.

The distributions of the apex speed and relative apex height using the lookuptable controller for a simulation performing 10,000 steps are shown in figure4.2. The controller is able to maintain the desired velocity and the desiredrelative hopping height and react to unknown changes in terrain height. Due

49

Page 50: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

50 CHAPTER 4. DEAD BEAT CONTROL

0.695 0.7 0.7050

200

400

600

800

Relative Apex Height [m]

[Cou

nts]

1.39 1.4 1.410

200

400

600

800

Apex Speed [m/s][C

ount

s]

Figure 4.2: Distributions of apex speed and height for dead beat controller,number of steps = 10000, desired apex height = 0.7[m] and desiredapex speed = 1.4]m/s]

to the use of the lookup table the desired speed and relative height are notreached perfectly. They are spread around the desired values.

50

Page 51: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

Chapter 5

Foothold Placement Control

To be able to run on terrain with gaps or terrain where it is not allowed tostep down at certain places, the hopper has to be able to hit desired footholds.This chapter deals with the problem of how to select the touch-down angles,such that the models are able to touch the ground near desired footholds andstill maintain a stable hopping gait.

For solving this problem a finite horizon nonlinear model predictive control(NLMPC) is used. A short introduction to finite horizon NLMPC is givenin section 5.1. Section 5.2 analyses the SLIP model to find out what stepsizes can be achieved. Section 5.3 describes the foothold placement controlalgorithm and includes some simulation results.

The same concept is repeated for the ALSLIP model. Section 5.4 containsthe ALSLIP model performance analysis and section 5.5 contains the footholdplacement control algorithm and simulation results. In addition, some exper-iments are performed to get an idea about the robustness of the ALSLIPfoothold placement controller.

5.1 Finite Horizon Nonlinear Model PredictiveControl

This section gives a short explanation on the working principle of FiniteHorizon Nonlinear Model Predictive Control. For a more detailed introductionthe reader is referred to [9].

Consider a discrete system described by:

x[k + 1] = f(x[k], u[k]) (5.1)

where x[k] ∈ Rn is the state at sampling instant k, x[k + 1] ∈ Rn is the stateat the next sampling instant, u[k] ∈ Rm is the system input and f(., .) is thestate transition function.

51

Page 52: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

52 CHAPTER 5. FOOTHOLD PLACEMENT CONTROL

Nonlinear MPC searches for a given initial state x[k], the input sequenceu[k], ..., u[k +N − 1] such that it minimizes

J(x[k + 1], ..., x[k +N ], u[k], u[k + 1], ..., u[k +N − 1]) (5.2)

subject to

x[j + 1]− f(x[j], u[j]) = 0, j ∈ [k + 1, ..., N − 1]

x[k + 1]− f(x[k], u[k]) = 0

u[k], u[k + 1], ..., u[k +N − 1] ∈ U

where x[j] is the predicted state based on the input sequenceu[k], ..., u[k + N − 1] and the state transition function f(., .). U is theset of feasible input sequences.

The function J is called the cost function. Solving the minimization problemyields an optimal input sequence from which the first input is applied to thesystem. At the next step, the optimization problem is solved again using thenew state of the system.

As the optimization problem can be non-convex, finding the global optimumis not guaranteed. For this thesis, an iterative Newton type solver is used,which can find for proper initial conditions a local minimum. Stability is notguaranteed by the foothold placement control algorithm, but simulations witha large amount of steps indicate that the developed algorithms are able tostabilize the models.

5.2 SLIP Step Size

To get an idea of what step sizes are possible with the SLIP model, hoppingat constant speed is analyzed. Figure 5.1 shows the step sizes for constantspeed hopping at different speeds for hopping with a compensated height of0.8[m]. The maximum step size is reached at a velocity of about 1.91[m/s]and has a value of 0.874m.

An interesting observation can be made in figure 5.1. The step size increaseswith the velocity until the maximum step size is reached. If the velocity isincreased even more, the step sizes are getting smaller again. The reason forthis is, that for a fixed energy the hopping height decreases when the speed isincreased. With decreasing hopping height, the flight time gets shorter. At thecertain point where the maximum step size is reached, the decreasing flighttime has a bigger influence on the step size than the increasing velocity. Dueto that, the step sizes are getting smaller again.

52

Page 53: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

5.3 SLIP foothold placement control 53

0 0.5 1 1.5 2 2.50

0.2

0.4

0.6

0.8

1

Apex Speed [m/s]

Ste

p S

ize

[m]

Figure 5.1: Running speed vs step size for running at constant speed with acompensated height of 0.8[m]

5.3 SLIP foothold placement control

5.3.1 State, Input And State Transition Matrix

Instead of discretizing the system with a constant sampling time, an eventbased discretization was chosen for the SLIP model. This means that t[k] isthe time of the k’th apex stateIn addition to the apex height yapex[k], the apex speed xapex[k] and the apexposition xapex[k], the touch-down position of the foot xf,TD[k] prior to the apexis included into the state x[k]:

x[k] =

yapex[k]xapex[k]xapex[k]xf,TD[k]

(5.3)

The input u[k] of the discrete system is the next touch-down angle. The statetransition function f is the apex return map. In figure 5.2 the different partsof the system state and the system input are illustrated.

5.3.2 Cost Function

Because the control objective is hitting desired footholds, an obvious cost func-tion is the sum of squared error between the desired footholds and the predictedfootholds:

J =i=k+N∑i=k+1

(r[i]− xf [i])2 (5.4)

53

Page 54: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

54 CHAPTER 5. FOOTHOLD PLACEMENT CONTROL

α[k+1] α[k+2] α[k+3]

yapex[k+1]

xapex[k+1]

dxapex[k+1]yapex[k+2]

xapex[k+2]

dxapex[k+2]

yapex[k+3]

xapex[k+3]

dxapex[k+3]

yapex[k]

xapex[k]

dxapex[k]

xf[k+1] xf[k+2] xf[k+3]

Figure 5.2: Illustration of discrete SLIP states and inputs

This cost function is not able to stabilize the system for small horizons. Thelast angle u[k+N −1] can be chosen in a way that the cost is minimal but theapex state k+N can be arbitrarily bad, for example by going into the wrongdirection. In figure 5.3 the touch-down angles are chosen such that the SLIPmodel hits the desired footholds perfectly, but the model would end up in anunfortunate apex state.

To prevent this effect, an additional cost for the last step can be introduced.The last and second to the last apex speed should be the same. This selectionleads to a symmetric last jump and assures that the apex state does not endup in an undesirable region. The resulting cost function can be written as:

J =i=k+N∑i=k+1

(r[i]− xf [i])2 + (ˆxapex[k +N ]− ˆxapex[k +N − 1])2 (5.5)

Simulations show, that this cost function is able to stabilize the SLIP modelin the simulated environment.

5.3.3 Input sequence constraints

The allowed input sequences are restricted to the set of sequences, which resultin successful jumps. Therefore, a crucial task is to find a feasible input sequenceto initialize the solver of the optimization problem.There are two possibilities to find a feasible input sequence for a given initialapex state:

Use of a simple control rule to find a sequence without considering the

54

Page 55: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

5.3 SLIP foothold placement control 55

yapex[k+1]

xapex[k+1]

dxapex[k+1]

yapex[k+2]

xapex[k+2]

dxapex[k+2]

xf[k+1] xf[k+2]

yapex[k]

xapex[k]

dxapex[k]

xf,d[k+1] xf,d[k+2]

Figure 5.3: Example for a solution of the optimization problem with no costfor the end state (horizon=2)

foothold placement. A possible control rule could be the approach pre-sented in [2].

Use of the predicted input sequence of the last optimization problem. Asuitable input sequence u[k], ..., u[k+N − 2] has already been calculatedby solving the optimization function at step k − 1. The last input ofthe sequence can be set equal to the second to the last one, due to thesymmetry enforcement of the cost function.

In this thesis, the second approach is used. To be able to find a feasible inputsequence for the first time, all simulations start with vertical hopping. In thiscase taking the 90 touch-down angle for every input leads to a feasible inputsequence.

5.3.4 Accuracy Experiment

The controller is implemented and simulated using MATLAB. The goal is todetermine how good the controller performs for different horizons and to finda reasonable horizon. The error between the desired footholds and the takenfoothold is calculated. Additionally, the computation time is measured and atrade-off between accuracy and computation time is done.

All experiments start with hopping at place with a height of 0.8[m]. As theresults from section 5.2 show that the maximum step size is 0.874m, the de-sired footholds are constructed using random step sizes uniformly distributed

55

Page 56: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

56 CHAPTER 5. FOOTHOLD PLACEMENT CONTROL

between 0.4[m] and 0.8[m]. This choice prevents foothold sequences which theSLIP model is not able to perform.To get statistically significant results, 10,000 steps are performed. Based onthe results of the simulation, three values are used to discuss the performanceof the controller.

The mean value of the error indicates whether the error has an offset ina particular direction

The standard distribution indicates how spread-out the error is.

The maximal absolute error gives a worst case error for the steps taken.

The foothold error statistics for different horizons are shown in table 5.1 andin figure 5.4. One can see that increasing the horizon shrinks the value ofthe standard deviation and the maximum absolute error by approximately anorder of magnitude. Regardless of the horizon, the mean value of the error isso small, that it can be neglected.

Horizon [steps] Mean FHE [m] Std FHE [m] Max |FHE| [m]2 4.7002e− 4 1.7820e− 2 4.6170e− 23 2.1781e− 4 1.7786e− 3 6.3747e− 34 3.1741e− 5 1.6945e− 4 8.0172e− 45 4.0594e− 6 2.0935e− 5 1.4800e− 4

Table 5.1: Foothold Error Statistics for SLIP accuracy simulation

Horizon [steps] 2 3 4 5Mean CPU time [s] 0.0791 0.1360 0.2227 0.3321Max CPU time [s] 0.1248 0.2340 0.3432 0.4992

Table 5.2: Computation runtime statistics for SLIP accuracy simulation

Additionally, the time to calculate the optimization function is measured.The calculations are done on a Microsoft Windows based computer(Intel Corei7-2600 Quadcore CPU, 3.4 Ghz) using Matlab version R2011a. The resultsare shown in table 5.2 and in figure 5.4. The given numbers in table 5.2 arehighly dependent on the performance of the used computer. Nevertheless,they can be used to compare the computation time relative to each otherand to make a decision whether the used computer would be fast enough forsolving the optimization problem during flight time.

56

Page 57: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

5.4 ALSLIP Step Size Analysis 57

2 3 4 50

10

20

30

40

50

FH

E [m

m]

Horizon [steps]

MaxStd

2 3 4 50

0.1

0.2

0.3

0.4

0.5

0.6

CP

U T

ime

[s]

Horizon [steps]

MaxMean

Figure 5.4: SLIP accuracy experiment results.Left side: Foothold error vs horizon lengthRight side: computation time vs horizon length

The time needed to solve the optimization problem can be approximated bya linear function depending on the length of the horizon. Based on this data,a horizon of 3 steps is chosen. The foot size of the actual prototype is in thecentimeter range. Therefore it is not necessary to have a better accuracy thana prediction horizon of 3 can deliver. As the flight time is in the range of 0.4[s],the optimization problem can be solved in approximately half of the flighttime, if a horizon of length 3 is selected. The hopper still has enough time tomove the leg to the desired touch-down angle.

5.4 ALSLIP Step Size Analysis

As the ALSLIP model is not conservative, the hopping energy has to becontrolled. To be able to control the hopping energy of the ALSLIP model,in addition to the selection of the touch-down angle, another control input isneeded. Because the distribution of the apex energy is controlled by selectingdifferent touch-down angles, a single input actuator motion is enough. Forthis reason, the time delay of the accelerated single step motion (see section3.4.3) is fixed to a constant value. A good value, found by tuning, is a timedelay of t0 = 0.03[s]. Simulations show that this selection results in an almostlinear function between the added energy and the actuator step amplitude.This leads to an apex return map for the ALSLIP model with two inputs: thetouch-down angle and the actuator step size.

To get an idea of possible step sizes of the ALSLIP model, constant speedhopping is analysed at a compensated height of 0.8[m] relative to the next

57

Page 58: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

58 CHAPTER 5. FOOTHOLD PLACEMENT CONTROL

0 0.5 1 1.5 2 2.50

0.2

0.4

0.6

0.8

1

Apex Speed [m/s]

Ste

p S

ize

[m]

Figure 5.5: ALSLIP step size vs apex speed for running at constant speed witha compensated height of 0.8[m] on even ground

foothold height. For a given initial apex speed and height, the touch-downangle and actuator step size are searched so that the successive apex ends upwith the same speed and height. Depending on the hopping speed, the steplength is calculated. For hopping on even ground, the relationship betweenstep size and apex speed is shown in figure 5.5. The maximum step size forconstant velocity hopping on flat ground is 0.884[m] at a speed of 1.93[m/s].

−0.1 −0.05 0 0.05 0.10.75

0.8

0.85

0.9

0.95

Step Height [m]

Max

Ste

p S

ize

[m]

Figure 5.6: ALSLIP max step size vs step height for running at constant speedwith a compensated height of 0.8[m]

The calculation of the maximum step size is repeated for different step heights.In this case it is assumed that between two steps the terrain height increases ordecreases by a constant height. The touch-down angle and actuator step sizeare chosen so that the ALSLIP model maintains the same apex velocity and thesame apex height with respect to the next foothold. The resulting dependencybetween step height and maximum step size is shown in figure 5.6. The middlepart of the dependency is almost linear, while the change of the step size isdue to the change of the flight time. At one point, it is necessary to reduce the

58

Page 59: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

5.5 ALSLIP Foothold Placement Control 59

speed of the hopper and increase the hopping height. The increased hoppingheight allows to add (or remove) more energy to the system (see discussion insection 3.7).

5.5 ALSLIP Foothold Placement Control

Based on the same concept as the SLIP foothold placement controller, afinite horizon NMPC controller for the ALSLIP model was developed andimplemented.

For running on flat ground, simulations are performed to find an appropriateprediction horizon and to investigate the accuracy of the algorithm. Someexperiments are done to see how the algorithm performs under the presence ofnoise and model mismatch. At the end of the section, a simulation with uneventerrain is used to show that the algorithm is able to deal with differences inheight.

5.5.1 ALSLIP foothold placement algorithm modifications

As the ALSLIP model allows differences in terrain height, the controller needsto be able to control the hopping energy. Due to this, this section containsthe modification necessary to use the same control principle as for the SLIPmodel (see section 5.3).

As the ALSLIP model is not conservative, the hopping energy has to be con-trolled. By taking the actuator step sizes as a second system input, the con-troller has the ability to modify the energy of the next apex state. Therefore,the system input u[k] is defined as:

u[k] =

[αTD[k]A[k]

](5.6)

where A[k] is the amplitude of the actuator motion during the stance phasebetween the apex k and apex k + 1.

The control objective for the ALSLIP foothold control algorithm is not onlyto hit a desired foothold, but also to achieve a desired hopping energy withrespect to the height of the next foothold. Considering this, the cost functionis changed to:

59

Page 60: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

60 CHAPTER 5. FOOTHOLD PLACEMENT CONTROL

J = (ˆxapex[k +N ]− ˆxapex[k +N − 1])2

+i=k+N∑i=k+1

(xf [i]− xf,des[i])2 + (zapex[i]− zapex,des)2 (5.7)

where zapex,des is the compensated height of the desired hopping energy andzapex[i] is the compensated apex height with respect to the next foothold heightwhich is defined by

zapex[i] = yapex[i] +xapex[i]

2

2g− yf,des[i+ 1], i ∈ [k + 1, ..., k +N − 1]

(5.8)

zapex[k +N ] = yapex[k +N ] +xapex[k +N ]2

2g− yf,des[k +N ] (5.9)

where yf,des[j] is the height of the terrain at the desired foothold positionxf,dex[j]. For the prediction, the algorithm assumes that wherever the foottouches the ground, the terrain will have a height of yf,des[j] for the footholdj.

Instead of controlling the compensated apex height, the control of the hoppingheight was considered. This would require to add or remove energy wheneverthe speed of the hopper changes. By controlling the compensated apex height,the amount of energy which has to be added at each step is approximately thesame even if the terrain height does just change slightly.

5.5.2 Experiments

Like for the SLIP foothold placement controller, the performance of the AL-SLIP control algorithm is tested with different simulations. For each experi-ment 10,000 steps are performed and the mean value, the standard deviationand the maximum absolute foothold error are calculated. In addition to thefoothold error, the error between the desired compensated height and the ac-tual compensated height is calculated and analysed.

Experiment: Flat Ground Accuracy

The first experiment done with the ALSLIP foothold placement controller isfollowing a sequence of desired footholds on even ground. The desired compen-sated height is chosen to be zapex,des = 0.8[m]. For this value and flat ground,a maximum step size of 0.884[m] can be performed by the ALSLIP model.

60

Page 61: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

5.5 ALSLIP Foothold Placement Control 61

To be sure to stay inside the possibilities of the model, a foothold sequence isgenerated based on uniformly distributed step sizes between 0.4[m] and 0.8[m].The statistics of the foothold error for different prediction horizons is given intable 5.3, the compensated height error statistics are given in table 5.4 andthe used CPU runtime for the optimization problem is given in table 5.5.Additionally, the foothold error and compensated height error are illustratedin figure 5.7.

2 3 4 50

10

20

30

40

50

FH

E [m

m]

Horizon[steps]2 3 4 5

0

2

4

6

8

10

CH

E [m

m]

Horizon[steps]

MaxStd

Figure 5.7: ALSLIP error statistics for flat ground accuracy experimentleft side: foothold error, right side: compensated height error

Horizon [steps] Mean FHE [m] Std FHE [m] Max |FHE| [m]2 4.2021e− 004 1.7248e− 002 4.9021e− 0023 2.1834e− 004 1.7044e− 003 6.5426e− 0034 2.3402e− 005 1.6948e− 004 9.5930e− 0045 2.2932e− 006 1.6814e− 005 1.2758e− 004

Table 5.3: Foothold Error Statistics for ALSLIP flat ground accuracy simula-tion

The foothold placement accuracy gets better by approximately an order ofmagnitude for each additional prediction step. The same effect can be seenfor the compensated height. The mean value of the error is small and hasa negligible value. The ALSLIP model has two inputs at each step and,therefore, the number of optimization variables is doubled compared to theSLIP Foothold Placement Control algorithm. Due to that, more time isneeded to solve the optimization problem.

61

Page 62: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

62 CHAPTER 5. FOOTHOLD PLACEMENT CONTROL

Horizon [steps] Mean CHE [m] Std CHE [m] Max |CHE| [m]2 6.1800e− 004 1.9329e− 003 7.9187e− 0033 −4.8484e− 005 1.8921e− 004 1.1171e− 0034 −3.6768e− 006 2.0052e− 005 2.1463e− 0045 −2.8160e− 007 2.1857e− 006 2.5548e− 005

Table 5.4: Compensated height error statistics for ALSLIP flat ground accu-racy simulation

Horizon [steps] 2 3 4 5Mean CPU time [s] 0.1380 0.2971 0.5093 0.7777Max CPU time [s] 0.1716 0.3744 0.6396 1.2792

Table 5.5: Computation runtime statistics for ALSLIP flat ground accuracysimulation

A horizon longer than 3 gives accuracy in the submillimeter range. Since forthe real hopping robot, the diameter of the foot is in the range of centimetres,a horizon longer than 3 is not necessary. For further experiments a horizonof length 2 is selected for two reasons. The used computer would be able tosolve the optimization problem in approximately half of the flight time and themaximum absolute error is smaller than 5[cm].

Experiment: Flat Ground Robustness - Model Mismatch

Three different experiments are performed to analyse the performance ofthe controller in presence of a model mismatch. To do that, a mismatchbetween the ALSLIP parameter set used by the optimization problem and theALSLIP parameter set used to simulate the system, is introduced. The chosenmismatches correspond to a +/− 10% and a +/− 5% mismatch compared tothe nominal value.

For the experiments, a disparity in the leg mass ml, a disparity in the bodymass mb and a disparity in the spring stiffness k are simulated. The resultsare shown in figure 5.8 and in tables C.1, C.2 and C.3. The difference inthe model leads to a wrong prediction of the stance phase. Due to that theapex states and footholds predictions are incorrect. The calculated optimalinputs are always too small or too big and due to that the error gets bigger ateach step until it reaches an equilibrium point. This leads to an offset of thefoothold error and the compensated height error.

Small mismatches in the leg mass do not have a big influence on the overall

62

Page 63: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

5.5 ALSLIP Foothold Placement Control 63

−100

−50

0

50

100

FH

E [m

m]

−10 −5 0 5 10

−100

−50

0

50

100

ml mismatch [%]

CH

E [m

m]

−10 −5 0 5 10m

b mismatch [%]

−10 −5 0 5 10k mismatch [%]

Figure 5.8: Illustration of foothold placement control performance under modelmismatch. Error bars for foothold and compensated height undermismatch of leg mass ml, body mass mb and spring stiffness k. Themiddle line corresponds to the mean error and the bar is locatedbetween the maximum and minimum error.

control performance. But mismatches in spring stiffness and body mass causea non-zero mean error of both the foothold placement and the compensatedheight. The figure also shows that the compensated height control is moresensitive to body mass mismatches than to spring stiffness mismatch.

Experiment: Flat Ground Robustness - Measurement noise

In a real application the measurement of the apex state will be influencedby noise. To investigate the influence of measurement noise on the controlperformance, the system is simulated with different noise levels on the apexposition, the apex speed or the apex height.

The noise source is a zero mean random variable uniformly distributed between+A and −A. Tables C.4, C.5 and C.6 shows the error statistics for differentnoise levels on the different measurement channels. The results are also illus-trated in figure 5.9. The mean value is not shown in the figure because it justchanges slightly under the influence of the noise as the used noise has zeromean.As expected, it shows that larger noise levels result in a larger range of thefoothold error and the compensated height error. The biggest influence can

63

Page 64: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

64 CHAPTER 5. FOOTHOLD PLACEMENT CONTROL

0

50

100

150F

HE

[mm

]

0 1 2 3 40

20

40

60

80

CH

E [m

m]

dxapex

−NL[cm]0 1 2 3 4

yapex

−NL[cm]0 1 2 3 4

xapex

−NL[cm]

MaxStd

Figure 5.9: ALSLIP measurement noise error statistics. The figure shows themaximum absolute error and the standard deviation of the error.CHE stands for compensated height error, FHE stands for footholderror.

be observed for noise in the apex height measurement. As the added energy ismainly dependent on the hopping height and the actuator step size, too muchor too little energy is added to the system at each step.

For noise in the apex speed measurement the influence on the compensatedheight error is smaller. But as before, the step sizes are estimated incorrectly,and due to that the foothold error increases.

If noise is added in the measurement of the apex position the foothold error alsoincreases as the initial position for the prediction is wrong. But in this case,the algorithm can predict the compensated height perfectly as the positionhas no influence on the dynamics of the hopper. The reason that the errorin compensated height increases in this case can be found in the choice ofthe cost function. The algorithm tries to minimize the cost function and withthat improving the foothold placement by allowing bigger compensated heighterrors.

Experiment: Flat Ground Robustness - Input Noise

The last robustness experiment deals with the presence of noise in the inputchannels. The mechanism, which will drive the leg to the desired touch-down

64

Page 65: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

5.5 ALSLIP Foothold Placement Control 65

0

50

100

150

FH

E [m

m]

0 0.25 0.5 0.75 10

10

20

30

40

50

CH

E [m

m]

α Noise Level [deg]0 2.5 5 7.5 10A Noise Level [mm]

MaxStd

Figure 5.10: ALSLIP error statistics for input noise experiments, FHE standsfor foothold error and CHE for compensated height error.

angle, is not perfect in a real world application. There will be a discrepancybetween the desired touch-down angle and the touch-down angle applied tothe system. The same thing holds for the actuator step input. To simulate theinaccuracy between the performed step and the desired step, input noise isadded to the actuator step size.

The input noise is modelled as a zero mean random variable uniformly dis-tributed between plus and minus a noise level. The output of the experimentis shown in tables C.7 and C.8 and in figure 5.10.

Like for the measurement noise experiments, bigger input noise amplitudeslead to bigger foothold errors. The compensated height error is naturally moredependant on noise on the actuator step size than on the touch-down angle.

Experiment: Uneven Ground Accuracy

For this experiment, perfect knowledge of the model and the state areassumed again. Instead of running on flat ground, the simulation is done witha terrain which varies in height. The difference between the height of twosteps is constructed using a zero mean random variable uniformly distributedbetween −0.1[m] and +0.1[m]. The step lengths in this case are drawn froma uniformly distributed random variable between 0.3[m] and 0.7[m]. Thechoice of the step heights and lengths is based on the observation in section 5.4.

65

Page 66: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

66 CHAPTER 5. FOOTHOLD PLACEMENT CONTROL

The optimization algorithm assumes, that it has perfect knowledge of theterrain height and that the terrain is flat around the desired foothold. Becausethis can not be expected on real terrain, the terrain heights used for solvingthe optimization problem are corrupted with noise. The noise is uniformlydistributed between plus and minus a defined noise level. On the one hand,this should simulate on the one side uncertainties in the measurement of theterrain height and on the other hand the uneven ground around the desiredfoothold.

0 1 2 3 4 50

20

40

60

80

100

120

140

FH

E [m

m]

Noise Level[cm]0 1 2 3 4 5

0

10

20

30

40

50

60

70C

HE

[mm

]

Noise Level[cm]

MaxStd

Figure 5.11: ALSLIP measurement noise error statistics. The figure shows themaximum absolute value of the of the error and the standarddeviation of the error. CHE stands for compensated height error,FHE stands for foothold error and NL stands for noise level.

The error statistics from the simulation with different noise levels are shownin table C.9 and in figure 5.11. The performance for the case of no noise is inthe same range as for the case of running on even ground.

5.5.3 Conclusion

The performed experiments show, that the ALSLIP foothold placement con-troller can be used to stabilize the ALSLIP model and it is also able to hitdesired footholds accurately. Obviously, the control performance starts to de-crease under the presence of uncertainties. Nevertheless, the experiments showthat the controller is able to handle a certain degree of model mismatch, mea-surement noise and input noise.

66

Page 67: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

Chapter 6

Hopper Model

As the prototype of the hopping robot was not available during the time thatthis thesis was written, the Foothold Placement Control algorithm is testedon a more sophisticated dynamical model of the hopping robot. This chapterdescribes this hopper model. It was developed as part of this thesis to notonly test the Foothold Placement Controller, but also to give the ability toother members of the group to test their algorithms before testing it on thereal hardware.

The first section of this chapter gives a general description of the model. Section6.2 describes the different control loops added to the model. Section 6.3 showshow the ALSLIP Foothold Placement Controller can be used to control thefoothold placement of the hopper model.

6.1 Description

Torso

Hip

Nut

Leg

Ball Screw /

Motor

Spring

Rotatory Motor

Figure 6.1: Illustration of different components of the hopper model

67

Page 68: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

68 CHAPTER 6. HOPPER MODEL

The hopper model (figure 6.1) is composed of four different components: thetorso, the hip, the nut (ball screw nut) and the leg. Between the torso andthe hip is a pivot joint driven by a rotatory motor, which can apply a torquebetween the torso and the hip. The hip and the nut are connected through aslider joint actuated by a motor ball screw system. The spring is modelled asa slider joint located between the nut and the leg.

The hopper has two inputs. One input is the motor current Ia of the seriesactuator and the other one the torque tp applied by the rotatory motorbetween the hip and the torso. The influence of the boom on the dynamics ofthe model is neglected. Nevertheless, the hopper model allows to fix the torsoangle like it will be possible for the prototype mounted on the boom.

A more detailed explanation and the derivation of the equations of motion canbe found in Appendix B. Using the equations of motion the hopper model issimulated with MATLAB’s ode45 solver.

6.2 Control loops

Hopper

Model

Actuator Length

Control

Leg Angle

Control

Ia,τp

Real Time Control (1khz)

Leg Angle,

Actuator Length,

Spring Compression

Foothold

Placement

ControlDesired

Footholds

Torso Angle

Control

Apex State,

Torso Angle

Leg Angle Desired,

Actuator Motion,

Stance torque

Event Control

Figure 6.2: Control Concept Overview for Hopper Model

The control concept (shown in figure 6.2) is based on cascade control. Thereis an inner control loop which runs constantly with a frequency of 1khz and itis responsible to determine the model inputs Ia and τp. The outer control loopis event driven. It runs at each hopper step and defines the input values forthe inner control loop. Both the inner and outer control loop, run two differentcontrollers. Each control block is described in the following subsections.

68

Page 69: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

6.2 Control loops 69

0 5 10 15 20−6

−4

−2

0

2T

orso

Ang

le [d

eg]

Time [s]

Figure 6.3: Hopper Torso Angle Control performance for typical hopping gait

6.2.1 Foothold Placement Control

The Foothold Placement Control block uses the ALSLIP Foothold PlacementControl algorithm described in chapter 5. The description of how the algorithmis applied to the hopper model follows in section 6.3.

As the hopper model is just able to detect take-off and touch-down, the footholdplacement algorithm is run at every take-off. The apex state which is neededfor the algorithm can be predicted using the take-off speed and position of thecenter of mass of the hopper. The algorithm calculates the desired touch-downangle which is used as an input for the Leg Angle Control block and the desiredactuator motion which are used as the input for the Actuator Length Controlblock.

6.2.2 Torso Angle Control

The boom will allow two possible ways to run the hopper. One way is to fixthe torso angle. In this case, the torso angle control is not active. In the othercase, where a pivot joint between boom and torso allows the torso to turn,the angle of the torso has to be controlled.

A simple way to control it is by applying a constant torque between torso andleg during the stance phase. The constant torque is calculated using a PD styleevent based controller, which determines at each touch-down the stance torqueaccording to:

69

Page 70: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

70 CHAPTER 6. HOPPER MODEL

τs = −kp,τβTD − kd,τ βTD (6.1)

Typical values are kp,τ = 10 and kd,τ = 10. The angle of the torso for a numberof typical steps is shown in figure 6.3. One can see that the controller is ableto stabilize the torso angle. Due to the lack of integral control, the torso anglehas an offset of around -5 degree.

6.2.3 Actuator Length Controller

Hopper

ModelPD Control

Ia,ff(Lk)

Lk

La,dLa

Ia

La,d,dLa,d+

+

Stance

Actuator

Motion

Motion

Parameter

t-tTD

Figure 6.4: Actuator Length Control

The diagram of the Actuator Length Controller is shown in figure 6.4.During the stance phase, the actuator length controller tries to track adesired actuator motion. During the flight phase, the controller drives thelength to a desired value La,0. To increase performance, the desired velocity istaken into account too. The input current is then calculated by a PD controller.

As the spring is constantly acting against the actuator, a feed-forward currentbased on the current spring compression is added. To calculate the value of thefeed-forward current, the actuator length dynamics are simplified by neglectingthe nut mass and considering just the forces imposed by the actuator and thespring. With this simplification, the actuator length dynamics during stancephase (see equation (B.29)) as well as during flight phase (see equation (B.53))can be simplified to:

La =k(Lk − Lk0) +NkaIa

JN2(6.2)

The feed forward current is defined so that the influence of the spring displace-ment is cancelled out:

70

Page 71: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

6.2 Control loops 71

Ia,ff = − k

Nka(Lk − Lk0) (6.3)

By tuning, the values of the PD controller are determined. Typical values areka,p = 3e3 and ka,d = 100.

Figure 6.5: Actuator Length Control loop performance: Control loop is sim-ulated for a typical jump cycle. The red area corresponds to thestance phase.

Figure 6.5 shows that the actuator is able to follow the desired trajectoryaccurately during stance phase. Also the time needed to set the actuator lengthback to its desired flight value is small enough so that the desired length canbe reached during flight time.

6.2.4 Leg Angle Controller

The leg angle controller is only active during the flight phase and is needed todrive the leg to the desired touch-down angle. Because the expected durationof the flight phase is in the range between 0.4[s] and 0.5[s], the requiredsettling time is defined to be 0.2[s] to ensure that the desired leg angle is

71

Page 72: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

72 CHAPTER 6. HOPPER MODEL

reached before touch down.

Hopper

ModelPD Control

α,dα

αTD,dStance

Switch

τp

τs

Figure 6.6: Leg Angle Control loop with switch for constant torque duringstance phase

To achieve this goal a PD controller is used like shown in figure 6.6. Duringthe flight phase, the switch is set to the PD controller which will drive the legangle to the desired value αTD,d. During stance phase, the switch is set to theconstant torque τs which is defined by the torso control algorithm (see section6.2.2).

Figure 6.7: Leg Angle Control performance: Control loop is simulated for twotypical jump cycles. The red area corresponds to the stance phase.

72

Page 73: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

6.3 Hopper Foothold Placement Control 73

Typical values for the PD controller are kp,p = 3e3 and kp,d = 100. As it canbe seen in figure 6.7, the controller is able to drive the leg to the desired anglein less than 0.2[s]. The figure also shows, that during the stance phase, thecontroller is not active and the leg angle changes due to the passive stancephase dynamics of the hopper.

6.3 Hopper Foothold Placement Control

The ALSLIP Foothold Placement Control algorithm is used to control thefoothold placement of the hopper. To be able to do this, the parameters of theALSLIP model have to be identified depending on the hopper model param-eters. Some simulations are performed to show that the algorithm is able tofollow a sequence of desired footholds while maintaining a stable hopping gait.

6.3.1 ALSLIP Parameter Identification

Most parameters of the hopper model can be directly transferred to theircounter piece of the ALSLIP model, for example the gravity g, the springstiffness k or the leg mass ml. But three parameters have to be calculated:

The ALSLIP body mass mb (see (6.4)) is the sum of the torso mass, thehip mass and the nut mass.

The ALSLIP leg length L0,AS is the distance between the foot and thecenter of mass of the body during flight. For calculating this distance theactuator length is assumed to be zero. In equation (6.5), for distinctnessthe ALSLIP leg length is written as L0,AS and the hopper leg length asL0,h.

The length of the fixed part of the leg Lf has to be chosen so that it fitswith the calculated length L0,AS (see (6.6)).

mb = mt +mh +mn (6.4)

L0,AS =L0,hmt + (L0,h − dh,t)mh + (L0,h − dh,t − da,h − dn,a)

mb

(6.5)

Lf = df,l + dl,k + dk,n + dn,a + da,h + dh,t − L0,h + L0,AS (6.6)

6.3.2 Results

Fixed Torso

For the first experiment the torso angle is fixed to zero degrees and the TorsoAngle Control is deactivated. This corresponds to the case where the torso isfixed at the boom and is not allowed to turn.

73

Page 74: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

74 CHAPTER 6. HOPPER MODEL

The foothold sequence and foothold heights are chosen like in section 5.5.2 anda prediction horizon of length 2 is selected. The resulting foothold errors for asimulation of 1000 steps have a mean value of about 3.7[mm] and a worst caseerror of 4.11[cm]. These results show, that the dynamics of the hopper modelwith a fixed torso can be accurately predicted with the ALSLIP model.

With Torso Control

Activation of the Torso Angle Controller leads to an offset in the footholderror. By simulating the system under the same condition as with the fixedtorso angle, the resulting foothold errors have a mean of 2.08[cm] and a worstcase error of 8.18[cm].

Because the hopper always runs in the same direction, the Leg Angle Controllerhas to drive the leg in each flight phase in the same direction and with thatpushes the torso in the other. When the torso angle is corrected during thestance phase, the applied torque influences the stance dynamics. Because thecorrection always has to be done in the same direction, it results in an offset ofthe foothold error mean value. A possible solution to improve the performancein this case would be to modify the ALSLIP model and take the torso dynamicsinto account in the Foothold Placement Control algorithm.

74

Page 75: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

Chapter 7

Summary and Future Work

7.1 Summary

The results of this thesis show that the series actuator of the hopper canbe used not only to add or remove energy, but also to influence the apexreturn map. As an example application the dead beat controller can react touncertainties in terrain height using just the actuator.

In the second part, the results of the simulations with the Foothold Place-ment Controller show that using nonlinear model predictive control enablesthe hopper to follow a desired foothold sequence accurately.

7.2 Future Work

The most important work which has to be done in the future, is to implementthe controller in real hardware and try to show, that the results can bereproduced in real world conditions.

On the theoretical side, the controller can be expanded to the three dimensionalcase, where an additional dimension has to be controlled. In addition, thecontrol of the torso angle could be included in the Foothold Placement Controlalgorithm to improve the performance.

75

Page 76: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:
Page 77: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

Appendix A

ALSLIP Model Calculations

This chapter contains the calculation of the stance phase dynamics of theALSLIP and SLIP model. Important to note is that the SLIP model is justa special case of the ALSLIP model where the leg mass ml is zero and theactuator length La(t) is equal to zero. For the description of the generalizedcoordinates and the used parameters the reader is referred to chapter 2.

A.1 Stance Phase Dynamics

The kinetic energy T and the potential energy V of the ALSLIP model duringstance phase can be written as:

T =1

2α2(L2

bmb + L2lml) +

1

2Lb

2mb (A.1)

V =1

2k(Lk − Lk0)2 + g sin(α)(Lbmb + Llml) (A.2)

where Lk = Lb − Lf − La(t). To get the equations of motion, the LagrangianL = T − V and the Euler-Lagrange equations are used. The individual termsof the Euler-Lagrange equations are:

∂L∂α

= −g cos(α)(L2bmb + L2

lml) (A.3)

d

dt

∂L∂α

= α(Lbmb + Llml) + 2αLbLbmb (A.4)

∂L∂Lb

= α2Lbmb − k(Lb − La − Lf − Lk0)− g sin(α)mb (A.5)

d

dt

∂L∂Lb

= Lbmb (A.6)

Inserting these terms into the Euler-Lagrange equation the second derivativesof the generalized coordinates are:

77

Page 78: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

78 APPENDIX A. ALSLIP MODEL CALCULATIONS

α =−g cos(α)(Lbmb + Llml)− 2αLbLbmb

L2bmb + L2

lml

(A.7)

Lb = α2Lb − g sin(α)− k

mb

(Lb − La − Lf − Lk0) (A.8)

For the SLIP model, the leg mass ml is equal to zero, which simplifies (A.7)to:

α =−g cos(α)Lbmb − 2αLbLbmb

L2bmb

=−g cos(α)− 2αLb

Lb(A.9)

Also the length of the actuator is constant and equal to zero, which simplifies(A.8) to:

Lb = α2Lb − g sin(α)− k

mb

(Lb − Lf − Lk0) (A.10)

78

Page 79: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

Appendix B

Hopper Model

B.1 Parameters

As described in chapter 6, the hopper model consists of four components: thetorso, the hip, the nut (ball screw nut), and the leg. All these componentsare modelled as rigid bodies defined by the mass, the center of mass and themoment of inertia around the center of mass. The different distances, massesand other model parameters are described in table B.1 and illustrated in fig-ure B.1. The hopper has two inputs, the torque τp, which is applied by therotatory motor at the pivot joint, and the series actuator current Ia, which istransformed into a force by the motor ball screw system.

dht

dkn

dlk

dah

dna

dfl

mt,Jt

mh,Jh

mn,Jn

ml,Jl

N,Jm,km

k,Lk0

Figure B.1: Hopper parameter illustration

B.2 Stance Equation of Motion

The generalized coordinates used during the stance phase are:

79

Page 80: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

80 APPENDIX B. HOPPER MODEL

Parameter Description Value Unitmt Mass of the torso 5.8 kgJt Moment of inertia of the torso around center

of mass of the torso0.3/inf m2kg

Setting the torso inertia to inf correspondsto the case where the torso angle is fixed withhelp of the boom.

mh Mass of the hip 1 kgJh Moment of inertia of the hip around center

of mass of the hip0.01 m2kg

dh,p Distance between the center of mass of thehip and the anchor of the pivot joint

0.0125 m

da,h Distance between the anchor of the actuatorjoint and the center of mass of the hip

0.0125 m

mn Mass of the nut 0.2 kgJn Moment of inertia of the nut around center

of mass of the nut0 m2kg

dn,a Distance between the center of mass of thenut and the anchor of the actuator joint

0.0125 m

dk,n Distance between the anchor of the springjoint and the center of mass of the nut

0.0125 m

ml Mass of the leg 0.7 kgJl Moment of inertia of the leg around center of

mass of the leg0.01 m2kg

dl,k Distance between the center of mass of theleg and the anchor of the spring joint

0.05 m

df,l Distance between the foot and the center ofmass of the leg

0.2 m

Ja Moment of inertia of the actuator motor (in-cluding ball screw moment of inertia)

5.16 · 10−6 m2kg

Na Relation between actuator angle and ballscrew length

2π0.005

m/rad

ka Actuator torque constant 0.0276 Nm/Ak Spring stiffness 2800 N/mLk0 Spring rest length 0.2245 m

Table B.1: Hopper model parameter description and values

80

Page 81: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

B.2 Stance Equation of Motion 81

La: Actuator displacement

Lk: Length of the spring

α: Angle between leg and horizon

β: Angle between torso and horizon

They can be seen in figure B.2 where (xf , yf ) is the position of the foot whichstays constant during the stance phase.

xf

yf

y

x

β

α

La

Lk

Figure B.2: Generalized coordinates during the stance phase

To simplify the notation during the stance phase, following masses are defined:

m.= ml +mn +mh +mt (B.1)

mht.= mh +mt (B.2)

Additionally these lengths are introduced:

81

Page 82: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

82 APPENDIX B. HOPPER MODEL

rl.= df,l (B.3)

rn.= df,l + dl,k + Lk + dk,n (B.4)

rh.= df,l + dl,k + Lk + dk,n + dn,a + La + da,h (B.5)

rt.= df,l + dl,k + Lk + dk,n + dn,a + La + da,h + dh,p (B.6)

rc.=mlrl +mnrn +mhrh +mtrt

m(B.7)

where rc is the distance between the foot and the center of mass of the hopperand ri is the distance between the foot and the position of the center of massof body i.These lengths are dependent on the generalized coordinates La and Lk, thederivatives of these lengths with respect to La and Lk are:

∂rl∂La

= 0,∂rn∂La

= 0,∂rh∂La

= 1,∂rt∂La

= 1,∂rc∂La

=mht

m(B.8)

∂rl∂Lk

= 0,∂rn∂Lk

= 1,∂rh∂Lk

= 1,∂rt∂Lk

= 1,∂rc∂Lk

=mht +mn

m(B.9)

In addition to the kinetic energy of the individual bodies, there is some kineticenergy stored in the actuator ball screw system. Because the length La isdirectly related to the actuator motor angle Ω by Ω = NaLa, the kinetic energyof the ball screw is

Ta =1

2JaΩ

2 =1

2Ja(NaLa)

2 =1

2JaN

2a La

2(B.10)

The overall kinetic energy of the system during stance can be written as:

T =1

2α2(Jh + Jn + Jl +mlr

2l +mnr

2n +mhr

2h +mtr

2t ) (B.11)

+1

2(mlrl

2 +mnrn2 +mhrh

2 +mtrt2) +

1

2JaN

2a La

2+

1

2Jtβ

2 (B.12)

The potential energy of the system can be written as:

V = g sin(α)mrc +1

2k(Lk − Lk0)2 (B.13)

Using the Lagrangian

L = T − V (B.14)

82

Page 83: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

B.2 Stance Equation of Motion 83

and the Euler-Lagrange equation

d

dt

∂L∂xi− ∂L∂xi

= Q∗xi (B.15)

where xi is a generalized coordinate (during the stance phase either La, Lk, α orβ) and Qxi the generalized nonconservative force in direction of xi. Determinedwith the principle of virtual work, the generalized nonconservative forces are:

Q∗α = −τp, Q∗β = τp Q∗La= NakaIa Q∗Lk

= 0 (B.16)

Calculating the different terms of the Euler Lagrange equation leads to thefollowing expressions:

∂L∂α

= −g cos(α)rcm (B.17)

d

dt

∂L∂α

= α(Jh + Jn + Jl +mlr2l +mnr

2n +mhr

2h +mtr

2t )

+ 2α(Lkrnmn + (Lk + La)(rhmh + rtmt)) (B.18)

∂L∂β

= 0 (B.19)

d

dt

∂L∂β

= Jtβ (B.20)

∂L∂La

= α2(rhmh + rtmt)− g sin(α)mht (B.21)

d

dt

∂L∂La

= mhtLk + (mht + JaN2a )La (B.22)

∂L∂Lk

= α2(rnmn + rhmh + rtmt)− g sin(α)(mn +mht)− k(Lk − Lk0)

(B.23)

d

dt

∂L∂Lk

= (mn +mht)Lk +mhtLa (B.24)

Using these terms the calculation of the second order derivatives of α and β isstraight forward:

α =1

Jf(−g cos(α)rcm− 2α(Lkrnmn + (Lk + La)(rhmh + rtmt))− τp)

(B.25)

β =1

Jtτp (B.26)

83

Page 84: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

84 APPENDIX B. HOPPER MODEL

where

Jf.= Jh + Jn + Jl +mlr

2l +mnr

2n +mhr

2h +mtr

2t (B.27)

is the current moment of inertia of the hopper around its foot.For the second order derivatives of La and Lk the Euler Lagrange equationresults in an linear equation:

[mht + JaN

2a mht

mht mht +mn

] [LaLk

]=

[ ∂L∂La

+Q∗La∂L∂Lk

+Q∗Lk

](B.28)

Solving this linear equation one gets the expression for La and Lk:

La =1

D[α2(mnmhrh +mnmtrt −mhtmnrn)

+mhtk(Lk − Lk0) + (mht +mn)NakaIa] (B.29)

Lk =1

D[α2(mhtmnrn + JaN

2a (mnrn +mhrh +mtrt))

− (mht + JaN2a )k(Lk − Lk0)−mhtNakaIa]− g sin(α) (B.30)

where D is the determinant of the matrix from the linear system (B.28):

D.= mnmht +mhtJaN

2a +mnJaN

2a (B.31)

B.3 Stance Events

During the stance phase, three different events can occur:

Bottoming-out the springThis event occurs if Lk is equal to zero. When that happens, Lk is setto zero instantaneously. As long as (B.30) would result in a negativeacceleration of the spring length, Lk is set to zero too. As a result of this,the acceleration of La is changed to:

La =α2(rhmh + rtmt)− g sin(α)mht +NakaIa

mht + JaN2a

(B.32)

Actuator length equal to zeroIf the actuator length La reaches zero, the actuator speed La is set to

84

Page 85: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

B.4 Flight Equation of Motions 85

zero immediately. As long as (B.29) tries to push La further below zero,La is set to zero. With this change, the second derivative of Lk will be:

Lk =α2(rnmn + rhmh + rtmt)− g sin(α)(mn +mht)− k(Lk − Lk0)

mht +mn

(B.33)

Take-offTake-off occurs when the leg reaches its maximum length L0. After take-off the stance phase is over and the dynamics of the hopper changes tothe flight dynamics.

B.4 Flight Equation of Motions

α

β

La

xc

yc

y

x

COM

Figure B.3: Generalized coordinates during the flight phase

The generalized coordinates (see figure B.3) used during flight are:

xc: Position of the center of mass

yc: Height of the center of mass

85

Page 86: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

86 APPENDIX B. HOPPER MODEL

La: Actuator length

α: Angle between leg and horizon

β: Angle between torso and horizon

The following mass is defined to simplify the notation:

m = mt +mh +mn +ml (B.34)

Additionally these lengths are introduced:

Lt.= L0 (B.35)

Lh.= L0 − dh,p (B.36)

Ln.= L0 − dh,p − da,h − La − dn,a (B.37)

Ll.= df,l (B.38)

Lc.=mlLl +mnLn +mhLh +mtLt

m(B.39)

Lk.= L0 − La − df,l − dl,k − dk,n − dn,a − da,h − dh,p (B.40)

Because these lengths are dependent on the generalized coordinate La, theirderivatives with respect to La are calculated:

∂Ll∂La

= 0,∂Ln∂La

= −1,∂Lh∂La

= 0,∂Lt∂La

= 0,∂Lc∂La

= −mn

m,

∂Lc∂Lk

= −1

(B.41)

The kinetic energy of the hopper during flight can be written as:

T =1

2[m(xc

2 + yc2) + Jtβ

2 + JaN2a La

2

+ (Jn + Jl + Jh +mt(Lt − Lc)2 +mh(Lh − Lc)2 +mn(Ln − Lc)2 +ml(Ll − Lc)2)α2

+mt(Lt − Lc)2 +mh(Lh − Lc)2 +mn(Ln − Lc)2 +ml(Ll − Lc)2]

=1

2[m(xc

2 + yc2) + JaN

2a La

2+mn(1− mn

m)La

2+ Jcα

2 + Jtβ2] (B.42)

where

Jc = Jn + Jl + Jh +mtL2t +mhL

2h +mnL

2n +mlL

2l −mL2

c (B.43)

is the current moment of inertia of the leg around the center of mass of thehopper.

86

Page 87: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

B.5 Flight events 87

The potential energy can be written as:

V = mgyc +1

2k(Lk − Lk0)2 (B.44)

The generalized nonconservative forces during flight are:

Q∗α = −τp, Q∗β = τp, Q∗La= NakaIa, Q∗xc = 0, Q∗yc = 0 (B.45)

Calculating and simplifying the terms of the Euler Lagrange equation one gets:

∂L∂α

= 0,d

dt

∂L∂α

= αJc − 2αmn(Ln − Lc)La

(B.46)

∂L∂β

= 0,d

dt

∂L∂β

= Jtβ (B.47)

∂L∂La

= k(Lk − Lk0) + α2mn(Lc − Ln),d

dt

∂L∂La

= (mn(1− mn

m) + JaN

2a )La

(B.48)

∂L∂xc

= 0,d

dt

∂L∂xc

= mxc (B.49)

∂L∂yc

= −mg, d

dt

∂L∂yc

= myc (B.50)

Inserting the terms into the Euler Lagrangian function yields to the equationof motion for the flight phase:

α =1

Jc(2αmn(Ln − Lc)La − τp) (B.51)

β =τpJt

(B.52)

La =k(Lk − Lk0) +NakaIa + α2mn(Lc − Ln)

mn(1− mn

m) + JaN2

a

(B.53)

xc = 0 (B.54)

yc = −g (B.55)

B.5 Flight events

Three events can occur during the flight phase:

87

Page 88: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

88 APPENDIX B. HOPPER MODEL

Touch-downTouch-down occurs at the moment the foot touches the ground. At thismoment an impact occurs and the generalized coordinates are changedfrom flight coordinates to stance coordinates according to B.6.

Bottoming-out the springThis is the case if the length Lk is equal to zero. At this point, theactuator speed La is set to zero immediately. As long as Lk is equal tozero, and the actuator acceleration (B.53) is positive, La is set to zerotoo.

Actuator length equal to zeroIf the dynamics try to push the actuator length La to a value smallerthan zero, the actuator speed La is set to zero instantaneously. As longas the actuator length acceleration (B.53) is negative and the actuatorlength La is zero, La is set to zero too.

B.6 Touch-Down Calculation

At the moment when the foot of the hopper touches the ground, an impactwill occur and a part of the kinetic energy of the system will be lost. The col-lisions in the hopper model are always considered as perfect inelastic collisions.

For all velocities the notation is x− for a velocity right before impact and x+

right after impact. By the definition of the generalized coordinates, the anglesα and β and the length La are the same for the stance and the flight phase.The length Lk at touch-down can also be calculated using (B.40). The currentposition of the center of mass of the hopper (xc, yc) together with the currentleg angle α define the position of the foot at touch-down and with that, thecenter of rotation during the stance phase.

Even tough the values of the generalized coordinates stay the same, the deriva-tives of these coordinates change instantaneously due to the impact of the foot.To be able to do the impact calculations, the velocities are transformed into apolar coordinate system with its center at the touch-down position of the foot.To transform any Cartesian velocities of an arbitrary point (x, y) into radialand angular velocities following formula is used:

r = x cos(φi) + y sin(φi) (B.56)

φ =−x sin(φ) + y cos(φi)

r(B.57)

88

Page 89: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

B.6 Touch-Down Calculation 89

where r is the distance between the point and the center of rotation and φ isthe angle between the position of the point and a predefined direction. In thecase of the hopper r is equal to the distance between the foot and the centerof mass of one of the four rigid bodies just before touch-down and φ is equalto the touch-down angle α.The Cartesian velocities of the four rigid bodies just before the touch-downare

xi− = xc

− + cos(α)(Li− − rc−)− α− sin(α)(Li − Lc) (B.58)

yi− = xc

− + cos(α)(Li− − rc−)− α− sin(α)(Li − Lc)

where i can be either t, h, n or l. Transforming these into a radial and anangular velocity one gets:

ri− = cos(α)xc

− + sin(α)yc− + (Li

− − Lc−

) (B.59)

φi−

=− sin(α)xc

− + cos(α)yc− + α−(Li − Lc)

Li

The velocity of the radial component will stay the same for the body, the hipand the nut, because they are not influenced by the impact. For the leg massit will be zero after the impact.

rt+ = rt

− (B.60)

rh+ = rh

− (B.61)

rn+ = rn

− (B.62)

rl+ = 0 (B.63)

Based on that, one can calculate the rate of change of the spring displacementafter touch-down:

Lk+

= rn+ = rn

= cos(α)xc− + sin(α)yc

− + (Ln− − Lc

−) (B.64)

= cos(α)xc− + sin(α)yc

− + (mn

mt +mh +mn +ml

− 1)La−

The rate of change of the actuator length is not influenced by the touch-downand will stay the same.

La+

= La−

(B.65)

89

Page 90: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

90 APPENDIX B. HOPPER MODEL

To calculate the speed of α after touch-down, the angular momentum L of therigid bodies with respect to the foot position is calculated:

L = φt−r2tmt + φh

−(r2hmh + Jh) + φn

−(r2nmn + Jn) + φl

−(r2lml + Jl) (B.66)

α+ is calculated using the conversation of angular momentum:

α+ =L

Jh + Jn + Jl + r2tmt + r2hmh + r2nmn + r2lml

(B.67)

B.7 Take-Off Calculation

At take-off, the coordinates are changed again from stance coordinates to flightcoordinates. The angular velocities as well as the velocity of the actuator arenot influenced by the take-off event at all:

α+ = α− (B.68)

β+ = β− (B.69)

La+

= La−

(B.70)

(B.71)

The velocity of the center of mass of the hopper stays the same before andafter take-off and can be calculated by transforming the radial and angularvelocities into Cartesian coordinates:

xc+ = xc

− = rc− cos(α)− rcα− sin(α) (B.72)

yc+ = yc

− = rc− sin(α) + rcα

− cos(α) (B.73)

(B.74)

where

rc− =

mnLk + (mb +mt)(La−

+ Lk−

)

m(B.75)

90

Page 91: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

Ap

pen

dix

C

Fo

oth

old

Co

ntr

ol

Sim

ula

tio

nR

esu

lts

This

app

endix

conta

ins

the

sim

ula

tion

resu

lts

for

the

AL

SL

IPF

oot

hol

dP

lace

men

tC

ontr

olal

gori

thm

.F

oral

lth

ese

exp

eri-

men

tsa

pre

dic

tion

hor

izon

ofle

ngt

h2

was

use

d.

FH

Est

ands

for

Foot

hol

dE

rror

and

CH

Est

ands

for

Com

pen

sate

dH

eigh

tE

rror

,M

info

rm

inim

um

erro

r,M

axfo

rm

axim

um

and

Std

for

stan

dar

ddev

iati

on.

mb

Mea

nF

HE

Std

FH

EM

inF

HE

Max

FH

EM

ean

CH

EStd

CH

EM

inC

HE

Max

CH

E0.

6300

[kg]−

0.00

47[m

]0.

0163

[m]−

0.04

28[m

]0.

0407

[m]

0.00

25[m

]0.

0020

[m]−

0.00

02[m

]0.

0095

[m]

0.66

50[kg]−

0.00

21[m

]0.

0168

[m]−

0.04

15[m

]0.

0449

[m]

0.00

16[m

]0.

0020

[m]−

0.00

13[m

]0.

0087

[m]

0.73

50[kg]

0.00

29[m

]0.

0177

[m]−

0.03

90[m

]0.

0532

[m]−

0.00

03[m

]0.

0019

[m]−

0.00

38[m

]0.

0072

[m]

0.77

00[kg]

0.00

55[m

]0.

0182

[m]−

0.03

77[m

]0.

0574

[m]−

0.00

13[m

]0.

0019

[m]−

0.00

55[m

]0.

0064

[m]

Tab

leC

.1:

AL

SL

IPF

oot

hol

dP

lace

men

tC

ontr

ol:

erro

rst

atis

tics

for

leg

mas

sm

ism

atch

91

Page 92: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

92APPENDIX C. FOOTHOLD CONTROL SIMULATION

RESULTSmb

Mea

nF

HE

Std

FH

EM

inF

HE

Max

FH

EM

ean

CH

EStd

CH

EM

inC

HE

Max

CH

E6.

3000

[kg]

0.05

64[m

]0.

0164

[m]

0.01

01[m

]0.

0997

[m]

0.08

19[m

]0.

0010

[m]

0.07

83[m

]0.

0836

[m]

6.65

00[kg]

0.02

70[m

]0.

0160

[m]−

0.01

50[m

]0.

0706

[m]

0.03

84[m

]0.

0008

[m]

0.03

53[m

]0.

0417

[m]

7.35

00[kg]−

0.02

38[m

]0.

0195

[m]−

0.06

62[m

]0.

0297

[m]−

0.03

09[m

]0.

0057

[m]−

0.03

77[m

]−

0.01

45[m

]7.

7000

[kg]−

0.04

74[m

]0.

0204

[m]−

0.09

45[m

]0.

0005

[m]−

0.05

47[m

]0.

0133

[m]−

0.07

10[m

]−

0.02

03[m

]

Tab

leC

.2:

AL

SL

IPF

oot

hol

dP

lace

men

tC

ontr

ol:

erro

rst

atis

tics

for

body

mas

sm

ism

atch

kM

ean

FH

EStd

FH

EM

inF

HE

Max

FH

EM

ean

CH

EStd

CH

EM

inC

HE

Max

CH

E25

20.0

[N]−

0.05

09[m

]0.

0150

[m]−

0.08

71[m

]−

0.01

13[m

]0.

0087

[m]

0.00

41[m

]0.

0028

[m]

0.02

08[m

]26

60.0

[N]−

0.02

38[m

]0.

0160

[m]−

0.06

01[m

]0.

0202

[m]

0.00

45[m

]0.

0029

[m]

0.00

08[m

]0.

0135

[m]

2940.0

[N]

0.02

21[m

]0.

0187

[m]−

0.02

52[m

]0.

0752

[m]

−0.

0029

[m]

0.00

15[m

]−

0.00

83[m

]0.

0036

[m]

3080.0

[N]

0.04

17[m

]0.

0202

[m]−

0.01

21[m

]0.

1018

[m]

−0.

0062

[m]

0.00

18[m

]−

0.01

81[m

]−

0.00

03[m

]

Tab

leC

.3:

AL

SL

IPF

oot

hol

dP

lace

men

tC

ontr

ol:

erro

rst

atis

tics

for

spri

ng

stiff

nes

sm

ism

atch

Noi

seL

evel

Mea

nF

HE

Std

FH

EM

inF

HE

Max

FH

EM

ean

CH

EStd

CH

EM

inC

HE

Max

CH

E0.

010[m

]0.

0003

[m]

0.01

97[m

]−

0.05

34[m

]0.

0565

[m]

0.00

07[m

]0.

0024

[m]−

0.00

48[m

]0.

0113

[m]

0.02

0[m

]0.

0001

[m]

0.02

55[m

]−

0.07

14[m

]0.

0714

[m]

0.00

07[m

]0.

0033

[m]−

0.00

81[m

]0.

0157

[m]

0.03

0[m

]−

0.00

02[m

]0.

0330

[m]−

0.09

00[m

]0.

0862

[m]

0.00

09[m

]0.

0045

[m]−

0.01

25[m

]0.

0203

[m]

0.04

0[m

]−

0.00

05[m

]0.

0412

[m]−

0.10

87[m

]0.

1009

[m]

0.00

11[m

]0.

0057

[m]−

0.01

63[m

]0.

0250

[m]

Tab

leC

.4:

AL

SL

IPF

oot

hol

dP

lace

men

tC

ontr

ol:

erro

rst

atis

tics

for

mea

sure

men

tnoi

seofxapex

92

Page 93: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

93

Noi

seL

evel

Mea

nF

HE

Std

FH

EM

inF

HE

Max

FH

EM

ean

CH

EStd

CH

EM

inC

HE

Max

CH

E0.

010[m

]0.

0004

[m]

0.01

95[m

]−

0.04

58[m

]0.

0699

[m]

0.00

07[m

]0.

0061

[m]−

0.01

30[m

]0.

0195

[m]

0.02

0[m

]0.

0007

[m]

0.02

49[m

]−

0.05

96[m

]0.

0927

[m]

0.00

10[m

]0.

0118

[m]−

0.02

38[m

]0.

0369

[m]

0.03

0[m

]0.

0012

[m]

0.03

21[m

]−

0.07

59[m

]0.

1167

[m]

0.00

16[m

]0.

0176

[m]−

0.03

16[m

]0.

0575

[m]

0.04

0[m

]0.

0019

[m]

0.04

03[m

]−

0.09

62[m

]0.

1426

[m]

0.00

24[m

]0.

0236

[m]−

0.04

03[m

]0.

0740

[m]

Tab

leC

.5:

AL

SL

IPF

oot

hol

dP

lace

men

tC

ontr

ol:

erro

rst

atis

tics

for

mea

sure

men

tnoi

seofy apex

Noi

seL

evel

Mea

nF

HE

Std

FH

EM

inF

HE

Max

FH

EM

ean

CH

EStd

CH

EM

inC

HE

Max

CH

E0.

010[m

]0.

0005

[m]

0.01

82[m

]−

0.04

83[m

]0.

0551

[m]

0.00

06[m

]0.

0022

[m]

0.01

15[m

]0.

0115

[m]

0.02

0[m

]0.

0005

[m]

0.02

09[m

]−

0.05

87[m

]0.

0645

[m]

0.00

07[m

]0.

0028

[m]

0.01

61[m

]0.

0161

[m]

0.03

0[m

]0.

0005

[m]

0.02

48[m

]−

0.06

91[m

]0.

0739

[m]

0.00

08[m

]0.

0036

[m]

0.02

10[m

]0.

0210

[m]

0.04

0[m

]0.

0005

[m]

0.02

93[m

]−

0.07

94[m

]0.

0837

[m]

0.00

10[m

]0.

0044

[m]

0.02

61[m

]0.

0261

[m]

Tab

leC

.6:

AL

SL

IPF

oot

hol

dP

lace

men

tC

ontr

ol:

erro

rst

atis

tics

for

mea

sure

men

tnoi

seofxapex

Noi

seL

evel

Mea

nF

HE

Std

FH

EM

inF

HE

Max

FH

EM

ean

CH

EStd

CH

EM

inC

HE

Max

CH

E0.

2500

[]

0.00

03[m

]0.

0218

[m]−

0.06

32[m

]0.

0613

[m]

0.00

07[m

]0.

0025

[m]−

0.00

40[m

]0.

0136

[m]

0.50

00[

]0.

0000

[m]

0.03

17[m

]−

0.09

15[m

]0.

0763

[m]

0.00

08[m

]0.

0037

[m]−

0.00

65[m

]0.

0198

[m]

0.75

00[

]−

0.00

05[m

]0.

0435

[m]−

0.12

04[m

]0.

0966

[m]

0.00

11[m

]0.

0051

[m]−

0.00

98[m

]0.

0262

[m]

1.00

00[

]−

0.00

12[m

]0.

0560

[m]−

0.14

95[m

]0.

1188

[m]

0.00

15[m

]0.

0065

[m]−

0.01

31[m

]0.

0333

[m]

Tab

leC

.7:

AL

SL

IPF

oot

hol

dP

lace

men

tC

ontr

ol:

erro

rst

atis

tics

for

input

noi

seon

αTD

93

Page 94: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

94APPENDIX C. FOOTHOLD CONTROL SIMULATION

RESULTSN

oise

Lev

elM

ean

FH

EStd

FH

EM

inF

HE

Max

FH

EM

ean

CH

EStd

CH

EM

inC

HE

Max

CH

E0.

0025

[m]

0.00

04[m

]0.

0178

[m]−

0.04

30[m

]0.

0555

[m]

0.00

06[m

]0.

0052

[m]−

0.01

07[m

]0.

0153

[m]

0.00

50[m

]0.

0005

[m]

0.01

93[m

]−

0.04

67[m

]0.

0639

[m]

0.00

07[m

]0.

0099

[m]−

0.01

95[m

]0.

0239

[m]

0.00

75[m

]0.

0006

[m]

0.02

17[m

]−

0.05

26[m

]0.

0723

[m]

0.00

08[m

]0.

0146

[m]−

0.02

82[m

]0.

0321

[m]

0.01

00[m

]0.

0007

[m]

0.02

44[m

]−

0.06

06[m

]0.

0820

[m]

0.00

09[m

]0.

0193

[m]−

0.03

58[m

]0.

0403

[m]

Tab

leC

.8:

AL

SL

IPF

oot

hol

dP

lace

men

tC

ontr

ol:

erro

rst

atis

tics

for

input

noi

seon

actu

ator

step

size

Noi

seL

evel

Mea

nF

HE

Std

FH

EM

inF

HE

Max

FH

EM

ean

CH

EStd

CH

EM

inC

HE

Max

CH

E0.

0000

[m]

0.00

06[m

]0.

0156

[m]−

0.03

95[m

]0.

0456

[m]

0.00

03[m

]0.

0013

[m]−

0.00

48[m

]0.

0071

[m]

0.01

00[m

]0.

0006

[m]

0.01

65[m

]−

0.04

08[m

]0.

0524

[m]

0.00

03[m

]0.

0058

[m]−

0.01

31[m

]0.

0150

[m]

0.02

00[m

]0.

0004

[m]

0.01

89[m

]−

0.04

67[m

]0.

0749

[m]

0.00

01[m

]0.

0114

[m]−

0.02

49[m

]0.

0253

[m]

0.03

00[m

]0.

0005

[m]

0.02

24[m

]−

0.05

97[m

]0.

0882

[m]

0.00

02[m

]0.

0169

[m]−

0.03

78[m

]0.

0370

[m]

0.04

00[m

]−

0.00

05[m

]0.

0262

[m]−

0.08

60[m

]0.

1089

[m]−

0.00

05[m

]0.

0222

[m]−

0.04

78[m

]0.

0503

[m]

0.05

00[m

]−

0.00

03[m

]0.

0311

[m]−

0.09

74[m

]0.

1309

[m]−

0.00

05[m

]0.

0274

[m]−

0.06

00[m

]0.

0588

[m]

Tab

leC

.9:

AL

SL

IPF

oot

hol

dP

lace

men

tC

ontr

ol:

erro

rst

atis

tics

for

unev

engr

ound

exp

erim

ent

wit

hdiff

eren

tnoi

sele

vel

inte

rrai

nhei

ght

mea

sure

men

t

94

Page 95: Control of a planar, one legged hopping robot model on ...katiebyl/papers/Rutschmann_MSThesis.pdf · robot model on rough terrain Master Thesis August 2011 to February 2012 Supervisor:

Bibliography

[1] M.H. Raibert, M. Chepponis, and H. Benjamin Brown. Running on fourlegs as though they were one. IEEE Journal of Robotics and Automation,RA-2(2):70 – 82, June 1986.

[2] Marc H. Raibert. Legged Robots That Balance. The MIT Press, 1986.

[3] H. Rad, P. Gregorio, and M. Buehler. Design, modeling and control of ahopping robot. In Intelligent Robots and Systems ’93, IROS ’93. Proceed-ings of the 1993 IEEE/RSJ International Conference on, volume 3, pages1778 –1785 vol.3, jul 1993.

[4] H Geyer, A Seyfarth, and R Blickhan. Spring-mass running: simple ap-proximate solution and application to gait stability. Journal of TheoreticalBiology, 232(3):315–328, 2005.

[5] I. Poulakakis and J.W. Grizzle. Monopedal running control: Slip embeddingand virtual constraint controllers. In Intelligent Robots and Systems, 2007.IROS 2007. IEEE/RSJ International Conference on, pages 323 –330, 292007-nov. 2 2007.

[6] M Ernst, H Geyer, and R Blickhan. Spring-legged locomotion on unevenground: A control approach to keep the running speed constant. In MO-BILE ROBOTICS Solutions and Challenges, pages 639–644, 2009.

[7] J.K. Hodgins and M.N. Raibert. Adjusting step length for rough terrainlocomotion. Robotics and Automation, IEEE Transactions on, 7(3):289–298, jun 1991.

[8] EC-powermax 30 Datasheet.

[9] Rolf Findeisen and Frank Allgower. An introduction to nonlinear modelpredictive. In Control, 21st Benelux Meeting on Systems and Control,Veidhoven, pages 1–23, 2002.

95