Quick viewing(Text Mode)

Jumping Behaviour for a Wheeled Quadruped Robot: Analysis and Experiments

Jumping Behaviour for a Wheeled Quadruped Robot: Analysis and Experiments

Jumping Behaviour for a Wheeled Quadruped : Analysis and Experiments

Adam Harmat

Master of Engineering

Department of Mechanical Engineering

McGill University Montreal, Quebec 2008-10

A thesis submitted to McGill University in partial fulfillment of the requirements of the degree of Master of Engineering

© Adam Harmat, 2008 ACKNOWLEDGEMENTS

I would like to thank my supervisor Dr. Inna Sharf for her tremendous help throughout my degree program. Without her guidance and expertise, this work would not have been possible. I would also like to thank my parents, who have always completely supported all of my educational pursuits. I also wish to thank my lab mates at the Mechatronic

Locomotion Laboratory, Michele Faragalli, Nicolas Plamondon, Chris Prahacs, Olivia

Chiu, and David Cowan, for all their help and companionship over the past two years.

Lastly, thanks are extended to Charles Steeves, Mike Tolley, and James Smith, all of whom authored significant work on PAW’s mobility which were referenced heavily.

Funding for this research was provided by the Natural Sciences and Engineering

Research Council of Canada (NSERC), and by Defence Research and Development

Canada (DRDC). Thanks are given to Dr. Michael Trentini, project advisor at DRDC.

ii ABSTRACT

This thesis describes a new jumping behaviour developed for the quadruped robot PAW.

The robot has very few degrees of freedom, employing springy legs and wheels at the

distal ends of the legs to achieve its various modes of locomotion. This simple

construction allows PAW to exploit the dynamics of a mass-spring system to achieve

gaits such as bounding, galloping, and presently jumping. An MSC.ADAMS / Simulink

co-simulation is used to develop and optimize the jumping process, which consists of

four stages: acceleration to jumping speed, front hip thrusting, rear hip thrusting, and flight. Due to the strong coupling between the parameters describing the jump, manual tuning is not possible and thus a genetic algorithm is used for the optimization process.

The data generated by the genetic algorithm is then used for the fitting of a quadratic response surface, which identifies those parameters that contribute most to a successful jump. The simulation is then generalized to allow of various geometries to be analyzed, and it is found that leg length and body length are important factors in the jumping behaviour. Finally, the possibility of extending this approach to simulate the jumping of virtually any wheeled-leg quadruped is discussed.

iii SOMMAIRE

Cette thèse décrit un nouveau comportement sautant développé pour le robot quadrupède

PAW. Le robot a très peu de degrés de liberté, employant des ressorts dans les jambes et des roues aux bouts pour atteindre ses divers modes de locomotion. Cette construction simple permet à PAW d’exploiter la dynamique d'un système de masse-ressort pour atteindre l’allure du galop, du rebond, et le sujet de cette recherche: le saut. Une co- simulation de MSC.ADAMS et Simulink est utilisée pour développer et optimiser le processus sautant, qui consiste de quatre étapes : l'accélération pour atteindre la vitesse

necessaire pour sauter, la poussée des jambes de devant, la poussée des jambes

postérieur, et le vol. En raison du fort accouplement entre les paramètres décrivant le

saut, l'accordement manuel de ces paramètres n'est pas possible. Alors, un algorithme

génétique est utilisé pour le processus d'optimisation. Les données produites par

l'algorithme génétique sont alors utilisées pour l’adjustement d'une surface de réponse

quadratique, qui identifie les paramètres qui contribuent le plus à un saut réussi. La

simulation est alors généralisée pour permettre aux robots de diverses géométries à être

analysé, et il est trouvé que la longueur des jambes et la longueur du corps sont des

facteurs importantes dans le comportement sautant. Enfin, la possibilité d'étendre cette

approche pour simuler le saut de quasiment n'importe quel quadrupède avec des roues

aux bouts des jambes est discuté.

iv TABLE OF CONTENTS

ACKNOWLEDGEMENTS...... ii

ABSTRACT...... iii

SOMMAIRE...... iv

LIST OF TABLES...... vii

LIST OF FIGURES ...... viii

Chapter 1. Introduction...... 1

1.1. ...... 1 1.2. Quadruped Robots ...... 5 1.3. Quadrupeds on Uneven Terrain...... 9 1.4. Background on PAW ...... 12 1.5. Thesis Objectives...... 14

Chapter 2. PAW Simulation Model...... 16

2.1. Previous PAW Models...... 16 2.2. Model Details...... 19 2.4. Simulation Improvements...... 24 2.4.1. Electrical Model...... 25 2.4.2. Battery Model ...... 25 2.4.3. Hip Amplifier and Motor Model...... 26 2.4.4. Wheel Amplifier and Motor Model ...... 29 2.4.5. Hip Belt Model ...... 31 2.5. Simulink Model ...... 36 2.6. Model Validation ...... 38

Chapter 3. Jumping Behaviours on PAW...... 41

3.1. Steeves’ Behaviours...... 41 3.2. Tolley’s Behaviours...... 44 3.3. New Jumping Behaviour...... 46

Chapter 4. Simple PAW Model and Dimensional Analysis...... 49

4.1. The Simple PAW Model...... 49 4.2. Derivation of Equations of Motion...... 53 4.3. Validation...... 55 4.4. Non-Dimensionalized Model...... 58 4.5. Non-Dimensional Analysis...... 62

v Chapter 5. Jump Implementation and Results ...... 69

5.1. Key Jumping Parameters ...... 69 5.2. Implementation on Physical PAW...... 77 5.3. Jump Optimization with Genetic Algorithm...... 81 5.4. Genetic Algorithm Results...... 85

Chapter 6. Analysis of Optimization Results...... 88

6.1. Response Model Generation...... 88 6.2. Physical Sensitivity Analysis...... 91 6.2.1. Video Analysis...... 91 6.2.2. Physical Trials...... 94 6.3. Generalized Optimization Model...... 98

Chapter 7. Conclusion...... 102

7.1. Summary of Work...... 102 7.2. Future Work...... 104 7.2.1. Simulation Improvements...... 104 7.2.1. Additional Features...... 105

REFERENCES ...... 108

vi LIST OF TABLES

Table 2.1. PAW Controller Parameters ...... 19 Table 2.2. PAW Mechanical Model Parameters...... 20 Table 2.3. PAW Electrical Model Parameters...... 21 Table 2.4. PID Controller Inputs/Outputs...... 24 Table 2.5. PAW ADAMS Plant Inputs/Outputs ...... 36

Table 4.1. Simple PAW Model Variables ...... 52 Table 4.2. Simple PAW Model Mechanical Parameters ...... 56 Table 4.3. Simple PAW Model Validation Initial Conditions...... 57 Table 4.4. Validation Results...... 58 Table 4.5. Reduced Set of PAW Variables...... 61 Table 4.6. Non-Dimensionalized PI Groups...... 61 Table 4.7. Independent PI Group Inputs...... 63

Table 5.1. Unfixed Jumping Parameters...... 73 Table 5.2. Fixed Jumping Parameters...... 73 Table 5.3. Manually Tuned Parameter Values...... 77 Table 5.4. Bounds for Random Chromosome Distribution ...... 82 Table 5.5. Optimized Parameter Values ...... 85

Table 6.1. Jumping Parameter Coefficients and T ratios...... 90 Table 6.2. Results of Sensitivity Trials...... 96 Table 6.3. Additional Simulation Parameters...... 98

vii LIST OF FIGURES

Figure 1.1. The Roomba vacuum cleaning robot from iRobot [1]...... 2 Figure 1.2 The PackBot robot from iRobot.[1]...... 2 Figure 1.3. Husqvarna Automower lawnmower [2]...... 3 Figure 1.4. Aquaproducts Aquabot pool cleaner [3]...... 3 Figure 1.5. iRobot Looj gutter cleaner [1]...... 3 Figure 1.6. The Walk’n Roll by Adachi [4]...... 4 Figure 1.7. The Roller-Walker by Hirose [5]...... 4 Figure 1.8. The Shrimp by ASL [6]...... 4 Figure 1.9. The ANT by DRES [7]...... 4 Figure 1.10. Raibert’s 3D biped robot [12]...... 6 Figure 1.11. Honda’s Asimo robot [11]...... 6 Figure 1.12. The robot [14]...... 7 Figure 1.13. Raibert’s quadruped robot [15]...... 8 Figure 1.14. Patrush quadruped robot [16]...... 8 Figure 1.15 KOLT quadruped robot [17]...... 8 Figure 1.16. Scout I [18]...... 9 Figure 1.17. Scout II [19]...... 9 Figure 1.18. PAW [20]...... 9 Figure 1.19. NINJA-I wall climbing robot [21]...... 10 Figure 1.20. ’ LittleDog robot [22]...... 10 Figure 1.21. Igarashi et al.’s quadruped robot [23]...... 10 Figure 1.22. Boston Dynamics’ BigDog robot [24]...... 11 Figure 1.23. Orin and Wong’s simulated jumping quadruped [25]...... 12 Figure 1.24. Kikuchi et al.’s pneumatic jumping quadruped [26]...... 12 Figure 1.25. PAW braking [20]...... 13 Figure 1.26. PAW descending a slope [20]...... 13 Figure 1.27. PAW bounding [20]...... 13

Figure 2.1. Steeves’ 2D WorkingModel schematic of PAW [27]...... 16 Figure 2.2. Smith’s model of PAW in MSC.ADAMS [20]...... 17 Figure 2.3 Tolley’s model of PAW in ADAMS...... 18 Figure 2.4. Schematic of simulated battery model...... 26 Figure 2.5. Schematic of simple motor model...... 28 Figure 2.6. Top-down view of the PAW ADAMS model...... 33 Figure 2.7. Results of the hip belt stretch test...... 34 Figure 2.8. Result of the hip belt oscillation test...... 34 Figure 2.9. Simplified block diagram representation of the co-simulation...... 36 Figure 2.10. Partial Simulink model...... 37 Figure 2.11. Simulated model of PAW performing the stand-up maneuver...... 38 Figure 2.12. Front hip angles of PAW while performing the stand-up maneuver...... 39 Figure 2.13. Front hip torques of PAW while performing the stand-up maneuver...... 39

viii Figure 3.1 Steeves’ simulated PAW performing the bound-jump [27]...... 42 Figure 3.2 Steeves’ PAW model executing the one leg bounce [27]...... 42 Figure 3.3 Steeves’ PAW model using a backflip to overcome obstacle [27]...... 43 Figure 3.4. 2D model of Scout II clearing a step [35]...... 44 Figure 3.5. Diagram of a quadruped executing an alternating leg climb[30]...... 45 Figure 3.6. Tolley’s simulated PAW executing a double hop to clear a step [30]...... 46 Figure 3.7. Anole lizard performing a standing jump [36]...... 47 Figure 3.8. Illustration of the new proposed jumping sequence...... 48

Figure 4.1. Simplified PAW model showing the main physical parameters...... 50 Figure 4.2. Jumping sequence of PAW used for validating the simple model...... 57 Figure 4.3. Jumping performance for various extended leg length pi group values...... 64 Figure 4.4. Jumping performance for various initial leg length pi group values...... 64 Figure 4.5. Jumping performance for various spring constant pi group values...... 65 Figure 4.6. Jumping performance for various inertia pi group values...... 65

Figure 5.1. Desired hip angles during jump...... 71 Figure 5.2. Desired wheel velocities during jump...... 72 Figure 5.3. Measurement of the hip angles on PAW...... 74 Figure 5.4. Hip desired angle profile showing the various jumping parameters...... 74 Figure 5.5. Wheel desired velocity plot showing the various jumping parameters...... 75 Figure 5.6. Spring compression of the rear leg showing a good and a bad jump...... 76 Figure 5.7. Vertical force and impulse of a rear leg during a good and a bad jump...... 76 Figure 5.8. Hip angles of simulated and actual PAW during a jump...... 78 Figure 5.9. Front hip torques of simulated and actual PAW during a jump...... 78 Figure 5.10. Rear hip torques of simulated and actual PAW during a jump...... 79 Figure 5.11. Rear leg lengths of simulated and actual PAW during a jump...... 79 Figure 5.12. Flowchart of genetic algorithm...... 84 Figure 5.13. Generation of an offspring chromosome from the parents’ chromosomes. . 84 Figure 5.14. Photo sequence of PAW executing its optimized jump onto a platform...... 86

Figure 6.1. Actual vs predicted jump height based on the quadratic response surface. ... 90 Figure 6.2. The effect of lens distortion on superimposed high-speed video images...... 92 Figure 6.3. Superimposed high-speed video images showing corrected lens distortion. . 93 Figure 6.4. Photo sequence highlighting the takeoff and maximum height image...... 94 Figure 6.5. Data from two trials showing the maximum rear wheel velocity limit...... 95 Figure 6.6. Photo sequence of a failed jump caused by premature leg compression...... 97 Figure 6.7. Photo sequence of a failed jump caused by late rear leg rotation...... 98 Figure 6.8. Photo sequence of a failed jump caused by early rear leg rotation...... 98 Figure 6.9. Sequence of the new behaviour for jump heights over 170 mm...... 100

ix 1. Introduction 1

Chapter 1. Introduction

1.1. Robot Locomotion

Ever since the invention of the automobile, people have strived to increase the range and

usefulness of vehicles in an ever-growing number of applications. Jeeps, tanks, formula 1

race cars, and the lunar roving vehicle (LRV) are all examples of vehicles optimized to

operate in extreme conditions much different from that seen by ordinary automobiles.

However, while all of these vehicles vastly outperform humans and most other animals in terms of speed over flat terrain, they cannot match our ability to negotiate difficult, obstacle-laden terrain with relative ease. Jeeps and tanks partially overcome this drawback by sheer force, driving over or through whatever obstacles are present in their path, but this technique only works while the terrain is not too steep and the obstacles not too large. In addition, these vehicles need relatively continuous terrain for reliable operation, otherwise they are liable to get stuck. Animals, on the other hand, are able to negotiate obstacles by choosing foot placements that either avoid or climb over the obstacle, spending much less energy in the process. Furthermore, continuous terrain is not needed by animals, as they can jump or step over any missing ground.

As human assistance robots gain popularity, there has been a significant amount of research focused on the problem of artificial locomotion because of the difficult nature of

1. Introduction 2

the task. Humans live in complex environments with stairs, steps, furniture and other

irregular obstacles, and robots that are to be useful in helping us accomplish daily tasks

need to be able to handle such terrain. Nevertheless, robots are already capable of simple

tasks such as negotiating a lawn or a living room using wheeled and tracked technology

that has existed for decades. Commercially successful robots such as iRobot’s vacuum

cleaning robot Roomba and military robot PackBot [1] (Figures 1.1 and 1.2) use

traditional wheel and track designs, but their mobility is limited to continuous terrain.

The Roomba is further limited to flat terrain, whereas the PackBot can climb slopes but does so in a tank-like manner, with sheer power.

Figure 1.1. The Roomba vacuum Figure 1.2 The PackBot military robot from cleaning robot from iRobot [1]. iRobot [1].

Some other examples of currently available commercial robots that use simple wheeled or tracked technology are the Husqvarna Automower lawnmower [2], the Aquaproducts

Aquabot pool cleaner [3], and the iRobot Looj gutter cleaner [1].

1. Introduction 3

Figure 1.3. Husqvarna Automower Figure 1.4. Aquaproducts Aquabot Figure 1.5. iRobot Looj gutter lawnmower [2]. pool cleaner [3]. cleaner [1].

All of these robots operate in relatively simple environments, so their method of locomotion is sufficient. However, as helper robots, and the terrain they operate on, get more sophisticated, wheeled and tracked vehicles will not suffice. For example, a robot designed to care for elderly patients in their homes will need to negotiate stairs, get around furniture, and operate on different surfaces, all while avoiding injuring humans or damaging the surroundings.

In order to increase the mobility of future robots, new methods of locomotion need to be developed. There have been numerous research robots built for this purpose, such as the

Walk’n Roll [4], the Roller-Walker [5], the Shrimp [6], and the ANT [7], which are shown in Figures 1.6-1.9.

1. Introduction 4

Figure 1.6. The Walk’n Roll by Adachi [4]. Figure 1.7. The Roller-Walker by Hirose [5].

