84
A Linear Inverted Pendulum Walk Implemented on TUlip ing. S.J. van Dalen D&C 2012.015 Master’s thesis Coach(es): ir. P. van Zutven 1 Supervisor: prof. dr. H. Nijmeijer 1 Committee: prof. dr. ir. P.P. Jonker 2 dr. D. Kosti´ c Msc 3 dr. ir. J.H. Sandee 4 1 Eindhoven University of Technology Department Mechanical Engineering Dynamics and Control Group 2 Delft University of Technology Mechanical, Maritime and Materials Engineering Biomedical Engineering 3 Segula Technologies NL BV, Eindhoven 4 Eindhoven University of Technology Department Mechanical Engineering Control Systems Technology Eindhoven, April, 2012

ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

A Linear Inverted PendulumWalk Implemented on TUlip

ing. S.J. van Dalen

D&C 2012.015

Master’s thesis

Coach(es): ir. P. van Zutven1

Supervisor: prof. dr. H. Nijmeijer1

Committee: prof. dr. ir. P.P. Jonker2

dr. D. Kostic Msc3

dr. ir. J.H. Sandee4

1 Eindhoven University of TechnologyDepartment Mechanical EngineeringDynamics and Control Group

2 Delft University of TechnologyMechanical, Maritime and Materials EngineeringBiomedical Engineering

3 Segula Technologies NL BV, Eindhoven

4 Eindhoven University of TechnologyDepartment Mechanical EngineeringControl Systems Technology

Eindhoven, April, 2012

Page 2: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

ii

Page 3: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

Summary

The human body and its motion have been an inspiring research area for artists, engineers enscientists throughout history. They all try to copy or even improve the human kinematics and tomimic the human motions. In humanoid robotics one of the most interesting research areas isbipedal locomotion.

One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It isbased on an inverted pendulum model of human walking, which is one of the simplest models usedin human kinetic to describe the change in kinematic and potential energy. The inverted pendulummotion gives a good view of the trajectory of the Center of Mass (CoM) of the human body. Byadding a constraint that fixes the motion of the CoM in a horizontal plane, a linear dynamic modelcan be derived, that describes a trajectory for the CoM suitable for bipedal walking.

In this thesis a trajectory planner using the 3D-LIPM is designed to let the humanoid robotTUlip of Eindhoven University of Technology walk. It exists of a head, two arms and two legs. Eachleg has six joints that are driven by DC motors. TUlip is modeled as a multi body system withrigid bodies and revolute joints. The model is described by forward kinematics and Jacobians. Forsimulation purposes the model is implemented in Simulink.

The input for the model of TUlip is given by a trajectory planner. In this thesis a trajectoryplanner is designed that plans a trajectory for the CoM and the swing foot of TUlip. The trajectoriesconsist of several phases. Each phase has a start position and a desired end position, a point-to-pointinterpolation function plans a path between those points. The 3D-LIPM describes the motion in x-and y-direction during full steps, a Bezier curve describes the motion of lifting the swing foot andall other paths are planned by a cosine velocity profile. An inverse kinematics algorithm convertsthe trajectory of the CoM and swing foot to joint trajectories.

In a dynamic simulation it is shown that the designed 3D-LIPM trajectory planner is capable ofletting TUlip walk. Even with disturbances such as mismatch in the CoM position or an unevenground surface. The same trajectory is converted into C++ and implemented on the real TUlip.During experiments the tracking errors in the different joints are significant larger than duringsimulation.

iii

Page 4: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

iv

Page 5: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

Samenvatting

Humanoid robotica is een van de meest interessante onderzoeksgebieden waar het voortbewegenop twee benen word onderzocht. In de litteratuur, zijn veel wetenschappelijke artikelen te vindendie een bepaalde strategie van lopen met twee benen beschrijven. Deze strategieën zijn ontwikkeldvoor zowel actieve als passieve tweebenige robots, in dit afstudeerproject ligt de focus op de actiefaangedreven loop strategieën.

Een van deze strategieën is het lopen volgens het 3D Omgekeerde Linear Slinger Model (3DLinear Inverted Pendulum Model; 3D-LIPM). Het 3D-LIPM modelleert het menselijk been als eenomgekeerde slinger en is het eenvoudigste model dat de verandering van de kinematische en poten-tiële energie beschrijft. De omgekeerde slinger beweging geeft ook een goed inzicht op de baan vanhet lichaamszwaartepunt. Doormiddel van de bewegingsruimte van het zwaartepunt te beperkenen het alleen in een horizontaal vlak kan bewegen, kan een lineair dynamisch model worden afge-leid. De oplossing van dit dynamisch model beschrijft een traject voor het lichaamszwaartepunt datgeschikt is om een tweebenige robot te laten lopen.

In dit proefschrift is een pad-planner ontworpen om de menselijke robot van de Technische Uni-versiteit Eindhoven (TUlip) volgens het 3D-LIPM te laten lopen. TUlip bestaat uit een hoofd, tweearmen en twee benen. Elke been heeft zes gewrichten die worden aangedreven door gelijkstroom-motoren. TUlip is in dit verslag gemodelleerd als een multi-body systeem met starre lichamen enuitsluitend roterende gewrichten. Het model wordt beschreven door voorwaartse kinematica en eengeometrische Jacobiaan. Voor simulatie doeleinden is het model geïmplementeerd in Simulink.

De input van het model zijn de door een pad-planner gegenereerde gewrichts paden. In ditproefschrift wordt deze pad-planner ontworpen. Deze plant een beweging voor het lichaamszwaar-tepunt en voor de voet van het swing been. Het ontworpen pad bestaat uit verschillende fasen.Elke fase heeft een beginpositie en een gewenste eindpositie, doormiddel van een point-to-pointinterpolatie functie worden deze posities aan elkaar verbonden met een vloeiend beweging. De3D-LIPM beschrijft de beweging in de x- en y-richting van het totale lichaamszwaartepunt bij devolledige stappen, een Bezier-kromme beschrijft de beweging van het optillen van de swing voeten alle andere bewegingen zijn verbonden door een cosinus snelheidsprofiel. Vervolgens conver-teert een omgekeerde kinematica algoritme het pad van het zwaartepunt en de swing voet naargewrichtspadden.

In een dynamische simulatie wordt aangetoond dat de ontworpen 3D-LIPM pad-planner in staatis om TUlip te laten lopen. Zelfs met verstoringen, zoals het niet gelijk liggen van het zwaartepuntvan TUlip in de pad-planner en het model of een ongelijke ondergrond. Dezelfde pad-planner isomgezet in C++ en geïmplementeerd op de echte TUlip. Tijdens experimenten kom naar vorendat er grote volgfouten onstanden in verschillende gewrchten. Naar alle waarschijnlijkheid heeft demechanische gesteldheid en ontwerp hier een grote invloed op.

v

Page 6: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

vi

Page 7: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

Preface

This thesis is the outcome of a master’s project carried out within the Dynamics and Control Tech-nology group at the Mechanical Engineering faculty of the Eindhoven University of Technology,Eindhoven, the Netherlands.

First of all I would like to thank my supervisor ir. Pieter van Zutven, for his guidance and will-ingness to help during the project. For the supervision during the project I would like to thankProf. Dr. Henk Nijmeijer. Also I would like to thank Dr. Dragan Kostic who supervised the projectin the first months. Furthermore, I would like to thank all the members of the humanoid team ofTechUnited, formally known as team EINDroid. They gave advice on several problems and made itpossible for me to use and program on TUlip. But they also made it possible to join the RoboCupin Istanbul, where great progress was made. Finally, I would like to thank my colleagues from theHumanoid Robotics lab: Richard Kooijman and Tim Assman.

Eindhoven, April, 2012Swan van Dalen

vii

Page 8: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

viii

Page 9: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

Contents

Summary iii

Samenvatting v

Preface vii

1 Introduction 11.1 Humanoid Robotics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3 Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Literature Study 32.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.2 Powered walking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.2.1 Zero-Moment point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.2.2 Momentum control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2.3 Foot Placement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.3 Hybrid walking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.3.1 Hybrid zero Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3 A 3D Linear Inverted Pendulum 153.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.2 3D Linear Inverted Pendulum mode . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.2.1 3D Inverted Pendulum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.2.2 3D Linear Inverted Pendulum and Zero-Moment Point . . . . . . . . . . . . . 16

3.3 Inverted Pendulum Walking Generation . . . . . . . . . . . . . . . . . . . . . . . . . 183.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4 Modeling of TUlip 214.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214.2 Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

4.2.1 Jacobian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234.3 Modeling TUlip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254.4 Ground Contact Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294.5 Dynamic Model in SimMechanics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

ix

Page 10: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

5 3D-LIPM Trajectory Planning 335.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335.2 Trajectory Phases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

5.2.1 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365.2.2 Phase 1: Start Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365.2.3 Phase 2: Move CoM to Right Leg . . . . . . . . . . . . . . . . . . . . . . . . . 365.2.4 Phase 3: First Swing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375.2.5 Phase 4: Double Stance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375.2.6 Phases 5 and 6: Full Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385.2.7 Phase 7: Half Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395.2.8 Phase 8: Stopping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

5.3 Inverse Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

6 Simulations 436.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436.2 Straight Line Walking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436.3 Robustness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

6.3.1 Varying Masses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476.3.2 Add Obstacles To The Floor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

6.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

7 Experiments 537.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537.2 Trajectory following . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

7.2.1 Joint angles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537.2.2 Center of Mass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

7.3 Contact forces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

8 Conclusions and Recommendations 598.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598.2 Recommendations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

A Forward kinematic matrix 61

B Photos of the joints 65

x

Page 11: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

Chapter 1

Introduction

1.1 Humanoid Robotics

Throughout history, the human body and mind have inspired artists, engineers and scientists. Thefield of Humanoid Robotics focuses on the creation of robots that are directly inspired by the humancapabilities. These robots usually share similar kinematics with humans, as well as similar sensingand behavior. The motivations that have driven the development of humanoid robots vary widely.For example, humanoid robots have been developed to operate in a human environment with itsobstacles, as entertainers and as psychology test-beds [35].

Human environments have been designed to accommodate human form and behavior. Manyimportant everyday objects fit in a person’s hand and are light enough to transport conveniently.Tables and doors are designed for human sizes. Also mobility is a human aspect interesting forhumanoid robotics, since it is very difficult to create a tall wheeled robot with a small footprint thatis capable of walking up stairs and moving over rough terrain. In other words, robots with legscan potentially move in the same environment as humans, such as industrial plants, households,offices and hospitals.

Today humanoid robots come in a variety of shapes and sizes that emulate different aspects ofhuman form and behavior, because the motivation of developing humanoid robots varies widely.One of the most noticeable variation in humanoid robots is the presence or absence of certain bodyparts. In some humanoid robots the focus only lies on the head and face, where in others a headand arms are mounted on a wheeled base and again others focus only on the Bipedal Locomotion.

The Dynamics and Control Group of the Eindhoven University of Technology is active to createbipedal humanoid robots. As a part of this research, the humanoid robot TUlip is made. The hu-manoid robot TUlip has been developed four years ago by DutchRobotics, which is a collaborationof the three technical universities in the Netherlands and Philips. Since its birth, each partner hasadopted their own version of TUlip [48]. At TU/e, this robot is used by the humanoid team ofTechUnited. The robot has two legs and the focus is to walk in a similar way as humans. Bipedallocomotion (walking on two legs) is a very challenging problem, since multiple degrees of freedomof the robot need to be controlled in a coordinated fashion to maintain the robot balanced duringwalking. In the case of the robot TUlip, twelve degrees of freedom need to be controlled simulta-neously (each leg contains six revolute joints). In the past, many different control strategies havebeen developed in order to let a humanoid robot perform stable walking. We mention a few: zeromoment point (ZMP) and center of pressure (CoP), foot rotation indicator (FRI), fictitious zero

1

Page 12: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

moment point, capture points, foot placement estimator, controlled symmetries, and virtual holo-nomic constraints. The basic principles behind these methods are different, but eventually they allrely on solving a nonlinear constrained optimization problem. The given strategies design a fullgait for bipedal walking or are used to find and restore the balance of a legged robot. Obviously thisproduces different gaits in terms of walking speed and energy consumption.

1.2 Objectives

In this master’s thesis the focus is on implementing a full 3D walking strategy for humanoid robotsin simulation and in practice for the humanoid robot TUlip. This is done by comparing existingwalking strategies in literature, with comparison criteria such as: walking speed, energy consump-tion, computational intensity, implementation feasibility. One of the found strategies should beimplemented in a 3D simulation environment and later implemented on TUlip to verify its practi-cal applicability. The main objectives of this assignment are therefore:

1. review currently used walking strategies in a literature study,

2. test the most appealing walking strategies in an existing 3D dynamical simulation of hu-manoid robot TUlip,

3. verify application of at least one walking strategy in an experiment on the real humanoid robotTUlip.

A 3D dynamical model of TUlip is available in Matlab and SimMechanics. In the frameworkof the project, a walking strategy should be applied in simulation and the resulting stable walkinggaits should be tested on robustness. Finally, the walking strategy should be verified in real experi-ments on TUlip. This humanoid robot is programmed in the C++ programming language, whichrequires programming skills. Programming assistance is offered within the humanoid roboticsteam EINDroid. Furthermore the robot is a mechanical device and needs to be maintained dur-ing for example experiments this requires mechanical skills. Mechanical and electrical assistanceis also offered within the team EINDroid. If needed some parts of the robot might be upgradedduring the course of this project.

1.3 Outline

The outline of this thesis is as follows. In Chapter 2 an overview of different bipedal walking strate-gies is given. The chapter is divided in powered walking strategies and hybrid walking strategies. Atthe end of the chapter a discussion decides which strategy is best suitable and most interesting forfurther research. In Chapter 3, the 3D-LIPM walking strategy is explained in detail. The dynamicmodel is derived and the solution in x- and y-motions are computed. Chapter 4 deals with themodeling of the humanoid robot TUlip. First the mathematical theory is explained after which it isapplied on TUlip. In Chapter 5, the 3D-LIPM trajectory planner is designed. The trajectory planneris derived in different phases which are described independently, also an Inverse kinemematic algo-rithm is explained. The algorithm is used to converted the trajectory of the CoM and swing foot intojoint trajectories. In Chapter 6, simulations are carried out. The simulations carried out are normalstraight walking, but also robustness test like varying the masses or adding obstacles on the floor.In Chapter 7 the designed trajectory planner is implemented on the real TUlip and experiments arecarried out. Finally, in Chapter 8 a conclusion is given.

2

Page 13: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

Chapter 2

Literature Study

2.1 Introduction

As already said the variety of humanoid robots is large and still gets larger. This thesis will focusesmainly on bipedal humanoid robots and a variety of walking strategies. In this chapter an overviewis given of the used walking strategies for biped robots that are found in literature. Walking strate-gies for a humanoid robot, often called bipedal locomotion, are a key research topic in humanoidrobotics. Bipedal humanoid locomotion is a challenging topic because it deals with highly non-linear, under-actuated complex systems with numerous degrees of freedom (DoF). Therefore muchresearch has been done in the last couple of decades and still is going on, to control and analyzebipedal gaits.

The literature overview is used to get an overview of the walking strategies and its key properties.Also it is used to select one strategies for further research. To make a good comparison, a couple ofcriteria have been listed:

• Off- or online trajectory planning: Is a pre-described trajectory needed or does the algorithmdetermine the next step/position/state in real-time?

• Theoretical soundness: Is the algorithm theoretically well founded or is it based on vagueassumptions?

• Can correct unbalanced states: Is the algorithm able to return or proceed to a stable state ifthe biped looses its balance?

• Proven in 3D environment: The algorithm has been shown to work in a 3-D environment.This can be a real robot but also a simulation.

• Need full understanding of dynamics: The algorithm needs a full description of the robotsdynamics, like the masses of the links separately but also the distance from a base point tothe CoM for each link.

• Energy efficiency: How energy efficient is the walking movement? Does it require permanentmotor actuation and what is the power needed to perform a motion.

• Humanlike walking: Is the walking pattern humanlike? Humanlike walking possesses acertain amount of passive motion.

• Computing power: Is a lot of computing power needed to execute the algorithm? For examplecomputing the inverse of a Jacobian matrix.

3

Page 14: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

Literature is roughly divided into 2 categories: powered walking and passive walking [43]. Pow-ered walking is based on walking with actuation using motors. Research is mainly led by Japaneseresearch groups [16] [21]. The powered walking strategies are treated in Chapter 2.2. Passive walk-ing is walking without actuated motors but only due to gravity. This can off course only be achievedfor walking down a gentle slope. Interest in this field has been increased after the research fromMcGeer [24] in the late 1980’s. In this review passive walking is not treated. Instead, a categorythat tries to mimic passive walking is discussed, so called hybrid walking [43]. In hybrid walking,Chapter 2.3, an actuator provides only energy that can’t be generated by gravity, while walking ona flat surface, compared to walking on a downhill slope. Finally, one strategy is chosen for furtherimplementation in a simulation environment.

2.2 Powered walking

2.2.1 Zero-Moment point

Throughout the last couple of years many powered bipedal robots have been developed. Somefamous examples of such biped robots are: Asimo from Honda [16], HRP-3 from AIST [21], KHR-3also called HUBO from KAIST [28] and Nao from Aldebaran-Robotics [12]. The control of poweredrobots is mainly based on an accurate model of the dynamics of the robot. Most of the robotsuse the Zero-Moment Point (ZMP) to maintain their balance. The ZMP was originally defined byVukobratovic and Juricic in [42] as follows:

“As the load has the same sign all over the surface, it can be reduced to the resultant force FP , the pointof attack which will be in the boundaries of the foot. Let the point on the surface of the foot, where theresultant FP passes, be donated as the Zero-Moment point”.

Figure 2.1: Forces and moments acting on a rigid foot with a flat sole; fully supported by thefloor [7]

The ground reaction force FP and reaction moment MP are acting on a point P as shown inFigure 2.1. Point P is such that the horizontal component of the moment is equal to zero. Therefore

4

Page 15: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

(a) both feet support (b) right foot is touching theground with toe

(c) single foot support

