You are on page 1of 71

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/2358367

An Anthropomorphic Bipedal Robot

Article · December 2000


Source: CiteSeer

CITATIONS READS
2 431

2 authors, including:

Thomas Braunl
University of Western Australia
185 PUBLICATIONS   1,534 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Robotics & Automation View project

REV Project View project

All content following this page was uploaded by Thomas Braunl on 04 November 2013.

The user has requested enhancement of the downloaded file.


An Anthropomorphic Bipedal Robot
Final Year Project Report 1998

Joon Ng
Supervisor: A/Prof Thomas Braunl

Centre for Intelligent Information Processing Systems


Department of Electrical/Electronic Engineering
The University of Western Australia
Nedlands WA 6907
Abstract

Humans are bipeds that possess signi cant dexterity. A bipedal human-like walker o ers
signi cant advantages over 4-legged, 6-legged and wheeled robots. However, the gain in
dexterity comes at the expense of controlling complexity as bipedal walking structures
are extremely unstable.
In this project I investigated the problems associated with bipedal walking. A minia-
ture bipedal robot was designed and constructed. The robot has most of the major joints
in a human, eleven degrees of freedom in total. Active control of all the joints, except the
ankles, were achieved using servo motors. The ankles were designed to be passive as it is
interesting to investigate the e ect of walking with some degree of passivity.
A simple robot gait was derived by examining the \normal" human walking gait. The
robot was able to occasionally take 2 steps without feedback control. Feedback control
was also implemented using a P controller.

Keywords: Bipedal robot, human walking, human walking gaits.


CR Categories: B.1, D.1, I.6, J.2
ii
Acknowledgements

I would like to thank my supervisor Thomas Braunl for allowing me to do this project.

I would like to thank Matthew Exon for all his help in the past two years, especially
for the numerous discussions on bipedal walking. Thanks to Elliot Nicholls for all the dis-
cussions on our project and sharing the pain in undertaking a project on bipedal robots.

I would also like to thank my family for their support throughout my academic life.

iii
Contents

Abstract iii
Acknowledgements iv
1 Introduction 1
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Aim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3.1 Designing phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3.2 Construction phase . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3.3 Implementation phase . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Research of Legged Robots 6
2.1 Brief history of research in legged locomotion . . . . . . . . . . . . . . . . 6
2.2 Research of Bipedal robots . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.1 Active balance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.2 Hopping machines . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.3 The Harvard Experimental Robot . . . . . . . . . . . . . . . . . . . 8
2.2.4 The BR-1 Biped robot . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.5 The SD-2 Biped robot . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.6 Current sophisticated Bipeds . . . . . . . . . . . . . . . . . . . . . 11
2.3 Passive dynamic walking . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

iv
3 Human Walking 14
3.1 Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.1.1 Gait Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2 The Walking Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2.1 The Gait Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2.2 Center of Mass Displacements . . . . . . . . . . . . . . . . . . . . . 17
4 Robot Design 19
4.1 Electronic Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.2 Mechanical Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.2.1 Robot Components . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.2.2 Torque Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.2.3 Initial Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.2.4 Final Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.2.5 Passive Ankles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.3 Constructed Robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5 Robot Sensors 29
5.1 Acceleration Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.1.1 Acceleration Sensor Circuit . . . . . . . . . . . . . . . . . . . . . . 31
5.1.2 Acceleration Sensor Decode . . . . . . . . . . . . . . . . . . . . . . 32
5.2 Foot Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.2.1 Opto-electronic switch operation . . . . . . . . . . . . . . . . . . . . 34
6 Gait Synthesis 35
6.1 Human Gait . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.2 Simple Robot Gait . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
6.2.1 Hip and Knee joint . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.2.2 Torso joint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
7 Robot Walk 40
7.1 Gait Initiation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
7.2 Gait Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

v
7.3 Body Attitude Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
7.4 Walking without Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
7.4.1 One step walk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
7.4.2 Multi-step walk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
7.5 Walking with Feedback control . . . . . . . . . . . . . . . . . . . . . . . . 45
7.5.1 P Controller for Walking . . . . . . . . . . . . . . . . . . . . . . . . 46
7.5.2 P Controller for Standing . . . . . . . . . . . . . . . . . . . . . . . 49
8 Conclusion 50
8.1 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
A Sensor Output 56
A.1 Acceleration Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
A.2 Acceleration Decoding Assembly Code . . . . . . . . . . . . . . . . . . . . 57
A.3 Sensor Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

vi
List of Figures

2.1 MIT Leg laboratory 3D-Biped. . . . . . . . . . . . . . . . . . . . . . . . . 11