Figure 1.8. The Shrimp by ASL [6]. Figure 1.9. The ANT by DRES [7].

The aforementioned robots use the proven reliability of a wheeled platform, but attempt to extend its mobility through the use of legs. These designs generally have an advantage over normal wheeled vehicles in that they can climb over obstacles too large to drive over. However, they are still primarily wheeled vehicles with some extra legged functionality. In addition, because they use statically stable configurations at all times, the climbing behaviour of these vehicles is rather slow.

Although a robot like Roomba could potentially use the legged features shown above to climb stairs to clean different floors of a house, more advanced human helper robots will need more sophisticated obstacle negotiating capability if they are to be commercially successful. In addition, unmanned ground vehicles (UGVs) used by the military need to

1. Introduction 5

navigate unknown, complex indoor and outdoor environments in order to help soldiers perform their duties. In these capacities, the robots must be able to move reliably and quickly over and around obstacles, thus the static gaits of the wheeled-leg designs shown above will not suffice.

1.2. Quadruped Robots

Quadruped robots fall under the classification of legged robots, and their study has been rapidly expanding ever since Raibert performed his pioneering work with hopping robots at the MIT leg lab [8]. In those experiments, Raibert discovered that simple, underactuated systems can be made to hop and run with stable gaits by exploiting the passive dynamics of the robot. The mass-spring relationship between the robot’s body and compliant pneumatic legs allows it to use relatively little energy to run, as a large amount of the energy stored in the legs at the end of a stride is recovered at the beginning

of the next stride. In addition, these robots were able to move dynamically, meaning that

their body position was not stable at all times, and relied on momentum to transition from

one stable stance to another.

Raibert experimented with one, two, and four legged robots, and found that the control

scheme for all of them is relatively similar [9]. However, each of these families of robots

has different capabilities. One-legged (monopod) robots are relatively limited in their

real-world usefulness because of their need to hop continuously to keep their balance, and

thus were mostly used as a starting point for studying more complicated robots. Two

legged (biped) systems are important in the pursuit of humanoid robots, but controlling

1. Introduction 6

them is difficult due to the balancing required to maintain them upright. As with many systems, there is a trade off with biped robots between stability and mobility. For example, the 3D biped robot developed by Raibert [10] can run and execute impressive

manoeuvres like flips, but it has to run continuously to maintain its balance (Figure 1.10).

On the other hand, a robot like Honda’s Asimo [11] can stand still and walk slowly, but

cannot run at a high speed or jump (Figure 1.11).

Figure 1.10. Raibert’s 3D biped robot [12]. Figure 1.11. Honda’s Asimo robot [11].

To solve the problem of low speed stability while maintaining high speed dynamic

manoeuvring ability, some researchers have looked to insects for inspiration. For

example, RHex [13, 14] is a six with compliant, recirculating legs that

allows it to traverse a variety of terrain very rapidly without falling over (Figure 1.12).

1. Introduction 7

Figure 1.12. The RHex robot [14].

The inspiration for RHex is the cockroach, which walks with an alternating tripod gait,

thus ensuring stability. However, when it comes to manoeuvring over or around obstacles

at a high speed using dynamic locomotion, a robot with six or more legs might not be

ideal because of the large number of degrees of freedom that need to be controlled.

Quadruped systems are a compromise between biped and insect-inspired systems, in that

they are stable at standstill and low speeds, while allowing high speed dynamic manoeuvres without any unnecessary extra legs to control.

There have been many successful quadruped robots built that use principles of dynamic

locomotion to move quickly over relatively flat terrain, starting with Raibert’s robot at

the MIT leg lab [15] (Figure 1.13). This quadruped used pneumatic pistons to power its

legs, and could trot, pace and bound, as well as transition from one gait to another. Two

other examples of quadruped robots are Patrush by Kimura’s Lab [16] (Figure

1.14), and KOLT from Ohio State University [17] (Figure 1.15). Patrush does not have

1. Introduction 8

compliant legs, but uses a dynamically stable walking gait, while KOLT has springy legs and thus is able to trot and bound like the Raibert quadruped.

Figure 1.13. Raibert’s quadruped Figure 1.14. Patrush quadruped Figure 1.15 KOLT quadruped robot [15]. robot [16]. robot [17].

The Mechatronic Locomotion Laboratory, formerly the Ambulatory Robotics Laboratory,

at McGill University is also home to a number of quadruped robots. Scout [18], Scout II

[19] and PAW [20] are all quadruped robots with very simple construction, employing

only one motor per hip and in the case of Scout II and PAW, springy, compliant legs

(Figures 1.16-1.18). PAW also has wheels at the distal ends of its legs, powered by four

more motors. From a mechanical point of view, these robots are even simpler than the

quadrupeds presented above, as they do not have active control of their leg length. The springy legs store energy at the end of a stride and release it at the beginning of the next stride, but they do this without any actuator input. It was found that all three robots can walk and run despite the mechanically simple construction. Furthermore, both Scout II and PAW can replicate the behaviours of Raibert’s quadruped, which had actively controlled leg pistons, thus showing that running can be achieved by systems with very few actuated degrees of freedom.

1. Introduction 9

Figure 1.16. Scout I [18]. Figure 1.17. Scout II [19]. Figure 1.18. PAW [20].

1.3. Quadrupeds on Uneven Terrain

One of the main advantages of legged over wheeled or tracked locomotion is that it is

much more suited to rough, difficult terrain, at least in the biological world. Whereas wheeled vehicles can quickly access areas with flat terrain, much of the earth’s surface remains off limits to these vehicles and is only accessible to humans and animals. Thus, it is desirable to study how quadruped robots handle rough terrain, with the eventual goal of developing robotic systems that can access any areas that humans are able to.

There has been a fair amount of work done on obstacle negotiation using quadruped robots, and due to simplicity much of it has focused on using a static gait to overcome the obstacle. Since in such a gait, the robot is stable at all times, it is permissible to take a long time to perform calculations for path planning, foot positioning and body posture.

For example, Nagakubo and Hirose’s wall climbing robot NINJA-I [21] (Figure 1.19),

1. Introduction 10

Boston Dynamics’ LittleDog [22] (Figure 1.20), and Igarashi et al.’s quadruped robot

[23] (Figure 1.21) all use a static gait to deal with rough or uneven terrain.

Figure 1.19. NINJA-I wall Figure 1.20. Boston Dynamics’ Figure 1.21. Igarashi et al.’s climbing robot [21]. LittleDog robot [22]. quadruped robot [23].

Dynamic gaits on uneven terrain are much harder to achieve, due to the limited

computation time available and the need to carry momentum through from one stable

position to another. In many dynamic movement algorithms, the leg positions required to

achieve the momentum transfer are calculated by assuming the leg will touch down at the

same ground height as when the legs took off, an assumption that does not hold on

uneven terrain. Thus, when the leg touches down at a different ground height or hits an

obstacle before reaching the touch down position, the momentum transfer is interrupted

and the robot might fall over.

In an attempt to solve this problem, Boston Dynamics has built BigDog [24], an

extremely sophisticated quadruped robot designed to aid soldiers on a battlefield by

carrying heavy equipment (Figure 1.22). BigDog, which uses a gasoline engine for

power, is able to trot, run, and walk over rough terrain such as steep slopes, rocks and

1. Introduction 11

concrete debris. It handles rough terrain in two ways: with a slow, statically stable walk used on terrain with an extreme amount of irregularity, such as a field of rubble, and with a faster, dynamically stable walk used on steep but smoother surfaces. In addition to its impressive walking capability on rough terrain, BigDog can also jump to approximately its hip height, a behaviour that is very useful at clearing obstacles rapidly without losing forward momentum.

Figure 1.22. Boston Dynamics’ BigDog robot [24].

Due to the usefulness of being able to surmount large obstacles without stopping, the jumping behaviour has also been studied on a variety of other robotic platforms. Orin and

Wong simulated with great detail the standing jump of a quadruped robot [25] (Figure

1.23), while Kikuchi et al. describe the simulation and construction of a pneumatic piston powered jumping robot in [26] (Figure 1.24).

1. Introduction 12

Figure 1.23. Orin and Wong’s simulated jumping Figure 1.24. Kikuchi et al.’s pneumatic jumping quadruped [25]. quadruped [26].

The main constraint for jumping robots is the size and weight of the power source, since jumping requires a large expenditure of energy in a short period of time. Consequently, jumping robot prototypes often employ some kind of off-robot power supply, be it electric or pneumatic [15, 17, 26].

1.4. Background on PAW

Exceptions to the external power supply design used by most quadruped robotic systems built for uneven terrain are the Scout II and PAW robots developed at the Mechatronics

Locomotion Laboratory at McGill University. They feature onboard batteries for power supply, as well as an onboard computer for autonomous control. While not strictly designed for “off road” use, they have proven to be very versatile robotic platforms, and some rough terrain negotiation capability has been developed for both of them. Scout II is able to climb steps with a simple rocking gait, and PAW is able to roll up and down hills while maintaining a level body position through the use of an inertial measurement unit.

1. Introduction 13

However, the most interesting aspect of PAW when it comes to rough terrain applications is its hybrid wheeled-leg design. As discussed in the previous sections, most wheeled-leg systems are primarily wheeled vehicles with minor legged functionality, and the full potential of the wheeled-leg system has not yet been explored. PAW, on the other hand, is a fully capable legged system that has the extra feature of wheels at the distal ends of each leg. Purely legged behaviours such as the bound, pronk, and gallop have been implemented on PAW [20], proving the versatility of the robot. In fact, PAW was only the second physical robot to be able to successfully gallop, after Scout II [19].

Figures 1.25 – 1.27 show PAW executing a dynamic braking manoeuvre with spread legs, descending a slope while maintaining a level body position, and bounding. These behaviours show the potential of PAW, but the full capability of its hybrid design has not yet been utilized in a legged manoeuvre. Due to this unique wheeled-leg capability, PAW is an excellent platform for developing useful rough terrain behaviours on a power .

Figure 1.25. PAW braking [20]. Figure 1.26. PAW descending a Figure 1.27. PAW bounding slope [20]. [20].

1. Introduction 14

1.5. Thesis Objectives

Due to the fact that PAW, with its hybrid wheeled-leg design, has been shown to be

capable of a variety of dynamic behaviours, it is desired to extend the robot’s capabilities

so that it can overcome larger obstacles. Since PAW does not have a highly jointed and

controllable leg, as it the case in BigDog (Figure 1.22), it is impossible to design a

behaviour for it that requires precise foot placement on uneven terrain. We focus instead

on developing a jumping behaviour for PAW, exploiting its unique ability among

quadruped robots to accelerate to a high speed in a short time period using its motor

driven wheels. The jump will allow PAW to clear obstacles in its path, thus extending its

rough terrain capability.

In addition to developing a jumping behaviour, we are interested in knowing why PAW

performs the way it does, and if there is any way to improve its performance. Ideally, we would like to maximize PAW’s jumping potential, and for this we need to understand what factors contribute to a successful jump. Therefore, we state the four major goals of the project as follows:

1. Develop a dynamic jumping behaviour for PAW that allows it to clear a

reasonably sized obstacle.

2. Understand the mechanics of the jump, and determine which parameters have the

greatest effect on the jumping height.

3. Optimize the jumping behaviour to achieve maximum height.

1. Introduction 15

4. Enable PAW to transition from a rolling or bounding behaviour into the jump in

order to clear obstacles in its path.

The first three were achieved at the conclusion of the present thesis, but due to time

constraints the last objective was not met.

A substantial part of this work is carried out in simulation in order to make the analysis of

data easier, to have the ability to rapidly make significant changes to the model, to eliminate the possibility of damaging the physical robot in the early stages of jump development, and to make parameter optimization easier. Once the behaviour is sufficiently stable in simulation, it is transferred to the physical robot for evaluation and

demonstration, which culminates this research.

2. PAW Simulation Model 16

Chapter 2. PAW Simulation Model

2.1. Previous PAW Models

Three simulation models of PAW have been created previously to study specific subjects or behaviours. Steeves [27] used WorkingModel 2D, a motion simulation program [28], to create a two-dimensional simulation of PAW during its design and analysis phase in order to size components and explore the manoeuvrability of the robot before it was built.

In addition, he also developed several novel behaviours that are detailed in Chapter 3.

The model used a proportional-derivative (PD) controller to generate hip and wheel motor torques, which were then checked against the motors’ torque-speed curves to ensure their validity. Figure 2.1 shows the 2D WorkingModel schematic of PAW.

Figure 2.1. Steeves’ 2D WorkingModel schematic of PAW [27].

Smith [20] constructed a three-dimensional model of PAW using the popular

MSC.ADAMS mechanics simulation software [29]. He used the model to develop

2. PAW Simulation Model 17

bounding and galloping algorithms for PAW. However, since he did not make use of the

active wheels during these behaviours, his ADAMS model did not include wheels at all

(Figure 2.2).

Figure 2.2. Smith’s model of PAW in MSC.ADAMS [20].

Just like Steeves’ model, this simulation used a PD controller to generate hip torques

based on desired angles, and checked them against a torque-speed curve to ensure

validity. Furthermore, it also implemented a battery model to simulate the effect of

current load on battery voltage. This increased the accuracy of the simulation because

during periods of simultaneous activation of the hip motors, enough current can be drawn

to significantly affect the battery voltage and thus motor performance.

Smith used an ADAMS/Simulink co-simulation for his work, which allows an ADAMS mechanical system to communicate with and be controlled by a Simulink program. This is an extremely powerful combination, as it allows one to completely separate the tasks of simulating the physics of a mechanism and controlling it. Due to its usefulness, the co- simulation method is used in this thesis to develop the jumping behaviour.

2. PAW Simulation Model 18

Finally, Tolley [30] developed an MSC.ADAMS simulation of PAW that included the

actuated wheels in order to study jumping behaviours. However, unlike Smith, he did not

implement his simulation with an ADAMS/Simulink co-simulation, nor did it include a

battery model to account for the effects of high motor current draw. Unlike the previous

two models, this simulation simply specified the torques to be applied to the hips and

wheels at various times, checking the motor’s torque-speed curve to ensure it was not

being violated. From a control perspective, this model is the simplest of the three, but

from a physical dynamics perspective, it is the most detailed. Figure 2.3 shows Tolley’s

ADAMS model of PAW.

Figure 2.3 Tolley’s model of PAW in ADAMS.

Since Steeves’ model is only a 2D simulation, and Smith’s model lacks wheels because

they were not needed for bounding, Tolley’s three-dimensional ADAMS model is used in

this thesis as the basis for an improved simulation of PAW. In order to enhance its utility,

it is augmented by implementing a co-simulation with Simulink. Further enhancements include a detailed battery model, amplifier/motor models for both the hips and wheels,

2. PAW Simulation Model 19

and inclusion of the effects of the rubber hip belt. Details of these improvements can be found in Section 2.4.

2.2. Model Details

As described in the previous section, we use Tolley’s three-dimensional ADAMS model as a basis for the current simulation. Figure 2.3 shows the model, Table 2.1 lists all the parameters relating to high-level control of the model, Table 2.2 lists the important mechanical parameters of the model, and Table 2.3 lists the electrical parameters of the model. The meaning of the parameters is discussed in Sections 2.3 and 2.4.

TABLE 2.1. PAW CONTROLLER PARAMETERS

Parameter Symbol Value Units

Hip Angle Error Proportional Gain K P Hip 200 Nm / rad

Hip Angle Error Derivative Gain K D Hip 2 Nm s / rad

Hip Angle Error Integral Gain K I Hip 0.2 Nm / rad Hip Error Integral Limit - 4 rad

Wheel Angle Error Proportional Gain K PWheel 2 Nm / rad

Wheel Angle Error Derivative Gain K DWheel 0.02 Nm s / rad

Wheel Angle Error Integral Gain K I Wheel 0.005 Nm / rad Wheel Error Integral Limit - 20 rad

2. PAW Simulation Model 20

TABLE 2.2. PAW MECHANICAL MODEL PARAMETERS

Parameter Symbol Value Units

Body Length - 0.494 m

Front Body Width - 0.366 m

Rear Body Width - 0.240 m

Front-Rear Hip Separation l 0.322 m Body Height - 0.168 m

Body Mass m 15.7 kg