Figure 2.2: The support polygon in three typical cases, the feet are represented by rectanglesand the support polygon as the shaded area. Contact points with the ground are represented asblack dots, while no contact as white.

Vukobratovic [40] says the ZMP is a point on the foot sole where (2.1) holds [40].

Mx = My = 0 (2.1)

where Mx and My are the moments acting around the x- and y-axis of the foot respectively.According to above definition, the ZMP has to stay within a certain boundary. In robotics lit-

erature this boundary is often called the support polygon or convex hull. In order to maintain thebiped balanced, point P has to lie within the support polygon. In Figure 2.2 three different areasfor the support polygon are shown. If point P lies within the support polygon and the biped is inbalance, the ZMP coincides with the Center of Pressure (CoP), see Figure 2.3 [40]. The CoP is thepoint on the foot sole where the pressure forces of the total foot are equivalent to a single resultantforce. In the case the support polygon is not large enough and point P lies outside the polygon,the ZMP does not exists and the CoP lies on the edge of the foot, see Figure 2.3(c). The remaininguncompensated moments result in a rotation around the edge of the foot. In case point P whichfulfills (2.1) lies outside the support polygon it is called a Fictitious Zero-Moment Point (FZMP)[40], [46].

In [9] and [10] Goswami presented the notion of the Foot Rotation Indicator (FRI). The FRI isdefined as a point on the foot/ground surface, within or outside the support polygon, where thenet ground reaction force would have to react to keep the foot stationary. The FRI can be seen as“generalization” of the ZMP and FZMP with the additional capability to give information about the“amount” of unbalance with respect to the dynamically balanced mechanism [41].

From above it becomes clear that if the ZMP or FRI stays within the support polygon, the bipedis in balance. In literature several methods appear that use the ZMP criterion to generate a stablewalking trajectory. According to Kuffner et al. [22] motion planning algorithms can be divided intotwo approaches:

• State-space formulation

• Decoupled approach

The Inverted Pendulum Method (IPM) is a frequently used method based on the first approach, seeFigure 2.4. It is also often noted as 3D Linear Inverted Pendulum method (3D-LIPM) presented by

5

Page 16: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

(a) Dynamically balanced case (b) Tiptoe dynamic balance (c) Unbalanced case where theZMP does not exist and the groundreaction force acting point is CoPwhile the point where Mx = 0 andMy = 0 is outside the support poly-gon (FZMP)

Figure 2.3: Possible relation between ZMP and CoP for a foot [40]

Kajita et al. in [19]. The IPM uses the dynamics of an inverted pendulum with one mass that movesalong an arbitrary defined plane in a 3D environment, to generate a walking motion. The InvertedPendulum is a simplified model for trajectory generation, so for biped robots with relatively heavylegs it can result in a large error in the ZMP projection, because it standard uses massless legs.To reduce this error several variations have been developed, a few examples [15]: Virtual HeightInverted Pendulum Method (VHIPM) which can significantly reduce the ZMP-error by adjustingthe height in the inverted pendulum [15], the Two Masses Inverted Pendulum Method (TMIPM)consists of a robot model with two masses, one mass characterizes the torso and the second massthe swing leg [1], Multiple Masses Inverted Pendulum Method (MMIPM) is based on a model withseveral masses. One mass models the torso and an arbitrary number of masses is used to modelthe swing leg [27] and Gravity Compensated Inverted Pendulum Method (GCIPM) which includesthe effect of the free leg motion dynamics [29].

Methods using the second approach solve the motion planning by first computing a kinematicpath, and subsequently transforming the path into a dynamic trajectory [22]. Methods using thisapproach are for example:

• Full Body Posture Goals [22]

• Walking Primitives [8]

• Momentum control (See section 2.2.2) [18]

Full body posture goal is a method that selects a possible configuration of the robot that is collisionfree and complies with the ZMP criterion. It selects the postures in advance of the movementto achieve a certain goal. Using a randomized path planning technique a final path of postureconfigurations is found. In Figure 2.5 a block diagram of the major software components is shown.The method has been implemented on a real biped robot from the University of Tokyo and KawadaIndustries inc. named H6.

The walking primitive method generates a database of walking primitives, such as making a stepwith the left leg with a distance L. All the primitives are computed offline and stored in a database [7].An optimization algorithm connects the stored walking primitives and makes an optimal trajectory

6

Page 17: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

Figure 2.4: Biped Linear Inverted Pendulum

Figure 2.5: Block diagram of the major softwarecomponents for the body posture goal algorithm[22]

of the links taking into account several constraints. Example of such constraint is keeping the stancefoot on the ground at all time.

2.2.2 Momentum control

Different human movements like standing, walking and running, support conservation of total an-gular momentum about the body’s center-of-mass (CoM) [30]. Popovic et.al. [30] studied humanwalking motion in depth and observed very small angular momentum values in straight line walk-ing during a single walking cycle. Based on this observation, they proposed that walking is regulatedto have Zero Spin (ZS) angular momentum about the center of mass (CoM). ZS means that bothangular momentum and its time derivative are regulated to remain close to zero [47]. In robotics,researchers have found ways to control the angular momentum. This can increase controller ro-bustness and lead to coordinated motions for humanoid robots. Most of these researches use themethod presented by Kajita et.al. [18]. Kajita presented a method of feedback control to regulate thelinear and angular momentum of the center of mass (CoM), which he called Resolved MomentumControl. The total momentum of a mechanism like a humanoid robot in 3-D space, is a vector ofsix elements describing the motion of the entire robot. Since the linear momentum vector has alinear relationship with the CoM velocity vector, it is possible to calculate the velocity for a desiredmomentum.

The resolved momentum control method is evaluated on a real 3D humanoid robot HRP-2.According to the paper of Kajita [18] a kicking movement and a walking movement are performed.The linear momentum is controlled by a feedback controller to be close to the reference linearmomentum. The desired angular momentum is controlled to be at zero. Besides the referencevelocity of the CoM, the velocity of the stance and swing foot needs to be described. For exampleduring walking one foot is on the ground so the velocity of that foot is zero. In this way a couple ofsequences can be described and performed by the humanoid robot.

In [23] Lee and Goswami presented a new method to maintain balance of humanoid robots.They define the desired rates of change of linear and angular momenta that are necessary to main-tain balance, and subsequently compute their admissible values under the constraints of groundfriction and foot contact maintenance. Finally inverse kinematics is used to compute torques andto generate the admissible momenta rate changes.

7

Page 18: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

2.2.3 Foot Placement

When a human or biped robot endures a push force and the ZMP is not inside the support polygon,it has to take some actions to recover its balance and avoid a fall. Such a force can occur for exampleif the biped bumps into an object or trips over a rock. Possible actions are to move the trunk orarms, but if the the force of the push is too large the human and/or robot has to take a step toavoid falling. For humans this is a natural reflex, but for biped robots this is a difficult task. In[31] a method is introduced to compute the capture points and the capture region and it has beenimplemented on a 3D humanoid robot named M2V2 [32]. A Capture Point is a point on the groundwhere the robot has to step in order to bring itself to a complete stop. A Capture Region is thecollection of all Capture Points.

However, to determine the action a robot has to take to recover its balance is difficult, becausea humanoid biped robot is high-dimensional and non-linear. Therefore Pratt et al [31] developedan algorithm based on a linear inverted pendulum plus flywheel (LIPPF). The flywheel is added tomodel the possible angular momentum of the trunk and arms. The developed algorithm for thesimplified LIPPF-model can also be implemented on an actual robot, because it is not critical thatthe feet are placed absolutely precise. In addition, large feet and internal inertia provide more con-trol opportunities to correct for imprecise foot placement [31]. But as always a model and especiallya simplified model as the LIPPF can result in an error. Small errors in modeling parameters maylead to significant errors in predicting the desired stepping location. In [33] Rebula et al. show amethod for computing Capture Points by learning offsets to the Capture Points predicted by theLIPPF-Model. Learning where to step in order to recover from a disturbance is a promising ap-proach that does not require sophisticated modeling, accurate physical parameter measurements,or overly constraining limitations on the walking control system [33].

The Capture point recovery principle is not always suitable. For example, if a very big pushoccurs, the capture point will be very far which means a big step is needed to recover its balance.However the step size of a biped robot can be limited by its physical reach, and the biped has tomake more steps to recover its balance.

Another push recovery method is the Foot Placement Estimator (FPE) which is introduced byWight et.al. [45] as a method to determine the location where the biped must step in order torestore balance in a single step. The method is proven using a simple biped model (the stick man)with massless legs. Also it is assumed that the terrain is flat and leveled. Taking these assumptionsinto account the main idea of the FPE can be stated as:

“The angle between the legs should ensure that after impact the sum of kinetic and potential energy isequal to the maximal possible potential energy”, [2].

If the biped takes a short step, the angle between the legs is small, the kinetic energy exceeds thepotential energy and the robot will fall forward. If the biped step is long, the kinetic energy afterimpact is less than the potential energy so the biped falls back again and remains stable. In thecase the biped steps at the FPE point the biped comes to rest at a balanced but unstable equilibriumpoint. See Figure 2.6 drawings.

The position of the FPE point is the projection of the CoM to the walking surface with angle φ,see Figure 2.6. The angle φ can be found numerically. But if the projection of that point is outsidethe physical limits of the biped, then it can be stopped over multiple steps.

If the biped steps in front of the FPE point it will return to a stable state. But if it steps at the FPEpoint it comes in an unstable equilibrium point. If the kinetic energy of the biped is slightly higherthan the maximal potential energy, the biped leaves the stable state and is forced to take another

8

Page 19: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

Figure 2.6: The projection of the angle φ from the CoM to the walking surface is the locationof the FPE. This projection is used as a tracking reference for the swing foot until impact. [45]

step to restore its balance. By forcing the biped to take another step, a gait cycle takes place. If anactuator keeps adding energy, the biped starts to walk. To stop walking, the foot of the biped mustbe placed at the FPE to stop in a stable state or slightly further to return to a double supported stablestance, see Figure 2.6.

The control of FPE itself is only shown for a 2D biped robot in simulation. It is suggested byWight et.al. [45], it could compliment a ZMP approach for when the biped becomes unbalancedand the ZMP can no longer provide useful information. In a poster from Millard et.al. [25] a 3Dversion of the FPE, the 3DFPE is introduced. In [25] an inverted pendulum [19] is used as a modelfor the biped robot but the principle is based on the 2D FPE from [45].

2.3 Hybrid walking

In the late 80’s McGeer [24] built a four-link planar passive walker and performed a detailed stabilityanalysis on it. In Passive walking, gravitation alone powers the walking motion down an inclinedsurface and mimics a “natural walking look”. Goswami et.al. [11] studied the so called Compass GaitBiped, a two degree-of-freedom (DOF) robot that can achieve passive locomotion only by gravity, seeFigure 2.7.

In [37] Spong showed, for a fully actuated 2D Compass Gait Biped, that the passive limit cyclefrom Goswami et.al. [11] can be made slope independent by a passivity based nonlinear controller.If it is assumed that the Compass Gait Biped has a perfectly inelastic collision at foot contact, thenan instantaneous change in angular velocity results in a loss of kinetic energy while the angularmomentum is conserved. If the velocities equal the initial velocities and the loss of kinetic energyis equal to the change in potential energy, a limit cycle occurs. In [37] the change of the potentialenergy due to the ground slope is controlled via potential energy shaping controllers. The controller

9

Page 20: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

Figure 2.7: Model of the compass gait biped

in this context only needs the initial condition that belongs to a specified slope and adds the sameamount of energy to the system as gravity would do on a slope. Using the control law of [37] and thestatement that the velocity change due to the impact of the swing leg and ground is invariant underthe slope changing action, Spong et.al. [38] shows that any limit-cycle that exist for a passive walkerfor a certain slope can be reproduced by active control.

Motivated by the 2D passive walker, Collins et.al. [6] extended the 2D case from above into a 3Dcase. The 3D passive walker preserves features of McGeer´s two-dimensional walker, like knees andgravitational power. By adding curved feet, a compliant heel and mechanically constrained arms, ahumanlike stable motion was achieved.

2.3.1 Hybrid zero Dynamics

Normal human walking can be seen as a periodic cycle of motion, actuated by both gravity andmuscle forces. To do the same movements on a biped robot it is inevitably to describe the postureor configuration of the robot throughout a step [43]. To express the desired step motion mathe-matically, a set of constraints is needed. These constraints are holonomic constraints and can bephysical constraints but also virtual constraints. Physical constraints can be mechanical constraintsbetween the links e.g. maximum reachable angle for a joint. Virtual constraints are relations amongthe links of the mechanics that are dynamically imposed through feedback control. For example thehips always have to be vertically above the stance ankle. Their function is to coordinate the evolu-tion of the various links throughout a step with the goal to achieve a closed-loop mechanism thatnaturally gives rise to a desired periodic motion [4].

Since walking can be viewed as a periodic movement, the method of Poincaré sections is the nat-ural means to study asymptotic stability of a walking cycle. Grizzle et.al. [13] extended the method tosystems with impulsive effects due to impact. In [13] the holonomic virtual constraints are combinedwith the concept of hybrid zero dynamics. Zero dynamics are those dynamics that are imposed onthe system when its output is constrained to remain equal to zero for all times, by proper choice ofthe input and of the initial conditions [3]. Hybrid zero dynamics do take discontinuities into account,which occur during the impact of the foot with the ground. The zero dynamics model describes thesystem dynamics mathematically. Parameter optimization is used to tune the hybrid zero dynamicsin order to achieve closed-loop, exponentially stable walking with low energy consumption, whilemeeting natural kinematic and dynamic constraints [44].

The proposed walking strategy is designed for a 2D biped robot with n-degrees of freedom andis applied to a real robot called RABBIT. In [14], Grizzle et al. use an extended method of virtualconstraints and hybrid zero dynamics, to make it compatible with 3D dynamics.

10

Page 21: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

2.4 Discussion

In this review several strategies for biped walking have been addressed and briefly explained. Thebasic principle behind these strategies are different, but they all rely on solving a nonlinear con-strained optimization problem to find suitable and stable walking gaits. Different walking gaits havedifferent characteristics and to choose the most appealing ones for in-depth research they have to becompared. At the beginning of this literature review a list of evaluation criteria was given. Duringthe explanation of the various walking strategies, most of these criteria were mentioned. Here wesummarize the main findings.

The ZMP is a widely used term in humanoid robotics, because it gives sound information aboutthe bipeds balance. If the criteria for the ZMP are fully fulfilled the biped is guaranteed balanced.However if the ZMP is violated it gives no information about how to restore the balance. The ZMPis described both online and offline, in both cases it is well understood theoretically and practicallyverified on state-of-the-art robots. To apply the full ZMP criteria, full knowledge of the biped systemis needed e.g. locations of the CoM of each link, inertias etc. Fortunately the simplified car-tablemodel which uses only the total CoM position, is proven to have sufficient accuracy in many cases.To apply the ZMP gaits typically a fully actuated robot is needed. The drawback of this strategy isthat the gaits are not energy efficient. The perception of the humanlikeness of the ZMP strategyis open, Wabian walks for example humanlike. Computational power can be a strong point of theZMP, really if it directly measures the CoP (CoP = ZMP if balanced) using foot sensors, this makesit fast and cheap.

Most criteria applied for ZMP also holds for the FZMP and the FRI. According to literature thatmention FZMP and FRI it can be used to indicate how much unbalance there is and in whichdirection a correction is needed to correct the unbalance.

The Linear inverted pendulum (LIP) strategy is used both on- and offline to design a controllerand/or gait. The difference with the ZMP is that the LIP maintains its balance and the ZMP is justa criteria that needs to be hold to be balanced. The LIP is theoretically sound and fully explainedin various papers with equations of motions and simulations. In literature no method is found torecover a bipeds balance using the LIP. The real appeal of the LIP is, like the car-table model, it usesthe general CoM. This means it is an approximation, but in literature it is proven by simulationsand experiments to be sufficient in most cases. If the LIP is not precise enough various extensionsexists, which obviously need more information of the biped. The motion is obviously based on thedynamics of an inverted pendulum, so it uses natural force e.g. gravity, as actuation, which makesit energy efficient. The human walk also is partly based on using gravitational forces as actuation,which makes the LIP humanlike. In theory no extra actuation has to be added, except if the motionis different than a natural inverted pendulum.

The walking primitive strategy generates offline a database of walking sequences. The theory be-hind can be and often is very complicated and different, therefore full understanding of the systemis needed. The database is stored on the biped and executed by a feedback controller. Because itis stored in advance it is not robust against unbalance, therefore it requires a perfect tracking ofthe gait. In literature it is proven by a 3D simulation, but a lot of computing power was neededto optimize the gait. This is accepted because it is generated offline. Also because it is generatedoffline it can be optimized to look humanlike.

11

Page 22: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

Momentum control is introduced for online gait control and recovering balance on rugged ter-rain and to recover from push forces. Momentum Control is based on theoretical foundation andin theory it should be able to recover from unbalanced states. In literature it is proven in 3D experi-ments by specific movements like kicking and straight walking; push recovery is only shown in theplanar case. For Momentum Control full understanding of the system is needed and a significantamount of computation power, which is a drawback. The capability of Momentum Control for pushrecovery and walking on rugged terrain makes it a humanlike strategy.

The capture point (CP) and Foot placement estimator (FPE) are meant for online gait synthe-ses and for recovering from unbalanced states. The drawback is that the theory is based on verysimplified models of the robot, like one mass models of the robot. However this also makes thecomputation cheap. In literature it is also shown for a 2D biped with telescopic legs and a flywheelon the top. The masses of the robot should be close to the CoM otherwise it is a challenge to com-pute the FPE and CP. In literature FPE is proven by 2D simulations and CP by 3D experimentalresults. If the approximated models matched close the robot, the gait will be very energy efficient,since it evolves along the homogeneous solution low external input is needed.

The compass gait is a strategy based on a downhill walking passive biped, and is therefore con-trolled online. The goal of the controller is to stay on the limit cycle that occurred during a downhillwalk, by adding energy to replace the gravitational energy. In literature it typically actuates oneDOF and uses the natural gravity forces to it’s maximum, which makes it very energy efficient. Thecomputation for the controller is cheap because it does not need full understanding of the system.It is however not designed to recover from any push or bump and a specific gait can’t be designed.The theory is showed in 2 and 3D experiments.

