Biped Robot Report (1)
Transcript of Biped Robot Report (1)
-
Modelling and Control of a
Biped Robot
Model based Gait Trajectory Generation using a
Genetic Algorithm
Department of Control Engineering
8th Semester
Aalborg University 2007
-
A A L B O R G U N I V E R S I T Y
8th Semester
Section of Automation and Control
Department of Electronic Systems
Faculty of Engineering, Science and Medicine
Fredrik Bajers Vej 7 C3
DK-9220 Aalborg st
Denmark
Telephone +45 96 35 87 02
Fax +45 98 15 17 39
http://www.control.aau.dk/
Title:
Modelling and Control of a Biped Robot
Theme:
Modelling and Control
Period:
P8, Spring Semester 2007
Project group:
07gr830
Group members:
Rolf Christensen
Nikolaj Fogh
Rico Hjerm Hansen
Heine Hansen
Asger Malte Iversen
Mads Schmidt Jensen
Louis Schultz Lantow
Supervisor:
Jan Helbo
Copies: 9
Pages: 276
Attachments: Enclosed CD-ROM
Finished: 31st of May 2007
Synopsis:
Aalborg University is currently working on a full-scale
humanoid biped robot. To gain insight into modelling
and controlling a biped robot, this project explores
the possibility of obtaining static and dynamic walk
of a small-scale biped robot.
The project continues a previous project regarding
the same robot, where static walk was obtained. The
hardware on the robot is changed considerably. The
foot and sensor design is changed enabling more accu-
rate center of pressure measurements. Furthermore,
batteries and a microcontroller is mounted on the
robot to enable autonomy.
Models of the robot are derived using kinematics,
inverse kinematics, Newton-Euler iterations and La-
grangian mechanics. These models are used o-line
for generating gait trajectories for the robot to fol-
low. The gait trajectory generation uses a genetic
algorithm to minimize a performance function. By
tuning parameters in the performance function, it is
possible to control i.e. the range of motion of the
limbs, the torque used by the actuators and the speed
of the robot.
The Lagrangian model is simplied, and is thus
less computationally intensive than the Newton-Euler
model. Hence, it could be used on-line for a model-
based controller, but due to time constraints, this has
not been achieved. Instead, a classic control approach
is used consisting of a mid-range controller to stabi-
lize the robot during gait using the center of pressure
sensor feedback.
The acceptance test shows that the trajectories gen-
erated using the static and dynamic models enables
the robot to walk. Furthermore the principle of the
controller was veried but further tuning is needed
in order to achieve substantial improvements to the
stability.
-
A A L B O R G U N I V E R S I T Y
8. Semester
Sektion for Automation og kontrol
Institut for Elektroniske Systemer
Det Ingenir-, Natur-, og Sundheds-
videnskabelige Fakultet
Fredrik Bajers Vej 7 C3
DK-9220 Aalborg st
Danmark
Telefon +45 96 35 87 02
Fax +45 98 15 17 39
http://www.control.aau.dk/
Titel:
Modelling and Control of a Biped Robot
Tema:
Modellering og kontrol
Periode:
P8, Forrssemester 2007
Projektgruppe:
07gr830
Gruppemedlemmer:
Rolf Christensen
Nikolaj Fogh
Rico Hjerm Hansen
Heine Hansen
Asger Malte Iversen
Mads Schmidt Jensen
Louis Schultz Lantow
Vejleder:
Jan Helbo
Kopier: 9
Sider: 276
Bilag: Vedlagt CD-ROM
Frdiggjort: 31. Maj 2007
Synopsis:
Denne rapport omhandler modellering og kontrol af
en tobenet robot. Projektet er en videreudvikling
af et foregende projekt p samme robot, og resul-
taterne skal ses i et strre perspektiv i forbindelse med
Aalborg Universitets udvikling af en tobenet robot i
menneske strrelse.
Isenkrammet som var tilgngelig p robotten ved
projekt start er blevet markant ndret. En micro-
controller og batterier er blevet implementeret hvilket
muliggr fuldstndig autonomitet. Der er ogs kon-
strueret nye fdder til robotten for at f en mere pr-
cis mling af robottens trykcenter.
I dette projekt er robotten beskrevet matematisk ved
at udvikle en kinematisk, invers kinematisk, Newton-
Euler samt en Lagrange model. Disse modeller er
begrnset til at beskrive robotten nr den sttter p
en fod. Modellerne er blevet vericeret og har en pr-
cision der gr dem brugbare til trajektoriedannelse.
Trajektoriedannelsen er baseret p en genetisk algo-
ritme som minimerer en performance funktion. Ved
at justere parametre i denne performance funktion
er det muligt at bestemme f.eks. skridt lngde,
gang hastighed og moment leveret af servomotor-
erne. Dette trajektorie er fremadkoblingsdelen af
kontrolleren.
En simpliceret Lagrange model skulle gre det
muligt at implementere en modelbaseret on-line
regulator men grundet tidspres er dette ikke im-
plementeret. I stedet for er der benyttet klas-
sisk regulering ved at implementere en mid-range
tilbagekoblingsregulator, hvor denne regulator bruger
trykcentret som input.
Accepttesten viste at robotten var i stand til
at flge de udviklede trajektorier. Princippet
i tilbagekoblingsregulatoren virker efter hensigten,
men yderligere tuning er ndvendig for at opn bety-
delig forbedring af stabiliteten.
-
Preface
This report is written by group 07gr830 and documents a project concerning the mod-
elling and control of a biped robot. The project originates in the project proposal,
Modelling, Simulation and Control of a Biped Robot proposed by associate professor
Jan Helbo at Aalborg University.
The report and project is made at the Section of Automation and Control under the
Department of Electronic Systems at Aalborg University, and is composed during the
period from the 1
st
of February to the 31
st
of May 2007 under the theme Modelling
and Control.
For a complete understanding of the report a technical and scientic level correspond-
ing to that of 8
th
semester students at the Section of Automation and Control is required.
Literature references are written according to the Harvard-method: [Last name of au-
thor, year of publication]. If a literary work has more than two authors the rst author's
last name is written followed by et al.: [Last name of author et al., year of publication].
A complete bibliography is found at page 153.
References to appendices are enumerated as: App. A, B, etc., while attachments are
referred to with a number [1], [2], [3], etc. A list of the attachments can be found in
the section Appended Documents. The enclosed CD-ROM contains the attachments
of this report, including video clips of the biped robot.
Throughout the project, Matlab has been used for data processing, large symbolic
computations, and for presenting the results. Simulink has been used for implement-
ing and simulating the developed models, and for building the interface to the biped
robot. The version of Matlab used is 7.3.0.247 (R2006b) and the Simulink version is
6.5 (R2006b).
To help visualizing and verifying the developed models of the biped robot, and to aid
the design of control for the robot, the 3D CAD programs, Rhinoceros 4.0 and Autodesk
3ds Max 9.0, have been utilized.
The ServoPod
TM
microcontroller mounted on the biped robot is programmed using
the language IsoMax, version 0.82.
The report consists of 20 chapters and 10 appendices, which are structured into the six
following parts:
Part I is an introduction to the project. An overview is given of the context in which the
project should be viewed and contains a detailed description of the scope of this project.
It introduces the reader to some basic terminology and denitions regarding the area of
biped robots. Also, the specication of requirements is set up and the limitations are
specied.
Part II of the report will focus on a system description and the hardware congu-
ration of the biped robot. This part will describe the changes made to the hardware
and the reason why these changes have been made.
Part III concerns the mathematical modelling of the biped robot. This includes mod-
elling the servomotors, as well as making static and dynamic models for the biped robot.
Part IV of the report contains the development of a controller for the biped robot.
-
After an introductory analysis of controllers an inverse kinematic model of the robot is
developed and gait trajectories are generated. To improve the stability of the robot, a
feedback controller is also designed.
Part V is the closing part where the result from the acceptance test is discussed and
the conclusion of the project is made. Future improvements are also presented.
Part VI contains the appendices of the report, which contains further documentation
of the project. This includes a human gait analysis, documentation of the conducted
tests on the robot and hardware, information about the hardware installed on the biped
robot, documentation of the developed software; and lastly, the detailed calculations
done in the modelling part.
For easy reference, a nomenclature is appended as the second last appendix. This
briey describes the meaning of the used abbreviations and symbols, and contains the
values of the dierent constant. The general typographic convention of the report is
also described in this appendix.
The last appendix (last page) is a fold out page, which contains essential illustrations
of the robot, including the dierent coordinate systems used in the report. The page is
useful to have folded out for easy reference when reading the report.
Each part starts with a brief intro, describing the contents of the part, and each part
and every major chapter is concluded with a brief summary.
The report is copyrighted by the members of the group and Aalborg University. It
may be used freely provided that a distinct reference is made.
Aalborg University, 31st of May, 2007
Rolf Christensen Nikolaj Fogh
Rico Hjerm Hansen Heine Hansen
Asger Malte Iversen Mads Schmidt Jensen
Louis Schultz Lantow
-
Contents
I Introduction 1
1 The Context and Purpose of the Project 2
1.1 State of the Art in Biped Robotics . . . . . . . . . . . . . . . . . . . 2
1.2 The AAUBOT Project . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Studies to support the AAUBOT-1 Project . . . . . . . . . . . . . . 4
1.4 The Purpose of This Project . . . . . . . . . . . . . . . . . . . . . . . 4
2 Biped Terminology 5
2.1 Human Anatomy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Biped Mechanics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 The Scope of the Project 11
3.1 Review and Summary of the Work of Group 06gr833 . . . . . . . . . 11
3.2 Continuing the Work of Group 06gr833 . . . . . . . . . . . . . . . . . 13
3.3 Requirement Specication . . . . . . . . . . . . . . . . . . . . . . . . 16
II System Description and Conguration 19
4 System Description 20
5 Hardware 22
5.1 Changes to Existing Sensors and Actuators . . . . . . . . . . . . . . 23
5.2 Power Supply to the Biped Robot . . . . . . . . . . . . . . . . . . . . 26
5.3 Controlling the Biped Robot . . . . . . . . . . . . . . . . . . . . . . . 28
Part Summary 31
III Modelling 33
6 Modelling Strategy 34
7 Servomotor Model 36
8 Kinematic Model 38
8.1 Brief Description of Methods to Describe Kinematics . . . . . . . . . 38
8.2 Deriving the Kinematics of the Robot . . . . . . . . . . . . . . . . . 42
8.3 Verication of Kinematic Model . . . . . . . . . . . . . . . . . . . . . 47
8.4 The CoM of the Robot Using the Kinematic Model . . . . . . . . . . 47
8.5 Summary of the Kinematic Model . . . . . . . . . . . . . . . . . . . 49
9 Newton-Euler Based Dynamic Model 51
9.1 The Modelling Approach . . . . . . . . . . . . . . . . . . . . . . . . . 51
9.2 Deriving the Newtonian Model . . . . . . . . . . . . . . . . . . . . . 52
9.3 Verication of the Newton-Euler Model . . . . . . . . . . . . . . . . 59
-
10 Lagrangian Mechanics based Dynamic Model 66
10.1 Lagrangian Mechanics . . . . . . . . . . . . . . . . . . . . . . . . . . 67
10.2 Simplication of the Kinematics . . . . . . . . . . . . . . . . . . . . . 67
10.3 Energy Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . 71
10.4 The Lagrangian and the Ankle Torques . . . . . . . . . . . . . . . . 72
10.5 Verication of the Ankle Torques . . . . . . . . . . . . . . . . . . . . 80
Part Summary 86
IV Control 87
11 Introductory Analysis 88
12 Inverse Kinematics 92
12.1 Calculating the Inverse Kinematic Model . . . . . . . . . . . . . . . . 93
12.2 Verication of the Inverse Kinematic Model . . . . . . . . . . . . . . 97
13 Trajectories 100
13.1 Trajectory Criterias . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
13.2 Parameters Dening a Trajectory Set . . . . . . . . . . . . . . . . . . 105
13.3 Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
13.4 Minimizing Performance Function . . . . . . . . . . . . . . . . . . . . 107
13.5 Tuning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
13.6 Final Trajectories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
14 Force Measuring to CoP Position 117
14.1 The CoP Position based on Pressure Measurements . . . . . . . . . . 117
14.2 The CoP Position in DSP Phase . . . . . . . . . . . . . . . . . . . . 118
14.3 Verication of the CoP Mapping . . . . . . . . . . . . . . . . . . . . 120
15 ZMP Controller 122
15.1 Dening the Error Signal for the Controller . . . . . . . . . . . . . . 123
15.2 Controller Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
15.3 Testing the Designed Controllers . . . . . . . . . . . . . . . . . . . . 131
16 Trajectory Supervisor 134
Part Summary 137
V System Test and Summary 139
17 Acceptance Test 140
18 Conclusion 146
19 Discussion 148
20 Closing Statement 151
Bibliography 153
Appended Documents 155
-
VI Appendix 157
A Human Gait 158
B Test Scenario Description 164
C CoP Measurement Test 169
D Hardware and Robot Interfacing 174
D.1 Microcomputer Pin Assignment . . . . . . . . . . . . . . . . . . . . . 174
D.2 IsoMax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
D.3 Programming the ServoPod
TM
. . . . . . . . . . . . . . . . . . . . . 178
D.4 Interfacing With An External Computer . . . . . . . . . . . . . . . . 179
D.5 Servomotor Calibration . . . . . . . . . . . . . . . . . . . . . . . . . 183
D.6 Servomotor Performance Under Various Loads . . . . . . . . . . . . . 187
D.7 Robot Autonomy Hardware . . . . . . . . . . . . . . . . . . . . . . . 189
D.8 Accelerometer Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
D.9 Strain Gauge Measurements . . . . . . . . . . . . . . . . . . . . . . . 196
D.10 Print Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
D.11 Simulink Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
E Servomotor model 201
F The Newton-Euler Iterations 206
G Lagrange 216
G.1 Lagrange Model Simplications . . . . . . . . . . . . . . . . . . . . . 216
G.2 Determination of Kinetic- and Potential Energy . . . . . . . . . . . . 232
G.3 Moments of Inertia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
G.4 Computation of the Lagrangian, RL1
and RL2
. . . . . . . . . . . . 251
H Design of New Feet 262
I Nomenclature 264
I.1 Abbreviations and Acronyms . . . . . . . . . . . . . . . . . . . . . . 264
I.2 Typographic Representation of Quantities . . . . . . . . . . . . . . . 265
I.3 Descriptions of Variables . . . . . . . . . . . . . . . . . . . . . . . . . 266
I.4 Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
J Fold Out Page 276
-
Part I
Introduction
This part denes the scope of the project and explains important concepts and termi-
nology surrounding biped robots.
The rst chapter describes the context of the report in order to specify the area, in
which the purpose of this project lies.
In the second chapter, the basic terminology regarding human anatomy and biped me-
chanics are described as these terms will be used extensively to describe the biped robot
throughout the report. The terms are also required to describe the scope of the project.
Finally, the scope of the project is given in the third chapter, where the work already
done on the biped robot is described. This leads to a discussion on how this work is to
be continued. Finally, a number of accept test criteria are specied to test the robot
and to evaluate the project.
-
Chapter 1The Context and Purpose of the
Project
Research in the area of robotics started in the 20
th
century and has resulted in robots of
various types, many being a permanent part of today's industry. These robots perform
the jobs that are physically demanding, monotonous or even hazardous to human beings.
Also, they increase the work rate and the quality of products in places where factors
such as speed and accuracy are essential. Today, robots are found in almost all modern
assembly production lines.
Usually, these robots use a small set of xed movement patterns which limits their
possible interactions with the surroundings. Also, they are seldom in contact with
humans. Research concerning robots capable of functioning in normal human sur-
roundings and interacting with the human environment is still at an early stage. A
part of this research area includes the development of robots using bipedal locomo-
tion, i.e. walking on two legs, as these robots could function and perform tasks in
a human environment without adjusting the surroundings to them. Robots using
bipedal locomotion are called biped robots, and are often found within the class of
robots known as anthropomorphic robots. Anthropomorphic robots are humanoid
robots, where the appearance of the robot resemble that of a human. This is in
contrast to the industrial robot, which is simply dened as an automatically con-
trolled, reprogrammable, multipurpose manipulator programmable in three or more
axes [Inernational Organization for Standardization, 1994].
1.1 State of the Art in Biped Robotics
The rst full scale humanoid robot was made in 1973 by the Waseda University of
Tokyo [Humanoid Robotics Institute, 2007]. One of the rst companies to join the area
of anthropomorphic robot research was Honda with the release of their rst experimental
model, E0, in 1986. Honda continued developing robots based on this rst model and
is one of the leading companies in the area of humanoid robots today with the release
of their full scale humanoid robot ASIMO in 2000 [Honda, 2007]. The latest ASIMO
model has a height of 130cm and weighs 54kg, having a top walking speed of 2.7km/hand a top running speed of 6.0km/h. The E0 and ASIMO robots are seen in Fig. 1.1.
2
-
1.2. THE AAUBOT PROJECT 3
Figure 1.1: The rst model E0 and ASIMO from Honda.
In [Katic and Vukobratovic, 2003] it is stated that, in spite of the intensive develop-
ment and experimental verication of various humanoid robots, it is important to further
improve their capabilities by using advanced hardware and control software solutions to
make humanoid robots more autonomous, intelligent and adaptable to the environment
and humans. As a result, Aalborg University (AAU) has joined the research eld of
biped robots.
1.2 The AAUBOT Project
In the autumn of 2006 the AAUBOT robot group was founded at AAU with the task
of starting the development of human sized biped robots. This lead to the start of the
student project of constructing and controlling AAU's rst human sized biped robot,
AAUBOT-1 [www.aau-bot.aau.dk].
The mechanical design of the AAUBOT-1 is done as the master thesis of a 3 member
group from the Institute of Mechanical Engineering at AAU. The group began their
master thesis in September 2006 and have now completed the blueprints for the 180cm
tall AAUBOT-1 having 17 degrees of freedom. Currently, the AAUBOT-1 is at the
stage of construction, and is scheduled to take its rst steps in 2008. A sketch of the
AAUBOT-1 can be seen in Fig. 1.2 [www.aau-bot.dk].
Figure 1.2: The nal design of the AAUBOT-1 [www.aau-bot.dk].
-
4 CHAPTER 1. THE CONTEXT AND PURPOSE OF THE PROJECT
1.3 Studies to support the AAUBOT-1 Project
Hands-on experience and knowledge regarding control and gait design for biped robots
would be of great value to the development and implementation of the control part of
the AAUBOT-1. As a result, preliminary studies on small scale biped robots have been
conducted at AAU and new projects are currently running.
After a preliminary research in the area of biped robots done by a student group in
autumn 2005, AAU invested in a 29 cm tall small-scale biped robot. This was used
as the subject for an 8
th
semester project carried out by a 6 members group, 06gr833,
at the section of Automation and Control, AAU. The project treated subjects such as
modelling, simulation and control, which lead to a biped robot which was able to walk
slowly with a control algorithm to suppress disturbances whilst walking. In this report,
this robot is referred to as the pre-AAUBOT. See Fig. 1.3.
Figure 1.3: The 29 cm tall small-scale biped robot used as the subject for an 8
th
semester project in 2006. The robot is in this report named pre-AAUBOT.
Four members of group 06gr833 began their master thesis in autumn 2006, dealing
with the construction, modelling and control of another small-scale robot based on
their experiences from the former semester. This new and enhanced robot is called
Roberto. The project will be completed in the summer of 2007.
1.4 The Purpose of This Project
To obtain more knowledge about biped control strategies, this 8
th
semester project was
established, yielding the results given in this report. The project was also started with
the intentions of educating new students, us, in the terminology of biped robots to have
students ready to start development of a control strategy for the AAUBOT-1 in the
autumn of 2007.
This project continues the work on the pre-AAUBOT started by group 06gr833. Avail-
able for this project is the 29 cm high small scale biped robot bought in spring 2006,
along with all the developed hardware and documentation.
Before going into a more detailed description of the scope of this project, some basic
terminology and denitions regarding the area of biped robots need to be dened.
-
Chapter 2Biped Terminology
This chapter introduces the basic terminology used in the area of biped robotics. To
use intuitive terms, the terminology is based on human anatomy which is connected to
the description of biped robots. Afterwards the denitions of other key terms related
to biped robots are given.
2.1 Human Anatomy
This section contains a description of the planes in which human motion is described, a
model of the human joints and an analysis of human gait. This is done with reference
to [Wirhed, 2002].
2.1.1 Planes of Motion
Description of human body motion is done with respect to the anatomical position
depicted in Fig. 2.1. The anatomical position is the standing position with the face
turned straight forward and the arms hanging along the sides of the body with the
palms turned straight forward and the legs stretched with the feet close together.
Motions can be described from three perpendicular planes through the body. These
planes are depicted in Fig. 2.1, where a coordinate system is placed with the x-axispointing forward, the y-axis pointing to the left-hand side, and the z-axis pointingupwards. Using this coordinate system, the planes can be dened as:
Frontal plane:
The plane parallel to the yz-plane is called the frontal plane.
Median plane:
The plane parallel to the xz-plane and through the Center of Mass (CoM) is calledthe median plane. All planes parallel to the median plane are called sagittal planes.
Horizontal plane:
The plane parallel to the xy-plane is called the horizontal plane.
5
-
6 CHAPTER 2. BIPED TERMINOLOGY
Medianplane Frontalplane
Horizontalplane
y
z
CoM
Figure 2.1: The three planes of motion for a human being. The depicted person is
standing in anatomical position.
2.1.2 Joints
Dierent types of joints are located inside the human body where two bones are con-
nected. These joints can be modelled by mechanical joints. Only three joints are needed
to model the motion of human joints. These are illustrated in Fig. 2.2 and have the
following Degrees of Freedoms (DoF):
Hinge joints: These joints have one DoF and allow motion in one plane. The knee
joint is a example of a hinge joint.
Pivot joints: The pivot joints also have one DoF. The forearm is a example of a pivot
joint.
Ball-and-socket joints: The ball-and-socket joints have three DoF. These joints allow
rotation in three dimensions. The hip is a example of a ball-and-socket joint.
Figure 2.2: A sketch of the three joints necessary to describe the human joints.
From the left: the hinge joints, the pivot joint, and the ball-and-socket joint.
2.1.3 Walk Analysis
Describing human gait requires some specic terms, which are dened in this section.
The gait analysis is inspired from [Pickel, 2003] and [rts et al., 2006].
Double Support: This term is used for situations where a body has two isolated
contact surfaces with the ground. In human gait this situation occurs when the person
is supported by both feet.
-
2.2. BIPED MECHANICS 7
Single Support: This term is used for situations where a body only has one contact
surface with the ground. In human gait this situation occurs when a person is supporting
on only one foot.
Both double and single support situations are also valid for biped robots.
Trajectory: A trajectory is the path of a moving point in the three dimensional space.
In gait analysis, trajectories are used to describe the movement of a joint frame, relative
to the global frame, which is usually attached to the ground.
Gait Phases: The gait phases of normal dynamic walk consists of eight steps but
only four of them are dierent as the right and left leg executes the exact same motion
mirrored in the median plane delayed by half a gait cycle.
1. Release Phase: The innitesimal period of time when the toes of the rear foot
breaks contact with the ground.
2. Single Support Phase (SSP): The phase where only one foot has contact with the
ground and the other foot swings. Also the SSP is divided into two phases one
where the right foot is in contact with the ground (SSP-R) and one where the left
foot is in contact with the ground (SSP-L).
3. Impact Phase: The innitesimal period of time when the heel of the swinging foot
strikes the ground.
4. Double Support Phase (DSP): The phase where both feet have contact with the
ground. The DSP is divided in two phases, one where the weight is shifted from
the left to the right foot (DSP-L) and one where the weight is shifted from the
right to the left foot (DSP-R).
Thus, human walk can be described as a heel-strike-toe-o gait cycle. The four phases
are depicted in Fig. 2.3.
The average walking speed for a human is about 5km/h with a average step length of
approximately 0.72m these values are however heavily dependent on the height, weight,
age and sex of the human.
2.2 Biped Mechanics
The anatomical terms and concepts which have just been presented can be used to
describe biped robots. Still, some specic terms regarding biped mechanics have not
yet been explained. These terms are described in the following.
Zero position: The zero position of the biped robot can be seen in Fig. 2.4. It diers
a little from the anatomical position as the palms are facing into the sides of the torso.
Joint: A joint is a mechanical construction where two connected parts are able to
rotate relative to each other. There exist one mechanical joints which can model most
of the human joints, this is described in the following:
-
8 CHAPTER 2. BIPED TERMINOLOGY
Release
Impact
SSP-R
SSP-L
Impact
Release DSP-R
DSP-L
Right legLeft leg
1
2
3
4
Figure 2.3: The gait of a normal dynamic walk.
frontalviewoftherobot sagittalviewoftherobot
Figure 2.4: The zero position of the biped robot.
Revolute joint:
A revolute joint is a joint, where two connected parts rotate around a common axis.
One revolute joint can be used to construct both a hinge joint and a pivot joint.
The revolute joint has one DoF. A ball-and-socket joint and can be constructed
from three revolute joints thereby giving it three DoF.
Link: A link is a mechanical construction between two joints. When the biped robot
is in zero position the axis of rotation of each joint is parallel to the axes of the body
frame. This fact can be used to describe the joint rotations in the following way, where
the coordinate system refers to Fig. 2.1:
Roll:
A rotation around any axis parallel to the x-axis, when the biped is in zero position,i.e. a rotation in the frontal plane.
Pitch:
A rotation around any axis parallel to the y-axis, when the biped is in zero position,
-
2.2. BIPED MECHANICS 9
i.e. a rotation in the sagittal plane.
Yaw:
A rotation around any axis parallel to the z-axis, when the biped is in zero position,i.e. a rotation in the horizontal plane.
These descriptions of rotation in the zero position allows all joint motions to be described
uniquely, no matter what position the biped robot is in.
Polygon of Support (PoS) The PoS is the contact surface between the feet and
the ground. In the DSP the surface is the convex area spanned by the contact surfaces,
called the convex hull, which can be found by drawing straight lines from the outer rims
of each contact surface. In the SSP phase the PoS is equal to the contact surface of the
supporting foot. This is illustrated in Fig. 2.5.
(a)
rightfoot
rightfoot
leftfoot
(b)
Figure 2.5: Figure (a) illustrates the PoS in the SSP, and gure (b) the PoS in the
DSP.
Center of Pressure (CoP): The CoP is the point on the supporting surface of the
body where the total sum of the contact forces acts, causing a force but no moment.
When standing, the part of the body exerted by contact forces is the feet, where the
components of the contact forces acting normal to the sole of the supporting foot or
feet are called pressure forces [Sardin and Bessonnet, 2004]. An example of the CoP
location in SSP phase is seen in Fig. 2.6a.
body
CoP
ZMP
body
F F Fresulting presure force p,1 p,2= +
sole
(a) (b)
Fbody,1Fbody,2Fp,2
Fp,1
Fresulting force on the body
soletCoP=d -d 0lever arm 1 p,1 lever arm 2 p,2F F =
dlever arm 1 dlever arm 2
Figure 2.6: In (a) the resulting force is equal to the sum of the pressure forces Fp,1
and Fp,2
acting at the CoP. The CoP is the point on the sole of the foot, where the
net torque caused by pressure forces is equal to zero. In (b) the ZMP is the point on
the sole, where the forces acting on the body Fbody,1
and Fbody,2
results in zero net
torque.
-
10 CHAPTER 2. BIPED TERMINOLOGY
Where the CoP is related to contact forces, the ZMP is related to the forces acting on
the robot caused by gravity and its actuators.
Zero Moment Point (ZMP): The ZMP is the point on the surface where the sum
of all tipping moments due to gravitational and actuators generated forces are equal to
zero, where tipping moments are dened as the moments acting tangential to the contact
surface. If the supporting surface is horizontal, tipping moment are the moments causing
pitch and roll movement, but no yaw movement [Sardin and Bessonnet, 2004]. This is
illustrated in Fig. 2.6b.
Coincidence of the CoP and ZMP Location: As long as the contact forces appear
in a single planar surface the ZMP and CoP coincides [Sardin and Bessonnet, 2004].
This result is due to the fact that the vertical component of the resulting force caused
by gravitation and actuators acts at the ZMP. Thus, the ZMP must be the same point
as the CoP for the supporting foot to remain in equilibrium. Otherwise, the resulting
pressure force and the resulting vertical component of the gravitational and actuator
forces would apply moment to the foot, i.e. it would rotate, which is not the case.
Static walk: Static walk assumes that a biped robot is always statically stable. This
means that if the motion is stopped the biped robot will stay in a stable position. The
static walk speed is low meaning that the dynamics of the system can be ignored. When
this is done, the projection of the CoM on the horizontal plane is equal to the CoP and
in order to maintain static stability the CoM and CoP should lie within the PoS.
Dynamic walk: Dynamic walk is faster compared to static walk. In dynamic walk
the CoM is allowed to be outside the PoS for a limited time which means that the
biped robot will be statically unstable in the swinging phase just before the impact
phase. According to [Popovic and Sinkjaer, 2000], for a gait cycle to be called dynamic,
it requires the use of the heel-strike-toe-o technique described in Sec. 2.1. Human gait
is dynamic.
Pseudo-Dynamic walk: Due to the mechanical construction of the pre-AAUBOT
biped robot, i.e. large solid at feet and anatomically incorrect ankle joints, it cannot
use the heel-strike-toe-o gait technique, and thus it cannot realize real dynamic walk.
As a result, a pseudo-dynamic walk is dened in this project. The pseudo-dynamic takes
into account the dynamics of the robot as the CoM is allowed to be outside the PoS for
a limited time, making the biped robot statically unstable in the swinging phase just
before the impact phase. No requirements are made concerning the heel-strike-toe-o
technique.
There is not an absolute criterion that determines whether the pseudo-dynamic walk is
stable or not. However, if the biped robot has active ankle joints and always at least one
foot on the ground the ZMP can be used as a stability criterion [Cuevas et al., 2005]. As
long as the ZMP is inside the PoS, the pseudo-dynamic walk is considered dynamically
stable as the foot can control the posture of the biped robot. If the ZMP is outside the
PoS there is no resulting contact force acting on its foot, thus leaving the foot with no
control of the posture of the robot.
As opposed to static walk, a biped robot using pseudo-dynamic walk will not be static
when all motions are stopped but rotate around the ZMP.
Note that, henceforth, when using the term dynamic walk in the context of the biped
robot later in the report, it refers to pseudo-dynamic walk.
-
Chapter 3The Scope of the Project
As mentioned in Ch. 1, this project continues the work, [rts et al., 2006], done on the
pre-AAUBOT by group 06gr833 in the spring 2006. The purpose of this chapter is to
describe how the work is continued in this project.
The scope is explained by rst giving a brief review of [rts et al., 2006], and afterwards
dividing the tasks that will be performed in this project into parts.
3.1 Review and Summary of theWork of Group 06gr833
From group 06gr833, the following hardware and documentation have been obtained:
The report, Modelling and Control of a Biped Robot, referred to as [rts et al., 2006]. The pre-AAUBOT, see Fig. 1.3. A working hardware interface to the biped robot.
The group chose and bought the pre-AAUBOT robot from the company, Lynxmotion,
and did the project based on the problem: How is it possible to make a two legged robot
walk?
By reviewing their work it has been chosen to summarize it by dividing it into ve parts
and depict the parts in a owchart as seen in Fig.3.1. A description of the parts is given
below:
1: Description and Conguration of Robot:
Hardware: The group choose the robot, along with the actuators (servomotors) to
control the joints, and assembled it. Five accelerometers were mounted on the
robot, along with four pressure sensors on each foot. To control the servomotors,
servo drivers were mounted on the biped. No computer was mounted on the robot,
so control signals were sent to the drivers from an external PC using a serial cable.
Likewise, analogue data signals from sensors were sent to the PC through a cable,
where the signals were sampled and converted.
11
-
12 CHAPTER 3. THE SCOPE OF THE PROJECT
ModellingDescriptionand
ConfigurationofRobot
Newtonianmodel
Lagrangianmodel
Kinematicmodel
Inversekinematicmodel
TrajectoryGeneration
ControllerDesignandImplementation
Staticgaitdesign
Sensors
Humangaitexperiment
Servocontrol
InterfacingwiththeRobot
Verificationofmodels
Implementationofcontroller
Servomotormodel
Implementa-tionof
trajectories
Measurementsforfeedback:-CoP- Accelerationoftorso
Fuzzylogicbasedsmalldisturbance
CoMcontroller
Hardware
AcceptanceTest
Staticwalkwith
controller
Staticwalkwith
controller
Heavydisturbancecontroller
Staticwalk
Stablestandwith
controller
Stablestandwith
controller
SolidWorksmodeloftherobot
Assemblingtherobot
Figure 3.1: A owchart to summarize the work done in [rts et al., 2006].
SolidWorks Model: A complete 3D model of the biped robot (without wires, servo
drivers and sensors) was implemented in the 3D CAD program, SolidWorks. Using
this model, the dimensions, center of masses and inertia tensors of the robot were
calculated. These were used in the models of the robot. The SolidWorks model
was based on SolidWorks models of the individual parts of the robot, which were
available from the Lynxmotion web site.
Human gait experiment: To obtain data concerning dynamic walking, an experi-
ment was conducted, where the gait of a human, one of the group members, was
lmed from eight dierent angles. The recordings were converted into trajectories
of the toes, ankles, knees, hips, shoulders, elbows and wrists.
2: Modelling
Kinematic Model: A SSP complete kinematic model of the robot was created for
use in trajectory generation. It is based on the dimensions from the SolidWorks
model.
Inverse Kinematic Model: A SSP inverse kinematic model of the robot was created
for use in trajectory design.
Servo Motor Model: A servomotor model was developed, but was not used or veried
in the project.
Newtonian Model: A SSP newtonian model of the robot's mechanics was created. It
was only partly veried and were not used further in the project.
Lagranian Model: A reduced SSP Lagranian model of the mechanics of the robot,
including only the legs was created and suggestions to a DSP Lagranian model
was given. The reduced SSP model was only partly veried and were not used
further in the project.
-
3.2. CONTINUING THE WORK OF GROUP 06GR833 13
3: Trajectory Generation
Static gait design: A desired CoP trajectory was found, and at ve stances in a step,
the leg joint angles were manually adjusted to roughly t a gait phase yielding
the desired CoP position. The arms were used afterwards to ne tune the CoP
position. Given these ve postures in the gait cycle, trajectories for the robot
through the entire gait cycle were found by interpolation. Finally, the trajectories
were translated to joint angles using inverse kinematics.
4: Controller Design and Implementation
Fuzzy logic controller: A fuzzy logic controller was implemented to suppress small
disturbances, i.e. tuning the CoP position during walk and stand. The fuzzy logic
controller decided how the dierent limbs should react in dierent stages of the
walk. The feedback was based on CoP measurements.
Heavy disturbance controller: A heavy disturbance controller was implemented,
i.e. to avoid falling, e.g. when the robot is given a push. The controller works by
playing a dierent trajectory when it register a push that would otherwise result
in the robot falling over, for example taking a step backwards. The feedback was
based on acceleration measurements in the torso.
5: Acceptance Test
Stable stand with small disturbance controller: The robot was seemingly able to
stand and stretch the arms in the right direction when pushed to keep balance.
Stable stand with heavy disturbance controller: The robot was sometimes able
to avoid falling by taking a step, when pushed hard. The problem was a delay
before the step was taken.
Static walk: The robot was able to walk statically and maintaining its CoM in the
correct place. But the robot had a problem with lifting the non-supporting leg,
so at least one corner of the non-supporting foot always toughed the ground.
Static walk with small disturbance controller: The robot was seemingly able to
stretch the arms in the right direction to keep balance when walking.
Static walk with heavy disturbance controller: The robot was sometimes able to
avoid falling when pushed hard while walking. The problem was found in a delay
from the push to the controller actually reacted.
3.2 Continuing the Work of Group 06gr833
In this section, the scope and contents of this project is given in the perspective of
continuing the work of group 06gr833. The main objective of this project is given and
at the end it is described which parts of [rts et al., 2006] is used in this project.
-
14 CHAPTER 3. THE SCOPE OF THE PROJECT
3.2.1 The Main Objective
Overall, one of the most important objectives seen in respect to [rts et al., 2006] is
to actually use the dynamic Newton-Euler and Lagrangian models in the trajectory
generation and control. This is done by looking into design and implementation of
pseudo-dynamic walk of the biped robot. Instead of using the Ad-Hoc principle of
creating trajectories as used in [rts et al., 2006], it has been chosen to automate the
trajectory generation by implementing a genetic trajectory generation algorithm.
Thus, the main theme of this project is:
Design and implementation of both static and pseudo-dynamic walk on a
biped robot using a genetic algorithm for trajectory generation based on a
kinematic, an inverse kinematic and a dynamic model.
As a result, the objective in this project is to obtain the necessary models and create
the required hardware to implement and test the genetic algorithm.
A simplied owchart describing the contents of the project is given in Fig. 3.2. The
boxes in bold are results taken directly from [rts et al., 2006]. Boxes in dashed bold
lines are subjects inspired by [rts et al., 2006], but modied or redone. Boxes in thin
line are subjects done from the beginning and boxes in dashed line are subjects not
covered due to time constraints.
ModellingDescriptionand
configurationofrobot
Newtonianmodel
SimplifiedLagrangianmodel
Kinematicmodel
Inversekinematicmodel
Genetictrajec-torygeneration
Controllerdesignandimplenetation
Staticwalkdesign
Dynamicwalkdesign
Sensors
Mechanicaldescription
Servomotorcontrol
Interfacingwiththerobot
VerificationofModels
Implementationofcontroller
Hardwaremodifications
Servomotormodel
Implementa-tionof
trajectories
Measurementsforfeedback,
i.e.ZMP
CoMcontrollerdesign
ModelbasedcontrollerHardware
Acceptancetest
Staticwalktest
Dynamicwalktest
Staticwalktest
withcontroller
Dynamicwalktest
withcontroller
Simulationmodel
SolidWorksmodel
Humangaitanalysis
Humangaitexperiment
Figure 3.2: A owchart describing the ow of this project, giving the connecting
thread. The boxes in bold are results taken directly from [rts et al., 2006]. Boxes in
dashed bold lines are subjects inspired by [rts et al., 2006], but modied or redone.
Boxes in thin line are subjects done from the beginning and boxes in dashed line are
subjects not covered due to time constraints.
As seen in Fig. 3.2 only two things are used directly as described in [rts et al., 2006].
These are the SolidWorks models and the data from human gait experiment. The data
-
3.2. CONTINUING THE WORK OF GROUP 06GR833 15
from the human gait is, however, treated dierently to nd the joint angles during a
gait cycle, instead of showing the positions of the joints.
The hardware is also improved due to several problems stated in [rts et al., 2006].
Also, in [rts et al., 2006] the robot is dependent on an external computer and power
supply. As a result, it have been chosen to implement an on-board computer and power
supply to make it autonomous, i.e. independent of external hardware. Furthermore,
the pressure sensor are redone to obtain a better CoP measurement.
The reason for not directly using any of the models developed in [rts et al., 2006] is
because they have not been veried or because errors has been found during review.
These errors will be commented on when the respective subjects are treated in the
report. For now, a brief list of the errors are given, in order to justify the time used in
this project to develop the models again.
Errors in the Kinematic Model:
Errors in the kinematics of the Lagrangian model have been found. To make sure these
does not originate from the kinematic model, this is re-developed. An error has been
discovered in the transformation matrix
RA1RA2T which seems to originate in an incorrect
calculation of cos( 90) and sin( 90).Errors in the Newtonian Model:
The derivation of the Newtonian model is carried out correctly. The model was however
not implemented correctly in Simulink . The transformation from the supporting leg
to the free limbs is done using incorrect rotation matrices for the arms. Also, wrong
center of mass position constants were used for the supporting leg.
Errors in the Lagrangian Model:
The problem in the development of this model originates from describing the kinematics
of the legs incorrectly. Joint angles are added directly, even though the joint axis are
not always parallel, resulting in a substantial errors.
Errors in the Inverse Kinematic Model:
The errors in this model originate from a faulty approach. Consequently, most equations
in this model yields wrong angles. The problem is that the calculations are carried out
concerning two dimensions where it should have been carried out in three dimensions.
This leads to an increasing error as the posture of the robot moves away from the zero
position.
Further, a dierent approach is taken concerning the Lagrangian model, which is based
on simplifying the kinematics of the biped using the human gait analysis.
Concerning trajectory design, a genetic trajectory generation algorithm is designed and
implemented as already mentioned. The algorithm uses the kinematic model, the New-
tonian model, Lagrangian model and the inverse kinematic model.
Lastly, a controller is designed. It was intented, that the Lagrangian model should be
used to create a model-based controller, but this was not realized due to time constraints.
Instead, a controller is designed based on using the arms and legs in a mid-range con-
troller conguration. The controller is based on moving the CoM of the robot. The
controller uses the CoP measurement as the feedback signal.
It was intented to test the designed controller on an simulation model of the biped
robot, but due to in-adequate servo motor models, this could not be realized.
-
16 CHAPTER 3. THE SCOPE OF THE PROJECT
3.3 Requirement Specication
In order to determine whether the main objectives for this report have been achieved
a set of requirements is specied. As no metrics have been found regarding the perfor-
mance of the achieved gait in [rts et al., 2006], it is dicult to measure any improve-
ments. The criteria listed in this report are made from considerations on the abilities of
the servomotors, the construction of the biped robot, and its physical size. The criteria
are made measurable to the extent possible and thus enable a more clear acceptance
test in the end of the report. It also enables a list of further improvements on the biped
robot to be held up against the results achieved in this report.
The test set procedures and reason for the specications according to speed and step
length can be found in App.B. The test cases are divided into four scenarios, which are
summarized below.
The tests to verify these criteria are in such an order that the more simple tests are
veried rst. All the tests are conducted on a horizontal surface as the models made
have this as a prerequisite. The tests are documented with graphs in Ch. 17 and video
recordings which are on the enclosed CD [1].
Test Scenario One
The tests in the rst test scenario are made to validate if the robot can stand and
to validate if the robot follows the trajectories, with feedback control disabled and no
external disturbances.
1. Stand stable with no external disturbance and with the controller disabled.
2. Walk statically with no external disturbance and with the controller disabled.
Minimum speed of 0.2km/h 5.6cm/s. Minimum step length of 11.6cm. The swing foot must leave the ground completely. The projection of the CoM onto the supporting plane must be within thePoS during the whole gait cycle.
3. Walk pseudo-dynamically with no external disturbance and with the controller
disabled.
Minimum speed of 0.8km/h 22.4cm/s. Minimum step length of 11.6cm. The swing foot must leave the ground completely. The ZMP must be within the PoS during the whole gait cycle.
Test Scenario Two
The tests in the second test scenario are made to validate if the developed feedback
controller stabilizes the robot without external disturbance.
4. Walk statically with no external disturbance and with the controller enabled.
The CoP must be within 0.3cm of the CoP specied for the trajectory.
-
3.3. REQUIREMENT SPECIFICATION 17
5. Walk pseudo-dynamically with no external disturbance and with the controller
enabled.
The CoP must be within 0.3cm of the CoP specied for the trajectory.
Test Scenario Three
The tests in this test scenario are made to validate if the implemented feedback controller
is able to suppress external disturbances applied to the robot.
6. Stand stable with external disturbance and with the controller enabled.
The robot must have a reasonable response when a step is given in the ZMPreference.
The projection of the CoM onto the supporting plane must be within PoSfor disturbances up to 4N.
7. Walk statically with external disturbance and with the controller enabled.
The CoP must be within 0.5cm of the CoP specied for the trajectory.8. Walk pseudo-dynamically with external disturbance and with the controller en-
abled.
The CoP must be within 0.5cm of the CoP specied for the trajectory.
Test Scenario Four
The test in the last test scenario is made for demonstration purpose.
9. Walk autonomously without any wires attached.
3.3.1 Delimitation
The models only concerns the SSP, as a model of the DSP is comprehensive and too time
consuming to develop. It is assumed that the DSP can be approximated by the SSP as
the DSP only lasts for approximately 8% of the walking cycle cf. App. A. Thereforethe transitional phase from one single support phase to another single support phase is
disregarded in the models as it seems reasonable that these can still describe the dynamic
gait of the biped robot with such a relative short transition phase. The validity of this
assumption was veried in the Newton-Euler model described in Ch. 9. Therefore, the
DSP is not considered as a modelling problem. This entails that no controllers based
on a model for the double support phase are designed.
In [rts et al., 2006] a large disturbance controller were designed. The large disturbance
controller should make the robot choose an alternative trajectory during gait, if it was
given a large push, i.e. taking an extra step to avoid tumbling. The main scope of
this project is to improve the gait of the robot. As a result, only a small disturbance
controller is explored, thus implementation controllers that make the robot able to
withstanding pushes is not the main scope of the project.
Further this project is limited to modelling and control of the robot on a planar surface
with the gravitational acceleration as a normal.
-
Part II
System Description and
Conguration
In this part a description of the biped robot is presented. The rst chapter contain a
description of the robot. This include an introduction to the size, construction, materials
and limitations of the robot. This should give an overview of the physical capability of
the biped robot.
The second chapter introduces a list of suggested improvements proposed by the previous
group which worked on the robot. This list mainly contains problems related to the
physical design of the robot. This part will describe how this project will solve these
problems by improving the robot with new servomotors, a better construction and new
sensors. The new hardware mounted on the biped robot in order to achieve better
performance and add new possibilities that are available is also described in this part.
-
Chapter 4System Description
The biped robot used in this project is seen in Fig. 4.1. The legs and arms are an
assembly set of aluminum servomotor brackets. The body is made from Lexan. It
measures approximately 29 cm in height and has a mass of 2240 g. The actuators
consist of 20 servomotors resulting in 20 DoF. This chapter will list the most important
data describing the biped robot. A complete list is found in App. I.
The construction of the biped robot should resemble the human body in order to achieve
anthropomorphism and be able to perform human gait. But the design of the biped
robot dier in several ways from the human body. First of all the feet of the robot is
much larger than human feet compared to the size of the robot. This makes the robot
very stable but decreases its ability of perform a human like dynamic gait with heel-
strike-toe-o. All of the joints are comprised of servomotors that are revolute joints
with one DoF, as standard RC servomotors are used. This means that in order to
describe e.g. a hip which has three DoF, three joints are needed. The design of the
robot results in legs which do not have the ability to yaw as either the ankle nor either
hip is capable of yawing. This means that the robot is only capable of walking straight
forward. Moreover the design of the leg diers from that of a human in the fact that
the ankle has the same length as the shin.
As the servomotors have a 180
range, only one limb on the robot have insucient
freedom of movement to resemble a human joint. As the shoulder on a human being is
able to move more than 180
this link is limited by the construction of the robot. All
other links one the robot have a larger range of motion than that of a human.
20
-
21
Heig
ht:2
9.0
cm
Widthfeet:14.0cm
Heig
htle
gs:20.5
cm
Lengthfeet:12.6cm
Heig
ht:2
9.0
cm
Figure 4.1: Figure of the biped robot used in this project. An illustration showing
the joints of the robot is superimposed on the picture in the frontal view. This
illustration is used throughout the report to represent the robot.
-
Chapter 5Hardware
The assembly of the biped robot and the initial sensor conguration is documented in
[rts et al., 2006]. The initial sensor conguration consisted of ve accelerometers - one
in each wrist, one in each foot and one in the torso. Additionally, four force sensing
resistors were equipped on each foot. The actuators consisted of RC servomotors. The
robot was controlled by an external computer interfacing with Simulink via the xPC
toolbox and a National Instruments PCI-6024E data acquisition board. Preliminary
tests performed on the biped robot and [rts et al., 2006] identies several problems
with the hardware. The table below shows which of these have been solved.
Improved Problem
X 1. The xPC target experiences CPU overloads.
X 2. The ankle servomotors are too weak.
X 3. The servomotors have no angular position feedback.
X 4. The refresh-rate of the servomotors are too slow.
X 5. The robot begins wobbling after prolonged use due to poor
connection between servomotors and brackets.
X 6. The feet of the robot slides over the surface because of
the low friction.
X 7. The pressure sensors are too inaccurate to properly determine the
CoP and the characteristics experience much drift.
8. The feet are too big to easily perform dynamic walk.
X 9. A gyro could be added to measure angular acceleration of the torso.
X 10. The interface board could be made smaller by using a PCB.
This chapter will focus on the new hardware installed on the robot and the changes
done to existing hardware. In the rst part of this chapter, a discussion is given about
possible hardware changes to solve some of the problems stated in [rts et al., 2006].
Afterwards, a description of the new hardware installed and the reasons why is given.
22
-
5.1. CHANGES TO EXISTING SENSORS AND ACTUATORS 23
5.1 Changes to Existing Sensors and Actuators
This section discusses which improvements are made on the robot and what the results
of these improvements are. It was determined that the robot needed improved foot
force sensors to determine the CoP as this is essential in a controller situation. This
automatically lead to a redesign of the foot in order to t the new sensors. Furthermore
it was decided that feedback from the servomotors would be of great value as this could
be use in numerous situations. It was also decided to change certain parts on the robot
to minimize slack. Finally, the sampling board was replaced with a microcontroller, and
batteries were mounted on the robot in order to make it free of wires so it could walk
around freely. A switch was added to make it possible to use an external power supply.
5.1.1 xPC Target Experiences CPU Overloads
In this project the controller implementation is utilized with the same approach as
in [rts et al., 2006] meaning that the controller runs on a Simulink model from a
computer running xPC. As mentioned in [rts et al., 2006] a problem occurred with
CPU overload using the xPC, but as it has not been possible to determine what caused
CPU overloads no measures has been taken to avoid this problem. As no CPU overloads
has been experienced, this is not seen as a problem in this project.
5.1.2 Weak Ankle Servomotors
The actuators of the robot consist of 20 Hitec RC servomotors. Initially, 16 of the
servomotors, positioned in the arms, torso and legs, were of the type HS-645MG and 4,
positioned in the hands, were of the weaker type HS-475HB. In [rts et al., 2006] it was
discovered that the ankle servomotors were not strong enough to hold their positions
during a gait cycle. This resulted in large angle osets and a gait which swayed from
side to side when walking.
Solution
In [rts et al., 2006] it is suggested that an outer control loop could be implemented
to add integral control to the servomotors. However, adding a PI controller to the
loop will make the servo slower. This can be overcome by using a PID controller. All
of these solutions will require a tuning of the controller which will take time. As the
fundamental problem is due to the lack of torque given by the servomotors, the problem
is instead solved mechanically by replacing the weaker servomotors with a stronger type.
The old servomotors has a stall torque of 9.57 kg cm equal to around 0.9Nm and in[rts et al., 2006] it has been determined that the ankle servomotors experienced as
much as 2Nm. A new stronger servomotor is available from HiTec. The HS-5955TGhas a stall torque of 24 kg cm which is equal to 2.35 Nm. Additionally these newservomotors are faster than the old ones as they rotate with 400 /s whereas the oldones rotate with 333 /s. They also have a smaller dead band at 0.45 where the oldones have a dead band at 0.9. The dead band is a small angle in which the servomotordoes not correct an angle error which means that a smaller dead band is equal to less
slack in the whole system.
5.1.3 Joint Angular Position Sensors
Addition of feedback from the servomotors is discussed in [rts et al., 2006]. This feed-
back could be used both for verifying the model and to determine the position of the
robots limbs in a control situation.
-
24 CHAPTER 5. HARDWARE
Solution
Several possibilities are available for measuring the angular position of the servomotors.
Some of the possibilities are to attach rotary encoders, tachometers or potentiometers
to the shaft of the servomotors. As it is of great importance to keep everything as
small as possible, it would be less desirable to mount extra equipment on the robot.
Another possibility is to use the potentiometer already mounted internally in the RC
servomotors to measure the position of the servomotor. The feedback circuit in the
servomotor consists of a potentiometer connected to the shaft which changes resistance
according to the angle of the shaft. The circuit can be seen in Fig. 5.1. RC servomotors
does not give angular position feedback out of the box but this can be implemented
by adding a wire to measure the voltage over the potentiometer. The dashed line in
Fig. 5.1 shows where an external ADC measures the position of the servomotor. The
solution using the internal potentiometers is chosen, as it enables precise feedback from
the servomotors using only an ADC.
Vcc
GndMotor shaftGnd
100
To ADC To external ADC
4.7k
Figure 5.1: The servomotor ADC schematic. V
cc
is regulated to 3.3V
5.1.4 Refresh Rate of the Servomotors
As stated in [rts et al., 2006] the maximum refresh rate of the servos was 20Hz due to
the use of the serial communication with the servomotor controller boards. This slow
refresh rate resulted in vibrations during walk.
Solution
A standard RC servomotor is driven by a PWM signal at 50 Hz with a varying duty
cycle. However, it is tested that the update frequency can be set to 76Hz or even higher.Hence, the Servopod
TM
is congured to drive the servomotors with a PWM signal of
76Hz, which makes it possible to update the servomotor at 76Hz. This should result
in a smoother walk
5.1.5 Poor Connection between Servomotors and Brackets
The servomotors are attached to the robot with plastic rivets and the rotating part with
a plastic horn which is screwed together with thread forming screw. This attachment
has become increasingly wobbling with use.
Solution
Instead of plastic rivets the servomotors are bolted to the robot with metal bolts, a
metal washer and a self-tightening metal nut. This has two advantages: First o all the
servomotors are tightly fastened to the robot and secondly it should not become any
looser with time. Furthermore the plastic horns have been replaced with a metal horns
which is also tightened with a metal screw. This should all in all reduce the slack in the
robot.
-
5.1. CHANGES TO EXISTING SENSORS AND ACTUATORS 25
5.1.6 Foot Design and Force Sensors
Initially, four force sensing resistors (FSR) where mounted underneath each foot. Their
purpose was to measure the weight distribution of the robot. Several problems arose
with the initial sensor type and interface selection. First o all, this sensor type is not
very accurate. Furthermore, every time the robot took a step the two plates, which
constituted the sensor, was pushed sideways with respect to each other. This meant
that the sensor experienced a static change in characteristic. Yet another problem was
that the signal from the force sensor is lead to a board several meters from the sensor
next to other analogue and digital signals. This might have let to substantial noise.
The feet also had a very low friction coecient, which caused them to slide across the
surface during each step.
Solution
Alternatives to FSR include strain gauges and load cells. A load cell based force sensor is
dismissed because of the large size. Compared with a strain gauge, the FSR has a much
wider dynamic range: typically over a 0-3 kg force range. This large dynamic range is
not needed in this project, as the weight of the robot is low. Additionally, FSRs have
a much lower accuracy (typically 10%) [Fraden, 2004]. This lack in precision makesthem less than ideal for determining the CoP. Strain gauges will be used instead of
the FSR that were mounted from the beginning. Strain gauges are used to measure
stretch in materials. These devices are accurate (typically 2%) and can measure smallbending in the material it is mounted on [Fraden, 2004]. The strain gauge is less than a
millimetre thin and can easily be mounted on the feet of the robot without giving any
constraints to the movement of the robot. The sensor consists of a thin metal wire that
is enclosed in a ll layer. When the strain gauge is extended, the wire will become longer
and therefore the resistance in the wire will change. This change can be measured and
maps to the amount the material is bent or stretched. The use of strain gauges instead
of FSR have resulted in a new foot design that can be found in App. H. This design
also makes it possible to determine a more precise attack point of the force measured
by each sensor compared with the old design. The problem with sliding is also resolved,
as the new feet has a larger static friction.
The strain gauges are mounted in a set-up called a Wheatstone bridge, See gure 5.2
on the following page for schematic of the bridge. This set-up overcomes two problems
arising with using strain gauges. One problem is that the output of a strain gauge drifts
if the temperature changes. This will normally happen because of the current that
run through the strain gauges. In this set-up each strain gauge is equally inuenced
by the temperature drift and thus reduce this problem. Furthermore this set-up also
overcomes drift caused by the expansion and contraction of the metal, due to changing
temperatures, to which the strain gauge is adhered to. The Wheatstone bridge measures
the dierence in resistance between the strain gauge pair, i.e. how much the upper side
of the metal is longer than the lower side. This conguration eectively doubles the
output of the circuit and eliminates temperature drift [Fraden, 2004].
Furthermore the signal from the Wheatstone bridge is converted into a digital signal at
the foot and transferred via a serial bus (SPI) to the microcontroller attached at the
torso. This should reduce the noise from other PWM and power lines running alongside
the strain gauge signals, and result in a more accurate measurement.
-
26 CHAPTER 5. HARDWARE
a
b
(a)
R3
R4
R2
+
-ADC
R1
+
-
b
Strain gauges
a
(b)
Figure 5.2: Figure (a) shows the placement of the paired strain gauges where it is
seen that strain gauge `a' is lengthened whilst strain gauge `b' is shortened when the
beam is bended down. In gure (b) the electrical curcuit of the Wheatstone bridge
is showed.
5.2 Power Supply to the Biped Robot
It is attempted to keep the weight of the biped robot as low as possible to keep the
stress on the servomotors as low as possible. At the same time it is desirable to keep
the robot without wires to the surroundings. This meant that a microcontroller was
installed on the biped robot and that it should have the possibility to be driven by
batteries. Thus, some considerations have been made upon how to make the electrical
system on the robot.
All servomotors are supplied with 6V. The HS-645MG servomotors have a stall currentdraw of about 1.5A while the HS-475HBs have a stall current draw of 1.1A and the HS-5955TGs have a stall current draw of about 4.2A [Hitec, 2006] [rts et al., 2006]. Themicrocomputer draws about 0.5A. Hence, the maximum current draw is approximately:
4 1.1A+ 12 1.5A+ 4 4.2A+ 0.5A = 39.7A (5.1)Fortunately, it is very unlikely that all servomotors stall at the same time. Testing has
shown that, on average, the robot draws around 5A when walking. Currents of morethan 10A has only been experienced when the HS-5995TG servomotors have been stuck,and thus stalled. To avoid that a stuck servomotor permanently damages the robot, but
sucient current is available to the servomotors during normal operation, it has been
chosen to make the power supply system capable of supplying a continuous current up
to 10A, but not more than that. The power supply schematic is seen in Fig. 5.3. Thefuse ensures that the current draw does not exceed 10A.
Battery orexternal source
Regulator
RegulatorRegulatorSwitch
MCU Power
Servo Power Switch8.4V6V
Fuse
6VVservo
Decoupling diode + Auxiliarysupply
3.3VVdd
5VUnused
CapacitorDecoupling
5.8VVcc
Servo supply
Microcontroller
Figure 5.3: Power supply circuit at the biped robot which regulate the unregulated
supply voltage to 6V to the servomotors and 3.3V to the microcontroller.
In order to keep the weight as low as possible the electrical system is constructed so only
one battery is necessary. The battery used is a Lithium-Ion type, supplying 7.4V and
-
5.2. POWER SUPPLY TO THE BIPED ROBOT 27
1600mAh. With a discharge current of 5A, this translates to 1.6Ah/5A 20minutes.This gure, however, is optimistic, as the voltage across the battery will decrease as the
battery is discharged, causing the microcontroller to reset. A test have been conducted
where a fully charged battery was powering the robot during a normal gait cycle. The
battery lasted for approximately 5 minutes. The battery is capable of delivering 20Aof continuous current.
The voltage regulator ensures that Vservo
does not exceed 6 V. It is obtained fromLynxmotion inc. The regulator used is rated at 10A continuous and 20A peak current.Two switches are added to be able to switch o the servomotors and microcontroller
individually.
The microcontroller board input voltage is rated at 6V and includes voltage regulatorsof its own dropping the voltage to 5V and 3.3V (Vdd
) for supplying the digital circuits.
To avoid having to add further external voltage regulators for supplying the auxiliary
sensor circuits, they are supplied from Vdd
. This, however, yields further strain on the
on-board regulators, which must be accounted for. The following thermal considerations
show that it is possible to supply both the microcontroller and the auxiliary circuits:
The total current draw of the microcontroller plus auxiliary circuits is just below 0.5A,which is the maximum rated amperage of the voltage regulators. The 5 V regulatormust dissipate (6 V 5 V) 0.5 A = 0.5 W and the 3.3 V regulator must dissipate(5V 3.3V) 0.5A = 0.85W. According to the voltage regulator data sheets, this givesa maximal permissible ambient temperature of 125 C 0.85W 65 C/W = 70 C,which is not expected to be experienced.
A voltage drop will occur when large currents are suddenly drawn from the power supply.
For example, this happens when the servomotors are switched on. Tests have shown
that the microcontroller will only reset when Vcc
drops below 4.5V. This is because the5V rail is unused by the ServoPodTM logic, which uses Vdd
exclusively. Hence, the 5Vrail is allowed to drop below 5V without causing erroneous behaviour.
A measurement of a voltage drop when the servomotor power is turned on with both
battery supply and external power supply is seen in Fig. 5.4. With the battery supply,
Vcc
never drops below 4.5 V, so the microcontroller will not reset. This, of course,changes as the battery is discharged, but it is not considered a problem, as the robot
will always use fully recharged batteries when walking autonomously.
To remedy the voltage drop when the robot is supplied using a separate power supply,
a capacitor can be used as a temporary power source. Vservo
and Vcc
are decoupled by a
decoupling diode that ensures that current cannot ow from the microcontroller power
circuit to the servomotor power circuit. The decoupling diode ensures that the charge
stored in the decoupling capacitors ows to the microcontroller and not the servomotors.
This way, only the servomotors will experience the voltage drop. The diode is a Schottky
diode to make the current drop across it low.
The size of the capacitor can be calculated using the formula for the current of a capac-
itor:
I = CdV
dt[A ] (5.2)
The voltage drop of the diode at a current draw of 0.5A is 0.3V. This gives the maximalpermissible voltage drop as 6V 0.3V 4.5V = 1.2V. The duration of voltage dropsthat have been measured have all been within 25ms. Assuming that voltage drops doesnot have a duration of more than this, the minimal capacitance needed is:
-
28 CHAPTER 5. HARDWARE
C =25ms 0.5A
1.2V= 10416uF (5.3)
0 5 10 15 20 25 30 35 40
4
6
8
10
X: 5Y: 4.525
X: 13.22Y: 4.51Vo
ltage
[V]
Voltage drop with power supply
0 5 10 15 20 25 30 35 400
2
4
6
8
10
X: 17.32Y: 5.217
Time [ms]
Volta
ge [V
]
Voltage drop with battery
Figure 5.4: A voltage drop caused by the sudden current draw from the servomotors.
The solid line is the voltage at the power source while the dashed line is Vcc
. The
tooltips in the topmost graph, show the times at which the voltage supplied by
the external power supply drops below the permissible level. The tooltip in the
bottommost graph shows the minimum voltage experienced with battery supplied
power.
A capacitor of this size would be too large to be mounted on the robot, so it is decided
to have a separate supply for the microcontroller when the robot is running from an
external power supply.
The robot can be powered using the power supply from [rts et al., 2006] when the
robot does not need to be fully autonomous. This supply can deliver 4.5 A. This isinsucient for delivering enough current for the walking phase, but is sucient for
testing purposes. A supply capable of delivering more current can be used instead of
batteries during gait cycles lasting more than 5 minutes.
5.3 Controlling the Biped Robot
The movement of the biped robot is controlled with 20 servomotors which position
the limbs of the robot. All of these servomotors need a PWM signal which rotate
the servomotors depending on the duty cycle. Besides the 20 servomotor signals 16 of
these servomotors has a feedback signal which measure the angle of the servomotor.
Furthermore six accelerometers are placed on the robot which delivers 18 signals with
information about the acceleration of the legs, hands and the torso in three dimensions.
A gyroscope is also placed in the torso which measures angular velocity in two planes.
Finally each foot has four strain gauge signals delivering information about the CoP of
the robot. All in all this is 64 signals which is either control signals or sensor signals
which should all be processed by the microcontroller. Several microcontroller boards
-
5.3. CONTROLLING THE BIPED ROBOT 29
were considered, including a Lynxmotion Mini Atom Bot Board and SSC-32 Servo
Controller, a Liab nanoLiab and New Micros ServoPod
TM
. Because of the immediate
availability and the ease of interfacing with servomotors and sensors, the ServoPod
TM
was chosen see App.D.7 for discussion of microcontrollers. This section will discuss how
this microcontroller is used in this project and how it communicates with the sensors
and actuators on the robot.
Gathering Sensor Signals
The sensor signals is gathered in two dierent ways depending on where the sensor is
placed on the robot and depending on the noise sensitivity of the signal. An ADC with
a serial peripheral interface (SPI) is placed on each foot, each arm and in the torso.
But these ADCs only have eight channels which is not enough for all the sensor signals,
thus the rest of the sensors is connected directly to the ADCs in the ServoPod
TM
. SPI
is a master/slave based full duplex communication protocol which allows for several
slaves to be connected to the same serial line with dierent chip select signals to the
slaves. The communication starts with the master asking the slave for data and the
slave simply sent back the data. In order to get the twelve bit value from the slave,
three bytes needs to be sent each way. These three bytes, which are sent from master to
slave and from slave to master, is depicted in Fig.5.5. The information sent from master
to slave is a bit selecting between dierential or single ended operation (sgl/di) and
three bits selecting one of the eight channels on the ADC. The data from the slave is a
start bit and the twelve bit ADC value from the sensors. Before sending the rst byte
to the slave the slave needs to be chip selected. This chip select is active low and need
to be asserted from before the rst byte is send until the last byte has been received.
sgl/diff D20 0 0 0 0 0
D1 D0 X X X X X X
X X X X X XXX
? ? ? ? ? ? ? ?
? ? ? 0 B11B10 B9 B8
B3 B2 B1 B0B4B5B6B7
Send From Master Received From SlaveFirst Byte
Second Byte
Third Byte
Figure 5.5: This gure shows the three bytes needed to be sent from the
ServoPod
TM
in order to get the twelve bit ADC value via SPI. SGL/DIFF chooses
between Single Ended or Dierential operation of the ADC. D0 to D2 is the bit
choosing between the eight channels on the ADC and B0 to B11 is the twelve bit
ADC value from the ADC.
5.3.1 Microcontroller Programs
Two dierent congurations have been developed in this project which can be uploaded
to the ServoPod
TM
depending on which situation the robot is used in. The IsoMax code
can be found at [2].
In one conguration the robot is able to walk without any wires attached at all. A
battery supplies the robot and the microcomputer simply plays back some predened
trajectory. The program routine is executed at 76Hz which is the fastest possible update
frequency of the servomotors when using s 76Hz PWM frequency.
In the second conguration the robot is connected to a PC running xPC with a RS232
-
30 CHAPTER 5. HARDWARE
cable. The function of the ServoPod
TM
in this situation is to gather sensor signals from
the numerous sensors on the robot and send this data to the Simulink controller running
on the xPC target PC. This PC is running a controller and sends back the actuator
signals to the ServoPod
TM
which nally sends the actuator signals to the respective
servomotors. A ow chart of the program is seen in Fig. 5.6.
Receive Sersor Signals
Mean the Sensor Signals
380Hz
Send Sensor Signals To Simulink Via RS232
Receive PWMSignal From External Computer Via RS232
Send PWM Signals To Actuators
76Hz
Figure 5.6: Flow chart of the program when the ServoPod
TM
is congured with
the second conguration.
As seen in Fig. 5.6 two state-machines are created in this routine. One state-machine
gathers sensor signals at 380 Hz. This sampling frequency is due to the anti-aliasing
lter implemented which has a cut o frequency of 156Hz. This means that the sample
frequency should be at least 312Hz. As the servomotors is updated at 76Hz and due to
the way Isomax is structured the sample frequency is chosen as ve times 76Hz equal
to 380Hz. The second state-machine performs several tasks. It means the ve samples
from the sensors, sends this data to the Simulink controller running on the PC, receive
the new actuator signals from the Simulink and send this to the respective servomotors.
This routine is executed at 76Hz as mentioned earlier as this is the maximum update
frequency.
-
Part Summary
This part describes the construction and dimensions of the biped robot and the hardware
changes which have been carried out on the robot.
The rst chapter gives an description of the physical aspects of the robot. The second
chapter describes the suggestions made in [rts et al., 2006] to hardware improvements
and document which improvements have been realized in this project. One result is a
new design of the feet, including new sensors which enable a more precise calculation of
the CoP. This is done by replacing the force sensitive resistors from the original design
with strain gauges. To make the robot fully autonomous, and to reduce the noise in
sensor signals, a microcontroller has been placed on the robot to gather and process
signals before they are sent to on-line processing on an external pc. Noise reduction
is achieved using SPI interface on the microcontroller to communicate with ADC's
distributed on the robot body. The result of this solution is that every signals which
have a long signal path is converted into a digital signal thus reducing noise from other
analogue signals.
In order to keep the weight, as well as the physical size, as small as possible all boards
on the robot are made with SMD components on PCB boards. Furthermore, the in-
terface to the servomotors has been changed, so they are controlled directly by PWM
generators on the microcontroller. The addition of the microcontroller also enables dif-
ferent congurations of the robot. It can be congured as stand-alone where it simply
plays back some predened trajectory, or it can be congured to be connected to a host
computer via a serial cable and the host computer is then used to process the received
signals.
A computer running the Matlab environment xPC is used as a host computer in
order to have an easy interface to Simulink. The reason for using Simulink is the
easy implementation of controllers, compared to implementing the controller on the
microcontroller. Additionally, a gyroscope is added in the torso for measuring angular
velocities.
The four servomotors in the ankle have been changed to a new type which can deliver
a higher torque. The refresh rate of the servomotors has been increased from 20Hz to
76Hz which will enable a more smooth gait and ensure a better basis for the development
of a controller.
31
-
Part III
Modelling
In this part a mathematical model of the biped robot is developed. By splitting the
model into several sub-models, which are modelled independently, the complexity of the
modelling procedure is reduced.
An actuator model is created, i.e. a model of the servomotors powering the robot,
which describe their kinematics and thereby giving the option of designing control for
the actuators. Tests are conducted on the servomotors to identify their parameters.
A forward kinematic model of the mechanics of robot is developed rigorously, including
a model to determine the CoM of the robot. The kinematic model also creates the
necessary framework for developing the rest of the models and discussing the mechanics
of the robot.
The kinematic model lead to the development of two dynamic models of the biped
robot. These are developed by the means of the method of First Principle, where
the principles and laws of physics are used to determine the dynamics of the system.
The rst dynamic model, the Newton-Euler, is b