Body Moments of Inertia [Ixx, Iyy, Izz] - [0.170, 0.470, 0.372] kg m2

Leg Length d 0.212 m Leg Mass - 1.3 kg

Leg Spring Constant (2 springs in parallel) k 4200 N/m

Hip Gearbox Ratio nG Hip 73.5 -

Hip Gearbox Efficiency ηG Hip 72% -

Hip Pulley-Belt Transmission Ratio nT Hip 1.333 -

Hip Pulley-Belt Efficiency ηT Hip 96% -

Wheel Gearbox Ratio nGWheel 4.3 -

Wheel Gearbox Efficiency ηGWheel 80% -

Wheel Bevel Gear Transmission Ratio nT Wheel 3 -

Wheel Bevel Gear Efficiency ηT Wheel 90% -

Hip Belt Torsional Spring Constant* K belt 215 Nm / rad

Hip Belt Torsional Damping Coefficient * Cbelt 2.34 Nm s / rad *Calculated in Section 2.4.5

2. PAW Simulation Model 21

TABLE 2.3. PAW ELECTRICAL MODEL PARAMETERS

Parameter Symbol Value Units

Hip Stall Torque - 64 Nm

Hip Max Torque (Current Limited) - 52.7 Nm

Hip Amplifier Current Limit - ± 20 A

Hip Amplifier Input Gain K C 2 A / V

Hip Amplifier Proportional Gain K P Amp 0.5 V / A

Hip Amplifier Integral Gain K I Amp 0.01 V / A s

Hip Motor Torque Constant KT Hip 0.0389 Nm / A

Hip Motor Speed Constant Kω Hip 0.0388 V s / rad

Hip Motor Winding Resistance RHip 1.23 Ω

Hip Motor Winding Inductance LHip 0.00034 H Wheel Stall Torque - 4.6 Nm

Wheel Motor Torque Constant KT Wheel 0.0163 Nm / A

Wheel Motor Speed Constant KωWheel 0.0169 V s / rad

Wheel Motor Amplifier Resistance RAmp 0.45 Ω

Wheel Motor Winding Resistance RWheel 1.33 Ω

Nominal Battery Voltage Vbf 37.2 V

Battery Internal Resistance Rb 0.13 Ω

2.3. Control Method

The high-level position control of both the simulated and actual PAW’s legs and wheels is accomplished by a PID controller acting on desired angles and velocities. The physical robot has two other controller options: torque control and velocity/acceleration control.

However, since the jumping behaviour is developed using desired positions and velocities only, these two extra controller types are not implemented in simulation. The PID controller outputs a desired torque, which is then used as an input to the simulation’s

2. PAW Simulation Model 22

motor model to generate an output torque. This output torque is used as an input to the

ADAMS model, forming a feedback loop. The desired hip torque Td Hip is implemented both in simulation and on the physical robot as

ΔθHip =θHip −θ0 Hip , (2.1)    ΔθHip =θHip −θ0Hip , (2.2)

T = K Δθ + K Δθ + K Δθ dt , d Hip P Hip Hip D Hip Hip I Hip ∫ Hip (2.3)

 where θ Hip is the current leg angle relative to the body, θ 0 Hip is the desired leg angle, θ Hip

 is the current leg velocity relative to the body, θ 0 Hip is the desired leg velocity, and the

PID gains are defined in Table 2.1. The integral term on the right hand side of equation

(2.3) is implemented in simulation as an accumulator, and is limited by the hip error integral limit of 4 rad, which ensures that it does not grow without bounds to destabilize

the system. The desired wheel torque Td Wheel is implemented in an identical manner, except for an integral limit of 20 rad:

ΔθWheel =θWheel −θ0 Wheel , (2.4)    ΔθWheel =θWheel −θ0 Wheel , (2.5)

T = K Δθ + K Δθ + K Δθ dt . d Wheel P Wheel Wheel D Wheel Wheel I Wheel ∫ Wheel (2.6)

Before the desired torques are passed to the motor models, they are converted into voltage ranges that the motor models can accept as inputs. Although not strictly necessary for the simulation to work, these conversions are included in order to accurately reflect

2. PAW Simulation Model 23

the flow of information in the physical robot. For the hip motors, the desired torque Td Hip is first converted to a desired current with the equation

Td Hip id Hip = , (2.7) α Hip KT Hip

where KT Hip is the hip motor torque constant, and α Hip is the cumulative effect of the hip

gear ratios and transmission efficiencies, and is defined as

α Hip = nG HipηG Hip nT HipηT Hip , (2.8)

where all the terms on the right hand side are defined in Table 2.2 in Section 2.2. Then,

the desired current is converted to a signal voltage va via the conversion factor K C :

id Hip va = . (2.9) KC

For the wheel motors, the desired torque Td Wheel is converted to a desired current using

Td Wheel id Wheel = , (2.10) αWheelKT Wheel

where all the terms are the wheel equivalents of the hip variables in equation (2.7), and

αWheel is defined as

αWheel = nGWheelηGWheel nT WheelηT Wheel . (2.11)

The variables on the right hand side of equation (2.11) are defined in Table 2.2 in Section

2.2. The desired current is then converted to a duty factor λ :

2. PAW Simulation Model 24

2 vviRKb±− b4 d Wheel Amp( ω Wheelω m Wheel + iR d Wheel Wheel ) λ = . (2.12) 2iRdWheel Amp

Only values of λ between –1 and +1 inclusive are valid, as the duty factor determines the

PWM voltage signal that the wheel amplifier applies to the motor. Details of the calculation are in [32] as well as Section 2.4.4, which discusses the wheel motor model in more detail. Table 2.4 summarizes the inputs and outputs of the controllers described in this section.

TABLE 2.4. PID CONTROLLER INPUTS/OUTPUTS

Hip Controller Wheel Controller

Inputs Intermediary Output Inputs Intermediary Output

Angular Desired Signal Angular Desired Duty

Quantities Torque Voltage Quantities Torque Factor

θ T v θ T λ Hip d Hip a Wheel d Wheel

θ 0 Hip θ 0Wheel

θ θ Hip Wheel θ θ 0 Hip 0Wheel

2.4. Simulation Improvements

In order to create a simulation model that can be reliably used for development of a jumping behaviour, and have the results be transferable to the physical robot with a minimum amount of modification, more detail needs to be added to Tolley’s ADAMS model [30]. Two areas of the simulation need augmentation: implementing an electrical

2. PAW Simulation Model 25

system that includes the battery and a detailed motor model, and implementing the effect

of the rubber hip belts between the gearboxes and the legs. With these improvements, the

simulated model matches the physical robot more closely, increasing the value of the

simulation results.

2.4.1. Electrical Model

Some studies in robotic locomotion make the assumption that motors can deliver any

desired torque instantly, within reasonable limits [32]. However, this assumption

becomes faulty when there are many motors operating together and thus draining the

power supply, and when the motors are required to operate near their limits [33]. On a bounding, jumping quadruped such as PAW, both of these conditions exist, thus more detail is needed in the simulation if it is to be an accurate representation of the physical

robot.

The goal of the next three subsections is to arrive at equations describing the torque

output of the hip and wheel amplifier/motor systems, given the PID controller outputs va

and λ described in Section 2.3. Table 2.3 lists the constants used in the calculations, and

the Simulink implementation of the equations is presented in Section 2.5.

2.4.2. Battery Model

To simulate a finite power supply, we model PAW’s battery in a manner identical to that

found in Smith’s experiments on bounding [20]. The battery is constructed from a fixed,

ideal voltage source and an internal resistance. The value of the fixed voltage source is

2. PAW Simulation Model 26

Vbf = 37.2 V, and the internal resistance is Rb = 0.13 Ω based on experiments in [20].

The battery terminal voltage, vb , is defined as

vb = Vbf − ib Rb , (2.13)

where ib is the battery current. Figure 2.4 shows a schematic diagram of the battery model, as well as its connections to both the hip and wheel amplifier/motor systems. Note that while only one amplifier/motor combination is shown for both the hip and the wheel, in actuality there are four of each on the robot.

Figure 2.4. Schematic of simulated battery model.

2.4.3. Hip Amplifier and Motor Model

The AMC 25A8 hip amplifiers on PAW operate in current feedback mode, monitoring the output current and adjusting the output voltage when the output current deviates from the desired current. The AMC 25A8 documentation [34] depicts the amplifier’s internal circuitry, from which it is possible to discern that the current feedback mode uses a

2. PAW Simulation Model 27

proportional-integral (PI) controller. Therefore, the following equations describe the

amplifier’s voltage output vm Hip , which is equal to the voltage across the motor windings:

id Hip = Kcva , (2.14)

ΔiHip = id Hip − iHip , (2.15)

v = K Δi + K Δi dt + v , m Hip P Amp Hip I Amp ∫ Hip set (2.16)

where va is the voltage signal corresponding to the desired motor torque calculated by

the high level PID controller, as detailed in Section 2.3, K c is the amplifier’s preset input

voltage to output current gain, iHip is the actual current in the amplifier, id Hip is the

desired current, K P Amp is the proportional gain and K I Amp is the integral gain of the

current feedback loop. It is noted that vm Hip has a saturation value of ± vb , because the

amplifier cannot output a higher voltage than the battery voltage. Also, both iHip and

id Hip have a saturation value of ± 20 A imposed by the amplifier’s internal circuitry as

well as the programming of the high level PID controller. In equation (2.16), vset is the

steady state voltage required to run the motor with the desired current at the present

motor speed. It is defined by

vset = RHipid Hip + Kω Hipωm Hip , (2.17)

where RHip is the winding resistance of the hip motor, Kω Hip is the speed constant of the

hip motor, and ωm Hip is the hip motor’s speed.

2. PAW Simulation Model 28

The hip motors can be represented simply as a back emf voltage source, a winding inductance, and a winding resistance in series. The equation describing this circuit is

di v = i R + L Hip + K ω , (2.18) m Hip Hip Hip Hip dt ω Hip m Hip

and is shown schematically in Figure 2.5. Note that Kω Hipωm Hip is represented by the

label emf in the figure. The important difference between equations (2.17) and (2.18) is that the former represents the steady state voltage at the desired current, so it does not include the transient current derivative term present in the latter.

Figure 2.5. Schematic of simple motor model.

To solve for the current through the motor, iHip , we rearrange equation (2.18) into a state-

space form

x = Ax + Bu , (2.19) y = Cx + Du ,

2. PAW Simulation Model 29

where the components are defined as

⎡vm Hip ⎤ x = iHip , u = ⎢ ⎥ , ⎣ωm Hip ⎦

RHip ⎡ 1 Kω Hip ⎤ (2.20) A =− , B = ⎢ − ⎥ , LHip ⎣⎢ LHip LHip ⎦⎥

C =1, D = [0 0].

In this state-space form, Simulink can solve for iHip at each time step, which allows us to

calculate the hip motor output torque Tm Hip as

TKim Hip= T Hip Hip , (2.21)

where KT Hip is the torque constant for the hip motor. Finally, we calculate the torque

applied on the legs by including the effects of the gearbox and hip belt:

THip = α HipTm Hip (2.22)

where α Hip is the combined effect of the gearbox and hip belt transmission ratios, as well

as the gearbox and hip belt transmission efficiencies, and is defined in equation (2.8).

2.4.4. Wheel Amplifier and Motor Model

The SA60 wheel motor amplifier does not have a current feedback loop, unlike the AMC

25A8. It is simply an open-loop amplifier, where an input voltage is used to set a desired

output current based on the manufacturer specified conversion factor. However, the

2. PAW Simulation Model 30

actual amplifier output current might be quite different than this depending on the

characteristics of the load being driven. In order to calculate the actual amplifier output

current, we use the method described in [31] to define the following equations:

vm Wheel = λ vamp , λ ∈[−1,1], (2.23)

vviRamp= b− amp Amp , (2.24)

iamp = λ im Wheel , (2.25)

where λ is a duty factor set by the high level PID controller described in Section 2.3 and

determines what fraction of the amplifier voltage vamp to apply to the motor. In equation

(2.24), RAmp is the internal resistance of the SA60 amplifier, iamp is the input current to

the amplifier and im Wheel is the output current going to the wheel motor.

Since precise wheel motor control is not as necessary as precise hip motor control, nor is

it possible without current feedback in the amplifier, we ignore the effect of the winding

inductance and write the equation for wheel motor current as

vm Wheel − Kω Wheelωm Wheel im Wheel = , (2.26) RWheel

where Kω Wheel is the speed constant for the wheel motor, RWheel is the winding resistance

of the wheel motor, and ωm Wheel is the wheel motor’s speed. We rewrite im Wheel by

substituting equations (2.23) through (2.25) into (2.26) to get

λ vKb− ω Wheelω m Wheel imWheel = 2 . (2.27) RRWheel+ λ Amp

2. PAW Simulation Model 31

Finally, the wheel motor torque can be calculated from the current imWheel by the definition

T m Wheel = KT WheelimWheel , (2.28)

where KT Wheel is the wheel motor torque constant. We convert the motor torque to the

torque applied at the wheel by including the effect of the gearbox and bevel gear:

TWheel = αWheelTm Wheel (2.29)

where αWheel is the combined effect of the gearbox and bevel gear ratios and transmission

efficiencies defined in equation (2.11).

2.4.5. Hip Belt Model

Due to the inherent nature of PAW’s dynamic locomotion, such as bounding and

galloping, a large amount of stress is placed on the hip joints during impacts from landing. If the motors were directly connected to the legs via gearboxes, all of the torque

generated from landing impacts would be transmitted into the gearboxes. Since they are

not built to handle such large, impulsive external loads, the gearboxes would soon fail. In

order to protect them, the gearboxes are isolated from the hip joints by using flexible,

rubber belts. The belts are rigid enough to allow effective transmission of power, but flexible enough to stretch in case of a sudden applied load, saving the gearboxes and motors. However, the addition of the hip belts to the robot means that we are no longer

certain of the position of the legs relative to the body, because the motor encoder readings

do not account for belt stretch. In addition, slightly different dynamics will be exhibited

2. PAW Simulation Model 32

by the robot (compared to a fixed gearbox-leg connection design) on both takeoff and landing, as the hip belts stretch under large accelerations and impacts. To accurately model these phenomena in the ADAMS simulation, we add a torsional spring-damper system to the hip joint between the torque input and the leg. The torsional spring torque

of the belt Tbelt is defined by

  Tbelt = Kbelt (θshaft −θ0shaft )+Cbelt (θshaft −θ0shaft ), (2.30)

where K belt is the spring constant of the torsional spring, Cbelt is its damping coefficient,

 θ shaft is the angular displacement of the leg, θ shaft is the angular velocity of the leg, and

 θ 0 shaft and θ 0 shaft are the desired angle and velocity of the leg. These leg positions and velocities are defined with respect to the gearbox shaft, not the robot’s body. Figure 2.6 shows a diagram of this configuration. It features a top-down view of the ADAMS model, showing the right side of the robot with its rear hip assembly exploded for clarity,

and the front hip shown assembled for reference. In the figure, THip is the torque applied

by the body on gearbox shaft from equation (2.22), and Tbelt is the spring torque defined by equation (2.30), applied by the gearbox shaft on the leg.

2. PAW Simulation Model 33

Figure 2.6. Top-down view of the PAW ADAMS model.

To determine the values of K belt and Cbelt to be used in simulation, a simple test is

performed. The robot is placed on its “belly” and securely held down, with all of its legs

touching the ground. The wheels are then clamped onto the ground, so that no external

part of the robot is allowed to move. Next, the legs are commanded to stand up, but since

they are locked in place, the motors simply output an increasing amount of torque that

stretches the hip belts. Once a predetermined torque threshold is reached, the motors are

suddenly turned off, allowing the stretched hip belt to retract and the gearbox shaft to

oscillate. We are able to calculate K belt from the steady stretching portion of the

experiment, where the gearbox shaft angle increases linearly with motor torque, given by

ΔTbelt Kbelt = , (2.31) θshaft

and shown in Figure 2.7. The absolute value of the slope of the linear trendline fitted to each hip’s data equals the torsional spring constant for that hip. The average spring constant for all four hips is 215 Nm/rad and is the value used in simulation.

2. PAW Simulation Model 34

Figure 2.7. Results of the hip belt stretch test.

Figure 2.8. Result of the hip belt oscillation test.