Hybrid Zero Dynamics uses the systems differential equations and constraints to make a peri-odic movement. Understanding of the system is needed and also the physical constraints. Usingfeedback control the system is imposed to repeat the periodic movement. Using parameter opti-mization a closed-loop walking gait with low energy consumption can be achieved. In literature itis experimentally shown on a 2D Biped with point feet.

In Table 2.1 a overview of the discussion is given. It contains the same information as during thediscussion of each control strategy above.

2.5 Conclusion

In the previous section we discussed all the walking strategies addressed in this literature review.For further and in-depth research and implementation the method of the Linear Inverted Pendulumturned out the most interesting. Because it is a simple online method for designing an efficientwalking gait. It takes mainly the general CoM into account and by using inverse kinematics thejoint positions can be computed. Besides, the human movement of the stance leg during walking,shown many similarities with an inverted pendulum. However, to have a balanced walking gait thecriteria of the Zero Moment Point also have to be taken into account during the gait design.

The other methods fail because the control of the momentum is complicated and does not havea significant addition to the possibilities of the LIP. The strategies to restore balance, FPE and CPare not suitable to generate a smooth walking gait. The Hybrid walking strategies are not able tofollow a desired gait, they are only capable of walking in a straight line very efficiently.

12

Page 23: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

Online

Soun

dness

Unb

alan

ce

3D Dyn

amics

Energy

Hum

anlik

e

Com

puting

Pow

er

Zero Moment Point X X X X XLinear Inverted Pendulum X X X X X XWalking primitives X X XMomentum control X X X X X X XCapture Point X X X XCompass gait X X X X X XHybrid Zero Dynamics X X X X X

Table 2.1: Summary of the literature discussion, where all strategies are compared against acouple of criteria. The X means the strategy meets the criteria; if nothing is indicated it doesnot meet the criteria or it is not clear.

13

Page 24: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

14

Page 25: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

Chapter 3

A 3D Linear Inverted Pendulum

3.1 Introduction

Walking is often like the motion of two coupled pendula, because the stance leg behaves like aninverted pendulum moving about the stance foot, and the swing leg like a regular pendulum swing-ing about the hip (Figure 3.1). Cavagna et al. introduced the inverted pendulum model in [5] asthe simplest model for the human walking gait. Originally this model was used to understand thechanges in kinetic and potential energy that occur during normal walking at a level surface. It ap-pears that the inverted pendulum model predicts the fluctuation of the kinetic en potential energycorrectly [26], so that the motion of the Center of Mass (CoM) of the human body during walkingshows good comparison with the motion of the CoM of an inverted pendulum. Driven by this andbecause of the simplicity of the model several bipedal robotic engineers, like Kajita [20], started touse it as a locomotion trajectory for a bipedal robot. In this section an inverted pendulum Modelsuitable for generating a walk motion for a biped robot will be derived.

3.2 3D Linear Inverted Pendulum mode

The inverted pendulum model is one of the simplest models to mimic the human walking gait. In[20] Kajita et.al. introduced a control method that is suitable to generate a trajectory for the CoM of abipedal robot. They named it the 3D Linear Inverted Pendulum Model (3D-LIPM). The 3D-LIPM isbased on the dynamics of an arbitrary inverted pendulum as depicted in Figure 3.2. The pendulumconsists of a point mass, that is assumed to be the CoM of the biped, fixed on a massless telescopicleg, the stance leg, that is fixed in the origin which is fixed on the ground. The position of the pointmass, p = (x, y, z), is described by a set of state variables, q = (θr, θp, r). The torques and forcesacting on the point mass associate with the state variables are given by: (τr, τp, f).

3.2.1 3D Inverted Pendulum

The motion of an inverted pendulum in a 3D space as depicted in Figure 3.2, is mathematicallydescribed, in the domain where |θr + θp| < 0.5π holds, by:

m

xyz

=(J>)−1 τr

τpf

+

00−mg

, (3.1)

15

Page 26: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

Figure 3.1: Biped Linear Inverted Pendulum

Z

Y

X

θp θr

r

M

Figure 3.2: 3D Inverted Pendulum

where m is the point mass of the pendulum and g is the gravity acceleration. The Jacobian Jtransforms the state variables into Cartesian orientated torques and forces and equals

J =∂p

∂q=

0 rCp Sp−rCr 0 −Sr

−rCrSr/D −rCpSp/D D

, (3.2)

Cr ≡ cos θr, Cp ≡ cos θp, (3.3)

Sr ≡ sin θr, Sp ≡ sin θp, (3.4)

D ≡√

1− S2r − S2

p . (3.5)

By substituting the kinematic relations: x = r sin θp, y = −r sin θr and z = rD we get equationsthat describe the dynamics along, respectively the x-axis, the y-axis and the z-axis.

m (−zy − yz) =D

Crτr −mgy, (3.6)

m (zx− xz) =D

Cpτp +mgx, (3.7)

m (xx+ yy + zz) = rf −mgz. (3.8)

3.2.2 3D Linear Inverted Pendulum and Zero-Moment Point

In the previous section (3.2.1) the motion of a general inverted pendulum in 3D space has been de-rived. The dynamics of the inverted pendulum are non linear and too complex to use for generatinga walking motion. For these reasons, a constraint is applied that limits the motion of the pendulumand makes it suitable for generating a walking motion. The constraint limits the motion of the CoMin a plane with normal vector (kx, ky,−1).

z = kxx+ kyy + zc, (3.9)

16

Page 27: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

where zc is a positive constant which indicates the height of the plane. From this constraint it isobvious that the second derivative satisfies

z = kxx+ kyy. (3.10)

Substituting this constraint and its second derivative into equations (3.6), (3.7) and (3.8) weobtain the dynamic equations of the linear inverted pendulum. The motion described by theseequations can be used to find suitable walking trajectories.

x =g

zcx− ky

zc(xy − xy) +

1

mzcup, (3.11)

y =g

zcy − kx

zc(xy − xy)− 1

mzcur, (3.12)

z = kxx+ kyy. (3.13)

where ur, and up are virtual inputs which are introduced to compensate input nonlinearities.

ur =D

Crτr, (3.14)

up =D

Cpτp. (3.15)

To further simplify the motion of the linear inverted pendulum and to find a independent set of lin-ear dynamic equations we assume the biped is walking on a flat surface, so we can set the constraintplane horizontal (kx = 0 and ky = 0). Kajita et.al. [20] calls this model the Three-Dimensional Lin-ear Inverted Pendulum Mode (3D-LIPM).

x =g

zcx+

1

mzcup, (3.16)

y =g

zcy − 1

mzcur. (3.17)

z = 0. (3.18)

Equations (3.17), (3.16) and (3.18) are linear equations that describe the dynamics of a 3D invertedpendulum under constraint of a horizontal plane at height zc. The position of the Zero MomentPoint (ZMP), which is widely used in biped research, is given by

zmpx = − τymg

, (3.19)

zmpy = − τxmg

. (3.20)

Substituting (3.20) and (3.19) into (3.17) and (3.16) gives the equations of the commonly used cart-table model.

x =g

zc(x− zmpx) , (3.21)

y =g

zc(y − zmpy) . (3.22)

The cart-table model consists of a running cart on a mass-less table, see figure 3.3. It has the samemotion dynamics as an inverted pendulum model, but also a direct relation between the ZMP andthe motion. The inverted pendulum model does not have that, see next section.

17

Page 28: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

M

ZMP

Figure 3.3: A cart-table model, on the x-axis

3.3 Inverted Pendulum Walking Generation

With the dynamic equations of the 3D-LIPM (3.17), (3.16) and (3.18) it is possible to design a real-time trajectory generator for biped walking. Since a natural movement is desired it is assumed thatthe input constraints (3.14) and (3.15) are equal to zero. With this assumption, decoupled dynamicsfor the lateral (y-z), and sagittal (x-z) motion of the CoM arises. The position of the ZMP is notknown, but the position of the CoG is, namely at the rotation point of the pendulum at the origin.Since that also is the only contact point of the pendulum with the ground we can assume that(zmpx, zmpy) = (0, 0). In other words, there is no direct relation ship between the natural invertedpendulum model and the position of the ZMP [34].

x− g

zcx = 0, (3.23)

y − g

zcy = 0. (3.24)

So, these linear differential equations describe the trajectory of the CoM for a given initial con-dition of (xi0, xi0) and (yi0, yi0) at a certain time (ti), such that the ZMP remains in the supportpolygon.

The general solution of (3.23) is

x (t) = x0 cosh

(t− tiTc

)+ Tcx0 sinh

(t− tiTc

), (3.25)

x (t) =x0Tc

sinh

(t− tiTc

)+ x0 cosh

(t− tiTc

). (3.26)

and for the lateral motion

y (t) = y0 cosh

(t− tiTc

)+ Tcy0 sinh

(t− tiTc

), (3.27)

y (t) =y0Tc

sinh

(t− tiTc

)+ y0 cosh

(t− tiTc

), (3.28)

where

Tc ≡√zcg. (3.29)

The 3D-LIPM described above assumes that exchange of the stance leg occurs instantaneouslyand there is no loss in velocity of the CoM between the end of a stance phase and the beginning ofa new phase. So y (tfinal) = y (0) holds. Using this assumption the initial velocity of a new phasecan be computed using (3.30) and (3.31) and substituted into (3.26) and (3.28). The initial position

18

Page 29: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

(x (0) , y (0)) depends on the type of robot and will be treated later on in this report.

x0 =x0 − x0 cosh

(t−tiTc

)sinh

(t−tiTc

)Tc

, (3.30)

y0 =y0 − y0 cosh

(t−tiTc

)sinh

(t−tiTc

)Tc

. (3.31)

3.4 Summary

In this chapter the realtime 3D-LIPM is introduced and mathematically derived started from theequation of motion of a general inverted pendulum. The non linear dynamics of an inverted pen-dulum are linearized by adding 2 constraints. The constraints make sure that the CoM of thependulum moves in a plane with a constant height. Adding the constraints results in a set of ho-mogenous differential equations which can be solved in closed form. The general solution of the3D-LIPM is used later in this thesis to plan a motion of the CoM during a walking gait. The initialposition of a swing phase of the CoM is assumed to be equal to the end position of the previousphase. In this way the initial velocity can be computed. Which leaves only one parameter, besidestime, that influences the trajectory, namely the initial position.

19

Page 30: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

20

Page 31: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

Chapter 4

Modeling of TUlip

4.1 Introduction

A humanoid robot is a mechatronic system that looks like a human and tries to mimic its motions.One of the most exciting research areas in humanoid robotics is the bipedal locomotion. Becausehumanoid robots do normally exist out of 2 legs, it is a challenge to let such robot walk in balance.Especially if it is considered that the feet of humans, and therefore most humanoid robots, areonly a fraction of the total body length, which makes it even more difficult to be in balance duringwalking. All over the world several different research projects about humanoid robotics are goingon as mentioned already in Chapter 2. Most of these robots resemble the kinematics of the humanbody, like Honda’s Asimo. In this research project the humanoid robot of the Eindhoven Universityof Technology named TUlip has been used to design a walking strategy, that is more dynamic andfaster then the existing one.

To design, analyze and simulate a trajectory generator, an up to date model of TUlip’s kinemat-ics and dynamics is derived; the old model is adjusted to TUlip’s new kinematics. In this chapterthe model, as used in this thesis, is described by derivation of some important mathematical ex-pressions that are used to describe TUlip. Besides the robot model, the ground where the robot hasto walk on, has to be modeled. At the end of this chapter both the model of TUlip and the groundcontact model are implemented into Simulink for simulation purposes using a toolbox called Sim-Mechanics.

4.2 Modeling

In general a humanoid robot can be modeled as a multi body system, where a series of rigid bodies(links) are connect by means of revolute or prismatic joints. At one end of the chain there is abase, while at the other end an end-effector is mounted. If there are n joints the robot manipulatorwill have n + 1 links, since each joint is connected by two links. The joints are numbered from 1till n and the links from 0 till n, in this way link i moves when joint i is actuated. Therefore link0 is fixed and does not move, this is called the base. To express the position and orientation ofeach link a cartesian coordinate frame is placed in each link. A Homogeneous Transformation Matrixexpressed as Ai−1i , gives the position and orientation of link i with respect to the previous link i−1.Combining these different homogenous transformation matrices from base till end-effector, into asingle transformation matrix T 0

n gives the Forward Kinematics.

21

Page 32: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

Forward Kinematics

A homogenous transformation matrix is a compact (4× 4) matrix that represents a coordinatetransformation between frames. Such transformation matrix from frame i − 1 to frame i is givenby:

Ai−1i =

[Ri−1i pi−1i

0 1

]. (4.1)

The (3× 3) matrix Ri−1i is called the rotation matrix, and is responsible for the orientation byrotating frame i− 1 around a certain angle over a certain axis. If the frame rotates around multipleaxes a product of these rotations forms the total rotation matrix, as shown in

Ri−1i = RαiRβiRθi , (4.2)

where

Rαi =

1 0 00 cosαi − sinαi0 sinαi cosαi

, Rotation around x-axis with angle α; (4.3)

Rβi =

cosβi 0 sinβi0 1 0

− sinβi 0 cosβi

, Rotation around y-axis with angle β; (4.4)

Rθi =

cos θi −sinθi 0sin θi cos θi 0

0 0 1

, Rotation around z-axis with angle θ. (4.5)

The position vector pi−1i in the homogeneous transformation matrix (4.1) is a (3× 1) vector thatgives the displacement of frame i with respect to frame i− 1.

pi−1i =

pxipyipzi

, (4.6)

where pxi is a translation over the x-axis of the reference frame, pyi is a translation over the y-axisand pzi a translation over the z-axis.

To express the position and orientation of a frame or link named i with respect to another ref-erence frame named j, a product of homogeneous transformation matrices can be used, simplynamed Transformation Matrix. This transformation matrix T ij is defined as:

T ji =

[Rij pij0 1

]=

Ai+1Ai+2 . . . Aj−1Aj , if i < j,I, if i = j,(T ji

)−1, if i > j.

(4.7)

As it is assumed that each joint has only 1 Degree of Freedom (DoF), the transformation matrix isa function of a single variable: a generalized coordinate qi. The transformation matrix becomes afunction of a vector of generalized coordinates:

T i−1i (q) with q =[q1 q2 . . . qn

]>. (4.8)

22

Page 33: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

x

y

z

Roll

Yaw

Pitch

Figure 4.1: Representation of Roll-Pitch-Yaw angles

These coordinates are the linear or angular displacement of the prismatic and revolute joints,respectively. If the generalized coordinates are known the position and orientation of the linksare known. In other words the transformation matrix (with its reference frame at the base) as afunction of the generalized coordinates T 0

n (q) gives the Forward Kinematics of a robot manipulatorwith n links.

Although the transformation matrix used as forward kinematics model gives all the propertiesabout the position and orientation of the n-th link, the orientation given by the rotation matrix R0

n

is not very clear. The problem is that the rotation matrix gives the orientation in nine elements thatare not independent of each other, but related by six constraints due to the orthogonality conditions.

R>R = I. (4.9)

This implies that three parameters are sufficient to describe the orientation of the link. A commonmethod of specifying a rotation matrix in three independent quantities is the so-called Euler Angles.This set of Euler angles, a Minimal Representation of the orientation, is given by a set of three angles

φ =[ϕ ϑ ψ

]>. In this project the Roll, Pitch, Yaw (RPY) Euler angles are used, see Figure 4.1.

Let R be a given rotation matrix

R =

r11 r12 r13r21 r22 r23r31 r32 r33

, (4.10)

then the solutions of the RPY-angles with ϑ in the range(−π

2 ,π2

), are:

ϕ = atan2 (r21, r11) , (4.11)

ϑ = atan2(−r31,

√r232 + r233

), (4.12)

ψ = atan2 (−r32,−r33) . (4.13)

atan2 computes the arctangent of two variables x and y. It is equal to computing the arctangent ofy/x, but both arguments are used to determine the quadrant.

4.2.1 Jacobian

The forward kinematics equations gives the relation between the joint position q and the Cartesianlink position and orientation with respect to a base frame. The velocity relations and the end-effectorlinear and angular velocity are determined by the Differential Kinematics, which uses the GeometricJacobian J . The Jacobian is one of the most important quantities in the analysis and control of robotmotion, e.g., it arises in motion planning, and it generalizes the notion of an ordinary derivative of

23

Page 34: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

a multi variable scalar function. The geometric Jacobian depends on the robot manipulators config-uration. Alternatively, if the end-effector pose is expressed with respect to a minimal representationin the operational space, e.g., Euler angles, the Jacobian is found by differentiating the forwardkinematics with respect to the joint variables. The resulted Jacobian is named Analytical JacobianJA and differs from the geometric one.

Geometric Jacobian

The goal of the differential kinematics is to give the linear and angular velocities of the end-effector.These velocities are expressed by pe for the linear velocities and ωe for the angular velocities. Therelation between these velocities with the joint velocities is given as:

pe = JP (q) q, (4.14)ωe = JO (q) q, (4.15)

where JP and JO both are a (3× n) matrix and give respectively the linear and angular contributionof the joint velocities to the end-effector velocity. In compact form this can be written as

ve =

[peωe

]= J (q) q. (4.16)

The (6× n) J is the manipulator geometric Jacobian. In order to compute the geometric Jacobianit is convenient to derive it separately for the linear and angular velocity.

The linear velocity, the time derivative of the position vector pe (q), can be written as:

pe =n∑i=1

∂pe∂qi

qi =∑

Piqi. (4.17)

This shows that the linear velocity can be expressed as a sum of the terms Piqi, where Pi representsthe translation part of the Jacobian. Each term represents the contribution of a single joint to theend-effector linear velocity when the other joints are not moving. If the joint is prismatic (qi = di)this term is

Piqi = dizi−1, (4.18)

this meansPi = zi−1, (4.19)

where zi−1 is given by the third column of the rotation matrix R0i−1. If joint i is a revolute joint

(qi = ϑi), the contribution to the linear velocity with reference to the origin of the end-effectorframe is:

