Close
About
FAQ
Home
Collections
Login
USC Login
Register
0
Selected
Invert selection
Deselect all
Deselect all
Click here to refresh results
Click here to refresh results
USC
/
Digital Library
/
University of Southern California Dissertations and Theses
/
Design and control of a two-mode monopod
(USC Thesis Other)
Design and control of a two-mode monopod
PDF
Download
Share
Open document
Flip pages
Contact Us
Contact Us
Copy asset link
Request this asset
Transcript (if available)
Content
DESIGN AND CONTROL OF A TWO-MODE MONOPOD
by
Kale Harbick
A Dissertation Presented to the
FACULTY OF THE GRADUATE SCHOOL
UNIVERSITY OF SOUTHERN CALIFORNIA
In Partial Fulfillment of the
Requirements for the Degree
DOCTOR OF PHILOSOPHY
(COMPUTER SCIENCE)
August 2008
Copyright 2008 Kale Harbick
Dedication
This dissertation is dedicated to my late father Tom.
ii
Acknowledgements
First I want to thank my adviser Gaurav Sukhatme. A better combination of patience, support
and technical expertise is not to be found. The ten years I spent in his lab was a remarkable
experience. Thanks to Stefan Schaal and Jill McNitt-Gray for also serving on my committee. Jim
Montgomery gave me my first robotics job at USC, and another one at NASA JPL. The years
spent as part of his helicopter team are some of my most memorable at USC. His experience and
encouragement played a significant role in my graduate studies.
Various fellow students provided help with key components of the robot. Mike Poole con-
structed much of the frame. Mohammad Rahimi and Dave Naffin designed and built electronics
for the foot sensor. Dave Feil-Seifer provided code for the blob tracking system. This thesis
wouldn’t have been possible without their help.
Many members of the RESL lab shared their insights in all things technical and were always
there to help when I got stuck, especially Boyoon Jung and Srikanth Saripalli. I shall miss
working with them.
Thanks to my family for their support, and Rob and friends for plenty of good times in Los
Angeles. Finally thanks to Amelia for her love and support, and being someone I can rely on.
iii
Table of Contents
Dedication ii
Acknowledgements iii
List Of Tables vii
List Of Figures viii
Abstract x
Chapter 1 Introduction 1
1.1 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Expected Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Thesis Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Chapter 2 Robot Design 7
2.1 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Sensor Suite and Computation . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3 Locomotion Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.4 Actuators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Chapter 3 Hopping Controller 15
3.1 Actuator Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.1.1 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.1.2 Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.1.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2 Model-based Height Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2.1 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2.2 Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2.2.1 Two-Dimensional Model . . . . . . . . . . . . . . . . . . . . 22
3.2.2.2 Reduced One-Dimensional Model . . . . . . . . . . . . . . . 25
3.2.3 Simulation Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . 26
iv
3.2.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.3 Neural Network Velocity Control . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.3.1 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.3.2 Velocity Controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.3.2.1 Raibert Controller . . . . . . . . . . . . . . . . . . . . . . . . 29
3.3.2.2 Neural Network-Based Controller . . . . . . . . . . . . . . . . 30
3.3.3 Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.3.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.4 Robustness Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.4.1 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.4.2 Control System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.4.2.1 Height Control . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.4.2.2 Raibert Velocity Controller . . . . . . . . . . . . . . . . . . . 43
3.4.2.3 Neural Network Velocity Controller . . . . . . . . . . . . . . 44
3.4.3 Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.4.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Chapter 4 Scooting Simulations 49
4.1 Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.1.1 Translation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.1.2 Rotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.1.3 Dynamic Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.1.4 Friction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.2 Path Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Chapter 5 Scooting Experiments 58
5.1 Experimental Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.2 Actuator Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.3 Path Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.4 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.4.1 Straight Line Traversals . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.4.2 Obstacle Courses. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Chapter 6 Conclusions and Future Work 74
6.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
6.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
References 76
v
Appendix
List of Publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
A.1 Refereed Journal Papers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
A.2 Refereed Conference Papers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
A.3 Unrefereed Technical Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
vi
List Of Tables
3.1 Subscript definitions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2 Variable definitions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.3 Physical parameters of the hopping machine. . . . . . . . . . . . . . . . . . . . 22
3.4 Absolute and relative errors in apex height. . . . . . . . . . . . . . . . . . . . . 27
3.5 Variable definitions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.6 Physical parameters of the hopping machine. . . . . . . . . . . . . . . . . . . . 29
3.7 Average absolute and percent errors in speed. . . . . . . . . . . . . . . . . . . . 32
3.8 Subscript definitions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.9 Variable definitions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.10 Physical parameters of the hopping machine. . . . . . . . . . . . . . . . . . . . 41
3.11 Average relative errors as percentages. . . . . . . . . . . . . . . . . . . . . . . . 45
5.1 Open-loop 4.5m traverse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.2 Closed-loop 1.5m traverse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.3 Closed-loop 3.0m traverse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.4 Closed-loop 4.5m traverse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
vii
List Of Figures
1.1 Scooting: a statically-stable system with constant ground contact. . . . . . . . . 2
2.1 Photograph of the robot. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Topdown view. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Side view. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.4 Block diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.5 Pneumatic circuits for controlling actuators. . . . . . . . . . . . . . . . . . . . . 14
3.1 2D hopping machine in stance. The body is not shown. . . . . . . . . . . . . . . 20
3.2 Vertical hopping. Each circle denotes an apex height, and the dashed line repre-
sents the desired apex height profile. . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3 Lateral hopping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.4 The neutral point is approximated using an estimation of the CG print. . . . . . . 35
3.5 Neural network used to approximate the neutral point function. . . . . . . . . . . 36
3.6 Surface plot of neural network output. . . . . . . . . . . . . . . . . . . . . . . . 36
3.7 Speed performance, apex height: 0.4m. . . . . . . . . . . . . . . . . . . . . . . 37
3.8 Speed performance, apex height: 0.5m. . . . . . . . . . . . . . . . . . . . . . . 38
3.9 Percent error, apex height: 0.4m. . . . . . . . . . . . . . . . . . . . . . . . . . 39
viii
3.10 Percent error, apex height: 0.5m. . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.11 Height and speed tracking. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.12 Relative errors (in percentages) as a function of speed and height. . . . . . . . . 48
4.1 Mass polygon calculation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.2 Roadmap construction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.3 An example path around obstacles. . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.1 Experimental Arena. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.2 Pneumatic circuit used in scooting experiments. . . . . . . . . . . . . . . . . . . 61
5.3 Open-loop 4.5m traverse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5.4 Closed-loop 1.5m traverse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.5 Closed-loop 3.0m traverse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.6 Closed-loop 4.5m traverse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.7 Overhead of box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.8 Box traversal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.9 Overhead of wall. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.10 Wall traversal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.11 Overhead of zigzag. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.12 Zig zag traversal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.13 Overhead of spiral. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.14 Spiral traversal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.15 Position estimates during traversals. . . . . . . . . . . . . . . . . . . . . . . . . 73
ix
Abstract
Legged machines can traverse terrain unreachable by wheels or tracks. Similarly running ma-
chines have capabilities that exceed those of walking machines. The running machines con-
structed thus far have mainly served as existence proofs of various single locomotion modes.
In this thesis we present a robot design that incorporates two locomotion modes, hopping and
scooting, with a minimal number of actuators, and the added capability of being able to transi-
tion between modes as needed. We develop controllers for both modes and demonstrate their
feasibility in simulation. We also present experimental results for a scooting robot.
x
Chapter 1: Introduction
The benefits of legged systems over other forms of terrestrial locomotion are obvious; they can
navigate obstacles which wheeled and treaded vehicles cannot. This flexibility comes at a price,
typically increased energy requirements and more difficult design and control. Studying animal
locomotion can give us insight into how nature solves these problems. Augmenting what we learn
from nature with engineering approaches that nature rarely chooses (e.g. telescoping legs) gives
us considerable freedom in designing legged systems.
The vast majority of legged robots constructed thus far fall into the statically-stable walking
category. These machines typically have four or six legs. At least three legs are kept on the
ground, and the body center of mass is kept within the polygon of support defined by the contact
legs. Some examples include the Titan IX (Hirose and Kato, 1998) with interchangeable tools
for mine detection and removal, a large planetary rover (Krotkov and Simmons, 1996), and a
hexapod controlled with a neural network (H.J. Chiel and Espenschied, 1992). Statically-stable
bipedal walking is also possible if the contact areas of the legs are large enough.
Intermittent ground contact is a feature of statically-stable walking, in that each leg has a
recovery phase. Other systems exhibit statically-stable motion while parts of the body maintain
constant contact with the ground. Wheeled robots are of course one example; another is depicted
1
Figure 1.1: Scooting: a statically-stable system with constant ground contact.
in Figure 1. Control of such a system is rather simple compared to coordinating multiple legs for
a walking gait.
Dynamically-stable legged systems have advantages over statically-stable legged systems.
Dynamic stability typically relies on active balancing since the center of mass is not kept above
a polygon of support at all times. These can be walkers (typically bipeds) or runners. A consid-
erable amount of research has been done on humanoid walking robots. Morimoto et al. (2005)
demonstrates model-based learning of biped walking gaits.
Running machines can travel faster and can navigate terrain which has points of support that
are spaced too far apart for walking machines to reach. Again the trade-off is increased energy
consumption and control complexity. Observation of animal behavior has been especially impor-
tant in developing controllers for dynamically-stable runners. Muybridge pioneered the study of
2
walking and running in terrestrial mammals (Muybridge, 1957), including humans (Muybridge,
1955), using stop-motion photography. Margaria (1976); McMahon (1984) describe biomechan-
ics and energetics of animal locomotion.
Compared to statically-stable systems, dynamically-stable running systems have been barely
explored. Even for the simplest running machine, a one-legged hopping machine, several research
problems have not been completely solved. For example, the intermittent foothold problem has
been studied, but only in one dimension (Hodgins, 1988). Hopping on inclined surfaces is unex-
plored. Localization and obstacle detection, basic capabilities on wheeled robots, are a challenge
to implement on a robot that hops.
Studies in quadrupedal running have focused on the bounding gait. Delayed Feedback Con-
trol on a self-stabilizing quadruped has been used to generate bounding gaits (Zhang et al., 2005).
Using electrical actuators and compliance in the hips and legs, quadrupedal bounding without
tethered power has been achieved (I. Poulakakis and Buehler, 2005).
Most running machines constructed thus far have served as little more than existence proofs
of different forms of locomotion. We seek to construct a running machine that builds on basic lo-
comotion with additional behaviors that would be useful in a more functional robotic system. To
this end we have studied ways to improve the traditional Raibert three-part control system (Raib-
ert, 1986).
Most terrestrial mammals exhibit multiple modes of locomotion. Running or jumping allows
faster travel and access to intermittent footholds. Walking or crawling provides more maneuver-
ability and lower energy consumption. Note that running isn’t simply walking at very high speed.
3
Walking is statically-stable for most animals while running is dynamically-stable. Typically dif-
ferent gaits are used. Animals transition between locomotion modes as needed. This capability
was an inspiration for our robot design. It has a high speed mode of locomotion, hopping, which
is the simplest form of running. It can also scoot on passive casters by exerting forces on the
ground with the foot, similar to how the person in Figure 1 moves around. These behaviors and
the ability to transition between them makes the robot more capable in unstructured environ-
ments. Systems that combine legs and wheels have been constructed to provide multiple modes
of locomotion, but our design utilizes the same actuators for both modes, just as animals do.
This design principle has the added benefits of lower mass and energy expended, and low-level
actuator control simplicity.
Our research does not explore the mechanics of flea or frog-like hopping (Hale et al., 2000).
Such systems experience periods of ballistic flight, but also exhibit sustained statically-stable
stance phases and therefore do not require active balancing.
1.1 Problem Statement
The goal is the design and control of a robot capable of two modes of locomotion with differ-
ent dynamics (hopping and scooting), as well as transitions between these two modes, using a
minimal number of actuators.
1.2 Expected Contributions
Here we outline the contributions presented in the thesis.
4
1. Improvements to height and velocity control, presented in Chapter 3.
We present a model-based height controller that allows stable height regulation without
storing a large table of values. Simulation results are presented, robot experiments are
forthcoming. We use a neural network to approximate the neutral point function, and di-
rectly compare the performance of the resulting velocity controller with a Raibert velocity
controller in simulation. We also demonstrate that the controllers are robust to sensor and
actuator noise.
2. Modeling and control of a novel form of locomotion (scooting), presented in Chap-
ter 4.
Scooting is a form of locomotion that has not been studied to our knowledge. We develop
a dynamic model and control strategies for this mode, using no other actuators than those
used in hopping. Path planning results are presented.
3. Design of a legged system capable of two modes of locomotion using the same actua-
tors for both modes, presented in Chapter 2.
Previous hopping machine designs have been intended for a single locomotion mode. We
describe a new design that allows two modes and transitions between them, resulting in
a system capable of a wider range of locomotion than previous hopping robot designs.
Scooting results for a real robot are presented in Chapter 5.
5
1.3 Thesis Outline
Chapter 2 details the robot design and construction. The pneumatic circuits used to control the
actuators are illustrated. Chapter 3 describes the height and velocity controller improvements.
Simulation experiments that demonstrate the robustness of the controllers to sensor and actuator
noise are also presented. A novel form of locomotion for hopping robots, scooting, is studied in
Chapter 4. A dynamic model and controller are developed and demonstrated in the form of path
planning experiments. Real robot experimental results for scooting are presented in Chapter 5.
Finally conclusions and future work are discussed in Chapter 6.
6
Chapter 2: Robot Design
The robot is a 3D hopping machine, with no external supports. Electrical power and com-
pressed air are delivered through a tether. Sensors and computation are onboard. Components
are mounted to an aluminum frame. Plastic hoops on the sides and top of the robot serve as a roll
cage. The total mass is about 13kg.
The hip is located below the center of mass, like Raibert’s hopping machine (Raibert, 1986).
A gimbal serves as the hip. It allows the leg to be tilted on the roll and pitch axes. Optical
encoders are mounted to the gimbal to measure the hip angles.
Figures 2.2 and 2.3 show the location of the major components in top-down and side views.
2.1 Related Work
A planar hopping machine (Raibert, 1986) was constructed with pneumatic actuators controlling
the hip angle and leg length. Movement was approximately constrained to the sagittal plane using
a boom attached to a fixed pivot point, so the robot traveled around in a circle. Computation was
off board; power and air were delivered through a tether. The hip was located below the center of
mass.
7
Figure 2.1: Photograph of the robot.
Figure 2.2: Topdown view.
8
Figure 2.3: Side view.
9
The same group produced a 3D hopping machine, again using a pneumatic leg but with hy-
draulic actuators controlling the hip angles. The robot could hop freely in space with no external
supports. Power, air, and hydraulic fluid were delivered through a tether. The same hip placement
was chosen.
A planar hopping machine that ran on a treadmill (Ahmadi and Buehler, 1999) used electrical
actuators. Motion was constrained to the sagittal plane using supports on the treadmill. The
actuators were placed in series with mechanical springs to give compliance in the controllable
degrees of freedom. Hip placement was the same as the Raibert hopping machines.
A bow leg hopping robot was designed (Zeglin and Brown, 1998) that used a fiberglass leaf
spring to produce leg thrust. Electrical servos controlled the hip angles. The robot was connected
with a spring to the ceiling to simulate reduced gravity. In this case the hip was placed above the
center of mass, so that passive dynamics could be exploited.
2.2 Sensor Suite and Computation
Figure 2.4 is a block diagram of the sensors and PC/104 boards. All the sensors on the robot are
proprioceptive; it can’t sense the outside world other than the foot impacting the ground.
Pressure transducers measure the air pressure in the actuator chambers. Each actuator is
a double-acting cylinder so there are two chambers each. A seventh transducer measures the
supply pressure.
10
Figure 2.4: Block diagram.
11
An IMU with 3-axis gyros and accelerometers measures body orientation and acceleration.
If the error drift becomes large enough, the hopping machine can sit on its casters to reinitialize
the IMU.
In order to sense the force of the foot on the ground, a capacitor that varies with force applied
to it is used. It’s more durable than a switch and gives a continuum of force measurements rather
than simply touching or not touching.
Optical encoders are mounted to the gimbal; these are used to measure the hip angles.
An onboard PC/104 stack controls the robot. A relay board controls digital valves used for
switching on the air supply and changing locomotion modes. An A/D board controls a pro-
portional servo valve for each cylinder and reads data from pressure transducers, the foot force
sensor, and a linear potentiometer for sensing leg length. Optical encoder data is read with a
quadrature encoder board. Other components of the stack include a CPU, power supplies, and
wireless ethernet.
2.3 Locomotion Modes
The robot is designed for two modes of locomotion: hopping and scooting. Hopping allows
faster travel and over terrain with intermittent footholds. Scooting provides more maneuverabil-
ity, lower energy consumption, and the ability to pass under obstacles with low clearances.
Mode transitions are also possible with a sufficiently powerful leg actuator. Experiments are
more convenient when the robot can be started and stopped while sitting on the casters.
12
2.4 Actuators
Double-acting pneumatic cylinders are used as actuators. Two control the hip angles (i.e. the
angle of the leg with respect to the body), a third is the leg itself. The forces exerted by the
actuators are determined by the pressures in the air chambers. We regulate the chamber pressures
using proportional valves. These valves have controllable flow rates instead of fully open or fully
closed like normal valves.
2.5 Summary
The robot was designed as a tool to facilitate research in dynamic legged locomotion and balance.
The mass is low enough that the robot can be carried easily by one person. Previous hopping
machines had to be dropped to initiate hopping, and caught again in mid-air to end the experiment.
Since our robot can start and stop from a statically stable position, experiments can be conducted
with more convenience and safety. Not being limited to a single form of locomotion opens up
a wider range of possible experiments. The next chapter will describe our control strategies for
hopping.
13
Figure 2.5: Pneumatic circuits for controlling actuators.
14
Chapter 3: Hopping Controller
Hopping is a more difficult control problem than walking because it requires balancing (in our
case active balancing) and the dynamics of the system can only be influenced intermittently. The
dynamics in the flight phase are determined by the state at the end of the stance phase. Motions
made in flight phase that will have an impact on dynamics are limited to foot placement, and even
then won’t be realized until the following flight phase.
In a sense hopping on one leg is the simplest form of running because it alleviates the problem
of coordinating multiple legs. On the other hand, there is less margin for error because you have
no other legs to rely on. For example, when a person stumbles they may shift their weight to the
other leg to avoid falling. Our robot has no such luxury, so we must place particular importance
on the accurate control of hopping height, running speed, and balance.
In this chapter we first discuss strategies for low level control of pneumatic actuators. Then we
investigate methods for improving upon Raibert’s three-part control system. Finally we present
simulation experiments that demonstrate the robustness of our controllers to actuator and sensor
noise.
15
3.1 Actuator Control
Here we discuss the low-level controller we developed to control the actuator positions. Two
nested PD loops are used, with deadbands.
3.1.1 Related Work
A hybrid position/force controller with explicit modeling of valve flow and actuator dynamics
has been used to control pneumatic actuators (Bobrow and McDonell, 1998). A drawback with
this approach lies in system identification. It can be difficult to obtain accurate measurements of
the parameters governing valve flow.
3.1.2 Controller
Pneumatic cylinders are difficult to control because of the highly non-linear dynamics that govern
air flow.
The mass flow ˙ m is a non-linear function of effective valve orifice areaA
o
, upstream pressure
p
1
, downstream pressurep
2
, upstream temperatureT
1
˙ m =
Ao
√
T
1
q
2k
R(k−1)
p
1
r
p2
p1
2/k
−
p2
p1
k+1
k
:
p
2
p
1
>
2
k+1
k
k−1
(sub-critical)
Ao
√
T
1
r
k
R
2
k+1
k+1
k−1
p
1
:
p
2
p
1
≤
2
k+1
k
k−1
(super-critical)
(3.1)
wherek = c
p
/c
v
= 1.4 for air.
16
Rather than explicitly modeling these dynamics in a controller, we have taken a nested linear
controller approach.
We use double-acting pneumatic cylinders on the robot. These have two chambers on oppo-
site sides of the piston. The net forceF on the piston is given by
F = A
p
P
a
−P
b
(A
p
−A
r
) (3.2)
whereA
p
andA
r
are the surface areas of the piston and rod respectively, andP
a
andP
b
are
the chamber pressures.
The outer control loop regulates the actuator positionL as follows
F
d
=−K
p
(L−L
d
)−K
d
∗
˙
L (3.3)
The desired forceF
d
of a pneumatic actuator cannot be controlled directly. Valves are used to
regulate the flow of air so that the force can be indirectly controlled. Bang-bang control valves are
either on or off, these don’t operate quickly enough to provide good control. We use proportional
servo valves. They take voltage inputs which determine the size of the orifice through which the
air flows.
The valve control signal u takes values from 0 to 5 volts in our system and is controlled as
follows
u =−Kpp(F −F
d
). (3.4)
17
Ifu > 0
u = u+2.5+u
noflow
(3.5)
Ifu < 0
u = u+2.5−u
noflow
(3.6)
where u
noflow
is a voltage under which no flow occurs. This value is slightly different for
each valve.
We set the inital gain to be
K
pp
=
u
range
2P
s
(A
p
−A
r
)
. (3.7)
The controller can then be tuned around this point.
3.1.3 Summary
We have developed a position controller for pneumatic actuators. We are in the process of tuning
the controllers for each set of valves. Each pair requires a different set of gains because the
valves are not exactly alike. We plan to introduce an I term to compensate for varying loads on
the actuator. Gain scheduling may also improve performance; perhaps one set for sub-critical
flow and another set for super-critical flow.
18
3.2 Model-based Height Control
3.2.1 Related Work
A three-part control system has been used to control monopod hopping robots (Raibert, 1986).
One of the controllers used a fixed duration thrust to regulate hopping height.
Proportional control has been used to regulate hopping height in simulation (Ahmadi and
Buehler, 1997). For the Monopod II robot, an adaptive energy feedback controller was used to
control the apex energy and thus the apex height (Ahmadi and Buehler, 1999).
A discrete closed form trajectory model was used to control a bow leg hopping machine (Zeglin
and Brown, 1998). Model parameters were experimentally determined with a least squares fit to
a set of recorded trajectories.
A simulation of a vertical hopping machine was controlled using a near-inverse discrete-time
model (Prosser and Kam, 1992). Time-varying or unknown parameters were estimated with a
recursive least-squares parameter estimator. Because the model was able to update itself in this
way, the controller was much less sensitive to modeling errors and even abrupt changes in physical
parameters.
3.2.2 Model
The controllers presented here use trajectory models that utilize the differential equations of mo-
tion rather than discrete functions. The equations of motion are numerically integrated to produce
appropriate actuator commands. This approach doesn’t require experimental determination of pa-
rameters, and unlike tabular control doesn’t require storage of a large table of values.
19
Figure 3.1: 2D hopping machine in stance. The body is not shown.
A diagram of the hopping machine model is shown in Figure 3.1. Table 3.1 defines the
subscripts used for the state variables, Table 3.2 defines the state variables themselves, and Table
3.3 defines the physical parameters of the hopping machine. Superscripts of k denote the kth
hopping cycle. The leg stroke, hip offset, and mass parameters are similar to those used by
Raibert for his planar hopping machine (Raibert, 1986).
The detailed derivations for the equations presented in this section can be found in (Harbick
and Sukhatme, 2001a) and (Harbick and Sukhatme, 2001b).
The control loop functions as follows. At lift-off, the controller solves equations of motion
for the next five phases: initial ascent, descent, compression, extension, and final ascent. The goal
20
td touch-down
lo lift-off
+ immediately after
− immediately before
d desired value
Table 3.1: Subscript definitions.
L leg length (m)
y height of body c.m. (m)
˙ y body vertical velocity (m/s)
˙ x body horizontal velocity (m/s)
K
s
spring constant (N·m)
θ angle of leg measured from ground (rad)
˙
θ angular velocity of leg (rad/s)
I moment of inertia of body w.r.t. foot during stance (kg·m
2
)
Table 3.2: Variable definitions.
is to control the apex heighty
k+1
max
reached at the end of the final ascent phase. The controller uses
state information at the beginning of initial ascent (lift-off) and the goal apex height to calculate
the proper leg length setting. As the hopping machine transitions from initial ascent to descent,
the leg setting is realized with a PD controller
τ =−K
P
(L−L
d
)−K
D
˙
L
where τ is the leg force command, and K
P
and K
D
are proportional and derivative gains.
Values forK
P
andK
D
used in the simulations are 1300.0N/m and 50.0N/(m/s), respectively.
This leg position is maintained until touch-down, at which point the actuator releases and the
passive dynamics of stance take over. At lift-off the cycle begins again.
21
g gravitational acceleration −9.81m/s
2
μ
k
viscous leg friction 5.0N/s
d
hip
distance from hip to body c.m. 0.05m
L
max
max leg length 0.285m
m
s
sprung mass 8.375kg
m
u
unsprung mass 0.225kg
A
p
area of piston 4.91×10
−4
m
2
P
0
nominal pressure of upper leg chamber 4.0×10
2
kPa
Table 3.3: Physical parameters of the hopping machine.
3.2.2.1 Two-Dimensional Model
This model incorporates the leg angle and lateral velocity effects. First we define the spring
constantK
s
K
s
= A
p
P
s
L
max
. (3.8)
There are two equations of motion for compression and extension
dL
d˙ y
=
˙ y
Ks sinθ
msL
−
μ
k
˙ y
ms
+g
sinθ
(3.9)
dθ
d˙ y
=
˙
θ
k+1
lo
L
2
max
Ks sinθ
msL
−
μ
k
˙ y
ms
+g
L
2
(3.10)
where
˙
θ
k+1
lo
=
˙ x
k+1
lo
−
sin(π−θ
k+1
lo
)+ ˙ y
k+1
lo
−
cos(π−θ
k+1
lo
)
L
max
.
22
The vertical velocity ˙ y
k+1
lo
−
is calculated below. Because of the simplifications made in this
model, we cannot determine ˙ x
k+1
lo
−
andθ
k+1
lo
, so we invoke symmetry considerations and use the
measured values from the previous hop
˙
θ
k+1
lo
≈
˙ x
k
lo
−
sin(π−θ
k
lo
)+ ˙ y
k+1
lo
−
cos(π−θ
k
lo
)
L
max
.
Equations 3.9 and 3.10 are integrated backwards in time from lift-off to touch-down. Initial
conditions at lift-off are given by
L
k+1
lo
= L
max
˙ y
k+1
lo
−
=
m
s
+m
u
m
s
˙ y
k+1
lo
+
where
˙ y
k+1
lo
+
=
q
2g(y
k+1
lo
−y
k+1
max
)
and
y
k+1
lo
= (L
max
+d
hip
)sinθ
k+1
lo
.
We also need a final condition for ˙ y at touch-down
˙ y
k+1
td
=−
q
2g(y
k+1
td
−y
k
max
)
23
where
y
k
max
=−
˙ y
k
lo
+
2
2g
+y
k
lo
,
˙ y
k
lo
+
=
m
s
m
s
+m
u
˙ y
k
lo
−
,
and
y
k
lo
= (L
max
+d
hip
)sinθ
k
lo
.
As described in (Harbick and Sukhatme, 2001b), the desired height at touch-down y
k+1
td
is
approximated by
y
k+1
td
≈
L
k
td
+d
hip
sinθ
k
td
where L
k
td
is the leg length of the previous touch-down, and θ
k
td
is the touch-down angle in the
previous cycle.
Equations 3.9 and 3.10 are integrated over ˙ y to find L
k+1
td
, our desired leg length setting. A
Runge-Kutta algorithm described in (Press et al., 1999) is used to perform the numerical integra-
tion, and converges in six or seven steps to a solution within a 0.01% relative error tolerance.
At the top lateral velocities studied in these experiments, the leg sweeps through a rather
small angle during stance, approximately±15 degrees. The next section makes use of this fact,
producing a simpler model. This is accomplished by settingθ = π/2.
24
3.2.2.2 Reduced One-Dimensional Model
We now model only the vertical motion of the hopping machine, and ignore the effects of the leg
angle and lateral velocity. The spring constantK
s
is defined in Equation 3.8.
The equation of motion for compression and extension is given by
dL
d˙ y
=
˙ y
Ks
msL
−
μ
k
˙ y
ms
+g
. (3.11)
This equation is integrated backwards in time from lift-off to touch-down. Initial conditions
at lift-off are given by
L
k+1
lo
= L
max
˙ y
k+1
lo
−
=
m
s
+m
u
m
s
˙ y
k+1
lo
+
where
˙ y
k+1
lo
+
=
q
2g(y
lo
−y
k+1
max
)
and
y
k+1
lo
= L
max
+d
hip
. (3.12)
We also need a final condition for ˙ y at touch-down
˙ y
k+1
td
=−
q
2g(y
k+1
td
−y
k
max
)
25
where
y
k
max
=−
˙ y
k
lo
+
2
2g
+y
k
lo
,
˙ y
k
lo
+
=
m
s
m
s
+m
u
˙ y
k
lo
−
,
andy
lo
is given in Equation 3.12.
As described in (Harbick and Sukhatme, 2001a), the desired height at touch-down y
k+1
td
is
approximated by
y
k+1
td
≈ L
k
td
+d
hip
whereL
k
td
is the leg length of the previous touch-down.
Equation 3.11 is integrated over ˙ y to find L
k+1
td
, our desired leg length setting. A Runge-
Kutta algorithm described in (Press et al., 1999) is used to perform the numerical integration, and
converges in six or seven steps to a solution within a 0.01% relative error tolerance.
3.2.3 Simulation Experiments
Two sets of experiments were performed in simulation. Each experiment was run twice, once for
each height controller.
The first set involves only vertical hopping. The hopping machine was dropped from a height
of 0.75m and given desired apex heights in a piece-wise constant fashion. Figure 3.2 shows the
results of these experiments. Note that going from a high to low height takes many more hops
26
Desired Apex Avg. Abs. Avg. Rel.
Height (m) Error (cm) Error (%)
2D Model 0.5 0.62 1.24
0.45 0.40 0.89
1D Model 0.5 0.21 0.42
0.45 0.13 0.28
Table 3.4: Absolute and relative errors in apex height.
than going from low to high. This is a consequence of our actuator model. Note that having
the leg at maximum extension will produce the smallest possible spring constant, assuming the
quantity of air in the cylinder remains constant. If the hopping machine continues to hop with this
leg extension, energy will be gradually lost to friction. This is what happens when we go from
high to low apex heights. If friction were greater, the system would lose energy faster. Increasing
energy is easier to do, by simply shortening the leg, thereby creating a larger spring constant. In a
real robot, exhausting air from the actuator to provide a smaller range of spring constants would
allow faster convergence from high to low apex heights.
For the second set, the hopping machine was given a constant desired apex height while the
desired lateral velocity was slowly ramped up. The results of trials with two different desired
apex heights are shown in Figure 3.3. Average absolute errors and average relative errors in apex
height are shown in Table 3.4.
3.2.4 Summary
Table 3.4 shows that the restricted 1D model actually performs better than the 2D model. Al-
though the 2D model is closer to the actual physics of the system than the 1D model, there are
more unknown boundary conditions for the stance phase in the 2D model. This leads to making
27
more assumptions than we had to do for the 1D model. We hypothesize that the error introduced
in these assumptions outweighs the benefit gained by additional fidelity to the true physics in the
model itself.
We have shown that both the 2D model and simplifed 1D model can accurately regulate
apex height on the simulated hopping machine with a variety of lateral speeds. Since the model
solutions both converge so quickly, implementation on a real robot is feasible.
3.3 Neural Network Velocity Control
3.3.1 Related Work
A three-part control system has been used to control monopod hopping robots (Raibert, 1986).
This system used two proportional controllers to control forward speed. This controller is de-
scribed in further detail in Section 3.3.2.
A similar approach modifies the neutral point approximation with an additional factor of the
ratio of leg length to rest length (Ahmadi and Buehler, 1997).
A discrete closed form trajectory model was used to control a bow leg hopping machine (Zeglin
and Brown, 1998). Model parameters were experimentally determined with a least squares fit to
a set of recorded trajectories.
A simulation of a vertical hopping machine was controlled using a near-inverse discrete-time
model (Prosser and Kam, 1992). Time-varying or unknown parameters were estimated with a
recursive least-squares parameter estimator.
28
L leg length (m)
˙ x body horizontal velocity (m/s)
x
f
distance from body c.m. to foot along horizontal dimension (m)
T
s
stance duration (s)
φ body angle w.r.t. horizontal (rad)
γ angle of leg w.r.t. body (rad)
Table 3.5: Variable definitions.
g gravitational acceleration −9.81m/s
2
μ
k
viscous leg friction 5.0N/s
d
hip
distance from hip to body c.m. 0.05m
L
max
max leg length 0.285m
m
s
sprung mass 8.375kg
m
u
unsprung mass 0.225kg
A
p
area of piston 4.91×10
−4
m
2
P
0
nominal pressure of upper leg chamber 4.0×10
2
kPa
Table 3.6: Physical parameters of the hopping machine.
Other statistical learning methods such as RMRC have been used to learn inverse kinematic
mappings in real time (D’Souza et al., 2001).
3.3.2 Velocity Controllers
3.3.2.1 Raibert Controller
Raibert describes the neutral point of a hop as the point where the foot should be placed which
will result in zero net acceleration (Raibert, 1986). This point is a function of hopping height and
forward speed. Raibert used an approximation of the CG print, i.e. the locus of points on the
ground over which the body center of mass travels during stance, to estimate the neutral point.
This is represented in Figure 3.4.
29
He approximated the length of the CG print as the stance duration times the forward running
speed, as in Equation 3.13.
x
f
=
˙ xT
s
2
+k
˙ x
(˙ x− ˙ x
d
). (3.13)
This foot position is converted into a desired leg angle w.r.t. the body
γ
d
= φ−arcsin
x
f
L
.
Finally a second PD loop is used to calculate the hip torque
τ =−k
p
(γ−γ
d
)−k
d
(˙ γ).
We used the following values for gains: k
˙ x
= 0.03,k
p
= 47.0,k
d
= 1.26.
3.3.2.2 Neural Network-Based Controller
One problem with the Raibert speed controller, as he points out, is that the neutral point is nearly
linear with forward speed only up to a certain velocity. This point varies with the physical pa-
rameters of the system, but for the plant described in this paper, it is approximately 0.7m/s. To
overcome this difficulty, we used a neural network to more closely represent the neutral point
function.
30
The original controller is modified to replace the first term in Equation 3.13 with a neural
network output. The second term is left unchanged. The network is shown in Figure 3.5. The
hidden layer uses sigmoidal tangent activation functions and the output layer is purely linear.
Training data was generated by a human operator controlling the foot position at varying
speeds and apex heights. The simulation recorded neutral point values for three different apex
heights (0.4m, 0.5m, and 0.6m) and seven different speeds (0.4m/s to 1.6m/s at 0.2m/s in-
tervals), for a total of 21 training points. The neural network was trained off-line using Levenberg-
Marquardt optimization (Levenberg, 1944) (Marquardt, 1963).
Figure 3.6 shows a surface plot of the output of the trained network given apex values from
0.4m to 0.65m and speed values from -2.0m/s to 2.0m/s.
3.3.3 Experiments
The simulations were started with the hopping machine at zero forward velocity. Two experi-
ments were performed with each speed controller: one with an apex height of 0.45m and another
with an apex height of 0.5m. In each experiment, the desired speed was increased in a step-wise
fashion at 0.1 m/s intervals, up to approximately 1.8 m/s. Figure 3.7 shows the results of the
experiment using the first height, and Figure 3.8 shows the results of the experiment using the
second height.
It is apparent that there is a large error present at higher speeds with the Raibert controller.
The neural network-based controller tracks the higher desired speeds with less error. Plots of
error as a function of desired forward speed are shown in Figure 3.9 for the first experiment and
31
Apex Ht. (m) Avg. Abs. Error (m/s) Avg. % Error
Raibert 0.4 0.22 36.9
Controller 0.5 0.19 23.6
N. Net-based 0.4 0.03 8.3
Controller 0.5 0.04 12.3
Table 3.7: Average absolute and percent errors in speed.
Figure 3.10 for the second experiment. Table 3.7 shows the average absolute and relative errors
in speed.
3.3.4 Summary
We have shown that using a neural network to represent the functional mapping between forward
speed and neutral point is a viable solution, and simulation results show that it tracks higher
desired speeds with less error than the Raibert speed controller. The neural net controller adds
little computational load to the system and is thus feasible to use on a real robot.
3.4 Robustness Experiments
3.4.1 Related Work
A three-part control system has been used to control monopod hopping robots (Raibert, 1986).
This system used a fixed duration thrust to regulate hopping height, and two PD-controllers to
regulate forward running speed.
Proportional control has been used to regulate hopping height in simulation (Ahmadi and
Buehler, 1997). For the Monopod II robot, an adaptive energy feedback controller was used
32
to control the apex energy and thus the apex height (Ahmadi and Buehler, 1999). A similar
approach to Raibert’s for controlling running speed modifies the neutral point approximation
with an additional factor of the ratio of leg length to rest length (Ahmadi and Buehler, 1997).
A discrete closed form trajectory model was used to control a bow leg hopping machine (Zeglin
and Brown, 1998). Model parameters were experimentally determined with a least squares fit to
a set of recorded trajectories.
A simulation of a vertical hopping machine was controlled using a near-inverse discrete-time
model (Prosser and Kam, 1992). Time-varying or unknown parameters were estimated with a
recursive least-squares parameter estimator. Because the model was able to update itself in this
way, the controller was much less sensitive to modeling errors and even abrupt changes in physical
parameters.
Other statistical learning methods such as RMRC have been used to learn inverse kinematic
mappings in real time (D’Souza et al., 2001).
Our speed controller approximates the neutral point function using a simple neural network,
rather than a linear function of forward velocity and stance duration. This allows the controller
to track desired speeds beyond the point at which Raibert’s approximation diverges from linear.
For the plant simulated in these experiments, this point is approximately 0.7m/s.
33
0 5 10 15 20 25 30 35 40 45
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Time (s)
Apex Height (m)
(a) 2D model
0 5 10 15 20 25 30 35 40 45
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Time (s)
Apex Height (m)
(b) 1D model
Figure 3.2: Vertical hopping. Each circle denotes an apex height, and the dashed line represents
the desired apex height profile.
td touch-down
lo lift-off
+ immediately after
− immediately before
d desired value
Table 3.8: Subscript definitions.
34
0 10 20 30 40 50 60
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
Time (s)
Lateral Velocity (m/s) Apex Height (m)
(a) 2D model,0.5m desired apex height
0 5 10 15 20 25 30 35 40 45
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
Time (s)
Lateral Velocity (m/s) Apex Height (m)
(b) 2D model,0.45m desired apex height
0 10 20 30 40 50 60
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
Time (s)
Lateral Velocity (m/s) Apex Height (m)
(c) 1D model,0.5m desired apex height
0 5 10 15 20 25 30 35 40 45
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
Time (s)
Lateral Velocity (m/s) Apex Height (m)
(d) 1D model,0.45m desired apex height
Figure 3.3: Lateral hopping.
Figure 3.4: The neutral point is approximated using an estimation of the CG print.
35
Figure 3.5: Neural network used to approximate the neutral point function.
0.4
0.45
0.5
0.55
0.6
0.65
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
−0.2
−0.15
−0.1
−0.05
0
0.05
0.1
0.15
Figure 3.6: Surface plot of neural network output.
36
0 10 20 30 40 50 60 70 80 90 100
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
Time (s)
Forward Velocity (m/s)
(a) PD controller.
0 10 20 30 40 50 60 70 80 90
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
Time (s)
Forward Velocity (m/s)
(b) Neural network-based controller.
Figure 3.7: Speed performance, apex height: 0.4m.
37
0 10 20 30 40 50 60 70 80 90
−0.5
0
0.5
1
1.5
2
Time (s)
Forward Velocity (m/s)
(a) PD controller.
0 10 20 30 40 50 60 70 80 90
−0.5
0
0.5
1
1.5
2
Time (s)
Forward Velocity (m/s)
(b) Neural network-based controller.
Figure 3.8: Speed performance, apex height: 0.5m.
38
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
−150
−100
−50
0
50
100
150
200
250
Desired Forward Velocity (m/s)
Percent Error
(a) PD controller.
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
−150
−100
−50
0
50
100
150
200
Desired Forward Velocity (m/s)
Percent Error
(b) Neural network-based controller.
Figure 3.9: Percent error, apex height: 0.4m.
39
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
−200
−150
−100
−50
0
50
100
150
200
Desired Forward Velocity (m/s)
Percent Error
(a) PD controller.
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
−150
−100
−50
0
50
100
150
200
250
Desired Forward Velocity (m/s)
Percent Error
(b) Neural network-based controller.
Figure 3.10: Percent error, apex height: 0.5m.
40
L leg length (m)
y height of body c.m. (m)
˙ y body vertical velocity (m/s)
˙ x body horizontal velocity (m/s)
K
s
spring constant (N·m)
θ angle of leg measured from ground (rad)
˙
θ angular velocity of leg (rad/s)
I moment of inertia of body w.r.t. foot during stance (kg·m
2
)
x
f
distance from body c.m. to foot along horizontal dimension (m)
T
s
stance duration (s)
φ body angle w.r.t. horizontal (rad)
γ angle of leg w.r.t. body (rad)
Table 3.9: Variable definitions.
g gravitational acceleration −9.81m/s
2
μ
k
viscous leg friction 5.0N/s
d
hip
distance from hip to body c.m. 0.05m
L
max
max leg length 0.285m
m
s
sprung mass 8.375kg
m
u
unsprung mass 0.225kg
A
p
area of piston 4.91×10
−4
m
2
P
0
nominal pressure of upper leg chamber 4.0×10
2
kPa
Table 3.10: Physical parameters of the hopping machine.
3.4.2 Control System
3.4.2.1 Height Control
The height control loop functions as follows. At lift-off, the controller solves equations of motion
for the next five phases: initial ascent, descent, compression, extension, and final ascent. The goal
is to control the apex heighty
k+1
max
reached at the end of the final ascent phase. The controller uses
state information at the beginning of initial ascent (lift-off) and the goal apex height to calculate
41
the proper leg length setting. As the hopping machines transitions from initial ascent to descent,
the leg setting is realized with a PD controller
τ =−K
P
(L−L
d
)−K
D
˙
L
where τ is the leg force command, and K
P
and K
D
are proportional and derivative gains.
Values forK
P
andK
D
used in the simulations are 1300.0N/m and 50.0N/(m/s), respectively.
This leg position is maintained until touch-down, at which point the actuator releases and the
passive dynamics of stance take over. At lift-off the cycle begins again.
First we define the spring constantK
s
K
s
= A
p
P
s
L
max
. (3.14)
There are two equations of motion for compression and extension
dL
d˙ y
=
˙ y
Ks sinθ
msL
−
μ
k
˙ y
ms
+g
sinθ
(3.15)
dθ
d˙ y
=
˙
θ
k+1
lo
L
2
max
Ks sinθ
msL
−
μ
k
˙ y
ms
+g
L
2
(3.16)
where
˙
θ
k+1
lo
=
˙ x
k+1
lo
−
sin(π−θ
k+1
lo
)+ ˙ y
k+1
lo
−
cos(π−θ
k+1
lo
)
L
max
. (3.17)
42
Equations 3.14 - 3.17 are the key equations for this model; see (Harbick and Sukhatme,
2001b) and (Harbick and Sukhatme, 2002) for further details.
3.4.2.2 Raibert Velocity Controller
The neutral point of a hop is the point where the foot should be placed which will result in zero
net acceleration (Raibert, 1986). This point is a function of hopping height and forward speed.
Raibert used an approximation of the CG print, i.e. the locus of points on the ground over which
the body center of mass travels during stance, to estimate the neutral point. This is represented in
Figure 3.4.
The length of the CG print was estimated as the stance duration times the forward running
speed, as given below in Equation 3.18.
x
f
=
˙ xT
s
2
+k
˙ x
(˙ x− ˙ x
d
). (3.18)
This foot position is converted into a desired leg angle w.r.t. the body
γ
d
= φ−arcsin
x
f
L
.
Finally a second PD loop is used to calculate the hip torque
τ =−k
p
(γ−γ
d
)−k
d
(˙ γ).
We used the following values for gains: k
˙ x
= 0.03,k
p
= 47.0,k
d
= 1.26.
43
3.4.2.3 Neural Network Velocity Controller
One problem with the Raibert speed controller, as he points out, is that the neutral point is nearly
linear with forward speed only up to a certain velocity. This point varies with the physical pa-
rameters of the system, but for the plant described in this paper, it is approximately 0.7m/s. To
overcome this difficulty, we used a simple neural network to more closely represent the neutral
point function.
The original controller was modified to replace the first term in Equation 3.18 with a neural
network output. The second term is left unchanged.
Training data were generated by a human operator controlling the foot position at varying
speeds and apex heights. The simulation recorded neutral point values for two apex heights and
five speeds, for a total of ten training points. The neural network was trained off-line using
Levenberg-Marquardt optimization (Levenberg, 1944; Marquardt, 1963).
3.4.3 Experiments
In each run, the desired speed was varied from0.2m/s to1.8m/s, while the desired apex height
remained constant. Three heights were tested, with eight different noise profiles (and one with
no noise), for a total of 27 runs. The heights used were 0.4m, 0.45m, and 0.5m. These heights
correspond to the planned operating range of our actual robot, which is being constructed. The
length and angle measurements were contaminated with additive Gaussian noise, as were the
torque settings. Two values for standard deviations were used for each noise source: 1 cm and
44
Avg. Rel.
Noise Profile Error (%)
No noise 11.6
σ
l
= 1cm,σ
a
= 1
◦
,σ
t
= 5N·m 14.7
σ
l
= 1cm,σ
a
= 1
◦
,σ
t
= 10N·m 16.9
σ
l
= 1cm,σ
a
= 2
◦
,σ
t
= 5N·m 17.4
σ
l
= 1cm,σ
a
= 2
◦
,σ
t
= 10N·m 16.1
σ
l
= 2cm,σ
a
= 1
◦
,σ
t
= 5N·m 13.7
σ
l
= 2cm,σ
a
= 1
◦
,σ
t
= 10N·m 14.9
σ
l
= 2cm,σ
a
= 2
◦
,σ
t
= 5N·m 20.5
σ
l
= 2cm,σ
a
= 2
◦
,σ
t
= 10N·m 18.6
Table 3.11: Average relative errors as percentages.
2 cm for leg length, 1
◦
and 2
◦
for angle, and 5 N·m and 10 N·m for hip torque. Note that the
noise sources are uncorrelated with each other.
Height and speed tracking performances for no noise, minimum noise, and maximum noise
are shown in Figure 3.11.
Table 3.11 shows the average relative error computed over all three heights for each noise
profile.
Relative errors in forward velocity as functions of desired velocity and desired apex height
are shown in Figure 3.12.
3.4.4 Summary
The experiments reported in this section were intended to determine the sensitivity of the plant to
additive Gaussian noise in what we presume to be the key actuator and sensors.
We found that the relative error of the test cases with the highest amounts of noise was ap-
proximately twice that of the noiseless case.
45
The leg length and angle sensors we plan to use on the physical robot have accuracies of
2mm and0.7
◦
, respectively. The standard deviations for the noise of these sensors are0.67mm
and 0.23
◦
. Thus the noise for these sensors is less than the lowest noise case reported in these
experiements. The noise profiles of our actuators have yet to be determined. However, the greatest
standard deviation for torque which was tested in these simulations (10 N·m) is approximately
25% of the maximum torque of the actuator. We believe that it is unlikely the true inaccuracy in
torque will be greater than the values tested. We expect the controller will perform comparably
on the real robot as it has in the simulations.
46
0 10 20 30 40 50 60 70 80 90 100
0
0.5
1
1.5
2
2.5
Time (s)
Forward Velocity (m/s) Apex Height (m)
(a) No noise.
0 10 20 30 40 50 60 70 80 90 100
−0.5
0
0.5
1
1.5
2
2.5
Time (s)
Forward Velocity (m/s) Apex Height (m)
(b) σ
l
= 1cm,σa = 1
◦
,σt = 5N ·m
0 10 20 30 40 50 60 70 80 90 100
0
0.5
1
1.5
2
2.5
Time (s)
Forward Velocity (m/s) Apex Height (m)
(c) σ
l
= 2cm,σa = 2
◦
,σt = 10N ·m
Figure 3.11: Height and speed tracking.
47
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
0.4
0.45
0.5
0
5
10
15
20
25
30
35
40
45
50
Desired Height (m)
Desired Velocity (m/s)
Percent Error
(a) No noise.
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
0.4
0.45
0.5
0
10
20
30
40
50
60
70
Desired Height (m)
Desired Velocity (m/s)
Percent Error
(b) σ
l
= 1cm,σa = 1
◦
,σt = 5N ·m
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
0.4
0.45
0.5
0
10
20
30
40
50
60
70
80
Desired Height (m)
Desired Velocity (m/s)
Percent Error
(c) σ
l
= 1cm,σa = 1
◦
,σt = 10N·m
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
0.4
0.45
0.5
0
10
20
30
40
50
60
Desired Height (m)
Desired Velocity (m/s)
Percent Error
(d) σ
l
= 1cm,σa = 2
◦
,σt = 5N ·m
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
0.4
0.45
0.5
0
10
20
30
40
50
60
70
Desired Height (m)
Desired Velocity (m/s)
Percent Error
(e) σ
l
= 1cm,σa = 2
◦
,σt = 10N·m
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
0.4
0.45
0.5
0
10
20
30
40
50
60
Desired Height (m)
Desired Velocity (m/s)
Percent Error (f) σ
l
= 2cm,σa = 1
◦
,σt = 5N ·m
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
0.4
0.45
0.5
0
10
20
30
40
50
60
Desired Height (m)
Desired Velocity (m/s)
Percent Error
(g) σ
l
= 2cm,σa = 1
◦
,σt = 10N·m
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
0.4
0.45
0.5
0
10
20
30
40
50
60
70
80
90
Desired Height (m)
Desired Velocity (m/s)
Percent Error
(h) σ
l
= 2cm,σa = 2
◦
,σt = 5N ·m
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
0.4
0.45
0.5
0
10
20
30
40
50
60
Desired Height (m)
Desired Velocity (m/s)
Percent Error
(i) σ
l
= 2cm,σa = 2
◦
,σt = 10N ·m
Figure 3.12: Relative errors (in percentages) as a function of speed and height.
48
Chapter 4: Scooting Simulations
We define scooting as a form of locomotion in which a body is supported on passive casters
while one or more end effectors exert forces on the ground, causing the casters to slide or roll.
An example is the way people move while sitting in office chairs.
In our case the casters provide static stability at all times. This form of locomotion allows
much more precise position control, with less energy expended, yet doesn’t require additional
actuators to those used during hopping.
Rotation movements require a non-zero turning radius (i.e. the robot can’t turn in place). This
is the only restriction on the configurations reachable by the robot.
4.1 Controller
4.1.1 Translation
In order to execute a translational movement, a leg angle α is maintained that is opposite to the
desired direction of motion. The leg exerts a constant radial forceF
T
until it reaches max length.
At that point no force is applied so that the robot may coast to a stop.
49
F
Lx
=−F
T
cosα (4.1)
F
Ly
=−F
T
sinα (4.2)
whereF
Lx
andF
Ly
are thex andy components of the force exerted on the body by the leg.
4.1.2 Rotation
For rotational movements, a constant leg length r
0
is maintained while the hip actuators exert a
tangential forceF
R
at the foot. A PD loop controls the tangential force
F
R
= K
p
R
(θ−θ
d
)+K
d
R
˙
θ (4.3)
whereθ is the body yaw angle.
Centripetal acceleration causes the leg length to increase during a rotational movement, so
we need a correcting force. A second PD loop controls the correcting radial forceF
C
needed to
maintain the leg length during rotation
F
C
= K
p
C
(r−r
0
)+K
d
C
˙ r. (4.4)
So the total forces alongx andy during a rotational movement become
F
Lx
= F
R
sinα+(K
p
C
(r−r
0
)+K
d
C
˙ r)cosα (4.5)
50
F
Ly
= F
R
cosα+(K
p
C
(r−r
0
)+K
d
C
˙ r)sinα. (4.6)
4.1.3 Dynamic Model
Now we can derive the equations of motion for the simulated robot. We assume a Coulomb
friction model for the friction forces
F
fxi
=−˙ x
i
μF
N
i
(4.7)
F
fyi
=−˙ y
i
μF
N
i
(4.8)
where ˙ x
i
and ˙ y
i
are the x and y components of velocity of the ith contact point, and F
N
i
is
the normal force. Summing the friction forces and control forces gives the total force on the body
F
x
= F
Lx
−
4
X
i=1
˙ x
i
μF
N
i
(4.9)
F
y
= F
Ly
−
4
X
i=1
˙ y
i
μF
N
i
. (4.10)
To determine the moment about the body center of mass, observe that the actuators exert no
torques because the hip axes of rotation intersect at the center of mass. The only torques come
from the friction forces
51
τ
i
= ˙ x
i
μF
N
i
bsinθ− ˙ y
i
μF
N
i
bcosθ (4.11)
whereb is the distance from the center of mass to a contact point.
Summing the torques for each contact point gives
τ =
4
X
i=1
(˙ x
i
μF
N
i
bsinθ− ˙ y
i
μF
N
i
bcosθ). (4.12)
Dividing the forces by the total massm and the torque by the moment of inertiaI yields the
equations of motion
¨ x =
F
x
m
(4.13)
¨ y =
F
y
m
(4.14)
¨
θ =
τ
I
. (4.15)
4.1.4 Friction
In order to calculate the friction terms for the dynamic model, we assume a uniform mass distri-
bution. The casters are mounted on shock absorbers, so if the foot exerts a force on the ground,
the robot may tilt causing the normal forces at the casters to change. We don’t explicitly model
the springs; instead we use a geometric approximation. If all contact points are symmetric and
52
support equal loads, mass elements are supported by the nearest contact point. Our system has
asymmetric contact points because of the movable foot, and each contact point can support dif-
ferent loads, so we make distance a parametric function of the foot’s normal force, which is the
only normal force we can directly sense.
Q
k
= P
0
+(P
k
−P
0
)t
fork=1 to 4.
Perpendicular lines are drawn through these points in order to define the polygons of mass
supported by each of the five contact points. The ratios of the areas of these polygons to the total
area yields an approximation for the normal forces at the casters (and thus the friction forces).
Note that the two motion primitives described allow the robot to reach any configuration in
the plane. The only limitation is that the robot cannot turn in place; there is a small minimal
turning radius. The exact value depends on the physical properties of the system, but because it’s
smaller than the size of the robot, we consider it to be negligible.
4.2 Path Planning
Several techniques exist for robot motion planning. A simple one is potential fields (Barraquand
and Latombe, 1990; Haddad et al., 1998; Khatib, 1986). Obstacles are modeled as repulsive
poles, goals as attractive poles. Gradient descent is used to find paths. Local minima in the field
function can cause the robot to get stuck.
53
Figure 4.1: Mass polygon calculation.
54
Two techniques that overcome this difficulty are Rapidly Exploring Random Trees (RRTs)
and Probabilistic Roadmaps (PRMs). RRTs have the advantages of being applicable to non-
holonomic planning problems and they don’t require preprocessing of the environment (Kuffner
and LaValle, 2000; LaValle, 1998).
PRMs are a simpler technique but limited to holonomic path planning (Kavraki et al., 1996;
Overmars and Svestka, 1996). We found this technique to be sufficient because our robot is
nearly holonomic, as described in the previous section. First the world is preprocessed to build a
roadmap. Random points in free space are selected. For each new sample, a local planner checks
neighboring points within a certain distance for traversibility. In the simplest case this just tests
if the points can be connected with a straight line that doesn’t pass through obstacles. Figure 4.2
illustrates roadmap construction.
Given a start and goal position, a graph search algorithm like A* can find routes through
the roadmap. The algorithm is efficient enough that online replanning can occur if necessary.
Figure 4.3 shows a path found with A*.
4.3 Summary
We have developed a controller for a novel form of statically-stable locomotion that causes the
robot to scoot on the ground. This mode requires no extra actuators from those used in hopping.
The dynamics of the system deviate from being holonomic to such a small degree that simple
holonomic planning techniques can be used for path planning in the plane.
55
Figure 4.2: Roadmap construction.
56
Figure 4.3: An example path around obstacles.
57
Chapter 5: Scooting Experiments
5.1 Experimental Setup
The arena used in the scooting experiments is shown in Figure 5.1. Power and air are delivered
to the robot with a tether. An overhead camera is used as a position sensing system. Two pieces
of paper of different colors are mounted to the robot on opposite sites. A blob tracker determines
their positions, and the midpoint between them is taken to be the centroid of the robot. The
relative bearing of the pieces of paper determines the robot’s orientation.
Similarly, obstacles are covered with a third color. The blob tracking system provides the
obstacle positions and sizes to the robot so that a path can be planned around them. The simulation
path planner described in Section 4.2 is used for the real robot experiments as well.
5.2 Actuator Control
Two primary problems presented themselves when the proportional valves were used to control
the actuator positions. A small air flow past the closed seals, or blowby, is present in all valves of
this type. The second problem was that consistent control signals did not produce repeatable flow
rates. Because of the amount of blowby relative to the size of the air chambers in teh actuators,
58
Figure 5.1: Experimental Arena.
59
and non-repeatable flow rates, fixed positions could not be maintained long enough to provide
stable control of the end effector position
To overcome these difficulties, a simpler pneumatic circuit was designed as shown in Fig-
ure 5.2. The motion capabilities of the robot were slightly reduced, but experimental results were
still obtained that demonstrate the feasibility of the system.
In this design, each hip actuator can be fully extended or fully retracted, giving the hip joint
four possible configurations. The leg is then extended so that the foot makes contact with the
ground. At that point, one of the hip actuators is locked while the other moves to the opposite
position. This gives the robot eight possible motion primitives with which to traverse the floor.
This motion strategy has the following drawback. The line of the path the foot takes relative
to the center of mass, does not pass through the center of mass itself. This means the robot cannot
make a translational motion without also making a rotational motion at the same time. These
rotations can be somewhat cancelled out by alternating opposite movements, but variations in
friction coupled with the varying distance the robot rolls on the casters mean that in general,
the rotations cannot be cancelled completely. However, the robot was still able to traverse some
simple obstacle courses under these constraints.
5.3 Path Planning
The output of the blob tracker served as an input to the path planner described in Section 4.2. The
color used for the obstacles was interpreted as a mask of occupied space. The path planner used
60
100 psi
50 psi
Leg
Roll
Pitch
Figure 5.2: Pneumatic circuit used in scooting experiments.
61
the robot’s position and goal position to determine a series of waypoints which could be sent to
the robot.
Moving to each waypoint typically required the execution of several motion primitives. For
each movement, the difference between the bearing to the goal and the robot’s heading was cal-
culated. This number was used to select one of the eight motion primitives.
5.4 Results
5.4.1 Straight Line Traversals
First we programmed the robot for open-loop traverses in a straight line for 4.5m. Figure 5.3
shows position measurements for each traverse, and Table 5.1 shows the error in position from
the final robot position to the goal.
For the next series of experiments, the position feedback from the blob tracker was given to
the robot in order to do closed loop traversals of 1.5, 3.0, and 4.5m. The results are given in
Figures 5.4 - 5.6 and Tables 5.2 - 5.4. Because the minimal distance the robot moves in each
motion primitive is about 20cm, this data demonstrates that the robot is minimizing position
errors as much as possible given its motion constraints.
5.4.2 Obstacle Courses.
Finally we present several obstacle course traversals in order to demonstrate the cooperation
between the path planner and scooting locomotion. The courses include a single box-shaped
obstacle, a long rectangular obstacle, a zig zag path, and a spiral path. Figures 5.7 - 5.14 show an
62
Trial Error (m)
1 0.9868
2 2.3679
3 2.1857
4 2.5842
5 2.3886
Table 5.1: Open-loop 4.5m traverse.
Trial Error (m)
1 0.1809
2 0.1745
3 0.1316
4 0.0171
5 0.0775
Table 5.2: Closed-loop 1.5m traverse.
Trial Error (m)
1 0.1337
2 0.0498
3 0.1010
4 0.0436
5 0.0889
Table 5.3: Closed-loop 3.0m traverse.
Trial Error (m)
1 0.0986
2 0.0999
3 0.2183
4 0.0251
5 0.0830
Table 5.4: Closed-loop 4.5m traverse.
63
0 1 2 3 4 5
0.5
1
1.5
2
2.5
3
3.5
4
4.5
(a)
0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5
0
0.5
1
1.5
2
2.5
3
3.5
4
(b)
0 1 2 3 4 5
0
0.5
1
1.5
2
2.5
3
3.5
4
(c)
0 1 2 3 4 5
0
0.5
1
1.5
2
2.5
3
3.5
4
(d)
0 1 2 3 4 5
0
0.5
1
1.5
2
2.5
3
3.5
4
(e)
Figure 5.3: Open-loop 4.5m traverse.
64
0 1 2 3 4 5
0.5
1
1.5
2
2.5
3
3.5
4
4.5
(a)
0 1 2 3 4 5
0.5
1
1.5
2
2.5
3
3.5
4
4.5
(b)
0 1 2 3 4 5
0.5
1
1.5
2
2.5
3
3.5
4
4.5
(c)
0 1 2 3 4 5
0.5
1
1.5
2
2.5
3
3.5
4
4.5
(d)
0 1 2 3 4 5
0.5
1
1.5
2
2.5
3
3.5
4
4.5
(e)
Figure 5.4: Closed-loop 1.5m traverse.
65
0 1 2 3 4 5
0.5
1
1.5
2
2.5
3
3.5
4
4.5
(a)
0 1 2 3 4 5
0.5
1
1.5
2
2.5
3
3.5
4
4.5
(b)
0 1 2 3 4 5
0.5
1
1.5
2
2.5
3
3.5
4
4.5
(c)
0 1 2 3 4 5
0.5
1
1.5
2
2.5
3
3.5
4
4.5
(d)
0 1 2 3 4 5
0.5
1
1.5
2
2.5
3
3.5
4
4.5
(e)
Figure 5.5: Closed-loop 3.0m traverse.
66
0 1 2 3 4 5
0.5
1
1.5
2
2.5
3
3.5
4
4.5
(a)
0 1 2 3 4 5
0.5
1
1.5
2
2.5
3
3.5
4
4.5
(b)
0 1 2 3 4 5
0.5
1
1.5
2
2.5
3
3.5
4
4.5
(c)
0 1 2 3 4 5
0.5
1
1.5
2
2.5
3
3.5
4
4.5
(d)
0 1 2 3 4 5
0.5
1
1.5
2
2.5
3
3.5
4
4.5
(e)
Figure 5.6: Closed-loop 4.5m traverse.
67
overhead view of each trial, and an overlay of the obstacles and the path taken by the robot. The
path taken is shown by robot position estimates with outliers removed.
Figure 5.15 shows position estimates with outliers included. The large number of outliers in
the wall traversal are most likely due to the robot traveling to a corner of the experimental area,
where the overhead camera resolution was at its minimum and a lower light level affected the
accuracy of the blob tracker.
5.5 Summary
We have demonstrated that the techniques developed in our scooting simulations also extend to
the robot. The limitations of the pneumatic system components required further deviation from
holonomic motion, but the robot was still able to reach arbitrary positions in several obstacle
courses.
68
Figure 5.7: Overhead of box.
Figure 5.8: Box traversal.
69
Figure 5.9: Overhead of wall.
Figure 5.10: Wall traversal.
70
Figure 5.11: Overhead of zigzag.
Figure 5.12: Zig zag traversal.
71
Figure 5.13: Overhead of spiral.
Figure 5.14: Spiral traversal.
72
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
0.5
1
1.5
2
2.5
3
3.5
4
(a) Box.
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
0.5
1
1.5
2
2.5
3
3.5
4
(b) Wall.
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
1
1.5
2
2.5
3
3.5
4
4.5
(c) Zig Zag.
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
0
0.5
1
1.5
2
2.5
3
3.5
4
(d) Spiral.
Figure 5.15: Position estimates during traversals.
73
Chapter 6: Conclusions and Future Work
6.1 Conclusions
In this thesis we have presented research toward the goal of constructing a robot capable of two
modes of locomotion: hopping and scooting.
A design was presented in Chapter 2 that featured pneumatic actuation and onboard sensing
and computation. Passive casters mounted on shock absorbers were included to facilitate the
scooting locomotion mode.
Improvements to Raibert’s three-part control system were presented in Chapter 3. These
included our low-level control strategy, a model-based height controller, and a neural network-
based velocity controller. Experimental results from simulations showed increased tracking per-
formance. Robustness experiments using noise parameters higher than the actual sensors indicate
a high probability of success for implementing the controllers on the real robot.
In Chapter 4 a controller was developed for a novel form of locomotion, scooting. This mode
is designed to use the same actuators as those used for hopping. A simulation of path planning
showed that the controller was capable of moving the robot through a world with obstacles.
Results presented in Chapter 5 demonstrate the feasibility of scooting on a real robot.
74
6.2 Future Work
The robot design presented in this thesis can be enhanced in a number of ways. Replacing the
pneumatic system with electrical actuation would alleviate some of the control difficulties as well
as potentially facilitating untethered operation. Adding more exteroceptive sensors would allow
the robot to navigate a wider range of obstacles.
The principle of using the same actuators for multiple locomotion modes can be extended to
higher order machines. For example, a quadrupedal running machine could be designed so that
walking modes are also implemented. If an even lower energy and more statically stable mode
is desired, the robot could perform a form of scooting by crawling on its belly. Using general
purpose actuators and end effectors to locomote in and interact with different terrain will bring
us closer to a more substantial robotic presence in everyday human environments.
75
Bibliography
M. Ahmadi and M. Buehler. The ARL Monopod II Running Robot: Control and Energetics. In
IEEE Intl. Conf. on Robotics and Automation, pages 1689–1694, 1999.
M. Ahmadi and M. Buehler. Stable control of a simulated one-legged running robot with hip
and leg compliance. IEEE Transactions on Robotics and Automation, 13(1):96–104, February
1997.
J´ erˆ ome Barraquand and Jean-Claude Latombe. Controllability of mobile robots with kinematic
constraints. Technical Report STAN-CS-90-1317, Stanford University, 1990.
James E. Bobrow and Brian W. McDonell. Modeling, identification, and control of a pneumat-
ically actuated, force controllable robot. IEEE Transactions on Robotics and Automation, 14
(5):732–742, October 1998.
A. D’Souza, S. Vijayakumar, and S. Schaal. Learning inverse kinematics. In IEEE Intl. Conf. on
Intelligence in Robotics and Autonomous Systems, 2001.
H. Haddad, M. Khatib, S. Lacroix, and R. Chatila. Reactive navigation in outdoor environments
using potential fields. In IEEE Intl. Conf. on Robotics and Automation, pages 1232–1237,
1998.
E. Hale, N. Schara, J.W. Burdick, and P. Fiorini. A minimally actuated hopping rover for explo-
ration of celestial bodies. In IEEE Intl. Conf. on Robotics and Automation, 2000.
Kale Harbick and Gaurav S. Sukhatme. Height control for a one-legged hopping robot using a
one-dimensional model. Technical Report IRIS-01-405, Institute for Robotics and Intelligent
Systems, University of Southern California, 2001a.
Kale Harbick and Gaurav S. Sukhatme. Height control for a one-legged hopping robot using a
two-dimensional model. Technical Report IRIS-01-406, Institute for Robotics and Intelligent
Systems, University of Southern California, 2001b.
Kale Harbick and Gaurav S. Sukhatme. Controlling hopping height of a pneumatic monopod. In
IEEE Intl. Conf. on Robotics and Automation, volume 4, pages 3998–4003, 2002.
Shigeo Hirose and Keisuke Kato. Development of Quadrupedal Walking Robot with the Mission
of Mine Detection and Removal. In IEEE Intl. Conf. on Robotics and Automation, pages
1713–1718, 1998.
76
R.D. Quinn H.J. Chiel, R.D. Beer and K.S. Espenschied. Robustness of a distributed neural
network controller for locomotion in a hexapod robot. IEEE Transactions on Robotics and
Automation, 8(3), June 1992.
Jessica Hodgins. Legged robots on rough terrain: experiments in adjusting step length. In IEEE
Intl. Conf. on Robotics and Automation, 1988.
J.A. Smith I. Poulakakis and M. Buehler. Modeling and experiments of untethered quadrupedal
running with a bounding gait: The scount ii robot. Intl. Journal of Robotics Research, 24(4):
239–256, 2005.
L.E. Kavraki, M. Kolountzakis, and J.C. Latombe. Analysis of probabilistic roadmaps for path
planning. In IEEE Intl. Conf. on Robotics and Automation, pages 3020–3025, 1996.
O. Khatib. Real-time obstacle avoidance for manipulators and mobile robots. Intl. Journal of
Robotics Research, 5(1):90–98, 1986.
E. Krotkov and R. Simmons. Perception, planning, and control for autonomous walking with the
ambler planetary rover. Intl. Journal of Robotics Research, 15(2):155–180, 1996.
J.J. Kuffner and S.M. LaValle. Rrt-connect: An efficient approach to single-query path planning.
In IEEE Intl. Conf. on Robotics and Automation, pages 995–1001, 2000.
Steven M. LaValle. Rapidly-exploring random trees: A new tool for path planning. Technical
Report 98-11, Department of Computer Science, Iowa State University, 1998.
K. Levenberg. A method for the solution of certain non-linear problems in least squares. Quar-
terly Journal of Applied Mathematics, 2(2):164–168, 1944.
R. Margaria. Biomechanics and Energetics of Muscular Exercise. Oxford University Press,
Oxford, England, 1976.
D. W. Marquardt. An algorithm for least-squares estimation of non-linear parameters. Journal of
the Society of Industrial and Applied Mathematics, 11(2):431–441, 1963.
T. A. McMahon. Muscles, Reflexes, and Locomotion. Princeton University Press, NJ, 1984.
Jun Morimoto, Jun Nakanishi, Gen Endo, Gordon Cheng, Christopher G. Atkeson, and Garth
Zeglin. Poincar´ e-Map-Based Reinforcement Learning for Biped Walking. In IEEE Intl. Conf.
on Robotics and Automation, pages 2392–2397, 2005.
E. Muybridge. The Human Figure in Motion. Dover Publications, NY , 1955.
E. Muybridge. Animals in Motion. Dover Publications, NY , 1957.
M.H. Overmars and P. Svestka. A paradigm for probabilistic path planning. Technical report,
Department of Computer Science, Utrecht University, 1996.
77
William H. Press, Saul A. Teukolsky, William T. Vetterling, and Brian P. Flannery. Numerical
Recipes in C. Cambridge University Press, Cambridge, UK, 2nd edition, 1999.
Joseph Prosser and Moshe Kam. Control of hopping height for a one-legged hopping machine.
Mobile Robots VII, 1831:604–612, November 1992.
Marc Raibert. Legged Robots that Balance. MIT Press, Cambridge, MA, 1986.
G.Z. Zeglin and H.B. Brown. Control of a bow leg hopping robot. In IEEE Intl. Conf. on Robotics
and Automation, 1998.
Z.G. Zhang, Y . Fukuoka, and H. Kimura. Adaptive Running of a Quadruped Robot Using De-
layed Feedback Control. In IEEE Intl. Conf. on Robotics and Automation, pages 3750–3755,
2005.
78
Appendix : List of Publications
Summary: 1 refereed journal paper, 3 conference papers, and 3 unrefereed publications (techni-
cal reports).
A.1 Refereed Journal Papers
1. Kale Harbick, James F. Montgomery, and Gaurav S. Sukhatme, “Planar Spline Trajec-
tory following for an Autonomous Helicopter,” In Journal of Advanced Computational
Intelligence - Computational Intelligence in Robotics and Automation, V ol. 8, No. 3, pp.
237-242, May 2004.
A.2 Refereed Conference Papers
1. Kale Harbick and Gaurav S. Sukhatme, “Controlling Hopping Height of a Pneumatic
Monopod,” In Proceedings of the IEEE International Conference on Robotics and Au-
tomation, pp. 3998-4003, May 2002.
2. Kale Harbick and Gaurav S. Sukhatme, “Robustness Experiments for a Planar Hopping
Control System,” In Proceedings of the International Conference on Climbing and Walking
Robots, pp. 349-356, Sep 2002.
3. Kale Harbick, James F. Montgomery, and Gaurav S. Sukhatme, “Planar Spline Trajectory
Following for an Autonomous Helicopter,” In Proceedings of the International Symposium
on Computational Intelligence in Robotics and Automation, pp. 408-413, Banff, Alberta,
Canada, Jul 2001.
A.3 Unrefereed Technical Reports
1. Kale Harbick and Gaurav S. Sukhatme, “Speed Control of a Pneumatic Monopod using a
Neural Network,” Institute for Robotics and Intelligent Systems Technical Report, IRIS-02-
413, University of Southern California, 2002.
2. Kale Harbick and Gaurav S. Sukhatme, “Height Control for a One-Legged Hopping Robot
using a Two-Dimensional Model,” Institute for Robotics and Intelligent Systems Technical
Report, IRIS-01-406, University of Southern California, 2002.
79
3. Kale Harbick and Gaurav S. Sukhatme, “Height Control for a One-Legged Hopping Robot
using a One-Dimensional Model,” Institute for Robotics and Intelligent Systems Technical
Report, IRIS-01-405, University of Southern California, 2002.
80
Abstract (if available)
Abstract
Legged machines can traverse terrain unreachable by wheels or tracks. Similarly running machines have capabilities that exceed those of walking machines. The running machines constructed thus far have mainly served as existence proofs of various single locomotion modes. In this thesis we present a robot design that incorporates two locomotion modes, hopping and scooting, with a minimal number of actuators, and the added capability of being able to transition between modes as needed. We develop controllers for both modes and demonstrate their feasibility in simulation. We also present experimental results for a scooting robot.
Linked assets
University of Southern California Dissertations and Theses
Conceptually similar
PDF
A robotic system for benthic sampling along a transect
PDF
Machine learning of motor skills for robotics
PDF
Optimization-based whole-body control and reactive planning for a torque controlled humanoid robot
PDF
The representation, learning, and control of dexterous motor skills in humans and humanoid robots
PDF
Mobility-based topology control of robot networks
PDF
Identification, control and visually-guided behavior for a model helicopter
PDF
Iterative path integral stochastic optimal control: theory and applications to motor control
PDF
Discrete geometric motion control of autonomous vehicles
PDF
Macroscopic approaches to control: multi-robot systems and beyond
PDF
Learning objective functions for autonomous motion generation
PDF
Intelligent robotic manipulation of cluttered environments
PDF
Mobile robot obstacle avoidance using a computational model of the locust brain
PDF
The task matrix: a robot-independent framework for programming humanoids
PDF
Design of adaptive automated robotic task presentation system for stroke rehabilitation
PDF
Rethinking perception-action loops via interactive perception and learned representations
PDF
Estimation-based control for humanoid robots
PDF
Adaptive sampling with a robotic sensor network
PDF
The interplay between networks and robotics: networked robots and robotic routers
PDF
Information theoretical action selection
PDF
Effectiveness of engineering practices for the acquisition and employment of robotic systems
Asset Metadata
Creator
Harbick, Kale
(author)
Core Title
Design and control of a two-mode monopod
School
Viterbi School of Engineering
Degree
Doctor of Philosophy
Degree Program
Computer Science (Robotics
Publication Date
07/29/2008
Defense Date
06/04/2008
Publisher
University of Southern California
(original),
University of Southern California. Libraries
(digital)
Tag
hopping,locomotion,OAI-PMH Harvest
Language
English
Advisor
Sukhatme, Gaurav S. (
committee chair
), McNitt-Gray, Jill L. (
committee member
), Schaal, Stefan (
committee member
)
Creator Email
harbick@gmail.com
Permanent Link (DOI)
https://doi.org/10.25549/usctheses-m1451
Unique identifier
UC191959
Identifier
etd-Harbick-20080729 (filename),usctheses-m40 (legacy collection record id),usctheses-c127-89555 (legacy record id),usctheses-m1451 (legacy record id)
Legacy Identifier
etd-Harbick-20080729.pdf
Dmrecord
89555
Document Type
Dissertation
Rights
Harbick, Kale
Type
texts
Source
University of Southern California
(contributing entity),
University of Southern California Dissertations and Theses
(collection)
Repository Name
Libraries, University of Southern California
Repository Location
Los Angeles, California
Repository Email
cisadmin@lib.usc.edu
Tags
locomotion