2. PAW Simulation Model 35

To find the value of Cbelt , we consider the damped response of the gearbox shaft once the

motor torque is removed. Figure 2.8 shows the result of this test from hip 2, which is

representative of all the data collected. In the above figure, A1 and A2 are the amplitudes

of peak 1 and peak 2 in the oscillation, and T is the period of the signal. To calculate the

damping constant Cbelt , we must find the exponential decay envelope that fits the

gathered data using the logarithmic decrement method. It would be desirable to use peaks

in the data that are further apart than a single period T , but since the signal decays so

quickly we are forced to use the peaks shown above. Upon applying the logarithmic

decrement method, we calculate the damping ratio ζ of the system as

A ln 1 A ζ = 2 . 2 (2.32) ⎛ A1 ⎞ 2 ⎜ln ⎟ + 4π ⎝ A2 ⎠

However, for equation 2.30 we need Cbelt , not ζ , thus we convert from one to the other:

Cbelt = 2ζ Kbelt Ibelt , (2.33)

where K belt is the torsional spring constant found earlier, and I belt is the equivalent

inertia of the gearbox gears and the motor armature. The average value of Cbelt from the

oscillation tests is found to be 2.34 Nm s / rad. Table 2.2 lists the parameters found from

both the hip belt stretch and oscillation tests. With both the electrical and hip belt system defined, we can now implement their models in an ADAMS/Simulink co-simulation which should yield a better model of PAW than any of the simulations built thus far.

2. PAW Simulation Model 36

2.5. Simulink Model

The equations developed in Sections 2.2 –2.4 are implemented in an ADAMS/Simulink co-simulation with a combination of block diagrams and Matlab functions. The flow of data is shown in Figure 2.9, a simplified block diagram model of the full simulation, and

Table 2.5 lists the inputs and outputs of the ADAMS plant. The “PID Controller” block implements the equations from Section 2.3, and the “Amp/Motor Model” block implements the equations of Sections 2.4.3-2.4.4. Battery voltage is calculated by summing the current draw of all the motors and applying equation (2.13). Note that in

Figure 2.9, T represents all joint torques, and θ,θ represents all angular and velocity measurements. Memory blocks are required for all the feedback variables (total current, hip torques, wheel torques) in order to make numerical simulation possible, which are initialized to have zero value at the beginning of simulation. Figure 2.10 shows the fully developed Simulink model, with details of hips and wheels 2-4 removed for clarity.

Figure 2.9. Simplified block diagram representation of the co-simulation.

TABLE 2.5. PAW ADAMS PLANT INPUTS/OUTPUTS

Inputs Outputs Leg 1-4 Angles Hip 1-4 Torques Leg 1-4 Angular Velocities

Wheel 1-4 Torques Wheel 1-4 Angles Wheel 1-4 Angular Velocities

2. PAW Simulation Model 37

Figure 2.10. Partial Simulink model.

2. PAW Simulation Model 38

2.6. Model Validation

In order to ensure that results obtained with the simulated model are reproducible on the physical robot, it is necessary to validate the former against the latter. Identical desired leg angle inputs are supplied to both simulated and physical robots to perform a stand-up manoeuvre, and the resulting leg angles and hip torques are compared. Since it is more difficult to accurately match simulated and actual torques than joint angles in robotic systems, we are more concerned with the leg angle comparison in order to evaluate the goodness of the simulated model. The stand-up manoeuvre consists of the robot lying on its “belly” on a level surface, with all legs parallel to the ground. The legs are commanded to a vertical position via a smooth trajectory, which causes the robot to stand up. Figure 2.11 shows the simulated robot performing this manoeuvre.

Figure 2.11. Simulated model of PAW performing the stand-up manoeuvre.

Figures 2.12 and 2.13 show the position and torque data from the front hips for both the physical and simulated PAW robot performing the stand-up manoeuvre. The rear hip data is very similar and thus not shown.

2. PAW Simulation Model 39

Figure 2.12. Front hip angles of PAW while performing the stand-up manoeuvre.

Figure 2.13. Front hip torques of PAW while performing the stand-up manoeuvre.

2. PAW Simulation Model 40

As can be seen in the above plots, the simulated model does a very good job of replicating the torque and leg angle profiles of the physical robot. The difference in torques at the beginning of Figure 2.13 are caused by the fact that the simulated model needs to apply a torque in order to control the descent of the legs before they touch the ground, whereas the planetary gearbox of the physical robot has enough internal friction to make this torque unnecessary. Figure 2.12, on the other hand, shows that the physical and simulated leg angles are essentially identical, leading to high confidence in the simulated model.

At this point, we have developed a detailed simulation of PAW that replicates its physical behaviour very closely. The increased accuracy of the simulation provided by the hip belt and electrical models allows us to develop a jumping behaviour in simulation first, knowing that the results will transfer to the physical robot with little to no modification.

3. Jumping Behaviours on PAW 41

Chapter 3. Jumping Behaviours on PAW

There has been little previous work carried out on developing obstacle-clearing behaviours for PAW, using both static and dynamic means of locomotion. Both Tolley

[30] and Steeves [27] simulated jumping as well as other behaviours to negotiate obstacles, using the simulation models described in Chapter 2. A summary of their work is presented here, followed by a description of the new jumping behaviour that is developed in this thesis.

3.1. Steeves’ Behaviours

The first attempts at developing obstacle-clearing behaviours for PAW came from

Steeves, who used Working Model 2D to build a planar, symmetrical model of the robot in order to study its dynamics. Since the model is symmetrical in both the transverse and sagittal planes, and is equipped with simulated motors limited only by a torque-speed curve, it can perform some impressive manoeuvres. The first obstacle-clearing behaviour uses the bounding gait of the robot in order to build up momentum before the jump, after which PAW performs a very large bound over the obstacle.

3. Jumping Behaviours on PAW 42

Figure 3.1 Steeves’ simulated PAW performing the bound-jump [27].

As can be seen in Figure 3.1, this dynamic manoeuvre allows PAW to clear a very large obstacle, but implementing this behaviour on the actual robot would be impossible, as well as impractical. PAW’s drive train is incapable of generating the torque required to perform this jump, in addition to the fact that landing directly on the robot’s undercarriage is undesirable.

Another behaviour developed by Steeves is the one leg bounce, shown in Figure 3.2, which is a more controlled method of getting over an obstacle.

Figure 3.2 Steeves’ PAW model executing the one leg bounce [27].

3. Jumping Behaviours on PAW 43

In this manoeuvre, PAW bounces on one leg, using the actuated wheels to gain more height with each bounce (Figure 3.2 A-F). When it is sufficiently high off the ground, the rear wheels are used to drive the robot to the obstacle and land on top of it.

Unfortunately, this sequence is all that appears in Steeves’ work, so it is unclear how the robot would completely pull itself onto the ledge. In addition, this manoeuvre requires a considerable amount of windup time, as sufficient height is needed from the one legged bounces before the obstacle can be mounted.

Finally, Steeves shows the manoeuvre of Figure 3.3 as a way to overcome obstacles. This method uses a highly dynamic flipping motion, which makes use of the symmetrical nature of the 2D simulated PAW. This would be more difficult to perform with the physical robot due to its asymmetry. In addition, the robot lands on the obstacle upside down, thus it would be necessary for the physical PAW to right itself before continuing.

Lastly, the simulation once again makes no mention of how the robot would return to a standing position from the configuration in Figure 3.3 G. It could perhaps use its front wheels to pull itself forward, but this is not clear.

Figure 3.3 Steeves’ PAW model using a backflip to overcome obstacle [27].

3. Jumping Behaviours on PAW 44

3.2. Tolley’s Behaviours

Further efforts to create obstacle-clearing behaviours for PAW were undertaken by

Tolley [30], who used a three-dimensional MSC.ADAMS model of the robot to develop his algorithms, as described in Chapter 2. Figure 3.4 shows the step-clearing manoeuvre developed previously for the Scout II quadruped robot by [35], which was initially considered by Tolley in his work. However, this approach was rejected because it can only overcome small steps, and the ultimate goal of developing a new behaviour for

PAW is to enable it to traverse real-world terrain.

Figure 3.4. 2D model of Scout II clearing a step [35].

The next method considered by Tolley was the static manoeuvre shown in Figure 3.5, which shows a PAW-like robot climbing a step one leg at a time. This approach is problematic for two reasons. First, Tolley showed that PAW is not capable of supporting itself on only one front leg because of leg compliance. When one leg lifts up, the other leg compresses to such an extent that the robot topples over. Second, it would require the

3. Jumping Behaviours on PAW 45

use of recirculating legs, otherwise there needs to be a “resetting” period once the obstacle is cleared to allow the legs to return to their normal positions, which is undesirable. In addition, PAW was designed to study and further the art of dynamic locomotion, and developing a statically stable gait to clear obstacles would counter the intentions of the robot’s design.

Figure 3.5. Diagram of a quadruped executing an alternating leg climb[30].

The next manoeuvre, which Tolley chose for his final design, is the double hop. As shown in Figure 3.6, the double hop starts with a standing jump, which allows PAW’s front legs to move onto the step. Next, the robot lowers into a crouched stance and drives towards the step. After a small time interval, both the front and rear legs thrust, propelling the robot over the obstacle. While this method works well in simulation, and most likely on the physical platform as well, it is rather slow as it involves two distinct flight phases separated by 3 seconds, with the total manoeuvre time being 5.5 seconds.

3. Jumping Behaviours on PAW 46

Figure 3.6. Tolley’s simulated PAW executing a double hop to clear a step [30].

3.3. New Jumping Behaviour

As can be seen by this summary of jumping behaviours developed for PAW, all of the methods attempted thus far have had severe limitations. Steeves’ work, while novel, would be extremely difficult to implement on the physical platform due to the nonsymmetrical nature of the robot, as well as limitations on its drivetrain power output.

On the other hand, the methods proposed by Tolley suffer from other limitations, such as the inability to clear reasonably sized obstacles, or taking an unnecessarily long time.

Furthermore, all of the previously developed behaviours have been implemented only in simulation. Unfortunately, due to the low accuracy of Tolley’s simulation, and the assumptions made in Steeves’ 2D simulation, it is not possible to transfer their developed behaviours directly to the physical platform with the expectation of obtaining the same results. In order to develop a jumping behaviour that will clear reasonably sized

3. Jumping Behaviours on PAW 47

obstacles, take a short amount of time, and be physically feasible, the improved, high fidelity simulation model of PAW is used. This simulation model, described in Chapter 2, allows a wide range of numerical experiments to be performed, and the corresponding results can be easily transferred to the physical platform without significant modifications.

The new proposed jumping method is the single hop, a manoeuvre where the robot clears the obstacle in one clearly defined jump, rather than in multiple stages. Quadrupedal animals, such as the anole lizard in Figure 3.7, use this dynamic motion to avoid predators or jump over obstacles.

Figure 3.7. Anole lizard performing a standing jump [36].

This method was considered but subsequently abandoned by Tolley in his development of the double hop, because he found that the single hop did not allow for a satisfactory clearance of reasonably sized obstacles. However, it is proposed that the single hop can be a very effective manoeuvre when combined with active wheel control, an example of which is shown in Steeves’ one leg bounce (Figure 3.2). The reason why Tolley’s attempts with the single hop failed is because he attempted to implement a standing single hop, where the robot starts the jump from complete standstill. Quadruped animals

3. Jumping Behaviours on PAW 48

are able to perform the single jump because they have active control of the length of their hind limbs [36, 37, 38]. However, since PAW’s legs have passive springs instead of actuated muscles, the leg length and thus the energy release can only be controlled indirectly via the leg angles, wheels speeds, and the robot’s overall velocity. The proposed jumping method uses the forward velocity from a rolling phase to compress the rear leg springs, and thus produce a sufficiently high jump. Essentially, this behaviour simply uses the leg springs to redirect some of the kinetic energy of the robot generated by the run-up phase from horizontal to vertical, launching it in the air. Figure 3.8 shows the proposed jumping sequence, separated into five important phases: a) forward momentum gain, b) body positioning, c) rear leg compression, d) rear leg rotation, and e) flight. Although easy in principle, the manoeuvre is sensitive to many different parameters, as shown in Section 5.1, making its development more challenging than it appears.

A B C D E

Figure 3.8. Illustration of the new proposed jumping sequence.

4. Simple PAW Model 49

Chapter 4. Simple PAW Model and Dimensional Analysis

4.1. The Simple PAW Model

The full ADAMS model of PAW, described in Chapter 2, implements many details in the simulation. While the ultimate goal of this thesis is to use the full model to develop a jumping behaviour, without understanding the basics of the jumping process, an excessive amount of time might be spent on problems that could have been avoided.

When looking to develop and optimize a jumping behaviour on PAW, the level of detail implemented in the full model can cause two problems. First, the simulations take a long time to run, and waiting for the results of parameter changes is time consuming. Second, it is impossible to change some parameters in isolation without affecting other parameters. While this in itself makes it harder to create a physically unfeasible system, it also limits the amount of knowledge that can be gained about the jumping process. For example, on PAW there is a strict limit on the maximum amount of rear-leg compression that can be achieved during a jump, and this limit depends on a large number of variables: body weight, spring constant, rear hip velocity, and others. Using the full simulation, one cannot achieve greater leg compressions than would be actually realizable. However, this prevents us from studying the effect of different compressions on the jumping performance of PAW-like robots. If the relationship between leg

4. Simple PAW Model 50

compression and jumping height were known, one could use this information to design a better jumping behaviour.

In order to study the effects of changing various parameters of PAW independently of one another, a simpler simulation model was developed. This model, illustrated in Figure

4.1, is composed of significantly fewer parts than the full simulation model.

Figure 4.1. Simplified PAW model showing the main physical parameters

It is composed of a body, represented by a beam, which contains all the mass of the robot.

The body is connected to a two-piece, springy, massless leg pivoting at the rear hip.

Having all the mass concentrated in the body is a reasonable assumption for our purpose,

4. Simple PAW Model 51

and it has been often used in planar models of legged robots [39, 40, 41]. This model represents the robot in the sagittal plane, as forces acting on the robot during a jump are mainly limited to this plane [42], and thus the rear leg actually represents the two legs of the physical model collapsed into one. The front legs are ignored, as other than providing the body with some initial velocity and position, there are no interesting dynamics associated with them. During the jump, all the way up to the point of takeoff, the rear leg contacts the ground at approximately the same location, and thus can be considered a pin joint. The position of the leg relative to the body is defined by a starting point and a constant angular velocity, given by

 θ =+θθ00t . (4.1)

While this is a large simplification over the PID controller of the full PAW model, the goal of the simple PAW model is to discover factors that greatly affect the jumping height. Any knowledge gained from the simple model can then be later incorporated into the full PAW model analysis. Therefore, given that we are looking for large effects, it is acceptable to simplify the control of the leg angle in the manner described above.

Once the physical properties of the system are defined, the following initial parameters uniquely define a given jump sequence: leg compression, leg compression rate, body-hip angle, body-hip angular velocity, absolute body angle, and absolute body angular velocity. Using these initial conditions, and the hip motion described above, the behaviour of the system can be computed without any further input. Any of the initial values may be changed independently of all the others, in order to study their effect on

4. Simple PAW Model 52

jumping performance. In addition, physical properties such as body mass, length and inertia are no longer dependent on each other, allowing further experimentation. Table

4.1 shows the relevant variables associated with the simple model, which are used in the derivation of the equations of motion that follows. The ‘Variable Type’ column shows if the variable is a state variable, an initial condition, a constant, or if it is a value derived

  from state variables. Note that a variable like d0 refers to the initial condition of d , not

the time derivative of the initial condition d0 , which would obviously be zero.

TABLE 4.1. SIMPLE PAW MODEL VARIABLES

Symbol Quantity Units Variable Type xy, CG position of body relative to the origin m Derived from state θ Hip angle between body and leg rad State θ Initial hip angle rad Initial condition 0 θ Hip angular velocity rad/s State  θ0 Initial hip angular velocity rad/s Initial condition γ Body angle relative to ground rad State

γ 0 Initial body angle rad Initial condition γ Body angular velocity rad/s State

γ0 Initial body angular velocity rad/s Initial condition d Leg length m State d Initial leg length m Initial condition 0 d Leg length rate of change m/s State  Initial leg length rate of change m/s Initial condition d0