Piqi = ωi−1 × ri−1,e = ϑzi−1 × (pe − pi−1) , (4.20)

this meansPi = zi−1 × (pe − pi−1) . (4.21)

The angular velocity is given as:

ωe = ωn =n∑i−1

ωi−1,i =n∑i−1

Oiqi. (4.22)

The terms Oiqi (the orientation part of the Jacobian) from (4.22) is expressed as

Oiqi = 0, (4.23)

24

Page 35: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

withOi = 0, (4.24)

for prismatic joints. If the joint is revolute the terms become

Oiqi = ϑizi−1, (4.25)

withOi = zi−1. (4.26)

Combining these terms results in a (6× n) geometric Jacobian matrix:

J =

[P1 . . . PnO1 . . . On

], (4.27)

with [PiOi

]=

[zi−1

0

], for a prismatic joint,[

zi−1 × (pe − pi−1)zi−1

], for a revolute joint.

(4.28)

Analytical Jacobian

The analytical Jacobian gives the relation between the joint velocities and the end-effector velocitiesdescribed in terms of a minimal number of parameters in the operational space. This minimalrepresentation is given by:

xe =

[peφe

], (4.29)

with φe =[ϕ ϑ ψ

]>as the Euler angles. The differential kinematics with a minimal number

of parameters is given as:

xe =

[peφe

]=

[∂pe∂q∂φeq

]q =

[Jp (q)Jφ (q)

]q = JA (q) q. (4.30)

The translational velocities of the end-effector can be expressed as the derivative of vector pe, in(4.30) this is pe = ∂pe

∂q . The rotational velocity of the end-effector can be derived from the minimal

representation of the orientation of the end-effector. This time derivative φe differs from the angularvelocity vector decribed earlier. However computing the Jacobian Jφ (q) is not as straight forward asit is suggested in (4.30), since the function φe (q) is usually not given in its direct form, but requirescomputation of the elements of the rotation matrix as in (4.11)-(4.13). Therefore the geometricJacobian is used for the orientation, in this thesis.

4.3 Modeling TUlip

In this project the focus lies on the humanoid robot from Eindhoven University of Technology,named TUlip. TUlip is a humanoid robot that is developed by the three technical universities in theNetherlands (Eindhoven University of technology, Delf University of Technology and the Universityof Twente) and Philips as a research robot. Besides research it was and still is the aim to participatein the yearly RoboCup event1, where TUlip plays soccer in the humanoid adult size league.

1http://www.robocup2012.org/

25

Page 36: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

Figure 4.2: Photo of TUlip

TUlip is a humanoid robot with in total 16 DoF’s, 2 in the neck, 1 on each arm (2 arms) and 6 ineach leg (2 legs). In Figure 4.2 a photo of TUlip is shown. The DoF’s in the arms and the neck aredriven by servomotors, the other 12 joints are driven by DC motors. Furthermore TUlip is equippedwith 2 camera’s in the head, to obtain stereo vision. This is all controlled by a 1GHz computer with256MB ram, which is mounted in TUlip’s torso.

To derive the forward kinematics and the Jacobian’s of TUlip the model in Figure 4.3 is used. Inthis figure the coordinate frames as they are used on TUlip are depicted, with the variable anglesand directions of the revolute joints. In Table 4.1 the generalized coordinates are given that matchthe joint variable. It can also be seen that the frames lay with the x-axis pointing to the front, they-axis in lateral direction and the z-axis in vertical direction. Besides the joints, the lengths of all thelinks are given. Each link is modeled as point with mass mi and it moment of inertia Ii. The pointmass is positioned at ci. The position of the point mass ci is defined as the distance from joint i toits point mass.

During walking TUlip is in a single or double support phase. In single support it depends onwhich side the the step is made, but there is a Stance Foot with its Stance Leg and a Swing Foot withits Swing Leg. During single support the base frame will always lie in the stance foot. During thedouble support phases it is assumed that the base frame lies in the right foot.

Now the base frame is located in the stance foot, the transformation matrix can be derived usingthe mathematical expressions of chapter 4.2 as:

T 012 (q) =

12∏i=1

Ai−1i (qi) . (4.31)

For brevity the matrix is not put here, but can be found in Appendix A.

26

Page 37: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

β4

y4

z4

x4

β3

y3

z3

x3

a6

x6y6

z6

a2

x2y2

z2

a12

x12y12

z12

β5

y5

z5

x5

β9

y9

z9

x9

β10

y10

z10

x10

β11

y11

z11

x11

a8

x8y8

z8

q7

x7y7

z7

q1

x1y1

z1

ly0

ly0

l7z

l8z

l9z

l10z

l11z

l12z

l1z

l2z

l3z

l4z

l5z

l6z

Figure 4.3: Convention of TUlip’s joints and links

27

Page 38: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

joint ] @ human variable1 right hip z θ1 = q12 right hip x α2 = q23 right hip y β3 = q34 right knee y β4 = q45 right ankle y β5 = q56 right ankle x α6 = q67 left hip z θ7 = q78 left hip x α8 = q89 left hip y β9 = q910 left hip y β10 = q1011 left ankle y β11 = q1112 left ankle x α12 = q12

Table 4.1: Joints of TUlip with there number and variable

In this project the aim is to control the position of the CoM, the orientation of the torso and theposition and orientation of the swing foot. Hereto 3 different Jacobian are needed :

• Position Jacobian of the total CoM of TUlip: JCoM ,

• Orientation Jacobian of the torso: Jω,

• Position and orientation Jacobian of the swing foot: Jswing.

First JCoM (3× 12) is derived, which uses all the joint variables qi and all the point mass positionsof each link. These point masses positions are given with respect to the corresponding link, e.g.,link i has its point mass at ci from joint i, where ci is a (3× 1) position vector. Using the forwardkinematics the position of each point mass with respect to the base frame is derived, indicated byCi. The total CoM position now becomes:

CoMxyz =

∑12i=1miCi∑12i=1mi

(4.32)

Partial derivation of the total CoM position with respect to the joint variables:

JCoM =∂CoMxyx

∂q, (4.33)

gives the position Jacobian of the total CoM.

For the orientation Jacobian (3× 6) of the torso it is sufficient to take only the joints into accountbetween the base frame and the torso. Again the forward kinematics are used to find the rotationmatrix. Since only the orientation Jacobian is needed, we take the third column of the rotationmatrix R0

6 where

R06 =

6∏i=1

Ri−1i . (4.34)

28

Page 39: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

CP3L

CP2L

CP1L

CP4L

y0

z0

x0

CP3R

CP2R

CP1R

CP4R

Right Foot

Left Foot

Figure 4.4: Position of the contact points on the feet

The Jacobian of the swing foot (6× 12) is a full geometric Jacobian from the base to the sole ofthe swing foot. The Jacobian is computed using the equation from Chapter 4.2.1, with only revolutejoints. This results in:

Jswing =

[z12 × (pe − p0)

z12

](4.35)

Combining the 3 derived Jacobian’s into one big (12× 12) matrix gives a Jacobian with informa-tion about the position of the CoM, the orientation of the torso and the position and orientation ofthe swing foot.

Jtotal =

JCoMJswingJω,0

¯Jswing

. (4.36)

Note: At the beginning it was assumed that the base frame was in the right foot, therefore this Jacobianonly hold if the right leg is TUlip’s stand leg. When the left leg is the stance leg, the base frame lies in its leftfoot. This results in different kinematic formulations and therefore also different Jacobians. However thesecan be derived in the same way.

4.4 Ground Contact Model

Investigating a walking motion of a bipedal robot requires a ground contact model, since the foot isnot allowed to penetrate or slide over the ground during walking. In this project a spring-damper-system is used as a ground contact model, which simulates the impact forces and coulomb friction.For feet that are in contact with the ground, computation of contact becomes easier and fastercompared with other method such as rigid contact [17]. Since a foot of TUlip is a plane, the 4corners of a foot are modeled as the contact points as showed in Figure 4.4. Because the foot isnot allowed to penetrate the ground, a reaction force should be applied. The reaction force at timeinstant t when the contact point hits the ground, is called Impacted Force Fim and at time t+ this iscalled the Normal Force FN .

To make sure the force only acts on the foot as it touches the ground a holonomic position con-straint that looks like (4.37) should be applied.

h (q) = 0 (4.37)

29

Page 40: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

Where h (q) is the vertical position of the contact point as function of the state variables. Thisconstraint makes sure that the there is only a reaction force if the vertical position of the contactpoint is smaller then 0. Besides this constraint, the reaction force may only be in positive direction,in other words its only allowed to push (or hold) the foot the ground. The reaction force is modeledas

Fz,cpi = −Kp,ground∆zi −Kd,groundzi, (4.38)

where the constantsKp,ground andKd,ground are respectively the ground contact stiffness and groundcontact damping. ∆zi is the difference between the height of the contact point and ground, i.e.∆zi = 0− zcpi and z is the time derivative of the height of the contact point.

The tangential friction is modeled by dry Coulombs friction. The friction force can be expressedas

Fwx = µFzsign (x) . (4.39)

Where µ is the friction coefficient and x is the velocity in x-direction of the contact point that hitsthe ground. Depending on the value of µ a fraction of the reaction force Fz is the modeled frictionforce. In other words if µ = 1 the friction force is the same as the reaction force, if µ = 0 there willbe no friction. Obviously this also hold in y-direction.

The sign-function makes the differential equation very stiff which is difficult to solve, thereforethe approximation tanh (kx) is used.

Fx,cpi = µFz tanh (kx) , with k � 1. (4.40)

For each contact point these forces are computed and applied at their associate contact points.In this way the foot does not penetrate the ground. The foot also experience friction, preventing itfrom sliding.

4.5 Dynamic Model in SimMechanics

In Chapters 4.3 and 4.4, TUlip and the ground are mathematically described and modeled. Forsimulation purposes these models are implemented into Simulink, using the SimMechanics tool-box. SimMechanics is a 3D tool that allows users to design a multi body system by connecting rigidbodies and joints in a certain order. It makes the modeling of for example TUlip easy and clear.

The model of TUlip as shown in Figure 4.3 is implemented together with the ground contactmodel. In Figure 4.5 a connection tree of TUlip, as implemented in SimMechanics, is given.

In the model a couple of extra parameters/blocks are used such as the initial condition, jointsensors, joint actuators, the machine environment and ground. The initial condition block makessure that every joint has a start position and velocity. The joint sensors and actuators record themotion of the joint and add motion to the joint. The machine environment block connects themulti body model to the ground and adds gravity. A 6DoF joint between the ground and the footrepresents the position and orientation of the entire robot with respect to the ground.

4.6 Summary

In this chapter the mathematics behind the forward kinematics and the Jacobians are described.These mathematical expressions are used to model the humanoid robot TUlip. The difference with

30

Page 41: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

UpperhipLeft

LowerhipLeft

UpperlegLeft

LowerlegLeft

AnkleLeft

FootLeft

UpperhipRight

LowerhipRight

Upperlegright

LowerlegRight

AnkleRight

Footright

Torso

CP1

CP2

CP3

CP4

CP4

CP3

CP2

CP1

q7

q9 q10 q11 q12q8

q1

q2 q3 q4 q5 q6

Figure 4.5: Connectivity graph of TUlip implemented in SimMechanics

already existing models is that it now matches the new kinematic configuration of the hips. Also thegeometric Jacobian of TUlip as it is used during simulation later on in this thesis is derived. Thetotal jacobian is a combination of 3 smaller Jacobians, namely the position Jacobian of the CoM,the orientation jacobian of the torso and the position- and orientation jacobian of the swing foot. Aground contact model is modeled to simulate the vertical impact forces during walking, in tangialdirection a model of Coulomb friction is used.

The full model of TUlip including the contact model is implemented in Simulink using theSimMechanics toolbox. This model is used later in this thesis for simulation purposes.

31

Page 42: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

32

Page 43: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

Chapter 5

3D-LIPM Trajectory Planning

5.1 Introduction

The goal of Trajectory Planning is to generate a reference motion for motion control systems, e.g. hu-manoid robots. This is typically done by specifying a number of parameters that describe a desiredtrajectory. Planning consists of generating a time sequence of the values attained by a interpolat-ing function of the desired trajectory. This chapter presents the techniques used for generating atrajectory that is suitable for bipedal walking. In this trajectory planner or generator the initial andfinal point (point-to-point motion) in the operational space are assigned and connected by differentinterpolating functions. In other words the motion of the end-effector in the operational space isdescribed by an interpolation function.

Since it is the aim to let a biped robot walk with the motion of the 3D-LIPM (Chapter 3), 2different end-effectors are assigned. The first end-effector is the CoM position, which is assumedto be around the robot’s torso. Because it it close to the torso and because humans do the same theorientation of the torso replaces the ’orientation’ of the CoM. The second end-effector is the swingfoot. Depending on which foot the step makes this is the left or the right foot.

In this chapter a designed trajectory planner for the CoM and the swing foot is presented. AnInverse Kinematic algorithm translates the desired motion of the end-effectors into joint trajectories.

5.2 Trajectory Phases

The trajectory of the CoM and the swing foot are described by a point-to-point trajectory generator.Because walking is divided in different phases, the interpolation function connecting these pointsalso differs. The designed 3D-LIPM trajectory generator for the humanoid robot TUlip uses 4different interpolation functions to describe the motions.

First is the Cosine Velocity Profile, which is a smooth point-to-point path planner given by:

xcvp (t) = λ (1− cosωt) , (5.1)

where λ =xf−x0tf

and ω = 2πtf

. Obviously this results in (5.2) and (5.3) for respectively the positionand acceleration.

xcvp (t) = λt− λ

ωsinωt+ x0 (5.2)

xcvp (t) = λω sinωt (5.3)

x0 is the initial start position, xf is the desired end position and tf is the desired phase duration.The cosine velocity profile is used frequently throughout the trajectory generator, because it is asmooth but simple interpolation function.

33

Page 44: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

The second interpolation function makes use of Bézier Curves. Bézier curves are smooth curvesdefined by a set of control points. A Bézier curve has at least 2 control points, namely the beginand end and by carefully choosing more control points the velocity of the begin and end point canbe defined. In the presented trajectory planner the Bézier curve is only used to plan the motion oflifting the swing foot. During this motion 3 cubic Bézier curves are used and stitched together intoone motion as showed in Figure 5.4. The first curve lifts the foot, the second ’curve’ keeps the footat a certain constant height and the third curve lowers the foot again till it is on the ground. Theformula for cubic Bézier curves is given by

z (t) = (1− t)3 P0 + 3 (1− t)2 tP1 + 3 (1− t) t2P2 + t3P3, t ∈ [0, 1] , (5.4)

where Pi indicate the control points in the z-plane.The third interpolation function is a cubic polynomial. Since a cubic polynomial function has

4 coefficients available, it is possible to impose, besides the initial and final position (x0 and xfrespectively), also the initial and final velocity (x0 and xf respectively). This property is useful toaccelerate to a certain velocity during the trajectory planner.

x = a3t3 + a2t

2 + a1t+ a0 (5.5)x = 3a3t

2 + 2a2t+ a1 (5.6)

where the coefficients can be computed bya0a1a2a3

=

1 0 0 00 1 0 01 t t2 t3

0 1 t t2

−1

x0x0xfxf

(5.7)

The fourth and final motion to connect two points is of course the 3D-LIPM derived in Chapter3.2.1. Below the time dependent functions are given once again.

x (t) = x0 cosh

(t− tiTc

)+ Tcx0 sinh

(t− tiTc

)(5.8)

y (t) = y0 cosh

(t− tiTc

)+ Tcy0 sinh

(t− tiTc

)(5.9)

Tc ≡√zcg

(5.10)

In this project the trajectory generator is divided into 9 different phases, each with its own func-tion and or motion. Next to these phases a function is included that determines the walk parametersand distances. In Figure 5.1 the desired trajectory of the CoM is shown, which uses the 3D-LIPMmotion equation when the biped makes steps. In Figure 5.2 the desired trajectory of the swing footis shown. The duration of almost all phases is 1s, this is chosen because it showed smooth trajec-tory results during simulation and it is a convenient number. However the phase duration can beany time interval. At phase 4 and 7 the duration of the phase differs, it is namely half the time ofthe phase time of the other phases. In our case it is 0.5s. The reason is explained at the associatephase.

The different phase of these trajectories are separated by the dashed black vertical line in bothfigures, also the side of the stance leg is given. In the following paragraphs each phase is describedin more detail. For example the initial and the final position of each phase are described, as well asthe parameters and interpolation function.

34

Page 45: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

0 1 2 3 4 5 6 7 8−0.1

0

0.1

X [m

]

CoM trajectory

0 1 2 3 4 5 6 7 8−0.2

0

0.2

Y [m

]

0 1 2 3 4 5 6 7 80.675

0.68

0.685

Z [m

]

Time [s]

1 32 4 5 6 5 7 8

Figure 5.1: Desired CoM trajectory

0 1 2 3 4 5 6 7 8−0.2

0

0.2

X [m

]

CoM trajectory

0 1 2 3 4 5 6 7 8−0.2

0

0.2

Y [m

]

0 1 2 3 4 5 6 7 80

0.01

0.02

0.03

Z [m

]

Time [s]

1R

3R

2R

4R

5L

6R

5L

7R

8R

Figure 5.2: Desired swing foot trajectory with side indication of the stance leg

35

Page 46: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

5.2.1 Initialization

The initialization is not a phase shown in Figures 5.1 and 5.2, but happens earlier. During the ini-tialization the parameters that are used during the trajectory generator are determined (see Figure5.3) and TUlip goes to its zero-posture. The zero-posture is the posture where all the joint positionsare zero, like in Figure 4.3.

The parameters that are used throughout the trajectory generator are all put together in thisphase, which makes it easy to tune the trajectory. A few parameters have to be determined at thebeginning. For example the user can decide what distance TUlip has to walk with what step size. Afunction computes the Number_of_gait_full_periods and Extra_half_step. The Number_of_gait_full_periodsis the number of full steps the biped has to take with step length Full_step_length. Extra_half_step isa parameter set to 0.5 if an extra half step is needed to come closer to the desired distance, otherwiseit is 0.