2.2 Shadow Biped Project robot, London. . . . . . . . . . . . . . . . . . . . . . 12
2.3 Honda humanoid robots P2 and P3. . . . . . . . . . . . . . . . . . . . . . . 13
3.1 The frames of reference that will be used in this report (Copied from \Gait
analysis : an introduction", page 2 [21]). . . . . . . . . . . . . . . . . . . . 14
3.2 The seven major events during a gait cycle (Copied from \Gait analysis :
an introduction", page 59 [21]). . . . . . . . . . . . . . . . . . . . . . . . . 16
3.3 The leg trajectory for a single step (Copied from \Gait analysis : an intro-
duction", page 64 [21]). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.4 Path of the COG during gait initiation and termination (Copied from \The
biomechanics and motor control of human gait : normal, elderly and patho-
logical", page 75 [23]). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.5 Path of the COG during steady cycle walking (Copied from \The biome-
chanics and motor control of human gait : normal, elderly and pathologi-
cal", page 75 [23]). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.1 Eyebot platform microcontroller from Joker Robotics, used as the micro-
processor for the bipedal robot. . . . . . . . . . . . . . . . . . . . . . . . . 20
4.2 A stick gure showing the placement of joints for the biped robot. . . . . . 22
4.3 Photograph of some of the components used in the biped walking robot. . 23
4.4 AutoCAD drawing of initial robot design. . . . . . . . . . . . . . . . . . . 25
4.5 AutoCAD drawing of nal robot design. . . . . . . . . . . . . . . . . . . . 26
4.6 AutoCAD drawing of passive ankle and feet design. . . . . . . . . . . . . . 27
4.7 Photograph of the constructed ankle and foot. . . . . . . . . . . . . . . . . 27
4.8 Photograph of constructed bipedal walker. . . . . . . . . . . . . . . . . . . 28

vii
5.1 Photograph of the acceleration sensor board and its placement on the
bipedal robot. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.2 Block diagram of acceleration sensor circuit with external components. . . 32
5.3 Photograph of the opto switch and how they were mounted on the biped
feet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.4 The simple opto-electronic switch circuit. . . . . . . . . . . . . . . . . . . . 34
6.1 Joint angles in the sagittal plane of a normal human walking gait (Copied
from \Gait analysis : an introduction", page 64 [21]). . . . . . . . . . . . . 36
6.2 Loading on joints in the sagittal plane during normal human walking (Copied
from \Gait analysis : an introduction", page 65 [21]). . . . . . . . . . . . . 37
6.3 Hip and knee joint angles for simple robot gait. . . . . . . . . . . . . . . . 38
6.4 The trajectory of the ankle point for one step. . . . . . . . . . . . . . . . . 39
6.5 The torso joint angle over a complete gait cycle. . . . . . . . . . . . . . . . 39
7.1 Modi ed torso angle for rst step. . . . . . . . . . . . . . . . . . . . . . . . 41
7.2 Acceleration and foot switch data for a single step walk. . . . . . . . . . . 44
7.3 Acceleration and foot switch data for a single step walk which fails. The
robot falls backward. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
7.4 Acceleration and foot switch data for a successful two step walk. . . . . . . 46
7.5 Acceleration and foot switch data for a two step walk. Robot falls forward
slightly after two steps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
7.6 Acceleration and foot switch data for a two step walk. Robot falls backward
after two steps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
7.7 Acceleration and foot switch data for a two step walk. Robot falls forward
after two steps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
A.1 The axis of the acceleration sensor with respect to the robot reference frames. 56
A.2 Sensor output data plotted on the same graph. . . . . . . . . . . . . . . . . 61

viii
CHAPTER 1

Introduction
1.1 Motivation
Since the invention of the wheel much research has been devoted to the design and con-
struction of wheeled vehicles for transportation. Wheeled vehicles o er many advantages
over legged locomotion on paved regular terrain, such as higher speeds and higher e-
ciency. The technological level of such systems have been developed to an extent that
they are the dominant form of long distance transportation. However, the inability of
such systems to perform well in unknown and irregular terrain necessitates the research
into other forms of vehicles.
Legged locomotion has been used as a mechanism for transportation in biological
systems for millions of years. This could be due to natures inability to produce continuous
rotary joints and the irregular terrain of the environment. Whichever reason it is evolution
has produced extremely dextrous multi-legged creatures. It is for this reason that the
study of legged locomotion is vital in designing vehicles which operate in irregular terrains
[18].
Although wheeled vehicles such as o -road cars and tanks can travel on non highly
irregular terrain, they cause considerable ecological damage. Legged locomotion also
has the added advantage of active suspension, decoupling the body from the non uniform
movements of the driving mechanism, and thus allowing a smooth transition for the body.
Humans are bipeds that possess signi cant dexterity. The greater mobility and free-
dom of humans over four and six legged creatures comes from the ability to walk on
two foot, which frees their hands to do other things. However, the freedom come at a
cost in stability. The human form is a highly unstably structure, which requires complex
control in order to achieve meaningful motion. The applications of bipedal robots are
enormous, they could be used in terrestrial exploration, industrial automation, operation
in hazardous environments and farming.

1
1. Introduction 2

When taking on this project, I was primarily concerned with solving some of the
problems involved in bipedal walking.

1.2 Aim
It was the purpose of my nal year project to design, construct and implement a bipedal
walking robot. I hoped to use the robot to investigate the problems associated with
bipedal walking. More speci cally I was interested in human walking, and whether it
was possible to make a miniature bipedal robot walk. Due to the sheer size of such an
undertaking and the time limit imposed (by a small project) I was concerned only with
implementing straight line forward walking. However, in the design and construction
phase provisions were made to allow turning motion (in walking).
Research in bipedal robots has shown the task of creating a walking robot to be
extremely complicated and dicult. Most research groups concentrate on speci c aspects
and analyse the problem thoroughly. Due to the time constraint I could not make the
same detailed treatment in my project. As such I focused on making a bipedal robot walk
but not in any optimal sense.
I chose to build a simple small scale bipedal robot with a low cost (I will design the
robot but the mechanical workshop will build it). This is because there was a limited
budget and it was easier to manipulate a smaller robot in a small laboratory. Since the
primary aim of the project was to investigate bipedal robot walking in general (not on
speci c aspects such as optimal design of the leg structure), a small low cost robot was
sucient. Another important factor was the integration time. If the construction time
could be kept to a minimum then that would allow more time to be spent on the more
interesting and dicult problem of walking. Also a simple low cost system facilitates an
easier maintenance process.
I believe that investigating bipedal walking with a small robot would give adequate
insight into problems that needs to be solved for all bipedal walking. Although it is true
that controlling a larger robot would be much more dicult, due to the larger torques and
momentumgenerated, by solving the major problems in a small robot much understanding
could be gained that is applicable in bipedal robots of any size.
I chose an anthropomorphic design because I wanted to investigate human walking
and human walking gaits. It is hoped that by achieving robot walking on a small robot,
1. Introduction 3

eventually it would be possible to do the same on a robot with human dimensions.

1.3 Method
This project can be broken into several distinct sections, the designing phase, the con-
struction phase and the implementation phase.

1.3.1 Designing phase


In any adequate robotic system there must be three main devices, an actuation mecha-
nism, a controller, and sensory feedback. Thus in designing the bipedal system each of
these areas were systematically addressed.
The human structure is a very complicated dynamical system. Hence in choosing an
actuation system for an anthropomorphic robot it is advantageous to analyse the kine-
matics and dynamics of human locomotion. The complexity in calculating the necessary
power/torque of each actuated joint for a given robot dimension and mass can only be
done by use of a powerful computer software package. Since access to such resource was
not available, calculation of the torque required for each joint was done by considering only
the static case. Then by choosing values greater than those calculated the require torque
during motion could be satis ed to a certain extent. In keeping with the low cost con-
straint of this project model servos used in radio controlled (hobby) vehicles were chosen.
They also o er advantages such as high availability and ease of use with a controller.
The Eyebot platform was chosen as the robot controller. It o ered numerous advan-
tages with the most important being its compactness. The small dimensions made it ideal
for use with a small autonomous robot. It has an operating system with many features
including, functions to control model servos, execution of user programs, input channels
for sensory devices and an LCD screen to display information.
Feedback control in biological legged locomotion is probably the single most important
feature. Without it, it would be almost impossible to achieve any meaningful motion.
Three primary feedback mechanism associated with human walking are vision, touch and
tilt sensing. The implementation of these systems on my bipedal robot would require the
use of a camera (for visual sensing), foot sensors (for touch sensing) and accelerometers
(for acceleration and tilt sensing).
1. Introduction 4

1.3.2 Construction phase


The construction of the robot was originally to be carried out by the author. However
due the availability of sta in the departmental workshop the task of construction was
carried out by technicians.
Due to torque constraints it was obvious to use a material which is very light but
o ered adequate strength. Hence aluminium was chosen. The technicians were supplied
with the design and they built the robot, devising all the mechanical mountings necessary.

1.3.3 Implementation phase


There were 4 key functions that were necessary in order to implement walking on a bipedal
robot. Each of these are summarized below:
 Programs for obtaining sensor information. These are driver programs which obtain
data from the acceleration and opto-electronic foot sensors. The foot sensor is
a binary switch and its digital signal needs to be feed into the controller to be
processed. The acceleration sensor also output a digital signal, with a duty cycle.
A driver program for obtaining acceleration needs to measure the duty cycle from
a digital channel of the controller and then interpret it. I chose to write the driver
programs in assembly language as speed is of great importance.
 Walking gait. A walking gait can be de ned as the pattern of footsteps at a partic-
ular speed, and can be either symmetric/non-symmetric or periodic/non-periodic.
To generate a walking gait for a robot it is necessary to analyse some `normal' hu-
man walking gaits. This is also a good approach because human walking is being
investigated. The rst robot walking gait has to be modi ed from human walking
due to di erences in physical structure, the biggest being that of passive ankles in
the robot. Symmetric gaits will be considered only since it is sucient for straight
line walking.
 Walking program. The robot walking gait needs to be programmed into the con-
troller, and for this I chose to use the C language. This is because the operating
system functions were written in C. By using the built in functions to control the
servos, the actual walking program is small and simple. The important factor is not
so much the walking program but the walking gait.
1. Introduction 5

 Control system. I believe that it would be impossible to implement a successful


biped walker without control. A simple control algorithm would be employed due
to the limited sensor feedback (it is not planned that complex sensors be used).
This could be achieved by using a PID controller. Using this method however,
would require a priori the desired signal from the sensors. It as planned that the
desired value would be obtained rst by experimentation, and then possibly by
dynamical analysis.
CHAPTER 2

Research of Legged Robots


There has been much research performed by both universities and private organisations in
the area of legged locomotion in the past 40 years. It is not possible, and inappropriate,
to outline all of the developments that has been made in a project of this size. Hence a
brief overview of research in multi legged locomotion will be given. This is followed by a
review of some important bipedal robot research that are important in its relation to this
project. Passive dynamic walking plays an important part in this project and as such has
an entire section devoted to it.

2.1 Brief history of research in legged locomotion


This section is a brief summary of legged locomotion history. The author recommends
the interested reader to read \Legged robots that balance" [14] and \Mobile robots - the
lessons from nature" [18] for a more thorough treatment.
Much of the reasons behind developing legged locomotion were for the ecient traver-
sal of irregular and rough terrain. Looking around us, biological creatures exhibit an
awesome display of dexterity in a highly irregular environment. We also know that na-
ture has a very rigorous selectivity program in creation and evolution, hence biological
creatures provides for excellent examples to model our arti cial legged machines. The
direction of research in legged locomotion since an early age (nearly a century ago) has
thus been in following and examining natural creatures [18].
Not only were the mechanical con gurations a model from nature, the pattern of move-
ment, called gait, was also based on observations of animals. According to Raibert [14]
the rst to do so was probably Eadweard Muybridge, who began by taking photographs
of a trotting horse and eventually extended his work to include the documentation of over
forty mammals, including humans [11,12]. The signi cance of these data meant that his
works are still being consulted by legged locomotion researchers.
One notable and successful legged machine which deviated from natural models was

6
2. Research of Legged Robots 7

the Raibert [14] monopod. Its purpose was to understand simple motions which eventually
can be used in controlling machines that imitate nature. Details of the monopod and its
relation to this project will be discuss in the next section.
For a more extensive look at multi-legged robot research see \Robots that Walk" [17].

2.2 Research of Bipedal robots


Bipedal robots (two legged robots) di ers from other legged robots in that their structure
is inherently unstable no matter how it is designed. They require active balance in order
to move, because no matter which gait that has been chosen it will always involve the
centre of mass to be outside the area of support (strictly speaking this is only true for
most walking and running gaits). Static balance in a gait requires the centre of mass to
be over the supporting base at all times. An example of such a gait is the tripod gait of
hexapods, where three feet are keep on the ground at all times. Thus in bipedal research
an understanding of active balance is required.

2.2.1 Active balance


A good representation of dynamical active balance machines (as stated by Raibert) is
the inverted pendulum cart built by Claude Shannon. The inverted pendulum was xed
so that it can only be tipped in one dimension. To move the cart to a destination
without tipping the pendulum, it was necessary to move the cart opposite to the intended
direction. This made the pendulum tip forwards, and then the cart has to move forward at
a pace which would not cause the pendulum to fall down. When stopping, the opposite is
required. Shannon and his students then built a second machine which had two pendulums
instead of one. Again they were successful in controlling the cart. This model of dynamical
balance has been used in controlling many bipedal robots. For a more in depth review of
research on active balance, again see Raibert [14].

2.2.2 Hopping machines


As mentioned previously Raibert's work on implementing a one legged hopping machine
was extremely useful. Although in structure biped robots are nothing like a one legged
hopping machine the principles in controlling leg and body attitudes are the same. Of
2. Research of Legged Robots 8

particular importance are his solution to foot placement and body attitude control during
foot contact.
Raibert summarized the importance of the position of foot placement by alluding to
the fact that foot placement with respect to the centre of mass determines the moments
generated (much like the inverted pendulum model), and thus directly a ects the acceler-
ation of the body after initial foot contact. Therefore in controlling the forward velocity
it is necessary to control the foot placement.
Due to the fact that closed form solutions in the dynamics of bodies with many degrees
of freedom (usually more than two) are either dicult to obtain or altogether non-existent,
Raibert used simple approximations in formulating an algorithm to determine the neu-
tral point (a point where no net acceleration is created). Thus by placing the foot in
front or behind the neutral point, net deceleration or net acceleration could be achieved
respectively.
The previous control actions were applied to the leg during ight (or swing phase).
At stance phase (foot contact) another control action was needed to change the body
attitude. Or more correctly the body attitude can only be changed during stance, due
to the conservation of momentum. Torques applied to the hip joint must be balanced by
frictional forces under the foot, otherwise (again due to conservation of momentum) the
foot will slip in the opposite direction to the applied hip torque.
Although the approximations used were simple the results obtain were satisfactory -
the machine hops.
It is important to note that a bipedal version of the one legged hopping machine was
also built. The controlling algorithms developed for the monopod also applied. Boone
and Hodgins were able to use the principles to experiment on more sophisticated topics
such as slipping and tripping [2].

2.2.3 The Harvard Experimental Robot


One of the factors to optimize during walking is that of smoothness. The problem of
smooth bipedal walking has been proposed and solved by Dunn and Howe [4]. They con-
sidered a simple compass gait where the centre of mass rises and falls to their peaks during
the (vertical) single support and double support phases respectively. They proposed a
solution of changing the legs length to reduce centre of mass movement in the vertical
2. Research of Legged Robots 9

plane. The equations to optimize were formulated based on conditions of continuous ve-
locity during double support phases. This form of walking reduces the impulses and help
reduce the instantaneous change in acceleration during each footfall.
The success of their work led to another algorithm [5] which considered the issue of
smooth walking with changes in walking velocity and step length. Their method follows
the work done by Raibert [14] in controlling forward velocity. The key is to introduce an
asymmetric gait parameter, de ned to be the di erence between the swing and stance leg
angle, which causes the body to experience a net acceleration thus changing velocity.

2.2.4 The BR-1 Biped robot


There has been many approaches taken in the control of bipedal robots. A very natural
approach is to analyse the dynamics of the robot. By formulating the kinematic and
dynamic equations, balance (dynamic) during walking may be achieved. An example of
such an approached was adopted by Shih [16]. He formalized a technique to keep the Zero
Moment Point (ZMP) [20] of the robot to be within the supporting foot. By doing this,
a feasible walking gait can be synthesized.
The bipedal robot BR-1 was used in the experiment. Its main features include seven
servo motors, four revolute joints - both hips and both ankles, and three prismatic joints -
both knees and a torso (the torso is primarily made up of a weight for balance purposes).
The height of the robot measured 80cm.
In formulating a dynamically stable walk on an even oor Shih considered the kine-
matics (Cartesian space) and inverse kinematics (joint space) of the entire robot. Since
the prototype biped was simple the equations derived were also simple. By further ap-
proximating the mass of the robot as four distributed masses an equation estimating the
centre of mass was obtained. He then modelled the dynamic system using the Lagrangian
form, obtaining the potential and kinetic energy functions in both Cartesian and joint
space. It was then possible to express the equation of motion in both Cartesian and joint
space, and also a mapping between them (using the transpose Jacobian matrix). In com-
puting the ZMP all the ground reaction forces are necessary, hence the ground reaction
force also needed to be computed and used in conjunction with the equation of motion.
Hence by the constraint that the sum of moments must be zero, the position of such
a point can be solved for. Shih achieved this and showed that the equations (after a
2. Research of Legged Robots 10

further approximation) were quite simple. Then the process of gait synthesis consisted of:
planning the centre of gravity trajection, obtaining the Cartesian trajectories from the
ZMP constraint, and then using inverse kinematics to compute the joint angles.
The result was successful implementation of walking on the BR-1 robot.

2.2.5 The SD-2 Biped robot


In the design of most bipedal robots the ankle joints are actuated. Having actuated ankles
that can generate considerable torque makes the control of bipedal walking easier. An
example would be in static walking, where large torques are necessary since the entire
moment generated (by gravity and the total mass of the robot) needs to be counteracted
by the ankle/s. Yi and Zheng [24] considered the situation where ankle power is limited.
The advantages in doing so are a reduction in leg mass (which directly reduces the moment
generated by the leg) and power consumption. Their justi cation comes from the study
on human ankles where it has small torque and great exibility in a limited region.
The notable disadvantage of using low torque ankles or passive ankles is the increase
in diculty at controlling the robot.
They adopted a simple solution of bending the hips to adjust the centre of mass so as
to reduce the torque required at the ankles. The experimental robot used, SD-2, has eight
joints, 4 revolute joints at the hips and ankles (in the sagittal plane) and 4 corresponding
revolute joints in the frontal plane. This robot was previously programmed to perform
static walking. Considering the sagittal plane joints only, a simple equation involving
the mass at the torso, link lengths and joint angles can be obtained from geometry (note
this robot has no knee joints). They expressed the moment at the equilibrium point as a
function of the previously mentioned quantities. The equations showed that by increasing
the hip angle, the required angle for the ankle was reduced, and hence lowering the torque
required.
The control method used the ankle angle as input to calculate the additional change in
hip angles necessary from the existing static gait. They were successful at implementing
the algorithm on a bipedal robot (which walked).
2. Research of Legged Robots 11

2.2.6 Current sophisticated Bipeds


In the current research of bipedal robots several advanced robots have been built. The
rst is the 3D Biped developed in the MIT Leg Laboratory shown in Figure 2.1. It is
capable of performing walking, running and summersaults. Another complex biped was
built by the Shadow Biped project in London. The robot was modelled after the human
structure as shown in Figure 2.2. The most advanced biped robot currently is the Honda
humanoids P2 and P3 shown in Figure 2.3. It has the same number of degrees of freedom
as the human (in the legs) and is capable of executing sidesteps on sloped surfaces.

Figure 2.1: MIT Leg laboratory 3D-Biped.

2.3 Passive dynamic walking


Another class of bipedal machines are passive walkers. The rst passive walkers built was
probably by McGeer [9]. It could walk down a small slope without forces external to that
of gravity. The mechanical structure consisted of a heavy hip, two ankles and two curved
feet. The curved feet are to ensure the foot clears the ground during mid-swing. After
the success of the rst walker he subsequently built a similar walker with the addition of
knees [10] (which also walked).
The passive walker can be modelled as two pendulums, the supporting link being
an inverted pendulum swinging about the foot contact point and the swinging link a
pendulum swinging about the hips. The hip mass has to be substantial in order for this
system to work.
The importance of research in passive dynamic walking is in controlling bipeds that
2. Research of Legged Robots 12

Figure 2.2: Shadow Biped Project robot, London.

use very little actuation in walking. Also an understanding in the passivity of walking
enables the design of bipeds with passive joints, thus reducing the number of actuators
to control.

2.4 Conclusions
From the results of the vast quantities of research groups involved in bipedal robots, it is
easy to see that constructing and implementing a two legged robot is a dicult task. Hav-
ing said that the level of sophistication achieved, as recent as the Honda humanoids, thus
far is remarkable. However to achieve simple walking it was shown that such complicated
systems (relative to earlier bipeds) are unnecessary.
A good bipedal design for imitating actions of biological creatures can be obtained by
observation of the mechanical linkages and gaits of animals created by nature.
The design of walking machines without a foot (or point feet) has been shown to walk
and hop. By the use of low torque or passive ankles more control and support can be
added. Combining these techniques it is possible to implement a walking robot with both
actuated and passive joints.
The control algorithm for walking robots may be approached from many di erent ways.
2. Research of Legged Robots 13

,
Figure 2.3: Honda humanoid robots P2 and P3.

Two such techniques are simple approximation of foot placement and the full kinematic
and dynamic analysis. Both approaches are shown to work, however when performing
kinematic and dynamic analysis on systems with many degrees of freedom obtaining the
closed form solution is not always possible (a dicult task at the very least). Therefore it
is far better to start with a simple approach and examine the performance. The insight
gained will help in implementing more complicated algorithms.
CHAPTER 3

Human Walking
Humans are very accomplished bipedal walkers. It is therefore an advantage to examine
the human structure in trying to implement a bipedal walking robot. The large degrees
of freedom possessed by humans allow a wide range of motion but for walking not all are
needed. Examination of the placement of joints and their functions will be of importance
in designing and programming a bipedal robot to walk.
First a brief introduction to some terminology used in bipedal research and human
biomechanics will be given. Some important and basic aspects of the human walking
process will then be described.

3.1 Terminology
In bipedal research it is often the case that a frame of reference is needed to describe a set
of motions. The reference frames used in this report is shown in Figure 3.1 and it follows
that used by Whittle in \Gait analysis : an introduction" [21].

Figure 3.1: The frames of reference that will be used in this report (Copied from \Gait analysis
: an introduction", page 2 [21]).

14
3. Human Walking 15

3.1.1 Gait Analysis


The term gait is often used in human and animal motion research. It is de ned as the
pattern of footsteps at a particular speed, or manner of walking or running. The gait cycle
of human walking can be broken into two phases: swing and support (stance) phase. A
leg is in swing phase when it is moving through the air, and the other leg that is in
contact with the ground is in support phase. When both feet are on the ground it is
called double support phase, also known as exchange of support (EOS) in some bipedal
robot research literature. The case where both feet are o the ground is known as ballistic
ight, normally associated with running gaits.
In any research area, the terms used are abundant and speci c to the eld. The
analysis of human gaits are no exception. In this report only a few of the terms will be
de ned, for a more comprehensive treatment in this area see Whittle [21] and Cappozzo
et al [3]. The basic terminology used in this report are de ned below:
 Center of Mass1 (COM) - a point at which the entire distributed mass of an object
acts.
 Stride length - the distance between two successive placements of the same foot.
 Step length - half of a stride length (distance covered by one foot).
 Cycle time - number of strides per unit time.
 Double support - when both feet are in contact with the ground, also known as
exchange of support (EOS) in some bipedal robot research literature.
 Static gait - a walking pattern where the COM must be over the supporting base
at all times.
 Dynamic gait - where during at least some parts of the walking pattern the COM
lies outside the supporting base.
 Quasi-dynamic gait - a combination of static and dynamic walking. For example,
when considering a human gait, the forward movement is dynamic but the side
movement is static.
In the presence of a uniform and parallel gravitational eld, it is equivalent to the center of gravity
1

(COG)
3. Human Walking 16

3.2 The Walking Process


In analysing the human walking process there are two key topics that must be addressed.
The rst is the gait cycle, and the second is the displacements of the COM in the transverse
plane.

3.2.1 The Gait Cycle


A typical human walking gait cycle is depicted in Figure 3.2. It shows the break down
of the two phases: swing and support (stance). For a more in-depth discussion on the
loading response and joint function at each of the major events in the gait cycle consult
\Gait analysis: an introduction" [21]. Figure 3.3 shows the leg trajectory for a single
step.

Figure 3.2: The seven major events during a gait cycle (Copied from \Gait analysis : an
introduction", page 59 [21]).
3. Human Walking 17

Figure 3.3: The leg trajectory for a single step (Copied from \Gait analysis : an introduction",
page 64 [21]).

3.2.2 Center of Mass Displacements


Understanding the COM displacement1 is crucial in any form of walking. It is the basis
of studying stability in any gait. Generally, in bipedal walking static gaits are inherently
slow and dynamic gaits o er higher speeds. This is simply because in static gaits the
COM must be moved over the supporting region. However at slow speeds it is extremely
dicult for a system to be stable if the gait is dynamic. This is because at slow speeds
the time in which the COM is outside the supporting region is increased, and hence the
e ect of gravity will be more pronounced.
The points discussed above can be clearly seen from human walking data. In Figure
3.4, the COG path is plotted for the cases of gait initiation and gait termination. Dur-
ing gait initiation the body is relatively slow, and at gait termination the body has to
decelerate to zero velocity. It can be seen that the COG is inside the supporting regions
during these phases.
During steady walking at \normal" speed, the COG does not traverse over the sup-
porting region (see Figure 3.5). This is possibly due to two factors:
 The walking speed is fast enough so that the time between double support phases
is suciently short to prevent the body from tipping over completely.
 There are enough forces and moments generated to oppose the gravitational force
to prevent the body from falling over.
1 Humans have (on average data) 23 of their total mass located 23 above the feet.
3. Human Walking 18

Figure 3.4: Path of the COG during gait initiation and termination (Copied from \The biome-
chanics and motor control of human gait : normal, elderly and pathological", page 75 [23]).

The two factors outlined above is often used in synthesizing gaits for bipedal walking
machines.

Figure 3.5: Path of the COG during steady cycle walking (Copied from \The biomechanics and
motor control of human gait : normal, elderly and pathological", page 75 [23]).
CHAPTER 4

Robot Design
The design of legged machines is a complicated and dicult task if any form of optimality
is being sought after. Optimality in the sense of mechanical eciency, energy eciency
and degrees of freedom (and ultimately the motions which could be performed). Two
examples detailing the construction of legged locomotion design can be found in \Legged
robots that balance" [14] and \Machines that walk" [17].
In this project however it would not be possible to spend the amount of time necessary
to give the same amount of detailed analysis to the design process as Raibert [14] and
Song and Waldron [17]. The design philosophy in this project was to keep everything as
simple as possible. Also much of the design was constrained by the available components.
The design process can be broken into two components: mechanical and electronic.
The approach that was taken in this project was to design the mechanical structure
based on the available electronic components. The task of designing an electronic system
is complex and time consuming. It was fortunate that a suitable microprocessor was
already available for use (details of which will be presented in the next section). The rest
of this Chapter will present the mechanical design process.

4.1 Electronic Hardware


The microprocessor chosen for this project is the Eyebot platform (shown in Figure 4.1)
developed by Joker Robotics in Stuttgart, Germany.
The Eyebot microcontroller uses the 32 bit CPU, 20MHz Motorola 68332 processor
and has 256Kb of RAM and 1Mbit of FlashROM. It does not have any secondary storage
device but has a serial RS-232 port for downloading user programs into memory. It can
be seen from Figure 4.1 that it uses four keys for input and an LCD display for output.
The main advantage of using the Eyebot is its I/O provisions. It has 8 digital in-
put/output lines, 8 analog input/output lines and a built-in A/D converter. Another sep-
arate port consisting of 16 digital lines are connected to the time processing unit (TPU).

19
4. Robot Design 20

Figure 4.1: Eyebot platform microcontroller from Joker Robotics, used as the microprocessor
for the bipedal robot.

The TPU chip can perform a wide variety of task in dealing with input and output digital
waveforms. One such function is used to send a pulse width modulated (PWM) signal to
control a servo. Another function is to time input duty cycle modulated waveforms such
as those generated by an acceleration sensor (discussed in the next Chapter).
The small size and mass of the Eyebot also makes it ideal for use as an electronic
platform in mobile robotics. It has dimensions of 90mm  90mm  25mm and a mass of
232g.

4.2 Mechanical Design


As mentioned previously the mechanical design will largely be governed by the available
components (due to low cost nature and time constraint). However the design philoso-
phy of this project was to follow an anthropomorphic design and at the same time keep
everything as simple as possible. The mechanical structure design phases are shown below:
1. From the motions required (walking pattern), determine the degrees of freedom
required.
2. Determine the list of components required.
3. From components constraint (size, mass and output power) determine initial robot
dimensions.
4. Robot Design 21

4. From the initial dimensions, calculate the actuator torque required and determine
the location of the robot's center of mass.
5. Design and draw the mechanical mountings and ttings to assemble the robot.
6. Construct the robot.
Phase one required the examination of the motions of the robot during planar walking
(straight line and turning). The number of joints required, both actuated and passive,
was determined by examining the human body and the functions of each joints [15,22].
A total of 11 joints, 9 actuated and 2 passive, were chosen to achieve planar walking. The
placement and function of each joint is detailed below (and shown in Figure 4.2):
 Shoulder. In keeping with the design objective of mimicking the human form the
robot will have two arms. In most bipedal robots, the researchers were only con-
cerned with walking and hence has omitted the arms from their robots. However, by
having two arms (although without an elbow and hand) the mass distribution of the
robot would resemble closer to that of humans which will aid in dynamic walking
(explained in later Chapters). Also only slight modi cation would be needed to add
two grippers to the arm for picking up objects.
 Hips. Humans possess three degrees of freedom in the hip joint. From a mechanical
point of view, it is very dicult to implement a three degree of freedom joint. Hence
the robot will have two degrees of freedom in the hips: one to rotate the upper leg
(hip bend) in the sagittal plane (for forward movement), and one to rotate the leg
(hip turn) in the horizontal plane (for turning movement).
 Torso. A rotary actuator is required at the torso to shift the trunk (upper body) in
the frontal plane. This function is crucial in allowing the robot to shift its centre of
mass (COM) between the feet. Although the torso only gives the trunk one degree
of freedom, movement of the trunk in the sagittal plane is achieved by the use of
both hip bend actuators, thus giving two degrees of freedom to the trunk.
 Knee. The human knee only has one degree of freedom, and it is relatively easy to
model and implement it.
4. Robot Design 22

 Ankles. The human ankle is extremely exible with 3 degrees of freedom within a
small range. To mechanically construct a similar structure is very dicult, let alone
making the system actuated. Therefore it was decided that the ankle joint be made
passive having one degree of freedom in the sagittal plane (allowing for forward
movement). More justi cation on the design choice of implementing passive ankles
will be given later.

Figure 4.2: A stick gure showing the placement of joints for the biped robot.

The joints placement and degrees of freedom chosen (Figure 4.2) was similar to some
of the other research bipedal robots, such as the Waseda WL robot series [19] and the
Shadow Robot Project bipedal robot [13].

4.2.1 Robot Components


The essential components required in this project (excluding the microcontroller and
sensors) are listed below:
 Actuators. Model servos (used in radio controlled machines) were chosen because
they are cheap and allows for fast integration into the system. Their small size and
small mass are ideal for a small bipedal walker.
 Camera. A CCD B/W camera by Quickcam was chosen.
 Battery. The requirements are a supply voltage of 7.2V (minimum operating voltage
for microcontroller), small size and small mass.
4. Robot Design 23

 Springs. The speci c strength of the springs required was experimentally obtained.
Extension springs with a rating of 1.02 N/mm were used.
The above mentioned components are shown in Figure 4.3.

(a) Hitech Servo HS-300. (b) CCD Quickcam B/W


camera.

(c) Lithium ion rechargeable (d) Extension springs from


battery. Farnell

Figure 4.3: Photograph of some of the components used in the biped walking robot.

4.2.2 Torque Analysis


The process of determining the required actuator torque is a circular problem. Choosing
a higher torque actuator to meet the torque requirements will add more mass to the robot
and hence a higher torque is necessary. This is because higher torque actuators are often
heavier. An iterative solution was employed where rst a high torque actuator that has
relatively low mass was chosen and then computing the torques required to check if it was
sucient. If higher torque is needed then the process has to be repeated.
4. Robot Design 24

In calculating the torques necessary to perform the required walking motions, both
dynamic and static cases must be considered. However calculating precisely the torques
required during motion (taking into account dynamical e ects) is a complex task. There-
fore only the torques required at static con gurations were considered. Torque is given
by the following expression:
T = Fd
= (mg)d sin 
Each joint torque was calculated by considering the mass it had to support at a chosen
orientation. The components were modelled as having point masses located at their centre
(frame mass were estimated). For example, in considering the torso joint, all component
mass above the torso were rst resolved into a single point mass along the spine (COM
of the upper body). Then the torque required for a trunk tilted on an angle of 35o was
calculated:
T = (mg)d sin 
= (0:632)  (9:81)  (0:0506) sin(30)
= 0:157Nm
Two servo torque rating were chosen, 3.0kgcm and 7.7kgcm. The torso and hip bend
joints require the higher torque, while the rest of the joints only require the lower value
torque. Although in theory the knee joints would require more torque than the hip bend
joints (because of its location closer to the ground) it was decided that for walking motions
the knee angle is relatively small and not much torque will be required (from the knee
actuator). Also the hip bend joint has to rotate the trunk, which has a heavy mass.

4.2.3 Initial Design


The robot dimensions were calculated based on the dimensions of the Eyebot controller.
Also the size of the robot was made proportional to human dimensions1. Using the Eyebot
as the robot body and a set of human dimensions, the rest of the robot dimensions were
calculated.
1 The author's dimensions were chosen. It was assumed that the author is human.
4. Robot Design 25

It was originally planned that the author would construct the robot. Due to the
unavailable access to advanced tools the mechanical ttings designed must be able to
be built using simple tools, such as hand held drills and saws. The tools available also
dictated the types of material which could be used as the robot frame. Polypropylene is
a type of plastic which o ered high strength and durability, and also allowed simple tools
to be operated on them. The robot was designed based on these constraints.
The design was drawn using AutoCAD (release 14) and is shown in Figure 4.4. It is
easily seen that the mechanical frame would be dicult to construct.

Figure 4.4: AutoCAD drawing of initial robot design.

4.2.4 Final Design


Due to the availability of resources at the departmental workshop, the construction of the
robot was carried out by workshop technicians. Since the technicians have much more
experience in devising mechanical mountings it was requested of the author to alter the
design. The new design will specify the dimensions of the robot and the location of the
individual components. The new design is shown in Figure 4.5.
4. Robot Design 26

Figure 4.5: AutoCAD drawing of nal robot design.

4.2.5 Passive Ankles


The feet structure of existing bipedal research robots fall into two categories: actuated
ankles (with feet) or point feet (stilts). In this project however it was decided that
feet are necessary for extra support but the ankle joint be made passive. Two reasons
include having less joints to actively control, and lowering the mass of the leg. It is also
interesting to investigate walking with passive ankles (discussed further in later Chapters).
The author designed the ankle and feet (including the mechanical mountings). Figure 4.6
show the AutoCAD design drawings of the ankle and feet. The springs (four per foot)
were attached from the holes on the lower leg to the rod on the feet in a pyramid format
(shown in Figure 4.7).
4. Robot Design 27

Figure 4.6: AutoCAD drawing of passive ankle and feet design.

4.3 Constructed Robot


The bipedal robot shown in Figure 4.8 was constructed by Richard Meager of the mechan-
ical workshop, department of Electrical Engineering, UWA. Aluminium was chosen for
the frame material as it o ers high strength with a relatively low mass. The robot stands
at a height of 48mm, has a mass of 1.8kg and the COM1 located at (0,246)2 . Another
1Calculations were made for a vertically standing position.
2The origin is located on the ground plane, in between the feet. COM calculated for the sagittal plane
only.

Figure 4.7: Photograph of the constructed ankle and foot.


4. Robot Design 28

important component not mentioned to date is the rubber strips attached to the bottom
of the feet to provide friction. Figure 5.3b shows the arrangement of the rubber strip on
the bottom of the foot.

Figure 4.8: Photograph of constructed bipedal walker.


CHAPTER 5

Robot Sensors
In all mobile robots, a variety of sensors are employed for navigational purposes. Sensors
give some degree of intelligence to the machines and enables them to interact with the
unknown and dynamically changing environment. There is currently available an enor-
mous array of di erent sensors which perform a wide variety of tasks [6]. The use of these
sensors and how they are integrated is presented in \Multisensor integration and fusion
for intelligent machines and systems" [8].
In this project however, navigational sensors are of no concern. The sensors used
has to function at a lower level, that of enabling the biped to walk without falling. As
stated previously, humans almost exclusively use only three sensory feedback mechanism
to traverse: visual, tactile and tilt (orientation). In keeping with the design philosophy
of following nature (more speci cally anthropomorphism) only three types of sensors will
be employed to achieved the above mentioned feedback mechanisms. The sensory device
and how it will be implemented is listed below:
 Visual. A CCD camera will be used for visual image processing. Although this
sensor was implemented, it will not be used for this project. Image processing is by
itself a large subject and hence is too complicated to be used for balancing purposes
in this project. A justi cation for not needing visual feedback is perhaps the ability
of humans to balance with their eye's shut.
 Touch. Since this project only deals with simple walking, tactile sensors was placed
in the feet only. Details of the sensor chosen will be presented later.
 Tilt (orientation). The way (process) in which humans sense orientation is dicult
to quantify. However by using an accelerometer (acceleration sensor) both acceler-
ation and tilt could be obtained, although both sets of data are not independent
(because tilt is obtained by comparing the acceleration output with the gravity
vector).

29
5. Robot Sensors 30

In all actuated systems, there will be sensors to facilitate feedback for position control.
The servos used in this project has internal circuitry for feedback position control. As
such no external sensors (for example a potentiometer) will be necessary. However a
disadvantage is that using only the internal feedback control high accuracy cannot be
achieved.

5.1 Acceleration Sensor


For the purposes of robot motion control, a sensor which is able to output tilt (orientation),
velocity and acceleration would be ideal. However it is dicult to obtain velocity readings
for autonomous robots (no x frame of reference) which are not wheeled based. In wheeled
based systems, velocity could be obtained by the drive shaft speed. There is however
sensors which give linear acceleration readings, and from which tilt could be obtained.
Other reasons to use an accelerometer are listed below:
 small size and small mass
 widely available (used in air-bag technology)
 relatively cheap (AUS$45.00)
 easy to operate (less integration time)
There is a wide range of acceleration sensors available o ering various degrees of sensivity,
from 2g to 50g. For this project the accelerations that will be experienced by the robot
will not be more than 1g. Therefore a 2g accelerometer will be sucient, and it will
have a higher resolution than a 50g sensor. The only drawback is that it will not be
able to separate tilt information from actual linear acceleration.
Acceleration sensors are also packaged to give multiple axis readings. Since only planar
walking is being investigated, a 2-axis sensor is required. The chosen accelerometer is the
ADXL202-JQC 2g dual axis acceleration sensor by Analog Devices. It o ers all the
functions and properties mentioned above. Figure 5.1 shows the acceleration sensor with
the external circuitry, and the position at which it was mounted on the bipedal robot.
5. Robot Sensors 31

(a) Acceleration sensor. (b) Acceleration sensor placed on shoul-


ders of the robot.
Figure 5.1: Photograph of the acceleration sensor board and its placement on the bipedal robot.

5.1.1 Acceleration Sensor Circuit


The ADXL202 is capable of outputting an analog or digital signal. It was designed to be
used as a digital device which outputs a duty cycle. The external circuitry in using the
sensor is minimal, one resistor and three capacitors. They are parameters dealing with
the period and the analogue output bandwidth. In choosing these parameters several
important points must be examined:
 Bandwidth. A smaller bandwidth will contain less noise and hence the output will
be of a higher resolution.
 Period. A smaller period allows more readings during operation but it comes at the
expense of some resolution.
A period of 1ms was chosen because at this value, a large number of readings could be
taken per second at a minimal loss of resolution. Based on the recommendation of the
sensor speci cations, the analogue bandwidth must be at least 101 th the frequency of the
duty cycle modulator (to minimize noise). In choosing a period of 1ms, it necessarily
constrains the bandwidth to be at most 100Hz. Figure 5.2 (taken from the ADXL202
5. Robot Sensors 32

technical report) shows the acceleration sensor circuit, where Rset determines the period,
CDC is the DC decoupling capacitor and Cx,Cy limits the analogue bandwidth.

Figure 5.2: Block diagram of acceleration sensor circuit with external components.

5.1.2 Acceleration Sensor Decode


Decoding the accelerometer output involves using a high resolution timer (at least 1kHz)
to measure the duty cycle high time and period. The Eyebot controller has TPU channels
(time processor unit) to facilitate timed waveform input and output. It does not however
(the MC68332 Mask A TPU function set) provide a function to simultaneously obtain the
high time and period of an input square wave. To overcome this problem (at the expense
of minimal accuracy), the period was rst measured and then stored for use later. This
is valid because the period should not change. Drift from the initial value could occur
as temperature changes signi cantly or as time progresses. Hence all that is required to
minimize error is a calibration process to be carried out periodically (for example every
month) to obtain the period.
5. Robot Sensors 33

With the high time of the output, the acceleration in g's can be calculated using the
following formula:
acc: = ( hightime
period ? 0:5)  0:125
The driver program to decode the sensor was written in Motorola 68000 assembly
(source code in Appendix A). The program has four functions: start the TPU timer, stop
the TPU timer, read high-time for X axis and read high-time for Y axis. The reading
functions are non-blocking and returns an integer representing the high time. In the event
that a new reading is not available yet, a value of ?1 will be returned.

5.2 Foot Sensor


Tactile sensors can be analog (multivalued) or digital (binary). In most other bipedal
research robots which has sensors placed on the feet, force sensors were employed. An
example of a successful implementation was by Kun and Miller [7]. They used the force
sensor output (ground reaction forces) to train a neural network to obtain the stability
boundary of their bipedal robot. The primary feedback mechanism was the force sensor
mounted on the bottom of the foot.
Although a force sensor provides much more information over a binary switch (foot in
contact or in the air), it is much more expensive and much harder to implement. Since
this is the rst prototype of an experimental robot, it would be better to choose a binary
switch and convert to a force sensor if required later.
There are many binary switches available. The most common would be the mi-
croswitch, which is small, very cheap and easy to implement. However the biggest draw-
back is that it is very dicult to construct a solid mechanical mounting. This device
is also prone to mechanical wear. The second disadvantage is that if not implemented
correctly they will reduce the supporting region of the foot.
Due to the disadvantages of a mechanical switch, an optical switch was chosen. The
opto-electronic switch HOA2498 from Honeywell has an optimum sensing distance of
5mm. The operation of the opto-electronic switch is presented in the next section. Figure
5.3 shows the opto-switch and how they were mounted onto the foot.
5. Robot Sensors 34

(a) Opto-electronic switch. (b) Opto-electronic switch


mounted on the foot.
Figure 5.3: Photograph of the opto switch and how they were mounted on the biped feet.

5.2.1 Opto-electronic switch operation


The opto-electronic switch consists of a light emitter and a transistor. The transistor acts
as a current source, the amount of current depends on the amount of light that falls onto
the base of the transistor. The circuit arrangement of the switch is shown in Figure 5.4.
Only two resistors are necessary; R1 (100
) to limit the voltage across the LED and R2
to enable a large voltage swing when current ows through the transistor. The output is
then taken as the voltage drop over R2 (100k
). It was experimentally determined that
the maximum current induced in the transistor was when a re ecting surface was placed
5mm away from the sensor.
The output from the switch is connected directly to a digital input port on the Eyebot
microcontroller. Reading the output in software is done by calling a single function
provided by the Robios operating system, OSReadInLatch().

5V
R1 R2
Output

Figure 5.4: The simple opto-electronic switch circuit.


CHAPTER 6

Gait Synthesis
In bipedal robotics research gait synthesis refers to a process of systematically formulating
joint angle functions for each joint to obtain a desired motion. In bipedal research liter-
ature there are basically two common methods in gait synthesis: by dynamical analysis
and arti cial intelligence techniques (AI)1.
In this research project there are two problems with using the second method, namely
ANN. The rst is due to the unavailability of feedback data to train an ANN from a lack
of sensors and sensor data. The second is a lack of processing power on board the robot
(although an option would be to train the ANN o -line using a more powerful computer).
Using a dynamical analysis approach, such as the ZMP, will provide quantitative measures
on gait stability but the process involves non-trivial equations.
The approach taken in this project was to examine the human gait, and synthesizing
a robot gait by comparing the similarities and di erences between the human and robot
structure. It was intended that this approach be implemented rst to gain some insight to
gait synthesis and then use the ZMP algorithm. However time not permitting, the ZMP
algorithm could not be investigated.

6.1 Human Gait


The human gait used for examination in this project was taken from Whittle [21]. The
subject was a normal 22 year old female. Figure 6.1 shows the joint angles in the sagittal
plane of the subject.
The primary di erence between the human and robot structure is the passive foot of
the robot. Therefore no active control could be made to the ankle joint. The realization
of the ankle joint angle as depicted in Figure 6.1 is not possible. This is signi cant as the
loading response on the ankle is very large during stance phase, as shown in Figure 6.2.
1 The techniques generally used are arti cial neural networks (ANN) and fuzzy logic.

35
6. Gait Synthesis 36

Figure 6.1: Joint angles in the sagittal plane of a normal human walking gait (Copied from
\Gait analysis : an introduction", page 64 [21]).

There are two other important di erences between the human and robot con gura-
tion that is crucial to walking. They are the absence of lateral hip movement and the
corresponding lateral movement at the ankles. During human walking lateral hip move-
ment plays an important role in moving the COM towards the supporting foot while still
keeping the trunk relatively vertical. In the case of the experimental robot, the shifting of
the COM (in the transverse plane) is a function of the torso. This necessarily means that
there will be no signi cant correspondence between human and robot torso movements
and the robot gait has large movements of the trunk in the frontal plane.

6.2 Simple Robot Gait


The simple robot gait that was formulated is symmetric. This simpli cation is valid but
non-optimal as it increases the height traversed by the COM during walking in the vertical
direction. In human gait the swing phase is shorter than the stance phase [15,21]. The
simpli cation is made to the knee joint during stance phase ; the stance leg is kept straight
(no bending).
6. Gait Synthesis 37

Figure 6.2: Loading on joints in the sagittal plane during normal human walking (Copied from
\Gait analysis : an introduction", page 65 [21]).

6.2.1 Hip and Knee joint


The angles for the hip and knee joints shown in Figure 6.1 were modelled and generated
by using sinusoidal curves. Sinusoidal curves were chosen because they are continuously
di erentiable (smooth). Using the general shape of the joint angles from the set of human
data is insucient. If the robot hip and knee motion follows that of the human gait then
the heel will not lift up. The swing leg in trying to move forward, but with the foot stuck
on the ground, will drive the robot backwards. This was veri ed experimentally.
As alluded previously, the robot cannot actively control the ankle joint. Therefore
its motion1 must be compensated for by the use of both the hip and knee joint. The
modi cation made was from observation and intuition. Figure 6.3 shows the hip and knee
joint angles for the simple robot gait.
The parameters to vary the foot trajectory are the maximum hip and knee amplitude,
and where they occur during the gait cycle. From direct kinematics the trajectory of the
ankle point can be plotted as shown in Figure 6.4.
1 The ankle plantar exes at the beginning of the swing phase to allow for ground clearance.
6. Gait Synthesis 38

Hip joint angle.


60

Joint angle (degrees)


40

20

−20
0 10 20 30 40 50 60 70 80 90 100
Gait cycle (%)

Knee joint angle.


0
Joint angle (degrees)

−20

−40

−60

−80
0 10 20 30 40 50 60 70 80 90 100
Gait cycle (%)

Figure 6.3: Hip and knee joint angles for simple robot gait.

6.2.2 Torso joint


The robot torso is perhaps the most crucial joint in terms of gait stability. It directly
controls the COM trajectory in the frontal plane. However it also indirectly a ects the
stability in the sagittal plane. Although it is dicult to directly ascertain what the robot
torso angle should be from the human gait, we can examine the COG path of humans,
as illustrated in Figure 3.4 and Figure 3.5. It can be seen from the two diagrams that
the COG during steady state walking is sinusoidal. The robot torso was modelled as a
sinusoid, as depicted in Figure 6.5.
The important parameter to control is the amplitude. It determines whether the COG
is inside the supporting region during single support (in the transverse plane).
6. Gait Synthesis 39

Ankle trajectory
0.6

0.4

Height (dm)
0.2

−0.2
−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4
Length (dm)

Figure 6.4: The trajectory of the ankle point for one step.

Torso joint angle.


20

15

10

5
Joint angle (degrees)

−5

−10

−15

−20
0 10 20 30 40 50 60 70 80 90 100
Gait cycle (%)

Figure 6.5: The torso joint angle over a complete gait cycle.
CHAPTER 7

Robot Walk
After the formulation of a simple robot gait the performance needs to be tested. In this
project there is only one criteria in measuring performance, whether or not the robot
walks. This is because using the approach taken in this project it is very dicult to
quantitatively measure the stability of the gait. Only with the use of dynamical analysis
can a gait be quanti ed in terms of stability. Since the achievement of programming a
robot to walk is signi cant and dicult enough, no form of optimality is being sought
after. For optimality extra joint motions, other than those developed in the simple robot
gait, are necessary [15].

7.1 Gait Initiation


In starting to walk the body is tipped forward outside the base of support. Gravity will
then sustain the tipping moments. The issue of whether it is the hips or the ankles that
drives the human walking motion has been greatly debated in biomechanics research.
The robot in this project does not have this dilemma because it has no actuated ankles.
Therefore the ankle plays a passive role while the hips drives the walking motion. The
rate at which the body is tipped forward (by the hips) is crucial, as it determines the
moments generated and ultimately the stability of the system.
To start the system in a stable position, the robot's leg were spread apart in the
transverse plane to give a wider base of support. It would be too unstable to start the
robot with both feet aligned as the slightest external perturbation will cause the robot
to fall over. Also the torso is rotated towards the stance foot before the robot it tipped
forward. Again this is to create as stable a starting position as possible. The modi ed
rst step torso angle is shown in Figure 7.1.
The human arms play an important role during walking. The shoulders are twisted in
opposite direction to the torsional moments cause by the swing leg about the stance leg.
This reduces the twisting e ect on the whole body and allows a straight walking path.

40
7. Robot Walk 41
Torso joint angle for first step.
25

20

15

10

Joint angle (degrees)


5

−5

−10

−15

−20

−25
0 10 20 30 40 50 60 70 80 90 100
Gait cycle (%)

Figure 7.1: Modi ed torso angle for rst step.

The arms also swing 180 degrees out of phase with the leg motion to conserve momentum
and allow walking to be more ecient. In the case of the robot, it is not possible to
implement the motions described above, due to:
 The arm only has one degree of freedom; in the sagittal plane. Therefore it can-
not rotate to counter the twisting moments caused about the stance foot in the
transverse plane.
 Since there is no elbow joint, the length of the arms extends past the hips. Con-
sidering the chosen torso movements (swinging from side to side at a great angle of
20o ) it is not possible to swing the arms back and forth without colliding with the
hips.
Therefore an initial approach was to move both arms forward of the hips and leave them
there for the duration of the walk1.

7.2 Gait Termination


Due to unsuccessful attempts to sustain walking for many steps, gait termination could
not be investigated fully. The algorithm behind gait termination is to stop with the legs
apart, similar to the starting position. To reduce the forward momentum to zero the use
of body attitude control will be employed and is explained in the next section. Successful
1 Walking like a zombie.. .
7. Robot Walk 42

gait termination was obtained in the form of one step walking and during some trials of
two step walking (see next sections).

7.3 Body Attitude Control


In humans the ankle joints resist forward tipping as indicated by the loading response in
Figure 6.2. As a consequence of the robot not having any ankles the system must nd
another way to reduce the forward momentum caused by gravity. It should be pointed
out that although this makes walking much more dicult at slower speeds, the passive
foot (with springs) acts as a natural damper to reduce the impulse caused during foot
strike. Ideally we want a setup which allows actuation during di erent parts of the gait
cycle while remaining passive at other times.
The control of the body attitude is a good choice in replacing the ankle's function of
slowing forward momentum. Looking at the setup of the robot joints, the body attitude
is a function of both the hip joints and is independent of the leg motion, therefore it can
be changed without altering the preset gait pattern synthesized thus far. The use of this
parameter as a control mechanism is further discussed in later sections.

7.4 Walking without Feedback


Although humans are very accomplished walkers it would be almost impossible for them
to walk if all their sensors are taken away. One can say that without feedback biological
creatures cannot achieve meaningful motion. Since the robot and its gait have been
developed by close examination of humans, it would suggest that the robot too cannot
achieve walking without the used of a feedback mechanism. Experiments were carried out
to investigate robot walking without feedback control, the details of which are described
in the next sections.

7.4.1 One step walk


While taking a single step and then stopping might not be considered as walking, it
provides a rst step1 in trying to achieve robot walking. The concept of body attitude
1 No pun intended.
7. Robot Walk 43

control to reduce (or increase) the forward momentum was tested.


As described previously gait initiation requires that the body attitude lean forward to
initiate the gait cycle of walking. The body attitude was left at this position in the rst
experiment. It was observed that the robot would fall over forwards at the completion
of the step. In order to stop the robot at a stable position the forward momentum must
be reduced to zero. The solution was to tilt the body attitude backwards during the step
motion.
The body attitude was linearly decremented to a chosen angle in 18 th of the step period.
The time parameter ( 81 th step period) was arbitrarily chosen and kept unchanged, while
the angle was chosen by experimentation. Several trials were necessary to nally obtain
an angle for which the robot was successful in taking one step. Using these parameters
the robot was able to take one step without feedback control in many subsequent trials.
The obtained angle would change if: the initial leg separation is changed, the initial body
attitude was changed, the velocity applied to the body during gait initiation changed or
the step period changed.
The sensor data from one of the trials is shown in Figure 7.2. Refer to Appendix A
for a brief explanation of how to read the sensor data graph. All the sensor data will be
represented in this manner throughout this entire report. Note the acceleration in the
sagittal plane is zero (solid line) while the acceleration in the transverse plane (dashed
line) is non-zero due to the tilted trunk at the end of one step.

7.4.2 Multi-step walk


After successfully implementing a one step walk, a natural progression would be to im-
plement two steps. There is a distinction here between one step and two steps. In two
step experimentation, there were two goals: to make the robot stop in a stable position
and to make the robot take two steps then fall forward with little momentum. The idea
of the second goal is that if successful it means a third step could be taken.
In initial experiments, the robot could not complete even two steps. After the rst
foot fall the robot has gained large forward momentum. This causes the swing foot during
the second step to hit the ground. From this point of view, it is pointless to experiment
with more steps. It would be much more bene cial to obtain a stable system at the end
of two steps. Failure to do so indicates a lack of understanding in important principles
7. Robot Walk 44

Sensor data for one step walk.


0.3

0.2

0.1

Acceleration (g)
0

−0.1

−0.2

−0.3

−0.4
0 0.1 0.2 0.3 0.4 0.5 0.6
Time (s)

Figure 7.2: Acceleration and foot switch data for a single step walk.

which necessarily implies that multi step walking cannot be achieved. As such much of
the experimentation has been on studying the robot stability after two steps.
In trying to achieve the rst goal of making the robot stop after two steps, again control
of the body attitude was employed. From experimentation a body angle was arrived at
which achieved this, for some of the trials. Without feedback control the robot could fall
backwards, fall forwards or become stable using the same set of parameters. This clearly
indicates that without feedback control it is impossible for the robot to walk more than
one step. Figure 7.3 show the sensor output for a 2 step trial in which the robot falls
backward (slowly). In using exactly the same parameters as the trial before the robot
was able to take 2 steps and stop; the sensor data is shown in Figure 7.4. Comparing
the two graphs, it can be seen that during the rst double support the unsuccessful trial
has negative acceleration in the X direction. As a result after 2 steps the robot falls
backwards.
The second goal was to achieve two step walking with the robot falling forwards slightly
after the second step. If this can be repeatedly on every trial then the system is stable
enough to take three steps and multi-step walking could be investigated. However no
matter with any amount of experimental adjustment it was not always possible to realize
this goal. On several occasions though, the goal was realized. The sensor output is shown
7. Robot Walk 45

Sensor data output for 2 step walk.


1.2

0.8

0.6

Acceleration (g)
0.4

0.2

−0.2

−0.4

0 0.2 0.4 0.6 0.8 1 1.2


Time (s)

Figure 7.3: Acceleration and foot switch data for a single step walk which fails. The robot falls
backward.
in Figure 7.5.

7.5 Walking with Feedback control


Analysing the results obtained for many trials of two step walking it was concluded that it
is not possible for the robot to walk without feedback control. In implementing feedback
control, several important issues must be addressed:
 Choosing parameters to control (in this case joints).
 Correlating sensor data to the joint being controlled.
 Choosing a feedback algorithm.
The acceleration sensor output was used as the control signal, while the body attitude
and torso angle was chosen as the parameters to control. In using this approach there
is no simple equation relating the error signal1 (acceleration) to the required change in
body and torso angles. Another problem is obtaining the desired acceleration signal (in
1 The error signal is de ned to be the di erence between a desired signal and the output signal
7. Robot Walk 46

Sensor data output for 2 step walk.


1.4

1.2

0.8

0.6

Acceleration (g) 0.4

0.2

−0.2

−0.4

0 0.2 0.4 0.6 0.8 1 1.2


Time (s)

Figure 7.4: Acceleration and foot switch data for a successful two step walk.

both axis). The latter problem was solved by using acceleration data from a trial which
was visually determined to be desirable. The sensor output shown in Figure 7.5 was used
as the desired signal because the state of the robot after two steps was stable and has
small2 forward momentum. The prior problem was solved using a simple proportional
(P) controller (for background theory on PID controllers consult Bolton [1]).

7.5.1 P Controller for Walking


Having established that feedback control is necessary, a simple P controller was imple-
mented. The feedback gain constant needs to be carefully chosen. The algorithm used in
obtaining a change in body and torso joint angle is listed below:
1. An error was obtained using,
ye = youtput ? ydesired :

2. The error was multiplied with the gain constant to produce a joint angle.
3. The joint angle was limited within a certain range.
2 Quanti ed using \visual" judgement.
7. Robot Walk 47

Sensor data output for 2 step walk.


1.4

1.2

0.8

0.6

Acceleration (g) 0.4

0.2

−0.2

−0.4

0 0.2 0.4 0.6 0.8 1 1.2


Time (s)

Figure 7.5: Acceleration and foot switch data for a two step walk. Robot falls forward slightly
after two steps.

It was necessary to limit the change in joint angle as excessively large changes in acceler-
ation would produce a very large change to the torso and body angles.
Many trials were conducted and the sensor output data was analysed. At the early
stages of testing it was thought that by choosing a correct gain value, the robot would
always take the desired 2 steps. Analysis of the output sensor data could account for
the outcome of the trials. For example, Figure 7.6 shows a trial in which the robot fell
backwards. Comparing the actual against the desired acceleration it can be seen that
the actual acceleration during the rst step is greater1 than the desired. As a result the
system does not have enough momentum after the second step to translate forward about
the ankle joint.
Over the number of trials conducted, the P controller seemed to perform better (in
the sense that the desired acceleration was tracked more closely) than the case where no
feedback was present. However it still did not enable the system to walk the desired two
steps stably. Clearly the P controller actions of the torso and body attitude is insucient.
The more critical problem with the use of acceleration data of the trunk only is highlight
in Figure 7.7. The outcome of the trial was that the robot fell forwards after the rst
1 Remembering that positive acceleration is backwards and negative acceleration is forwards.
7. Robot Walk 48

Sensor data output for 2 step walk.


1.4

1.2

0.8

0.6

Acceleration (g)
0.4

0.2

−0.2

−0.4

0 0.2 0.4 0.6 0.8 1 1.2


Time (s)

Figure 7.6: Acceleration and foot switch data for a two step walk. Robot falls backward after
two steps.

step. The signi cance of this graph shows that although the controller tracked the desired
acceleration closely, after foot fall the system became unstable to the point where the
controller could not bring it back to stability. Another important point to recognize is
the fact that the system had no way to correct for stability until it was too late. This
could be due to both the inadequacies of the sensor and model of the system.
Sensor data output for 2 step walk.
1.4

1.2

0.8

0.6
Acceleration (g)

0.4

0.2

−0.2

−0.4

0 0.2 0.4 0.6 0.8 1 1.2


Time (s)

Figure 7.7: Acceleration and foot switch data for a two step walk. Robot falls forward after two
steps.
7. Robot Walk 49

7.5.2 P Controller for Standing


The above mentioned feedback control strategy was also implemented to examine its
performance in balancing a standing robot in the presence of small external perturbations.
The robot has the same starting position as used previously, both arms extended forward
(40o ) and the feet slightly apart. The algorithm used the X axis acceleration as the
feedback signal, and altered the body attitude using a P controller. The desired signal
in this case was obtained by averaging the acceleration obtained when the robot is stable
and with no external forces present.
Although it is a completely di erent problem to walking, the experiment was thought
to give some insight into feedback control of the robot. However the experiment was a
dismal failure. Even when the robot was started in a stable position and no external force
applied, it eventually fell down. This is largely due to the noise in the acceleration sensors.
There are small changes in the sensor output even when the robot is stationary. These
small changes eventually cause the system to oscillate and eventually become unstable.
CHAPTER 8

Conclusion
Biological creatures have used legged locomotion as a primary means of transportation on
land for centuries. Nature has created a variety of legged creatures. While it has preferred
six legged creatures, bipeds were evolved too. Although advanced bipedal walking can
be observed in abundance, this project has shown that creating an arti cial biped which
walks is a dicult and complicated task.
The approach of observing humans in designing a bipedal robot provided many advan-
tages. Designing the mechanical structure of the robot was simpli ed by the examination
of the human body. The chosen design was shown to be successful in implementing the
desired lower limb motions. However not every aspect of the human structure could be
constructed. This was due to several factors, including: the vast number of joints that
human possess and the complexity at which they are combined, the diculty of designing
mechanically actuated joints (with more than two degrees of freedom) that is both small
in size and mass, and the complex sensory system of humans.
Another advantage of choosing an anthropomorphic design was in the area of gait
synthesis. Formulating a dynamically stable gait for a bipedal robot has been shown to
be complex. By designing the robot closely to humans, a robot gait could be synthesized
by examination of the human gait (data of which is abundant in biomechanical literature).
The derivation of a simple robot gait using this approach was shown to be adequate in
obtaining the desired lower limb walking motion.
The di erences between the robot structure and its human counterpart in the hip
joints and COM was very signi cant, in terms of achieving walking. The lateral movement
provided by the hips in humans was underestimated while designing the robot. Due to this
fact alone, humans can translate their COM between their feet while keeping the trunk
relatively vertical. The absence of this feature in the robot coupled with its low COM
restricted the robots ability to achieve walking. It was also very dicult to obtain the
correct robot torso movements as no comparison with the human gait could be possible.
The concept of passive ankles in walking was examined. This feature alone accounted

50
8. Conclusion 51

for many of the diculties encountered while trying to implement walking on the robot.
Although it has been shown that walking without feet (e ectively being the same as having
a passive ankle) was possible, experimentation suggests that actuated ankles allows the
system to be more stable during gait initiation. The problem with passive ankles is the
inherent diculty in controlling the robot. This is due to the signi cant e ect of gravity,
which would be much smaller in the case of an actuated ankle, as it could resist some (or
all, if the actuator is powerful enough) of the moments generated by gravity.
In summary, the results obtained in this project has shown that implementing a bipedal
robot is a very dicult task. The approach taken has given invaluable insight into the
problem of bipedal walking but without some form of dynamical analysis, it would be
extremely dicult to obtain a dynamically stable gait. A large quantity (and quality)
of sensory feedback is required before it is possible to successfully implement a control
system. Also, the components must exhibit high precision and speed, otherwise no matter
how good a control system is devised, stability cannot be achieved.

8.1 Future Work


The scope of research involved in bipedal robots is immense. As such there is always more
avenues for improvement in any bipedal robot project, especially in this project, where
time was limited. There are two main areas in which this project could be improved
to make the robot walk. The rst is the use of dynamical analysis in gait synthesis.
A possible approach would be the use of the ZMP. Although this approach has been
published to work, the literature has not been very clear in de ning the ZMP and its
relation to a dynamically stable gait.
Another, possibly more important, future work would be to modify the robot. The
simplest modi cation is in the form of raising the robot's COM, so that the torso joint can
shift the COM over a wide range without moving very far. This could be as simple (but
not an elegant solution) as adding more mass to the trunk. Another modi cation would
be to make the ankle joint actuated. This coupled with a raised COM would resemble the
human structure more closely and the application of human gaits would provide better
results.
As with most mechanical devices, a series of modi cations and re-designs based on
lessons learnt from the previous models are made before arriving at a nal model. The
8. Conclusion 52

re-design of the robot using conclusions arrived at in this project would probably provide
the highest probability of achieving robot walking. The major modi cation would be the
addition of hip lateral movement. If only planar straight line motion is required then a
possible design would be to replace the hip turning joints in the current robot to allow
for hip lateral rotations. This must be accompanied by an extra degree of freedom in the
ankle (in the frontal plane) if large trunk motions are to be avoided. The reduction in
trunk motion would aid in obtaining gait stability.
References

1. W. Bolton. Mechatronics-Electronic control systems in mechanical engineering. Ad-


dison Wesley Longman, Essex, England, 1995.
2. Gary N. Boone and Jessica K. Hodgins. Slipping and Tripping Re exes for Bipedal
Robots. Technical report, Georgia Institute of Technology, Atlanta, 1997. Submitted
to the Journal of Autonomous Robots.
3. Aurelio Cappozzo, Ugo della Croce, and Luigi Lucchetti. Gait Data: Terminology
and De nitions. In Paul Allard, Aurelio Cappozo, Arne Lundberg, and Christopher L.
Vaughan, editors, Three-dimensional Analysis of Human Locomotion. John Wiley &
Sons, 1997.
4. Eric R. Dunn and Robert D. Howe. Towards Smooth Bipedal Walking. In Proceedings
of the 1994 IEEE International Conference on Robotics and Automation, 1994.
5. Eric R. Dunn and Robert D. Howe. Foot Placement and Velocity Control in Smooth
Bipedal Walking. In Proceedings of the 1996 IEEE International Conference on
Robotics and Automation, 1996.
6. Joseph L. Jones and Anita M. Flynn. Mobile Robots : Inspiration to Implementation.
Wellesley Publishing, Massachusettes, 1993.
7. Andrija Kun and W. Thomas Miller. Adaptive Dynamic Balance of a Biped Robot
Using Neural Networks. In Proceedings of the 1996 IEEE International Conference
on Robotics and Automation, pages 240{245, 1996.
8. Ren C. Luo and Michail G. Kay. Multisensor Integration And Fusion for Intelligent
Machines and Systems. Ablex Publishing Corporation, Norwood, New Jersey, 1995.

53
Bibliography 54

9. T. McGeer. Passive dynamic walking. International Journal of Robotics Research,


9(2):62{82, 1990.
10. T. McGeer. Passive walking with knees. In Proceedings of the 1990 IEEE Interna-
tional Conference on Robotics and Automation, pages 1640{1645, 1990.
11. E. Muybridge. The Human Figure of Motion. Dover Publication, New York, 1955.
12. E. Muybridge. Animals in Motion. Dover Publication, New York, 1957. First edition,
1899 by Chapman and Hall, London.
13. Shadow Robot Project. Shadow Robot Project: Biped Walker. World Wide Web
document. URL http://www.shadow.org.uk/projects/biped.stm.
14. Marc H. Raibert. Legged robots that balance. MIT press, 1986.
15. Jessica Rose and James G. Gamble. Human Walking. Williams & Wilkins, Maryland,
U.S.A, second edition, 1994.
16. Ching-Long Shih. Analysis of the Dynamics of a Biped Robot with Seven Degrees
of Freedom. In Proceedings of the 1996 IEEE International Conference on Robotics
and Automation, pages 3008{3013, April 1996.
17. Shin-Min Song and Kenneth J. Waldron. Machines That Walk. MIT press, 1989.
18. D. J. Todd. Mobile robots - the lessons from nature. In Paolo Dario, Giulio San-
dini, and Patrick Aebischer, editors, Robots and Biological Systems: Towards a New
Bionics? Springer - Verlag, 1993.
19. Waseda University. Waseda Humanoid Project. World Wide Web document. URL
http://www.shirai.info.waseda.ac.jp/humanoid.

20. M. Vukobratovic. Legged Locomotion Robots. Mikkan Kogyo Shinbunsya, Japan,


1975. Interpreted by Kato, I. and Yamashita, C.
21. Michael Whittle. Gait analysis : an introduction. Butterworth-Heinemann, Oxford,
second edition, 1996.
22. David A. Winter. Biomechanics and Motor Control of Human Movement. John
Wiley & Sons, New York, second edition, 1990.
Bibliography 55

23. David A. Winter. The biomechanics and motor control of human gait: normal, elderly
and pathological. University of Waterloo Press, Ontario, second edition, 1991.
24. Keon Young Yi and Yuan F. Zheng. Biped Locomotion by Reduced Ankle Power. In
Proceedings of the 1996 IEEE International Conference on Robotics and Automation,
pages 584{589, April 1996.
APPENDIX A

Sensor Output
A.1 Acceleration Orientation
The acceleration is mounted on the shoulders of the robot. The sensor has two axis, X
and Y. Their orientation with respect to the robot's reference frames are shown in Figure
A.1. It is important to note that for the X axis (body attitude):
 The forward direction has a negative acceleration.
 The backward direction has a positive acceleration.
and for the Y axis (torso tilt):
 The right direction has a negative acceleration.
 The left direction has a positive acceleration.

X axis
Acceleration sensor

Y axis
Acceleration axis

Figure A.1: The axis of the acceleration sensor with respect to the robot reference frames.

56
A. Sensor Output 57

A.2 Acceleration Decoding Assembly Code


The assembly code for measuring the high time from the acceleration sensor, both X and
Y axis is listed below:
| Program to measure acceleration sensor duty cycle output high time.
| written by : Joon NG (5/9/98)

| Program outputs a single period high time in TCR1 clock ticks

| Program does not check if PPWA_LW overflowed into PPWA_UB


| It is assumed that the input signal will not cause an overflow (valid since
| acc. period is 1ms)

.include "tpuregs.i"

AccFlagX: .DS 4
AccFlagY: .DS 4

.globl accinit | function to initialize and start


| PPWA function on channels 5, 6

accinit:

move.l #INTX, 0x154 | store starting address of interrupt


| routine for channel 5

move.l #INTY, 0x158 | store starting address of interrupt


| routine for channel 6

or.w #0x0060, cier | enable interrupts for channel 5,6


A. Sensor Output 58

or.w #0x0ff0, cfsr2 | select ppwa function for channel 5,6

and.w #0xc3ff, hsqr1 | 24-bit high time


or.w #0x2800, hsqr1

move.w #0x0007, ch5par0 | capture tcr1 on rising edge


move.w #0x1400, ch5par1 | maxcount - 20 periods
move.w #0xff00, ch5par4 | set ACCUM to 0xFF.

move.w #0x0007, ch6par0 | capture tcr1 on rising edge


move.w #0x1400, ch6par1 | maxcount - 20 periods
move.w #0xff00, ch6par4 | set ACCUM to 0xFF.

and.w #0xc3ff, hsrr1 | request service to initialize


or.w #0x2800, hsrr1 | channel 5,6

and.w #0xc3ff, cpr1 | assign middle priority to channel 5


or.w #0x2800, cpr1 | and 6

wait:
move.w hsrr1, d0
andi.w #0x3c00, d0
bne wait | wait until initialization complete

move.l #0x00000000, AccFlagX | initialize AccFlagX variable


move.l #0x00000000, AccFlagY | initialize AccFlagY variable
rts

INTX:
| channel 5 interrupt handler
| flag variable as new X axis reading ready
A. Sensor Output 59

andi.w #0xffdf, cisr | channel 5 interrupt not asserted


| (clearing it)

move.l #0x00000001, AccFlagX


and.w #0xffdf , cier
rte

INTY:
| channel 6 interrupt handler
| flag variable as new Y axis reading ready

andi.w #0xffbf, cisr | channel 6 interrupt not asserted


| (clearing it)

move.l #0x00000001, AccFlagY


and.w #0xffbf , cier
rte

.globl accreadX
accreadX:
| read high time (channel 5) from the TPU parameter RAM

cmpi.l #0x01, AccFlagX | is there a new reading since


| the last call to this function?
beq readokX | yes

move.l #0xffffffff, d0 | no, return a -1


rts

readokX:
clr.l d0 | new reading available
move.w ch5par5, d0 | return new reading
move.l #0x00, AccFlagX
A. Sensor Output 60

or.w #0x0020, cier


rts

.globl accreadY
accreadY:
| read high time (channel6) from the TPU parameter RAM

cmpi.l #0x01, AccFlagY | is there a new reading since


| the last call to this function?
beq readokY | yes

move.l #0xffffffff, d0 | no, return a -1


rts

readokY:
clr.l d0 | new reading available
move.w ch6par5, d0 | return new reading
move.l #0x00, AccFlagY
or.w #0x0040, cier
rts

.globl accrelease
accrelease:
| stop the PPWA function in channel 5,6

andi.w #0xc3ff, cpr1 | stop channel 5,6


andi.w #0xff9f, cisr | channel 5,6 interrupt not asserted
andi.w #0xff9f, cier | disable further irq
move.l #0x00000000, AccFlagX
move.l #0x00000000, AccFlagY
rts
A. Sensor Output 61

A.3 Sensor Graphs


The output from the sensors were plotted onto one graph, as shown in Figure A.2. The
rst four lines at the top of the graph show the binary foot switch output. A high
means that the switch is activated (or the foot is on the ground) and a low means the
opposite. Although the lines are all solid, they can be di erentiated by the di erent
colours. Their order never changes, therefore a B/W graph could also be decoded. The
line representation is listed below (where line 1 refers to the highest line):
1. Line 1. Robot right back foot sensor.
2. Line 2. Robot right front foot sensor.
3. Line 3. Robot left back foot sensor.
4. Line 4. Robot left front foot sensor.
Sensor data output for 2 step walk.
1.4

1.2

0.8

0.6
Acceleration (g)

0.4

0.2

−0.2

−0.4

0 0.2 0.4 0.6 0.8 1 1.2


Time (s)

Figure A.2: Sensor output data plotted on the same graph.

The acceleration data are represented by the curves at the bottom of the graph. The
line type and their representation are listed below:
 Solid line. This represents the actual X axis acceleration.
A. Sensor Output 62

 Dashed line. This represents the actual Y axis acceleration.


 Dotted lines. This represents the desired acceleration. Although both X and Y axis
curves are dotted lines, they have a distinct shape and hence can be di erentiated
easily (X axis has the smaller acceleration variation).

View publication stats

You might also like