d e Fully extended leg length m Constant l Body length m Constant k Leg spring constant N/m Constant m Body mass kg Constant 2 I Body moment of inertia about CG kg m Constant v Takeoff velocity m/s Derived from state

4. Simple PAW Model 53

4.2. Derivation of Equations of Motion

The equations of motion for the simple model of PAW as described in Section 4.1 are derived by using the Lagrangian method, taking the two degrees of freedom in the system

as ( dc ,γ ), since θ is given as a known function of time. The location of the center of mass is given by

l xd=−cosγ cos()θγ −, 2 (4.2) l yd=+sinγ sin ()θγ −. 2

Then the velocity of the center of mass is

l xdd =−γsinγθγθγθγ − cos() − + sin () − − , 2 () (4.3) l ydd =+−+−−γcosγθγθγθγ sin() cos () , 2 ()

which allows the kinetic and potential energies in the system to be written as

1 1 1 T = mx 2 + my 2 + Iγ 2 , 2 2 2 1 2 (4.4) Vmgykdd=+() −, 2 e L = T −V ,

where L is the Lagrangian. Applying the Lagrangian equations to our degrees of freedom:

d ⎛ ∂L ⎞ ∂L ⎜ ⎟ − = 0 , dt ⎝ ∂γ ⎠ ∂γ (4.5) dL⎛⎞∂∂ L ⎜⎟− = 0 , dt⎝⎠∂d ∂ d

4. Simple PAW Model 54

we arrive at the equations of motion, given by

2 ⎛⎞lI2  ⎛⎞11 γθ ⎜⎟−+++=ldcos d d⎜⎟ l sin θθγγ gd cos() −−− g cos (4.6a) ⎝⎠422m ⎝⎠ dlθcosθθγ−  dl sin θ++ d γ l cos θ l 22ddθγθθ−+ dd 2 d sin 2

⎛⎞1  l 22 γθ⎜⎟ldsin+=− γθθθγ  cos + d − 2  d + (4.6b) ⎝⎠22 k dgγθγ2 −−−−sin ()() dd m e

To solve the differential equations of motion numerically, we formulate the problem in first-order form:

A x = f ( x,t) (4.7)

where A is a coefficient matrix, x is a state vector, and f ( x,t) the function that returns the weighted derivatives of the states. The state vector is defined by

T ⎡   ⎤ (4.8) x = ⎣γ γθθdd ⎦ ,

the coefficient matrix A by

⎡⎤100000 ⎢⎥2 0000AA22 24 lI ⎢⎥Aldd= −++cosθ 2 , ⎢⎥001000 22 4 m A= , ⎢⎥ (4.9) ⎢⎥00100A42 l ⎢⎥000010 AA==sinθ , ⎢⎥24 42 2 ⎣⎦000001

4. Simple PAW Model 55

and the function f ( x,t) by

T f xt,0= ⎡γθ B d B  ⎤ , ()⎣ 12c ⎦

l Bgd=−−−−cos()γ θγθθθγθ g cos dl  cos dl sin + 1 2 , l (4.10) dlγθθcos+−+ 2 dd 2 dd γ d θθ2 sin 2

lk Bdddgdd=−γθθ22cos + − 2 θγγ + 2 + sin ()() γθ − − − . 2 2 e m

With all the components of equation (4.7) known, it is possible to solve the equations of motion using a numerical method. In this case, MATLAB’s ode45 solver is used due to its general versatility and familiarity to the author.

4.3. Validation

Before the simplified PAW model can be used for analyzing jumping performance, one must be certain that it does a reasonably good job of approximating the full model. In our case, we compare the simplified model to the full ADAMS model described in Chapter 2, since it is impractical or even impossible to obtain certain kinds of data from experiments on the physical robot. Table 2.2 lists the physical properties of the full ADAMS model, which are used to define the parameters of the simple model, as shown in Table 4.2. Note that the body length l of the simple model corresponds to the front-rear hip separation of the full model, and that the spring constant k of the simple model is equivalent to twice the full model’s spring constant due to the sagittal plane modeling.

4. Simple PAW Model 56

TABLE 4.2. SIMPLE PAW MODEL MECHANICAL PARAMETERS

Symbol Quantity Value Units

l Body length 0.322 m m Body mass 15.7 kg k Leg spring constant 8400 N/m

I Body moment of inertia about CG 0.372 kg m2

de Extended leg length 0.212 m

The task that was analyzed for validating the simple model is the standing jump. To perform this manoeuvre, PAW leans back on its hind legs, thrusts first with the front legs, then the rear legs to propel itself into the air. Note that unlike the jump described in

Section 3.3, there is no forward velocity at the start of the standing jump, an assumption made to simplify the equations of motion developed in Section 4.2. This jump, as seen in

Figure 4.2, was created for the full PAW model only to serve in the validation against the simple PAW model, and as such it is not optimized in any way. The jump starts with the robot “crouching”, and rotating its front legs to a desired angle (frames 1-3). When this angle is achieved, the rear legs are rotated to a desired angle (frames 4-6). Takeoff occurs just prior to the rear legs reaching their final desired angle (frame 5). Once the robot is in the air, the legs are repositioned in preparation for landing (frames 7-9).

4. Simple PAW Model 57

Figure 4.2. Jumping sequence of PAW used for validating the simple model.

As the simple model has no front legs, its initial conditions were set so that they match the physical variables of the full ADAMS simulation at the moment the front legs leave the ground. Frame 3 of Figure 4.2 shows this moment, and the initial conditions for the simple model are listed in Table 4.3.

TABLE 4.3. SIMPLE PAW MODEL VALIDATION INITIAL CONDITIONS

Symbol Quantity Value Units θ Initial hip angle 1.22 rad 0  θ0 Initial hip angular velocity 5 rad/s γ Initial body angle 0.087 rad 0 γ Initial body angular velocity 0.5 rad/s 0 d Initial leg length 0.199 m 0  d0 Initial leg length rate of change 0 m/s

4. Simple PAW Model 58

The two measures of similarity between the full and simple PAW models are the takeoff velocity and the takeoff angle, seen in frame 5 of Figure 4.2. Takeoff velocity is the CG velocity of the body at this instance, and takeoff angle is the direction of the CG velocity vector. The results from both the full and simple PAW models are shown in Table 4.4. It is clear from the small difference between both the takeoff velocity and takeoff angle that the simple model does a fairly good job of replicating the performance of the full model.

Thus, we can use the simple model with confidence to explore the effect of changing various physical parameters on jumping performance.

TABLE 4.4. VALIDATION RESULTS

Model Takeoff Velocity Takeoff Angle

Full PAW 1.23 m/s 0.91 rad

Simple PAW 1.16 m/s 0.82 rad

4.4. Non-Dimensionalized Model

To evaluate the performance of the simple model, it is decided to use the takeoff velocity as the performance index. While jumping height might seem to be a better indicator of performance, one must consider that there are cases where jumping distance is more important, hence the choice of takeoff velocity. In addition, it was observed through experimentation that it is mostly the initial leg angle that influences the takeoff angle, which can be used to vary the height of a jump given a specific takeoff velocity.

However, it does not make sense to directly compare the takeoff velocities of any two models, because this would not give an accurate representation of their performance. For example, if two models achieve the same takeoff velocity, but one is significantly larger

4. Simple PAW Model 59

than the other, then we are not certain if their performance can be equated. In order to compare models in a consistent manner, dimensional analysis is needed. More accurately, the models need to be non-dimensionalized so that their performance indices, in this case based on takeoff velocity, can be directly evaluated against each other.

Dimensional analysis is based on the fact that similar systems exhibit similar behaviours.

At its simplest level, two models may be geometrically similar, meaning that with the appropriate scaling applied, one model can be made to correspond exactly to the other model. However, the two models might undergo different motions and experience different forces, despite being geometrically similar. In order for two models to experience the same motions, they must be kinematically similar, meaning homologous points on the two models are at homologous locations at homologous times [43]. It is important to note that homologous times are not identical times, meaning that one model might operate faster or slower than the other, resulting in time compression or dilation.

Finally, the greatest degree of similarity is dynamic similarity, which means that homologous forces are felt by homologous points at homologous times on the two models. In situations where a model is used to test a phenomenon too costly or time consuming to replicate on a full scale prototype, dynamic similarity is desired so that the results of the model can be scaled to the prototype. However, in the case of the simplified

PAW model, we are not looking to replicate the results of a model on a full-scale prototype. Rather, we are looking for differences in behaviour between models given different physical parameters. The principles of dimensional analysis are used to properly

4. Simple PAW Model 60

scale the variables involved in the study, thus allowing a direct comparison of the performance indices.

The behaviour of a system is completely determined by the physical variables described in Table 4.1, which can be arranged into groups of non-dimensional variables, termed pi groups. When two systems have identical values for all their pi groups, they are said to be dimensionally similar. Furthermore, as given by Buckingham’s theorem, if all but one of the pi groups of two systems match, and the last group contains only one dependent variable, then the last group of both systems will also be identical [44]. This is an important property to consider in observing how changing a particular parameter affects jumping takeoff velocity. It states that any two PAW models that are dimensionally similar will have matching takeoff velocity pi groups. If one is looking for different takeoff velocities in two models, it is important to ensure that at least one of the non- dependent pi groups differ between the two.

While constructing pi groups is a straightforward task, with numerous methods that can be employed, actually selecting the physical variables that are used in the construction is more of an art. The reason is that there can be many variables that either do not influence the dependent variable, do not change between different models, or influence the dependent variable so slightly as to not merit consideration. Table 4.5 shows the reduced set of variables, chosen from Table 4.1, which are used to construct pi groups for the simple PAW model. The resultant pi groups are given in Table 4.6, and these capture the essential properties of the simple PAW model. Due to the uncomplicated units of all the

4. Simple PAW Model 61

variables involved, the pi groups were constructed by inspection. When comparing the jumping performance of different PAW models, it is the velocity pi group that is analyzed.

TABLE 4.5. REDUCED SET OF PAW VARIABLES

Symbol Quantity Units

d0 Initial leg length m

d e Extended leg length m

l Body length m k Leg spring constant N/m

m Body mass kg

2 I Body moment of inertia about CG kg m

2 g Gravity m/s

t Time sec

v Takeoff velocity m/s

TABLE 4.6. NON-DIMENSIONALIZED PI GROUPS

Group Quantity Units vt Takeoff velocity pi group - l d 0 Initial leg length pi group - l d e Extended leg length pi group - l kt 2 Spring constant pi group - m I Body moment of inertia pi group - 2 ml gt 2 Gravity pi group - l

4. Simple PAW Model 62

4.5. Non-Dimensional Analysis

Table 4.6 shows the six pi groups relating to the performance of the simple PAW model.

The first, vt l , contains the takeoff velocity, and is the performance index for all of the experiments. It, along with the spring constant pi group kt2 m is scaled relative to the characteristic length of the model l , as well as a time parameter t . This means that the pi group takes into account time contraction or dilation, which needs to be calculated. This is done by taking a certain configuration of the simple PAW model as having a unity time scale, and comparing all other configurations to it. The base configuration used in this analysis is the same configuration used in the validation, with parameters in Table 4.2. To calculate a numerical value for t in the velocity pi group, we use the gravity pi group

gt2 l. As discussed in Section 4.4, we want all independent pi groups between the base configuration model and any other model to be identical, so that the velocity pi groups will necessarily be identical as well. Thus, we define the following

2 2 gt gtbase base = , (4.11) llbase

where the left hand side is any configuration of the simple PAW model, and the right hand side is the base configuration of Table 4.2. Since gravity acts identically on all

models, and tbase = 1 as mentioned above, we can rewrite equation (4.11) as

l t = , (4.12) lbase

4. Simple PAW Model 63

where lbase = 0.322 m, and l is the body length of the model for which we desire to calculate t . This value for t is used only in the velocity and spring constant pi groups, as the other pi groups are independent of time factors.

Out of the six pi groups in Table 4.6, only four of them are independent. The takeoff velocity, and thus the velocity pi group, is dependent on all the factors discussed in this

Chapter, and the gravity pi group is used only as a tool to define time factor relationships between models. To study the effect of changing input parameters on jumping

2 2 performance, the independent pi groups dl0 , dle , I ml , and kt m are varied, and the takeoff velocity is observed. The range of data used as inputs for the independent pi groups is shown in Table 4.7.

TABLE 4.7. INDEPENDENT PI GROUP INPUTS

Parameter Lower Bound Upper Bound Increment Units

d e 0.112 0.312 0.05 m

d 0 d e - 0.023 d e - 0.003 0.005 m

l 0.222 0.422 0.05 m

m 10.7 20.7 5 kg

I 0.0372 3.72 multiples of 10 kg m2

k 4400 12,400 2000 N/m

Figures 4.3 through 4.6 show the results of the parameter variation tests. The independent variables are varied as described above, and the takeoff velocity of the simple PAW

4. Simple PAW Model 64

model recorded, then scaled as described previously. For each test, the variables that are held fixed have the same values as for the base configuration of Table 4.5. Some plots have annotations that further explain their content.

Figure 4.3. Jumping performance for various extended leg length pi group values.

Figure 4.4. Jumping performance for various initial leg length pi group values.

4. Simple PAW Model 65

Figure 4.5. Jumping performance for various spring constant pi group values.

Figure 4.6. Jumping performance for various inertia pi group values.

4. Simple PAW Model 66

Many of the plots show some linear trends, but the exact meaning of each is not immediately obvious. Figure 4.3 is the most clear, showing that the extended leg length

group dle is positively correlated to jumping performance. This observation can also be found in nature, as animals with large leg to body length ratios tend to jump more frequently and at higher velocities than those with smaller ratios [45]. Figure 4.4 shows what appears to be an evenly distributed cloud of points with no clear trends between the

group dl0 and jumping performance. However, once we separate the points into groups, trends can be seen. Points lying on the dashed lines parallel to “decreasing l ” have

constant values of d0 , and points on the dashed lines parallel to “decreasing d0 ” have constant values of l . Thus, after accounting for the increased performance caused by the variation of l , it can be seen that there is a very strong negative linear correlation

between dl0 and jumping performance when only d0 is varied. This can easily be explained, as shorter initial leg length means the leg spring has more stored energy, which, upon release, converts into greater takeoff velocity.

Given that stored spring energy clearly has a significant effect on the jump, it is unexpected to see the cloud of points shown in Figure 4.5, which plots the group kt2 m against jumping performance. Taking the point cloud as a whole, it appears that there is a slight positive correlation between kt2 m and jumping performance, but it is weak at best. However, there are once again two factors that affect the data: the variation of k and the variation of m . Similar to the procedure used in Figure 4.4, we separate the points of Figure 4.5 into groups. Points lying on the dashed lines parallel to “decreasing

4. Simple PAW Model 67

m ” have constant values of k , and points on the dashed lines parallel to “increasing k ” have constant values of m . When these two factors are looked at separately, it can be seen that both of them have positive linear correlations with jumping performance. While increasing the spring constant does generate a larger jump, the system is much more sensitive to changes in mass, so varying m has a larger effect on jumping performance than varying k .

Finally, the inertia pi group experiment of Figure 4.6 shows three distinct sets of roughly linear points, which correspond to the three different values used for the inertia variable.

Within those three sets of points, the ones with a higher jumping performance are the result of trials with lower masses and smaller body lengths, as expected based on the earlier findings. Decreasing the body’s inertia amplifies the effect of changing both the mass and body length because it allows the body to rotate faster, thus achieving a higher takeoff velocity.

Overall, there are several conclusions that can be drawn from Figures 4.3 through 4.6.

First, a longer extended leg and smaller initial leg length greatly influences jumping performance. Second, increasing the spring constant and lowering the mass help as well, but to a smaller extent. Finally, reducing the moment of inertia amplifies the effect of reducing mass and body length. Unfortunately, not all of these variables can be changed in the desired manner on the real robot. For example, in order to increase initial leg compression, one would have to reduce the spring constant and increase the mass, due to the physical coupling of these variables. However, this would counteract the desired gain

4. Simple PAW Model 68

obtained from increased leg compression. Nevertheless, since leg length and compression seem to play a significant role in determining jumping velocity, it might be advantageous to optimize these parameters first at the expense of the other variables in order to achieve good jumping performance.