5.2.2 Phase 1: Start Position

Using the joint positions and an forward kinematic algorithm the CoM and the swing foot positionare computed in the zero position. These positions are the initial position of the CoM and swingfoot of this phase. The position of the CoM and swing foot are given with respect to the base framein the minimal space representation. To indicate the side of the stance foot a variable names sideisdeclared 1 if the right foot is the stance foot and 0 if left is the stance foot.

The desired end position is obviously given in the same coordinates as the initial position. Thisis done throughout the entire trajectory generator. Since it concerns a motion to the start positionwhere the robot moves to a statically stable double support position, the swing foot does not moveand stays on the same x-position as the stance foot. In other words, the final position of the swingfoot is unchanged with respect to the initial position.

The end position of the CoM however, differs from its initial position and orientation. Thedesired position of the CoM is in the middle of the support polygon, where TUlip is in its most bal-anced position. The location and orientation of the CoM can be adjusted through the parameters:zc, desX_pos_CoM and des_comYinclination_static (see Figure 5.3(a)). The height of the CoM is atthe maximum height before singularities occur during walking. This parameter is called zc and ismaximized by trial and error. desX_pos_CoM puts the position of the CoM to the front of back, by ad-justing this parameter the balance of the biped at the start can be tuned. des_comYinclination_statictilts the torso to the front or back, this is normally zero because the torso of a human during walkingis also straight.

To go from the initial position to the final position a cosine velocity profile is used in both theCoM and swing leg.

5.2.3 Phase 2: Move CoM to Right Leg

The next phase moves the CoM above the right foot, to prepare it for the first step. The initialposition of this phase is the end position of the previous one and is again determined by a forwardkinematic algorithm. During this phase only the CoM moves from the middle to above its rightfoot, therefore the final position of the swing foot again is the same as the initial position.

The final position of the CoM can be tuned by the following parameters: desY_pos_CoM anddes_comXinclination (see Figure 5.3(b)). The interpolation function of both the CoM and swing footmotion is again the cosine velocity profile.

36

Page 47: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

desX_pos_CoM

des_comYinclination_static

(a) Initial and final pose

desY_pos_CoM

des_comXinclination

(b) Double support pose

delta_Zlift

delta_comZliftdelta_TauZ

(c) Single support pose

Figure 5.3: Parameters definition for different phases of the gait

5.2.4 Phase 3: First Swing

The first swing phase plans a statically stable motion for the swing foot to make the first step withhalf a step length (see Figure 5.2). The motion starts with the position where the CoM is abovethe right foot and will end with a half step from the left foot. The final position of the CoM is stillabove the right foot, but it can be tuned in y- and z-direction by respectively desY_pos_CoM anddelta_comZlift. desY_pos_CoM is also shown in Figure 5.3(b) and delta_comZlift is the difference inheight of the CoM with respect to the initial position. The final orientation of the CoM is unchangedaround the x-axis, around the Y-axis it is tuneable with des_comYinclination (see Figure 5.3(a)) andaround the z-axis with delta_TauZ. For delta_TauZ see Figure 5.3(c) for a graphical representation.

The final position of the swing foot is half a step length in positive x-direction, but unchanged iny. In other words, the foot moves in a straight line forward using the cosine velocity profile. Thefinal position of the swing foot in z-direction does not indicate the final z-position of the swing foot,but it is the height the swing foot is lifted to make a step. This step motion in the sagittal plane isgenerated by 3 cubic Bézier curves and depicted in Figure 5.4. One for lifting the foot to the desiredheight, one for keeping the foot on the desired height and the last one to put the foot down again.The desired height of the motion shown in Figure 5.4 has a step height of 0.02m. The variabledelta_Zlift indicates the height and can be chosen in advance. The duration of the total phase is 1sas said in the beginning, this duration is divided into 3 time intervals for each of the Bézier curves.In the figure the first curve has an interval of 0.2 times the phase time (in this case 0.2s), the lastcurve is the mirror view of the first curve so it also takes 0.2 times the phase times. The resultingtime is for the ‘curve’ in the middle. The duration of lifting the foot and put it down again, sothe first and third curve, should be smaller then 0.5 times the phase duration, otherwise the thetrajectory will become discontinues. It it is possible to make the lifting faster by decreasing the lifttime, however this also results in higher velocities of the joints.

5.2.5 Phase 4: Double Stance

After the first swing of the swing foot which was statically balanced, the CoM is still above theright foot. From this position the pendulum walk can not be started yet, because the CoM needs

37

Page 48: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

0 0.2 0.4 0.6 0.8 1−0.005

0

0.005

0.01

0.015

0.02

0.025Step Motion In XZ−plane Swing Foot (0.2s and stepheight 0.02m)

time [s]

heig

ht s

win

g fo

ot [m

]

Figure 5.4: Swing path of the swing foot with 0.02m step height and lift duration of 0.2s

and initial velocity to start the dynamical inverted pendulum motion. Therefore one more phase isneeded, called double stance, that moves the CoM to the middle of support polygon and give it itsinitial velocity. The initial velocity can be found in Chapter 3.2.1. In this phase the swing foot doesnot move because it is already half a step length away from the stance foot, which is sufficient to goto the pendulum walk.

The final position of this phase is where the CoM is half a step length to the front in positivex-direction and back between the two feet in y-direction. In y-direction this is a displacement of halfthe distance the legs are apart from each other. Also the torso is put straight over the y-axis and alsothe x inclinations is put to zero. However the swing foot does not move a cosine velocity functionis used to describe the position of the foot during the phase time. The CoM however accelerates toa certain initial velocity, for this motion a cubic polynomial interpolation function is used. Due tothis cubic polynomial, the phase time is set to 0.5s, otherwise the polynomial plans a motion thatgoes first backward en then forward again to reach the desired position and velocity. This motion ishighly inconvenient because TUlip gets out of balance. By putting the phase duration to 0.5s thismotion is minimized.

5.2.6 Phases 5 and 6: Full Step

After the preparation phases that put TUlip in the correct position with the correct velocities, theactual walking according to the 3D-LIPM can start. Obviously there is a full step for the and theright. These motions are each others mirror images and are marked by the variable side as said inChapter 5.2.2; 1 if right is the stance leg and 0 if left is the stance leg.

The start position of the CoM and swing foot is the end position of the double stance phase. Thedesired end position for the CoM is in x-direction half a step length forward, called D_CoM. In they-direction the CoM moves fluently from one side to another during walking. The motions of theCoM in x and y direction are determined by the 3D-LIPM equations (5.8) and (5.9). In the z directionit is at a constant height; the characteristic of the 3D-LIPM.

38

Page 49: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

The swing foot makes the same motion as during the first step. The desired x position is a steplength forward, the desired y position is unchanged and the z motion is the step motion shown ifFigure 5.4.

During walking one full step is performed by one full step with the left followed by a right step.The number of full steps that are needed to walk the desired walking distance determine how manytime this loop is repeated.

5.2.7 Phase 7: Half Step

To come as close as possible at the desired walking distance, given during initialization, also a halfstep motion is programmed. The motion is the same as the full step, but half the distance in x-direction and also half the phase time of the full step motion. In Figures 5.1 and 5.2 only half a stepwith the left foot is shown, but also a half step can be performed at both sides.

5.2.8 Phase 8: Stopping

The last phase starts after all steps have been executed and the desired walking distance is reached.The aim of this phase is to return to the same statically stable double support pose as the startposition. Cosine velocity interpolation is used to go from the initial to the final position.

5.3 Inverse Kinematics

In robotics, kinematics describes the motion of a body or a group of bodies, without paying attentionto the force acting on them. In kinematics the position and orientation of a body is mapped w.r.t.the previous body, by respectively a displacement vector and a rotation matrix. The displacement

vector p =[px py pz

]>gives the displacement of the body in the xyz-frame and is therefore

of the size (3× 1). The rotation matrix R is a orthogonal (3× 3) matrix, describing the relativeorientation between the bodies.

R =[k s a

]=

x′x y′x z′xx′y y′y z′yx′z y′z z′z

(5.11)

Contrary to the rotation matrix, Euler angles are a set of three numbers that give a minimal repre-sentation of relative orientation. In the rest of this report we use the Roll, Pitch, Yaw (RPY) angles as

representation of the orientation, see figure 4.1. In this case the angles φ =[ϕ ϑ ψ

]represent

the orientation of the body around the x, y and z axis respectively. In Chapter 4.2 the solutions ofthe Euler angles are given.

To describe the motion of the bodies or joints we use differential kinematics, which gives the rela-tionship between the joint velocities and the corresponding end-effector linear and angular velocity.The end-effector is the tip of the chain of the bodies. In our case this is the CoM for the stance legand the swing foot for the swing leg. In other words the end-effector linear velocity pe and angularvelocity φe as a function of the joint velocities q:

xe =

[peφe

]= JA (q) q. (5.12)

where q is joint position with its time derivative q and J is a (6× n) Jacobian with n the number ofjoints. In this case, JA is the analytical Jacobian.

39

Page 50: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

In the previous section we designed a trajectory for the CoM and the swing foot, the end-effectorsof our system. To convert them into joint velocities and positions, an inverse kinematic algorithm isused. If we consider (5.12) with n = 6 joints (DoFs), the joint velocities can be obtained via simpleinversion of the Jacobian matrix

q = J−1A (q) xe. (5.13)

If the initial posture of the joint q(0) is known the joint position can be computed by integratingthe velocities over time, i.e.,

q (t) =

∫ t

0q (t) dt+ q (0) . (5.14)

In discrete time this integration can be done, e.g. with the Euler Integration Method. Given a smalltime interval ∆t, the joint positions at time tk+1 = tk + ∆t can be computed as:

q (tk+1) ∼= q (tk) + q (tk) ∆t. (5.15)

For the inverted kinematics technique it is necessary that the Jacobian is square and of full rank toavoid kinematic redundancy and singularities. Kinematic redundancy occurs when the number ofDoFs (n) is larger than the number of variables that are necessary to describe a given task (r). Ifthe Jacobian is not of full rank, linearly dependent equations occur and the system has no solution.

Substituting the discrete version of the inverse kinematic equation (5.13) into the discrete integra-tion, by using the joint variables in the Jacobian of the previous time instance, results in:

q (tk+1) ∼= q (tk) + J−1 (q (tk)) ve (tk) ∆t. (5.16)

According to Siciliano et al. [36] it follows that the computed joint velocity q does not coincide withthose in continuous time (5.13) due to drift. Therefore the the end-effectors pose computed from thejoint angles using forward kinematics differs from the desired one. This drift can be overcome byresorting to a solution that accounts the operational space error between the desired and the actualend-effector position and orientation. The operational space error can be seen as the differencebetween the desired and actual end-effector position and orientation, given by:

e = xd − xe =

[pdφd

]−[peφe

], (5.17)

be such error, with its time derivative

e = xd − xe =

[pdωd

]−[peωe

]. (5.18)

In [36] Siciliano states that the error is asymptotically stable

e+Ke = 0, (5.19)

where K is a positive definite matrix gain to converge the error to zero. Rewrite the the timederivative of the error (5.18) using (5.19) and substituting it into (5.12) gives the Jacobian inversesolution for a non-redundant manipulator as

q = J−1A (q)

[pd +Kpepφd +Koeo

]. (5.20)

Kp and Ko are positive gain matrices for respectively the position and the orientation. This asymp-totically stable inverse kinematic system ensures that the solution does not drift away as in (5.16).

40

Page 51: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

However to compute the orientation angles φ the computation of the rotation matrixRe is required.Furthermore the conversion of the rotation matrix into the minimal orientation representation inEuler angles, makes it complex. Therefore the orientation and the orientation angle from (5.20) arerewritten.

If Rd =[kd sd ad

]denotes the desired rotation matrix of the end effector and Re =[

ke se ae]

is the rotation matrix that can be computed from the joint angles, the orientationerror between the two frames can be expressed as

eo = r sinϑ, (5.21)

where ϑ and r are the angle and axis of the equivalent rotation that can be deduced from the thematrix

R (ϑ, r) = RdR>e (q) . (5.22)

By comparing the off-diagonal terms of the expression R (ϑ, r) with the corresponding terms fromRdR

>e (q), it can be found that the orientation error from (5.21) is expressed as

eo =1

2(ke (q)× nd + se (q)× sd + ae (q)× ad) . (5.23)

Differentiating (5.23) with respect to time gives

eo = L>ωd − Lωe, (5.24)

where

L = −1

2(S (kd)S (ke) + S (sd)S (se) + S (ad)S (ae)) . (5.25)

Replacing the orientation error expression used in (5.18) by (5.24) turns (5.20) into

q = J−1 (q)

[p+Kpep

L−1(L>ωd +Koeo

) ] . (5.26)

The Jacobian inverse solution for a non-redundant nonsingular manipulator (5.26) can be usedin the Euler Integration Algorithm (5.15). In this way a discrete inverse kinematic algorithm isdesigned that is asymptotically stable, as long as Kp and Ko are positive definite. It is suitable toconvert the trajectories of the CoM and swing foot into trajectories for the joints as a expression oftime.

5.4 Conclusion

In this chapter the designed trajectory planner that uses the 3D-LIPM as it walking motion, isexplained. This is done by giving a desired trajectory for the CoM and for the swing foot. Thistrajectory is divided into different phases which are explained separately. The purpose of thesephases is explained and the desired end position is given, but also the motion to go from a certaininitial position toward this end position is mentioned.

Once there is a trajectory for the CoM and swing foot, the inverse kinematics is used to trans-form the motion of the “end-effectors" trajectory into joint trajectories. This is done with an inversekinematic algorithm that controls the orientation error within boundaries and uses the geometricJacobian of the system (TUlip).

41

Page 52: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

42

Page 53: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

Chapter 6

Simulations

6.1 Introduction

In Chapter 5 a trajectory generator is designed to plan a gait for the 12 joints in the legs of TUlip. Tosimulate this trajectory, the model of TUlip from chapter 4.3 is used. The idea is to track the desiredtrajectory, which is calculated in advanced, on the model which also takes the contact model fromChapter 4.4 into account. To make sure the gait is tracked as close as possible, the computed gait isthe input of a Feedback Control System, with TUlip as the controlled system. A PD-controller is usedto minimize the error between the desired gait and the measured gait of the system. See Figure 6.1for a block-diagram of the simulation. Since the set-point changes every time instant, there alwaysexist an error. The controllers compute from this error the desired torque input of the actuators thatfollow the desired gait.

P-Controller TUlip

D-Controller

TrajectoryGenerator +- Torque

-

Joint Velocity

Joint Angle

Joint Velocity

error

error

Joint Angle

Figure 6.1: Block diagram of the feedback control loop of TUlip

In this chapter a few simulations are made and discussed. At first a simulation is executed whereTUlip walks in a straight line. Secondly the robustness of the gait is tested. The robustness is testedby using the the same desired gait, but this time with a different model. For example the weight ischanged or an obstacle is placed on the floor. At the end of this chapter a conclusion about thesesimulations is given.

6.2 Straight Line Walking

In this chapter a gait of the 3D-LIPM walk motion is implemented on a model of the humanoidrobot TUlip. As discussed in chapter 5 the gait is tunable with several parameters. As a referencegait we let the model walk a distance of 1m with a step length of 0.35m. The simulation runs with

43

Page 54: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

a time step of ∆t = 0.01s, each phase takes 1s except the double stance phase which is 0.5s. Theother variable parameters are given in Table 6.1.

desX_pos_CoM 0.045mdesY_pos_CoM −0.02mdelta_Zlift 0.02mdelta_comZlift 0.00mdes_comXinclination 0◦

des_comYinclination 1◦

des_comYinclination_static 0◦

des_swingYinclination 0◦

delta_TauZ 15◦

zc 0.467m

Table 6.1: Parameters as used in the simulation for a straight 1m walk

With these settings a gait for the joints is computed that performs the requested 3D-LIPM walkwith a distance of 1m. In Figure 6.2 the corresponding joint angles. It can be seen from this plotthat all the joints follow a smooth path and it repeats the same pattern for each step. The largestmotion is performed by the z-axis of the hip during the swing phase, which indicates that the torsorotates around its vertical axis during walking. Humans also make this motion, however we use thearms to correct for it, TUlip doesn’t have these correcting arms.

0 1 2 3 4 5 6 7 8 9 10 11−40

−20

0

20

40

60

time [s]

join

t ang

le [o ]

joint angles right leg

Hip ZHip XHip YKnee YAnkle YAnkle X

0 1 2 3 4 5 6 7 8 9 10 11−40

−20

0

20

40

60

time [s]

join

t ang

le [o ]

joint angles left leg

Hip ZHip XHip YKnee YAnkle YAnkle X

Figure 6.2: Joint angles of the left and right leg during a straight walk of 1m

The joint angles of Figure 6.2 and its velocities are the input of the in Figure 6.1 given feedbackcontrol system. The system, or TUlip, is modeled in SimMechanics using the link masses, lengths

44

Page 55: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

and CoM positions given in Table 6.2.

# link mass [kg] length [x y z] [m] CoM position [x y z] [m]0 torso 14.38

[0 0.15 0.033

] [0 0.075 0.170

]1 upper hip right 0

[0 0 0.182

] [0 0 0.091

]2 lower hip right 0

[0 0 0

] [0 0 0

]3 upper leg right 3.58

[0 0 0.32

] [0 0 0.160

]4 lower leg right 0.53

[0 0 0.276

] [0 0 0.138

]5 ankle right 0

[0 0 0.013

] [0 0 0.0065

]6 foot right 0.92

[0 0 0.04

] [0.878 0 0.2

]7 upper hip left 0

[0 0 0.182

] [0 0 0.091

]8 lower hip left 0

[0 0 0

] [0 0 0

]9 upper leg left 3.58

[0 0 0.32

] [0 0 0.160

]10 lower leg left 0.53

[0 0 0.276

] [0 0 0.138

]11 ankle left 0

[0 0 0.013

] [0 0 0.0065

]12 foot left 0.92

[0 0 0.04

] [0.0878 0 0.2

]Table 6.2: Link masses lengths and their CoM position as they used in the simulation

