Professional Documents
Culture Documents
net/publication/2358367
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:
All content following this page was uploaded by Thomas Braunl on 04 November 2013.
Joon Ng
Supervisor: A/Prof Thomas Braunl
Humans are bipeds that possess signicant dexterity. A bipedal human-like walker oers
signicant 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 eect 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.
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
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 Modied 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 oer 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 signicant 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 specically 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 specic 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
specic 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
1.3 Method
This project can be broken into several distinct sections, the designing phase, the con-
struction phase and the implementation phase.
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].
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 aects 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].
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, dened to be the dierence between the swing and stance leg
angle, which causes the body to experience a net acceleration thus changing velocity.
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.
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 dierent 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
(COG)
3. Human Walking 16
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]).
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.
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. 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 modication 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 justication 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].
Springs. The specic 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.
Figure 4.3: Photograph of some of the components used in the biped walking robot.
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 eects) is a complex task. There-
fore only the torques required at static congurations 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.
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 oered 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.
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.
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 dierent 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 specically 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 justication 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.
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.
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.
5V
R1 R2
Output
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 articial 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 dierences 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.
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 dierences between the human and robot congura-
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 signicant correspondence between human and robot torso movements
and the robot gait has large movements of the trunk in the frontal plane.
Figure 6.2: Loading on joints in the sagittal plane during normal human walking (Copied from
\Gait analysis : an introduction", page 65 [21]).
20
−20
0 10 20 30 40 50 60 70 80 90 100
Gait cycle (%)
−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.
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.
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 quantied in terms of stability. Since the achievement of programming a
robot to walk is signicant 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].
40
7. Robot Walk 41
Torso joint angle for first step.
25
20
15
10
−5
−10
−15
−20
−25
0 10 20 30 40 50 60 70 80 90 100
Gait cycle (%)
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.
gait termination was obtained in the form of one step walking and during some trials of
two step walking (see next sections).
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
0.8
0.6
Acceleration (g)
0.4
0.2
−0.2
−0.4
Figure 7.3: Acceleration and foot switch data for a single step walk which fails. The robot falls
backward.
in Figure 7.5.
1.2
0.8
0.6
0.2
−0.2
−0.4
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]).
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 Quantied using \visual" judgement.
7. Robot Walk 47
1.2
0.8
0.6
0.2
−0.2
−0.4
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
1.2
0.8
0.6
Acceleration (g)
0.4
0.2
−0.2
−0.4
Figure 7.6: Acceleration and foot switch data for a two step walk. Robot falls backward after
two steps.
step. The signicance 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
Figure 7.7: Acceleration and foot switch data for a two step walk. Robot falls forward after two
steps.
7. Robot Walk 49
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 articial 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 simplied 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 dierences between the robot structure and its human counterpart in the hip
joints and COM was very signicant, 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 (eectively 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 signicant eect 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.
re-design of the robot using conclusions arrived at in this project would probably provide
the highest probability of achieving robot walking. The major modication 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
53
Bibliography 54
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
.include "tpuregs.i"
AccFlagX: .DS 4
AccFlagY: .DS 4
accinit:
wait:
move.w hsrr1, d0
andi.w #0x3c00, d0
bne wait | wait until initialization complete
INTX:
| channel 5 interrupt handler
| flag variable as new X axis reading ready
A. Sensor Output 59
INTY:
| channel 6 interrupt handler
| flag variable as new Y axis reading ready
.globl accreadX
accreadX:
| read high time (channel 5) from the TPU parameter RAM
readokX:
clr.l d0 | new reading available
move.w ch5par5, d0 | return new reading
move.l #0x00, AccFlagX
A. Sensor Output 60
.globl accreadY
accreadY:
| read high time (channel6) from the TPU parameter RAM
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
1.2
0.8
0.6
Acceleration (g)
0.4
0.2
−0.2
−0.4
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