5. Jump Implementation and Results 69

Chapter 5. Jump Implementation and Results

5.1. Key Jumping Parameters

As described in Chapter 3, the current approach to jumping uses the robot’s kinetic energy, combined with appropriate control of wheel and leg angles, to compress the rear springs and propel the robot into the air. Clearly, it is desirable to achieve the greatest amount of spring compression possible in order to jump high, as demonstrated in Chapter

4. However, merely having large spring compression by itself does not guarantee a good jump. The angle of the rear legs during the release of spring energy, as well as the angle and velocity of the body relative to the rear legs, greatly influence the outcome of a jump.

For example, if the rear legs are not swept far enough backwards, the leg springs release their energy towards the rear of the robot, counteracting its forward momentum and resulting in a poor jump. Similarly, if the body is not positioned properly relative to the rear legs at takeoff, the springs’ might impart mostly rotational momentum onto the body rather than translational, causing a failed jump.

Since it is impossible to directly control variables such as body angle and velocity at the moment of takeoff, the motions which affect these variables must be parameterized in order to achieve good jumping. The following five stages make up a typical jump, which was illustrated in Figure 3.8:

5. Jump Implementation and Results 70

1. Forward momentum

2. Body position and velocity

3. Rear leg compression

4. Rear leg rotation

5. Flight

As described in Chapter 2, the simulated robot is controlled by a sequence of desired leg and wheel angles and velocities, which are used to generate desired torques that drive the hips and wheels. The desired angles are specified as linear transitions over time, so that each line segment is defined by a start and end time, and a start and end angle. In order to parameterize the above four jump stages, we must first break down the desired actions into a sequence of desired angles, which are illustrated in Figures 5.1 and 5.2.

First, the robot lowers itself into a crouched stance (Figure 5.1, phase a), and the desired forward velocity is achieved by using the wheels to accelerate PAW from standstill

(Figure 5.2, phase a). Note that in these plots, the crouching and wheel acceleration phases happen sequentially, but they could easily be implemented concurrently. The reason for this is that in the simulation, the robot starts from the crouched stance to save simulation time. By separating the crouching and acceleration phases, the simulation and physical data can be compared directly using the zero time point as a reference.

After the acceleration phase, proper body position and velocity is achieved by the front legs thrusting (Figure 5.1, phase b), and the rear wheels speeding up (Figure 5.2, phase

5. Jump Implementation and Results 71

b), which imparts rotational velocity to the body. Note that as the front legs are thrusting, the front wheels are allowed to spin freely, between 0.5 and 0.7 seconds. Imparting rotational velocity to the body at this stage is important because the rear legs will also impart both translational and rotational velocity when they thrust, and the two rotations must counteract one another, otherwise the robot will spin out of control. Proper rear leg compression is accomplished by braking the wheels (Figure 5.2, phase c) and rotating the rear legs (Figure 5.1, phase c), thus converting a portion of the robot’s forward kinetic energy into spring potential energy. Rear leg rotation continues to position the legs for takeoff (Figure 5.1, phase d), and as the rear leg springs extend, the robot takes off and the legs are repositioned in preparation for landing (Figure 5.1, phase e).

Figure 5.1. Desired hip angles during jump.

5. Jump Implementation and Results 72

Figure 5.2. Desired wheel velocities during jump.

From Figures 5.1 and 5.2, it is clear that the parameterization of the jump process is entirely dependent on choosing the start and end points of the various line segments that make up the desired angle and velocity graphs. In order to reduce the complexity of the simulation, we must fix some of the desired angle line segment parameters at known values. For example, we fix the time at which the robot achieves a steady forward velocity and the front legs start to rotate, because all other timing points need to be specified relative to this point. Other values, such as the initial front leg angle, are also fixed because experimentation has shown that changing it does not significantly affect the outcome of the jump. The eight unfixed parameters, listed in chronological order as invoked during the jumping sequence, are given in Table 5.1. The fixed parameters, and their chosen values, are listed in Table 5.2, and Figure 5.3 shows how hip angles are

5. Jump Implementation and Results 73

measured on the robot. The angles are measured relative to the body, not the ground.

When the legs are swept forward, as at the front of the robot, the measured angle is negative. When the legs are swept backward, as at the rear of the robot, the measured angle is positive. Figures 5.4 and 5.5 show the various parameters of Tables 5.1 and 5.2 on both the desired hip position and wheel velocity graphs.

TABLE 5.1. UNFIXED JUMPING PARAMETERS

Symbol Quantity Units

δ r1 Initial rear leg angle relative to body rad

ω1 Desired wheel speed at the end of the acceleration phase rad/s

t f End time point for front leg desired angle line segment sec

ω2 Desired increased wheel speed, used to pitch body up rad/s

t r1 Start time point for rear leg desired angle line segment sec

ω3 Desired slow wheel speed, used to compress rear springs rad/s Time when desired wheel speed switches from to t w ω2 ω3 sec

t r 2 End time point for rear leg desired angle line segment sec

TABLE 5.2. FIXED JUMPING PARAMETERS

Symbol Quantity Value Units

δ f 1 Initial front leg angle relative to body -1.05 rad

δ f 2 Final front leg angle relative to body 0.0 rad Final rear leg angle relative to body 0.087 rad δ r 2 τ Length of acceleration phase 0.5 sec

5. Jump Implementation and Results 74

Figure 5.3. Measurement of the hip angles on PAW.

Figure 5.4. Hip desired angle profile showing the various jumping parameters.

5. Jump Implementation and Results 75

Figure 5.5. Wheel desired velocity plot showing the various jumping parameters.

Due to the complex nature of the physics involved, it is not possible to find values for the above eight unfixed parameters through an analytical solution. Instead, experimentation is used to find values that produce an acceptable jump. By observing the timing and motion of the body and rear legs, it is possible to adjust the relevant parameters until the energy release from the springs imparts mostly translational motion to the body rather than rotational. Also, by plotting and observing the compression of the rear leg springs against time, it is possible to make the rear leg rotation and rear wheel motion work together to produce good leg compression. When incorrectly timed, the two motions produce two distinct compression phases, but when timed properly they add constructively to produce one large compression. The large compression causes the springs to exert larger vertical force on the robot’s body, and deliver a greater vertical

5. Jump Implementation and Results 76

impulse, than the poorly timed leg compression. The rear leg spring length plots of Figure

5.6 shows the distinction between a well-timed jump and a failed jump, and Figure 5.7 shows the vertical force and impulse on the body from one of the rear legs. Table 5.3 shows the values obtained by manual tuning, and the simulated jump height obtained with these parameters was 93 mm, or 44% of the hip to ground distance.

Figure 5.6. Spring compression of the rear leg showing a good and a bad jump.

Figure 5.7. Vertical force and impulse of a rear leg during a good and a bad jump.

5. Jump Implementation and Results 77

TABLE 5.3. MANUALLY TUNED PARAMETER VALUES

Parameter Manually Tuned Value Units δ r1 0.60 rad ω 41 rad/s 1 t 0.59 sec f ω 88 rad/s 2 t r1 0.61 sec ω -13 rad/s 3 t w 0.7 sec

t r 2 0.74 sec

5.2. Implementation on Physical PAW

Once values for the eight parameters are obtained, implementing the jump manoeuvre on the physical robot is simply a matter of transferring the simulation code onto PAW. Since the Matlab code of the simulation is so similar to the C code on the robot, this is a straightforward task. Figures 5.8-5.11 show the angle, torque and leg length plots of the simulated and physical jumps.

5. Jump Implementation and Results 78

Figure 5.8. Hip angles of simulated and actual PAW during a jump.

Figure 5.9. Front hip torques of simulated and actual PAW during a jump.

5. Jump Implementation and Results 79

Figure 5.10. Rear hip torques of simulated and actual PAW during a jump.

Figure 5.11. Rear leg lengths of simulated and actual PAW during a jump.

5. Jump Implementation and Results 80

As can be seen from all the plots, the simulated model does a good job of replicating the behaviour of the physical robot. Similarly to the model validation in Section 2.6, we are more concerned with having the angle and leg length data match than the torque data.

There is some discrepancy between the simulated and actual torques, which is most likely caused by the simplified gearbox model in the simulation. During acceleration, an increasing fraction of the robot’s weight is supported by the rear legs, as the simulated torque curve shows. On the physical robot, the higher gearbox friction allows the rear legs to maintain their desired angles through the acceleration phase without requiring additional torque. The gearbox friction also accounts for the higher peak torques required by the physical PAW. Despite this, the torque plots of Figures 5.9 and 5.10 show a relatively good correlation between the simulated and physical robots.

Finally, the rear leg length plot of Figure 5.11 shows that the spring compression during a jump on both simulated and physical robots is about the same. This means that there is a similar amount of energy being stored and released by the leg springs, which should lead to similar jumping performance. The jump height achieved by the physical robot was 89 mm as estimated from high-speed video, which is very close to the simulated value of 93 mm. This data serves as another method of validation, allowing us to further develop the jumping behaviour in simulation, knowing that the results will transfer directly to the physical robot with little to no modification.

5. Jump Implementation and Results 81

5.3. Jump Optimization with Genetic Algorithm

In the previous section, it was demonstrated how manual tuning of the eight important parameters resulted in a satisfactory obstacle-clearing jump on both the simulated and physical PAW robots. However, the jump produced by those values is far from optimal.

In order to optimize the parameters values, one of two approaches can be taken. We could identify which parameters are significant through a manual sensitivity analysis of the simulation, and focus our tuning efforts on those. Unfortunately, this turns out to be impossible due to the strong coupling and complex interactions of the important parameters. Thus, an approach that optimizes all eight parameters at once to achieve the largest jump height needs to be used. Evolutionary algorithms have been successfully used in a number of different problems in robotics [46, 47], as they do not require continuity or differentiability from the function whose inputs are to be optimized. In the present work, this function is the jump height and is implemented through the simulation, which guarantees neither continuity nor differentiability. While continuity of the function is possible, it would be difficult to prove. However, differentiability of the function cannot be proven, thus evolutionary algorithms are well suited to the current problem.

The particular optimization method used in our simulation is the genetic algorithm, a subset of evolutionary algorithms. In the genetic algorithm, every candidate solution is an individual, and the entire set of individuals at a given time is the population. Each individual has eight chromosomes, corresponding to the eight important parameters identified earlier. A population at t = 0 is generated by randomly assigning values to the chromosomes of all individuals with the exception of one and the assigned values are

5. Jump Implementation and Results 82

drawn randomly from a linear distribution with specified bounds, as shown in table 5.4.

The bounds are established based on experimentation, and the linear distribution is generally centered on the satisfactory values found during manual tuning.

TABLE 5.4. BOUNDS FOR RANDOM CHROMOSOME DISTRIBUTION

Parameter Lower Bound Upper Bound Units

δ 0.54 0.68 rad r1 ω 30 70 rad/s 1 t 0.52 0.64 sec f ω 40 80 rad/s 2 0.53 0.66 sec t r1 ω -20 50 rad/s 3 t 0.58 0.73 sec w 0.67 0.79 sec t r 2

The one remaining individual in the entire population is designated as a seed, whose chromosomes are composed of values known to give a satisfactory jump. This is done to give the population a starting point instead of having to evolve the jump through random breeding, and also eliminates the possibility of the entire population dying after one generation due to lack of successful individuals. The entire population is evaluated for performance, which is based on a single index, the maximum obstacle height cleared by the individual in simulation. The maximum height is calculated as the distance from the intersection of the front and rear wheel trajectories over time to the ground. The individuals are then ranked by performance, and all the individuals that achieved a jump height of zero are eliminated. If more than half the original population remains, then the

5. Jump Implementation and Results 83

worst performing individuals are eliminated until the population size is half its original size.

The top performing individuals’ chromosomes are then recombined with one another to produce enough new individuals that the original population size is restored. There are many different ways of recombining chromosomes, or breeding [48]. We chose a simple method that assigns chromosomes random values from a normal distribution, whose mean is the mean of its two parents’ chromosomes and whose standard deviation is set by the parent’s distance from the mean. This method usually generates values that are in between the two parent chromosomes’ values, but maintains the possibility of deviating away from the parents’ values in order to introduce more randomness into the breeding process.

Once the population size is restored through breeding, the new population is evaluated for performance, and the genetic algorithm cycle repeats itself. The algorithm stops when a certain goal is met, i.e. a certain jump height is achieved, or when there is no more improvement seen in the jump height. Figure 5.12 illustrates the genetic algorithm method through one generation, and Figure 5.13 illustrates the chromosome recombination process. For the normal distribution curve, the parents’ distance from the mean can be set to integer multiples of the standard deviation, to influence the chance that the offspring’s value falls between the parents’ values. If tight regulation of the offspring’s chromosome value is desired, like to ensure that a timing point does not exceed a certain fixed value, the parent’s distance from the mean is increased. If a large

5. Jump Implementation and Results 84

amount of randomness in the selection process is acceptable, the parent’s distance from the mean is decreased.

Figure 5.12. Flowchart of genetic algorithm.

Figure 5.13. Generation of an offspring chromosome from the parents’ chromosomes.

5. Jump Implementation and Results 85

5.4. Genetic Algorithm Results

The genetic algorithm is run with a constant population size of 30 individuals for 50 generations. After the 40th generation, there is very little improvement seen in the jumping height, indicating the possibility that the height achieved is the maximum possible given the geometric and electrical configuration of the robot. The maximum simulated jumping height is found to be 166 mm, which represents an 78% improvement over the manually tuned jumping height of 93 mm. Given that PAW’s hip to ground height is 212mm, the maximum jumping height is found to be 78% of the hip height. The fact that both the jump height improvement and the jump to hip height ratio is 78% is merely a coincidence, as there is no reason that they should be identical. When implemented on the physical robot, the parameters found by the optimization process produced a jump of 168 mm, as obtained from high-speed video footage. Table 5.5 shows the final optimized values of the eight important parameters, and Figure 5.14 shows a photo sequence of PAW executing its optimum jump.

TABLE 5.5. OPTIMIZED PARAMETER VALUES

Parameter Optimized Value Units

δ r1 53.6 deg

ω1 36.2 rad/s

t f 0.588 sec

ω2 97.2 rad/s

t r1 0.613 sec

ω3 -19.8 rad/s

t w 0.717 sec

t r 2 0.747 sec

5. Jump Implementation and Results 86

Figure 5.14. Photo sequence of PAW executing its optimized jump onto a platform.

Although the genetic algorithm is good at finding solutions to problems that may not be solvable with other optimization methods [48], it is possible that the algorithm generates values that are not necessarily meaningful. Since the algorithm chooses values for each chromosome during the breeding process based on the performance of the previous generation, if a chromosome has no impact on performance its “optimized” value will be meaningless. Improper selection of chromosomes can lead to this issue, but sometimes it is unavoidable even with properly chosen chromosomes. With the optimized PAW jump, this issue is encountered in the generation of the optimum value for the desired wheel

velocity ω2 . A value of 97.2 rad/s is found by the algorithm, but in simulation it is observed that the maximum rear wheel velocity possible during a jump is 82 rad/s,

5. Jump Implementation and Results 87

regardless of the desired wheel velocity. From this, we can see that if a chromosome ceases to affect the performance of the individual once it passes a certain threshold value, there will be no pressure on the chromosome to change any further and its final

“optimized” value can be anything outside this threshold value. Fortunately, this issue only affects the analysis of the jump, as we need to be aware of the fact that the value of

97.2 rad/s found for ω2 is not necessarily an optimum value, since any value over ~82 rad/s would also be acceptable.

6. Analysis of Optimization Results 88

Chapter 6. Analysis of Optimization Results

6.1. Response Model Generation

In order to understand the jumping process better, we analyze all the data generated by the genetic algorithm, and look for any patterns or indicators which could be used to predict jumping height for a given set of parameters. Specifically, we are looking for individual parameters, or some grouped combination of multiple parameters, that have the greatest impact on jumping height. Due to the strong coupling between parameters, it is not possible to do a sensitivity analysis on each of them separately. Rather, we use a technique called response surface modeling [49] to fit a nine dimensional surface to the data. Assuming the fit is reasonably good, the magnitude of the coefficient of each parameter normally indicates its importance to the overall jump height. However, since we are not sure about the goodness of the fit, a large coefficient with a large estimated error may or may not be important. Thus, we instead use the T ratio as an indicator of the importance of a given parameter. The T ratio for each group is the estimated coefficient for the group divided by the standard error of that estimate [50]. The higher the absolute value, the more certain we are that the influence attributed to that particular group is actually caused by the group rather than random chance. The response model sought is represented with a quadratic function of the eight parameters defined by the equation