This simulation is simulated with a gain of 1000 for the P-controller and 5 for the D-controller,because it is of the same order on the real robot and gives good tracking performance. The outputof the simulation is given in Figures 6.3 till 6.5.

In Figure 6.3, the error between the desired joint angles of Figure 6.2 and the measured jointangles of the system are given. In this figure it is shown that the error is always smaller than 0.4◦,which is about 0, 5% of the motion performed by the joint. However at the end the error of the leftleg gets higher, especially the knee. Probably this is because at that moment a half step motion isperformed, with also half the phase time. But in that half step motion the foot is lifted in the sameway as during a full step, therefore a faster motion is required. Overall this tracking performance issufficient.

The aim is of course to let TUlip walk in balance, in Figure 6.4 the position of the CoM is shownwith respect to the world. In this figure the x, y and z motion are plotted. From this plot can beconcluded that TUlip’s walk is in balance, because the height of the torso stays the same and around0.75m. The x-motion keeps increasing until the desired distance is reached. The wavy path of thex-motion is due to the accelerating and decelerating used during stepping. The y-motion also lookslike a wave. This wave is a symmetric wave around the midpoint of the robot projected on theground. It occurs because the CoM is switching between the left and right foot.

With the ground contact model the forces acting on the corners of the foot are modeled. InFigure 6.5 these forces are summed for each foot and plotted. From this figure it can clearly beconcluded that the impact force, the force when the foot hits the ground is significant higher thenwhen it stands on that foot. This can be seen as an indication of a dynamic walking gait, becausethe model falls on its foot instead of placing it carefully down. During the full steps, between 2.5and 9.5 seconds, the impact force is the same at every step for left and right, indicating the gait issymmetric.

45

Page 56: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

0 1 2 3 4 5 6 7 8 9 10 11

−0.4

−0.2

0

0.2

0.4

0.6

time [s]

erro

r [o ]

joint angles errors wrt trajectory right leg

Hip ZHip XHip YKnee YAnkle YAnkle X

0 1 2 3 4 5 6 7 8 9 10 11

−0.4

−0.2

0

0.2

0.4

0.6

time [s]

erro

r [o ]

joint angles errors wrt trajectory left leg

Hip ZHip XHip YKnee YAnkle YAnkle X

Figure 6.3: Error between the desired and measured joint angles of the left and right leg duringa straight walk of 1m

0 1 2 3 4 5 6 7 8 9 10 11−0.5

0

0.5

1

1.5

time [s]

posi

tion

CoM

[m]

position CoM in world coordinates

XYZ

Figure 6.4: CoM position during a straight walk of 1m

6.3 Robustness

In Chapter 6.2 a walking motion was simulated, where TUlip walked in a balanced way for 1 meter.To investigate the robustness of this gait we perform some more simulations. The idea is to usethe same desired trajectory, as depicted in Figure 6.2, but with differences at the TUlip model. Thefirst change is either adding and subtracting a mass from the torso, this means the CoM is not atthe same position as expected. If TUlip still walks balanced it means that the position of the CoMmay vary for a balanced walk. In the final robustness simulations the ground height varies. Thissimulates for example a uneven ground or maybe a cable TUlip stands on.

46

Page 57: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

0 1 2 3 4 5 6 7 8 9 10 110

500

1000

1500

2000

2500

3000

time [s]

forc

e [N

]

total vertical force in right foot

0 1 2 3 4 5 6 7 8 9 10 110

500

1000

1500

2000

2500

3000

time [s]

forc

e [N

]

total vertical force in left foot

Figure 6.5: Ground contact forces of the left and right foot during a straight walk of 1m

6.3.1 Varying Masses

Varying the mass of the torso, moves the CoM upwards if weight is added and downwards if weightis subtracted. To test this in simulation three test simulation are carried out:

• Adding a mass of 5kg at the torso

• Adding a mass of 10kg at the torso

• Subtract a mass of 10kg at the torso

A substraction of 5kg is neglected, because it had almost no different behavior as the desired mo-tion. Of every simulation the motion of the CoM of the torso is depicted as it is done in Figure 6.4for the reference motion.

Adding 5kg

In Figure 6.6 the position of the CoM is plotted while the torso in the model is 5kg heavier thenexpected. The first conclusion form this figure is that TUlip keeps upright, because the z stays onthe same height, meaning it is still in balance. A closer look also shows that the x-distance is ashorter then in the reference plot (about 3cm). Probably this is caused by the fact that the CoM lieshigher, which can also be seen on the height of the z-motion in this figure, and therefore the CoMis faster outside of the support polygon. This causes TUlip to tip over faster and hits the ground abit before the desired motion.

Adding 10kg

So adding 5kg does not make the walk of TUlip unbalanced in simulation, therefore 5 more kg isadded at the torso to find the limit. This puts the CoM of the total multi body mechanism in the

47

Page 58: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

0 1 2 3 4 5 6 7 8 9 10 11−0.5

0

0.5

1

1.5

time [s]

posi

tion

CoM

[m]

position CoM in world coordinates

XYZ

Figure 6.6: CoM position during simulation of a system with 5kg extra at the torso

torso, because 99% of the total mass is in that torso. All other parameters are kept the same, as isthe desired trajectory. In Figure 6.7 the trajectory of the CoM in world coordinates is depicted. Itcan be seen that TUlip tips over after 6s, because the z-position goes to negative. Looking at thex- and y-trajectories shows that the CoM falls left forward. This is again caused by the fact thatthe CoM is faster outside of the support polygon, but this time however the swing foot is not fastenough at the desired position to prevent it from falling.

0 1 2 3 4 5 6 7 8 9 10 11−1

−0.5

0

0.5

1

1.5

time [s]

posi

tion

CoM

[m]

position CoM in world coordinates

XYZ

Figure 6.7: CoM position during simulation of a system with 10kg extra at the torso

Subtracting 10kg

In the 2 previous simulations the height of the total CoM of TUlip was increased, but how is thewalk motion influenced if the CoM is lowered. To simulate a lower CoM a simulation was carriedout with subtracted 10kg from the torso. In Figure 6.8 again the motion of the CoM is depicted. Inthe figure can clearly be seen that the vertical position of the CoM is lower then for example duringthe reference trajectory from figure 6.4. Also the figure shows that TUlip stays balanced and walksslightly further as the reference trajectory. Looking at the x- and y-motions it can be seen that it ismore fluent, without extra oscillations and accelerations, this is really visible in the x-motion.

From these simulations where the height of the CoM was varied it can be concluded that a bipedrobot that is position controlled, like TUlip, walks more stable if the CoM is lower than expected bythe trajectory planner. It will make the CoM motion calmer, it still walks the desired distance andthe CoM will stay more in the middle of the support polygon meaning a more balanced walk.

48

Page 59: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

0 1 2 3 4 5 6 7 8 9 10 11−0.5

0

0.5

1

1.5

time [s]

posi

tion

CoM

[m]

position CoM in world coordinates

XYZ

Figure 6.8: CoM position during simulation of a system with 10kg less at the torso

6.3.2 Add Obstacles To The Floor

Varying the ground height will simulate an uneven walking surface. This can occur for example ifa human is walking on rough ground or if the foot is placed on a cable or doorsill. The referencetrajectory however is not designed for walking on such surfaces, but by doing simulations thatsimulates a uneven ground the robustness and balance of TUlip is tested. So again the desired gaitis unchanged and it assumes an even walking ground but the contact model is adjusted in such wayit simulates a step.

During the reference simulation and the mass varying simulations it is assumed that the groundlevel was on height z = 0, and if the foot is below z = 0 a force starts to act on it. By changingthe moment the force starts to act an uneven step is simulated. For example if a step of +1cm issimulated, it is assumed that the ground lies on z = 0.01m. If the foot is below that value the sameforce acts on the foot.

To test TUlip’s robustness with respect to these vertical disturbances during walking, simula-tions have been carried out that assumes a step of +1cm after 2 full step motions, a negative stepof −1cm after 2 full step motions and a negative step of −5cm also after 2 full step motions.

Step of +1cm

In Figure 6.9 the CoM position of TUlip is plotted in time, while a step of 1cm was placed after 2full steps motions. The height of the step had to be smaller then its step height, which was 2cm.Therefore only a positive step of 1cm was simulated. In the figure it is not very clear visible but attime 7s the z moves a bit upwards, also the moment the step occurs. The reaction of TUlip is morevisible in the y motion of the CoM, because it starts to go in another direction. This is in the figureindicated by the pink/red line. The conclusion from this phenomena is that that TUlip becomesvery wobbly when it steps on something, but it does not fall.

Step of −1cm

Because the step up was limited by the height of the step height, a negative step was applied to thesurface. This will occur if TUlip steps off a plate or soccer field. The first simulation will be withthe same step as in the previous simulation, i.e. −1cm. In Figure 6.10 the motion of the CoM isplotted against time. From this figure can be concluded that TUlip stays upright, but as with thepositive step, it gets wobbly. The wobblyness makes the walk-direction of TUlip changing towardthe right. Also the motion in x-direction shows a disturbance compared to the reference trajectory,

49

Page 60: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

0 1 2 3 4 5 6 7 8 9 10 11−0.5

0

0.5

1

1.5

time [s]

posi

tion

CoM

[m]

position CoM in world coordinates

XYZ

Figure 6.9: CoM position during simulation with a step of +1cm after 7s

as a result the forward distance of the CoM is decreased by approximately 5cm. This phenomenonis caused by the fact that first the left foot steps down and during that step TUlip starts to rotateover the contact point at the back heel. During that rotation the walk direction changes more to theright. When the next step is taken (with the right foot) the CoM swings further to the right thanneeded and again it turn around a contact point. Also the contact model is not good enough andTUlip is able to rotate while standing on the ground. Because the step down is that small the CoMstays within the support polygon and TUlip stays upright.

0 1 2 3 4 5 6 7 8 9 10 11−0.5

0

0.5

1

1.5

time [s]

posi

tion

CoM

[m]

position CoM in world coordinates

XYZ

Figure 6.10: CoM position during simulation with a step of -1cm after 7s

Step of −5cm

With a step down of 1cm Tulip hardly kept itself upright during simulation, therefore the step downwas made larger to see if TUlip falls down if the step was to big. Therefore a simulation is carriedout that simulates a step down of −5cm. The motion of the CoM during this simulation is showedin Figure 6.11. Immediately it can be seen that at the time instant the step occur (around 7s) TUlipgets unbalanced and start falling. Looking at the y direction it can be seen that TUlip falls to the leftand that is also the side the step down was modeled. The conclusion from this simulation is thatan unsuspected step of −5cm is to much for TUlip to stay balanced while it assumes a flat surface.

6.4 Conclusion

In this chapter it is showed that the designed trajectory generator of chapter 5 is capable of planninga trajectory for a model of TUlip. It is showed in simulation that it is able to walk over a flat surface.

50

Page 61: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

0 1 2 3 4 5 6 7 8 9 10 11−1

−0.5

0

0.5

1

1.5

time [s]

posi

tion

CoM

[m]

position CoM in world coordinates

XYZ

Figure 6.11: CoM position during simulation with a step of -5cm after 7s

The PD-controller makes sure the desired trajectory is followed pretty accurate and shows a maximalerror of 0.5% in the joint trajectories. Also the motion of the CoM is as expected, the height of theCoM stays on one line, the forward distance is 1m as required and the y goes from left to right.

To test the robustness of the trajectory, some robustness tests were carried out. During thesesimulations the desired trajectory was kept the same, but the model of TUlip had some changes.First the mass of the torso was changed what influences the height of the CoM. If the CoM washigher as expected TUlip can handle it until a certain degree, but it influences the desired walkingdistance in a negative way. If the CoM was lower as expected the motion became more fluent andless wobbly. So as conclusion it can be said that if position of the CoM is unknown but can beguessed, it can best be guessed higher when a trajectory is designed.

Also simulations were carried out that takes uneven terrain into account. Simulations weredone with a step up of 1cm and step down of −1cm and −5cm. During the simulations it showedthat TUlip can handle a step up and down of approximately 1cm, but it gets wobbly. A step down of−5cm turn out to be to much and TUlip falls. In other words, TUlip is in simulations able to stepon a screw.

51

Page 62: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

52

Page 63: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

Chapter 7

Experiments

7.1 Introduction

In the previous chapter a successful simulation of the designed 3D-LIPM trajectory generator forTUlip was shown. The same trajectory planner is used for experiments on the real humanoid robotTUlip. With these experiments a validation of the trajectory planner and model of TUlip is carriedout.

The humanoid robot TUlip is a 134 cm tall, 30 kg heavy, anthropomorphic adult-size humanoidrobot. Depicted in Figure 4.2, TUlip has a head, a torso, two arms and two legs. The head containstwo BlackFin camera boards which enable stereo vision. The main computing unit is a 1 gHzPoseidon PC104 stack, which is placed inside the torso, together with the Mesa data acquisitionboards, Elmo amplifiers and XSens 3D motion sensor which measures 3D orientation, acceleration,angular velocity and earth-magnetic field. The arms of the robot comprise one degree of freedomand are placed for aesthetic reasons and for the ability to stand up after a fall. Finally, the mostimportant parts of the humanoid robot are its legs, which both have six degrees of freedom: threerevolute joints are placed in each hip, one in each knee and two in both ankles. See Appendix Bfor a photo of each joint. The joints are actuated by four 90 W and eight 60 W Maxon RE30 andRE35 DC motors. On each motor a HEDS incremental encoder is placed to measure the motor axisangle. The actuators drive the joints through gearboxes with ratios between 66 and 111. Moreover,on each joint axis a Scancon incremental encoder is placed to measure the joint angle. Finally, atfour points below the corners of each foot, Tekscan Flexiforce sensors are placed to measure theground contact force. [48]

During the experiments all joint motions and impact forces on the contact points of the feetare recorded. In this chapter a 3D-LIPM gait, that is executed on TUlip, is analyzed. The desiredand measured joint angles are compared, the trajectory of the CoM is compared with the desiredtrajectory and the contact forces at the feet are given.

7.2 Trajectory following

7.2.1 Joint angles

The desired trajectory for the experiments differs from the desired trajectory during the simulations.The algorithm is the same but parameters are tuned differently to achieve a more balanced walk. InTable 7.1 the parameters used during the experiments are given.

53

Page 64: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

desX_pos_CoM 0.045mdesY_pos_CoM −0.02mdelta_Zlift 0.03mdelta_comZlift 0.00mdes_comXinclination 0◦

des_comYinclination 1◦

des_comYinclination_static 0◦

des_swingYinclination 0◦

delta_TauZ 10◦

zc 0.728m

Table 7.1: Parameters as used during experiments for a straight walk

In Figure 7.1 and 7.2 the desired and measured joint angles of the right and left leg are shownrespectively. In this figure the solid lines indicate the desired joint trajectories and the dashed linesthe measured joint angles. The measurement signals come form the Scancon incremental encodersmounted at the joint axes. It can be seen that the measured angles track the desired angles close,but not exactly. By tuning the gains of the DC motor controller the trajectory is controlled moreaccurate. The gains cannot be increased indefinitely, because this destabilizes the system. Theshowed trajectories are tracked with the most tight controllers possible for each independent joint,without destabilizing the robot.

Figure 7.3 shows the absolute error between the desired and measured joint angles. Immedi-ately can be seen that the knee has the largest error in both the right and left leg. This is probablycaused by the stretch of the wire that is used as transmission in the knee joint. See Appendix B for aphoto of the joint and the wire. Also the joints hip-y and ankle-y use a wire as transmission betweenthe DC motor and the joint axis. In Figure 7.3 the errors of the joint are considerably smaller, butstill larger then the errors of the other joints. Differences in the errors of the wire driven joints areprobably caused by different pre-tension of the wires. The difference between the right and left legerrors is also caused by the difference in pre-tension and possibly joint friction.

The other joints all directly drive the joint axes by a gearbox. The errors in these joints arecaused by backlash in the gearbox. According to the manufacturer this is between 0.5◦ and 1◦.Other causes of the errors are friction in the actuator transmission or joint axes.

7.2.2 Center of Mass

The trajectory planner generates a trajectory for the CoM and converts it into joint trajectories. Thedesired and measured CoM positions are plotted in Figure 7.4 and 7.5. Since it is not possibleto measure the position of the CoM directly, the desired and measured joint angles are used tocompute the position of the CoM using TUlip’s kinematic model.

Figure 7.4 shows the actual and desired CoM motion in world coordinates, as it was also doneduring simulations. It shows that the desired and actual motion of the CoM shows difference inthe x and y direction. In x direction is seems like the CoM position computed from the actual jointangles reaches further then the x motion of the CoM computed using the desired joint angles. Thisphenomena was also shown during simulations where the height of the model’s CoM lower thenexpected. This indicated that the masses of the lower limps of TUlip are assumed too small or thehigher limps too large. However simulations showed the actual motion of the robot will be morecalm and fluent.

In y-direction the actual position of the CoM drifts away from the desired position. It wasalready noticed that the errors in the left leg are larger, this probably has influence on the drift. The

54

Page 65: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

0 2 4 6 8 10 12 14 16−40

−30

−20

−10

0

10

20

30

40

50

60

time [s]

join

t ang

le [o ]

joint angles right leg

Hip ZHip XHip YKnee YAnkle YAnkle XHip ZHip XHip YKnee YAnkle YAnkle X

Figure 7.1: Desired (solid) and measured (dashed) joint angles of the right leg during an exper-iment

0 2 4 6 8 10 12 14 16−40

−30

−20

−10

0

10

20

30

40

50

60

time [s]

join

t ang

le [o ]

joint angles left leg

Hip ZHip XHip YKnee YAnkle YAnkle XHip ZHip XHip YKnee YAnkle YAnkle X

Figure 7.2: Desired (solid) and measured (dashed) joint angles of the left leg during an experi-ment

55

Page 66: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

0 2 4 6 8 10 12 14 16

−10

−5

0

5

10

time [s]

join

t ang

le [o ]

joint angles right leg

0 2 4 6 8 10 12 14 16

−10

−5

0

5

10

time [s]

join

t ang

le [o ]

joint angles left leg

Hip ZHip XHip YKnee YAnkle YAnkle X

Hip ZHip XHip YKnee YAnkle YAnkle X

