Biped Robot Report (1)

286
7/15/2019 Biped Robot Report (1) http://slidepdf.com/reader/full/biped-robot-report-1 1/286

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