6. Analysis of Optimization Results 89

n n j−1 n 2 , Y()x = b0 + ∑bi xi + ∑∑bij xi x j + ∑bii x + e (6.1) i=1 j=2 i=1 i=1

where x is an individual composed of eight chromosomes, xi is a single chromosome

(such as v1 , t f , etc.), n is the number of input chromosomes (eight), bi is the calculated coefficient for the i th term, and e is the error at the point x . The surface is fitted to the data by minimizing the value of the error term using least squares fitting over the range of the data. This fitting is accomplished by JMP [51], a popular statistical software package, and the methods in [52] are used to interpret and visualize the data.

The resulting quadratic surface fit has an R2 value of 0.79, which is a measure of the goodness of fit where a value of 1.0 indicates a perfect fit. Thus, a value of 0.79 means the fit is not accurate enough to use the response surface to make predictions about the performance of untested input parameters. Nevertheless, the fit is good enough to allow us to identify which parameters affect jumping height and which do not. Figure 6.1 shows the relationship between the actual and predicted jump heights based on the quadratic surface fit, with the solid line indicating what an ideal fit with R2 = 1.0 would look like.

Table 6.1 lists the coefficients bi of the quadratic surface, the standard errors of their estimates, and the T ratios of all parameters or parameter combinations with T ratios greater than 2.0.

6. Analysis of Optimization Results 90

Figure 6.1. Actual vs. predicted jump height based on the quadratic response surface.

TABLE 6.1. JUMPING PARAMETER COEFFICIENTS AND T RATIOS

Parameter Coefficient Std Error T ratio

t w 608.33 41.05 14.82

ω2 0.93 0.11 8.62

(tw −−0.66)(ω3 0.10) -15.38 2.04 -7.56 2 -0.02 0.003 -5.58 (ω3 − 0.10) 2 ()t w − 0.66 -4650.30 875.35 -5.31

intercept b0 -331.42 65.47 -5.06 2 ()t r1 − 0.62 -6645.17 1425.06 -4.66

()()ωω12−−44.3 70.1 0.05 0.01 4.44

(tr13−−0.62)(ω 0.10) 10.30 2.47 4.18

()()t w − 0.66 t r 2 − 0.72 5651.97 1491.13 3.79

(t f −−0.58)(ω3 0.10) 10.41 3.17 3.29 2 ()t r 2 − 0.72 -4563.47 1397.47 -3.27

(ωω23−−70.1)( 0.10) -0.01 0.01 -2.66 2 -0.04 0.01 -2.61 (ω1 − 44.3)

()()t r1 − 0.62 t w − 0.66 3118.62 1339.3 2.33

()()tr 21−−0.72ω 44.3 -13.97 6.13 -2.28

δ r1 1.36 0.61 2.25

ω3 -0.16 0.08 -2.05

6. Analysis of Optimization Results 91

The cutoff value for the T ratios in Table 6.1 is set at 2.0 because this represents a 95% confidence level in the calculated coefficient. Once the T ratio drops below this value, there is an increasing chance that the effect attributed to the parameter is instead caused

by something else. By looking at the T ratios for the various groups, it is found that tr1 ,

tw , ω2 , and ω3 are the four most significant parameters, δ r1 and t f are insignificant,

and ω1 and t r 2 are moderately significant, with the relationship between ω1 and ω2 being of interest. In addition to having two-way interactions, many of the parameters are

2 defined relative to a fixed value, such as (ω3 − 0.10) , and they often have negative coefficients associated with them. This means that the fixed value is, according to the quadratic fit, the “best” value for that particular parameter, and the negative coefficient causes the jumping height to decrease when the parameter deviates from this setpoint.

However, not all parameters with setpoints have negative coefficients, and the setpoints are not equal to the optimized values found by the genetic algorithm, so this interpretation of the quadratic fit should only be viewed as a rough guideline for further sensitivity analysis.

6.2. Physical Sensitivity Analysis

6.2.1. Video Analysis

In order to verify that the physical robot is actually sensitive to the four significant parameters found in the preceding section, a set of trials are run, where the parameters are varied and the effect on jumping height is observed. High-speed video is used to film each trial, and computer post-processing is used to measure the jumping height. The post-

6. Analysis of Optimization Results 92

processing of the video data is simplified by the fact that since we know the height of the platform the robot is jumping onto, the vertical pixel location of the rear wheel on takeoff and landing allows us to determine the conversion factor from pixels to millimetres.

Since the takeoff and landing spots are approximately equidistant from the camera, we do not need to consider perspective errors. However, we do need to correct for the camera lens distortion, which causes straight lines in a scene to be bent in the image. Figure 6.2 shows how this manifests itself in the high-speed recordings, with two images taken during the jump superimposed on top of one another. PAW is rolling perpendicular to the camera (verified by tiles on ground), but a clear offset is seen between the start and end points of the roll. Horizontal lines in a scene should appear horizontal in an image taken by an ideal camera, which can then be used to measure distances. As Figure 6.2 shows, we need to correct the lens distortion first, which can be accomplished by applying a

“pincushion” distortion to the images, reversing the effect of the “barrel” distortion caused by the camera lens. Helicon Filter, an image manipulation program [53], is used to apply the pincushion distortion, and the result is displayed in Figure 6.3.

Figure 6.2. The effect of lens distortion on superimposed high-speed video images.

6. Analysis of Optimization Results 93

Figure 6.3. Superimposed high-speed video images showing corrected lens distortion.

Once the appropriate setting has been found for the amount of pincushion distortion necessary to fix the lens distortion, it can be quickly applied to all images of interest with the batch job feature of Helicon Filter. Although a large number of images are available from each high-speed recording, only two are necessary to determine the maximum jump height achieved in a given trial: the “takeoff” image and the “maximum height” image.

The maximum height image occurs at the moment the rear wheels reach their maximum height, which is marked as the maximum height point, and the takeoff image occurs when the front wheels clear this maximum height point. If the front wheels don’t clear this point, then the maximum height image needs to be chosen again from earlier in the video, until the front wheels do clear the maximum height point. Figure 6.4 shows composite images, showing both the takeoff and maximum height images as well as the approximate paths of the front and rear wheels as coloured lines. The jump height is thus the distance from the intersection of these two lines to the ground.

6. Analysis of Optimization Results 94

Figure 6.4. Photo sequence highlighting the takeoff and maximum height image.

6.2.2. Physical Trials

The most significant parameters t r1 , t w , ω2 , and ω3 , as well as the somewhat significant

parameter ω1 , are varied in a set of trials to observe their effect on PAW’s jumping height. Since the quadratic response surface suggests that many of the parameters have setpoints, and deviating from these setpoints leads to a decrease in jumping height, we vary the significant parameters by moving them away from the setpoints found by the genetic algorithm. If the interpretation of the response surface is correct, moving away from the setpoints should cause immediate changes in jumping height.

It needs to be noted that in the physical trials, there is one variable parameter that is

unaccounted for in the simulation, the fixed battery voltage Vbf described in Section

2.4.2. As per [20], in the simulation it is taken to be 37.2 V, but during the physical trials this voltage varies between 36 and 39 volts, depending on when the trial is performed. It would be extremely difficult to run all trials at a battery voltage of ~37.2 V due to the fact that the battery loses approximately 0.1-0.2V per trial. Despite the fact that the voltage

6. Analysis of Optimization Results 95

differences affect the jumping height in a noticeable way, changing the most significant parameters has an even larger effect, and therefore the sensitivity trials are still a valid test of the interpretation of the quadratic response surface.

In Section 5.4, it was shown that the value found by the genetic algorithm for the

increased wheel velocity ω2 is arbitrary because of the inherent limit on the simulated

wheel velocity. The commanded value for ω2 found by the genetic algorithm is 97.2 rad/s, whereas the simulation velocity limit is 82 rad/s. As expected, the same phenomenon is observed on the physical robot, which can be seen in Figure 6.5. Two

trials were performed, one with desired ω2 = 97.2 rad/s, and one with desired ω2 = 120 rad/s. However, both trials produced an actual wheel velocity of 77 rad/s, close to the 82 rad/s limit seen in the simulation. Due to this velocity limit, the physical trials for testing

the effect of ω2 on jumping height are only done up to a desired value of ω2 = 87 rad/s, one step beyond the limit of 77 rad/s.

Figure 6.5. Data from two trials showing the maximum rear wheel velocity limit.

6. Analysis of Optimization Results 96

Table 6.2 lists the trials performed including the parameter being changed, the value of

the parameter, and the resulting jumping height. When a parameter is changed, all other

parameters are held constant at the optimized values found in table 5.5. The optimized

value for each parameter is highlighted in boldface.

TABLE 6.2. RESULTS OF SENSITIVITY TRIALS

(rad/s) (rad/s) ω1 h (m) ω2 h (m)

25 0.129 0.2 58 0.107 h 0.2 h 29 0.137 68 0.133 0.15 0.15 33 0.139 77 0.136 0.1 36.2 0.168 87 0.143 0.1 43 0.160 0.05 0.05 ω1 ω2 47 0.166 0 0 0204060 40 60 80 100 51 0.156

(rad/s) (sec) ω3 h (m) t w h (m)

-40 0.136 0.2 h 0.62 0 0.2 h -30 0.150 0.65 0.111 0.15 0.15 -19.8 0.168 0.68 0.121 0.1 0.1 -10 0.169 0.717 0.168 0 0.135 0.05 0.73 0.156 0.05 10 0.114 ω3 tw 0 0.75 0.105 0 20 0.098 -50050 0.6 0.65 0.7 0.75 0.8 30 0.120 40 0.107

t r1 (sec) h (m) 0.582 0 0.2 h 0.604 0.160 0.15 0.607 0.165 0.613 0.168 0.1 0.619 0.111 0.05 tr1 0.628 0.100 0 0.56 0.58 0.6 0.62 0.64 0.66 0.644 0

6. Analysis of Optimization Results 97

In general, the response surface interpretation that moving a parameter away from its optimized setpoint causes a significant decrease in jumping height seems to be true. In almost all cases, the optimized setpoint produced the largest jumping height, except for

ω3 , where moving away from the setpoint causes a very slight increase in jump height before decreasing rapidly. This indicates the possibility that the genetic algorithm did not find the global maximum jumping height, a feature of the algorithm that is known [48].

Figures 6.6 through 6.8 are photos from some of the more interesting trials, showing the various failure modes encountered when the parameters are moved from their optimal

setpoint. In Figure 6.6, t w = 0.62 sec, the rear legs are compressed too early, so the robot

attempts to jump before the body is positioned correctly. In Figure 6.7, t r1 = 0.644 sec, the rear leg rotation is started too late, so the spring energy of the rear legs is released in the

wrong direction. In Figure 6.8, t r1 = 0.582 sec, the rear leg rotation is started too early, adding energy at the wrong time and causing mostly rotational rather than translational motion in PAW’s body.

Figure 6.6. Photo sequence of a failed jump caused by premature leg compression.

6. Analysis of Optimization Results 98

Figure 6.7. Photo sequence of a failed jump caused by late rear leg rotation.

Figure 6.8. Photo sequence of a failed jump caused by early rear leg rotation.

6.3. Generalized Optimization Model

We are now interested in generalizing the PAW optimization model, so that we optimize the jumping process for quadruped robots with geometries different from PAW. As an extension to the previous simulation model, we include four extra parameters that describe the robot’s geometry and dynamics, as shown in Table 6.3, to be included in the design variables.

TABLE 6.3. ADDITIONAL SIMULATION PARAMETERS

Symbol Quantity Units

d Hip to ground distance m

l Hip to hip distance m

k Leg spring stiffness N/m

m Body mass kg

6. Analysis of Optimization Results 99

The deployment of the genetic algorithm on this extended set of parameters shows that

the same variables as before are important (t r1 , t w , ω1 , ω2 , and ω3 ), but now augmented with the two geometric parameters d and l . Jumping height does not appear to be sensitive to spring stiffness and body mass. Although counterintuitive at first, one must consider the fact that the leg compression for the jump is achieved by converting the robot’s forward kinetic energy into spring potential energy. Thus, a higher body mass would cause greater compression if the spring stiffness is held constant. Likewise, a softer spring would compress more if the body mass is held constant. This discovery, along with the fact that d and l are important parameters, coincides with the results of the simple PAW simulation model study in Chapter 4, which found that the jumping height is more sensitive to changes in the leg and body length as opposed to body mass and leg spring stiffness. This is an important observation, as it suggests that one should focus first on optimizing the geometry of a jumping mechanism before anything else.

An interesting phenomenon occurs in the genetic algorithm simulations using the extended set of parameters. The maximum jumping height increases to approximately

200 mm from 166 mm, but not in a predictable way. After the 170 mm mark, the robot begins to exhibit a different kind of jumping behaviour. Due to longer legs, which are favoured for higher jumping, PAW tips back during the wheel acceleration phase until it is resting only on its hind legs and the rear of the body. This is in contrast to the situation with standard size legs, where the robot maintains ground contact with all four wheels during the acceleration phase. The front legs then kick, but are ineffective because they are completely suspended in the air. Next, the rear legs kick in conjunction with the rear

6. Analysis of Optimization Results 100

wheels driving backwards to compress the springs, and the robot takes off. Figure 6.9 shows a sequence of images from the simulation depicting this new kind of jump.

Figure 6.9. Sequence of the new behaviour for jump heights over 170 mm.

Unfortunately, it is not known if this new jumping method is simply the inevitable evolution of the previous jump, or if this is simply one possible solution among two or more methods and the genetic algorithm simply happened to follow this evolutionary scheme. A possible way to check for alternate methods would be to re-run the genetic algorithm several times, using the 170 mm jump as a starting point and seeing if this new behaviour is evolved each time. Alternately, during the performance evaluation segment of the algorithm we could penalize a jump if the front wheels leave the ground in the

6. Analysis of Optimization Results 101

acceleration phase, before the front legs have a chance to thrust. This would cause the genetic algorithm to selectively breed those kinds of jumps out of the population, allowing other possible jumping methods to emerge.

Using the seven parameters (t r1 , t w , ω1 , ω2 , ω3 , d , and l ) that influence the jump of a

PAW-like robot, instead of the twelve assumed initially, it is possible to construct a simpler simulation, which would greatly diminish the time required to execute the optimization algorithms. This new model can be used to further extend the simulation by parameterizing the drivetrain of PAW, thus allowing it to represent virtually any wheeled-leg quadruped robot. With all parts of the robot parameterized, it will be possible to build an optimized jumping robot based around any number of fixed parameters. For example, one can decide to use a certain kind of motor and gearbox, and optimize the rest of the parameters to fit that selection.

7. Conclusion 102

Chapter 7. Conclusion

7.1. Summary of Work

The results presented in this thesis demonstrate that the principal objectives of the research as stated in Section 1.5 have been achieved. In particular, a new jumping behaviour for PAW has been developed which lets it jump over and onto an obstacle such as a step or a sidewalk. The maximum optimized jump height of 0.168 m is 78% of the robot’s hip height, which is a significant improvement over the manually tuned jump height of 0.093 m. In addition, this new jumping behaviour is better at clearing obstacles than other techniques used by simple, underactuated quadrupeds such as Scout II’s step climbing manoeuvre presented in Section 3.2. Finally, the new behaviour uses dynamic movements to perform the jump, which was an important precondition on the behaviour given that PAW was constructed specifically to study such motions. Although a static obstacle climbing method such as the one illustrated in Figure 3.5 could have been implemented, the jumping behaviour presented in this thesis can clear obstacles of similar size much faster.

Understanding how and why the jump works, and identifying variables that significantly affect the jump, is another important goal that was met. Since the physics involved in defining the jumping problem are so complex, an analytical solution could not be used to

7. Conclusion 103