Figure 7.3: Error between the desired and measured joint angles during an experiment

distribution of the weight between left and right can also be a possible reason for the drift, becauseit is always assumed that the robot is completely symmetric but this is never proven.

In Figure 7.5 the x-, y- and z-motions are plotted in robot coordinates. Most notably in x-directionis a difference between the left and right leg, the left step is shorter then the right. This repeats ateach step. The position in robot coordinates of the CoM in y-direction is also plotted against thetime. In Figure 7.5 it can be seen that the actual motion is not following the desired motion at all.The jump is the switch of the stance leg, this has only affect on the sign of the y-position. During aleft step the CoM of the robot does not follow the curved desired motion at all. During a right step ittries to follow, but here it looks like a large delay occurs. The z-motion however is constant in bothFigure 7.4 and 7.5 and follows the desired position.

0 2 4 6 8 10 12 14 16−0.5

0

0.5

1

1.5

time [s]

posi

tion

CoM

[m]

position CoM in world coordinates

Actual XActual YActual ZDesired XDesired YDesired Z

Figure 7.4: CoM position in world coordinates during a straight walk experiment

56

Page 67: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

0 2 4 6 8 10 12 14 16−0.1

0

0.1

time [s]

X [m

]

CoM trajectory

0 2 4 6 8 10 12 14 16−0.2

0

0.2

time [s]

Y [m

]

0 2 4 6 8 10 12 14 160.6

0.65

0.7

0.75

time [s]

Z [m

]

DesiredActual

Figure 7.5: CoM motion in x y and z during an experiment

7.3 Contact forces

The contact forces are measured by 4 Tekscan Flexiforce sensors at the corners of each foot. Thesensors give an analogue voltage signal as output which is converted to a force [39]. The sum of the4 sensors on each foot are depicted in Figure 7.6.

The signals are very noisy, but it is still clearly visible when the steps are made. If the forces arecompared with those during the simulation (Figure 6.5) the peak of the impact force disappeared.This is because ground contact is modeled as a spring damper system and starts to act only whenthe foot penetrates the ground. The forces are almost of the same magnitude as during simulation.

Looking at the difference between the right and left foot, a difference of 50N is noticed. It is notsure what causes this difference. It is possible that the convention of the analogue signals to forcesis not correct for all sensors, because it is only tested on one sensor. Possibility, converting theanalogue signal of the force sensors to forces is different between the sensors, however this wouldbe inconvenient.

7.4 Summary

In this chapter a partly successful experiment was carried out. We showed that the 3D-LIPM trajec-tory planner is working on TUlip. However, it is not yet able to walk on its own, because the trackingerrors are too large. Especially the absolute errors in the knee are significant. These tracking errorsare probably caused by the wire transmission, which stretches and needs pre-tension. For the samereason we see a difference between the left and right leg.

These tracking errors result in a difference between the desired and actual CoM position. Dueto this difference TUlip does not walk fully balanced.

57

Page 68: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

0 2 4 6 8 10 12 14 160

50

100

150

200

250

time [s]

forc

e [N

]

total vertical force in right foot (experiment)

0 2 4 6 8 10 12 14 160

50

100

150

200

250

time [s]

forc

e [N

]

total vertical force in left foot (experiment)

Figure 7.6: contact force of the feet during an experiment

The foot sensor measurements are doubtful because there is noise on the signal and the con-verting formulas are not certain for all sensors. However it shows which foot is the stance foot andwhich foot is in the air.

58

Page 69: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

Chapter 8

Conclusions and Recommendations

8.1 Conclusions

The aim of this master’s thesis is to implement a full 3D walking strategy in simulation and inpractice on the humanoid robot TUlip. This is done by first reviewing the literature about differentwalking strategies. During this literature review the 3D-Linear Inverted Pendulum Model appearedto be the most interesting strategy for further research. The 3D-LIPM is a simple online methodto design an effective walking gait. In scientific research it is also used as a simple model of thehuman walk. The 3D-LIPM prescribes a trajectory for the general CoM from which the joint anglescan be computed.

The idea of the strategy is simple. It models the human as a linear inverted pendulum withmassless rods, which represent the legs, and a point mass at the end of the rods representing thetotal mass of the body. During walking there is always at least one foot on the ground which can beseen as stance leg. This stance leg is then modeled as an inverted pendulum. The general closedform solution of the dynamics of the linear inverted pendulum are used to design a trajectory forthe CoM.

In the trajectory generator the general solution of the 3D-LIPM is used to prescribe a trajectoryfor the CoM of the humanoid robot TUlip. The trajectory of the swing leg is designed by a cosinevelocity profile interpolation function. The gait of a humanoid robot is divided into different phaseswith each its own function and each it owns initial and desired end position and orientation. Pointto point interpolation functions plan a gait between the initial position and orientation posture andthe desired end position and orientation posture. By stitching these phases together, trajectories forthe CoM and swing foot are designed. Inverse kinematics is used to convert the CoM and swingfoot trajectory into joint trajectories.

The joint trajectories are used as the input for a dynamic model of humanoid robot TUlip inSimMechanics. Simulations are carried out to tune the trajectory such that the dynamic model isable to walk balanced and the robustness of the gait was verified by adding of disturbances. Forexample the position of the CoM was increased or decreased and the steps were simulated withdifferent ground levels. These simulations showed that the trajectory is relatively robust.

The same trajectory planner was converted into C++ and implemented on the humanoid robotTUlip. During experiments it is shown that some joints are mechanically limited to track the fastdesired gait. Therefore TUlip is not (yet) able to walk in balance by itself autonomously. Howeverthe results look promising and the walking speed is increased 4 times compared to the previouswalking trajectory. Due to tracking problems in the joints the trajectory for the CoM also shows anerror, especially in the y-motion. There also is a noticeable difference between the right and left legof TUlip. This is caused by the difference in pre-tensioning of the wire transmission and differencein joint friction.

59

Page 70: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

8.2 Recommendations

Recommendations are only related to the ground contact model, the mechanics of TUlip and thetuning of the gait. The trajectory planner itself is working properly and does not need any adjust-ments. However, it has to be tuned to get a more perfect walking from TUlip.

To get better and more realistic results of the simulations, the ground contact model needsadjustment. It has to be a more realistic contact model that behaves more like the actual ground inboth normal and tangial directions.

Also TUlip itself can mechanically be improved. During the experiments it showed large errorsin the joint motions compared to the simulations. These are caused by stretch in the wires providingthe transmission between the DC motors and the actual joint, but also due to joint friction. Thestretch of the cable will always exist in the current design of TUlip, but if the stretch is the same onboth sides the motion should at least be symmetric. A cable tension meter can be used to have thesame tension on the wires.

For further research on improving a 3D-LIPM trajectory planner for TUlip, it would be inter-esting to look if it is possible to use a learning control algorithm. The desired steps of TUlip arealways the same, and experiments show that also the error repeats every step. This can be used inan iterative learning control architecture.

60

Page 71: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

Appendix A

Forward kinematic matrix

T (1, 1) = sin(q9 + q10 + q11)(sin(q8)(sin(q1 − q7) cos(q3 + q4 + q5) + cos(q1 − q7) sin(q3 + . . .

q4 + q5) sin(q2)) + sin(q3 + q4 + q5) cos(q2) cos(q8)) + cos(q9 + q10 + q11)(cos(q1 − . . .q7) cos(q3 + q4 + q5)− sin(q1 − q7) sin(q3 + q4 + q5) sin(q2)).

T (1, 2) = cos(q12)(cos(q8)(sin(q1 − q7) cos(q3 + q4 + q5) + cos(q1 − q7) sin(q3 + q4 + . . .

q5) sin(q2))− sin(q3 + q4 + q5) cos(q2) sin(q8))− sin(q12)(cos(q9 + q10 + . . .

q11)(sin(q8)(sin(q1 − q7) cos(q3 + q4 + q5) + cos(q1 − q7) sin(q3 + q4 + q5) sin(q2)) + . . .

sin(q3 + q4 + q5) cos(q2) cos(q8))− sin(q9 + q10 + q11)(cos(q1 − q7) cos(q3 + . . .

q4 + q5)− sin(q1 − q7) sin(q3 + q4 + q5) sin(q2))).

T (1, 3) = − sin(q12)(cos(q8)(sin(q1 − q7) cos(q3 + q4 + q5) + cos(q1 − q7) sin(q3 + q4 + . . .

q5) sin(q2))− sin(q3 + q4 + q5) cos(q2) sin(q8))− cos(q12)(cos(q9 + q10 + . . .

q11)(sin(q8)(sin(q1 − q7) cos(q3 + q4 + q5) + cos(q1 − q7) sin(q3 + q4 + . . .

q5) sin(q2)) + sin(q3 + q4 + q5) cos(q2) cos(q8))− sin(q9 + q10 + q11)(cos(q1 − . . .q7) cos(q3 + q4 + q5)− sin(q1 − q7) sin(q3 + q4 + q5) sin(q2))).

T (1, 4) = 0

T (2, 1) = sin(q9 + q10 + q11)(sin(q8)(cos(q1 − q7)(cos(q2) cos(q3)− cos(q3 + q4 + . . .

q5) sin(q2) sin(q3)) + sin(q1 − q7) sin(q3 + q4 + q5) sin(q3))− cos(q8)(cos(q3) sin(q2) + . . .

cos(q3 + q4 + q5) cos(q2) sin(q3)))− cos(q9 + q10 + q11)(sin(q1 − . . .q7)(cos(q2) cos(q3)− cos(q3 + q4 + q5) sin(q2) sin(q3))− cos(q1 − q7) sin(q3 + . . .

q4 + q5) sin(q3)).

T (2, 2) = cos(q12)(cos(q8)(cos(q1 − q7)(cos(q2) cos(q3)− cos(q3 + q4 + q5) sin(q2) sin(q3)) + . . .

sin(q1 − q7) sin(q3 + q4 + q5) sin(q3)) + sin(q8)(cos(q3) sin(q2) + cos(q3 + . . .

q4 + q5) cos(q2) sin(q3)))− sin(q12)(sin(q9 + q10 + q11)(sin(q1 − . . .q7)(cos(q2) cos(q3)− cos(q3 + q4 + q5) sin(q2) sin(q3))− cos(q1 − q7) sin(q3 + . . .

q4 + q5) sin(q3)) + cos(q9 + q10 + q11)(sin(q8)(cos(q1 − q7)(cos(q2) cos(q3)− . . .

61

Page 72: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

cos(q3 + q4 + q5) sin(q2) sin(q3)) + sin(q1 − q7) sin(q3 + q4 + q5) sin(q3))− . . .cos(q8)(cos(q3) sin(q2) + cos(q3 + q4 + q5) cos(q2) sin(q3)))).

T (2, 3) = − sin(q12)(cos(q8)(cos(q1 − q7)(cos(q2) cos(q3)− cos(q3 + q4 + q5) sin(q2) sin(q3)) + . . .

sin(q1 − q7) sin(q3 + q4 + q5) sin(q3)) + sin(q8)(cos(q3) sin(q2) + cos(q3 + . . .

q4 + q5) cos(q2) sin(q3)))− cos(q12)(sin(q9 + q10 + q11)(sin(q1 − . . .q7)(cos(q2) cos(q3)− cos(q3 + q4 + q5) sin(q2) sin(q3))− cos(q1 − q7) sin(q3 + . . .

q4 + q5) sin(q3)) + cos(q9 + q10 + q11)(sin(q8)(cos(q1 − q7)(cos(q2) cos(q3)− . . .cos(q3 + q4 + q5) sin(q2) sin(q3)) + sin(q1 − q7) sin(q3 + q4 + q5) sin(q3))− . . .cos(q8)(cos(q3) sin(q2) + cos(q3 + q4 + q5) cos(q2) sin(q3)))).

T (2, 4) = 0

T (3, 1) = cos(q9 + q10 + q11)(sin(q1 − q7)(cos(q2) sin(q3) + cos(q3 + q4 + q5) cos(q3) sin(q2)) + . . .

cos(q1 − q7) sin(q3 + q4 + q5) cos(q3))− sin(q9 + q10 + q11)(sin(q8)(cos(q1 − . . .q7)(cos(q2) sin(q3) + cos(q3 + q4 + q5) cos(q3) sin(q2))− sin(q1 − q7) sin(q3 + . . .

q4 + q5) cos(q3))− cos(q8)(sin(q2) sin(q3)− cos(q3 + q4 + q5) cos(q2) cos(q3))).

T (3, 2) = sin(q12)(sin(q9 + q10 + q11)(sin(q1 − q7)(cos(q2) sin(q3) + cos(q3 + q4 + . . .

q5) cos(q3) sin(q2)) + cos(q1 − q7) sin(q3 + q4 + q5) cos(q3)) + cos(q9 + q10 + . . .

q11)(sin(q8)(cos(q1 − q7)(cos(q2) sin(q3) + cos(q3 + q4 + q5) cos(q3) sin(q2))− . . .sin(q1 − q7) sin(q3 + q4 + q5) cos(q3))− cos(q8)(sin(q2) sin(q3)− cos(q3 + q4 + . . .

q5) cos(q2) cos(q3))))− cos(q12)(cos(q8)(cos(q1 − q7)(cos(q2) sin(q3) + cos(q3 + . . .

q4 + q5) cos(q3) sin(q2))− sin(q1 − q7) sin(q3 + q4 + q5) cos(q3)) + . . .

sin(q8)(sin(q2) sin(q3)− cos(q3 + q4 + q5) cos(q2) cos(q3))).

T (3, 3) = sin(q12)(cos(q8)(cos(q1 − q7)(cos(q2) sin(q3) + cos(q3 + q4 + q5) cos(q3) sin(q2))− . . .sin(q1 − q7) sin(q3 + q4 + q5) cos(q3)) + sin(q8)(sin(q2) sin(q3)− cos(q3 + . . .

q4 + q5) cos(q2) cos(q3))) + cos(q12)(sin(q9 + q10 + q11)(sin(q1 − q7)(cos(q2) sin(q3) + . . .

cos(q3 + q4 + q5) cos(q3) sin(q2)) + cos(q1 − q7) sin(q3 + q4 + q5) cos(q3)) + cos(q9 + . . .

q10 + q11)(sin(q8)(cos(q1 − q7)(cos(q2) sin(q3) + cos(q3 + q4 + q5) cos(q3) sin(q2))− . . .sin(q1 − q7) sin(q3 + q4 + q5) cos(q3))− cos(q8)(sin(q2) sin(q3)− cos(q3 + q4 + . . .

q5) cos(q2) cos(q3)))).

T (3, 4) = 0

T (4, 1) = l9z(cos(q9)(sin(q8)(sin(q1 − q7) cos(q3 + q4 + q5) + cos(q1 − q7) sin(q3 + q4 + . . .

q5) sin(q2)) + sin(q3 + q4 + q5) cos(q2) cos(q8))− sin(q9)(cos(q1 − q7) cos(q3 + . . .

q4 + q5)− sin(q1 − q7) sin(q3 + q4 + q5) sin(q2)))− l3z sin(q4 + q5) + . . .

l12z(sin(q12)(cos(q8)(sin(q1 − q7) cos(q3 + q4 + q5) + cos(q1 − q7) sin(q3 + . . .

62

Page 73: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

q4 + q5) sin(q2))− sin(q3 + q4 + q5) cos(q2) sin(q8)) + cos(q12)(cos(q9 + q10 + . . .

q11)(sin(q8)(sin(q1 − q7) cos(q3 + q4 + q5) + cos(q1 − q7) sin(q3 + q4 + q5) sin(q2)) + . . .

sin(q3 + q4 + q5) cos(q2) cos(q8))− sin(q9 + q10 + q11)(cos(q1 − q7) cos(q3 + q4 + . . .

q5)− sin(q1 − q7) sin(q3 + q4 + q5) sin(q2)))) + l11z(cos(q9 + q10 + q11)(sin(q8)(sin(q1 − . . .q7) cos(q3 + q4 + q5) + cos(q1 − q7) sin(q3 + q4 + q5) sin(q2)) + sin(q3 + q4 + . . .

q5) cos(q2) cos(q8))− sin(q9 + q10 + q11)(cos(q1 − q7) cos(q3 + q4 + q5)− sin(q1 − . . .q7) sin(q3 + q4 + q5) sin(q2)))− l4z sin(q5) + l10z(cos(q9 + q10)(sin(q8)(sin(q1 − . . .q7) cos(q3 + q4 + q5) + cos(q1 − q7) sin(q3 + q4 + q5) sin(q2)) + sin(q3 + q4 + . . .

q5) cos(q2) cos(q8))− sin(q9 + q10)(cos(q1 − q7) cos(q3 + q4 + q5)− sin(q1 − q7) sin(q3 + . . .

q4 + q5) sin(q2))) + 2l0y(cos(q3 + q4 + q5) sin(q1) + sin(q3 + q4 + q5) cos(q1) sin(q2)) + . . .

l8z(sin(q8)(sin(q1 − q7) cos(q3 + q4 + q5) + cos(q1 − q7) sin(q3 + q4 + q5) sin(q2)) + . . .

sin(q3 + q4 + q5) cos(q2) cos(q8))− l2z sin(q3 + q4 + q5)− l1z sin(q3 + q4 + q5) cos(q2) + . . .

l7z sin(q3 + q4 + q5) cos(q2).

T (4, 2) = l8z(sin(q8)(cos(q1 − q7)(cos(q2) cos(q3)− cos(q3 + q4 + q5) sin(q2) sin(q3)) + sin(q1 − . . .q7) sin(q3 + q4 + q5) sin(q3))− cos(q8)(cos(q3) sin(q2) + cos(q3 + q4 + q5) cos(q2) sin(q3))) + . . .

2l0y(cos(q1)(cos(q2) cos(q3)− cos(q3 + q4 + q5) sin(q2) sin(q3)) + sin(q3 + q4 + . . .

q5) sin(q1) sin(q3)) + l11z(sin(q9 + q10 + q11)(sin(q1 − q7)(cos(q2) cos(q3)− cos(q3 + . . .

q4 + q5) sin(q2) sin(q3))− cos(q1 − q7) sin(q3 + q4 + q5) sin(q3)) + cos(q9 + q10 + . . .

q11)(sin(q8)(cos(q1 − q7)(cos(q2) cos(q3)− cos(q3 + q4 + q5) sin(q2) sin(q3)) + sin(q1 − . . .q7) sin(q3 + q4 + q5) sin(q3))− cos(q8)(cos(q3) sin(q2) + cos(q3 + q4 + q5) cos(q2) sin(q3)))) + . . .

l1z(cos(q3) sin(q2) + cos(q3 + q4 + q5) cos(q2) sin(q3))− l7z(cos(q3) sin(q2) + cos(q3 + q4 + . . .

q5) cos(q2) sin(q3)) + l10z(cos(q9 + q10)(sin(q8)(cos(q1 − q7)(cos(q2) cos(q3)− cos(q3 + . . .

q4 + q5) sin(q2) sin(q3)) + sin(q1 − q7) sin(q3 + q4 + q5) sin(q3))− cos(q8)(cos(q3) sin(q2) + . . .

cos(q3 + q4 + q5) cos(q2) sin(q3))) + sin(q9 + q10)(sin(q1 − q7)(cos(q2) cos(q3)− . . .cos(q3 + q4 + q5) sin(q2) sin(q3))− cos(q1 − q7) sin(q3 + q4 + q5) sin(q3))) + . . .

l12z(sin(q12)(cos(q8)(cos(q1 − q7)(cos(q2) cos(q3)− cos(q3 + q4 + q5) sin(q2) sin(q3)) + . . .

sin(q1 − q7) sin(q3 + q4 + q5) sin(q3)) + sin(q8)(cos(q3) sin(q2) + cos(q3 + q4 + . . .

q5) cos(q2) sin(q3))) + cos(q12)(sin(q9 + q10 + q11)(sin(q1 − q7)(cos(q2) cos(q3)− . . .cos(q3 + q4 + q5) sin(q2) sin(q3))− cos(q1 − q7) sin(q3 + q4 + q5) sin(q3)) + cos(q9 + q10 + . . .

q11)(sin(q8)(cos(q1 − q7)(cos(q2) cos(q3)− cos(q3 + q4 + q5) sin(q2) sin(q3)) + sin(q1 − . . .q7) sin(q3 + q4 + q5) sin(q3))− cos(q8)(cos(q3) sin(q2) + cos(q3 + q4 + q5) cos(q2) sin(q3))))) + . . .

l5z sin(q3) + l9z(sin(q9)(sin(q1 − q7)(cos(q2) cos(q3)− cos(q3 + q4 + q5) sin(q2) sin(q3))− . . .cos(q1 − q7) sin(q3 + q4 + q5) sin(q3)) + cos(q9)(sin(q8)(cos(q1 − q7)(cos(q2) cos(q3)− . . .cos(q3 + q4 + q5) sin(q2) sin(q3)) + sin(q1 − q7) sin(q3 + q4 + q5) sin(q3))− . . .cos(q8)(cos(q3) sin(q2) + cos(q3 + q4 + q5) cos(q2) sin(q3)))) + l3z cos(q4 + q5) sin(q3) + . . .

l4z cos(q5) sin(q3) + l2z cos(q3 + q4 + q5) sin(q3).

T (4, 3) = l3z − l8z(sin(q8)(cos(q1 − q7)(cos(q2) sin(q3) + cos(q3 + q4 + q5) cos(q3) sin(q2))− . . .sin(q1 − q7) sin(q3 + q4 + q5) cos(q3))− cos(q8)(sin(q2) sin(q3)− cos(q3 + q4 + . . .

63

Page 74: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

q5) cos(q2) cos(q3)))− l11z(sin(q9 + q10 + q11)(sin(q1 − q7)(cos(q2) sin(q3) + . . .

cos(q3 + q4 + q5) cos(q3) sin(q2)) + cos(q1 − q7) sin(q3 + q4 + q5) cos(q3)) + cos(q9 + . . .

q10 + q11)(sin(q8)(cos(q1 − q7)(cos(q2) sin(q3) + cos(q3 + q4 + q5) cos(q3) sin(q2))− . . .sin(q1 − q7) sin(q3 + q4 + q5) cos(q3))− cos(q8)(sin(q2) sin(q3)− cos(q3 + q4 + . . .

q5) cos(q2) cos(q3))))− 2l0y(cos(q1)(cos(q2) sin(q3) + cos(q3 + q4 + . . .

q5) cos(q3) sin(q2))− sin(q3 + q4 + q5) cos(q3) sin(q1))− l12z(sin(q12)(cos(q8)(cos(q1 − . . .q7)(cos(q2) sin(q3) + cos(q3 + q4 + q5) cos(q3) sin(q2))− sin(q1 − q7) sin(q3 + . . .

q4 + q5) cos(q3)) + sin(q8)(sin(q2) sin(q3)− cos(q3 + q4 + q5) cos(q2) cos(q3))) + . . .

cos(q12)(sin(q9 + q10 + q11)(sin(q1 − q7)(cos(q2) sin(q3) + cos(q3 + q4 + . . .

q5) cos(q3) sin(q2)) + cos(q1 − q7) sin(q3 + q4 + q5) cos(q3)) + cos(q9 + q10 + . . .

q11)(sin(q8)(cos(q1 − q7)(cos(q2) sin(q3) + cos(q3 + q4 + q5) cos(q3) sin(q2))− . . .sin(q1 − q7) sin(q3 + q4 + q5) cos(q3))− cos(q8)(sin(q2) sin(q3)− cos(q3 + q4 + . . .

q5) cos(q2) cos(q3)))))− l10z(cos(q9 + q10)(sin(q8)(cos(q1 − q7)(cos(q2) sin(q3) + . . .

cos(q3 + q4 + q5) cos(q3) sin(q2))− sin(q1 − q7) sin(q3 + q4 + q5) cos(q3))− . . .cos(q8)(sin(q2) sin(q3)− cos(q3 + q4 + q5) cos(q2) cos(q3))) + sin(q9 + q10)(sin(q1 − . . .q7)(cos(q2) sin(q3) + cos(q3 + q4 + q5) cos(q3) sin(q2)) + cos(q1 − q7) sin(q3 + . . .

q4 + q5) cos(q3)))− l1z(sin(q2) sin(q3)− cos(q3 + q4 + q5) cos(q2) cos(q3)) + . . .

l7z(sin(q2) sin(q3)− cos(q3 + q4 + q5) cos(q2) cos(q3)) + l5z cos(q3)− . . .l9z(sin(q9)(sin(q1 − q7)(cos(q2) sin(q3) + cos(q3 + q4 + q5) cos(q3) sin(q2)) + . . .

cos(q1 − q7) sin(q3 + q4 + q5) cos(q3)) + cos(q9)(sin(q8)(cos(q1 − q7)(cos(q2) sin(q3) + . . .

cos(q3 + q4 + q5) cos(q3) sin(q2))− sin(q1 − q7) sin(q3 + q4 + q5) cos(q3))− . . .cos(q8)(sin(q2) sin(q3)− cos(q3 + q4 + q5) cos(q2) cos(q3)))) + l3z cos(q4 + . . .

q5) cos(q3) + l4z cos(q5) cos(q3) + l2z cos(q3 + q4 + q5) cos(q3).

T (4, 4) = 1.

64

Page 75: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

Appendix B

Photos of the joints

Figure B.1: Photo of the hip-z joint

65

Page 76: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

Figure B.2: Photo of the hip-x joint

66

Page 77: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

Figure B.3: Photo of the hip-y joint

67

Page 78: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

Figure B.4: Photo of the knee-y joint

68

Page 79: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

Figure B.5: Photo of the ankle-y joint

Figure B.6: Photo of the ankle-x joint

69

Page 80: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

70

Page 81: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

Bibliography

[1] A. Albert and W. Gerth. Analytic path planning algorithms for bipedal robots without a trunk.Journal of Intelligent & Robotic Systems, 36(2):109–127, 2003.

[2] T. Assman. Balanced recovery of a planar biped using the foot placement estimator. Intern-ship report DCT 2010.007, Dynamic and Control, Dep. Mech.Eng., University of TechnologyEindhoven, 2010.

[3] C.I. Byrnes and A. Isidori. New results and examples in nonlinear feedback stabilization.Systems & Control Letters, 12(5):437–442, 1989.

[4] C. Canudas-de Wit. On the concept of virtual constraints as a tool for walking robot controland balancing. Annual Reviews in Control, 28(2):157–166, 2004.

[5] G.A. Cavagna, H. Thys, and A. Zamboni. The sources of external work in level walking andrunning. The Journal of physiology, 262(3):639, 1976.

[6] S.H. Collins, M. Wisse, and A. Ruina. A three-dimensional passive-dynamic walking robotwith two legs and knees. The International Journal of Robotics Research, 20(7):607–615, 2001.

[7] M. Dekker. Zero-moment point method for stable biped walking. internship, MechanicalEngineering, University of Technology Eindhoven, 2009.

[8] J. Denk and G. Schmidt. Synthesis of walking primitive databases for biped robots in 3d-environments. In Proceedings. ICRA’03. IEEE International Conference on Robotics and Automa-tion, 2003., volume 1, pages 1343–1349. IEEE, 2003.

[9] A. Goswami. Foot rotation indicator (fri) point: A new gait planning tool to evaluate posturalstability of biped robots. In Proceedings. 1999 IEEE International Conference onRobotics andAutomation, 1999., volume 1, pages 47–52. IEEE, 1999.

[10] A. Goswami. Postural stability of biped robots and the foot-rotation indicator (fri) point. vol-ume 18, pages 523–533. SAGE Publications, 1999.

[11] A. Goswami, B. Espiau, and A. Keramane. Limit cycles and their stability in a passive bipedalgait. In Proceedings., 1996 IEEE International Conference on Robotics and Automation, 1996.,volume 1, pages 246–251. IEEE, 1996.

[12] D. Gouaillier, V. Hugel, P. Blazevic, C. Kilner, J. Monceaux, P. Lafourcade, B. Marnier, J. Serre,and B. Maisonnier. Mechatronic design of nao humanoid. In ICRA’09. IEEE InternationalConference on Robotics and Automation, 2009., pages 769–774. IEEE, 2009.

[13] J.W. Grizzle, G. Abba, and F. Plestan. Asymptotically stable walking for biped robots: Analysisvia systems with impulse effects. IEEE Transactions on Automatic Control, 46(1):51–64, 2001.

71

Page 82: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

[14] J.W. Grizzle, C. Chevallereau, and C.L. Shih. Hzd-based control of a five-link underactuated3d bipedal robot. In CDC 2008. 47th IEEE Conference on Decision and Control, 2008., pages5206–5213. IEEE, 2008.

[15] T. Ha and C.H. Choi. An effective trajectory generation method for bipedal walking. Roboticsand Autonomous Systems, 55(10):795–810, 2007.

[16] T. Hirose, M. Takenaka. Development of humanoid robot asimo. Honda R&D Technical Review,12(1):1–6, 2001.

[17] Y. Hwang, E. Inohira, A. Konno, and M. Uchiyama. An order n dynamic simulator for ahumanoid robot with a virtual spring-damper contact model. In Proceedings. ICRA’03. IEEEInternational Conference on Robotics and Automation, 2003., volume 1, pages 31–36. IEEE, 2003.

[18] S. Kajita, F. Kanehiro, K. Kaneko, K. Fujiwara, K. Harada, K. Yokoi, and H. Hirukawa. Resolvedmomentum control: humanoid motion planning based on the linear and angular momentum.In Intelligent Robots and Systems, 2003. (IROS 2003). Proceedings. 2003 IEEE/RSJ InternationalConference on, volume 2, pages 1644 – 1650, oct. 2003.

[19] S. Kajita, F. Kanehiro, K. Kaneko, K. Yokoi, and H. Hirukawa. The 3d linear inverted pendulummode: A simple modeling for a biped walking pattern generation. In Proceedings. IEEE/RSJInternational Conference on Intelligent Robots and Systems, 2001., volume 1, pages 239–246. Ieee,2001.

[20] S. Kajita and K. Tani. Study of dynamic biped locomotion on rugged terrain-theory and basicexperiment. In ’Robots in Unstructured Environments’, 91 ICAR., Fifth International Conferenceon Advanced Robotics, 1991., pages 741–746. IEEE, 1991.

[21] K. Kaneko, K. Harada, F. Kanehiro, G. Miyamori, and K. Akachi. Humanoid robot hrp-3. InIROS 2008. IEEE/RSJ International Conference on Intelligent Robots and Systems, sept. 2008.

[22] J.J. Kuffner, S. Kagami, K. Nishiwaki, M. Inaba, and H. Inoue. Dynamically-stable motionplanning for humanoid robots. Autonomous Robots, 12(1):105–118, 2002.

[23] S.H. Lee and A. Goswami. Ground reaction force control at each foot: A momentum-based hu-manoid balance controller for non-level and non-stationary ground. In IEEE/RSJ InternationalConference on Intelligent Robots and Systems (IROS), 2010, pages 3157–3162. IEEE, 2010.

[24] T. McGeer. Passive dynamic walking. International Journal of Robotics Research, 9(2):62–82,1990.

[25] M. Millard, J. McPhee, and E. Kubica. Bipedal foot placement and balance in 3d. Proceedingsof the 2009 Dynamic Walking Conference, Vancouver, Canada, 2009. Poster.

[26] M.G. Pandy. Simple and complex models for studying muscle function in walking. Philosoph-ical Transactions of the Royal Society of London. Series B: Biological Sciences, 358(1437):1501–1509,2003.

[27] S. Pannu, H. Kazerooni, G. Becker, and A. Packard. µ-synthesis control for a walking robot.Control Systems Magazine, IEEE, 16(1):20–25, 1996.

[28] I.W. Park, J.Y. Kim, J. Lee, and J.H. Oh. Mechanical design of humanoid robot platform khr-3(kaist humanoid robot 3: Hubo). In 5th IEEE-RAS International Conference on Humanoid Robots,2005., pages 321–326. Ieee, 2005.

72

Page 83: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

[29] J.H. Park and K.D. Kim. Biped robot walking using gravity-compensated inverted pendulummode and computed torque control. In Proceedings. IEEE International Conference on Roboticsand Automation, 1998., volume 4, pages 3528–3533. Ieee, 1998.

[30] M. Popovic, A. Hofmann, and H. Herr. Angular momentum regulation during human walk-ing: biomechanics and control. In Proceedings. ICRA’04. IEEE International Conference onRobotics and Automation, 2004., volume 3, pages 2405–2411. Ieee, 2004.

[31] J. Pratt, J. Carff, S. Drakunov, and A. Goswami. Capture point: A step toward humanoid pushrecovery. In 6th IEEE-RAS International Conference on Humanoid Robots, 2006, pages 200–207.IEEE, 2006.

[32] J. Pratt and B. Krupp. Design of a bipedal walking robot. volume 6962, 2008.

[33] J. Rebula, F. Canas, J. Pratt, and A. Goswami. Learning capture points for humanoid pushrecovery. In 7th IEEE-RAS International Conference on Humanoid Robots, 2007, pages 65–72.IEEE, 2007.

[34] M.R.A. Saavedra. Stable locomotion of humanoid robots based on mass concentrated model.Ph.d thesis, dept. of system and automatisation, Universidad Carlos III De Madrid, 2008.

[35] B Siciliano and Khatib O., editors. The Handbook of Robotics. Springer, Berlin, Heidelberg,Germany, 2008.

[36] B Siciliano, L. Sciavicco, L. Villani, and G. Oriolo. Robotics: modelling, planning and control.Advanced textbooks in control and signal processing. Springer, 2009.

[37] M.W. Spong. Passivity based control of the compass gait biped. In Proc. of IFAC World Congress,Beijing, China. Citeseer, 1999.

[38] M.W. Spong and F. Bullo. Controlled symmetries and passive walking. IEEE Transactions onAutomatic Control, 50(7):1025–1031, 2005.

[39] G.J.T.J. Verstralen. Accessing sensors for control of a humanoid robot. Bachelor final projectDC 2010.27, Eindhoven University of Technology, Dept. of Mechanical Engineering, 2010.

[40] M. Vukobratovic and B. Borovac. Zero-moment point-thirty five years of its life. InternationalJournal of Humanoid Robotics, 2004., 1(1):157–173, 2004.

[41] M. Vukobratovic, B. Borovac, and V. Potkonjak. Towards a unified understanding of basicnotions and terms in humanoid robotics. Robotica, 25(1):87–101, 2007.

[42] M. Vukobratovic and D. Juricic. Contribution to the synthesis of biped gait. IEEE Transactionson Biomedical Engineering, (1):1–6, 1969.

[43] E.R. Westerveld, J.W. Grizzle, C. Chevallereau, J.H. Choi, and B. Morris. Feedback control ofdynamic bipedal robot locomotion. Taylor and Francis/CRC Press, June 2007.

[44] E.R. Westervelt, J.W. Grizzle, and D.E. Koditschek. Hybrid zero dynamics of planar bipedwalkers. IEEE Transactions on Automatic Control, 48(1):42–56, 2003.

[45] D.L. Wight, E.G. Kubica, and D.W.L. Wang. Introduction of the foot placement estimator:A dynamic measure of balance for bipedal robotics. Journal of Computational and NonlinearDynamics, 3:011009, 2008.

73

Page 84: ALinear Inverted Pendulum Walk Implemented on TUlip · 2012-12-10 · bipedal locomotion. One of the bipedal locomotion strategies is the 3D Linear Inverted Pendulum (3D-LIPM). It

[46] C. Yin, Q. Zhou, and L. Xiao. Walking stability of a humanoid robot based on fictitious zero-moment point. In ICARCV’06. 9th International Conference on Control, Automation, Roboticsand Vision, 2006., pages 1–6. IEEE, 2006.

[47] V. Zordan. Angular momentum control in coordinated behaviors. pages 109–120. Springer,2010.

[48] P.W.M. van Zutven, S.J. van Dalen, T.M. Assman, J. Caarls, C. Çilli, M.A.P. Aarts, T.P.M.Boshoven, P. Mironchyk, E. Ilhan, and H. Nijmeijer. Tech united eindhoven robocup adultsize humanoid team description 2012. 2012.

74