understand the jumping process fully, although some insights were gained with a simplified model analysis. Instead, a detailed ADAMS/Simulink co-simulation was used to study the jump. In order to do this, a large amount of data was needed to understand how the jumping performance changes when various parameters are changed. In addition, optimizing the jumping height was another goal of the project. To satisfy both requirements, a genetic algorithm was used to optimize the jump. Using a manually tuned jump as the starting point, the genetic algorithm generated random individuals and evaluated their jump height. The top performing individuals were recombined to produce a new generation of individuals, and the process repeated itself until no significant improvements in jumping height were seen.

During the execution of the genetic algorithm, a large amount of data was generated during the evaluation of all the individuals in each generation. This data was used to identify parameters that significantly affect the jump by fitting a high dimensional quadratic surface to the data. The equation of the surface, and the certainty of the fit, indicates which parameters, or groups of parameters, are important in determining jump height, and which ones play no role. Parameters which were found to be important based on the surface fit were confirmed to be important by tests on the physical PAW robot.

The surface fit suggested that there were certain optimal setpoints for some parameters, and deviating from these setpoints would cause a significant decrease in jump height, which is exactly what was observed during the physical trials. As explained in Section

6.2.2, it is not possible to attribute all of the changes in jumping height between trials to the parameter variations because of the drift in the battery voltage between the trials.

7. Conclusion 104

However, many of the changes observed in jumping height are much larger than what can be attributed to the effect of battery voltage, and we can therefore conclude that the significant parameters found by the quadratic surface fit definitely affect jumping height.

7.2. Future Work

There are two areas that can be pursued for further development of PAW’s jumping behaviour in the future: improving the simulation and data analysis, and implementing more features in both the simulation and the physical robot.

7.2.1. Simulation Improvements

To improve the accuracy of the simulation, it would be desirable to have a hip gearbox model like the one detailed in [54] instead of the current gearbox implementation. The current hip gearbox model is a simple gear ratio defining how much torque is transmitted from the hip motor to the leg, and is not affected by motor speed or torque. However, in reality gearbox transmission characteristics are affected by both the motor’s speed and torque. In order to implement the model suggested above, we need data on the gearbox output torque, the input torque and motor speed for various torque and speed combinations. This data can be obtained by applying a known torque to the gearbox output shaft, commanding the motor to run at a certain speed and measuring the input torque required to do this. Once the data is gathered, it could be used to define a more accurate gearbox model for PAW.

7. Conclusion 105

The analysis of the data produced by the genetic algorithm is another area that could be improved. Currently, we fit a quadratic response surface to the data, but it is possible that another family of higher-order surfaces would fit the data better. The software used to do the analysis, JMP, does not offer other surface types for fitting while maintaining the interactions between all the parameters. However, a method such as the component selection and smoothing operator, or COSSO [55] could potentially be a good alternative.

In [56], COSSO is used to analyze high-dimensional data from a diesel engine test in order to find factors that affect fuel consumption and pollutant emissions. This problem is similar to the one described in this thesis, in that a high-dimensional but relatively small set of data needs to be analyzed in order to identify factors that greatly influence the measurand, in our case, the jumping height. Unfortunately, the application of COSSO requires a greater understanding of statistical methods than the author possesses, which is why the quadratic surface was used instead. However, an individual with a stronger background in statistics could most likely use COSSO to find a better surface fit than the one described in this thesis. Depending on the goodness of the fit, the COSSO surface might even be used as a predictive model, allowing one to reliably estimate the jump height of a configuration that has not yet been tested.

7.2.1. Additional Features

There are two main factors that limit the usefulness of PAW’s newly developed jumping capability: its isolation from other gaits, and its reliance on proper positioning of the robot relative to the obstacle at the start of the jump. Currently, PAW has to start its jump from standstill, which makes navigating a terrain with obstacles a stop-and-go process. If

7. Conclusion 106

PAW could transition from other gaits, such as bounding or rolling, into the jump and then back to the original gait after the jump, it would make obstacle negotiation a more fluid process. It would not be difficult to implement this, as the code required would be relatively simple. At the moment that the gait transition starts, the old gait variables would be saved temporarily, and a smooth trajectory would be computed to bring the legs into the starting configuration for the jump. Once the jump is finished, the old gait would continue, either by restarting it (bounding, galloping), or by bringing the legs back to the saved state (rolling).

Undoubtedly, the largest problem that makes PAW’s jump not yet functional enough to be used on a regular basis is the fact that the robot has to be positioned at a particular distance from the obstacle when it begins its jump. If it starts the jump too far, it will not clear the obstacle, and if it starts too close, it will hit the obstacle without getting over it.

Clearly, if one wants to transition from bounding or rolling to jumping, precise positioning before approaching the obstacle is not possible. The way to solve this problem would be to allow PAW to sense the distance from itself to the obstacle, most likely using a laser range finder. This way, it could adjust the timing points of the jump based on its distance to the obstacle, allowing it to take off at the ideal location.

While the two features mentioned above are the most obvious improvements on the current jumping behaviour, there are several others that could be implemented in order to enhance PAW’s mobility. For example, we could create a behaviour that allows PAW to jump off an obstacle, such as a sidewalk or step, without toppling over. This would

7. Conclusion 107

require reworking the current jump process, but it would be a very useful behaviour to possess in real world navigation. Another useful behaviour would be stair climbing, which would be more difficult to develop. Using the current jump as a basis, we would have to find a way for PAW to continuously jump over several obstacles in a row. Since individual stairs are not long enough to accommodate PAW’s body, the robot could not come to a rest between each step. This behaviour may not be possible to develop, but if feasible, it could extend PAW’s terrain negotiation capability in a very significant way.

Finally, PAW’s landing after a jump could be improved, as no effort was made in the present work to develop a landing routine. Having a touchdown method such as the impact minimization technique described in [25] would ensure greater stability upon landing, as well as reduce the physical stresses on the robot, prolonging its life.

References 108

REFERENCES

[1] iRobot Corporation, 8 Crosby Drive, Bedford, MA 01730, www..com

[2] Husqvarna AB, Box 30224, SE-104 25 Stockholm, www.automower.com

[3] Aquaproducts Inc., 25 Rutgers Avenue, Cedar Grove, NJ, 07009, www.aquaproducts.com

[4] H. Adachi, N. Koyachi, T. Arai, A. Shimiza and Y. Nogami, “Mechanism and control of a leg-wheel hybrid ,” Proc. IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, Kyongju, South Korea, 1999, vol. 3, pp. 1792 – 1797.

[5] G. Endo and S. Hirose, “Study on roller-walker (system integration and basic experiments),” Proc. IEEE Int. Conf. on Robotics and , Detroit, MI, 1999, vol. 3, pp. 2032 –2037.

[6] T. Estier et al., "An innovative space rover with extended climbing abilities," Proc. Space and Robotics 2000, Albuquerque, NM, 2000, pp. 333-339.

[7] C. Brosinsky, D. Hanna, and S. Penzes, "Articulated navigation testbed (ANT): an example of intrinsic mobility," Proc. of the SPIE 14th Annual Int. symposium on Aerospace/Defence Sensing, Simulation and Controls, Orlando, FL, 2000, vol. 4024, pp. 86-95.

[8] M. H. Raibert, H. B. Brown Jr., and M. Chepponis, “Experiments in balance with a 3D one-legged hopping machine,” Int. J. Robotics Research, vol. 3, pp. 75-92, 1984.

[9] M. H. Raibert, M. Chepponis, and H. B. Brown Jr., “Running on four legs as though they were one,” IEEE J. Robotics and Automation, vol. 2, pp. 70-82, 1986.

[10] R. R. Playter and M. H. Raibert, “Control of a biped somersault in 3D,” Proc. of 1992 IEEE Int. Conf. on Intelligent Robots and Systems, Raliegh, NC, 1992, vol. 1, pp. 582-589.

[11] Honda Motor Corp., Asimo Website, 2008, www.world.honda.com/ASIMO

[12] Massachusetts Institute of Technology, Leg Laboratory Website, 2008, www.ai.mit.edu/projects/leglab/robots/3D_biped/3D_biped.html.

[13] U. Saranli, M. Buehler, and D. E. Koditschek, “RHex: a simple and highly mobile robot,” Int. J. Robotics Research, vol. 20, no. 7, pp. 616-631, 2001.

References 109

[14] RHex Website, 2008, www.rhex.web.tr

[15] Massachusetts Institute of Technology, Leg Laboratory Website, 2008, www.ai.mit.edu/projects/leglab/robots/quadruped/quadruped.html

[16] Kyoto Institute of Technology, Robotics Lab Website, 2008, www.kimura.is.uec.ac.jp/research/Quadruped/photo-movie-pat1-e.htm

[17] L. R. Palmer, and D. E. Orin, “3D control of a high-speed quadruped trot,” : An International Journal, vol. 33, no. 4, pp. 298-302, 2006.

[18] M. Buehler et al., “SCOUT: A simple quadruped that walks, climbs, and runs,” Proc. of 1998 IEEE Int. Conf. on Robotics and Automation, Leuven, Belgium, 1998, vol. 2, pp. 1707-1712.

[19] I. Poulakakis, J. A. Smith, and M. Buehler, "On the dynamics of bounding and extensions towards the half-bound and the gallop gaits," Adaptive Motion of Animals and Machines, H. Kimura, K. Tsuchiya, A. Ishiguro, and H. Witte (Eds.), pp. 79-88, Springer-Verlag, 2005.

[20] J. Smith, “Galloping, bounding and wheeled-leg modes of locomotion on underactuated quadrupedal robots,” PhD Thesis, McGill University, 2006.

[21] A. Nagakubo and S. Hirose, “Walking and running of the quadruped wall-climbing robot,” Proc. of 1994 IEEE Int. Conf. on Robotics and Automation, San Diego, CA, 1994, vol. 2. pp. 1005–1012.

[22] J. R. Rebula et al., “A controller for the LittleDog quadruped walking on rough terrain,” 2007 IEEE Int. Conf. on Robotics and Automation, pp. 1467-1473, 2007.

[23] H. Igarashi, T. Machida, R. Harashima, and M. Kakikura, “Free gait for quadruped robots with posture control,” 9th IEEE International Workshop on Advanced Motion Control, pp. 433-438, 2006.

[24] M. Raibert, K. Blankespoor, G. Nelson, and R. Playter, “BigDog, the rough-terrain quadruped robot,” Proc. of 17th Int. Federation of Automatic Control World Congress, Seoul, South Korea, 2008, pp. 10822-10925.

[25] H. C. Wong and D. E. Orin, "Control of a quadruped standing jump over irregular terrain obstacles," Autonomous Robots, vol. 1, pp. 111-129, 1995.

[26] F. Kikuchi, Y. Ota, and S. Hirose, “Basic performance experiments for jumping quadruped,” Proc. of 2003 IEEE Int. Conf. on Intelligent Robots and Systems, Las Vegas, NV, 2003, vol. 3, pp. 3378- 3383.

References 110

[27] C. Steeves, “Design and behavioural control of a dynamic quadruped with active wheels,” Masters Thesis, McGill University, 2002.

[28] Working Model 2D, Design Simulation Technologies Inc., 43311 Joy Road, #237, Canton, MI, 48187, www.design-simulation.com/WM2D/index.php

[29] MSC.ADAMS, MSC Software Corporation, 2 MacArthur Place, Santa Ana, CA, 92707, www.mscsoftware.com/products/adams.cfm

[30] M. Tolley, “Development and simulation of step-climbing behaviour for a legged- wheeled quadruped robot,” Bachelor Honours Thesis, McGill University, 2005.

[31] D. McMordie, C. Prahacs, and M. Buehler, “Towards a dynamic actuator model for a hexapod robot,” Proc. of 2003 IEEE Int. Conf. on Robotics and Automation, Taipei, Taiwan, 2003, vol. 1, pp. 1386- 1390.

[32] J. Schmiedeler and K. Waldron, “The mechanics of quadrupedal galloping and the future of legged vehicles,” Int. J. Robotics Research, vol. 18, pp. 1224–1234, 1999.

[33] I. Poulakakis, J. A. Smith, and M. Buehler, “Modeling and experiments of untethered quadrupedal running with a bounding gait: the Scout II robot,” Int. J. Robotics Research, vol. 24, pp. 239–256, 2005.

[34] Advanced Motion Control, 25A8 Amplifier Datasheet, 2008, www.a-m-c.com/download/datasheet/25a8.pdf

[35] S. Talebi, M. Buehler, and E. Papadopoulos, "Towards dynamic step climbing for a quadruped robot with compliant legs," 3rd International Conference on Climbing and Walking Robots, Madrid, Spain, 2000.

[36] V. L. Bels, J-P Theys, M. R. Bennett, and L. Legrand, “Biomechanical analysis of jumping in Anolis carolinensis,” Copeia, vol. 1992, no. 2, pp. 492-504, 1992.

[37] C. S. Gregersen and D. R. Carrier, “Gear ratios at the limb joints of jumping dogs,” J. Biomechanics, vol. 37, no. 7, pp. 1011-1018, 2004.

[38] M. A. Harris and K. Steudel, “The relationship between maximum jumping performance and hind limb morphology/physiology in domestic cats (Felis silvestris catus),” J. Experimental Biology, vol. 205, pp. 3877-3889, 2002.

[39] F. Gubina, H. Hemami, and R.B. McGhee, “On the dynamic stability of biped locomotion,” IEEE Transactions on Biomedical Engineering, vol. 21, no. 2, pp. 102–108, 1974.

[40] W. J. Schwind and D. E. Koditschek, “Approximating the stance map of a 2 DOF monopod runner,” J. Nonlinear Science, vol. 10, no. 5, pp. 533-568, 2000.

References 111

[41] N. Cherouvim and E. Papadopoulos, “Pitch control for running quadrupeds using leg positioning in flight,” 2007Mediterranean Conference on Control and Automation, pp. 1-6, 2007.

[42] M. Raibert, Legged Robots That Balance. Cambridge, MA: The MIT Press, 1986.

[43] H. L. Langhaar, Dimensional Analysis and Theory of Models. New York: John Wiley & Sons Inc., 1960.

[44] B. S. Massey, Units, Dimensional Analysis and Physical Similarity. London: Van Nostrand Reinhold Company, 1971.

[45] M. Hildebrand, D. M. Bramble, K. F. Liem, and D. B. Wake (Editors), Functional Vertebrate Morphology. Cambridge, MA: The Belknap Press of Harvard University Press, 1985.

[46] Y. Davidor, “Robot programming with a genetic algorithm,” Proc. of 1990 IEEE Int. Conf. on Computer Systems and Software Engineering, Tel Aviv, , 1990, pp. 186-191.

[47] X. Ma, Q. Zhang, and Y. Li, “Genetic algorithm-based multi-robot cooperative exploration,” 2007 IEEE Int. Conf. on Control and Automation, pp. 1018-1023, 2007.

[48] D. E. Goldberg, Genetic algorithms in search, optimization and machine learning. New York: Addison-Wesley, 1989.

[49] L. Schruben and V. Coglian, “An experimental procedure for simulation response surface model identification,” Communications of the ACM, vol. 30, no. 8, pp. 716- 730, 1987.

[50] J. Sall, L. Creighton and A. Lehman, JMP Start Statistics: A Guide to Statistics and Data Analysis Using JMP and JMP in Software, Third Edition. Pacific Grove, CA: Duxbury Press, 2005.

[51] JMP 7, SAS Institute Inc., SAS Campus Drive, Building S, Cary, NC, 27513, www.jmp.com

[52] M. T. Alexander, “Response surface optimization using JMP software,” 22nd Annual SAS Users Group International Conference, San Diego, CA, 1997.

[53] Helicon Filter, Helicon Soft, 2008, www.heliconsoft.com/heliconfilter.html

References 112

[54] C. Pelchen, C. Schweiger, and M. Otter, “Modeling and simulating the efficiency of gearboxes and of planetary gearboxes,” 2nd International Modelica Conference, Oberpfaffenhofen, Germany, 2002.

[55] Y. Lin and H. Zhang, “Component selection and smoothing in multivariate nonparametric regression,” Annals of Statistics, vol. 34, no. 5, pp. 2272-2297, 2006.

[56] Y. Liu, F. Lu, and R. D. Reitz, “The use of non-parametric regression to investigate the sensitivities of high-speed direct injection diesel emissions and fuel consumption to engine parameters”, Int. J. Engine Research, vol. 7, no. 2, pp. 167- 180, 2005.

.