Human-like Control of Dynamically Walking Bipedal Robots

Transcription

Human-like Control of Dynamically Walking Bipedal Robots
Human-like Control of
Dynamically Walking Bipedal Robots
Tobias Luksch
Vom Fachbereich Informatik der
Technischen Universität Kaiserslautern
zur Verleihung des akademischen Grades
Doktor der Ingenieurwissenschaften (Dr.-Ing.)
genehmigte Dissertation.
Zur Begutachtung eingereicht am:
Datum der wissens. Aussprache:
26. Oktober 2009
18. Mai 2010
Vorsitzender:
Erster Berichterstatter:
Zweiter Berichterstatter:
Dekan:
Prof.
Prof.
Prof.
Prof.
Dr. rer.
Dr. rer.
Dr.-Ing.
Dr. rer.
Zeichen der TU im Bibiliotheksverkehr: D 386
nat. Rolf Wiehagen
nat. Karsten Berns
Rüdiger Dillmann
nat. Karsten Berns
Acknowledgments
It would have been a tremendous task indeed to write a doctoral thesis without the help
and support of many people around me, to only some of whom it is possible to give
particular mention here.
In the first place, I wish to express my gratitude to my supervisor Prof. Dr. Karsten Berns,
who made it possible for me to continue my interests in the control of walking machines.
He granted all the freedom and support one could wish for with regard to deciding on and
to following the own research directions. During many sessions at late evening hours, he
spared his time for scientific discussions, with topics ranging from specific problems to
future visions. Special thanks go to my second referee Prof. Dr. Rüdiger Dillmann, who
was willing to take the job of reading and judging yet another doctoral thesis despite his
tight schedule.
Furthermore, I would like to thank several students who helped me in developing and
implementing some ideas of this work: the mechanical design of the single leg prototype
was done by Florian Flörchinger, Matthias Roth, and Jan Schumann. Zornitza Chiderova,
Dominik Lamp, and Boris Gilsdorf did the first evaluations on various aspects of the
simulation of bipedal walking. In particular, I am very grateful to Max Steiner, who
did substantial work on the stable standing control and on preliminary integration of
machine learning methods. In this context, I wish to thank Prof. Dr. Katja Mombaur and
Gerrit Schultz, then her diploma student, for their cooperation in the bmbf project on
optimization-based generation of natural fast and stable motion patterns of bio-inspired
walking machines, the results of which were included in the prototype development.
My infinite gratitude must be expressed to all the colleagues at the Robotics Research Lab:
Christopher Armbrust, Sebastian Blank, Tim Braun, Tobias Föhst, Carsten Hillenbrand,
Jochen Hirth, Yasir Niaz Khan, Lisa Kiekbusch, Jan Koch, Syed Atif Mehdi, Martin
Proetzsch, Max Reichardt, Alexander Renner, Daniel Schmidt and Daniel Schmidt, Norbert
Schmitz, Helge Schäfer, Thomas Wahl, Jens Wettach, and Gregor Zolynski. They created a
truly inspiring environment and enjoyable atmosphere to work at. Regarding the realization
of this thesis, special thanks go to Martin for valuable discussions on even the most obscure
facets of behavior-based control. To Thomas, for solely taking on the research on bipedal
walking and for his help with the prototype. To Jens and to Tim for their great work on the
simulation environment. And to Carsten, for his priceless help in all questions concerning
electronics and mechanics, and many fruitful and enjoyable discussions regarding all aspects
of robot design and development.
I also wish to thank Rita Broschart for her support concerning all kinds of administrative
endeavor. Further thanks go to Lothar Gauss; since his joining the group, producing parts
in the workshop became a much easier and less time-consuming task.
ii
Finally, I thank my parents for their support, especially my father for taking up the tedious
task of proof-reading this whole thesis and supplying me with countless corrections and
suggestions regarding my flawed technical writing. Last but not least, my thanks and love
go to my wife Birgit. Only her encouragement, understanding, and insistence enabled me
to finish this thesis.
Abstract
Despite several decades of research, locomotion of bipedal robots is still far from achieving
the graceful motions and the dexterity observed in human walking. Most of today’s bipeds
are controlled by analytical approaches based on multibody dynamics, pre-calculated
joint trajectories, and Zero-Moment Point considerations to ensure stability. However,
beside their considerable achievements these methods show several drawbacks like strong
model dependency, high energetic and computational costs, and vulnerability to unknown
disturbances. In contrast to this, human locomotion is elegant, highly robust, fast, and
energy efficient. These facts gave rise to the main hypothesis of this thesis, namely that a
control system based on insights into human motion control can yield human-like walking
capabilities in two-legged robots.
This thesis thus presents a control methodology for bipeds relying heavily on the transfer
of concepts found in the locomotion control of humans. Based on a thorough review on
biomechanics and neuroscience literature, a control approach is derived that can achieve
dynamic, efficient, and robust walking of three-dimensional and fully articulated bipeds.
Being located above the neural level, the control system is structured as a hierarchical
network of local feed-forward and feedback units, without using a complete dynamic model
or pre-calculated joint trajectories. Sensor event-based spinal pattern generators coordinate
the stimulation and synchronization of control units and the compliance of passive joints.
By applying local torque commands instead of joint angle control, passive dynamics and
self-stabilizing effects of elasticities can be exploited. Postural control is achieved by the
phase-dependent activity of several reflexes of various complexity.
The suggested approach is tested in a full-featured dynamics simulation framework on an
anthropomorphic biped with 21 degrees of freedom and human-like morphology, weight,
and actuation. The control system can achieve three-dimensional dynamic walking of
variable velocity as well as balanced standing. It is able to cope with the high complexity
and the mechanical elasticities of the modeled biped. The emerging, naturally looking
walking gait shows remarkable similarities to human walking. Simultaneous control of
only a subset of joints is sufficient to direct the passive dynamics of the robot towards a
walking gait. The achieved walking velocity of up to 5 km/h can compete with even the
most advanced of today’s bipeds. At the same time, energy efficiency is much better than
in joint angle controlled robots. The control system shows considerable robustness against
unknown and unexpected disturbance like steps, slopes, or external forces.
Contents
1 Introduction
1.1 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Technical Control Methods for Bipedal Robots
2.1 Challenges in Bipedal Walking . . . . . . . . . . .
2.1.1 Dynamically vs. Statically Stable Walking
2.2 Common Methods in Controlling Bipeds . . . . .
2.2.1 Zero-Moment Point . . . . . . . . . . . . .
2.2.2 Virtual Model Control . . . . . . . . . . .
2.3 Examples for Technically Controlled Bipeds . . .
2.4 Assessment of Technical Control Approaches . . .
1
3
5
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7
7
7
10
10
12
13
20
3 Human Locomotion Control
3.1 Structural Organization of Motion Control . . . . . . . . .
3.1.1 Functional Morphology . . . . . . . . . . . . . . . .
3.1.2 Neurological Basics . . . . . . . . . . . . . . . . . .
3.1.3 Sensorimotor Interaction . . . . . . . . . . . . . . .
3.1.4 Hierarchical Layout of Motion Control . . . . . . .
3.2 Normal Walking in Humans . . . . . . . . . . . . . . . . .
3.2.1 Biomechanical Gait Analysis . . . . . . . . . . . . .
3.2.2 Phases of Walking . . . . . . . . . . . . . . . . . .
3.2.3 Reflex Function during Walking . . . . . . . . . . .
3.2.4 Postural Control . . . . . . . . . . . . . . . . . . .
3.3 Key Aspects of Biological Walking Control . . . . . . . . .
3.4 Biologically Inspired Control of Bipedal Robots . . . . . .
3.4.1 Exploitation of Inherent Dynamics and Elasticities
3.4.2 Neuro-, Reflex-, and Oscillator-based Control . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
23
23
23
26
30
32
36
36
47
48
50
53
55
55
60
.
.
.
.
.
.
.
.
.
67
67
69
69
70
70
70
71
71
72
4 A Biologically Supported Concept
4.1 Passive Control Aspects . . . . .
4.2 Control Unit Classes . . . . . . .
4.2.1 Locomotion Modes . . . .
4.2.2 Spinal Pattern Generators
4.2.3 Motion Phases . . . . . .
4.2.4 Motor Patterns . . . . . .
4.2.5 Local Reflexes . . . . . . .
4.2.6 Postural Reflexes . . . . .
4.3 Hierarchical Layout . . . . . . . .
.
.
.
.
.
.
.
for Controlling
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Bipeds
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
vi
Contents
5 Controlling Dynamic Locomotion of a Fully Articulated Biped
5.1 System Premises . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.1 Kinematic Layout . . . . . . . . . . . . . . . . . . . . . . .
5.1.2 Assumed Actuation and Sensor System . . . . . . . . . . .
5.1.3 The Behavior-based Control Architecture iB2C . . . . . .
5.2 Guidelines for Designing Control Units . . . . . . . . . . . . . . .
5.2.1 Feed-Forward Control Units . . . . . . . . . . . . . . . . .
5.2.2 Feedback Control Units . . . . . . . . . . . . . . . . . . .
5.2.3 Guidelines for Implementing iB2C Features . . . . . . . . .
5.3 Stable Standing . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.1 Balanced Standing Control in Humans . . . . . . . . . . .
5.3.2 Stabilized Standing Control . . . . . . . . . . . . . . . . .
5.3.3 Stable Standing State Machine . . . . . . . . . . . . . . .
5.3.4 Ground Adaptation . . . . . . . . . . . . . . . . . . . . . .
5.3.5 Posture Stabilization . . . . . . . . . . . . . . . . . . . . .
5.3.6 Posture Optimization . . . . . . . . . . . . . . . . . . . . .
5.3.7 Relaxed Stance . . . . . . . . . . . . . . . . . . . . . . . .
5.4 Dynamic Walking . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4.1 Interrelation between Locomotion Modes . . . . . . . . . .
5.4.2 Walking Initiation . . . . . . . . . . . . . . . . . . . . . .
5.4.3 Spinal Pattern Generator for Walking . . . . . . . . . . . .
5.4.4 Walking Phase 1: Weight Acceptance . . . . . . . . . . . .
5.4.5 Walking Phase 2: Propulsion . . . . . . . . . . . . . . . .
5.4.6 Walking Phase 3: Stabilization . . . . . . . . . . . . . . .
5.4.7 Walking Phase 4: Leg Swing . . . . . . . . . . . . . . . . .
5.4.8 Walking Phase 5: Heel Strike . . . . . . . . . . . . . . . .
5.4.9 Posture Control . . . . . . . . . . . . . . . . . . . . . . . .
6 Implementation of Bipedal Walking Control
6.1 Simulation Environment . . . . . . . . . . . . . .
6.1.1 Embedding the Physics Engine . . . . . .
6.1.2 Actuators and Joint Control . . . . . . . .
6.1.3 Simulation of Sensors . . . . . . . . . . . .
6.1.4 Model of Simulated Biped . . . . . . . . .
6.2 Notes on the Implementation . . . . . . . . . . .
6.2.1 Group Layout and Phase Representatives .
6.2.2 Application of iB2C Features . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
75
75
75
77
77
81
81
82
83
83
83
85
85
86
88
88
89
90
90
91
95
97
99
101
102
104
105
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
113
. 113
. 113
. 115
. 118
. 119
. 121
. 121
. 122
7 Balanced Standing Experiments
125
7.1 Adaptation to the Ground Geometry . . . . . . . . . . . . . . . . . . . . . 125
7.2 External Forces and Platform Movements . . . . . . . . . . . . . . . . . . . 126
7.3 Posture Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Contents
8 Dynamic Walking Experiments
8.1 Normal Walking . . . . . . . . . .
8.1.1 Locomotion Modes . . . .
8.1.2 Switching Walking Phases
8.1.3 Behavioral Activity . . . .
8.1.4 Kinematic Analysis . . . .
8.1.5 Kinetic Analysis . . . . . .
8.2 Walking under Disturbances . . .
8.2.1 Sloped Terrain . . . . . .
8.2.2 Walking over Steps . . . .
8.2.3 Constant External Forces
vii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
137
137
137
139
142
148
158
168
169
174
175
9 Conclusion and Outlook
177
9.1 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
9.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
A Biomechanical and Anatomical Terms
185
B Dynamics Simulation Framework
B.1 MCA2 and SimVis3D . . . . . . . . . . . . .
B.2 Embedding of the Physics Engine . . . . . .
B.3 Interface to Control System and Simulation
B.4 Simulation Scenario for Biped Experiments .
191
191
193
195
198
Bibliography
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
203
viii
Contents
1. Introduction
Since many centuries, man is dreaming of creating an artificial servant as assistant in
daily life or as laborer for exhausting work. Before the advent of industrial robotics,
these moving machines built of inanimate matter have been imagined as likenesses of
man, working in humanly environment. The golem described in the Jewish folklore can
be seen as an early example, a figure of human shape being formed from clay. The tale
of Rabbi Judah Loew ben Bezalel tells of his creation of a golem to defend the Jewish
ghetto of the 16th century Prague against anti-Semitic attacks. Figure 1.1 shows Paul
Wegener’s interpretation of a golem in his silent movie series from 1920. The character
of the golem inspired many writers, like Johann Wolfgang von Goethe in his poem “The
Sorcerer’s Apprentice”, Mary Shelley and her novel “Frankenstein”, or the Czech writer
Karel C̆apek. His science fiction play “R. U. R.” (Rossum’s Universal Robots) from 1921
introduced clone-like artificial creatures working for and then rebelling against their human
creators. These androids are called Robots based on the Czech work robota meaning labor,
thus making the term known and popular.
While the golems, C̆apek’s robots, or Frankenstein’s creature are made of animated clay
or human tissue, the idea of an artificial laborer also infected inventors and engineers. As
early as 1886 Zadock Dederick built and was granted a patent for his Steam Man, a 250 kg
heavy machine powered by a steam engine and pulling a rockaway carriage (Figure 1.1).
In 1893, George Moore adopted the idea and built a similar mechanical man, supported
by a horizontal bar and able to walk in circles. At the New York World’s Fair in 1939, the
robot Elektro was exhibited (Figure 1.1). Build by J. M. Barnett of the Pittsburgh-based
Westinghouse Electric Corporation as an elaborate marketing tool, the 120 kg machine of
about 2.1 m in height could move its mouth, fingers, and limbs. Triggered by simple voice
commands, it would replay recorded speech samples, walk, or smoke cigarettes. Similar
projects of that time include the radio controlled robot George by Pilot Officer Sale (1950),
Garco by Harvey Chapman (1953), Gygan by Piero Fiorito (1957), or MM47 by Claus
Scholz (1961).
The walking mechanisms of the machines mentioned above were of rather primitive form,
the leg movement mostly induced by a single rotating motor and straight-line linkages. To
enable more robust locomotion on uneven ground, more sophisticated constructions became
2
1. Introduction
Figure 1.1: The Golem in Paul Wegener’s silent movies (1920), Steam Man created by Zadock
Dederick (1886), Elektro built by the Pittsburgh-based Westinghouse Electric Corporation (1938),
WL-1 (1967) and WABOT-1 (1973), developed by Ichiro Kato, Waseda University.
necessary. The development of walking machines aroused the interest of the scientific
community. Ichiro Kato of the Waseda University in Japan started his pioneer work on
bipedal robots in 1966. His first robot WL-1 from 1967 is shown in Figure 1.1, WL-3
developed in 1969 could already perform preliminary static walking as well as standing
and sitting motions [Lim 06]. In 1973, Kato’s group built the robot WABOT-1, which is
commonly accepted as the first fully articulated anthropomorphic biped [Kato 73].
With the emergence of complex machines like those developed by Kato and others, and
the availability of microprocessors, it soon became apparent that not only the mechanical
design but also the control of bipedal robots poses challenging problems. While Rabbi
Loew could simply write the instructions for his golem on a piece of paper and place it
in the golem’s mouth, controlling two-legged locomotion turned out to be much more
difficult. The high center of mass, the small support area spanned by only two feet,
and an essentially dynamic gait make preserving balance and stability a tough job. As
robotics scientists mainly emerged from mechanical engineering, the mathematical tools
and concepts of this research field where applied to find fitting control strategies, the
most prominent one being Vukobratović’s Zero-Moment Point concept. It found its first
application in 1984 on Kato’s robot WL-10RD and will be described in detail later in
this thesis. Since then, the majority of research projects on bipedal robots complied with
these ideas and methods. Mainly located in Japan and other Asian countries, these efforts
yielded impressive machines like Honda’s Asimo or Kaist’s Hubo.
But in spite of over four decades of research, the problem of mechanical bipedal locomotion
is still far from being solved. Compared to the elegant and efficient walking motions of
humans, even the most sophisticated bipedal robots appear clumsy and slow. One possible
way of improving the performance of two-legged walking machines could be the transfer of
ideas from biology, not only in respect to the mechanical setup, but also to the control
concepts.
The knowledge necessary for this approach can be found in research on biomechanics
and neurosciences. As with the urge for an artificial servant, man’s aspiration to know
the working of his own body has a history of many centuries. Aristotle (384–322 BC) is
commonly seen as founder of kinesiology, the science of movement of the body. In his book
1.1. Objectives
3
“De Motu Animalium” he was the first to treat the action of muscles and their geometrical
relationship to extremities, and to analyze walking as cyclic motion. The studies of
Archimedes (287–212 BC) on gravity and leverage laid the foundation to mechanical
analysis of motion. The Roman physician Galen (AD 131–201) introduced the principle
of antagonistic muscle work or the distinction between muscle and sensory nerves in his
treatise “De Motu Musculorum”, considered to be the first textbook on biomechanics.
It was up to Leonardo da Vinci (1452–1519) to further the field of kinesiology during the
Renaissance after many centuries of stagnation. The artist and scientist had an interest in
the structure of the human body and tried to identify muscles, nerves, and the mechanics
of the body during various motions. In 1543, the Flemish physician Andreas Vesalius
published his text “On the Structure of the Human Body”, correcting some of the error
made by Galen. In the late 16th and the following century, important contributions can
be attributed to Galileo Galilee, Marcello Malpighi, and especially to Giovanni Alfonso
Borelli. He was the first to understand that the forces produced by muscles have to be
larger than those acting against the skeletal motion, as the levers of the musculoskeletal
system magnify motion rather than force. This was even before Isaac Newton (1642–1727)
wrote his famous work “Principia Mathematica Philosophiae Naturalis” containing the
three laws of rest and movement, being essential for the analysis of body dynamics. In
the 18th century, electricity replaced the notion of “animal spirits” as origin of muscle
activation. Luigi Galvani (1737–1798) first stated the presents of electrical potentials in
muscles and nerves. In 1748 David Hartley established the term reflex as an automatic
response to a stimulus.
The 19th century saw the beginning of modern gait analysis. The Weber brothers
published their book “Die Mechanik der Menschlichen Gehwerkzeuge”, describing the
natural frequency of a pendulum-like leg swing and establishing the mechanism of muscular
action on a scientific basis. The arise of photographic techniques applied by Eadweard
Muybridge or Jules Marey allowed more detailed analysis of motion. Christian Wilhelm
Braune and Otto Fischer experimentally determined the body’s center of gravity. Adolf
Eugen Fick (1829–1901) introduced the terms isometric and isotonic during his analysis of
the mechanics of muscular movement and energetics. Sherrington’s work “The Integrative
Action of the Nervous System” is published in 1906. Sixteen years later, Archibald V.
Hill (1886–1977) receives the Nobel Prize for his studies on the oxygen consumption
during muscle work. In the middle of the 20th century, analyzing dynamic motions and
scrutinizing the “why” of human movement began to dominate research on biomechanics
and neurosciences. This objective has not changed up to now, and still human motion
control is far from being completely understood. Nevertheless, recent results in these fields
encourage the transfer of biological concepts to the design and control of technical systems.
Combined with the advances made in the development and control of complex robotic
systems, this strategy acted as motivation for the work at hand.
1.1
Objectives
The goal of this thesis is the derivation of a control methodology for dynamical locomotion
of bipedal robots based on concepts found in human motion control.
This goal is based on the hypothesis that a control system similar to the human one will
enable a robot to perform locomotion in a likewise fashion. Obviously, neither all aspects
4
1. Introduction
of human motion control nor all capabilities of human locomotion can be expected to be
considered or included. A reasonable subset needs to be regarded that is tailored to be
applicable to bipedal robots with today’s technical means, but still is as general as possible
to allow a broad range of motions and skills. Balanced standing and three-dimensional
dynamic walking of a fully articulated anthropomorphic biped shall be the target forms of
locomotion for this work. This allows to analyze the control performance during both more
static and dynamic motions of a complex robotic system. Further modes of movement like
running or jumping should potentially be viable.
While the results of a single thesis surely cannot fully compete with the abilities of machines
developed over decades, it at least should be shown that some of their drawbacks can be
overcome. As in the natural example, a walking style of less clumsiness, higher speed, or
better efficiency should be expected. In case a comparison to human walking should result
in substantial similarities, e. g. regarding joint angle trajectories, even a step towards the
confirmation of biomechanical or neuroscientific hypotheses could be ventured.
To design a biologically inspired control concept in correspondence to the goal just
formulated several issues have to be addressed. The following topics are regarded as being
crucial and thus will be approached in detail within this thesis:
Analysis of Recent Results from Biomechanics and Neuroscience
As mentioned on the previous pages, biomechanics and neuroscience have a long lasting
history. Accordingly the state-of-the-art on these topics is extensive and still growing.
Nevertheless it needs to be examined to identify the key aspects of human motion control
that have the potential to be transferred to a robotic control system. Fortunately, some
researchers of these disciplines have already offered some advice for the robotics community
that can serve as starting point for the analysis.
Dependence of Mechanics and Control in Human Motion Generation
It can be assumed that during the course of evolution, the human morphology has been
optimized towards bipedalism. Research on functional morphology can help to identify
the properties of the musculoskeletal system essential for locomotion. While this work’s
objectives cannot include the development of mechanical solutions, still properties like
muscle characteristics, mass distribution, or limb geometry need to be analyzed as control
aspects are depending on them. Especially potential exploitation of passive dynamics
should be considered.
Granularity and Classes of Suitable Control Units
The selected biological key aspects have to be transferred to a technically feasible control
approach. As this thesis follows the concept of behavior-based robot control, a suitable
fusion of conceptual ideas needs to be found. This implies that the granularity of control
units should be above the level of biological neurons. A set of classes of such control units
should be derived from the functional units found in natural motion control, including
feedback as well as feed-forward mechanisms. To arrange such control units and to manage
their communication, a structural layout needs to be defined serving as a design guideline.
1.2. Structure
5
Implementation of Dynamic Walking within the Control Concept
Having determined relevant classes and a control structure, the control units necessary
to synthesize dynamic walking need to be designed. Functional units identified in the
analysis of human walking have to be mapped to the suggested control concept. Solutions
for the implementation of the derived control units must be developed. As a bipedal robot
will never be an exact copy of the human morphology, adaptation of these units as well as
the design of new units will be necessary.
Test Environment for Validation
Lacking an actual robot featuring the properties relevant for human-like dynamic walking,
a suitable model needs to be developed within a simulation environment. The simulation
has to reflect physical effects like gravity, mass distribution, or collision, otherwise dynamic
locomotion and exploitation of passive dynamics could not be observed.
Naturally, there already has been and still is research on the transfer of control aspects from
biology to walking machines, as will be presented in Chapters 3. Hence this thesis aims at
differing from previous work regarding the extend of including biological analysis and the
resulting applicable control aspects, the manner in which these aspects are transformed
into a robot control system, and the complexity of the considered robotic target platform.
Only a small minority of the research projects on biologically motivated robot control has
been applied to the dynamic walking of a fully articulated biped. Finally, as this work
introduces behavior-based control concepts to bipedal robot control, it can be examined if
this harmonizes with the biologically motivated approach or can bring additional benefits
compared to other control methods.
1.2
Structure
This thesis is structured as follows:
Chapter 2 begins by defining the main challenges of dynamic bipedal walking that have to
be handled by the control system. Then common control methods like the Zero-Moment
Point approach are introduced. These methods are based on techniques from mechanical
engineering or industrial robotics, e. g. multibody dynamics, and will be called technical
control methods in contract to biologically inspired ones for the remainder of this work.
The state-of-the-art of these approaches is reviewed and their advantages and drawbacks
are assessed.
In order to develop a human-like biped control system, Chapter 3 introduces basic and
advanced aspects of human locomotion control, both regarding its structural organization
and its functional analysis. Based on these results from biomechanical and neuroscientific
research, key aspects of biological walking control and implications for robotics are derived.
The chapter concludes with an evaluation of literature on biologically inspired control of
two-legged robot locomotion.
In Chapter 4, the insights just gained are used to design a control concept for dynamic
bipedal locomotion. It is discussed how passive dynamics can be exploited and in what
way they influence the control system. Classes of control units are suggested based on
active feed-forward and feedback mechanisms observed in human walking. These control
6
1. Introduction
units are arranged in a hierarchical layout similar to the structure that is assumed to exist
in biological locomotion control.
Chapter 5 describes the design and implementation of stable standing and dynamic
walking control applying the suggested methodology. First, requirements regarding the
mechatronics and the control system of the target platform are given. Then it is discussed
how suitable control units can be found, e. g. by consulting gait analysis research. Next,
the control units and the resulting network for balanced standing on uneven surfaces and
under external disturbances as well as for dynamic walking are introduced.
The simulation environment and the model of the bipedal robot used for the experiments
are presented in Chapter 6. Additionally, it contains notes on particularities of the
implementation regarding the behavior-based architecture and the control framework.
The experiments on stable standing are described in Chapter 7. It is shown how the robot
adapts to the ground geometry and how it reacts to external disturbances. Furthermore,
the results of the posture optimization method are presented.
Finally, Chapter 8 analyzes the performance of the suggested control system during
dynamic walking. Behavioral activity as well as kinematic and kinetic progresses are
discussed. The resulting motions are compared to data from human gait analysis. The
robustness of the control system is evaluated by applying different disturbances during
walking.
The thesis is concluded in Chapter 9. The main aspects and contributions of the suggested
control methodology are summarized and an outlook on possible future research is given.
A short glossary on biomechanical terms, some anatomical guidance, and details on the
implementation of the simulation framework are given in the appendices.
2. Technical Control Methods for
Bipedal Robots
Looking at control methods for two-legged robots two fundamentally different approaches
can be observed: the technical and the biological approach. In this thesis technical control
approaches are understood as the class of methods mainly based on insights from industrial
robotics and mechanical engineering. They draw on sound mathematical concepts like
multibody dynamics, linear and nonlinear control theory, or established joint constructions
and materials from industrial robots. Biologically inspired approaches try to transfer
results from human motion analysis, biomechanics, or neuroscientific research to technical
system. While not totally dismissing approved mathematical and engineer’s resources,
they focus more on new materials and actuation systems, intelligent mechanics, and, most
notably, on adopting control concepts found in nature.
This chapter will review the technical control approaches as they are most commonly used
for bipeds. Then it will be argued that it is well worth looking at how nature is creating
and controlling bipedal locomotion, as done in the subsequent chapter. But to start with,
the main challenges in controlling two-legged locomotion will be introduced. These apply
to the technical as well as the biological control methods.
2.1
Challenges in Bipedal Walking
The task of getting a bipedal robot to walk can be divided into several separate problems.
For each of these challenges a solution must be found to achieve stable, cyclic locomotion.
This section will shortly introduce this set of problems to enhance the understanding on
the subject matter of this thesis. However, first there must be distinguished between two
fundamentally different ways of walking.
2.1.1
Dynamically vs. Statically Stable Walking
Walking can be performed in two entirely different ways: statically or dynamically stable.
This holds true not only for two-legged walking, but also for other multipeds like four-legged
8
2. Technical Control Methods for Bipedal Robots
CoM
CoM
support
support
Figure 2.1: Statically stable walking keeps the projection of the center of mass inside the
support area, dynamic walking allows for temporarily instability.
mammals. In statically stable walking it is possible to freeze the motion at any time
without risking instability. This can only be achieved by always keeping the projection of
the center of mass within the support area of the feet with ground contact. For bipedal
walking this creates the necessity to first fully move the weight of the body over the foot
of the next stance leg before the swing foot can leave the ground. As a result statically
stable walking, while guaranteeing stability, is comparatively slow and tedious, consumes
more energy, and limits the possible step length.
In contrast, dynamically stable walking, or dynamic walking in short, does not pose
limitations that hard on the trajectory of the center of mass. Rather, it must be ensured
that instability remains temporarily. To put it simply, dynamic walking means to constantly
fall, but to bring forward the swing leg in time to prevent tilting over. This far more
efficient kind of walking allows for higher velocity by larger step size, shorter double
support phase, and less time consuming adjustment of weight distribution. Figure 2.1
illustrates the difference by showing projection of the center of mass during a statically
and dynamically stable step.
Nearly all walking found in two- or four-legged vertebrates is dynamic. If at all, statically
stable walking can be observed in very slow or cautious locomotion, or in case highly
deliberate foot placement is necessary. In bipedal robots, both ways of walking can and
have been realized with dynamic walking being the considerably more challenging control
problem. Possible approaches to achieve this behavior will be discussed later in this chapter
and at the end of the next one.
As this thesis focuses on dynamic walking, from now on this way of locomotion is implied,
and the distinction is explicitly made when talking about the statically stable case. The
challenges of walking described in the following also deal with dynamic locomotion, even if
several of these problems must also be tackled for the statically stable alternative.
Transition between Stance and Swing
Walking is a process of discrete phases and transitions: each leg switches its role from
stance to swing, and the biped alternates between single and double support. The challenge
here is to find the proper point in time when to switch from double to single support and
2.1. Challenges in Bipedal Walking
9
Figure 2.2: A typical step during normal dynamic walking of a human subject from one heel
strike to the next.
back again. If the rear leg is lifted too early, energy to transfer the body over the stance
leg might be insufficient. Lifted too late, the time to swing the leg forward to support
the body will be too short. Also, the objectives of the control units involved may change
depending on the walking phase. Switching from one phase to the next can be triggered by
sensory events or after a certain amount of time. Figure 2.2 illustrates the phases during
normal dynamic walking by showing a typical step of a human subject from one heel strike
to the next. The swing phase lasts for about one third of the whole stride’s time. The key
events normally referenced in bipedal robotics as well as in biomechanical gait analysis are
foot strike, midsupport, toe-off, forward swing, and deceleration.
Support of the Trunk
During its stance phase, a leg must support the weight of the upper body. The trunk
height is a result of the stance leg’s length, which can be kept straight or act as virtual
spring. If the leg is kept stiff, more potential energy must be used to lift the upper body
as it moves forward like an inverted pendulum, but the torque in the knee can remain low.
In case the knee is bended, the leg length must be synchronized with the translation of
the trunk.
Leg Swing
The forward swing of the leg has to meet two conditions: the foot must clear the ground,
and the leg must arrive in front of the body in time to act as next swing leg. Ground
clearance can be achieved through shortening the leg by bending the knee, and by keeping
the foot oriented level to the ground. Uneven terrain can make this task even more difficult.
The swing duration can be shortened by accelerating in the hip joint, but the maximum
hip torque confines the minimal duration and as such the maximum walking velocity given
a maximum step length.
Control of Forward Velocity
The appropriate forward velocity of the upper body is crucial for stable dynamic walking.
As the system acts like an inverted pendulum while traversing over the stance leg, enough
kinetic energy must be present to be transferred to potential energy of the upper body.
In contrast, if the velocity is too high, the time for the swing leg to travel before the
body might be too short and the biped tumbles. During walking, energy is consumed by
damping and by foot impact. Measuring or estimating the proper forward velocity is not
easily achieved.
10
2. Technical Control Methods for Bipedal Robots
The forward velocity can be influenced by many factors: the further back the center of
pressure is located in the stance foot during single support, the faster is the resulting
forward movement. Bending the trunk forward accelerates the biped, leaning backwards
slows it down. During double support, the center of mass can be transferred forward
or backwards within certain limitations. A push-off motion using the ankle of the rear
leg before lifting it inserts energy into the system, too. Finally, the timing of the phase
transition events as well as the variation of the step length change the amount of time the
body mass is in front of and behind the stance leg, and thus is accelerating or decelerating
the robot.
Stability of the Trunk in the Sagittal Plane
Keeping the upper body erect or purposefully leaning it forward or backwards as just
mentioned is a further objective during walking. Trunk pitch is disturbed by inertia during
foot impact as well as by gravity as its center of mass lies above the hip joint. It is further
influenced by hip torques generated during leg swing.
Lateral Stability
While the challenges mentioned so far also hold true for planar walking, i. e. walking
confined to the sagittal plane, lateral movement is only introduced in three-dimensional
locomotion. Foot impact can heavily disturb lateral stability. Keeping the biped from
falling to one side can be reached by leaning the upper body sidewards, by applying
torque in the ankle joints, or by shifting the foot position of the swing leg to the left or
right. While the first two methods only allow marginal influence, the last one can even
compensate strong sidewards motions, however it must potentially act over several strides.
Introducing feedback control for both lateral and anterior/posterior stability requires an
estimation of the upper body’s orientation. Given an unknown ground orientation, this
cannot be calculated by kinematics. Sensor systems like inertial measurement units or
vision systems gauging the horizon can provide the necessary information.
2.2
Common Methods in Controlling Bipeds
Nature was not the first choice when biped engineers first looked for inspiration on how
to control two-legged walking machines. Rather, established methods from electrical and
mechanical engineering like multibody dynamics or classical control theory served as basis
for the development of control systems. This section will review the most prominent and
more recent developments of biped research to illustrate the technical control approach.
Most of the control systems for walking bipedal robots are based on Vukobratović’s ZeroMoment Point (zmp) approach [Vukobratovic 72, Vukobratovic 04] or the derived Center
of Pressure (cop) approach [Sardain 04]. Regarding the prominent role of the zmp, the
next section will give a short overview on its ideas.
2.2.1
Zero-Moment Point
The zmp describes a criterion for dynamic balance first formulated by Miomir Vukobratović
in 1968. It is defined as that point on the ground at which the net moment of the inertial
forces and the gravity forces has no component along the horizontal axes.
2.2. Common Methods in Controlling Bipeds
11
Figure 2.3: Visualization of the Zero-Moment Point. From [Vukobratovic 04], p160.
Let us consider a biped robot in single support phase. The influence of the dynamics of the
segments above the ankle is represented by the force FA and the moment MA (Figure 2.3b).
The ground reaction in point P consists of the force R = (RX , RY , RZ ) and the moment
M = (MX , MY , MZ ). The friction of the non-sliding foot on the ground compensates the
horizontal components of FA and the vertical part of MA (Figure 2.3c) and can therefore
be represented by (RX , RY , MZ ). RZ represents the ground reaction that balances vertical
forces. The remaining horizontal components of active moments can only be compensated
by shifting the position P of the reaction force R within the support polygon (Figure 2.3d).
If the support polygon of the foot is not large enough for an appropriate position of R, the
force acts at the edge of foot and a uncompensated component of the reaction moment
remains. This results in a rotation about the foot edge and the robot stumbles. Therefore
the condition for the robot to be in dynamic equilibrium can be given for the point P on
the foot sole where the ground reaction force is acting:
MX = 0
and
MY = 0
(2.1)
The point P is then called the Zero-Moment Point. The static equilibrium equations for
the supporting foot can be given as
R + FA + ms g = 0,
(2.2)
−→
−→
−→
OP × R + OG × ms g + MA + MZ + OA × FA = 0,
(2.3)
where O is the origin of the coordinate system, P the ground reaction force acting point,
G the foot’s center of mass, A the ankle joint, and ms the foot mass.
Projecting Equation 2.3 onto the horizontal plane gives
H
H
−→
−→
−→
(OP × R) + OG × ms g + MAH + MZ + (OA × FA ) = 0
(2.4)
which is the basis for computing the ground reaction force acting point P . To ensure
dynamic equilibrium, the point P must be within the support polygon. If the computed
12
2. Technical Control Methods for Bipedal Robots
Figure 2.4: The ground reaction force acting point P must be within the support polygon.
From [Vukobratovic 04], p164.
point is outside the support polygon (called fictitious, fzmp then), the zmp does not exist
as Equation 2.1 is not met and the ground reaction force acting point P is actually on
edge of support polygon. This results in a rotation around the foot edge and the loss of
balance (Figure 2.4).
The zmp can be used for the task of offline gait synthesis or as a key indicator for online
gait control. It can be measured approximately by force sensors in the foot sole of the robot.
An extension to the zmp and cop can be found in the foot-rotation-indicator [Goswami 99].
It is identical to the cop when located within the foot’s support area, but when outside
it gives information about the degree and direction of postural instability. Most of the
bipeds presented in the following are using zmp calculation as part of their control system.
2.2.2
Virtual Model Control
Another methodology for the control of bipedal robots is the Virtual Model Control
developed by Jerry Pratt [Pratt 95b, Pratt 01]. The goal of this approach is to keep the
control algorithms easy to understand and intuitive.
The idea of Virtual Model Control is to apply forces to the robot via virtual components
that are attached within the robot or between the robot and the environment. The
resulting actual joint torques and forces create the same effect that the force of the virtual
component would create. These components, which have to create a force based on their
state, might include springs, dampers, masses, potential field, or others. The placement of
the components remains with the designer and requires physical intuition. No complete
dynamic model of the robot is required. The equation describing the static dynamics for a
serial link chain is given as
τ = JT F
(2.5)
where τ are the joint torques, J is the Jacobian relating the two attached frames of the
virtual components, and F is the force produced by it.
Robots controlled by Virtual Model Control include a simulated six legged walking
machine [Torres 96]. The 18 degree of freedom robot can walk in any direction, turn, and
balance an inverted pendulum on its back. The bipedal robot Spring Turkey (Figure 2.5a)
can walk in the sagittal plane [Pratt 97]. Each leg has an active degree of freedom in its
knee and hip, but not feet or ankle. The robot is supported and balanced by a virtual
“granny walker” composed of two springs and dampers (Figure 2.5b). Control of forward
speed during double support is realized by a virtual “dog-track bunny” connected to the
2.3. Examples for Technically Controlled Bipeds
(a)
13
(b)
Figure 2.5: (a) The bipedal robot Spring Turkey. (b) Virtual components are attached to the
robot. From [Pratt 97], p197.
robot by a damper. The coordination of the legs is realized by a virtual “reciprocating gait
orthosis”. A state machine selects the components during the different phases of walking.
Spring Turkey can walk in a not so robust manner at a speed of up to 0.5 ms . The robot
Spring Flamingo is also partly controlled by using the Virtual Model Control and discussed
in Section 3.4.1.
2.3
Examples for Technically Controlled Bipeds
Since four decades, reseach institutes throughout the world have been developing bipedal
robots. Despite their anthropomorphic appearance, most of the efforts follow a more industrial approach in the design and control of their machines and apply the aforementioned
zmp calculation for generating joint trajectories. The most prominent representatives of
this kind of robots are described in the following section, two of them in more detail.
The H7 Robot by the JSK Laboratory
The Jouhou System Kougaku (jsk) Laboratory of the University of Tokyo has a long
tradition of building humanoid robots, some of which are shown in Figure 2.7. The aim
of its work is to develop an experimental research platform for walking, autonomous
behavior and human interaction. The design of their latest robot H7 focused on additional
degrees of freedom (resulting in 30), extra joint torques, high computing power, real-time
support, power autonomy, dynamic walking trajectory generation, full body motions,
and three-dimensional vision support. Being 1.5 m tall and weighting 57 kg, the robot
features 7 degrees of freedom per leg including an active toe joint. A real-time capable
on-board computer, four lead-acid batteries, wireless lan, two ieee1394 high resolution
cameras, 6-axis forces sensors and an inertial measurement unit complete the robot’s
equipment [Kuffner 01, Chestnutt 03, Nishiwaki 06].
The online walking control system of H7 allows to generate walking trajectories satisfying
a given robot translation and rotation as well as an arbitrary upper body posture. It
is composed of several hierarchical layers as shown in Figure 2.6. Each layer represents
a different control cycle and passes its processed results to the next, lower layer which
usually runs at a higher frequency.
The gait decision layer chooses the gait and calculates the footstep locations. The algorithm
proposed by the authors determines the next swing leg’s foot point relative to the foot
14
2. Technical Control Methods for Bipedal Robots
Figure 2.6: Hierarchical layers of the dynamic walking control system of the robot H7 .
From [Nishiwaki 06], p83.
of the supporting leg. Given a desired torso motion per step of (x, y, θ) with x being the
forward, y the sideward and θ the rotational offset, the next foot point is set at (x, 2y ±w, θ)
from the support foot, with w being the normal foot distance. Furthermore, geometrical
collision conditions are considered.
Generating dynamically stable walking trajectories in the next layer is based on ZeroMoment Point considerations. Rather than analytically deriving the zmp trajectory from
the robots motion, the authors suggest a method with the walking trajectories following a
given zmp trajectory by horizontally shifting the torso. The starting point is an initial
robot trajectory
A(t) = (. . . , xi (t), yi (t), zi (t), θi (t), . . .).
(2.6)
describing the position and orientation for each of the robot’s segments. Given the gravity
g and the position (xi , yi , zi ), the mass mi , the inertia tensor Ii , and the angular velocity
ωi of each robot link i, the x component (y similar) of the zmp P = (xp , yp , 0)T can be
calculated as
P
P
mi zi ẍi − {mi (z̈i + g)xi + (0, 1, 0)T Ii , ω̇i }
P
xp =
(2.7)
− m1 (z̈i + g)
resulting in a zmp trajectory PA (t) = (xpa (t), ypa (t), 0)T for the robot trajectory A(t). A
desired zmp trajectory PA∗ (t) = (x∗pa (t), yp∗a (t), 0) can be followed by finding horizontal and
vertical shifts x′i (t) and yi′ (t) for each link of the robot. For this, the following equation
must hold true, where xep = x∗p − xpa , xei = x′i − xi
P
P
mi zi ẍei − mi (z̈i + g)xei
e
P
xp =
.
(2.8)
− m1 (z̈i + g)
If a uniform horizontal body shift is assumed, i. e. the whole upper body moves consistently
(xei = xe ), equation 2.8 can be transformed to
P
mi z i
e
xp = P
+ xe .
(2.9)
− m1 (z̈i + g)
2.3. Examples for Technically Controlled Bipeds
15
Figure 2.7: Humanoids developed by the jsk Lab of the University of Tokyo: H5, H6, and H7.
After discretizing time and assuming certain boundary conditions, xe (i) can be obtained
from equation 2.9 in trinomial form, resulting in a robot trajectory following the desired
zmp trajectory PA∗ (t). This method requires that mass, inertia and pose are known for all
robot links.
A walking trajectory is then calculated online for each footstep, but already for three
steps in advance. Although normally only the first of these steps is used, the next two
pre-calculated steps would bring the robot to a stop, thus improving the systems safety.
Furthermore it is checked for each generated trajectory whether it remains within joint
angle and velocity limits, and whether it is free of self-collision.
In the last layer before the motor servo layer, the generated walking trajectories are modified
based on sensor feedback. This step aims at compensating disturbances, modelling errors or
changes in the environment. Three controllers are used to achieve this: the horizontal torso
position is shifted according to the difference between the desired and the measured zmp;
the roll deflection of the upper body is compensated based on the inertial measurements;
and the servo gain is lowered before foot contact to lower the impact of ground reaction
forces.
Higher levels of H7’s control system deal with foot point planing in environments containing
obstacles, with object manipulation, or with full-body motion planing. Furthermore,
autonomous behavior is improved using the visual system by object tracking or 3D
reconstruction of the environment.
The Humanoid Robotics Project (HRP) by AIST
The National Institute of Advanced Industrial Science and Technology (aist) in Tsukuba,
Japan and Kawada Industries are developing the HRP robots since 1998 supported by
the Humanoid Robotics Project of the Ministry of Economy, Trade and Industry (meti).
Figure 2.8 shows the latest models of this research project. The robot HRP-2 features 35
degrees of freedom and is able to walk, lay down and stand up again [Kaneko 04]. Again,
the locomotion control system is based on zmp calculation [Kaneko 02b, Kajita 03].
The approach used a simplified dynamic model of the robot to enable online reference zmp
trajectory calculation. Assuming an inverted pendulum constrained to a horizontal plane
16
2. Technical Control Methods for Bipedal Robots
Figure 2.8: The HRP robot series developed by the National Institute of Advanced Industrial
Science and Technology in Tsukuba and Kawada Industries: HRP-2LR, HRP-2P, HRP-2,
HRP-3P, and HRP-3
of height zc as replacement model of the robot moving in the x/y-plane, the dynamics of
the system can be described as (similar in y-direction)
ẍ =
1
g
+
τy ,
zc mzc
(2.10)
where g denotes gravity, x the position of the body, m its mass, and τy the torque about
the y-axis. This linear dynamics is called the Three-Dimensional Linear Inverted Pendulum
Mode (3d-lipm). From this relation the position of the zmp can be calculated as
px = −
τy
.
mg
(2.11)
When substituted in equation 2.10 and rewritten as needed for the control of the zmp
position , it results in
zc
(2.12)
px = x − ẍ.
g
Assuming the robot’s center of mass (CoM) position is given as (x, y) in the equations
above, the resulting zmp can easily be calculated. But generating a walking pattern is the
inverse problem: given a reference zmp trajectory, the movement of the center of mass is to
be found. The authors propose to formulate the zmp control as a servo problem. Defining
the time derivative ux of the horizontal acceleration ẍ as output of a servo controller
working on the zmp error pref − p and as input of a reformulation of equation 2.12, the
system shown in Figure 2.9 can calculate the CoM trajectory.
But in this way the CoM is only moved as soon as the zmp reference value is shifted, but it
should start moving before this to achieve the desired zmp. Thus a control concept known
as “preview control” is used, previously described by Katayama et al. in 1985 [Katayama 85].
By first discretizing equation 2.12, an optimal preview servo controller is designed resulting
in a control law for u(k) containing an error term based on the zmp error, a state term based
on the CoM position, and a preview term based on the future zmp reference trajectory.
Using a preview length of 1.6s, good matching of the zmp trajectory can be achieved.
If the multibody model of HRP-2P is used instead of the simplified one, tracking errors of
the reference zmp can be observed. In order to compensate this, the authors suggest using
2.3. Examples for Technically Controlled Bipeds
17
Figure 2.9: Generating a CoM trajectory by tracking the zmp. From [Kajita 03], p1622.
a second preview control using the tracking error from the multibody model as input. In
doing so, the maximum zmp error can be reduced sufficiently. Using walking patterns
generated by this approach, spiral stair climbing of the simulated HRP-2P could be shown.
Several further improvements to this walking algorithm have been proposed. By adding
an additional zmp control based on sensor feedback and virtual time shift of the reference
zmp trajectory, walking on uneven terrain can be achieved with the simulated HRP2 [Kajita 06]. Further enhancements to the gait can be reached by adding a passive toe
joint [Sellaouti 06]. Higher walking speed and longer steps are made possible by adding an
under-actuated phase during the single support phase before heel strike and by adapting
the reference zmp trajectory accordingly. Recently, additional skills like sitting on a chair
or opening and passing through a door have been shown [Arisumi 09, Escande 09].
Besides the fully articulated HRP robots, advanced leg modules without an upper body
have been developed to investigate more sophisticated ways of locomotion. Using these
robot (HRP-2L, HRP-2LR and HRP-2LT ) running-like motion could be achieved using
inverted pendulum based control trajectories [Kaneko 02a, Nagasaki 03, Kajita 05]. The
elasticity necessary for running is simulated by an active control of the dc motors instead
of exploiting passive, mechanical elasticity. Adding a toe spring increases running speed up
to 3 km/h in simulation [Kajita 07]. Currently, a dust and water proof version of the HRP
robot series is being developed [Akachi 05, Kaneko 08]. It can keep a balanced posture
while handling tools like an electric screwdriver.
Further Technically Controlled Bipeds
The Waseda University is developing bipedal robots since 1966. The most recent installment
of their research is the Wabian-2R robot (WAseda BIped humANoid) featuring a total
of 41 degrees of freedom [Ogura 06a]. Based on Zero-Moment Point calculations, a more
human-like walking with stretched knees and toe-off motion could be achieved [Ogura 06b].
The pattern generation approach generates trajectories for the feet using inverse kinematics
and Newton-Euler dynamics calculation. The knee trajectory is predetermined using cubic
splines rather then exploiting the natural dynamics of the system. Compensatory motions
in the waist maintain the robot’s balance according to the zmp trajectory. An iterative,
genetic algorithm optimizes the calculated trajectories in order to minimize waist rolling,
hip joint pitching, and ankle pitching.
In 1984 the company Honda began to work on humanoid robots. The P2 robot was
introduced in 1996 and can statically walk in any direction as well as climb stairs. Its six
degree of freedom legs feature damping to reduce the impact on the joints while walking.
The control system uses a detailed model of the robot and its foreknown environment
18
2. Technical Control Methods for Bipedal Robots
Figure 2.10: Further technically controlled humanoids: Asimo, KHR-3 (HUBO), Johnnie, and
Wabian-2.
and calculates stable trajectories with the help of the zmp method [Hirai 98]. The newest
Honda robot called Asimo is equipped with 28 degrees of freedom at the height of a
child [Sakagami 02]. While recent research focuses on its cognition skills and interaction
with humans [Mutlu 06], the robot possesses an elaborate locomotion system. As the
zmp-based walking approach is already working rather solid, further work is done on e. g.
footstep planing [Chestnutt 05]. With a specialized model of Asimo, running motions of
up to 10 km/h can be achieved [Takenaka 09b].
The robot Johnnie has been developed at the University of Munich starting in the late 1990s
with the aim to achieve jogging motions [Gienger 00, Lohmeier 04]. It is equipped with 17
joints and a sophisticated sensor setup. Using acceleration and gyroscopic sensors, the
attitude of the trunk is calculated including acceleration compensation to balance the robot
throughout the walking cycle. Cartesian trajectories for the center of gravity, the rotation
of the upper body, and the foot pose are derived as fifth-order polynomials from reduced
dynamic models and zmp positions. The computed torque method used for the modeling
allows to consider the entire system dynamics for the control of the robot [Löffler 03].
This model-based control poses high demands on the computational performance, the
communication bandwidth, and the frequency of the sensor data. Therefore, the intended
running motion could not be achieved. This goal is hoped to be reached with the successor
Lola by reducing the weight, introducing new sensor systems, and revising the control
concept [Lohmeier 06, Buschmann 09].
Further robots of similar design and control approach are the KHR-2 and KHR-3 (aka.
HUBO) by Kaist in Korea [Kim 05, Park 05], BHR-2 of the Beijing University of Science
and Engineering [Peng 06], the Toyota Partner Robots [Soya 06], or the robot developed
by the French inria project bip [Bourgeot 02].
Beside the Zero-Moment Point method there exist other technical control systems using
trajectories calculated on the basis of a dynamic model. One example of this approach can
be found in the control of the robot Rabbit developed as joint project under the French
Institute for Research in Computer Science and Control (inria). The project aims at the
investigation of different control concepts of walking and running, stability of posture or
robustness against external forces [Sabourin 05, Morris 06].
Group
Wabian-2R
H6
H7
P2
P3
Asimo
Asimo (research)
HRP-2
HRP-2L
HRP-3
SDR-4X (QRIO)
Partner Robots
KHR-2
KHR-3 (HUBO)
BHR-2
THBIP-I
Johnnie
Lola
BARt-UH
Lisa
BIP
Rabbit
Rh-1
Spring Turkey
Uni. Waseda, Japan
Uni. Tokyo, Japan
Uni. Tokyo, Japan
Honda, Japan
Honda, Japan
Honda, Japan
Honda, Japan
AIST, Japan
AIST, Japan
AIST, Japan
Sony, Japan
Toyota, Japan
Kaist, Korea
Kaist, Korea
Uni. Beijing, China
Uni. Beijing, China
TU Munich, Germany
TU Munich, Germany
Uni. Hanover, Germany
Uni. Hanover, Germany
INRIA, France
INRIA, France
Uni. Madrid, Spain
MIT, USA
DoF per Leg Height Weight Literature
41
35
30
30
30
26
34
30
12
42
38
31
41
41
32
32
17
22
13
12
15
4
21
4
6+1p
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
3
6
6
2
6
2
1.5
1.3
1.5
1.8
1.6
1.2
1.3
1.5
1.4
1.6
0.6
1.4
1.2
1.3
1.6
1.7
1.8
1.8
1.3
1.3
1.8
1.4
1.4
0.6
65
55
57
210
118
52
54
58
58
68
6.5
40
56
55
63
130
49
55
25
38
105
36
40
10
[Ogura 06a]
[Kuffner 01]
[Chestnutt 03, Nishiwaki 06]
[Hirai 98]
[Hirai 99]
[Sakagami 02]
[Chestnutt 05, Bolder 07, Takenaka 09b]
[Kaneko 04, Arisumi 09, Escande 09]
[Kaneko 02a, Nagasaki 03]
[Akachi 05, Kaneko 08]
[Fujita 03]
[Soya 06]
[Kim 05]
[Park 05]
[Peng 06]
[Zhao 02]
[Gienger 00, Löffler 03]
[Lohmeier 06, Buschmann 09]
[Albert 01]
[Hofschulte 04]
[Bourgeot 02]
[Sabourin 05, Morris 06]
[Arbulu 07]
[Pratt 97]
2.3. Examples for Technically Controlled Bipeds
Robot
Table 2.1: Recent examples for bipeds following the technical control approach (height in [m], weight in [kg]).
19
20
2. Technical Control Methods for Bipedal Robots
Table 2.1 summarizes recent developments of bipedal walking machines following technical
control approaches like the Zero-Moment Point method. The state-of-the-art on biped
control concepts being inspired more by biological ideas are covert at the end of the next
chapter in section 3.4.
2.4
Assessment of Technical Control Approaches
Technical control approaches as those mentioned above rely on concepts developed for
industrial robotics and sound mathematical calculations like the zmp stability concept
and joint angle control. While these methods have been shown to work for a multitude of
applications, never-the-less several shortcomings can be observed. The following section
will discuss the advantages (Plus) and drawbacks (Minus) of this class of control systems
and machines.
Plus: Analytical Approach based on Multibody Dynamics
Technical control approaches describe the process to be controlled as a dynamical system
in an analytical way. The complexity varies from simplified inverted pendulum models to
full multibody dynamics models of the robot and its environment. Physical laws build
the foundation of control algorithms that are analytically deduced from these models.
Assuming a correct and exhaustive model, the algorithms can derive a stable solution
within the considered situation.
Plus: Mathematically Sound
The calculations needed for these approaches rely on mathematical and mechanical tools
and strategies that have shown their soundness and correctness over the last decades or
centuries. Even methods developed explicitly for biped walking like the Zero-Moment Point
calculation are already applied for more that 30 years [Vukobratovic 04]. Considering this
fact and the analytical nature of the concepts, the confidence in their feasibility is well
justifiable.
Plus: Exact and Purposeful Motions
As exact joint trajectories are generated and – at least considering the used models –
stability is ensured, highly purposeful motions of the controlled robots are possible. This
allows to implement skills going beyond mere walking. Climbing stairs, crouching while
walking, or performing martial arts exercises are just a few examples of what has been
shown with state-of-the-art humanoids.
Plus: Tried and Tested Mechanics
In nearly all cases, the robots described above can be designed based on approved industrial
mechanics as their control methods do not create novel requirements for e. g. the actuation
system. The use of high-end dc motors or gear boxes like harmonic drives allows precise
movements. This, in fact, is a mandatory requirement of technically controlled machines,
as tracking errors of the given joint trajectories would introduce a discrepancy from the
model that could endanger stability. High frequency and high gain controllers as used in
industrial robotics are necessary to guarantee exact reproductions of trajectories.
2.4. Assessment of Technical Control Approaches
21
Minus: Slow and Unnatural Looking Motions
But despite the advantages just mentioned and the long lasting history of technically
controlled bipeds, the resulting motions are still far behind those observed in humans or
other two-legged animals. Walking and, where even possible, running speed is comparatively
low and motions do not look naturally. One reason for this can be found in the fact
that those machines only do morphological and kinematic imitation of human walking.
However, the dimensions and trajectories do not fit to the masses and actuation concepts
of technical robots. The walking motions of the robot H7 has been compared to that
of human subjects regarding CoM trajectory, joint angles, torques and ground reaction
force [Kagami 03]. In nearly all cases the values differ substantially, with humans showing
the more sophisticated and effective trajectories.
Minus: High Energy Costs
Locomotion of technically controlled bipeds has been shown to be very energy consuming.
Several facts can be hold responsible for that: the necessity for high precision joint control
as well as the heavy mechanics require high powered actuators. Following joint trajectories
that do not match the actual movement of the robot’s segments oppose inertia and produce
high peak torques. No energy is stored in elastic elements. The trajectories are optimized
for stability resulting in unfavorable movements regarding efficiency. For instance the
knee joint is bent much more than in human walking where an efficient semi-flat gait with
lower impact forces and less head movement can be observed. It can be estimated that
technically controlled robots like Asimo use at least 10 times the energy (normalized by
weight and height) of a typical human during walking [Collins 05]. Similar results can be
seen when comparing the simulated running motion of HRP-1 in simulation to human
running [Kajita 02]. Peak torques of nearly 2000 Nm and actuator power of up to 8500 W
are required for tracking the pre-calculated trajectory.
Minus: High Computational Demands
Computing joint trajectories based on a detailed dynamic model and stability constrains
like zmp is computational expensive. As a consequence, many systems pre-calculate
trajectories offline, resulting in an inflexible control. On-line pattern generation like the
one utilized in H7 take up to 5.2 seconds for calculating a three-step trajectory and
still must be modified based on sensor feedback due to lacking accuracy of the dynamic
multibody model [Nishiwaki 06]. Also the communication bandwidth can prove as bottle
neck, as these control systems need high frequency sensor information for updating their
models and equally fast control flow for precise position control of joint trajectories. This
is the reason for changing the communication bus on LOLA from the slower canbus of its
predecessor Johnnie to a sercos-based system [Lohmeier 06].
Minus: Dependent on Dynamic Model
Being based on dynamic models of the robot and the environment, technical control
approaches consequently depend on the model’s correctness and level of detail. If not
compensated, discrepancies from the model can lead to instability. Errors can occur by
model inaccuracy concerning e. g. mass distribution, slip, gear backlash, or foot impact on
uneven terrain. External forces and disturbances will lead to derivation, too.
22
2. Technical Control Methods for Bipedal Robots
Minus: No Exploitation of Natural Dynamics
Exploiting the passive dynamics of the robot can help in creating natural motions, in
saving energy, and in simplifying control. Technically controlled bipeds normally do
not and cannot exploit the natural dynamics of the system as the joints are forced into
fixed trajectories. Furthermore retarding gears will prohibit the natural motions to take
place and make it difficult to store energy in parallel springs or to use the self-stabilizing
properties of elastic actuators. It has been shown that walking can be achieved by purely
relying on passive dynamics even without any actuation given cleverly designed mechanics,
proper weight distribution and a small energy feed [McGeer 90]. Details on this principle
of passive walking can be found in section 3.4.1.
Minus: Difficult to Add Adaptability
It can turn out to be difficult to add adaptability and to enhance the robustness of the
control system in technically controlled bipeds. Very small disturbances can still be
managed if safety stability margins are kept high enough. Otherwise feedback must be
introduced, e. g. by comparing the measured zmp to the reference zmp and then adapting
the model or the trajectories as for example done in the control of Rabbit [Wieber 06].
More significant errors can prove to be hard to compensate in these monolithic systems.
The models cannot reflect reality, and due to this fact, stiff mechanics, position based
joint control, or even fully pre-calculated trajectories, adaptation to unknown terrain or
external forces proves to be a tough problem.
Beyond any doubt technical control approaches for bipeds have shown their feasibility and
yielded impressive skills and machines. However, looking at the drawbacks just mentioned
and comparing the results to what nature is capable, the following questions arise: How is
nature managing to do so much better, are there fundamental differences in the control
concepts, and can nature’s solutions be transferred to technical implementations? The
next section is trying to answer these questions by sketching out how human motion
control works, looking in particular at the processes during normal walking. Then selected
literature on biologically motivated robotic approaches is reviewed.
3. Human Locomotion Control
Despite many decades of research on two-legged walking machines, the performance of the
developed robots is still far behind human capabilities. So it is not surprising that in recent
years robotics researchers tried to find help in the results of biomechanics, neurosciences,
human movement analysis, and other biological fields. Therefore, this chapter first presents
selected work related to these topics serving as introduction to the research on human
locomotion control. This will allow to better compare the technical approaches with the
natural one and to show the differences that motivated this work. Finally, literature on
biologically inspired biped control in robotics is reviewed.
Throughout this chapter, terminology of anatomy, neuroscience, and biomechanics will
appear. The terms outside common parlance are explained at first appearance. Additionally,
the reader may refer to Appendix A including several tableaux illustrating anatomical
planes, directions and joint rotations, a figure of the human skeleton marking the locations
of major bones, and a diagram and a list of skeletal muscles indicating their location,
function, and common abbreviation.
3.1
Structural Organization of Motion Control
When examining human locomotion control, two different aspects can be distinguished: the
structure of the control and the actual functional units that are responsible for generating
locomotion within this structure. This section introduces the structural organization of
motion control, whereas the next section will discuss how dynamic walking is produced.
In the following, structural organization is to be understood as the architecture underlying
the control of locomotion. Topics to be discussed include the role of the morphology
and the muscle, communication and processing by the nerve pathways and neural cells,
principles of perception and creation of action, the layout of groups of nerve cells, or the
integration of feedback control.
3.1.1
Functional Morphology
It is often claimed that human morphology has evolved to be optimal regarding bipedal
locomotion. This introduces the question if bipedalism emerged mainly because of ad-
24
3. Human Locomotion Control
Figure 3.1: Possible modes of locomotion from which bipedalism may have originated.
From [Richmond 02], p72.
vantages gained by two-legged walking. It could also be presumed that other benefits of
standing on two legs have been more prominent, thus guiding the optimization process in
other directions.
About a dozen hypotheses for the evolution of bipedality have been stated over the last
century. Most of them are based on the assumed behavior of the earliest known hominids
(primates that use a habitual upright bipedal gait) of about six million years ago. These
hypotheses differ in which advantage of bipedalism is supposed to be decisive. Examples
include greater viewing distance, higher efficiency than ape quadrupedalism, reducing
skin exposure to lower heat stress, tools usage, or arm carrying. K. D. Hunt analyzes
chimpanzee bipedal behavior and the anatomy of the Australopithecus africanus, and
argues for a synthesis of two scenarios [Hunt 94]. A combination of the terrestrial and
arboreal bipedal postural feeding hypotheses could explain the poor bipedal mechanics
and the arboreal competence of early hominids. Other reasons stated might have well
played a role in refining the locomotor bipedalism in Homo erectus.
Richmond et al. review literature on possible modes of locomotion from which bipedalism
could have originated [Richmond 02]. They evaluate these modes in the light of current
evidence from comparative primate anatomy, biomechanics, and fossil hominid anatomy.
Possible candidates are arboreal or terrestrial quadruped ancestors, gibbon-like brachiating
ancestors, climbing ancestors, or knuckle-walking ancestors (Figure 3.1). It is stated that
human evolved most likely from an ancestor adapted to knuckle-walking and climbing and
thus reject all hypotheses that are purely based on arboreal ancestors.
Wang et al. argue that the development of erect walking and longer legs compared to
the trunk length might partly be motivated by load-carrying. In the period of the first
hominids with modern body proportions at around 1.8–1.5 Million years ago, the use of
3.1. Structural Organization of Motion Control
25
stone tools and raw material transport increases. Computer simulations of loaded and
unloaded walking show that indeed carrying loads is more effective in erect posture and
thus could be the reason for today’s human proportions beside the advantage of persevering
walking.
Early bipedal walking seems to have been much more compliant than walking found in
modern humans. D. Schmitt suggests that the compliant gait found in early hominids
and most of today’s apes can be explained by their smaller bodies and poorly stabilized
hindlimbs [Schmitt 03]. These modes of locomotion allow to achieve fast walking speeds
with long strides of low frequency, low vertical peak forces, and good impact shock damping,
but create significant energy costs. The increase of energy efficiency by using a stiff-legged,
inverted pendulum-like gait did only take place more recently in early members of the
genus Homo with their robust skeleton and joints.
Research of Massaad et al. is going along similar lines [Massaad 07]. In walking experiments
with several subjects it is shown that humans are perfectly able to walk more flatly or
bouncy, but still normal gait amounted to a semi-flat form in the course of evolution. While
flat walking reduces the mechanical work on the center of mass, bouncy walking decreases
the energy the muscles have to supply be relying on pendulum-like passive dynamics.
Furthermore muscles seem to work in unfavorable conditions during flat walking. Thus the
semi-flat walking gait of modern humans may well present an optimal solution in balancing
efficiency against muscle work.
The geometrical layout of the human leg in particular has been examined on its adequacy
for walking and running. As just mentioned, walking with a fully straight leg is not the best
solution, and compliance is identified as a necessary feature, too. Seyfarth et al. investigated
the stability of elastic, three-segment legs [Seyfarth 01]. They demonstrated that instability
in form of counter-rotation of joints can be reduced in several ways: nonlinear springs,
asymmetric segment lengths, biarticular structures, mechanical constraints like heels, or a
bow-like mode of movement. Except for the last strategy, all of these can be found in the
human leg, thus gaining internal self-stabilizing properties. More details on the dynamics
and self-stabilization of tri-segmented elastic limbs in mammals are reviewed and discussed
by Fischer and Blickhan [Fischer 06].
The fact that appropriately designed mechanics can significantly reduce the control effort
is discussed by Blickhan et al. [Blickhan 07]. Modelling the quasi-elastic leg operation
as spring-mass model, it is demonstrated that such an “intelligent mechanics” can show
attractive behavior and passively compensate external disturbances without sensing them.
This holds true for running (Figure 3.2) as well as for walking. This passive control only
works if the actuator features muscle-like properties such as inherent compliance, adjustable
joint stiffness, and shock absorption, but also damping. Furthermore, for the system to fall
back in an attractive cycle, the touchdown angle of the swing leg must be properly chosen,
whereas leg retraction before touchdown can extend the range of acceptable angles.
Besides the self-stabilizing properties of the elasticity of the muscle-tendon system, locomotion and other movements can also benefit from elastic energy storage. Witte et al.
show that in fact energy is stored in the human locomotor apparatus [Witte 97]. The
amount of energy accumulated as recorded in their experiments is considerable and should
not be neglected in the consideration of human functional morphology and its role during
locomotion.
26
3. Human Locomotion Control
Figure 3.2: Elastic operation of the leg can passively stabilize running in the presence of
external disturbances without changing the angle of attack or the stiffness. From [Blickhan 07],
p211.
Günther et al. examine leg geometry and joint axis alignment with respect to the minimization of the sum of joint torques as optimization criterion [Günther 04]. By including
sensible geometrical and biomechanical constraints, the extended human leg configuration
indeed proves to be an optimal solution with its short foot and unequal ankle and knee
angles.
In due consideration of what was said in the previous paragraphs, Witte et al. suggest to
base the design (and control) of bipedal robots on human functional morphology, thereby
moving from purely anthropomorphic to “anthropofunctional” robots [Witte 04]. It is
shown that human gait is energetically close to optimal by using resonance mechanisms:
the arms and the swing leg move like an suspended pendulum, the stance leg like an
inverted pendulum, and the trunk involves torsional springs. In addition, the proportions
and the mass distribution in the trunk and in the swinging extremities compensate for
undesirable torques [Witte 91]. Witte and his colleagues conclude that bipedal locomotion
relies on the coordinated interaction of masses, gravity, elasticity, and muscle work, thus
going beyond pure rigid body dynamics. They also point out that, with humans being
vertebrates, the central role of the trunk and spinal cord as origin or at least initiator of
movement should not be neglected.
Implications for Robotics:
The human locomotion apparatus is highly optimized for efficient bipedal
locomotion. To facilitate walking and to reduce the control effort, robot
design should be based on functional morphology and its motions
should exploit the inherent dynamics of the system. Key aspects
are a semi-flat walking gait, proper mass distribution and geometry of
trunk and extremities, and low-resistant elastic actuators.
3.1.2
Neurological Basics
After the discussion of passive control through intelligent mechanics in the previous section,
in the following the active control system of human motion control is considered. Unless
3.1. Structural Organization of Motion Control
(a)
27
(b)
Figure 3.3: (a) The central nervous system consists of the brain and the spinal cord. (b) The
peripheral nervous system of the lower extremities. From [Hamill 03], p102.
noted otherwise, the information in this section is taken from the biomechanics book by
Hamill and Knutzen [Hamill 03].
Coordination and monitoring of human movements is an extensive task considering the
number of muscles and sensory receptors involved. The nervous system is responsible for
this job by conveying and processing the sensor information and generating an appropriate
stimulation of muscle fibers.
The nervous system is composed of two parts, the central nervous system and the peripheral
nervous system. The central nervous system consists of the brain and the spinal cord,
and can be seen as central processing unit initiating all movement. The remaining nerves
outside the brain and spinal cord make up the peripheral nervous system. It connects the
inner organs and muscles with the spinal cord via the spinal nerves that exit the spinal
cord on the anterior, or ventral, side of the vertebral column. The nerves emerging from
the sensory receptors enter the spinal cord on the posterior, or dorsal, side. By this means,
31 pairs of spinal nerves enter and exit the spinal cord. For instance, the lower extremities
are connected via the five parts of the lumbar and the five parts of the sacral region at the
lower end of the spine. Figure 3.3 illustrates the central nervous system (a) and the lower
part of the peripheral nervous system (b).
The base unit of the nerve system is the neuron. Motor neurons, being connected to and
stimulating muscle fibers, consist of the cell body, dentrites, and the axon (Figure 3.4).
The cell body, or soma, usually resides within the gray matter of the spinal cord or in a
ganglia, a group of neurons outside the cord, that can span up to three levels of the spinal
cord. Information from other neurons is passed to the neuron via bundles of dendrites.
28
3. Human Locomotion Control
Figure 3.4: The cell body, dentrites and axon of a motor neuron. The axon connects to other
neurons or to motor fibers. From [Hamill 03], p105.
This allows cross-talk of neurons from all over the spinal cord and other ganglia. The
axon, a large nerve fiber covered with an insulated shell, forms the output of a neuron. It
connects to other neurons or to muscle fibers, where it fans out to form motor endplates
and embeds into fissures near the center of the fibers. One single motor neuron connects to
up to 2000 fibers as in the gluteus maximus, or only to 5 or 6 fibers as in the eye muscles.
If sufficiently activated, the motor neuron innervates all its muscle fibers by chemical
transmission and causes them to contract within a few milliseconds. Depending on the
type of the motor unit (corresponding to the existing types of muscle fibers), this reaction
will elapse slower or faster. The slow-twitch oxidative Type I units have reaction times
greater than 70 ms and transport impulses at approximately 80 m/s. Fast-twitch oxidative
Type IIa motor units contract after about 30-50 ms. The fast-twitch glycolytic Type IIb
units are even faster with impulse transmission at more than 100 m/s resulting in reaction
times of about 30-40 ms. Still, viewed from the perspective of control theory, these delays
would make feedback control difficult. Type IIb units develop high tension, but fatigue
more quickly than Type IIa or Type I units. Muscles differ in their number of associated
motor neurons and the ratio of Type I, IIa, and IIb units depending on the nature of their
task, e. g. slow, precise movements, or repetitive high forces.
The actual impulse traverses the nerve in form of an action potential. The electric potential
of the membrane changes from its neutral state at about -70 mV by rapid depolarization,
repolarization and hyperpolarization as the impulse travels along the nerve fiber. When
the impulse reaches the muscle fiber at the motor endplates, it generates cross-bridging
and thus shortening within the muscle sarcomere (excitation-contraction coupling). A
single action potential develops a single twitch respond of the muscle. But if the impulses
3.1. Structural Organization of Motion Control
29
Figure 3.5: Interneurons can excite or inhibit other neurons. The Renshaw cell is considered to
play an important role in muscle coordination. From [Hamill 03], p108.
follow continuously and in short progression, the twitches will sum up and form a constant
muscle tension, a tetanus. The tension will decline as the impulses thin down. A muscle
will create the more force the more of its motor neurons are firing, i. e. the more neurons
are recruited, and the higher the rate at which they are sending impulses.
Besides being innervated, the action potential in a motor unit can also be inhibited by
connected neurons and interneurons within the spinal cord. Interneurons can be excitatory
or inhibitory, and are interconnecting branches. One type of interneuron is the Renshaw cell
which is considered responsible for organizing coordinated muscular responses. Figure 3.5
illustrates a possible inhibition of a motor neuron via a Renshaw interneuron.
While the motor neurons are the means by which the central nervous system controls
muscle action, the sensory neurons provide the necessary feedback on the state of the
musculoskeletal system, the skin, and other sensory organs of the body. After processing
this information, the central nervous system will initiate appropriate reactions.
The so called proprioceptors supply information on the state of the musculoskeletal system.
These include the main sensory receptors of the muscles, the muscle spindles, and the
Golgi tendon organ. Muscle spindles and their corresponding neurons measure the stretch
of a muscle. The spindles are located parallel to the muscle fibers within the belly of the
muscle and are enclosed in a capsule, forming a spindle shape, hence the name. Each
capsule contains up to 12 nuclear bags and nuclear chain fibers that are innervated by the
so called gamma motor neurons. The gamma motor neurons are located at ventral exits
of the spinal cord close to the alpha motor neurons that stimulate the muscle fibers (see
above). The fibers again are connected to Type I or Type II sensory neurons that send
information to the dorsal horn of the spinal cord where their cell body is located. Type I
sensory neurons are more sensitive to muscle stretch whereas Type II sensory neurons only
react when the stretch surpasses a certain threshold. The sensory neurons will fire at a
higher rate if the muscle is elongated more rapidly. If the muscle remains in the stationary
stretched state, Type I neurons will fire at a low, constant rate.
In contrast to the muscle spindle, the Golgi tendon organ measures force or tension in
the muscle. The Golgi tendon organ lies between the muscle fibers and the tendon that
connects to the bone, but in parallel to the tension generated in the passive elements
during stretch. The sensory neuron connected to the Golgi tendon organ create a response
that is proportional to the load of the muscle and to the rate of change of the load.
30
3. Human Locomotion Control
Besides the two receptors just mentioned, there exist additional proprioceptors. A number
of sensory receptors lie in proximity of the joints: the pacinian corpuscle responds to
pressure, the Ruffini endings measure joint position and velocity, and free nerve endings
create a pain sensation. The skin reacts to pressure, vibration, heat, cold, and damage.
The vestibular system located in the inner ear is responsible for the sense of balance and
spatial orientation. The cupula which lies within the ampulla arising in the semicircular
canal of the vestibular organ, contains hair bundles and acts upon angular acceleration.
The utricle and saccule in the vestibular sac again possess hair cells and are sensitive to
linear acceleration, including gravity. The vision system also contributes to the sense of
balance by estimating the horizon and the optical flow. Contradiction of these two sources
of information can cause nausea, e. g. when traveling in a swaying ship without the eyes
perceiving this movement.
Implications for Robotics:
Biological control is organized as a network of basic units (neurons) and
communication channels (nerve fibers). While the system is concentrated
at the brain and spinal cord, it is still highly distributed and spatially
related, e. g. motor neurons for the feet are locates at the lower end of the
spinal cord. The basic processing units can be gradually stimulated
or inhibited. A distributed sensor system provides feedback on joint
position, velocity, and torque, as well as a sense of balance. Motor control
allows precise position control, adjustable elasticity, or pure torque
control. Compared to technical systems, processing and communication
in biological systems is relatively slow.
3.1.3
Sensorimotor Interaction
After having discussed how sensory information is transferred to the spinal cord and how
motor action can be initiated from there, the question remains on how sensor input is
processed to create an appropriate reaction. This section will introduce the foundation of
sensorimotor interaction in form of reflexes.
The term reflex as “an automatic or involuntary response to a stimulus”1 was first used in
1748 by David Hartley. Its common scientific usage was established in Sherrington’s study
of the nervous system from 1906 [Sherrington 06]. But while the concept of reflexes being
a stereotyped response to nervous stimuli has persisted for long despite contradictionary
evidence, nowadays it is agreed upon being false. Rather, reflex actions have been shown
to be heavily affected by modulation and to exist in a wide range of complexity. Motor
actions that conform the most with the former notion of a reflex are those “mediated by
relatively straightforward circuitry in the spinal cord” [Nicholls 92]. But despite being
in the focus of research for centuries, the function of reflexes especially during human
locomotion is only slowly becoming clearer [Zehr 99].
The most basic form of reflex arcs are monosynaptic reflexes. Sensory information is
entering the spinal cord at the same level as the motor stimulation is leaving it [Hamill 03].
On example for such a reflex is the stretch or myotatic reflex that creates a short muscle
1
New Webster’s Dictionary and Thesaurus of the English Language
3.1. Structural Organization of Motion Control
31
Figure 3.6: The flexor reflex as an example for a monosynaptic reflex arc. It causes quick
withdrawal from a pain source. From [Hamill 03], p111.
contraction after a rapid stretch. As the stretch is imposed on the muscle, the Type I
sensory neurons of the muscle spindles are activated and stimulate interneurons in the
spinal cord. If the activation is high enough, the interneurons will excite the motor neurons
of the muscle just stretched and initiate its contractions. At the same time, additional
connections to inhibitory interneurons will cause a reciprocal inhibition, or relaxation, of
the antagonistic muscle. Similarly, the Golgi tendon organs are responsible for the inverse
stretch reflex. In case of a high velocity stretch, the reflex creates a relaxation of the
muscle by reducing the alpha motor neuron output, thus relieving the strain of the muscle.
Another example for monosynaptic reflexes is the flexor reflex (Figure 3.6). It triggers a
rapid withdrawal movement due to a sensory information indicating pain.
Reflexes processing information from different levels of the spinal cord and affecting muscles
further apart are termed propriospinal. The crossed extensor reflex is an example for this
group of reflexes. Similar to the flexor reflex, it reacts to pain stimulus, but it also initiates
an extention of the limb opposite to the pained one. Another example for propriospinal
reflexes is the tonic neck reflex. Here, a rotation of the head to one side is causing an
extension of the arm on the same side and a flexion of the arm on the contralateral side.
If the motor response results from information transmitted to and processed by the
brain, a reflex is called supraspinal. Most postural reflexes belong to this group, e. g. the
labyrinthine righting reflex. Incorporating upper levels of the nervous system and many
levels of the spinal cord, it stimulates the neck and limb muscles to maintain or move to
an upright position.
However, reflexes do not always react to sensory stimulus in the same, recurring way. While
monosynaptic reflexes show little variation, more complex reflexes seem to be modulated.
Zehr et al. examined the function of sural nerve reflexes during human walking [Zehr 98].
They show that the muscular response initiated by the reflexes depends on the part of
the step cycle in which the nerve was stimulated as well as on the intensity of stimulation.
These cutaneous reflexes mainly seem to serve for postural stabilization during walking,
e. g. lifting the leg during the first part of the swing phase by ankle dorsiflexion and knee
flexion in case the foot collides with an obstacle.
32
3. Human Locomotion Control
Zehr and Stein also review research on the modulation of reflex responses during static
tasks and locomotion [Zehr 99]. They show the existence of task-, phase- and intensity
dependency. A simple modulation of the soleus H-reflex2 depending on the subjects
postural orientation can be observed. While keeping a constant peripheral stimulation, the
amount of reflex inhibition changes [Rossi 88]. Similar modulation effects can be shown
on the tonic motor output by cutaneous nerve stimulation while sitting or standing.
Rossignol et al. review literature on the dynamic sensorimotor interactions in the spinal
cord and at supraspinal levels [Rossignol 06]. It is postulated that locomotion emerges
as a combination of central, feed-forward programs and feedback mechanisms. The
central program originates in some kind of spinal circuitry, a central pattern generator
that is genetically prescribed and generates basic motion patterns to trigger, stop, or
steer locomotion. Feedback provoked by sensory afferents from spinal to supraspinal
levels modulates the locomotor pattern. This interaction is a phase-dependent, corrective
response not only due to heavy perturbations, but also present during normal, stable
locomotion. Sensorimotor interaction can interfere with the descending pathways at various
levels of the nervous system and results in a continuous adjustment of the overall emergent
locomotion behavior.
Implications for Robotics:
Reflexes provide the basic method for feedback control in nature.
They work independently, locally, and in parallel. Reflexes can occur
in different degrees of complexity in terms of the number of sensory
receptors and muscles that are involved and of the level of the central
nervous system they are located on. Reflexes can be modulated by
the intensity of the stimulus, by the current phase of motion, or by the
current task in general (walking vs. sitting). Combined with central,
feed-forward programs stable locomotion can be achieved.
3.1.4
Hierarchical Layout of Motion Control
To produce a limb motion during grasping or locomotion, a multitude of muscles have to
work together in a coordinated manner. For each of these muscles, again multiple muscle
neurons have to be stimulated with suitable intensity. It does not seem likely that for each
motion, either voluntary or instinctive, this vast number for neurons is directly controlled
by a region in the brain. Rather, one might suggest that motion control takes place on
successive levels.
Neuroscientific research results seem to support the assumption that neural motor control
is of a hierarchical layout. Bizzi et al. found a spatial connection between the stimulation of
regions in the spinal cord of frogs and the kinematic reaction of its legs [Bizzi 91, Lemay 01].
Exciting these interneurons at increasing strength produces similarly increasing force
measured at the ankle of the frog’s limb. Co-stimulation of different regions in the spinal
cord results in a vectorial sum of the corresponding ankle forces. This suggests the existence
of movement primitives creating activities of whole groups of muscles. A limited number
of these simple units can generate a rich variety of movements.
2
Hoffmann reflex: reaction of muscles after electrical stimulation of sensory fibers in their innervating
nerves
3.1. Structural Organization of Motion Control
33
Figure 3.7: Decomposition of 32 emg waveforms during walking resulting in five basic temporal
components. Different statistical methods produce similar components. From [Ivanenko 06],
p340.
In order to analyze to what extent muscle activity is generated by centrally organized
movement primitives (or muscle synergies), electromyographic3 (emg) signals of intact
and deafferented (limited sensor feedback) frogs during swimming and jumping are compared [Cheung 05]. Synergies can be found by a modified formulation of the non-negative
matrix factorization algorithm. Most synergies are not specific to one but are shared
by both data sets, thus suggesting a central origin and organization. However, with the
reduced sensor feedback, the synergies are altered in amplitude and timing, indicating that
some modification by feedback is taking place. It is further speculated that each shared
synergy corresponds to a basic biomechanical function.
Later results on the combination of such muscle synergies for movement show that the
same synergies are even used for different modes of locomotion [Bizzi 07]. Each synergy
can be seen as function unit in the spinal cord producing a specific pattern of muscle
activation. By generating a more sophisticated motion as combination of these simpler
modules, the complexity of locomotion control is reduced.
Analysis of human locomotion control leads to similar findings. Earlier work by Patla,
Vaughan, et al. examining emg patterns of the lower limbs during walking using patterns
3
More information on electromyography will be given in Section 3.2.1
34
3. Human Locomotion Control
Figure 3.8: Mapping muscle activation during normal walking to the position of the corresponding motor neurons in the spinal cord. From [Ivanenko 06], p341.
recognition algorithms already suggest variant and invariant features among these signals [Patla 85, Vaughan 92, Olree 95]. Ivanenko et al. include a larger set of muscles in
their analysis [Ivanenko 04]. They use statistical methods like factor analysis or pca for
the decomposition of 32 emg waveforms recorded during normal walking (Figure 3.7).
Five basic temporal components can be identified whose weighted sum explains about
90% of the total emg waveforms. This holds true even for different walking velocities
and for various degrees of body weight support. Ivanenko and colleagues also apply their
methods to data sets of other groups, e. g. Winter’s or Vaughan’s data, and produce similar
results [Ivanenko 06]. Moreover, the identified components seem to be timed to kinematic
or kinetic events.
Mapping the emg activity of muscles back to the location of their corresponding motor
neurons in the spinal cord also yields interesting results [Ivanenko 06]. Figure 3.8 shows
such a spatiotemporal mapping of normal walking activity. These maps show common
features over different walking speeds, e. g. bursts of activity at different locations that are
temporally aligned. This could be seen as evidence that coordinated activity origins from
a central pattern.
3.1. Structural Organization of Motion Control
(a)
35
(b)
Figure 3.9: Hypothetical scheme of muscle activation. (a) An activation component creates a muscle synergy influenced by central control and feedback. (b) Activation components
are triggered by central spinal pattern generator and/or higher levels of the nervous system.
From [Ivanenko 06], p347.
The concept of central motor patterns can also be tested by disturbing basic locomotion
with voluntary movements. For example, when stepping over an obstacle during walking,
an additional activation component can be identified alongside the five basic components
of walking. When performing the same voluntary task while standing, in this case lifting
one leg, again characteristic activation patterns are found. These can be superimposed on
the walking components and timed with the corresponding kinematic events, resulting in
overall activation similar to the one observed in the combined movement.
This allows the assumption that motor patterns are not only used for one specific movement
but can be called on for different tasks. Further evidence for this can be found when
comparing the temporal components during walking and running [Cappellini 06]. The
same five components can account for both modes of locomotion with only a phase shift
of one of the components. Thus, despite their diverse biomechanical demands, walking
and running mainly differ in the timing of motor programs.
Considering the results discussed in the previous paragraphs, Ivanenko et al. suggest a
hypothetical scheme of muscle activation as shown in Figure 3.9. Components or motor
patterns create muscle activation via a weighting network of distributed interneurons
connected to muscle neurons. Feedback and central control can alter the weights. Central
control and/or rhythmic pattern generation in the spinal cord create a spatial and temporal
sequence of activation and superposition of voluntary motor programs. Again, sensory
feedback and downstream commands may modulate this process.
In his review on central control of muscle activity during human walking, Nielsen states
that neural control is located on many levels of the nervous system [Nielsen 03]. In the
human more than in the animal kingdom, the supraspinal level gets involved, as becomes
visible in positron emission tomography (pet) of the motor cortex. There even is evidence
of a direct monosynaptic pathway having developed from the motor cortex to spinal motor
neurons. But still the spinal circuitry is capable of generating basic rhythmic locomotion
activity patterns.
36
3. Human Locomotion Control
Figure 3.10: Photographs taken by Eadweard Muybridge in the late 19th century for analyzing
human locomotion.
Implications for Robotics:
Motion control in humans is of hierarchical layout. Motor programs
provide an interlayer to create coordinated synergies of movement.
Activation of these patterns can create locomotion if they are timed to
correspond to kinematic or kinetic events. Feedback should be
integrated to modulate the patterns according to outside influence and
internal state.
This section has discussed the structural organization and principles deployed in human
motion control. The following section will specifically cover human walking and demonstrate
how the mechanisms above are employed during this form of locomotion.
3.2
Normal Walking in Humans
The study of human locomotion has a long history. Already in the 19th century series
of photographs were taken to better understand the motions of animals and man. With
the help of chief engineer for the Southern Pacific Railroad, John D. Isaacs, Eadweard
Muybridge (1830–1904) developed a method for capturing a sequence of pictures using
multiple cameras. That way he took thousands of images of animals and humans performing
various task (Figure 3.10).
3.2.1
Biomechanical Gait Analysis
Although Muybridge’s scientific interest in the topic of motion analysis is arguable, his
contribution can still be seen as an important step during the development of the research
3.2. Normal Walking in Humans
37
Figure 3.11: A typical setup for biomechanical gait analysis featuring kinematic tracking using
markers, emg measurement, and force plates for capturing ground reaction forces (Source: bts
Bioengineering, Italy).
field called kinesiology, or in modern and more general terms, biomechanics. Today’s
methods for analyzing human gait have advanced significantly, including high-speed
cameras, or X-ray systems. Figure 3.11 shows a typical setup for capturing gait data
with multiple sensor systems. The topics of biomechanical research can be divided in
the examination of functional anatomy (see Section 3.1.1), the kinematics and kinetics of
motions, and the capturing of neural activity.
Kinematics
Kinematics describes the spatial and temporal elements of motion, i. e. the position,
velocity, and acceleration of rigid bodies. In a biomechanical context, this refers to the
translation and rotation of body segments relative to a fixed coordinate system or to
one another. Quantitative methods to collect kinematic data during locomotion include
accelerometers or other measurement devices attached to individual body parts, or most
recently X-radiation as used for small mammals. The most common method for obtaining
data uses motion capture systems based on high-speed cameras or optoelectric systems.
These biomechanical capturing units usually operate at 60, 120, 180, or 200 frames per
second. Active or passive markers are fixed on the subject, normally at the end points of
the body segments to be analyzed (Figure 3.11). The marker positions are then tagged
manually or automatically in the digitized video data. Thus, the global marker trajectories
are known given a calibrated capturing system. Including the kinematic connections of the
markers, joint angles can be deduced for each frame. By numerical derivation, velocities
and accelerations can be calculated. Beside the joint angles, parameters like stride length,
walking speed, step rate or stance, and swing durations are of interest when kinematically
analyzing walking motions.
38
3. Human Locomotion Control
Figure 3.12: Joint angles of the lower extremities during normal walking (solid line), running
(broken line), and sprinting (dotted line) over the gait cycle. The vertical line represents the
transition from stance (left side) to swing phase (right side). From [Hamill 03], p327.
Many researchers have reported on the kinematics during normal walking in humans.
Figure 3.12 illustrates typical hip, knee, and ankle joints during walking, running, and
sprinting [Hamill 03]. While the role movement in the frontal and transverse plane should
not be neglected, the major segment movement takes place in the sagittal plane. At
ground contact, the body weight and downwards acceleration needs to be absorbed, which
is achieved by hip flexion, knee flexion, and ankle dorsiflexion. These flexions continue
while the body travels over the stance foot. At the end of the stance phase, the joint
action reverses into hip extension, knee extension, and ankle plantarflexion.
During walking, the hip flexion at touchdown lies in the range of 35◦ to 40◦ . Until toe-off,
the hip flexion reduces to about 0◦ to 3◦ . During the swing phase, the hip flexes again
with a maximum of 25◦ to 50◦ .
The knee is flexed to 10◦ to 15◦ at touchdown to reduce the impact forces. While accepting
body weight at the beginning of the stance phase, the knee flexes further and reaches its
maximum at midstance with 20◦ to 25◦ . The knee then stretches without reaching full
extension, and flexes again during the propulsion phase of stance. At toe-off, the knee
angle ranges in between 10◦ to 40◦ , higher values being reached at faster walking speeds.
The leg length is shortend during swing phase to guarantee ground clearance by further
knee flexion of about 50◦ to 65◦ .
The ankle shows a plantarflexion of 5◦ to 6◦ at heel strike. It then slowly moves to
dorsiflexion of 10◦ to 12◦ until the whole foot touches the ground. During the stance phase,
it gradually returns to plantarflexion of about 15◦ to 20◦ at toe-off. Increasing dorsiflexion
keeps the toes from touching the ground during the swing phase.
The angular kinematics of the lower extremities adapt to changes of the environment. For
example, walking on non-compliant ground can cause stronger knee flexion at heel strike.
Uphill walking is compensated by additional dorsiflexion, knee flexion, and hip flexion at
3.2. Normal Walking in Humans
39
Activity
Relative Force (N/BW)
Vertical compressive forces in the ankle joint
Vertical reaction forces in the ankle joint
Vertical reaction forces in the subtalar joint
Achilles tendon force
Peak forces acting in the hip
13
3.9–5.2
2.4–2.8
3.9
2.8–4.8
Table 3.1: Maximum relative forces acting on the human body during walking. Forces are given
in newton (N) per body weight (BW) [Hamill 03].
touchdown as well as an increase of the motion range in the hip and ankle during stance
phase. When walking downhill, the knees show up to 15◦ more flexion at heel strike.
Rotation of the pelvis during walking only lies within a few degrees. The same holds true
for the movement of the upper trunk. It moves laterally for about 2 to 3 cm to the side of
the stance leg and slightly leans forward after heel strike and back again in the course of
the stance phase [Murray 64]. Vertical displacement of the trunk reaches its maximum of
about 5 cm at midstance of each leg.
Kinetics
In biomechanics, kinetics describes the effects of internal and external forces and torques
acting on the human body, often given relative to the body mass or body weight. Typical
relative forces acting on the body during walking are given in Table 3.1.
Forces acting on the human body can be classified into non-contact and contact forces.
The most relevant non-contact forces during locomotion is gravity. Gravity acts at the
center of mass of each body segment with the gravitational acceleration of about 9.81
m/s2 in vertical direction. Seven contact forces, i. e. forces acting between two bodies, are
normally considered in biomechanics: ground reaction force, joint reaction force, friction,
fluid resistance, inertial force, muscle force, and elastic force [Hamill 03].
The ground reaction force (grf) acts between the ground and an individual body segment
making contact with it. Figure 3.13a shows a typical behavior of the grf during the
stance phase of a walking cycle. As the grf is a vector, it can be resolved into a vertical,
an anteroposterior (forward-backward) and a mediolateral (side-to-side) component. The
latter two forces act parallel to the ground surface and are referred to as shear forces.
During walking, the vertical component of the grf is M-shaped with its first peak during
weight acceptance, and the second peak during push-off. The grf acts at point of pressure
in the foot sole. As shown in Figure 3.13b, with the progress of the stance phase, the
point of pressure travels along the sole from heel to toes [Rodgers 88]. In biomechanical
research, grf is normally measured using a force platform embedded in the ground on
which the subject is performing e. g. walking or jumping.
Two adjoining body segments are connected by a joint at which point equal but opposing
forces act on each segment. These forces are termed joint reaction forces and can be
calculated based on kinematic and kinetic data and known body dimensions.
Friction is mainly of interest during the ground contact of the foot or shoe. The force
generated by friction is equal to the normal force onto the surface times a friction coefficient.
40
3. Human Locomotion Control
(a)
(b)
Figure 3.13: (a) Ground reaction forces during normal walking. The vertical ground reaction
force (solid red line) shows the typical M shape. Anteroposterior (solid black line) and mediolateral
(dashed red line) are shear forces in the surface plane. From [Hamill 03], p365. (b) The center of
pressure travels along the foot sole during stance phase. From [Rodgers 88], p1825.
For producing the necessary propulsion force in the later stance phase and to guarantee a
safe landing at heel strike during walking, the foot friction must be high enough. Overly
high friction can increase joint tension and cause instability or injuries.
As the drag force in air or fluid resistance is proportional to the medium’s viscosity and
to the square of the relative velocity, it does not substantially influence the process of
walking. Rather it is of interest in biomechanical studies of running, swimming, or other
movement forms of faster speed or in viscose medium.
In contrast, inertial forces do play a role in walking and cannot be neglected. An inertial
force occurs between connected body segment as one segment is moving and thus causing
a movement in the next without muscle action. For example during the swing phase, the
tight segment exerts an inertial force on the leg.
Obviously, muscle force is a force of major importance during locomotion. As already
described in Section 3.1.2, muscle fibers contract due to stimulation by the motor neurons.
On average, skeletal muscle can contract to about 57% of its resting length [Hamill 03].
Only by contraction, a muscle can produce force, so a joint can only be controlled by
opposing muscles, the agonist and antagonist. When a force is produced by an opposing
muscle, or when an external force acts on a joint, a muscle can be extended beyond its
resting length, storing elastic energy in the process.
Depending on the type of fibers, muscles can quickly produce high forces, but then fatigue
(Type II), or have slower contraction times and be more enduring (Type I). The force a
muscle produces depends of its current length and the velocity of movement. The longer
the muscle, the higher the force created. Thus, pre-stretching the muscle before e. g. weight
lifting can increase the force output. The relationship between velocity and force is shown
in Figure 3.14a. Regarding movement, the force produced by muscle action is used for
joint movement, the maintenance of posture and positions, and joint stabilization.
3.2. Normal Walking in Humans
41
(a)
(b)
Figure 3.14: (a) Increasing velocity reduces the force output of a muscle. This holds true for
the lengthening muscle (eccentric muscle action) as well as the shortening muscle (concentric
muscle action). (b) Hill’s mechanical muscle model in two equivalent forms. From [Hamill 03],
p78f.
There have been several attempts to describe the force produced by a muscle in a mechanical
model, the most prominent being the model developed by A. V. Hill (Figure 3.14b). It
consists of the contractile component (cc), a parallel elastic component (pec) and a series
elastic component (sec). The sec describes the tendon and other elastic elements in series
with the contracting units of the muscle. It shows highly nonlinear behavior, as does the
pec expressing parallel elastic elements like the fascia surrounding the muscle and its
compartments.
As soon as the line of action of a force does not pass through the body’s center of mass, a
torque, or moment of force, is induced. Torques occur when muscle contraction pulls via
tendons at a certain distance away from the joint, when gravity acting on body segments
causes a downward rotation, or when the direction on the ground reaction force does
not pass through the center of gravity. The total center of mass of the body can be
calculated from the segment centers of mass and masses. Table 3.2 gives the average
values for both male and female subject as estimated by Plagenhoef et al. using segment
immersion [Plagenhoef 83]. Other researchers examined cadavers for the same purpose.
Using similar techniques, the average moment of inertia has been estimated for individual
body segments. The moment of inertia necessary to calculate the angular acceleration of a
body given an external torque amounts to
T = I θ̈
(3.1)
where T is the torque, I the moment of inertia, and θ̈ the angular acceleration.
Static and dynamic gait analysis deals with the forces and torques just mentioned as they
act on the human body. Leonard Euler created recursive equations for a dynamic analysis
based on Newton’s laws of motion starting with the most distal body segments. Applying
inverse dynamics calculations, the forces and torques acting on body segments can be
concluded from their motions and masses. Motion capture data can provide information
42
3. Human Locomotion Control
Center of Mass
Segment Weight
Segment
Male
Female
Male
Female
Head, neck
Trunk
Whole trunk
Upper arm
Forearm
Hand
Thigh
Lower leg
Foot
55.0
44.5
63.0
43.6
43.0
46.8
43.3
43.4
50.0
55.0
39.0
56.0
45.8
43.4
46.8
42.8
41.9
50.0
8.26
46.80
55.10
3.25
1.87
0.65
10.50
4.75
1.43
8.20
45.22
53.20
2.90
1.57
0.50
11.75
5.35
1.33
Table 3.2: Average center of mass and weight of body segments. Center of mass location is
given in percent of segment length from the proximal end. Weight is given in percent of the total
body weight [Plagenhoef 83].
on segment trajectories, masses and inertia can be estimated based on average mass
distributions of the human body (Table 3.2). Further variables of interest in kinetics are
work, power, or energy being mustered or consumed during motions. For example, the
pendulum-like characteristics of walking exchanges potential with kinetic energy and vice
versa. This mechanism allows energy savings of muscular work of up to 65%.
Figure 3.15 illustrates angular kinematic and kinetic joint data during a walking cycle
for the hip, the knee, and the ankle joint [Hamill 03]. At heel strike, the hip produces an
extensor moment to stabilize the trunk. The leg swing is generated by hip flexion before
toe-off and is terminated by an opposing moment at the end of swing phase.
Weight acceptance is controlled in the knee joint by an extensor moment. Leg swing is
initiated by a small amount of flexion moment and controlled by the following extensor
action. During the swing there is almost no power output in the knee, only towards the
end of the swing a flexion is created in preparation for ground contact.
The foot is slowly lowered to the ground after heel strike by a small amount of dorsiflexor
moment. The body’s movement over the foot during stance phase is controlled by increasing
plantarflexor moment. The power output of the ankle shows its maximum during the
propulsion before toe-off. During swing phase, the ankle produces nearly no power.
As described in the kinematics discussion of normal walking, the moment and power
patterns also change due to ground condition or walking speed. For example, higher flexor
and extensor moments can be observed in the knee during faster walking.
Electromyography
Besides the capturing of human motion and the kinematic and kinetic analysis of that
data, the most frequently used method of motion analysis is the electromyography (emg)
recording activation signals of muscles. More than the methods mentioned above, emg can
provide inside into the control of reflexive or voluntary movements as the muscle action is
directly connected to neural commands. However, analyzing emg plots has its limitations
and thus requires some knowledge on this method, which will be provided in the next few
3.2. Normal Walking in Humans
43
Figure 3.15: Kinetics during normal walking in the sagittal plane. The toe-off event is
represented by the solid vertical line. From [Hamill 03], p414.
paragraphs. The main sources for this section are the books by Hamill et al. and Vaughan
et al. [Hamill 03, Vaughan 92].
To record an electromyogram, an electrode is placed on the muscle to detect an electrical
signal. This emg signal is a complex combination of all action potentials generated by the
muscle neurons connected to the muscle fibers that are gathered by the electrode. The raw
signal is both positive and negative. While the amplitude of the signal is influenced by
many factors (see below), in principle it increases with the strength of muscle contraction.
However, as indicated in the discussion on muscle properties above, the amplitude is by no
means relative to the produced muscle force or even the joint torque. A somehow direct
correlation between emg signal amplitude and muscle force can only be seen in isometric
contraction. Also, the so-called electromechanical delay between the electrical signal and
the actual muscle contraction can be observed, as the action potential must travel along
the muscle fibers before tension can be developed.
Two types of electrodes can be used to detect the electrical signal: indwelling or surface
electrodes. Indwelling electrodes are placed directly in deep muscle in form of needles or
fine wire. More commonly used in biomechanics are surface electrodes placed on the skin
and as such used for more superficial muscles. There are two possible arrangements for
surface electrodes: in the monopolar arrangement a single electrode is placed over the
44
3. Human Locomotion Control
Figure 3.16: Common representations of an emg signal. From [Hamill 03], p84.
muscle, a second one is attached over an electrically neutral place like a bony prominence
to get a differential signal. The bipolar arrangement is more precise as another electrode
is placed 1.5 to 2 cm next to the first muscle electrode and a differential amplifier can be
used to cancel out common error signals. Obviously, correct placement and orientation
of the electrodes on properly prepared skin is important to produce a significant signal
with low crosstalk. As emg signal intensity is very low ranging from 10 µV to 5 mV, it
must be amplified by high quality electronics to reduce additional noise or errors. It is
then digitalized by an A/D converter working at least at 1 kHz to take the characteristics
of neural muscle activity into account.
The technical and physiological factors influencing the emg signal are manifold. They
include factors like muscle fiber diameter, the number of muscle fibers, the number of
active motor units, fiber type and location, muscle blood flow, and further effects directly
concerning the muscle. Other factors like electrode spacing or electrode-skin interface also
influence the collected data.
Figure 3.16 illustrates different representations of an emg signal. The raw signal shows
the composite of the multitude of action potentials of the motor units being active in the
effective range of the electrodes. Commonly the raw signal is rectified, i. e. the absolute
value of the signal is examined. Filtering out high frequency components, a smooth form of
the signal called linear envelope can be generated showing more clearly the volume of the
activity. In some cases of analysis, the integration of the emg signal or the transformation
in the frequency domain can be of interest.
emg recordings can be used for a number of applications. There are attempts to define
a relationship between muscle force and emg signal strength in isometric muscle action.
Also, there is some evidence that frequency changes in emg signals can indicate muscle
fatigue. In ergonomics, muscle activity analysis can help to point out improper sitting
postures, movements, or working conditions. But most interesting for this work is the
clinical gait analysis. Here, the emg signal can be interpreted to identify the contribution
and timing of individual muscles or muscle groups during a gait cycle. This allows to
draw certain conclusions regarding the underlying neural control. However, is must be
mentioned that emg gives semiquantitative results at best regarding the strength of muscle
contraction. Also it can prove difficult to obtain reliable emg reading during dynamic
movements such as walking or running.
3.2. Normal Walking in Humans
Muscles
Dorsiflexors
Intrinsic Foot Muscles
Gluteus Maximus
Gluteus Medius
Gluteus Minimus
Hamstrings
Iliopsoas
Plantar Flexors
Quadriceps
Sartorius
Tensor Fascia Latae
Thigh Adductors
45
Footstrike
Midsupport
Toe-off
Forward Swing
Deceleration
+++
++
++
++
+
++
++
+++
++
+++
+++
++
++
+++
+++
++
++
++
+
+
+++
++
++
+
++
++
++
+
+
+
+
+
+++
++
+++
++
++
+
+
Table 3.3: Contribution of the main muscle groups in the lower extremities during normal
walking. +/++/+++ is indicating low/moderate/high muscle activity [Hamill 03].
Many researchers have traced emg signals during normal human walking. As shown in
Figure 3.17, Winter et al. recorded relevant muscle group activities of the whole body
during walking [Winter 91]. Table 3.3 lists the contribution to walking of the main muscles
groups in the lower extremities [Hamill 03]. The meaning of muscle abbreviations, muscle
locations, and their function can be found in Appendix A.
The foot and ankle muscles control the ground contact during walking and create much of
the necessary propulsion. To keep the front of the foot from slapping down after heel strike,
the dorsiflexor muscles like the tibialis anterior show maximum activity. This activity then
decreases but nevertheless remains to control the pendulum-like tibia movement during
stance phase, assisted by beginning activity of the gastrocnemius and soleus. The latter
muscle group mainly contributes to propulsion just before toe-off when it reaches peak
activity. During swing phase, only the dorsiflexors are active to guarantee ground clearance
of the foot.
The knee musculature is mainly used for stabilization and force absorption during walking.
At heel strike the hamstrings, biarticular muscles spanning the knee and the hip, get active
to keep the trunk from swinging forward and at the same time to bend the knee to reduce
impact forces. This contraction continues until the foot is flat on the ground. During
weight acceptance, the quadriceps femores work to control the body load and to allow
the knee to flex in a controlled way. As the leg extends towards midstance, this activity
decreases. During propulsion, the knee muscles become active again to add to the forward
force. At toe-off, the hamstrings can flex the knee for increasing ground clearance and
again before heel strike to reduce impact. The quadriceps femores enables leg extension
towards the end of the swing phase.
The hip joint and pelvis muscles mainly control trunk and pelvis posture and do not
substantially contribute to propulsion. The gluteus medius provides lateral stability of
the pelvis and the trunk against the body weight from heel strike to midsupport as the
contralateral leg is swinging and cannot contribute to support. This stabilization is assisted
by activity of the gluteus minimus and the adductors. Control of the trunk in the frontal
plane at heel strike and during stance phase is provided by the hamstrings, the gluteus
46
3. Human Locomotion Control
Rectus
Femoris
Tibealis
Anterior
prevent foot from slapping down
lift foot for ground clearance
Figure 3.17: emg analysis of 25 muscles during a cycle of normal walking. Exemplary, the
name and location of two muscles is indicated, and two significant muscle activities interpreted.
The meaning of the remaining muscle abbreviations can be found in Appendix A. emg data
from [Winter 91], plot from [Ivanenko 06], p341.
maximus and the tensor fascia latae. Towards toe-off, the abductors support the propulsion
process. The leg swing is initiated by activity of the iliopsoas, sartorius, and tensor fascia
latae. The adductors control lateral movement of the swinging limb until it is decelerated
by the hamstrings and the gluteus maximus before the next heel strike.
The trunk muscles mainly control the lateral movement of the trunk as it flexes towards the
side where ground contact is made. This is mainly achieved by activity of the multifidus
and longissimus. At heel strike, first the contralateral muscle groups prevent the trunk
from flexing to far, then the ipsilateral group stabilizes the trunk. The activity of the
leg extensor muscles are synchronized with the activity of the erector spinae muscles.
Excessive flexion of the trunk is also prevented by the lumbar muscles. An erect head
posture is controlled by relatively low activity of the cervical muscles.
Arm movement is coinciding with the leg movement [Wannier 01]. Activity of the flexor
and extensor muscles of the arm create a contralateral motion contributing to stabilize
trunk rotation. Figure 3.18 graphically recapitulates the contribution of the muscles in
the lower extremities during one walking cycle in posterior and lateral views [Vaughan 92].
Darker shading corresponds to higher muscle activity.
Implications for Robotics:
Human gait analysis provides valuable insight in bipedal walking mechanisms. Kinematic data is only partially helpful as direct mapping of
joint trajectories on a robot cannot work due to differences in mechanics. At the very least it can serve as benchmark or comparison
basis. Kinetic data and emg recordings, however, allow to draw conclusion regarding the intention of control commands during individual
walking phases or sensor events. Hence they can assist in conceiving
feed-forward and feedback control components.
3.2. Normal Walking in Humans
47
Figure 3.18: Illustration of active muscles in the lower extremities during normal walking in
posterior and lateral view. From [Vaughan 92], p54.
3.2.2
Phases of Walking
Phases of walking have been mentioned throughout this chapter, mainly connected to
kinematic or kinetic event like heel strike of toe-off. It has been shown in Section 3.1 that
neural motor activity and reflex responses depend on the current phase of locomotion.
The question of how the phases of walking are codes in the nervous system is discussed in
the following.
In insects as well as in lower vertebrates, strong evidence for the existence of a central
pattern generator (cpg) can be found [Grillner 79, Pearson 93, Bueschges 95, Baessler 98].
Even in the absence of sensory feedback and supraspinal commands, rhythmic walking
behavior can be shown. The review by Frigon and Rossignol among others discusses how
sensorimotor interaction affects the output of the cpg and thus the motor patterns in
cats [Frigon 06].
Unfortunately, the situation during humans walking is more complicated. While there is
evidence for cpgs in humans, there seems to be much more influence from supraspinal
levels and sensory information [Nielsen 03]. Still, as shown by Vaughan, Ivanenko and
others and already introduced in Section 3.1.4, a substantial part of neural control during
human walking is coordinated muscle action at purposefully timed phases of the walking
cycle.
Five different components of muscle activity can be identified during one cycle of human
walking [Ivanenko 04]. Figure 3.19 illustrates the timing of the five patterns. The appearance of these activity patterns can be associated with kinematic and kinetic events during
the walking cycle: (1) weight acceptance, (2) loading or propulsion, (3) trunk stabilization
during double support, (4) toe lift-off, and (5) heel strike
The shape of the temporal components is Gaussian-like, its peak and width showing a
precise timing and stability over the normalized gait cycle [Ivanenko 06]. This implies that
the activity patterns are scaled regarding to the walking speed: at a high speed of 9 km/h
the duration of on component is about 90 ms, at very slow speeds of 1 km/h it increases up
to about 250 ms. If a central unit like a cpg is responsible for these bursts of activity, it
48
3. Human Locomotion Control
Figure 3.19: The muscle activity during one cycle in human walking can be explained by five
components. From [Ivanenko 06], p342.
only contributes to muscle action at certain fractions of the gait cycle. This contradicts the
classic half-center oscillator being active for one half and inhibited for the other half of the
cycle. Rather, this implies a stronger influence of sensory input, as this would naturally
scale the activity according to biomechanical events.
Neural walking control does also show signs of bilateral coordination of muscle activity [Olree 95, Ivanenko 06]. When observing the timing of the five components, four of
them appear in pairs being temporally synchronized: the patterns 1 and 3 and the patterns
2 and 5 match in their onset and are one-half of the cycle apart (Figure 3.20). This fact
could also account for the contralateral movement of the arms. The synchronized pairs
of muscle activity take place at the heel strikes of both legs. Only component 4 being
associated with the ipsilateral leg swing appears without contralateral partner. Again,
the fact of bilateral synchronization suggests the existence of a central origin of muscle
patterns and a timing influenced by sensory input.
Implications for Robotics:
Walking phases should be coordinated by a central control unit located on
an interlayer of the control network. Depending on the current phase, this
unit should stimulate or modulate motor patterns and reflexes.
Phase transitions probably require sensory information and are not
strictly timed. Certain bilateral phases should be synchronized.
Patterns and reflexes should be weighted or scaled depending on the
walking speed.
3.2.3
Reflex Function during Walking
While muscle patterns in combination with a cpg-like structure as described in the
previous section generate basic walking motions, the question remains how reflex action
is incorporated in the neural control. What functions do spinal reflexes perform during
walking? To generate hypotheses on this topic, adequate mechanical data has to be
collected together with neural data, thus enabling a valid interpretation.
Zehr and Stein review literature on the function of the stretch reflex, the load receptor
reflexes, and the cutaneous reflexes during locomotion [Zehr 99]. They suggest that the
3.2. Normal Walking in Humans
49
Figure 3.20: The five muscle patterns during walking show bilateral synchronization visualized
as mirrored polar plots on the left and as superimposed sequence of activation timings on the
right. From [Ivanenko 06], p343.
stretch reflex functionally contributes to the force production during walking. By attaching
mechanical devices to subjects during walking, artificial dorsi- and plantarflexion of the
ankle can be produced during all phases of walking. Thus it is possible to excite the stretch
reflex of e. g. the soleus and measure the response. It can be shown that the reflex action
is at its maximum during stance, nearly disappearing in stance-swing transition, and at
about 50% of the maximum during late swing. While it is difficult to separate the force
produced by reflex response and by other possible causes, a functional contribution to
walking is assumed.
Only a few experiments on the role of load receptor reflexes in human walking have been
carried out. There seems to be evidence of a functional contribution, even if somewhat
smaller than what was observed in quadrupedal vertebrates. A phase dependency as well
as significant reflex response in extensor muscles to translational load perturbations can
be shown. Increasing the body load in splitbelt experiments where each leg walks on a
surface of different velocity enhances the walking timing and prolongs stance phases.
Some studies exist on the effect of cutaneous reflexes during human walking. Stimulation
of the sural, tibial, and sp nerves corresponding to the lateral border, and the ventral and
dorsal surface of the foot show phase dependent reaction. For instance, stimulating the
tibial nerve during lift-off causes dorsiflexion of the ankle. However, during heel strike
it causes plantarflexion. Furthermore it can be shown that cutaneous reflexes generate
kinematic relevant responses. These motions produce reactions to avoid destabilizing
stumbles during the swing phase and adaptation to uneven terrain in stance to avoid
excessive inversion of the ankle. Partly, the correcting movement involve muscle groups of
the whole lower limb.
Zehr and Stein conclude that reflexes ensure balance and a stable walking pattern during
normal walking and in face of perturbations. During swing phase, reflexes cause stumbling
correction and trajectory stabilization of the swing limb. In the transition from swing to
stance, reflexes work towards stable foot placement and ground adaption. Similar, during
stance, reflexes alter the ankle trajectory depending on terrain structure, stabilize the
body weight support, and enhance cycle timing. Finally in stance to swing transition,
stretch and load reflexes react on unloading by extending the stance phase, and cutaneous
reflexes generate withdrawal motions. Figure 3.21 illustrates the reflex functions during
these four phases of walking.
50
3. Human Locomotion Control
Swing
Swing to Stance
Stance
Stance to Swing
CUTANEOUS:
stumble correction
MUSCLE:
trajectory stabilization
CUTANEOUS
and
MUSCLE:
placing reactions
MUSCLE:
weight support, stability,
and cycle timing
CUTANEOUS:
stability
MUSCLE:
unloading
CUTANEOUS:
withdrawal
Figure 3.21: Function of stretch reflex, load receptor reflexes and cutaneous reflexes during
locomotion. Reproduced from [Zehr 99].
Implications for Robotics:
Low-level reflexes help to finely regulate biped walking and to correct
perturbations. Given the necessary sensor systems, control loops similar
to the discussed reflexes can prevent stumbling and stabilize walking. The reflexes must be stimulated or modulated depending on the
current phase of the walking cycle.
3.2.4
Postural Control
While the reflexes discussed in the last section are mostly of the monosynaptic or spinal
type, whole body posture control requires additional information. Supraspinal reflexes or
high-level actions from the motor cortex are necessary to balance the upper body or to
sensibly react to slope changes or lateral body tilts. Postural control must be considered
to be a complex skill rather than a pure combination of simple reflexes [Horak 06].
Two thirds of the human mass are located at two thirds of total height above the ground,
aggregated in the head, arm, and trunk segments. Considering that during normal walking
the trunk shows only an angular displacement of about 1-2◦ in the plane of progression, the
accomplishment of the central nervous system to keep this balance is substantial [Winter 95].
Sensory information of the vision, the vestibular, and the somatosensory system is necessary.
Winter reviews research on the postural control during quiet standing and normal walking [Winter 95]. A kinetic analysis of the head, trunk, and pelvis movements during
walking show an increasing stabilization in the horizontal plane towards the head. A look
at emg measurements explains this observation as paraspinal muscle activation travels
from the upper neck downwards and reaches the lumbar levels with about 60 ms offset.
This suggest a top-down anticipatory posture control of the spine.
The main work in sagittal balance control of the upper body is raised by the hip extensors
and flexors. Analyzing the dynamics of the trunk reveals significant unbalancing moments
about the hip axis of about 40 Nm. The upper body’s inertia causes a flexion during
weight acceptance and an extension during push-off. The unbalancing moment is nearly
completely compensated by hip muscle action of the stance limb, which explains the small
3.2. Normal Walking in Humans
51
Figure 3.22: The extrapolated center of mass (XcoM) lies just within the center of pressure
during single support in walking. From [Hof 07], p253.
changes in trunk angle during walking. But this muscle response occurs practically at the
same moment as head acceleration is measured by the vestibular organ. Thus, considering
the latency of the neuromuscular system, this sensory information cannot account for the
full compensation moment. Rather, it suggest that an anticipatory component is involved.
Besides the control of the upper body posture in the sagittal plane, the balance system has
to prevent the supporting leg from collapsing. The unbalancing torques of the trunk as just
described result in a high variability of the hip muscle action, which again influences the
knee and ankle joint and could result in limb instability. However, it can be observed that
the knee joint reacts with additional flexion to extra hip extension and vice versa. This can
partly be explained by biarticular muscles, for instance the rectus femoris muscle causes
simultaneous hip flexion and knee extension. Still the nervous system must contribute to
this fact, probably by corresponding muscle synergies.
Considering the balance in the frontal plane, a single inverted pendulum behavior can be
assumed as the hip ad- and abductors keep the body nearly rigid. These muscles have to
compensate the torque induced by gravity as the CoM always lies medial of the subtalar
joint acting as rotation axis in the foot. Further torques are generated by the inertia of
the trunk at touchdown. Similar torques act at the subtalar joint, which itself can only
produce small correctional torques due to the short support leverage. Hence disturbances
in the frontal plane must be compensated by lateral adaption of foot placement that has
significant impact on the torques induced by gravity.
Hof et al. also investigate stabilization in the frontal plane during walking [Hof 05, Hof 07].
They suggest to consider not only the center of mass but also an extended version of it.
This extrapolated center of mass (XcoM) in the frontal plane is defined as
r
˙ z
CoM
g
XcoM = CoMz +
(3.2)
, ω0 =
ω0
h
CoMx denotes the lateral position of the center of mass, ω0 the eigen frequency corresponding to an inverted pendulum model, g the gravity, and h the vertical height of the
52
3. Human Locomotion Control
center of mass. Figure 3.22 illustrates the XcoM during several steps of normal walking.
It can be observed that the center of pressure which is closely related to the foot position
during single support is always displaced by a small distance lateral of the XcoM. This
could imply a simple strategy of balance control in walking where foot placement is chosen
based on the XcoM just before heel strike [Hof 08].
Bauby and Kuo analyze balance control based on a model of a passive dynamic walking
(see also Section 3.4.1) [Bauby 00]. They find that passive control in the sagittal plane is
sufficient to achieve stability. However, in the lateral direction, active control by feedback
seems necessary. This control most likely involves visual and vestibular sensory information,
and thus would be originated from higher centers of the nervous system, like the brain stem
or cerebellum. This assumption is supported by experimental results, as a restriction of
sensory information like walking with eyes closed leads to a significant higher variability in
lateral foot placement, but only small changes in the fore-aft direction. Similar indications
are given by experiments comparing normal walking with an externally lateral stabilized
gait [Donelan 04].
The influence of vestibular and visual sensory information is examined in several research
works. The role of the vestibular system is analyzed by Bent et al. by phase dependent
galvanic vestibular stimulation [Bent 04]. The strongest changes in foot placement result
from stimulation during the double support phase. This suggests that the decision for limb
positioning is already taken when the foot leaves the ground. Furthermore the information
from the vestibular system must be integrated with somatosensory information to gain an
appropriate representation of the body’s pose. During double support the somatosensory
information is more reliable. In contrast, the vestibular sensory information seems to be
used independently during the whole walking cycle for stabilizing the head and trunk.
The influence of vision on human locomotion has also been examined by confronting
walking subjects with tunnel-like optical flow patterns [Prokop 97]. An effect on stride
length and walking velocity can be observed. The body pose estimation is also integrating
information from the vision system [Patla 97]. This integration depends more strongly on
visual input but can dynamically be adapted based on available perception [Deshpande 05].
Conflicting information from different sensory organs can cause instability or nausea.
As already indicated above, it should again be mentioned that postural control is not
only achieved by purely reactive control components. Rather, the central nervous system
seems to coordinate posture and voluntary movement by anticipatory muscle patterns.
Gahery [Gahery 87] classifies the postural adjustments in three strategies: postural preparations, postural accompaniments, and postural reactions. Sequences of postural muscle
activity can be observed prior to activation of focal muscles. Frank et al. [Frank 90] discuss
these postural accompaniments in different motor task, e. g. during elbow flexion-extension
or rising to toes. The postural regulations serve to displace the body’s center of mass,
to generate an opposing displacement of the center of mass, or to position the center of
mass over a new base of support. For example when rising to toes, healthy subjects move
the center of mass to the front about 60 ms before activation of the soleus and medial
gastrocnemius. When pulling a stiff handle, a preceding movement of center-of-pressure
(cop) and center-of-mass (com) counteracting reactive forces can be observed. As different
conditions modulate timing and gain of the regulations, Frank et al. argue that the cns
must have learned a simplified but state-dependent model of body dynamics to predict the
expected shift of mass. The necessary control for this task could be simplified by only using
3.3. Key Aspects of Biological Walking Control
53
a limited set of postural synergies that are associated with different focal motor patterns.
The same postural reactions could come to use in response to external perturbations.
Implications for Robotics:
Postural control includes maintaining body stability in the sagittal and
front plane and controlling forward velocity. This is a high-level skill
requiring an estimation of the robot’s pose using information on joint angles, acceleration, and velocity information from an inertial measurement
unit, and optical flow from vision, if available. Adjusting the foot
placement seems to have the major influence on whole body balancing. Anticipatory torque patterns seem to be necessary to compensate
segment movements resulting from mass inertia during normal walking,
especially in the hip and trunk joints.
3.3
Key Aspects of Biological Walking Control
Having reviewed research on human motion control in general and walking in particular
on the preceding pages, this section will shortly summarize the key aspects considered to
be relevant to robotics by the author. The following section will then go into detail on
control approaches for bipedal machines applying one or more of the mentioned concepts.
Regarding the structural aspects of human motion control, the following significant
conceptions can be identified:
Functional Morphology The human morphology is highly optimized for efficient biped
locomotion regarding its geometry, mass distribution, or actuation. This “intelligent
mechanics” relieves the nervous system of some of the control burden.
Exploitation of Inherent Dynamics The semi-flat gait as exhibited in human walking
takes advantage of this functional morphology. Inertia of body segments, compliance
of the muscle-tendon system, or conversion between static and kinetic energy are
exploited to reduce energy consumption and control effort, and result in natural
looking motions.
Self-Stabilization Suited elastic properties of muscles and tendons increase stability
without active control by reacting to perturbations with purposeful joint movements.
This allows for slower communication and higher control delay times.
Hierarchical Network Neural control exhibits a hierarchical layout spanning from nerve
fibers via the spinal cord to the brain. Muscle stimulation and perception run down
respectively up along this network. Nerve cells or groups of cells can be gradually
stimulated or inhibited.
Distribution and Spatial Relations Control units act in a distributed way and are
located spatially related to their place of activity. Like the hierarchical layout, this
reduces signal density and allows to cope with high complexity.
54
3. Human Locomotion Control
Feed-Forward Motor Patterns Activated at kinetic or kinematic events or due to
learned timing, feed-forward patterns of muscle activity create coordinated synergies
of movement. Spinal pattern generators manage the correct timing and sequencing
of motor patterns to create the desired cyclic motion.
Feedback of Varying Complexity Feedback control occurs at various levels of complexity regarding the extend of perception and deployment of muscle action. Basic
reflexes only affect a single muscle group, while postural reflexes create whole body
motions and rely on a multitude of sensing organs.
Phase-dependent Modulation Depending on the current task or phase of motion,
reflex action can be modulated, reinforced, or suppressed. Phases of locomotion are
originating from spinal pattern generators being part of the hierarchical layout of
control.
While the structural aspects just mentioned provide valuable clues for designing an
appropriate architecture, the functional analysis of human walking helps to derive the
actual control units generating a walking bipedal robot. The following functional elements
of human gait prove to be meaningful for developing a control for dynamic walking:
Control Units from Gait Analysis Especially kinetic analysis and emg recordings of
human gait can provide information on motor patterns stimulated during walking.
While only qualitative answers can be given, gait analysis still helps in deciding
which basic patterns are necessary to generate the desired movements.
Five Walking Phases Analysis of emg data shows five basic components of muscle
activations of which walking is composed. As these components are related to kinetic
or kinematic events, a pattern generator of the walking control system can be based
on these five phases. Sensor information can be used to trigger phase transitions.
Bilateral Synchronization In humans, the five phases of walking for each side of the
body are synchronized. This bilateral coupling can simplify control and guarantee
correct coordination of the two legs.
Reflexes during Walking By investigating impaired subjects or by specific inhibition
of sensing organs, reflex action and its modulation during walking can be identified.
Certain reflexes can be transferred to robotic systems.
Postural Control is Supraspinal Postural control requires more than local reflexes.
To a certain degree, estimating the body pose and its dynamics is required for
posture stability. Adjustment of foot placement has strong influence on whole body
balancing.
It shall be understood that the features just mentioned do not exhaustively describe
human walking control. On the one hand, this is due to the fact that biomechanical and
neuroscientific knowledge on this problem is still incomplete. On the other hand, some
aspects were deliberately omitted as it was decided not to include them in the control
system developed in this work. Most prominently, this concerns the capability of learning
and long-term adaptation of the human brain. This topic will be attended to in future
3.4. Biologically Inspired Control of Bipedal Robots
55
mH
mL
l
r
(a)
(b)
(c)
(d)
Figure 3.23: Derivation of passive walking on downwards slope following McGeer’s approach:
(a) simple wheel, (b) rimless wheel, (c) synthetic wheel, (d) simple walker.
work. Furthermore, this thesis will not try to design a control system on neural level but
rather a system based on larger control units. Consequentially, mechanism on the level of
nerve cells, nerve fibers, or neural oscillators were only treated on a very basic level. As the
next section will show, some researchers try to approach the problem of controlling bipeds
at such a fine granularity. And finally, even the parts of neurosciences and biomechanics
approached above can certainly not be covered in their vast completeness on the few pages
of this introduction.
3.4
Biologically Inspired Control of Bipedal Robots
Considering the two-legged locomotion capabilities of humans, it is not surprising that
robotics researchers are trying to transfer biological concepts as those just discussed to
the control of bipedal robots. The remainder of this chapter reviews research efforts being
motivated in one or another way by insights on natural motion control. The section is
divided in two parts, one discussing research activities concerning passive control aspects
like the exploitation of inherent dynamics or elasticities, the other focusing on active
control concepts like reflexes or oscillators. In case a research work includes several of the
characteristics introduced above, it is listed in the section discussing its most prominent
feature.
3.4.1
Exploitation of Inherent Dynamics and Elasticities
One of the most important aspect of locomotion in biological systems is the exploitation of
the natural dynamics. As mentioned before, this is done in several ways, e. g. clever mass
distribution, movements that follow the inertia of body segments, or energy storage and
self-stabilization by elastic elements. Unfortunately, most actuated bipeds cannot benefit
from these effects due to the high friction of their joints.
Beginning in the 1990s, researchers tried to build machines purely relying on inherent body
dynamics. These so called passive dynamic walkers have no actuators and therefore can
exhibit very low joint friction. No active control is taking place, instead these machines
purely rely on well-balanced mechanics and gravity.
McGeer was one of the first to investigate the motion laws behind passive dynamic walkers
motivated by simple ramp-walking tinkertoys [McGeer 90, McGeer 93]. He built a machine
56
3. Human Locomotion Control
(a)
(b)
(c)
(d)
Figure 3.24: Passive dynamic walking machines: (a) McGeer’s original walker, (b) Collin’s
Walker, (c) Cornell Biped, (d) Meta from TU Delft.
that can walk down a slope, only using the gained potential energy to compensate for
energy loss (Figure 3.24a). It can be shown that self-stabilizing cycles exist for such
systems, i. e. within small margins they will stay inside stable trajectories. The models for
such a simple walker can be derived starting from a simple wheel as shown in Figure 3.23.
A wheel can roll along a level surface without loss of energy as far as friction is neglected.
Removing the rim of the wheel leaves an equally spaced set of legs dispensing energy
each time the next leg hits the ground. Assuming inelastic and impulsive impacts and
conservation of angular momentum, the loss of speed can be calculated: on a level surface
the rimless wheel decelerates exponentially. But on a downhill slope it can regain velocity
during the rotation about the stance leg.
Instead of removing the rim, the wheel could be reduced to only two spokes that can
vary their angle in a joint at the former axle of the wheel (Figure 3.23c). Assuming the
swinging leg would clear the ground, McGeer shows that a solution to the dynamics of
such a system can be found so that the next swing leg arrives just in time to continue
the rolling motion as next stance leg. A generalization of this walker can be found in
Figure 3.23d. McGeer found stable walking cycles for this model considering different
parameters like the leg length l, the foot arc radius r, the hip and leg masses mH and mL
as well as offsets of the leg mass relative to the leg.
Further research on this topic addresses the extention to three dimensions, adding a passive
knee for implementing ground clearance of the swing leg, comparing the motions of passive
walkers to human gait, or investigating energy consumption, step length, and stability
issues [Garcia 98, Kuo 99, Kuo 01, Wisse 04]. Figure 3.24 shows some of the machines
that emerged from this research.
Despite the elegance of its motions and the simplicity of the control, the principle of
passive dynamic walking has some draw-backs and limitations. As the machines are purely
passive, they rely on the potential energy gained while walking down a slope. Furthermore,
the design of the robot must be carefully chosen and tuned for it to be able to walk at all.
And as there is no feed-back, the machine cannot react to disturbances, but only walk on
3.4. Biologically Inspired Control of Bipedal Robots
(a)
57
(b)
Figure 3.25: Jerry Pratt’s Spring Flamingo and the finite state machine of its control system.
From [Pratt 00], p68.
very level ground without external forces. It is not possible to walk outside the sagittal
plane as degrees of freedom and an active steering mechanism are missing.
The necessity of additional energy can be solved by substituting the energy gained while
walking down a slope by simple actuators [Collins 05]. The robots Mike and Denise
developed at TU Delft are powered by two pneumatic actuators in the hip [Wisse 05].
Electrical actuation with series elastic elements is used for hip and ankle actuation of
the robot Meta shown in Figure 3.24d. Only ankle actuation is used for the Cornell
Biped (Figure 3.24c) having a comparable energy consumption as human walking, whereas
Honda’s Asimo uses at least ten times the energy of human walking [Collins 05].
Another work propagating the exploitation of inherent control and natural dynamics of
walking is Jerry Pratt’s control approach for the robot Spring Flamingo (Figure 3.25a).
He states that bipedal walking is a difficult problem only if viewed as a dynamical system
solution but simpler if viewed as a specific mechanism [Pratt 00]. Starting from simplified
models for two-legged walking, intuitive control laws are derived to make sure that five
conditions are met: stabilization of height, of pitch, and of speed; swing leg motion; and
properly timed transition from one support leg to the next. For each leg, a finite state
machine as shown in Figure 3.25b toggles between these controllers. Some of the controllers
make use of the virtual model control method as described in Section 2.2.2. The approach
is shown to work on the 6 degree of freedom planar walking Spring Flamingo as well as for
a 12 degree of freedom machine [Pratt 09]. Both robots feature series elastic actuators with
low impedance to allow for the passive dynamics to take effect and for the implementation
of a torque joint control [Pratt 95a, Pratt 02].
The main achievements of Pratt’s work is to successfully combine feed-back control with
exploitation of passive dynamics. A very natural and energy efficient walking gait is
58
3. Human Locomotion Control
produced and the system remains stable against small perturbations and changes in slope.
But while the principles of exploiting inherent robustness and natural dynamics appear to
be universal, the suggested algorithms and their parameters have to be significantly changed
for a robot of different mass distribution, size, or shape. Furthermore it is not easily
possible to extend the control to different modes of locomotion or adapt characteristics like
the step height. And for some of the controllers, modelling is necessary to a considerable
amount, like calculating the Jacobian of the direct kinematic for a virtual component or
partly using a dynamic model for fast leg control.
Roa et al. develop simple robots using a design methodology based on models of passive
walking [Roa 05]. A dynamic simulation of the preliminary mechanical design including
actuation is then used to refine the contruction. The three UNROCA robots originating
from this work use servo motors to track the trajectories resulting from stimulation. While
this approach makes use of the system dynamics during the design process, the actual
robots do not exploit it due to their stiff actuators.
A different approach combining the benefits of natural system dynamics and actuated
joints is proposed by Katja Mombaur et al. [Mombaur 05b]. The main idea is to use
periodical feed-forward control trajectories that will generate cyclic and stable open-loop
solutions. These trajectories are generated using techniques from numerical optimization
and optimal control. For this approach, a dynamic rigid multibody system model of
the robot and its interaction with the environment has to be established and periodic
constraints must be formulated. The resulting multi-phase optimal control problem can
efficiently be solved by optimization techniques based on the direct boundary value problem
approach using multiple shooting [Leineweber 03a, Leineweber 03b]. This technique involves a discretization of both state and control variables transforming the optimal control
problem into a nonlinear programming problem (nlp) with simultaneous simulation for
the evaluation of objective function and constraints. The approach does not only allow
to calculate an optimal control solution, but also to optimize mechanical parameters
in respect to the target functional. Open-loop stable solutions can be shown for walking [Mombaur 01], running [Mombaur 05a], and somersaults [Mombaur 05c]. It can even
be shown that human-like running with a high degree of freedom model can be open-loop
stable [Mombaur 07].
As stability can be included as part of the target functional during the optimization process,
self-stabilizing, natural behavior can be achieved. Never-the-less the approach lacks any
feed-back, so robust locomotion over unknown terrain cannot be realized. Furthermore,
the approach depends on a complete mathematical model of the robot and its environment
and the resulting trajectories only work for this representation. This makes it difficult
to transfer it to an actual robot, as the optimization process works on a simultaneous
simulation that cannot be easily replaced with a real machine.
As mentioned in Section 3.1.1 exploitation of elasticity results in several benefits in
natural locomotion. Alexander suggests three different applications of springs in legged
robotics [Alexander 90]. Pogo-like springs can store energy during impact that can be
reused for propulsion; return springs can save energy during the reverse of direction in
the swing leg; and elastic foot pads can reduce impacts and provide better grip on uneven
terrain. Already in the 1980s Raibert made heavy use of pogo-like springs in his running
and hopping machines [Raibert 86].
3.4. Biologically Inspired Control of Bipedal Robots
(a)
(b)
(c)
59
(d)
(e)
Figure 3.26: Bipeds featuring elastic actuation: (a) Lucy and (b) Veronica from University of
Brussels, (c) the biped developed by the Shadow company, (d) elastic biped developed at fzi,
Germany, (e) Pneumat-BR from Hosoda Lab.
Only a few research projects cover the use of elasticity during bipedal walking. The 6 degree
of freedom robot Lucy as shown in Figure 3.26a uses pleated pneumatic artificial muscles as
actuation that allow to control joint stiffness [Vermeulen 04, Verrelst 05, Vanderborght 07,
Vanderborght 08]. The aim of the project is to combine the versatility of robots controlled
by technical methods as discussed in Chapter 2 with exploitation of natural dynamics and
thus reducing energy consumption. Joint trajectories are pre-generated using a dynamic
model of the robot and the pneumatic muscles. zmp calculations are applied as stability
criterion. A trajectory tracker then controls the pressure within the muscles to follow the
desired motion. In this way walking velocities of up to 0.15 m/s could be achieved. By
changing the stiffness of the joint during the trajectory tracking depending on the natural
system dynamics, energy usage can be reduced. This approach has so far only be tested
on a pendulum structure actuated by the artificial muscles. While this research work tries
to include passive dynamics to the control, it still depends on a dynamic model of the
robot and its environment.
Another project of the same group combining passive dynamic walking and elastic actuation
is the robot Veronica shown in Figure 3.26b [Ham 06a]. It is powered by six maccepa
(Mechanically Adjustable Compliance and Controllable Equilibrium Position Actuator)
actuators in the hip, knee, and ankle. This rotational actuator features controlable stiffness
and equilibrium position by combining two servo motors and a mechanical spring. The
planar robot is 1 m in height, weights 5.6 kg and is controlled by a concept called Controlled
Passive Walking: the compliant actuators change the natural frequency of the mechanical
system thus enabling passive dynamic walking at different velocities. The underlying
controller divides the walking cycle into six phases. For each phase, a set of joint control
parameters is determined for the hip, knee, and ankle joints. For instance, the hip joint’s
equilibrium position is either set to the flexed or extended postion, and the controller is
configured to be stiff or compliant. Supported by a human operator, several walking steps
could be achieved. While the actuator has interesting properties, it cannot produce high
stiffness or high torque by design. The control concept lacks feedback mechanisms to react
to disturbances or unpredicted ground conditions.
60
3. Human Locomotion Control
At the Locomotion Laboratory in Jena, Seyfarth and his colleagues also investigate the role
of compliant actuators on bipedal walking and running [Geyer 04, Iida 07, Blum 09]. In the
scope of this research, several basic planar robots with only a few active degrees of freedom
are built to verify the models derived from biomechanical analysis. The underactuated
robot Jena Walker II is used to examine the function of the elastic muscle-tendon system
during walking [Smith 07]. It features two actuated hip joints and passive knee and ankle
joints. Four major muscle-tendon groups are represented by a spring-cable system, three of
them spanning two joints. Stable, supported toe-walking can be demonstrated at different
velocities up to 0.6 m/s showing leg compliance via the ankle joint even during stance with
a stretched leg.
Since the pioneer work of Kato in 1969, several projects use pneumatic artificial muscles as
actuation for biped, e. g. the biped by the Shadow company in Figure 3.26c, but only a few
machines are actually able to walk, let alone make use of the elastic properties. Kerscher et
al. are designing a compliant 3D bipedal robot as shown in Figure 3.26d [Kerscher 07]. The
approach combines electrical actuation in the hip joint with pneumatic muscles produced by
the company Festo in the knee and ankle joints. The control concept combines the Virtual
Model Control as describes in Section 2.2.2 with adaptation of the stiffness. A detailed
model of the pneumatic muscle is developed by using e. g. a quick release experiment to
derive dynamic properties [Kerscher 06]. Based on dynamic simulation of the robot and
the model of the muscle, first walking steps could be achieved.
Hosoda et al. have built several robots for walking and jumping actuated by McKibben
pneumatic artificial muscles [Hosoda 07a, Hosoda 07b]. The robot Pneumat-BR shown in
Figure 3.26e is able to jump as well as walk in the sagittal plane. The main focus of this
work lies in the adjustability of the joint compliance depending on the mode of locomotion.
The control system consists of a simple feed-forward mechanism opening or closing the
valves in a fixed sequence for an experimentally determined time. While indeed passive
walking-like locomotion could be achieved, the robot lacks any feedback system and can
only walk on flat terrain without disturbances.
3.4.2
Neuro-, Reflex-, and Oscillator-based Control
Several research projects developing control approaches for bipedal walking based on
neuroscientific findings can be found in literature. As presented earlier in this chapter,
possible features to be considered are the functionality of the neurons, central pattern
generators, reflexes, or muscle synergies. In the following, research work involving one or
several of these features will be discussed.
Paul demonstrates that a purely reactive sensorimotor neural network can produce a stable
walking gait for a simulated 8 degrees of freedom lower body biped [Paul 05]. Instead
of relying on a central pattern generator, simple neural networks directly connect sensor
inputs like waist orientation or contact information to actuator control signals. A genetic
algorithm is used to evolve the controllers, resulting in a rhythmic, cyclic gait behavior. It
is shown that the cutaneous sensor information is sufficient to establish control networks
that produce a walking limit cycle, while joint angle and orientation sensing seems to
be less important. It is assumed that a central pattern generator could mainly control
upper body movement to adjust e. g. the step frequency. While the results underline
the importance of reflexes and the possibility of reactive switching of walking phases,
3.4. Biologically Inspired Control of Bipedal Robots
(a)
(b)
61
(c)
(d)
Figure 3.27: (a) HOAP-1 and (b) HOAP-3 by Fujitsu, (c) RunBot from bccn Göttingen, (d)
small biped from Nakamura Lab.
it remains to be seen whether this simple control approach would still work on a more
complex machine and in a disturbed environment.
Zaier et al. investigate the combination of reflexes with a cpg [Zaier 07, Zaier 08]. On
the small humanoid HOAP-3 (Figure 3.27b) they implement a piecewise linear pattern
generator using gyro sensor information for stabilization during single support. A recurrent
neural network is triggered by sudden sensor events to recognize the disturbance and
initiate a reflex motion. The motion can be adapted on the basis of sensor information: in
case the robot steps on an obstacle, its position on the foot sole is calculated using four
force sensors in the foot. Then a roll or pitch motion in the ankle tries to increase the
size of the support polygon in order to relocate the current zmp in a stable region. This
approach combines generated trajectories with reflexes. The pattern generation clearly
benefits from the large foot plates and the low weight of the robot.
Geng et al. implement a reflexive neural network for a small planar walker [Geng 06,
Manoonpong 07]. They show that fast walking is possible without planing of trajectories
but rather by using local reflexes and by exploiting the passive dynamics of the mechanical
system. The robot RunBot as shown in Figure 3.27c is 23 cm in height, has curved feet
measuring ground contact, and is actuated in hip and knees by four modified servo motors.
An additional servo motor can move a small weight at the upper body to simulate leaning
forward or backwards. Further sensors include an accelerometer and one infrared sensor
pointing to the floor to distinguish between even black floor and sloped white floor. Simple
neural networks locally control the leg and the upper body movement, creating reflex-like
actions depending on joint angles, ground contact, or acceleration. For instance, when
the swing leg reaches the anterior extreme position (aep), the knee joint is extended to
prepare for touchdown and weight acceptance. An additional adaptive network modifies
the local networks based on the ir information to achieve a predictive change of gait on
slopes. As a result, stable planar walking on flat and sloped terrain could be generated
that combines exploitation of passive dynamics and active neural control. Scaled by leg
length, the walking velocity is one of the fastest observed in bipeds and is comparable
62
3. Human Locomotion Control
Figure 3.28: Oscillator control systems as applied by Taga. From [Taga 91], p150.
to fast human walking. However, it still has to be shown whether the simplicity of the
control approach scales to larger machines with more degrees of freedom.
A combination of feed-forward patterns and reflexes accounts for the control approach
developed by Huang et al. [Huang 05]. The feed-forward joint angle trajectories are
pre-calculated offline as third-order splines using zmp as stability criterion. Here, it is
assumed that the dynamics of the robot and its environment are known. Three reflexes
add joint angle offsets to the rhythmic trajectories in case disturbances are detected. The
zmp reflex will shift the ankle joints if the actual zmp moves too close to the border
of the foot. By considering the offset between the estimated and effective touchdown
time, the landing-phase reflex changes the leg length of the stance leg, thus compensating
changes in forward velocity. Finally, the body posture reflex will adapt the hip joints if
the measured body inclination varies from that of the calculated trajectory. The control
approach is demonstrated in simulation and using the small biped shown in Figure 3.27d.
While a combination of feed-forward and feedback control seems promising, the concept of
Huang et al. still requires a complete dynamics model for the offline as well as the online
calculation of the zmp. Furthermore, the use of joint angles as control variable and the
stiff mechanics forbid the use of passive dynamics.
Taga was one of the first to control biped locomotion by neural oscillators [Taga 91,
Taga 95b, Taga 95a]. In a simulated five and eight link planar biped, neural rhythm
generators similar to those proposed by Matsuoka control each hip, knee, and ankle
(Figure 3.28) [Matsuoka 87]. As passive dynamics are allowed to act, also mechanical
oscillation like the pendulum motions of the limb is included. Inertial joint angles, joint
velocities, and foot contact information are used in the feedback terms of the individual
3.4. Biologically Inspired Control of Bipedal Robots
63
Figure 3.29: Hierarchical oscillator control systems as applied by Shan. From [Shan 02].
oscillators. The relation between the oscillators is self-organized as they are mutually
entrained and globally interact via the controlled system and the environment. Stable
walking on even and sloped surfaces and under perturbations is achieved. An important
result of Taga’s work is to demonstrate embodied control of a biped with rhythmic
locomotion patterns emerging as result from dynamic interaction of the global entrainment
between the musculoskeletal system, the neural system, and the environment. Yet it is not
clear if the approach remains valid with more complex models or an actuation similar to real
bipedal machines. Also it has to be decided for each oscillator which sensor systems will be
used as feedback. Similar projects continued Taga’s ideas including slightly more degrees
of freedom or a more sophisticated model of the neuro-muscular system [Yamazaki 96,
Hase 99, Ogihara 01]. Katayama et al. study the theory of neural oscillators for the use in
bipedal locomotion control and show solutions for the stability of the nonlinear differential
equations and possible applications for walking pattern generation [Katayama 95].
Walking control systems based on neural oscillators do not scale well with increasing
degrees of freedom as their parameters do not have a physical interpretation and therefore
are difficult to tune or to learn. Shan et al. approach the problem of complexity by using a
hierarchical system of cpg sub circuits [Shan 02]. Each of these circuits is implemented as
recurrent neural network and represent a certain motor program for walking (Figure 3.29).
Represented by differential equations of different order, the oscillator sub circuits create a
lateral roll movement, swing leg lifting, and forward/backward motion. The parameter
space is reduced by inverse kinematics calculations. The control system is tested on the
small biped robot HOAP-1 as shown in Figure 3.27a featuring 20 degrees of freedom, force
measurement in the feet, and a three dimensional gyroscope. Walking and simple stair
climbing could be achieved. However, as joint position trajectories of sine-like patterns are
64
3. Human Locomotion Control
Figure 3.30: Oscillator control system as applied by Aoi et al. From [Aoi 05], p222.
forced on the robots joint, no inherent dynamics can be exploited and only highly tuned
parameters allow the system to walk in an undisturbed environment.
Aoi and his colleagues also control a HOAP-1 robot by a network of nonlinear oscillators [Tsuchiya 03, Aoi 05]. One oscillator for each foot, each leg, and the trunk are
coordinated by an inter-oscillator (Figure 3.30). Together these units form the rhythm
generator of the control system. Their phases encode the joint trajectories for the limbs.
Again, inverse kinematics is used to calculate joint positions resulting in ellipsoid trajectories of hands and feet in swing and stance phase. Inverse dynamics and numerical
simulation lead to a trunk motions that allows stable walking. Stability is determined by
analysis of Poincaré maps of the motion equations. The ground contact measurements
within the feet provide sensory feedback that is used to reset the oscillators and modify
the trajectories e. g. based on the foot position at touchdown. Experiments using the robot
and a simulation environment show that the cyclic motion falls back to its limit cycles at
very small disturbances but cannot cope with larger perturbations. While this approach
employs oscillators at the center of its control system, it still relies on many methods of
technically controlled bipeds and thus inherits the corresponding drawbacks as discuss at
the end of Chapter 2.
The application of neural oscillators is also examined by Endo, Cheng, et al. for a basic
planar walker and for a small, fully actuated biped [Endo 04, Endo 05]. The control system
based on Matsuoka oscillators is set up in analogy to Kimura’s work on quadrupedal
robots [Kimura 04]. While the oscillators of the planar walker directly control the joint
torques, those of the control for the small humanoid act on the foot positions (Figure 3.31a).
While this approach reduces the number of neurons and parameters, it makes an inverse
kinematics calculation necessary and excludes the possibility to exploit system dynamics.
The vertical leg movement is modulated by two postural reflexes, an extensor response,
and a vestibulo-spinal-like reflex that generate feedback terms for the oscillator equations.
Another feedback term synchronized the horizontal leg movement with the body sway. The
approach is tested in simulation and using a QRIO robot by Sony as shown in Figure 3.31b.
Slow walking under small perturbations with a step length of approximately the length of
the feet can be achieved. In doing so, the dynamic effects during walking do play a minor
role and postural stability is easier to obtain.
3.4. Biologically Inspired Control of Bipedal Robots
(a)
65
(b)
Figure 3.31: (a) Oscillator and reflex control systems as applied by Endo, Cheng et al.,
from [Endo 05], p599. (b) The QRIO robot by Sony.
The forgoing literature survey presents an overview on biological inspired approaches of
bipedal robots. While not being complete, it still should provide a solid view on this topic’s
research projects. Table 3.4 summarizes these works regarding the application of aspects
of biological motion control as stated in the previous section. The following chapters will
show how these aspects are integrated in the concept suggested in this work.
3. Human Locomotion Control
Approach
Details
[McGeer 90, McGeer 93]
[Collins 05, Wisse 05]
[Pratt 00]
[Roa 05]
[Mombaur 01, Mombaur 05b]
[Vermeulen 04, Vanderborght 08]
[Ham 06a]
[Geyer 04, Smith 07]
[Kerscher 06, Kerscher 07]
[Hosoda 07a, Hosoda 07b]
[Paul 05]
[Zaier 07, Zaier 08]
[Geng 06, Manoonpong 07]
[Huang 05]
[Taga 91, Taga 95b, Taga 95a]
[Shan 02]
[Tsuchiya 03, Aoi 05]
[Endo 04, Endo 05]
this work
planar passive walking
actuated passive walking
Spring Flamingo, planar, compliant
exploit dynamics during design
optimal control, simulation
Lucy, pneumatic muscles
Veronica, maccepa, variable stiffness
Jena Walker II, passive compliance
virtual model control, pneumatic muscles
Pneumat-BR, pneumatic muscles
purely reflex-based, simulation, 8 DoF
HOAP-3, recurrent neural network
RunBot, planar, neural network
small servo biped, zmp
simulation, 5/8 DoF, neural oscillators
HOAP-1, hierarchy of cpgs, inv. kinematics
HOAP-1, neural osc., inv. kinematics, offline
QRIO, neural osc., inv. kinematics
simulation, 21 DoF, compliance
ED HC
ˆ
ˆ
ˆ
◦
◦
◦
ˆ
ˆ
◦
◦
ˆ
◦
ˆ
◦
◦
ˆ
◦
ˆ
DC
FP
◦
◦
◦
◦
◦
ˆ
◦
ˆ
◦
◦
◦
◦
◦
ˆ
◦
ˆ
ED: Exploit Inh. Dynamics
HC: Hierarchical Control
DC: Distrib. Control Units
FP: F.-Forw. Motor Patterns
RE PG
◦
◦
ˆ
ˆ
ˆ
ˆ
◦
◦
◦
ˆ
ˆ
PC
◦
◦
◦
ˆ
◦
◦
◦
ˆ
ˆ
RE: Reflexes, Feedback Control
PG: Central Pattern Generators
PM: Phase-dep. Stim. & Modul.
PC: High-Level Posture Control
Table 3.4: Control approaches for bipedal robots adapting ideas from biological motion control.
66
◦
ˆ
◦
◦
ˆ
ˆ
ˆ
ˆ
ˆ
PM
4. A Biologically Supported Concept
for Controlling Bipeds
In the previous chapter, key findings of biological motion control have been suggested to be
considered worthwhile for robotic bipeds. They concern not only the control system itself
in form of the central nervous system. Rather, they affect all aspects of the human body,
its morphology, physiology, muscles, and receptors. Even more importantly, these aspects
are interleaved as one cannot function without the other. This leads to a holistic approach
for designing bionical bipeds or other robots strongly based on a biological example. As
illustrated in Figure 4.1, all facets of the robot’s design can adopt or transfer ideas from
biology. However, this thesis is focused on the control system for biped locomotion. And
while solutions for the other problems like the mechatronics or muscle-like actuators
cannot be provided, these topics must be covered nevertheless. A biological inspired
control method as the one suggested here could not function without similar biological
characteristics of the mechanical system. In order to test the control concept without the
need of developing a full bipedal robot, a suitable simulation is designed (see Chapter 6),
while keeping in mind the requirements for a real robot.
This chapter introduces a methodology for controlling the locomotion of complex bipeds
based on above findings from neurosciences and biomechanics. As the approach described
here partly relies on passive dynamics, the following section describes passive control
aspects. These lead to several requirements for the structure of the active control system
that will be introduced in the subsequent section. Classes of control units that can be
derived from their natural complements will be presented. Thereupon, the hierarchical
layout and the control flow within the emerging network is described. Preliminary versions
of this approach have been published in [Luksch 08a, Luksch 08b].
4.1
Passive Control Aspects
A strong advantage of natural locomotion control is the passive exploitation of mechanical
properties. This includes the functional morphology of the human body, the inherent
system dynamics, and self-stabilization by elastic elements. All these effects do not require
68
4. A Biologically Supported Concept for Controlling Bipeds
Biology
Morphology
Receptors
Muscles
Nervous
System
Bionics
Kinematical
Layout
Actuators
Sensors
Control
System
Robotics
Figure 4.1: Bionics as guiding principle for the design of bipedal robots. This thesis focuses on
the derivation of the control system.
active control or feedback. The presented approach tries to make use of these benefits.
Naturally, this mainly affects the mechanical properties of the simulated or real robot.
However, it also imposes demands on various levels of the active control system.
Regarding the mechanical setup, beneficial passive effects can only emerge when certain
requirements are met. The morphology of the robot must be designed to support the desired
forms of locomotion. This necessitates proper segment lengths and mass distribution.
Besides manually tuning these parameters, a common procedure in the development of
passive walkers, two further strategies come to mind: as human morphology has been
functionally optimized during millions of years of evolution, mimicking the masses and
segment lengths of human trunk and limbs would be intelligible. This approach is taken
in this work, as a simulated biped is not restricted by constructive constraints. The
second strategy would make use of numerical optimization techniques to find a suitable
robot design while taking the target motions and constraints of the construction into
account. This idea was also investigates by the author but is not a substantial part of this
work [Luksch 05, Luksch 07].
Besides the robot’s morphology, the actuation system must also be suited for passive
control. Especially high joint friction and damping can prevent exploitation of inherent
dynamics. In this work, a compliant joint actuator featuring some of the characteristics
found in the human muscle-tendon system is assumed. It allows for direct torque control
and position control with adjustable compliance as well as for parallel elastic elements.
This elasticity makes self-stabilization possible. Details on this topic can be found in
Chapter 6.
Finally, the active control system itself must be designed in such a way it does not inhibit
the positive effects of passive dynamics. At no point, full body joint position trajectories
should be used. Even if generated using a dynamics model, they can never fully match
actual body motions in a partly unknown environment. Rather, torque control is to be
preferred to position control whenever possible, and control units should act locally and
be distributed. If position control is inevitable, at least a minimum compliance should
remain, and at no time position control should affect more then only a few joints. Active
4.2. Control Unit Classes
69
control only occurs to steer the limbs towards the deliberate motions and during reflexive
action. The next section will introduce control units implementing these ideas.
4.2
Control Unit Classes
In human motion control, the basic control unit is the neuron. Each neuron collects
incoming activity and fires itself if a certain threshold is reached. All data processing
and muscle control is based on this simple unit. Since decades, researchers are designing
artificial neural network to capture certain properties of their natural examples. While
the idea of building a control system of simple, uniform units is intriguing, the concept
described here chooses a structural abstraction above the neural level. Following the
philosophy of behavior-based robotics, each control unit already represents a self-contained
functional unit. Even though the approach is probably not as elegant as artificial neural
networks, it yet shows several advantages: the human nervous system has about 100 billions
of neuron, some of them handling thousands of incoming signal. A robot walking control
system will be much smaller, but still the complexity of the network and its communication
would be very high and increasing in size with each new feature. This complexity as well
as the fact that individual neurons and signal have no semantics make it hard to design,
interpret, and debug such a control system. On the other hand, if each control unit has its
own function, these tasks become easier to manage. Furthermore, the parameters of the
units have a physical meaning, facilitating the tuning and error handling of the control
system.
Nevertheless, some properties of neurons can be transferred to control units. A neuron can
only be active if stimulated, and its activation can be decreased or suppressed by inhibiting
signals. This idea of gradual stimulation or inhibition is applied to the control units at
hand. The flow of activity will indicate which parts of the network will be responsible for
the control at a certain point in time. Section 5.1.3 will describe how these features are
implemented within the behavior-based architecture deployed in this work.
The previous chapter, in particular Section 3.1, presented the control units found in human
locomotion control. In nature the distinctions between the classes of control units are not
sharply defined. Some might not even exist as a self-contained group of neurons, but only
emerge as a unit from consistant effects observed during gait analysis. Still it remains
valid to derive control units for technical systems from these biological finding as they
clearly exist as a functional entity. Thus the following section lists the unit classes of the
suggested control concept, succeeded by the descriptions of the hierarchical network in
which the units are arranged. For each class, a symbolic representation is introduced which
will be used throughout the remaining chapters of this text.
4.2.1
Locomotion Modes
In humans and animals, the decision on which form of locomotion is applied in a certain
situation is taken by the brain. The control system in this work leaves this choice to the
operator of the bipedal robot. Thus, the highest-level control units to be considered are
the locomotion modes:
Locomotion
Mode
70
4. A Biologically Supported Concept for Controlling Bipeds
Examples for locomotion modes could be standing, walking, or running. Selected by the
operator, these units stimulate the corresponding parts of the control network. Inputs for
the modulation of the locomotion mode could include the desired velocity or direction of
movement. Locomotion modes directly stimulate the pattern generators introduced next,
but can also modulate control units on a lower level.
4.2.2
Spinal Pattern Generators
Section 3.1.4 showed that muscle activation seems to be coordinated with the phases of
the walking cycle. This and other evidence brought forth in Section 3.2.2 indicate the
existence of a central unit generating rhythmic patterns of muscle action. It is commonly
believed that these pattern generators are located within the spinal cord. Consequently,
the corresponding control unit is labeled as spinal pattern generator (spg):
SPG
While many research works model central pattern generators as neural oscillator, another
approach is followed here. spgs are represented as finite state machines, where state
transitions are triggered by sensory events. The drawback of this approach is the absence
of a strong timing to create periodic movement. Here, the periodicity emerges from the
robots interaction with the environment. As an advantage, the walking phases are always
synchronized to the corresponding kinematic or kinetic events. This can result in higher
robustness of the system. Furthermore, this approach is beneficial for the exploitation of
inherent dynamics as less timing is forced on the motion of the segment masses.
4.2.3
Motion Phases
The spgs could directly stimulate all the lower control units working in one phase of
locomotion. But to support a clear arrangement and to further follow the natural example
of hierarchical layout, for each phase its own control unit is introduced:
Motion
Phase
In general, each motion phase corresponds to a section of the cyclic locomotion mode
between significant kinetic or kinematic events. Within each phase unit it is coded to
what extend the lower level control units are stimulated or inhibited. Modulation of reflex
action is also possible. Furthermore, motion phases set the stiffness and equilibrium point
of passive joints.
4.2.4
Motor Patterns
Bizzi, Ivanenko and others showed that stimulation of certain regions in the spinal cord
result in muscle action producing coordinated joint or limb motions (Section 3.1.4). These
components or motion primitives seem also to be recruited in phases of locomotion. The
corresponding control unit of this concept is called motor pattern:
4.2. Control Unit Classes
71
Motor
Pattern
Similar to muscle activity measured with emg, these units produce uniform patterns of
torque for one or more joints in a feed-forward manner. Only a minimum number of
parameters describe the characteristics of the torque function. Motor patterns always act
locally, i. e. they will not affect joints that are located far apart (e. g. a joint of an arm and
a joint in one of the feet). Should a more global synergy be necessary, it must be provided
at a higher level. For instance a motion phase can stimulate several motor patterns at
a time. While motor patterns are designed without feedback, fortitude and duration of
the torque output can vary depending on the modulation by motion phases or locomotion
modes. Motor patterns support or shape the passive system dynamics to create the desired
motion. Still, as many joints as possible should act in a purely passive or compliant way.
4.2.5
Local Reflexes
Reflex action provides the basic feedback mechanism in human motion control. It can occur
on various levels of complexity, ranging from monosynaptic and propriospinal to supraspinal
depending on the area of the spinal cord and the brain they cover (Section 3.1.3). Control
units corresponding to the first two types, i. e. those affecting only a few, spatially adjoining
joint, are called local reflexes:
Local
Reflex
Local reflexes show a tight coupling between sensor information and motor action. The
control answer can have different forms: some reflexes show a loopback controller-like
behavior with a linear or nonlinear relation between sensor data and control output. The
other type of reflexes works event-based: as soon as a certain sensor event occurs, the
output state is changed.
4.2.6
Postural Reflexes
As in the natural model, reflexes vary in their spatial and semantic expansion. Most reflexes
regulating the body’s posture during locomotion require a more complex mechanism than
local loopback control. They belong to the class of supraspinal reflexes as their neural
activity is not restricted to an enclosed part of the spinal cord, but also include the brain.
The analogues to these units are called postural reflexes:
Postural
Reflex
The main characteristics of this type of control units is the extend of their action and
the complexity of their internal model: the reflex action at one place of the robot can
be the result of a sensor event at the opposite end of the machine, possibly supported
by a simplified dynamical model. The state variables most frequently used or calculated
72
4. A Biologically Supported Concept for Controlling Bipeds
‘Brain’
‘Spinal Cord’
Joint Groups
modulation signals
stimulation
Locomotion
Modes
Local
Reflexes
stimulation
Motion
Phases
SPGs
Postural
Reflexes
Motor
Patterns
Sensor
Handling
Sense of
Balance
torques, positions, forces
Mechatronics
Vestibular
System
(IMU)
Somatosensory
System
Joint
Control
torque, position, stiffness
Mechanical Control (Elasticities, Inerita, . . . )
Environment
Figure 4.2: The hierarchical organization of control units and the interaction of the control
system, the robot’s mechatronics and the environment.
by postural reflexes are estimations of the upper body orientation, the rough position or
velocity of the center of mass, or load distribution in the feet. While this information
partly requires some kind of reduced model of the system dynamics, it can be kept simple
enough to avoid the break of the control loop by intensive processing operations. This
is possible because an approximation of a single or only a few variables of the dynamic
system is sufficient. In collaboration with the local reflexes, the postural reflexes enhance
the global stability of the biped.
4.3
Hierarchical Layout
Having defined the basic types of control units, the questions remains on how to organize
them as a control network. Section 3.1.4 stated that natural motion control has a
hierarchical layout. As suggested by Ivanenko et al. in the hypothetical scheme shown
in Figure 3.9, stimulation of control units runs downwards from higher to lower levels.
Perceptional information feeds back from sensory neurons to various stages of the control
network. Figure 4.2 illustrates how these ideas and other conceptions from the previous
chapter are translated to a control concept for bipeds. It also shows how the control system
is integrated with the robot’s mechatronics.
The hierarchy of control units is laid out from left to right. From the highest level, i. e. the
locomotion modes, stimulation and modulation signals run along the control units until
motor patterns and local reflexes are reached on the lowest level. As the last-mentioned
units only act locally, they can be pooled in so called joint groups. This corresponds to the
4.3. Hierarchical Layout
73
Joint Group 1
modulation
Local
Reflexes
Motion
1 Phase 1
Locomotion
Mode 1
SPG 1
Motion
2 Phase 2
Motion
m Phase m
Locomotion
Mode n
Postural
Reflex 1
Postural
Reflex 2
Postural
Reflex l
SPG n
Motion
; Phases
Motor
Patterns
Local
Reflexes
Motor
Patterns
Joint Group q
Figure 4.3: Flow of stimulation and modulation signals within the hierarchy of control units.
areas of the spinal cord where sensor and motor neurons are spatially related depending
on their dedicated region of the body (Section 3.1.2 and Figure 3.8). For the biped in
this work, the joints and sensors of the upper trunk, the lower trunk, and each leg are
subsumed in such a group. This distribution of control units enhances the clearness of
the control system and enables a possible assignment of units to dedicated, distributed
processing hardware like small dsp boards [Hillenbrand 09].
Similarly to the somatosensory system of the human body, information on torques and
forces acting in joints and feet as well as joint positions are measured. This sensor data
can be pre-processes in the corresponding joint group and forwarded to various levels of
control. As in human postural control, the sense of balance needs to be derived from sensor
information at a higher level. Where nature uses the vestibular system, eyes, or the hairs
on the skin as source of perception, a robotic system deploys an inertial measurement unit
(imu), or vision-based sensors. The resulting information is fed to the postural reflexes.
Compared to human locomotion control, the sense of balance and the locomotion modes
would be situated within the brain, the rest of the control units within the spinal cord.
Reflexes and motor patterns issue control commands for the robot’s joint controller. The
interface consists of torque, stiffness, and equilibrium position values. Driven by the joint
controllers, the actuation system applies forces and torques to the robot’s mechanics. In
interaction with parallel elastic elements, external disturbances, and the environment, the
bipeds motions emerge.
In case several control units want to access the same actuator, a fusion of the control
signals takes place. Depending on the type of the control data and the activity of the
unit, one of two fusion methods is applied: torque signals are fused by a weighted sum
function, similar to muscle stimulation adding up from different sources. All other control
signals are fused using a weighted average function. More on this topic can be found in
Section 5.1.3 discussing the behavior-based architecture.
74
4. A Biologically Supported Concept for Controlling Bipeds
For further clarification of the hierarchical structure of the control system and of the flow
of stimulation, Figure 4.3 again shows the layout of the control units, this time omitting
the mechatronic part of the robot and the environment. Each locomotion mode stimulates
a spinal pattern generator which again stimulates one motion phase at a time, or possibly
one phase per body side. A motion phase activates postural reflexes as well as motor
patterns and local reflexes within the joint groups. Reflexes and motor patterns can be
recruited by more than one phase, and even be shared between locomotion modes. This
matches the fact mentioned in Section 3.1.4 that the control processes of human walking
and running seem to share the same control components.
Figure 4.3 also illustrates how one phase of a locomotion mode is stimulated at one point
in time. The control units of lighter shade indicate inactivity, those of darker shade
indicate activation. Exemplary, the dashed line explains the information flow when a
locomotion mode modulates the behavior of a motor pattern, e. g. based on the desired
walking velocity. It must be mentioned that while only one phase of a locomotion mode
can be stimulated at once for each side of the body, more than one locomotion mode can
be activated simultaneously. For instance, during walking initiation, the standing mode
can still continue to work.
As a further remark it can be said that the suggested control concept could also work
for motions other than locomotion. It is conceivable that a spinal pattern generator does
not only create cyclic limb movement, but also voluntary and purposeful motion. For
instance, a grasping process could be subdivided in different phases, each consisting of
motor patterns and reflexes like collision avoidance. Modulation from higher levels could
coordinate the movement to reach in the direction of the desired goal. However, future
work is needed to show the implementation of such a different task within this control
methodology. The next chapter will describe how stable standing and dynamic walking of
a two-legged robot can be designed using this approach.
5. Controlling Dynamic Locomotion
of a Fully Articulated Biped
The preceding chapter presented the structural organization of the control concept. Six
classes of control units were defined and a hierarchical network structure introduced.
However, to apply this concept to the task of controlling the locomotion of a robot,
appropriate control units must be found and be integrated within the suggested structure,
thereby creating the desired system behavior. This chapter will demonstrate the design
process for a dynamically walking biped. Methods for finding suitable functional control
units will be discussed, and the resulting network for standing and walking will be
introduced. But first prerequisites and assumptions for the underlying system will be
addressed. These concern the kinematic layout and the actuation system of the assumed
robot as well as the behavior-based architecture serving as framework for the control
system.
5.1
System Premises
To achieve human-like walking with a bipedal robot, not only the control system but
also the morphology and actuation system must resemble the human body to a sufficient
degree. Nowadays it is impossible to construct a robot featuring the multitude of degrees
of freedom found in the human body, or an actuation system similar in capabilities to the
sophisticated muscle-tendon system. Likewise, the human perceptual abilities outdo any
available technical sensors. Thus, this work has to agree on a practicable trade-off. The
following paragraphs will outline the characteristics of the robotic system upon which the
control system will be established.
5.1.1
Kinematic Layout
As just mentioned, it is not possible to mimic all kinematic degrees of freedom the human
body possesses. Instead, a subset of joints must be found that is simple enough to be
implemented in a robotic system, but still extensive enough to allow for flexible locomotion.
With dynamic walking being the target mode of locomotion, most degrees of freedom
76
5. Controlling Dynamic Locomotion of a Fully Articulated Biped
z
x
y
(a)
(b)
(c)
(d)
Figure 5.1: Kinematic layout of the assumed bipedal robot’s knee and ankle (a), hip (b),
spine (c), and shoulder and elbow (d). Dashed lines denote the rotation axes.
should be contained within the legs and hips. During normal walking, no extensive or
elaborated movement can be observed within the spine, the neck, or the arms, consequently
those parts of the robot can be simplified, though not completely ignored.
Section 3.2.1 discussed the human gait with its dominant kinematic characteristics. Originating from this analysis, necessary joints for the leg design can be found. Figure 5.1a
illustrates the resulting leg kinematics. To make stabilization in the frontal and lateral
direction possible and to allow adaptation to uneven ground, the feet need at least two
rotational degrees of freedom along both horizontal axes. The rotation about the vertical
axis is neglected as it is also present in the hip joint where the main rotation about this
axis takes place. The same holds true for the knee joint. During push-off, the foot as well
as the toes bend upwards. This rolling motion can be achieved by an additional joint or a
curved foot shape. The latter solution is chosen for this work. As the knee joint mainly
bends in the frontal plane and shows no other significant motions, only this degree of
freedom is included.
The hip joint is implemented with all three rotational degrees of freedom (Figure 5.1b). All
of these are essential for leg swing, lateral postural corrections, and curve walking. Even
though the pelvis rotation during human walking shows only low amplitude, rotational
joints around all three axes are included in the spine (Figure 5.1c). This allows to
compensate the small pelvis motions as well as potentially larger pelvis shifts while e. g.
walking on sloped ground. Furthermore, adjustments of the center of mass executed by
postural reflexes are possible.
Figure 5.1d illustrates the design of the upper trunk. In the scope of this work, additional
degrees of freedom in the neck are omitted, but could become necessary for head stabilization should a vision system be included. The shoulder joint enables the arms to swing
forth and back as well as to lift them in lateral direction for posture correction. An elbow
joint is included for a more natural arm swing.
Altogether, this kinematic setup results in a fully articulated biped with 21 degrees of
freedom to control. While this number requires the control system to cope with a system
of considerable complexity, the above analysis suggests that this setup is necessary to
achieve human-like three-dimensional walking.
5.1. System Premises
5.1.2
77
Assumed Actuation and Sensor System
Similar to the kinematics, the actuation system must possess certain properties to make a
human-like motion control possible. Some properties of the muscle-tendon system have
been discussed in Section 3.2.1. Hill’s mechanical muscle model (Figure 3.14b) features
serial and parallel elastics elements, dampers, and a contracting unit for each muscle. A
human joint is actuated by at least two of those muscles in an antagonistic setup. This
results in a possible torque control and a position control with a large range of stiffness.
Unfortunately, no technical actuator is available that comes even close to its natural
counterpart. Pneumatic muscles at least partly resemble the biological muscle, but are
difficult to model and to control, and the necessity to provide compressed air complicates
the development of a self-sustaining system. Electronic actuation in combination with
elastic elements could provide a partial solution. In the scope of the research efforts
presented here, some considerations have been put on this topic [Luksch 05, Luksch 07,
Wahl 09, Blank 09b]. Chapter 6 will present a short overview, but otherwise these studies
will not be discussed in depth within this text.
For this work, a direct joint actuation is assumed, neglecting the antagonistic setup.
This has the advantage of reducing complexity in design and control. A drawback could
arise as no biarticular structures can be implemented mechanically. In future work, an
antagonistic joint actuation system similar to the human one could be investigated as a
possible extension.
Still, the actuation system applied here features some properties of the natural example.
Otherwise, the suggested control concept could not demonstrate all of its potential benefits.
It is assumed that each joint can swing freely with low friction if no control commands
are given. A direct torque demand is possible. Beside this, position control with variable
compliance simulates the series elastic elements of the muscle. A fusion of both control
methods is also provided for. Similar to the muscle-tendon system, a parallel elastic
element with a fixed spring constant and equilibrium point concludes the joint actuation
characteristics. The following chapter will describe how these properties were implemented
in the simulated robotic system.
Furthermore, some requirements have to be met regarding the sensor configuration to
enable the transfer of certain biological control strategies to technical systems. As it is the
case in the human muscle, each joint outputs the current angular position and the acting
torque. Cutaneous and load receptor information is required by certain reflexes in human
motion control. Consequently, it is assumed that force sensors in each of the robot’s feet
provide data on ground contact and load distribution. Finally, postural reflexes depend
on an estimation of the upper trunk’s pose and movements. For this purpose, an inertial
measurement unit (imu) or equivalent sensors have to be installed.
5.1.3
The Behavior-based Control Architecture iB2C
Besides the morphology and the sensor-actor system, an appropriate control framework is
a further requirement for implementing a human-like locomotion control system. Over the
last 20 years, behavior-based architectures have been established as a preferred control
approach for robotic systems acting in situations and environments that are not known a
priori. Compared to other robot control architectures, they can be classified as a hybrid
78
5. Controlling Dynamic Locomotion of a Fully Articulated Biped
~e
s
~e
~a
s
F (~e, s,~ı )
F (~e, s,~ı )
r
~ı
~a
~u
(a)
r
~ı
~u
(b)
Figure 5.2: The basic behavior module (a) and the fusion behavior module (b) of the iB2C
architecture.
system, being located between purely reactive and highly deliberative systems. But in
contrast to normal hybrid systems, behavior-based control shows no conceptual break
between a reactive and deliberative layer. Rather, it is characterized by a homogeneous
layout.
The subsumption architecture by R. Brooks is commonly seen as being the first behaviorbased strategy [Brooks 86]. Here, mainly reactive control units are arranged in a hierarchical layout, and suppression signals serve as arbitration method. The subsumption
architecture also shows the feasibility of controlling biologically inspired walking machines by behavior-based architectures in its application to the six-legged robots Genghis
and Attila [Brooks 89, Ferrell 95]. Further biologically motivated robots controlled in a
behavior-based manner include the lobster-like machine by Ayers or the quadruped WARP1
by Pettersson et al. [Ayers 00, Pettersson 98]. Arkin provides an extensive overview on
the topic of behavior-based architectures, Pirjanian discusses possible coordination mechanisms [Arkin 98, Pirjanian 99]. Behavior-based control has also been successfully applied
to wheel-driven robots [Arkin 00, Matarić 97]. So far, the control of dynamic locomotion
of bipedal robots has not been in the focus of behavior-based control research.
Considering the key aspects of biological locomotion control identified in Chapter 3 and
the understanding of the role of control units, utilizing a behavior-based architecture
as framework for the suggested control concept seems promising. The behavior-based
control architecture iB2C (integrated Behavior-Based Control) is well suited for implementing the aspired hierarchical layout, the control unit classes, or the stimulation and
inhibition mechanism. It is based on architectural ideas developed for the control of
multipedal walking machines [Luksch 02, Albiez 03a, Albiez 03b, Albiez 03c, Albiez 07].
Since then the specification of its behavioral components has been further refined and
formalized [Proetzsch 07, Proetzsch 10]. The architecture is also applied to the control of
complex wheeled robots for indoor and off-road applications [Proetzsch 04, Kleinlützum 05,
Proetzsch 05, Schäfer 05, Schmidt 06]. The following paragraphs will give a short introduction on the ideas of the iB2C and will describe how the features required by the control
concept can be implemented.
5.1.3.1
The Basic iB2C Behavior Module
Each individual behavior of iB2C is contained in a module as shown in Figure 5.2a. That
way, all behaviors feature the same, common interface. An iB2C behavior B can be
formulated as a three-tuple
5.1. System Premises
79
B = (fa , fr , F )
(5.1)
where fa denotes the activity function, fr the target rating function, and F the transfer
function. These functions calculate the activity information ~a, a target rating r, and an
output vector ~u. The behavior interface is completed by the input vector ~e, the stimulation
s, and the inhibition vector ~ı.
The stimulation s ∈ [0, 1] is used by higher levels of the control system to adjust the
influence of the behavior. It is complemented by the inhibition i ∈ [0, 1] enabling other
control units to actively suppress the behavior. The combined inhibition i of a behavior is
calculated based on the inhibition vector as
i=
max (ij ).
j=0,...,k−1
(5.2)
The stimulation and inhibition determine the activation ι = s · (1 − i) of the behavior. An
activation of ι = 0 corresponds to a fully inactive behavior, ι = 1 to maximum possible
activity and output values. The signals s and ~ı correspond to the stimulating and inhibiting
signals of control units in neural control. Thus, the requirement stated in Section 4.2 of
allowing the influence on the activation of control units within the network is met.
In addition to these influencing input values, two more behavior signals complete the
module interface. The activity a ∈ [0, 1] denotes the influence the behavior wants to exert
on the network in the current state. An activity of a = 0 represents an inactive unit,
whereas a = 1 denotes that the behavior intends to have maximum impact with its output
values. It is calculated by the activity function
fa : Rm × [0, 1] → [0, 1] × [0, 1]l , fa (~e, ι) = ~a = (a, ~a)T
(5.3)
which can also generate an optional vector ~a of derived activities ai ≤ a used for reduced
stimulation of other behaviors. High activity can be interpreted as the firing of a neuron,
thus again bridging to natural control concepts. As the activity of one behavior, or a
value derived from it, normally serves as stimulation for a lower behavior in the control
hierarchy, a ≤ ι must hold true. As a result, the total activity does not increase as it flows
through the control network.
The target rating r ∈ [0, 1] calculated by the target rating function fr states the contentment
of the behavior with the current situation. A rating of r = 0 indicates that the behavior
is satisfied with the state, r = 1 represents maximum discontentment. The target rating
function only refers to the restricted view on the current situation as perceived by the
input vector ~e. As with the activity signal, the target rating can prove to be useful during
network debugging, or it can serve as input signal for other control units.
Finally, the transfer function formulates the relation between the input data vector ~e and
the output data vector ~u:
F : Rm × [0, 1] → Rn ,
F (~e, ι) = ~u.
(5.4)
It further depends on the current activation ι of the behavior. In most cases of this
work, the activation scales the control values of the output vector. The transfer function
implements the actual intelligence of the behavior based on its view on the current situation
and a possible internal model. It codes whether the behavior represents a locomotion
mode, a reflex, or one of the other possible classes of control units. Actual implementations
of the behavior functions just described will be found in this and the following chapters.
80
5. Controlling Dynamic Locomotion of a Fully Articulated Biped
B1
B2
B3
Fusion
Behavior
Figure 5.3: Example for the fusion of three behaviors.
5.1.3.2
Behavior Coordination
In case several behaviors want to access the same control value, e. g. a motor torque or the
stimulation of another behavior, their action must be coordinated. For this purpose, fusion
modules are introduced (Figure 5.2b). Being behaviors themselves, they feature the same
interface, but have a special form of input and output vectors as well as transfer function.
A fusion behavior always collects identical outputs of competing behaviors and generates
a similar output (Figure 5.3). The input vector ~e of the fusion behavior is composed of
the activity ai , the target rating ri , and the output vector u~i for each fused behavior. The
incoming activities are used for arbitration, the target ratings are used to calculate a
meaningful target rating for the fusion behavior itself.
For now, iB2C offers three methods for behavior fusion: maximum fusion, weighted average,
and weighted sum. A fusion module using maximum fusion mirrors the outputs of the
behavior with the highest activity as its own. In the case of weighted average, the activity,
the target rating, as well as the output values are weighted by the activity of the p
competing behaviors:
a=
p−1
P
j=0
p−1
P
a2j
·ι
ak
k=0
r=
p−1
P
aj · rj
j=0
p−1
P
~u =
ak
k=0
p−1
P
aj · ~uj
j=0
p−1
P
(5.5)
ak
k=0
In this way, the behavior with the highest activity has the strongest impact on the control
network. The weighted sum fusion method weights the activities and the control outputs
by the activity relative to the maximum activity amax of all connected behaviors:
#
" p−1
X a2j
,1 · ι
a = min
a
j=0 max
r=
p−1
P
aj · rj
j=0
p−1
P
k=0
ak
p−1
X
aj · ~uj
~u =
amax
j=0
(5.6)
This last fusion method acts similar to motor neurons collecting the incoming activity
of connected neurons. Consequently, this fusion method is used when coordinating joint
torque commands as will be described in Chapter 6. For most other control outputs, e. g.
joint stiffness or joint position, weighted average fusion is applied. In relying on a uniform
and established coordination concept for competing control units, the design of control
networks is simplified as no additional effort must be invested in arbitration mechanisms.
5.2. Guidelines for Designing Control Units
5.2
81
Guidelines for Designing Control Units
After selecting a target locomotion mode, functional control units have to be selected
and designed that will achieve the desired motions. The discussion on human walking
in Section 3.2 can serve as source for this process. Gait analysis and neuroscientific
research provide suitable information on selecting feed-forward and feedback control units.
Examining the human gait also helps to find appropriate compliance settings for passive
joints during different phases of locomotion. The following section will present some
guidelines on how to design control networks.
5.2.1
Feed-Forward Control Units
As mentioned earlier, motor patterns provide the means for feed-forward control. They
allow to shape the passive dynamics according to the target gait, or to initiate limb and
body motions. Fast and promising results in designing these patterns can be achieved
when starting from biomechanical gait analysis. emg data on the muscle activities and
kinetic calculations during the individual phases allow to draw conclusion on the necessity
of torque input.
In most cases it is possible to find a semantic interpretation of the muscle activity. For
instance, right before the leg swing can be observed, the muscles bending the hip joint are
stimulated. The reason for this can be found in the necessary acceleration of the tibia, also
resulting in the passive bending of the knee, and thus in ground clearance of the swing
foot. Similar patterns can be found in the hip joints during walking initiation, or in the
ankle joint during the push-off phase.
In any case it is necessary to find a suitable function to create torque patterns in a technical
system. It should avoid sudden torque changes creating stress on the mechanics. Also, it
should be possible to define the function with only a few parameters, and still be flexible
enough to allow for a variety of torque trajectories. Equation 5.7 presents the sigmoid
function that is suggested as basis for motor patterns:

1
1
t
1

0 ≤ t < T1
 2 + 2 sin( π( T1 − 2 ) )
τ̂ = A · 1
(5.7)
T 1 ≤ t < T2

1 1
t−T2
1
− 2 sin( π( T3 −T2 − 2 ) ) T2 ≤ t ≤ T3
2
Using the three parameters T1 , T2 , and T3 it is possible to define the length of the sine-like
rise of the function, the duration of the plateau at maximum torque output, and the
time until the sine-like fall of the function reaches zero. The output value τ̂ ∈ [−1, 1] is
normalized to the maximum torque of the joint in question, i. e. the effective torque τ
arises to τ = τ̂ · τmax . Figure 5.4 depicts the sigmoid function and its parameters, and also
gives some examples illustrating how sign and amplitude can be varied by the factor A.
For technical system that do not resemble a biological example, no biomechanical data
is available to be consulted for finding motor patterns. One possibility to obtain similar
data can be optimization techniques. Optimal control theory can generate torque control
patterns for target movements based on a simplified model of the robot and its environment.
These torque trajectories can then again be used as foundation for designing motor patterns.
This method has also be investigated by the author and others for a robot of reduced
complexity [Luksch 07].
82
5. Controlling Dynamic Locomotion of a Fully Articulated Biped
τ̂
τ̂
τ̂
τ̂
1.0
t
T1
T2
t
t
t
T3
-1.0
Figure 5.4: Motor patterns generate torque commands as sigmoid function. Three parameters
define the end of the rise (T1 ), the start of the fall (T2 ), and the end of the fall (T3 ). As shown
in the second example, a factor can scale the output.
5.2.2
Feedback Control Units
Feedback is introduced by three types of control units: spinal pattern generators, local
reflexes, and postural reflexes. One spinal pattern generator exists for each mode of
locomotion. For designing its phases, findings from the decomposition of emg data as
described in Sections 3.1.4 and 3.2.2 can be called on. Each component identified in the
emg analysis can be translated to one locomotion phase. The kinematic or kinetic events
associated with the components provide the conditions for phase transitions.
Local reflexes can partly be adopted from those found during human locomotion (Section 3.1.3). Whether this transition is feasible mainly depends on the availability of
corresponding sensory information and actuators. Possibly the reflex action has to be
adopted to the robots capabilities. For instance, cutaneous reflexes normally rely on
sensitive skin. If no artificial skin is available, these reflexes could be triggered by isolated
force measurements or data from load cells. Other local reflexes can be deduced by
matching kinematic events with distinctive muscle activities. One example can be found
in the passive knee movement during the swing phase. As soon as the knee is stretched
again before touching down with the swing leg, muscle activity stabilizing the knee can be
observed.
For designing postural reflexes, several ways are conceivable. Some possible reflexive
actions concerning posture stabilization, e. g. the labyrinthine righting reflex, are suggested
in neuroscientific literature (Section 3.2.4). Again, it might prove difficult to adapt these
reflexes due to missing sensor data. Another way to find postural reflexes is based on
simplifying biomechanical models. As discussed in Chapter 3, Hof, Seyfarth, or Bauby
among others have tried to derive simplified mechanical models explaining correcting
movements or muscle activity observed during human locomotion. These models can be
of low complexity and thus be predestined as possible postural reflex. Finally, empirical
validation of the robot’s behavior during experiments can point out existing flaws in
posture control, leading to additional reflexes. This strategy, by the way, can be applied
for all other classes of control units, too. The common problem in designing postural
reflexes is the requirement for information on the body pose or the behavior of the center
of mass. The simplified biomechanical models just mentioned can provide a possibility to
derive the necessary data.
5.3. Stable Standing
5.2.3
83
Guidelines for Implementing iB2C Features
The preceding paragraphs focused on the functionality of control units. In terms of iB2C,
this corresponds to the transfer function F , describing the calculation of control signals
based on the behavior activation and the received sensor information. But while iB2C
offers powerful mechanisms and tools, it requires the designer to take care of additional
behavior signals, mainly the stimulation, inhibition, and activity. General guidelines and
principles facilitating the development of iB2C control systems are discussed by Proetzsch
et al. [Proetzsch 10]. Some rules being of importance during the design process following
the control concept suggested here are given in the following.
Stimulation and inhibition of one behavior by another should be based on the activity of
the controlling behavior. In most cases it is sufficient to distinguish between no stimulation
(s = 0) and full stimulation (s = 1). A locomotion mode is fully stimulated by the operator
and shows full activity. Its activity a = 1 will then stimulate a spinal pattern generator,
which again will stimulate motion phases only by a value of zero or one. A stimulated
motion phase should show an activity of a = 1, and will normally use this activity to
stimulate reflexes and motor patterns. In a few cases it might prove necessary to use
a reduced activity value for stimulation, e. g. when a reflex should only show half of its
normal activity during a certain motion phase.
While most higher level behaviors can and should be reduced to activity of only one or
zero, reflexes and motor patterns need more sophisticated implementations of their activity
function. Motor patterns feature an activity matching their torque output. Reflexes
should increase to full activity as soon as the situation assessment based on their restricted
sensor information indicates a risk of loosing stability. Section 6.2.2 of the following
chapter will describe how the activity functions of the behaviors developed in this work
are implemented.
With control unit classes defined and guidelines for selecting and designing functional units
suggested, control networks for bipedal locomotion can now be developed. The control
units will be arranged following the hierarchical layout described in the previous chapter.
In the remainder of this chapter, networks for stable standing and dynamic walking are
presented.
5.3
Stable Standing
Although this work focuses on dynamic walking, stable standing is considered, too. This
allows to observe the transition from standing to walking, and validates the control concept
for a second task of different nature. A short review of human standing control will
motivate the control network introduced in this section. Additional information on this
part regarded from a slightly different perspective and including further details on the
implementation can be found in [Steiner 08].
5.3.1
Balanced Standing Control in Humans
Humans show a remarkable ability to stand securely on highly unstructured ground and
under considerable disturbances. Generally, postural control is considered to be a complex
skill rather then the result of only local reflex action [Horak 06]. Two tasks can be
84
5. Controlling Dynamic Locomotion of a Fully Articulated Biped
Figure 5.5: The ankle and hip strategies for postural balance generate different joint movements
and muscle activities during a movement of the support surface. From [Ting 07], p305.
distinguished: postural orientation and postural equilibrium. Postural orientation involves
active adaptation of the body segment’s pose considering gravity, structure of the support
surface, or additionally body load. Head, trunk, and extremities are aligned in a way that
a relaxed, stable posture emerges. Information of the body’s whole sensory apparatus is
necessary to achieve this goal.
Postural equilibrium however implies the reaction to self-induced or external disturbances.
Three basic strategies to achieve this goal can be discerned: the ankle, the hip, and the step
strategy. Which strategy is chosen does not only depend on the kind and magnitude of the
disturbance. Personal experience, goals, and current expectations can result in different
responses for each individual. Furthermore, the contribution of the human sensory systems
varies from subject to subject [Horak 90]. Most notably this is the case in disabled patients,
e. g. suffering from vestibular loss. One estimation for the distribution of the different
senses for balancing in healthy subjects states a partial contribution of approximately
70% for the somatosensory system, 20% for the vestibular system, and 10% for the visual
system [Horak 06].
The most basic response strategy being observed at small to medium disturbances is the
ankle strategy. It lends its name from the fact that a correcting movement is issued by the
ankle joint while the rest of the body is kept stiff. This of course implies muscle action
all along one side of the body. Figure 5.5 illustrates the reaction to a backward shift of
the supporting platform a subject is standing on. Muscles in the back and hip keep the
body rigid while the gastrocnemius and soleus muscles prevent the subject from falling
to the front and create a plantarflexion of the ankle for stabilization [Ting 07]. Winter
et al. suggest a simple control scheme for quiet standing where the ankle muscles act as
springs [Winter 98, Winter 01]. This results in a stiffness control for balancing that can
react mechanically and as such almost instantly without a delay caused by the nervous
system. It also explains the body sway that can usually be observed during quiet standing.
The ankle strategy is mechanically constrained by the support area of the foot. If the
center of preassure moves outside this support area, the ankle strategy alone can no longer
regain balance [Horak 90].
In this case, the hip strategy is able to exert greater influence. In contrast to the ankle
strategy, it generates a shift of the center of mass in the opposite direction of the disturbance.
This is accomplished by a coordinated movement of the ankle, knee, hip, and spinal column.
5.3. Stable Standing
85
Ground
1 Adapt.
Walking
Stable
Standing
Standing
States
2
Stabilization
3
Optimization
Relaxed
4 Posture
Figure 5.6: Control network for stable standing.
As shown in Figure 5.5, the upper body moves in the direction of the disturbance, the
pelvis in the opposite direction. The arm support the posture correction by moving in the
same direction as the trunk. Finally, the step strategy consists of an evasive step taken in
the direction of the disturbing force. This response has the largest effect on the center of
mass and can compensate the strongest disturbances.
For the standing control of a bipedal robot it is preferable to implement both the postural
orientation and the postural equilibrium task. The first allows to operate not only on
flat surface but also on unstructured ground and with different mass distributions of the
robot. At least the ankle strategy should be included for basic functionality of the postural
equilibrium task. An extended stiffness control as postulated by Winter et al. seems to
offer the necessary abilities.
5.3.2
Stabilized Standing Control
The control network for balanced standing suggested in this work does include the postural
orientation and equilibrium task as well as the ankle strategy. Furthermore the assumption
of a level ground is discarded in favor of an approach for flexible ground adaptation.
Figure 5.6 illustrates the upper layers of the resulting control network. As introduced
in the previous chapter, a finite state machine coordinates the different phases occurring
during standing. It stimulates one of four phase units depending on the current state of the
robot. The Ground Adaptation phase is responsible for setting a sensible posture before
the feet touch the ground and for achieving an appropriate initial posture considering the
terrain geometry as the robot settles on the support surface. As its name suggests, the
Stabilization phase balances the system against disturbances to gain a stable posture. This
phase corresponds to the postural equilibrium task and includes a basic ankle strategy.
The postural orientation task is handled during the Optimization phase. It changes the
target angles to reduce the necessary torques within the joints. In case such a low energy
posture can be found, the joint stiffness is reduced in the Relaxed Posture phase.
5.3.3
Stable Standing State Machine
The spg for stable standing is implemented as the finite state machine shown in Figure 5.7.
Depending on its current state, the corresponding phase is stimulated. The initial state
responsible for ground adaptation is left as soon as full ground contact is achieved. This
information is received from the leg joint groups that preprocess various contact sensor
86
5. Controlling Dynamic Locomotion of a Fully Articulated Biped
Ground
Adaptation
full ground contact
n
ba
tur
s
i
d
Relaxed
Posture
Stabilization
ces
low joint torques
disturbances
quite stance
Optimization
Figure 5.7: Transitions of finite state machine managing phases during stable standing.
measurements to a combined ground contact signal per leg. Then the stabilization state is
entered in which the adopted pose is steadied mainly by high joint stiffness.
If a quiet stance can be achieved, the state transition to the optimization state takes place.
This decision is based on measurements from the inertial measurement unit. It provides
three-dimensional acceleration and angular velocity information for the trunk. Based on
the pose estimation the gravitational components of the acceleration vector is eliminated.
By integrating this data a rough approximation of the trunk’s velocity is calculated. Only
if this velocity and the acceleration stay below a certain threshold, the state transition is
performed.
During the optimization phase several postural behavior modules adapt the robot’s stance
to find a posture consuming only little energy. Following the iB2C specification, these
behaviors calculate a target rating to evaluate the current situation regarding their goal.
Only if all of these ratings are low, i. e. all postural reflexes are content, the spg proceeds
to the next state. As now a balanced stance should be adopted, the joint stiffness can be
reduced during the Relaxed Posture phase.
In case disturbances are perceived by the inertial measurement unit or the ground contact
sensors, the state machine switches back to the stabilization state. Similarly, should ground
contact be lost, or the locomotion mode for standing be inhibited, the ground adaptation
state is resumed. In Figure 5.7, the corresponding transition are omitted for clarity. The
following paragraphs will describe the functioning of the introduced phases.
5.3.4
Ground Adaptation
The basic idea of ground adaptation lies in the compliance of the joints. By setting the
joints to a low stiffness, they passively adjust their position to external forces. For instance,
the ankle joint can rotate in a way that the foot settles on uneven ground. As soon as full
ground contact is made, the current joint angles are applied as set point and the stiffness
can be raised in the stabilization phase.
The described functionality is assumed by the Hold Position reflex. An instance of this
reflex is included for each joint and stimulated by the standing phase as illustrated in
Figure 5.8. The reflex can be parametrized by an initial angle and three stiffness values:
the initial stiffness stiff init is set at first stimulation and in case there is no ground contact.
The minimal and maximal stiffness parameters stiff min and stiff max define an interval of
5.3. Stable Standing
87
Upper Trunk
Hold
Hold
Position
Position
Ground
1 Adapt.
Standing
States
2
Stabilization
3
Optimization
Relaxed
4 Posture
Lower Trunk
Hold
Hold
Position
Position
Left/Right Leg
Hold
Hold
Position
Position
Figure 5.8: Control network during the Ground Adaptation phase of stable standing.
compliance used during ground contact. A stiffness factor received as modulation input
determines the value within this interval that is actually set as stiffness. Algorithm 5.1
summarizes the behavior of the Hold Position reflex.
Algorithm 5.1: Target angle α and stiffness stiff calculation of the Hold Position reflex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Initiation:
α = αinit
stiff = stiff init
if a = 0 or no ground contact then
α = αinit
stiff = stiff init
end
else if initial ground contact then
α = αcurrent
stiff = stiff min
end
else if full ground contact then
α = α + ∆α
stiff = stiff min + (stiff max − stiff min ) · stiffness factor
end
At the start of the control system or following a reset command, the target values are set
to the initial angle and stiffness. As soon as first ground contact is measured, the target
angle α follows along the current joint angle αcurrent . When full ground contact is detected,
the target joint angle is fixed, and the compliance is set depending on the stiffness factor.
During the ground adaptation phase, this factor is set to zero resulting in the stiffness
being set to the minimal stiffness parameter.
Beside the stiffness factor, the Hold Position reflex receives a modulation signal ∆α for
changing the set point of the joint angle. This angular velocity is integrated by the reflex
88
5. Controlling Dynamic Locomotion of a Fully Articulated Biped
Upper Trunk
Hold
Hold
Position
Position
Ground
1 Adapt.
Standing
States
2
Stabilization
3
Optimization
Relaxed
4 Posture
Relax
Joints
Reduce
Tension
Lower Trunk
Hold
Hold
Position
Position
Left/Right Leg
Hold
Hold
Position
Position
Figure 5.9: Control network during the Optimization phase of stable standing. The dashed
arrows indicate modulation signals.
and added to the current set point. In case the ground contact is lost or the reflex is no
longer activated, the integral part is set to zero. Using the modulation signal, the posture
optimization control units described below can influence the stance.
5.3.5
Posture Stabilization
The stabilization phase starts as soon as full ground contact is established or when a
disturbance is measured in one of the other standing phases. Its control network is laid out
the same way as the one during the Ground Adaptation phase. Only the stiffness factor is
set to a high value to stabilize the stance. In doing so, the joints generate high torques in
case the body is deflected from its target posture. With the trunk and extremities braced,
the compensation will mainly origin from the ankle joints, thus implementing the ankle
strategy. Similar reactions can be observed in humans being disturbed during a relaxed
stance. Muscle activities throughout the body increase and the stiffened body is pushed
against the disturbance by the ankle joint to regain a balanced pose. By only locally
controlling the joints towards a determined target angle, no global feedback loop or model
depending control is necessary and the delay times can be kept low. This strategy can
only work if the target stance retains at least the center of mass above the support surface
spanned by the feet. Otherwise, the robot will not be able to remain standing.
5.3.6
Posture Optimization
After the posture is stabilized and a sufficiently quiet stance is achieved, the target pose
can be optimized. This phase corresponds to the postural orientation task. As shown in
Figure 5.9, the Hold Position reflexes are still stimulated. Additionally, postural reflexes
adapt the stance by shifting the joint set points according to the provided modulation
signal. Two types of these adaptation reflexes can be distinguished: those trying to relax
joints, i. e. to reduce the necessary torque, and those trying to release tension acting
5.3. Stable Standing
89
Control Unit
Manipulated Joints
Relax Spine X
Relax Spine Y
Relax Hip Y
Relax Knee
Balance Ankle Pitch
Reduce Tension Hip Y
Reduce Tension Ankle Y
x-axis of spine joint
y-axis of spine joint
y-axis of both hip joints
both knee joints
y-axis of both ankle joints
y-axis of both hip joints
y-axis of both ankle joints
Table 5.1: Postural reflexes adapting the posture during the Optimization phase.
because of opposing set points. Table 5.1 lists the implemented postural reflexes and notes
the joint angles being adapted by each reflex.
The relax joint control units receive the current joint angles and the corresponding torques
as input. In case the joint limits are not exceeded, a change rate for the joints is forwarded
to the Hold Position reflexes. The change rate is proportional to the torque, thus enabling
a posture adaptation reducing the torques. To keep dynamic effects low during the
adaptation, the change rate is relatively slow. Only the Balance Ankle Pitch follows a
different optimization approach. Instead of reducing the joint torque, it tries to optimize
the center of pressure acting in the foot. This information is derived from four force sensors
located within the outer parts of the foot sole. Based on these measurements the center of
pressure can be estimated and shifted below the ankle joint by the reflex.
While the relax joint reflexes move one or two joints in the same direction, the reduce
tension control units adjust two paired joints in opposed direction. This strategy is useful
if tension arises due to external forces and limitations by two-legged ground contact. For
instance, concurrent dorsiflexion of the one foot and plantarflexion of the contralateral
foot causes opposing torques that can be resolved by adjusting the ankle angles without
altering the posture. The same holds true for flexion and extension of the hip joints. The
control unit works by trying to minimize the torque discrepancy of the two joints being
considered. The generated change rate is proportional to the difference of one joint’s
torque and the average torque of both joints. Again, the velocity of adaptation is low
to reduce dynamic effects. Both the relax joint and reduce tension control units can act
simultaneously on the same joint as it is the case for the y-axes of the ankles and the hips.
The change rates from the competeting reflexes are then combined by a fusion behavior
using the weighted average method.
5.3.7
Relaxed Stance
Following the iB2C specification, the angle adjustment reflexes just described indicate
their progress by the target rating signal. The maximum of all these ratings can serve as a
reference on the balance of the current stance. If this value drops below a certain threshold,
the Relaxed Posture phase of stable standing starts. Its control network again mimics the
one of the Ground Adaptation or Stabilization phase, i. e. the Hold Position reflexes are
stimulated. But as a balanced posture can be assumed, the stiffness factor can slowly
be decreased to take up a relaxed stance with low energy consumption. If the posture is
90
5. Controlling Dynamic Locomotion of a Fully Articulated Biped
Operator
Standing
Cyclic
Walking
(Running)
(Running
Initiation)
Walking
Walking
Initiation
(Cyclic
Running)
Figure 5.10: Coordination of three locomotion modes standing, walking, and running.
not as stable as expected, or it is disturbed by external forces, this will be indicated by
raising target ratings of the angle adjustments reflexes or by increasing accelerations and
velocities. In this case the stable standing spg changes back to the Stabilization phase to
regain a balanced stance.
5.4
Dynamic Walking
While stable standing presents a rather static balancing problem, walking is a highly
dynamic motion. The rest of this chapter will present a control network for dynamic
walking of a human-like bipedal robot. First, the transition of standing to walking will be
described. In this context, a detailed example of how to derive a motor pattern from gait
analysis data will be given. The succeeding main part will introduce the control of cyclic
dynamic walking. Its spinal pattern generator determines the phases of walking and their
transition conditions. Then the feed-forward and feedback control units of each motion
phase will be presented, followed by a discussion of the postural reflexes.
Throughout the following pages, the behavior of some control units is explained and
illustrated by extracts of experimental data. This data is based on the results from the
experiments within the simulation framework introduced in Chapter 6. Basically, the
physical simulation of a complex, anthropomorphic bipedal robot following the system
premises stated at the beginning of this chapter is used.
5.4.1
Interrelation between Locomotion Modes
Before going into the details of the dynamic walking control, the coordination of high-level
locomotion modes should be described. Figure 5.10 shows three possible locomotion modes
standing, walking, and running. The latter two are again divided into the cyclic motion
itself, and an initiation or transition mode to switch from standing to walking, and from
walking to running. Switching back to walking or standing is left out for clearer appearance.
The user simply stimulates more and more locomotion modes depending on the desired
form of motion. A target velocity and direction is also passed to the control units.
5.4. Dynamic Walking
(a)
91
(b)
Figure 5.11: (a) Joint angles of the stance and swing leg, and (b) movement of the center of mass
(dotted line) and the center of pressure (solid line) during initiation of walking. From [Elble 94],
p142f.
During the transition phases, both locomotion modes are activated. As soon as the
transition is finished, the cyclic part of the next mode will inhibit the previous one. The
next section will describe this process for the transition from standing to walking in more
detail.
5.4.2
Walking Initiation
In many research works on bipedal dynamic walking, the initiation is not considered.
Rather it is assumed that the robot is already moving within the cyclic part of the motion.
Here, this assumption is not made. Taking a short look at the initiation of human walking,
simple motor patterns are derived to achieve the transition from standing to walking.
5.4.2.1
Gait Initiation in Human Walking
Elble et al. have found a strong stereotypy in the process of gait initiation [Elble 94].
Essentially, the center of mass is shifted in lateral and anterior direction (Figure 5.11b).
That way, weight is taken from the swing leg, and the body moves forward in preparation
of the first step. The forward motion is mainly achieved by the activity of the tibialis
anterior, resulting in a dorsiflexion of both ankles (Figure 5.11a). A slight flexion of the
knee and hip of the stance leg can also be observed. This induces a small lateral movement
of the trunk in direction of the stance leg.
However, the main part of lateral weight transfer is initiated by the activity of the aband adductor muscles in the hip joints. This hip muscle function has been investigated
by Kirker et al. during stepping as well as balancing [Kirker 00]. Figure 5.12 plots the
activities of the muscle involved when starting to walk with the left leg. Action of the
right adductor and the left abductor (gluteus medius) can be observed. This results in the
shearing motion of the quadrangle formed by the feet and the two hip joints, which again
92
5. Controlling Dynamic Locomotion of a Fully Articulated Biped
Figure 5.12: Hip muscles activities during gait initiation first stepping with the left leg. The
area marked by the rectangle indicates the initial weight transfer resulting in a lateral torque
and movement of the com. From [Kirker 00], p461.
moves the trunk sideways in direction of the right stance leg. During this process, muscular
activity in the trunk stabilizes the spine, thus reducing swaying and head movement.
While the center of mass only moves anteriorly and in direction of the stance leg, the
center of pressure follows a more complex trajectory (Figure 5.11b). This is mainly due
to the lateral hip action just described. As the torque in the hip increases, the trunk is
pushed to the side of the stance leg. The force that is necessary for this motion connects
to the ground via the swing leg as it pushes downwards during the shearing movement.
Only when the hip torque falls of, the weight shifts to the stance leg as the upper body
mass has moved over this leg.
Interestingly enough, in its first half this behavior is counterproductive to the goal of
transferring the weight onto the stance leg. Only during the second half of the initiation
motion, the swing leg is relieved. Consequently, it is not possible to design a simple
controller working on the foot load.
As soon as the walking initiation has finished to shift the weight towards the stance leg,
the activity of the swing leg’s adductor and the stance leg’s abductor decreases. In fact,
the direction of the hip torque changes to stabilize the pelvis. This is necessary as the foot
leaves the ground and the pelvis can no longer be supported by the swing leg. However,
this behavior is already part of the normal cyclic walking phases described later in this
chapter.
5.4. Dynamic Walking
93
Lower Trunk Group
Cyclic
Walking
Walking
Stable
Standing
Walking
SPG
Walking
Initiation
Standing
States
Lateral
Shift R
...
Initiation
Phase L
Lateral
Shift L
Initiation
Phase R
Leg Groups
...
Lean
Forward
Figure 5.13: Control network for walking initiation, first step with the left leg.
5.4.2.2
Motor Patterns for Walking Initiation
The muscle activity observed during human walking initiation can be translated to motor
patterns. Following the principle of control unit distribution and spatially related action,
the muscle activity is allocated to several motor pattern units. As mentioned before, the
local units are distributed in four joint groups representing the upper trunk, the lower
trunk, and each leg. The movement in anterior direction origins from the ankle, hence a
motor pattern is added to each leg group and stimulated during walking initiation. As
lateral weight shift results from muscle action in the hips and the spine, a motor pattern
is added to the lower trunk group, also stimulated during walking initiation. Below, this
control unit will be discussed in more detail.
Figure 5.13 presents the resulting control network for the initiation of walking. During
initiation, the standing mode is still active and is combined with the control commands
from the initiation units. The walking locomotion mode signals the initiation mode with
which leg to take the first step. This results in the stimulation of one of the two initiation
phases. As the initiation process consists of only one phase per starting leg, no spg is
necessary. The figure illustrates the activation during initiation with the first step done by
the left leg. The Initiation Phase Left unit is stimulated by the Walking Initiation mode,
and itself stimulates the motor patterns for leaning forward and for shifting the weight to
the stance leg’s side (Lateral Shift Right). Similarly, walking initiation with the right leg
as first swing leg would also stimulate the Lean Forward units in both leg groups, and the
Lateral Shift Left to transfer the weight to the contralateral side. The Walking mode will
stimulate cyclic walking and gradually deactivate the initiation as soon as the weight is
removed from the swing leg. Then, Walking Cyclic will inhibit the standing mode, and
normal walking as described below will be in progress.
A closer look at the control unit for lateral weight shift reveals its similarity to the muscle
activities observed in human walking initiation. Analysis of the emg data during this
phase (Figure 5.12) reveals activity of the gluteus medius on the swing leg’s side, and
of the adductor muscle group on the contralateral side. Knowing the function of these
muscles allows to map this muscle action to the corresponding joint action. Appendix A
includes a list of the muscles relevant during human walking along with their function and
abbreviation. The main action of the gluteus medius is abduction of the thigh, meaning an
94
5. Controlling Dynamic Locomotion of a Fully Articulated Biped
Norm. Torque τ̂
Left Hip X
0.00
Spine X
Right Hip X
0.15
0.00
−0.02
−0.05
0.10
−0.10
0.05
−0.06
−0.15
0.00
0.0 0.25 0.5 0.75 1.0
Time [s]
−0.08
0.0 0.25 0.5 0.75 1.0
Time [s]
−0.04
0.0 0.25 0.5 0.75 1.0
Time [s]
Figure 5.14: Torque output generated by the Lateral Shift Right motor patterns.
outward rotation of the hip joint around the x-axis pointing in walking direction. Similarly,
action of the adductor muscles result in an inward rotation of the hip joint around the
same axis.
Using this information, the muscle action can then be translated to joint torque patterns.
Figure 5.14 illustrates the torques generated by the muscle pattern for lateral weight shift.
The sigmoid function formulated in Equation 5.7 is parametrized and applied to three
joints with individual factors. The torques generated are normalized torque values ranging
from -1 to 1. A positive sign of the normalized torque signifies a flexion or adduction of the
joint, a negative sign amounts to extension or abduction. Within a hardware abstraction
layer, these values are multiplied by the maximum torque of the joint and the sign is
possibly swapped to obtain the mathematically correct rotation direction. The figure
illustrates a negative torque pattern of the left hip resulting in an thigh abduction, and a
simultaneous positive torque pattern of the right hip leading to adduction of the other
thigh. Additionally, a torque about the x-axis of the spine joint is generated to compensate
a sideward bending of the upper trunk that would occur due to its mass inertia.
It is important to note that all other joints remain passive during the initiation process.
As the motor patterns just mentioned are superimposed on the control of stable standing,
a relatively high stiffness and a fixed equilibrium point is set as command for these joints.
Only a few actively controlled joints and the passive dynamics of the system result in the
movement preparing for the first step.
Figure 5.15 compares the ground reaction forces during walking initiation of human subjects
with results from simulation measured by simulated force plates located under the left and
right body side. As described above, the center of pressure first moves to the swing leg
before the weight is shifted fully to the stance leg. When regarding the individual vertical
forces for each leg, a progress as plotted in Figure 5.15a can be observed [Elble 94]. The
vertical forces measured by the force plates during walking initiation of the simulated biped
show the same characteristics (Figure 5.15b). The progress of the ground reaction forces
is less smooth compared to human measurements as the hip movements of the simulated
robot at the beginning of the swing phase are slightly jerky. The whole process of walking
initiation takes only about 0.1 sec longer than in human subjects.
As soon as the load on the swing leg is sufficiently smaller than the load on the stance leg,
the walking locomotion mode switches from walking initiation to cyclic walking. The spinal
pattern generator described in the next section is initialized at those phases responsible
5.4. Dynamic Walking
95
Stance Leg
800
Vertical GRF [N]
Vertical GRF [N]
Stance Leg
600
400
200
0
0.0
0.2
0.4
0.6
0.8
1.0
800
600
400
200
0
0.0
0.2
Vertical GRF [N]
Vertical GRF [N]
800
600
400
200
0.2
0.4
0.6
Time [s]
0.6
0.8
1.0
0.8
1.0
Swing Leg
Swing Leg
0
0.0
0.4
0.8
1.0
800
600
400
200
0
0.0
0.2
(a)
0.4
0.6
Time [s]
(b)
Figure 5.15: Comparing vertical ground reaction forces of human walking initiation (a) with
those produced by the Lateral Shift Right motor pattern in simulated biped (b). Human data
reproduced from [Elble 94], p143.
for generating the swing of the designated leg and ensuring support of the body weight
upon the other leg.
5.4.3
Spinal Pattern Generator for Walking
After initiation of walking, the locomotion mode for cyclic walking will be activated. It
again stimulates the spinal pattern generator for walking which is responsible for the
coordination of the different phases during walking. This pattern generator and the
walking phases are derived from the work of Vaughan, Ivanenko and others as described in
Section 3.1.4 and Section 3.2.2. Their research results based on emg analysis suggest a
central control unit generating the signals for synergistic muscle activity and reflex action.
The transition from one phase to the next could be triggered in two ways: time-based or
event-based. Due to the high complexity of the human nervous system, it cannot clearly
be said how this process works in humans. As presented in Section 3.4 some approaches
utilize artificial neural oscillators to create cyclic motions, thus are based on a fixed timing.
In this work, the phase transition is triggered by sensor events. This complies with the
statement of Ivanenko et al. that the components of muscle activity during walking are
related to kinematic or kinetic events. The duration of each walking phase emerges from
the interaction of the dynamic system with the environment.
One advantage of this approach is a higher contribution of the inherent system dynamics.
By not forcing the robot’s motions into a predefined timing, passive dynamics can be
96
5. Controlling Dynamic Locomotion of a Fully Articulated Biped
right
leg
left
leg
1 weight acceptance
3 stab.
2 propulsion
3
5
4
full contact
toe-off
5 heel strike
4 leg swing
2
1
locked knee
toe-off
full contact
locked knee
full contact
Figure 5.16: Phases of walking for left and right side and the sensor events triggering the phase
transitions.
exploited more easily. Another benefit can be seen in a potentially higher robustness. As
phase transitions are based on sensor events, less additional mechanisms must be provided
to adapt the control to unexpected disturbances. Rather, the system reacts automatically,
e. g. in case the foot contact after the leg swing occurs a bit earlier or later. A possible
drawback of this approach could be that the determining events must be perceived in a
reliable way. For this reason, transition conditions are formulated in a fuzzy and when
possible redundant way. Furthermore the number of relevant conditions can be reduced by
bilateral synchronization.
According to the discussed emg analysis, human walking seems to be composed of five
phases that can be be associated to kinematic or kinetic events: weight acceptance, loading
or propulsion, trunk stabilization during double support, toe lift-off, and heel strike. Based
on these finding, the spinal pattern generator for walking also stimulates five phases for
both the left and the right side of the robot. Figure 5.16 illustrates these phases and the
events triggering the phase transitions. As a reference, snapshots of the gait cycle are
depicted on the upper part of the figure.
The first phase of walking starts after full contact of the swing foot, i. e. after heel and toes
touch the ground. The weight of the trunk is accepted and then supported by the former
swing leg. During the next phase additionally forward velocity can be inserted into the
system in form of propulsion by the stance foot. This process starts as soon as the other
leg finishes its swing and is ready for ground impact. The third phase is characterized by
double support during which stabilization of the body posture is facilitated. After toe-off,
the swing phase starts, transferring the leg in front of the body. As soon as the swing leg’s
knee is locked or its foot touches the ground, the last phase begins. It is responsible for
managing the foot impact during heel strike and for providing control towards the full
contact of the foot.
Figure 5.16 also illustrates the bilateral synchronization of the walking phases. As observed
in human walking, phase 1 of the one leg and phase 3 of the contralateral leg are temporally
coordinated. The same holds true for the onset of phases 2 and 5 that takes place half a cycle
5.4. Dynamic Walking
97
Walking
Initiation
left right
Weight
Weight
1 Accept.
1 Accept.
ProPro2 pulsion
2 pulsion
...
Walking
Cyclic
Walking
Stable
Standing
Standing
States
Walking
SPG
Trunk
Trunk
3 Stabiliz.
3 Stabiliz.
Leg
Leg
4 Swing
4 Swing
...
5
Heel
Heel
Strike
5 Strike
Figure 5.17: Stimulation flow of locomotion modes, spinal pattern generator, and walking
phases during cyclic walking.
later. Only the fourth phase associated with the leg swing begins without a corresponding
phase of the other leg. This bilateral synchronization guarantees coordinated movement of
both legs. It further reduces the number of conditions relevant for phase transitions to
three, thus increasing the reliability of the pattern generator.
Considering this, the spinal pattern generator can be represented by a state machine of
three states for the walking phases and a second state machine of two states switching
the assignment of the phases to the body sides. State one corresponds to phase 1 and the
contralateral phase 3, the next state to phase 1 and phase 4, and the third state to phase
2 and phase 5. Each time one cycle of this state machine is completed, the assignment of
the phases to the left and the right side of the body is toggled.
The stimulation flow of the locomotion modes, the spinal pattern generator, and the
walking phases during cyclic walking is visualized in Figure 5.17. The locomotion mode for
cyclic walking is inhibiting the standing mode and stimulating the spinal pattern generator.
Depending on its state, the pattern generator activates a matching pair of walking phases,
one for the left and one for the right body side, each being equipped with its own set of
the five phases. The figure illustrates the stimulation of phase 1 for the left and phase 3
for the right side of the body. This pairwise activation of phases progresses as the relevant
sensor events described above are perceived.
Each active walking phase is responsible for stimulating the appropriate control units and
for managing the joints being passive during the phase. The passive joints have a constant
stiffness and equilibrium point set throughout the phase. In case a joint or the action of a
control unit cannot unambiguously be associated to one body side, it will be controlled by
the phase that is semantically closer related to it. The next sections will name the passive
joints and describe the active control units for each walking phase in detail.
5.4.4
Walking Phase 1: Weight Acceptance
Phase 1 of cyclic walking begins as soon as the foot of the swing leg fully touches the
ground. As in human walking, this phase is responsible for accepting the body weight
with the new stance leg, generating the semi-flat walking gait and shifting the task of
98
5. Controlling Dynamic Locomotion of a Fully Articulated Biped
left
Lower Trunk
Weight
1 Accept.
Pro2 pulsion
Walking
SPG
Trunk
3 Stabiliz.
4
Leg
Swing
5
Heel
Strike
Stabilize
Pelvis L
Forward
Velocit. L
Upright
Trunk L
Left Leg
Weight
Accept.
Lat. Bal.
Ankle L
Figure 5.18: Control units stimulated during phase 1 of cyclic walking.
stabilizing the pelvis and the trunk from one leg to the other. Figure 5.18 illustrates the
control units being stimulated in this phase for the left body side. The locomotion modes
and the control units of the right body side are omitted for sake of clarity and readability.
A trailing ‘L’ or ‘R’ in the unit’s name denotes that it is responsible for action on the left
or right body side. The postural reflexes that aim for suitable forward velocity, an upright
trunk, and lateral stabilization will be discussed separately in Section 5.4.9. Thus, the
passive joints and two control units called Stabilize Pelvis and Weight Acceptance remain
to be described.
The motor pattern Weight Acceptance controls the knee joint to guarantee a smooth weight
acceptance and a semi-flat gait during and after heel strike. This is achieved by actively
bending the knee, already starting in walking phase 5, i. e. just before the foot touches the
ground (Figure 5.19a). Similar to what can be observed in human gait analysis, the leg is
bent preventively even before ground contact, thus reducing impact energy. The motor
pattern receives the desired walking velocity as modification signal. The faster the walking
speed, the stronger the knee is bent. The duration of the pattern is set to last until the
trunk has traveled beyond the foot of the stance leg in a normal stride. After the pattern
has ended, the knee joint remains in a mostly extended position with high stiffness. As a
result, only little energy must be invested despite of the knee having to support the whole
body weight. Figure 5.19b illustrates the resulting semi-flat gait by plotting the z-position
of the head’s center. Close to what is found in human walking, the height of the head
oscillates only a few centimeters at twice the frequency of the gait cycle.
To stabilize the pelvis via the stance leg, a second control unit is stimulated during walking
phase 1. As the pelvis would rotate about the x-axis of the hip joint as soon as the swing
leg leaves the ground, this joint must be kept stiff. This corresponds to the activity of the
abductor muscles of the stance leg observed in human walking where the pelvis is kept
almost horizontal throughout the walking cycle.
Unfortunately, it is not possible to stabilize the pelvis by simply setting a constant joint
angle during the whole stance phase. As the position of the stance leg’s foot in lateral
direction will shift depending on disturbances or during walking sidewards, another control
strategy has to be found. Two possible ways come into mind and have been examined
99
60
40
Head Height [m]
Left Knee Angle [◦ ]
5.4. Dynamic Walking
Heel Strike
20
0
0.0
0.5
1.0
1.5
Time [s]
2.0
2.5
(a)
1.8
1.6
1.4
1.2
0.0
1.0
2.0
Time [s]
3.0
4.0
(b)
Figure 5.19: (a) The Weight Acceptance motor pattern starts to bend the knee before heel
strike to reduce impact. (b) The height of the head’s center illustrates the semi-flat walking gait.
in the scope of this work. The first possibility assumes that the hip angle in the x-axis
does not have to change during stance phase. Then the Stabilize Pelvis reflex can stiffen
the joint at its current angle as soon as the leg touches the ground. To gain additionally
ground clearance for the swing leg, a small offset can be added to the hip angle, raising
the contralateral side of the pelvis.
A second strategy to stabilize the pelvis can be implemented by actually controlling the roll
angle of the pelvis. Assuming the pose of the trunk is known, this roll angle can be derived
and adjusted by changing the x-angle of the hip joint. This method has the advantage of
being more flexible, as it keeps an appropriate pelvis orientation no matter what situation
occurs. But as this reflex needs to hold a stiff position during strong disturbances and
relatively high cycle time, it easily inclines to oscillate.
In addition to the joints controlled by the two units just described, the postural reflexes
actively influence the ankle pitch and roll angles, and the hip roll angle. The remaining
joints, namely the hip joint about the vertical axis, the spine joints, and the arm joints
are passive and set to a medium, low, and high compliance, respectively. The equilibrium
points of these joints are set to their neutral position, correlating to an upright, relaxed
standing posture.
5.4.5
Walking Phase 2: Propulsion
The next walking phase starts as soon as the contralateral leg has finished the swing phase
and has stretched the knee in preparation to heel strike. The main task of this phase is to
insert additional energy to the system so the forward velocity can be maintained. As the
body mass has already traveled beyond the stance leg, this propulsion can be achieved by
plantarflexion of the ankle. Furthermore, the leg swing is already initialized by active leg
flexion in the hip joint. The Stabilize Pelvis control unit as well as the postural reflexes
from phase 1 are kept stimulated. Figure 5.20 illustrates the resulting control network
during phase 2.
The motor pattern Leg Propel creates a plantarflexion of the ankle. Thus it corresponds to
the strong muscular activity of the gastrocnemius and soleus before toe-off. As in human
walking, the amplitude of the motor pattern increases with the walking velocity that it
receives as modulation signal. Additionally, the motor pattern output is scaled by a factor
100
5. Controlling Dynamic Locomotion of a Fully Articulated Biped
Lower Trunk
left
Walking
SPG
Weight
1 Accept.
Stabilize
Pelvis L
Pro2 pulsion
Initialize
Swing L
Trunk
3 Stabiliz.
Forward
Velocit. L
4
Leg
Swing
Upright
Trunk L
5
Heel
Strike
Lat. Bal.
Ankle L
Left Leg
Leg
Propel
Figure 5.20: Control units stimulated during phase 2 of cyclic walking.
determined by the ankle angle at the beginning of the pattern. Advancing dorsiflexion of
the ankle results in an amplification of the motor pattern torque. As a result, a longer step
size automatically leads to stronger propulsion by the stance leg. To prevent excessive
plantarflexion, the output of the motor pattern is reduced by the increasing pitch angle of
the ankle.
Gait analysis of human walking shows that leg swing not only emerges passively by the
weight of the leg segments after toe-off. Rather, energy is added by the hip joint to actively
start the leg swing and to increase the leg’s velocity even before the foot leaves the ground.
The more energy is added, the more the swing duration can be shortened, thus allowing
for higher walking speeds. The motor pattern Initialize Swing corresponds to this muscle
activity generated by the iliopsoas, sartorius, and tensor fascia latae. As in the Leg Propel
control unit, its amplitude is modulated by the desired walking velocity. The duration of
the pattern is chosen to last well into walking phase 4.
The torque induced in the hip joint does not only cause a flexion of the leg, but also bends
the trunk forward. This trunk movement would be corrected by the postural reflexes, but
only after a deflection has occurred which is big enough to trigger a reflexive response. By
then, the trunk already has started to sway. To prevent this outcome, the motor pattern
additional generates a torque in the contralateral hip. Properly dimensioned, this torque
compensates the unwanted trunk deflection. A corresponding muscle activity can also be
observed in human walking.
The leg flexion generated by Initialize Swing induces a flexion of the knee that is set to high
compliance during walking phase 2. This would lead to contra-productive shortening of the
stance leg which still is responsible for supporting the body weight. Only in combination
with the plantarflexion of the ankle produced by the Leg Propel motor pattern, body
support and propulsion is possible. This synergistic effect is created by the synchronous
stimulation of the two control units, coordinated by the motion phase unit.
As already mentioned, the knee joint acts passively with high compliance during this phase.
The other passive joints are similar to those of the previous phase.
5.4. Dynamic Walking
101
Upper Trunk
Arm
Swing L
left
Walking
SPG
Weight
1 Accept.
Lower Trunk
Pro2 pulsion
Stabilize
Pelvis L
Trunk
3 Stabiliz.
4
Leg
Swing
5
Heel
Strike
Upright
Trunk L
Lat. Bal.
Ankle L
Initialize
Swing L
Lateral
Shift R
Left Leg
Leg
Propel
Figure 5.21: Control units stimulated during phase 3 of cyclic walking.
5.4.6
Walking Phase 3: Stabilization
During the third phase of walking the robot’s posture can be stabilized as both feet touch
the ground. It begins as soon as the foot of the contralateral leg has full contact with the
ground after its swing phase. As the stance phase is nearly finished, the postural reflexes
are gradually diminished in their stimulation. The forward velocity is now controlled by
the former swing leg, and lateral balancing by the ankle joint becomes more difficult as the
ground contact lessens. For similar reasons, the reflex stabilizing the pelvis is only partly
stimulated. Still, the Leg Propel motor pattern pushes the body forward until the foot
leaves the ground. The Initialize Swing pattern started in the previous phase continuous
its action, too.
As illustrated in Figure 5.21, two additional control units are stimulated in phase 3: the
Lateral Shift Right pattern already introduced during walking initiation is stimulated
depending on the body posture. This allows to direct the movement of the center of mass
to the next stance leg. Additionally, the Arm Swing motor pattern controls the rotation
about the y-axis of the ipsi- and contralateral shoulder joint. By adding contrary torque
impulses, a synchronized arm flexion respectively extension is generated. As in human
walking, this arm swing compensates possible trunk rotation disturbing the walking cycle.
The remaining arm joints stay passive.
Figure 5.22 visualizes the torques generated by the Arm Swing motor pattern and the
resulting trajectories. The upper plots represent the y-axis of left, the lower plots the
y-axis of the right shoulder joint. On the left side, the effective motor torques illustrate
the synchronous but opposite action of both shoulder joints. This results in sine-like angle
trajectories of the swinging arms despite the fact that only short torque impulses are
created. This behavior is possible as the shoulder joints can move passively throughout
the rest of the walking cycle.
Torque [Nm]
Angle [◦ ]
0
−10
0.0
Right Shoulder
40
10
0.5
1.0
1.5
2.0
2.5
0
−20
0.5
1.0
1.5
2.0
2.5
0.5
1.0
1.5
Time [s]
2.0
2.5
40
10
0
−10
0.0
20
−40
0.0
Angle [◦ ]
Torque [Nm]
5. Controlling Dynamic Locomotion of a Fully Articulated Biped
Left Shoulder
102
0.5
1.0
1.5
Time [s]
2.0
2.5
20
0
−20
−40
0.0
Figure 5.22: Angle and torque progress of the arm swing generated by the Arm Swing motor
pattern.
5.4.7
Walking Phase 4: Leg Swing
The fourth phase of walking covers the actual swing of the leg. It begins as soon as the
foot has left the ground and ends when the knee of the swing leg is stretched again. The
task of this phase is twofold: the swing leg has to be brought forth to accept the body
weight while ensuring ground clearance of the foot; and the foot must be positioned in a
way that postural stability can by retained. The latter function is performed by the local
reflex Lock Hip and the postural reflex Lateral Foot Placement which will be described
later on. Active control of the upper body’s posture is not possible as the leg does not
touch the ground and no forces can be induced into the trunk.
As shown in Figure 5.23, the Arm Swing and Initialize Swing motor patterns continue
their action and three new reflexes are introduced. The Lock Knee reflex is responsible for
ensuring the knee is stretched at the end of the leg swing. This is necessary as only an
extended leg can create the pendulum-like walking gait aimed for. A bended leg would
allow the center of mass to fall too low, and additional joint work would be required to lift
the trunk again.
Before the knee can be stretched to prepare it for weight acceptance, it must bend to
guarantee ground clearance of the foot while it travels forward. In human walking, no
muscle action affecting the knee joint can be observed during the main part of the leg
swing. Rather, the knee bends passively due to mass inertia of the lower leg and the foot.
The same holds true for this approach: during phase 4, the knee joint is allowed to move
freely until the end of the swing when the Lock Knee reflex reacts. It bends passively as
an effect of the inherent dynamics.
In case the momentum of the lower leg is high enough, the knee would extend by itself and
the Lock Knee reflex would not be needed. But if the momentum is too low, active control
5.4. Dynamic Walking
103
Upper Trunk
Arm
Swing L
left
Weight
1 Accept.
Walking
SPG
Lower Trunk
Pro2 pulsion
Lock
Hip L
Trunk
3 Stabiliz.
Initialize
Swing L
4
Leg
Swing
5
Heel
Strike
Lat. Foot
Placem. L
Left Leg
Lock
Knee
Cutan.
Reflex
Figure 5.23: Control units stimulated during phase 4 of cyclic walking.
of knee joint will be necessary. This control takes place as soon as the angle of the knee
joint draws near to the stretched state. The reflex then starts to increase the stiffness of
the knee joint with the equilibrium point set to the stretched angle. If the leg extends by
itself, no additional energy will be expended. Otherwise, a torque will be generated by the
knee motor to support the leg extension.
Figure 5.24 shows the knee angle emerging during a step of the simulated biped and
compares it to human walking. It can be seen that similar trajectories arise. The knee
passively bends to an angle of about 60◦ during the swing phase.
The Lock Hip reflex controls the flexion of the hip joint, i. e. the rotation about the y-axis
by applying a damping torque. It aims at stopping the swing of the leg to achieve a
suitable angle of attack at heel strike. This follows the ideas of Blum, Seyfarth et al. who
show a correlation of the swing leg’s angle of attack and a stable forward velocity in human
walking and running [Blum 07]. Varying step length at the same kinetic forward energy of
the trunk influences the forward velocity. Longer steps result in slowing down, shorter
steps in accelerating the upper body.
To set a suitable angle of attack, the Lock Hip (lh) reflex has to know the pitch angle φ of
the trunk. It also receives the desired walking velocity. The resulting normalized target
hip angle φ̂hip y, lh amounts to
α̂hip y, lh = α̂hip y, max · vtarget + Kpitch · φ
(5.8)
where the maximum hip angle α̂hip y, max and the body pitch factor Kpitch are set experimentally. This calculation results in shorter steps when the body leans backwards and
longer steps when the body leans forward. The more the hip flexion of the swing leg
approaches the target angle, the higher the applied damping. The damping torque is
proportional to the rotational velocity of the hip joint, thus falling to zero as soon as the
104
5. Controlling Dynamic Locomotion of a Fully Articulated Biped
Simulated Biped
60
Knee Angle [◦ ]
Knee Angle [◦ ]
Human Walking
40
20
60
40
20
0
0
0
25
50
75
% of Gait Cycle
100
(a)
0
25
50
75
% of Gait Cycle
100
(b)
Figure 5.24: Comparison of the knee angle trajectory in human walking (a) and in the biped
simulation, averaged over 20 steps (b). Human data reproduced from [Hamill 03].
leg swing is stopped. Then the reflex stimulates the position control to fix the hip joint at
the desired angle of attack.
The Cutaneous Reflex is motivated by its namesake discussed in Chapter 3. Its task is to
re-establish ground clearance in case the foot touches down during the swing phase. To
this end, it receives the force measurements from the toe and heel sensors. In case the
toe sensors indicate ground contact, ankle dorsiflexion is generated by an ankle torque
proportional to the measured force. Similar, ankle plantarflexion is initiated as soon as heel
contact is conceived. In both cases, an accompanying torque to bend the knee supports
the necessary ground clearing reaction.
As long as the cutaneous reflex does not become active, the knee joint acts purely passively
during this motion phase. Furthermore, both ankle joints are set to a fixed, neutral
equilibrium point with medium compliance. The spring-like behavior of the ankle pitch
angle is sufficient to lift the toes off the ground after the Leg Propel motor pattern of the
previous phases has finished the plantarflexion of the ankle. Hip ab- and adduction is not
passive but controlled by the postural reflex Lateral Foot Placement. The flexion of the hip
is passive between the end of the Initialize Swing pattern and the action of the Lock Hip
reflex. As in the phases before, hip rotation and the spine joints are set to low compliance.
5.4.8
Walking Phase 5: Heel Strike
The last phase of walking takes place around the heel strike event. As soon as the swing
leg is extended, it must prepare for touching the ground. This phase is responsible for
reducing the ground impact and for generating a controlled lowering of the toes after heel
strike. Figure 5.25 illustrates the involved control units. Compared to the previous phase,
the knee joint is no more controlled by the Lock Knee reflex but by the Weight Acceptance
motor pattern already described above. Additionally, the Heel Strike reflex controls the
ankle dorsiflexion. Control of the posture and of the leg’s angle of attack remain the same.
Due to the body weight resting on the foot after touch-down, the ankle joint would
plantarflex and the foot would rotate about the heel contact point. In human walking,
activity of the tibialis anterior muscle prevents the toes from hitting the ground too
5.4. Dynamic Walking
105
left
Lower Trunk
Weight
1 Accept.
Lock
Hip L
Pro2 pulsion
Walking
SPG
Left Leg
Trunk
3 Stabiliz.
4
Leg
Swing
5
Heel
Strike
Lat. Foot
Placem. L
Heel
Strike
Weight
Accept.
Figure 5.25: Control units stimulated during phase 5 of cyclic walking.
forcefully. Here, the Heel Strike reflex assumes this task. As a force is measured by the heel
force sensors of the foot, a damping torque is produced to soften plantarflexion. The torque
is proportional to the rotational velocity of the ankle joint. In contrast to the biological
ankle joint, technical systems already introduce joint damping, e. g. by gear friction. The
simulation used in this work also includes damping within the joints. Depending on the
amount of damping that acts within the ankle joint, the Heel Strike reflex can be omitted.
Otherwise, the ankle joint remains in a passive, relaxed state as no other control unit
affects its action. Again, hip rotation and the spine joints are set to low compliance at a
neural equilibrium position.
5.4.9
Posture Control
Postural reflexes provide additional body stabilization based on global sensor information.
The main source of information on the current body pose is provided by the inertial
measurement unit. It is able to measure accelerations in all three directions as well as
three rotational velocities. In this work it is assumed that the upper body orientation can
be derived from this data. While this assumption might not be easily implemented, it
would go beyond the scope of this thesis. In literature, a few approaches can be found on
deriving the orientation based on an inertial measurement unit and certain heuristics or
additional model knowledge [Koch 04, Gienger 02].
The main challenges of postural control are threefold: the upper body should be kept erect
or slightly bend forward depending on the walking velocity; the forward velocity must be
controlled to keep the robot from stumbling or falling forward or backwards; finally, lateral
stability must be ensured.
To a certain degree, passive dynamics and compensating motor patterns work towards these
challenges. For instance, parallel elasticities in the ankle joint help in lateral stabilization
and in controlling the forward velocity: larger steps result in stronger dorsiflexion during
push-off, thus stretching the ankle elasticities and adding more energy to the system.
The motor pattern for initiating the leg swing also inserts an opposing torque in the
contralateral hip to stabilize the trunk. However, postural reflexes still need to generate
correcting motions to compensate self-induced or external disturbances.
106
5. Controlling Dynamic Locomotion of a Fully Articulated Biped
eφ
φtarget
eφ̇
φ̇target
−
τ̂hip
Process
−
P
PI
φ̇
φ
Figure 5.26: Control block diagram of the postural reflex Upright Trunk.
5.4.9.1
Upper Body Balance
In human walking, the upper body is kept remarkably stable. Despite significant accelerations caused by hip movements, ground impact, or foot push-off, the trunk remains upright.
Especially the head shows only small deflections in the horizontal plane, facilitating the
processing of visual information, assisted by the vestibulo-ocular reflex [Ito 82].
The postural reflex Upright Trunk assumes the task of upper body stabilization in the
frontal plane. It receives the current estimation on the body pitch as sensor information.
The walking velocity is passed as modulation signal to achieve a forward inclination of the
trunk when walking faster.
As described above, there is the need to have one instance of the reflex for each body
side to enable specific stimulation during different walking phases. Each of the two reflex
instances will generate torque values acting on the hip joint of its particular body half.
The activity of the reflex is further scaled by the ground contact derived from the force
sensors of the respective foot. This guarantees that the torque applied at the hip joint
only affects the orientation of the trunk as the leg is securely rooted to the ground.
The Upright Trunk reflex is designed as a cascaded position-velocity loop-back controller. As
illustrated in Figure 5.26, the position control is implemented as P-control, the underlying
velocity part as PI-control. The target pitch angle φtarget , i. e. the rotation of the trunk
about the y-axis, is slightly increased with the walking velocity to boost the forward
momentum. Depending on the resulting error of body pitch, a target change of pitch
φ̇target is calculated and passed to the PI loop. The controller then generates a normalized
torque τ̂hip being applied to the hip joint of the corresponding body side.
The action of the left Upright Trunk reflex during six consecutive steps and the resulting
posture of the upper body is depicted in Figure 5.27. The activity a of the reflex illustrates
the dependency of its reaction on the ground contact information. During the swing phase,
the reflex shows no activity as it is not stimulated by the corresponding walking phase.
The plotted normalized torque τ̂hip will only be applied to the hip joint if the reflex is
active.
As indicated by the head’s pitch angles, swaying of the upper body in the frontal plane
can be kept within a few degrees. The head shows slightly more rotation than the inertial
measurement unit being attached to the pelvis. This is caused by the elastic action of the
spine joint. The plotted angles also illustrate that the upper body is leaning forward by
a few degrees during walking. Depending on the aspired walking velocity, this offset is
raised or decreased.
Reflex Activity a
10
0
−10
0.0
IMU Pitch Angle [◦ ]
107
1.0
2.0
3.0
10
0
−10
0.0
1.0
2.0
Time [s]
3.0
1.0
0.5
0.0
0.0
Norm. Hip Torque τ̂hip
Head Pitch Angle [◦ ]
5.4. Dynamic Walking
1.0
2.0
3.0
1.0
0.0
−1.0
0.0
1.0
2.0
Time [s]
3.0
Figure 5.27: The postural reflex Upright Trunk regulates the pitch angle of the upper body.
The imu is mounted within the pelvis.
5.4.9.2
Estimation of Center of Mass Position
Regulation of the stability in lateral direction and adjustments of the forward velocity
require additional information processing. As discussed in Section 3.2.4, postural control
in human walking could be based on the movement of the center of mass (com). Hof et al.
suggest a control strategy for foot placement relying on the extrapolated center of mass
(xcom) [Hof 08]. To adopt a similar approach for the functioning of postural reflexes, an
estimation of the current position of the com becomes necessary.
The com calculations used in this work only provide a coarse estimation of its position. It is
assumed that there is no elaborate dynamic model coded within the human cerebellum, but
rather a simplified model that is sufficient for postural regulation. Figure 5.28 illustrates
the approach of a reduced model of the com for one vertical plane. It disregards all
motions of the upper body like e. g. arm swing that are changing the mass distribution
and are introducing additional dynamic effects. Variation of the stance leg’s length is also
neglected. The calculations are equivalent for the frontal and the sagittal plane, so the
following considerations can be limited to two dimensions.
The center of mass is assumed to be located at a constant distance l1 from the hip joint,
aligned by an angle δ. These variables can be derived from the horizontal and vertical
shift ∆com of the com from the hip joint as:
p
(5.9)
l1 = ∆comhoriz 2 + ∆comvert 2 ,
∆comvert
.
(5.10)
∆comhoriz
The rotational deflection φ of the pelvis from the neutral vertical position is provided by
the pose estimation of the imu. The stance leg of length l2 is rotated by the known angle
tan δ =
108
5. Controlling Dynamic Locomotion of a Fully Articulated Biped
φ
CoM
l1
δ
β+δ+
l3
β
l2
α
γ
π
2
β
d
Figure 5.28: Simplified model for the estimation of the center of mass position.
β about the hip joint. From these values, the distance l3 of the com from the foot contact
point can be calculated as
r
π
.
(5.11)
l3 = l1 2 + l2 2 − 2l1 l2 cos β + δ +
2
To derive the wanted distance d of the projection of the com from the foot contact point,
the angle α = β + γ + φ is necessary. With γ and φ already known, the complementing
angle γ can be found as
l1 sin β + δ + π2
.
(5.12)
tan γ =
l2 − l1 cos β + δ + π2
This results in the distance d being
d = l3 sin α.
(5.13)
These calculations are done for both the left and right leg and for the frontal and sagittal
plane, resulting in four values comx,left , comx,right , comy,left , and comy,right . They provide
an estimation of the projection of the static com position to the ground plane relative to
the position of the left and right ankle joint. Following Hof’s suggestions, the extrapolated
center of mass (xcom) can be derived from these values by including the velocity d˙ of the
respective com projection normalized by the eigen frequency ω0 of the assumed inverted
pendulum model:
d˙
(5.14)
xcom = d +
ω0
with the eigen frequency ω0 for the pendulum length l3 of the com above the the foot
point given as
r
g
.
(5.15)
ω0 =
l3
5.4. Dynamic Walking
109
1.0
xcomx [m]
comx [m]
1.0
0.0
−1.0
0.0
1.0
2.0
3.0
4.0
5.0
xcomy [m]
comy [m]
−0.2
2.0
3.0
4.0
5.0
1.0
2.0
3.0
4.0
5.0
1.0
2.0
3.0
Time [s]
4.0
5.0
0.0
−0.2
1.0
2.0
3.0
4.0
5.0
0.2
0.0
xcomy,fusion [m]
comy,fusion [m]
1.0
0.2
0.0
0.0
−0.2
0.0
−1.0
0.0
0.2
0.0
0.0
1.0
2.0
3.0
Time [s]
4.0
5.0
0.2
0.0
−0.2
0.0
Figure 5.29: Estimation of the com movement. Solid lines represent the left side, dashed line
the right side. The lower two plots show merged (x)com values in y-direction weighted by ground
contact.
Again, equation 5.14 can then be applied for both legs and directions resulting in the four
values xcomx,left , xcomx,right , xcomy,left , and xcomy,right . The extrapolated interpretation
of the com projection can be used in case the static calculations are insufficient for
maintaining stability.
Figure 5.29 illustrates the progression of the estimated center of mass for undisturbed
walking. The solid lines in the upper two rows represent the com and xcom values relative
to the left leg, the dashed lines those corresponding to the right leg. The phase shift of
half a cycle between the left and the right side is clearly visible. During stance phase, the
comx value increases as the center of mass swings over the supporting leg. It decreases
again as the leg swings forward. The absolute value of comy has its minimum during the
stance phase as the body mass sways in the direction of the support leg. During leg swing,
the value is of only minor significance as it depends on the lateral foot position controlled
by the related postural reflex.
The extrapolated com values on the right side of the plot reflect the integration of the
com’s velocity. Both directions exhibit larger amplitudes. The additional noise in both
signals origins from the oscillation of the upper body that inflicts the measurements of the
imu. Both the xcomx and the xcomy values show a negative phase shift compared to their
com counterparts due to their velocity component. Thus their interpretation by a postural
110
5. Controlling Dynamic Locomotion of a Fully Articulated Biped
Correction Value
xcomx [m]
1.0
0.0
−1.0
0.0
1.0
2.0
3.0
Time [s]
4.0
5.0
0.5
0.0
−0.5
0.0
1.0
2.0
3.0
Time [s]
4.0
5.0
Figure 5.30: Control of forward velocity by approximating the xcomx trajectory during normal
walking and calculating the derivation.
reflex not only allows for integrating dynamic properties but also gives a temporal benefit.
This advantages must be weighted against the drawback of additional noise.
The lower two plots of Figure 5.29 show merged values of the comy and xcomy of both
the left and right leg. The fusion is calculated using the normalized ground contact force
F̂z ∈ [0, 1] measured by the load cells as weights:
comy,fusion =
comy,left · F̂z,left + comy,right · F̂z,right
F̂z,left + F̂z,right
(5.16)
This combined value illustrates the lateral sway of the robot during normal walking. During
single support the center of mass travels to the side of the supporting leg. With both legs
on the ground, the merged com value levels out at about zero, as the left and right com
estimations show similar absolute values and both legs have full ground contact. As soon
as the swing leg lifts off, the merged com value again moves to the side of the stance leg.
5.4.9.3
Controlling the Forward Velocity
The control of forward velocity relies on three control units: the local reflex Lock Hip, the
motor pattern Leg Propel, and the postural reflex Forward Velocity, each of those existing
for both body sides. The postural adaptation of the former control unit has already been
discussed above: the step length is varied depending on the pitch of the upper body. The
latter of the three control units calculates a correction value for the forward velocity that
is used to generate an suitable ankle torque. It is also passed to the leg propulsion control
unit as modulation value scaling the amplitude of the motor pattern.
The computation of the correction value relies on the xcomx estimation of the respective
leg as shown on the upper right plot in Figure 5.29. The plot depicts the xcomx during
undisturbed, normal walking on level ground. Assuming that a deviation from this
trajectory stems from external or self-induced disturbances, the correction factor is based
on this deviation. Therefore, the xcomx trajectory over the time interval during which
the corresponding leg has ground contact is approximated by the first quarter of a sine
function:
h
π i
xcomx,target = vtarget xcomx,start + (xcomx,end − xcomx,start ) sin
t
(5.17)
2
where xcomx,start and xcomx,end denote the interval defining the amplitude, vtarget the
desired walking velocity passed as modulation signal, and t ∈ [0, 1] indicating the time
111
Correction Value
5.4. Dynamic Walking
comy [m]
0.2
0.1
0.0
0.0
2.0
4.0
Time [s]
6.0
0.1
0.0
−0.1
0.0
2.0
4.0
6.0
Time [s]
Figure 5.31: Control of lateral stability by approximating the comy trajectory during normal
walking and calculating the derivation.
progression over the average duration of the reflex’s activity. Figure 5.30 illustrates the
approximated trajectory and the calculated correction value. Both values are only relevant
during full ground contact of the foot as only then the leg can influence the robot’s posture.
Hence the calculations are limited to walking phases one and two, during the other phases
the values are set to zero.
The correction value is then applied as torque to the ankle joint to achieve an appropriate
dorsi- or plantarflexion. The maximum absolute torque is limited to prevent lifting of the
heel or toes of the foot. In case the forward velocity is too high, i. e. the xcomx value is
greater than the approximated trajectory, plantarflexion of the foot will slow down the
pendulum movement of the upper body over the stance leg. Likewise a small xcomx value
will result in an ankle dorsiflexion and increase the velocity of the upper body.
5.4.9.4
Lateral Stability
Similar to the control of forward velocity, lateral stability is improved by foot placement
and by correcting ankle torque. As the xcom estimation in y-direction is strongly influenced
by the lateral sway of the upper body and the pelvis rotation during hip stabilization, the
com estimation is utilized to calculate reflex action. Again, the trajectory of comy during
normal walking is approximated, in this case by a forth order polynomial:
comy,target = vtarget comy,start + (comy,end − comy,start ) 1 − (2t − 1)4
(5.18)
The variables are defined similar to the trajectory approximation for forward velocity
control. Figure 5.31 illustrates the resulting correction value. The dashed line in the left
plot denotes the estimated comy values, the solid line the approximated trajectory.
The postural reflex Lateral Balance Ankle uses the correction value to generate an ankle
torque about the x-axis. Again, the absolute torque values are limited to maintain full
ground contact of the foot. The resulting inversion or eversion of the foot can only produce
a small correction motion as the leverage of toes and heel in y-direction is relatively short.
Nevertheless the reflex provides a small amount of lateral balance.
Foot placement has much stronger influence on the movement of the center of mass in the
sagittal plane. Similar to what is suggested by Hof et al., the postural reflex Lateral Foot
Placement (lfp) uses the correction value just described to adapt the hip angle during leg
swing in motion phases four and five. As the leg influenced by the reflex is in its swing
112
5. Controlling Dynamic Locomotion of a Fully Articulated Biped
phase, the com estimation relative to the opposite leg is considered for foot placement
adaptation. The normalized hip angle α̂hip, lfp passed to the joint controller amounts to
α̂hip x, lfp = α̂hip x, normal + g · σ · Kcom · (comy,target − comy )
(5.19)
where α̂hip, normal denotes the hip angle for the undisturbed case, σ the change of sign due
to the different directions of normalized hip angles of the left and right leg, Kcom a factor
to translate the com error to a normalized angle change, and g a gradual activation of the
angle correction rising from 0 to 1 to prevent a jerky movement of the leg at the start of
its swing phase. The reflex activity indicating both the behavior influence and desired
joint stiffness quickly rises with an increasing correction value to enforce the adjustment
of the foot placement.
6. Implementation of Bipedal
Walking Control
To validate the suggested control concept and its application to dynamic walking and
standing as described in the previous chapters, it is implemented as control system for
a simulated biped. The simulation environment must support the dynamics calculation
of the robot and its interaction with the environment. As already mentioned before, the
bipedal robot has to show some properties of human morphology, muscles, and perception.
This chapter will introduce the test environment as well as the biped model and its features.
Some aspects of the implementation of the control system are discussed.
6.1
Simulation Environment
As this thesis focuses on the control of bipedal walking, it cannot also provide a concept
for a suitable mechanical construction and actuation system. But while the design of a
biped with human-like properties is subject to current research activities, there still is
no satisfactory solution for this problem. To nevertheless validate the suggested control
approach, it is implemented and tested within a simulation environment. In doing so, the
essential features for the functioning of the biologically inspired control can be provided
without the need of a mechanical implementation. Still, attention is paid to the fact that
the simulated biped should potentially be realizable as a prototype. Additional information
on the simulation environment can be found in Appendix B, preliminary studies to this
topic can be found in [Chiderova 05, Lamp 05, Gilsdorf 06].
6.1.1
Embedding the Physics Engine
The control system and simulation of this work is implemented using the framework
mca2 (modular controller architecture)1 [Scholl 02]. Its basic control entities are modules
featuring an interface of control and sensor inputs and outputs. Modules are connected
by edges transferring processed data between their interfaces. Additionally, a blackboard
1
The RRLab version of mca2 can be downloaded at http://rrlib.cs.uni-kl.de
114
6. Implementation of Bipedal Walking Control
mechanism allows the exchange of larger data objects without the need of edges. Modules
can be subsumed in groups that feature the same interface as modules. The interconnection
of modules and groups defines a control hierarchy of layers and the order in which their
processing methods are called during the control cycle running with a fixed timing.
The behavior-based framework iB2C is also implemented within mca2. Each behavior
is represented by a module, the behavior signals and the input and output vectors are
transferred via edges. mca2 comes with an extensive tool set to support the developing
process. In particular, the behavior-based design is assisted by visualization and debugging
tools, e. g. the mcabrowser allows to show the flow of stimulation and activity between
behaviors during runtime.
mca2 already provides a library called SimVis3D for the simulation and visualization of
robots and their environment [Braun 07]. Its visualization part is based on Coin3D2 , a free
implementation of the OpenInventor standard. SimVis3D features a comfortable way to
define the simulation scene via a description file, dynamic object management, separation
of simulation and visualization, and offers support for various sensor systems like cameras
or laser range finders.
In the scope of this work, SimVis3D has been supplemented with dynamical simulation
capabilities. To achieve this, two possible methods are possible: either the dynamics
equation can be derived manually for each robot, or a physics engine can be used that
automates this process. While the first approach allows to describe more specialized
models, the second approach has been chosen due to its versatility. Furthermore, changes
of the model can be transferred straightforward to the simulation without the need to
re-derive the equations of motion. The free Newton physics engine3 used in this work is
developed by Julio Jerez. Its main advantages are easy adaptability by a function callback
mechanism, the possibility to extract various information like acting forces or torques,
and a flexible universal joint implementation system. Newton’s penalty-based contact
calculation features adjustable elasticity, softness, and coulomb-like static and kinetic
frictions. These parameters can be defined for each pair of materials.
To embed the physics engine into the simulation environment, the so-called elements of
SimVis3D are used. In contrast to parts that define the visualization of objects, elements
provide the means to insert sensors or other specialized entries into the scene description
graph. In the context of the physics engine, three new types of elements are defined:
static physical objects, dynamic objects, and joints. Physical objects define the association
between the visualization parts and colliding objects within the physical simulation. Static
objects describe the environment, they only need to provide a collision geometry and a
material type, and are assumed to be unmovable and to have infinite mass. Dynamic
objects will move within the environment, and therefore a transformation matrix node is
added to the scene graph. During run-time, this matrix is modified by the physics engine
to set the pose of the visual object. Besides their collision geometry, dynamic objects
additionally are defined by a mass and a material changing the contact interaction between
objects. It is assumed that the mass is distributed evenly within the collision geometry
and an inertia tensor is calculated accordingly.
2
3
http://www.coin3d.org
http://www.newtondynamics.com
6.1. Simulation Environment
115
axis of rotation
motor
series spring
segment i
segment i + 1
parallel spring
Figure 6.1: The layout of the simulated joint is assumed as a combination of a motor, a series
spring, and a parallel spring.
A third element type is used to add joints to the simulation model. Each joint defines
constraints acting between two objects. Besides several standard joint types, Newton offers
so called universal joints to allow a high flexibility in joint design. Using the universal
joint type, six constraints for the three linear and the three rotational motions between
two objects can be specified. These constraints can either detain the movement along
respectively about the corresponding axis, or induce an acceleration or torque on the
two connected objects. This enables the implementation of loopback control mechanisms.
In addition it is possible to read the force or torque that is necessary to maintain each
constraint. Appendix B gives further details on the implementation of the simulation
environment and presents an example of the scene description file.
6.1.2
Actuators and Joint Control
In accordance to the system premises discussed in Section 5.1, a suitable model for joint
actuation needs to be simulated. Its main characteristics are adjustable compliance,
ranging from freely moving to high stiffness, an additional parallel elastic element, and
direct torque control as well as position control. All joints used in the biped model of this
work are revolute joints, i. e. rotational joints with five of their six degrees of freedom fixed.
The ball joints of hip and spine and the ankle joints are simulated by a concatenation of
these revolute joints.
The principle of the joint design suggested for the simulation is illustrated in Figure 6.1.
The joint connects two robot segments i and i + 1. In series with a revolving motor an
elastic element with adjustable stiffness connects to the actuated axis. Another spring
with fixed stiffness and constant equilibrium point is attached in parallel.
Figure 6.2 presents the torque calculation used for implementing the constraint of the
joint’s rotational degree of freedom. The controller receives a target torque τtarget and a
target angle αtarget as inputs. Following the ideas of the behavior-based architecture iB2C,
each input value is complemented by a stimulation value. The stimulation sτ is used to
scale the target torque, thus only control units with full activity can generate the maximum
torque output. For the position control part, sα is interpreted as stiffness. If the position
controller is stimulated less, the compliance of the joint will be higher. This behavior is
116
6. Implementation of Bipedal Walking Control
sτ
sτ , sα
τtarget
×
“compliance”
sα
αtarget
α̇target
−
Limit
τpos
×
P
τcontrol
wi
Limit
−
P
P
parallel spring
α
τspring
α0 = const.
τ
−
−
Nonlinear
damping
τdamping
α
α̇
P
Figure 6.2: Control block diagram for the constraint of the rotational degree of freedom used
for the simulated revolute joint.
implemented by scaling the output τpos of the position control by the stimulation value.
The controller itself is designed as a cascaded P-P control, with the outer position loop
generating the target value α̇target for the inner velocity loop. Resembling the iB2C fusion
behaviors, the two torques resulting from the stimulation multiplication are combined by
weighted summation, using the stimulation values as weights:
sτ (τtarget sτ ) + sα (τpos sα )
(6.1)
sτ + sα
P
wi in Figure 6.2. The output of the loopback
This weighted sum is symbolized by
control part is given as τcontrol and limited by the maximum torque of the simulated motor.
τcontrol =
The parallel elasticity as it is found in the biological muscle is modeled as nonlinear spring.
Given the constant equilibrium position α0 of the spring and the current joint angle α, the
resulting torque is calculated as
τspring = sgn(α0 − α) · Kspring · (α0 − α)2 .
(6.2)
with Kspring being the spring constant. Despite the fact that damping is nearly absent
in biological joints, it is by all means present for technical systems. Thus, an additional
torque τdamping proportional to the joint’s rotational velocity is calculated. All three torque
values τcontrol , τspring , and τdamping are then combined and used as the acting torque τ for
the rotational constraint of the simulated joint.
This joint setup allows to create various joint behaviors as needed by the biologically
motivated control concept. If both stimulation values sτ and sα are set to zero, the joint
can rotate freely except for the parallel spring and the damping. Setting the position
stimulation to zero, a direct torque command can be implemented. With sα > 0, an elastic,
6.1. Simulation Environment
(a)
117
(b)
Figure 6.3: (a) Joint construction with (from top to bottom) the motor, the gearbox, and the
gas spring highlightened. (b) Monopod prototype attached to a vertical slider.
passive joint action with the given equilibrium point αtarget is achieved. As described
below, precedence of the torque command over the position command is guaranteed by an
adequate layer of fusion behaviors.
In the antagonistic setup of two muscle group acting on a human joint, information on
the current status of the joint is perceived by the muscle spindles, the golgi tendon organ,
the pacinian corpuscle, the Ruffini endings, and the surrounding skin. The joint used in
this simulation emits the current joint angle and the torque acting in the joint as sensor
information. Both values can be extracted from the physics engine. In a real robotic joint,
the current angle can be measured by e. g. encoders. The torque can be captured by using
a load cell. Given an appropriate loopback control, the torque can also be derived by
measuring the motor current, but then a low ration gear is necessary. Otherwise, external
forces would not be transferred to the motor.
In the scope of this work, some consideration has also been put towards the development of
an actuator implementing the characteristics just described [Luksch 05, Luksch 07]. The
preliminary prototype follows the joint layout presented in Figure 6.1. A dc motor with
disc-shaped rotor is used as main actuator. The serial elastic element is omitted in the
first prototype. Instead, active compliance is implemented by a suitable controller similar
to the one presented above [Wahl 09, Blank 09b]. A low friction gear box with a ratio of
118
6. Implementation of Bipedal Walking Control
(a)
(b)
Figure 6.4: (a) Inertial measurement unit, and (b) three-axis load cell developed at the Robotics
Research Lab.
1:32 still allows the joint to move freely. In total, the setup can produce a peak torque of
more than 150 Nm. Figure 6.3a depicts the resulting joint construction, with the main
components marked in red.
In the first setup of the prototype joint, the parallel spring is designed as a novel rotatory
gas spring [Flörchinger 05]. By changing the volume being compressed by the rotating
piston, the stiffness of the spring would be adaptable. Also, the elasticity would be
nonlinear as in biological muscles. Unfortunately, the construction turned out to be very
difficult to manufacture. Remaining air leaks permit to produce the desired torque. Thus
the gas spring is complemented by a conventional linear coil spring that is stretched during
the flexion of the joint.
Using this actuator, the monopod prototype shown in Figure 6.3b is developed [Roth 08,
Schumann 08]. The active hip and knee joints allow the robot to jump on the spot. The
upper body is guided by a passive linear slider to neglect the problem of stabilization. The
setup is intended for the evaluation of the joint construction and the controller in a highly
dynamic task. For more details on this ongoing research, please refer to the cited papers.
While the presented actuator is still under development and not implementing all features
preferable for the suggested control concept, it at least shows that the design of such an
actuator should be possible.
6.1.3
Simulation of Sensors
Similar to the joint actuation, a suitable sensor setup must be provided by the simulation
framework. Senses necessary for the suggested control system include a sense of balance,
load perception, and cutaneous sensor information of the foot soles. These senses are
implemented as inertial measurement unit (imu), load cells, and force sensors in the feet.
To stay as close as possible to real sensor systems, the imu and the load cell developed at
the Robotics Research Laboratory were modeled (see Figure 6.4).
The imu is able to measure three linear accelerations and three rotational velocities. To
model the functionality of the imu within the simulation, an object of known mass is
6.1. Simulation Environment
Joint
Spine X
Spine Y
Spine Z
Shoulder X left
Shoulder X right
Shoulder Y
Elbow Y
Hip X
Hip Y
Hip Z
Knee Y
Ankle X
Ankle Y
119
min. angle [rad] max. angle [rad] max. torque [Nm]
-1.0
-1.0
-1.0
0.0
-2.0
-1.0
-2.0
-1.0
-0.85
-1.0
0.0
-0.5
-0.5
1.0
1.0
1.0
2.0
0.0
1.0
0.0
1.0
0.15
1.0
2.0
0.5
0.5
180
180
100
80
80
80
30
220
220
150
150
80
150
Table 6.1: Minimum and maximum angles and the maximum torque for all degrees of freedom
of the simulated biped.
attached to the mount point of the imu by a joint fixing all six degrees of freedom. The accelerations are calculated by dividing the forces necessary to maintain the linear constraints
by the objects mass. This method is similar to the working of real microelectromechanical
acceleration sensors using a small suspended mass and measuring its deflection via a change
of capacitance. The rotational velocities can be calculated by transforming the velocities
of the imu object provided by the physics engine to the current coordinate system of the
imu.
Similar to the imu, the load cell is implemented by a fixed joint attached between two
robot segments. The load cell shown in Figure 6.4b measures the force in z-direction and
the torque about the x- and y-axis. These values of interest can directly be read from
the physics engine as it provides the forces and torques produced to preserve the joint
constraints. The force sensors placed within the foot soles are of equal design, only they
just return the force in one direction and no torque values.
6.1.4
Model of Simulated Biped
Deploying the joint actuation and sensors just described, the model for the simulated biped
can be designed. The kinematic layout corresponds to the compromise of joint selection
described in Section 5.1. The ball joints mentioned there are implemented as chained
revolute joints. Table 6.1 summarizes the range of movement and the maximum torques
for each joint. Segment lengths and masses are similar to what can be found in human
subjects. Masses were taken from Table 3.2, but in contrast to human segments made of
bone, muscle, and tissue, the mass distribution is assumed to be uniform for reasons of
simplicity. In total, the number of degrees of freedom amounts to 21, the robot’s weight
adds up to 76 kg, and its overall height is 1.8 m. Details on the exact masses and the
placement of all segments can be found in Appendix B where the scene description file for
the robot setup and the environment is given.
120
6. Implementation of Bipedal Walking Control
z
x
(a)
y
(b)
Figure 6.5: (a) Simulated biped as visualized by the simulation framework. (b) Joint layout of
the biped model. The hip and spine joints are modeled by three, the shoulder and ankle joints as
two subsequent revolute joints.
Figure 6.5 illustrates the visualization and the joint layout of the biped model. The
coordinate system depicts the direction of the axes, namely the x-axis pointing in walking
direction, the y-axis pointing sidewards to the left, and the z-axis pointing upwards,
respectively. The visible shapes correspond to the collision geometries used by the physics
engine. The trunk and pelvis are modeled in such a way that the center of mass is located
slightly in front of the hip joints. Similarly, the head position is shifted in x-direction. This
position of the center of mass facilitates the forward motion while walking, in particular
during the stance phase as the trunk travels over the supporting foot.
In contrast to the vestibular system located in the human head, the inertial measurement
unit is attached to the pelvis of the biped model. This has the advantage of circumventing
the oscillation of the upper body, facilitating the stabilization of the pelvis. Knowing the
angles of the spine joint, the trunk can still be balanced at an upright pose.
The foot geometry is shown as a close-up in Figure 6.6. The white-colored part between
the ankle joint and the actual foot represents the load cell. It measures the force acting in
z-direction and the torques about the x- and y-axis. The elliptical shape of the toe objects
allows the foot to roll over the ground during push-off, creating a behavior similar to the
bending of the forefoot and the toes. This geometry can save an additional joint in the
foot. Each of the round toe and heel objects is attached to the central foot object by a
fixed joint measuring the force acting in z-direction. By knowing these four load values for
each foot, the center of pressure can be estimated. The force sensors in the feet correspond
to the cutaneous perception found in the human foot.
6.2. Notes on the Implementation
121
Figure 6.6: Shape of the foot model allowing to roll over the toes.
6.2
Notes on the Implementation
As mentioned above, the control concept postulated in this work is implemented within
the behavior-based architecture iB2C and the robot control framework mca2. Both of
these systems offer special features, but also pose certain restrictions on the design. Some
of the resulting decision necessary during the development process will be discussed in the
following.
6.2.1
Group Layout and Phase Representatives
As illustrated in Figure 6.7, the control and simulation system is arranged within three
main groups. The mca2 framework executes all processing and data transportation
routines of these groups and the contained modules once for each control cycle. For the
experiments done in this work, this cycle runs at 40 Hz. This results in a delay time for
reflex action of at least 25 ms, thus the control system has to manage similar dead times
as found in neural pathways. The group gSimulation contains the modules responsible
for the dynamical simulation and the three-dimensional visualization of the current scene.
The iteration step size for the dynamics calculation is set to 1 ms, resulting in 25 iterations
per control cycle. As the low level joint controller described above is embedded within the
physics simulation cycle, it also runs at 1 kHz.
The interface of the simulation group is designed in a way to enable its replacement by
a real robot. The control interface is composed of the inputs for the joint controllers,
i. e. the target torque and position as well as the two corresponding stimulation values.
On its sensor side, the simulation provides the current joint positions and torques, the
accelerations and velocities measured by the inertial measurement unit, and the forces and
torques measured by the load cells. To abstract from actual limits of joint angles, motor
torques, or sensor information, the gAbstractionLayer group introduces a normalization
layer between the simulation and the control system.
The group gBipedControl contains the control system as described in the previous chapter.
Its control units are distributed to six groups: the locomotion modes are located within
the brain group, the spgs and the postural reflexes within the spinal cord group. As local
reflexes and motor patterns only act on a few joints and do not receive sensor information
from other parts of the robot, they can be separated in four joint groups for the upper
and lower trunk and the legs.
122
6. Implementation of Bipedal Walking Control
gBipedControl
gBipedControl
gBrain
gSpinalCord
gAbstractionLayer
gUpperTrunk
gLowerTrunk
gLeftLeg
gRightLeg
gSimulation
(a)
(b)
Figure 6.7: (a) Main layout of the control and simulation system. (b) The control units are
arranged within six groups. The four joint groups at the lower end contain the motor interface.
The motion phases are located in the spinal cord group. But to improve clarity, to reduce
communication bandwidth and interface complexity, and to increase local coherence, a
representative of each motion phase is introduced in each joint group. These units are
stimulated by their counterpart in the spinal cord and again manage the stimulation of
local reflexes and motor patterns of their joint group. They also set the compliance and
equilibrium point for the passive joints.
6.2.2
Application of iB2C Features
The joint groups also contain the interface to the joint controllers in form of iB2C fusion
behaviors. They provide the means to coordinate concurrent access to the same joint
by several control units. Only units of the classes motion phase, postural reflex, motor
pattern, and local reflex generate control commands for the joints, with motion phases
only setting a fixed equilibrium point and compliance. As a behavior’s activity signal is
used for calculating its influence during the fusion, only control units stimulated by the
active motion phase will be considered.
Two different fusion methods are applied for the joint interface: position commands are
fused by the weighted average method, thereby finding a compromise between the joint
angle demands of active control units. Torque commands are combined by the weighted
sum function. As the target torque for a joint roughly corresponds to muscle activity,
several possible torque demands are added up as a motor neuron would add up neural
activity. The resulting torque command must be limited as it can extend the maximum
value.
Figure 6.8 illustrates the behavior-based joint control interface using the example of the
leg groups. The left and right leg group each manage the knee and the two ankle joints.
For each of the group’s joints, two fusion behaviors are inserted, one being responsible
for position, the other for torque commands. The torque fusion behavior inhibits the
position fusion behavior using its activity. This design decision is based on the assumption
that control units generating torque commands have higher priority than those providing
6.2. Notes on the Implementation
123
Motor Pattern
Local Reflex
(F) Knee
Position
(F) Knee
Torque
sτ,knee
τ̂knee
(F) Ankle X
Position
(F) Ankle X
Torque
sα,knee
α̂knee
sτ,ankle x
τ̂ankle x
(F) Ankle Y
Position
(F) Ankle Y
Torque
sα,ankle x
α̂ankle x
sτ,ankle y
τ̂ankle y
sα,ankle y
α̂ankle y
Figure 6.8: Interface to joint controllers implemented as layer of fusion behaviors. Precedence
of torque fusion is achieved by inhibiting edges.
position and stiffness commands. This also agrees to the suggested design guideline that
torque control should be preferred to position control.
Each fusion behavior forwards the resulting control value and its activity to the joint
controllers described above. The normalized torque and angle commands τˆi and α̂i are
scaled to effective values while passing the abstraction layer. The activity of the torque
fusion behavior serves as stimulation sτi for the torque part of the controller, likewise the
activity of the position fusion behavior is used as stimulation sαi for the position part. As
the fusion behavior’s activity results from the activity of the connected control units, these
units can use their own activity signal to influence the desired compliance or to scale the
effective torque value.
The activity of motor patterns is based on the sigmoid function used to calculate the
torque output. Similar to Equation 5.7, the signal is depending on the three parameters
describing the temporal progress of the torque value, only a factor for scaling the amplitude
is missing as the activity will always rise up to the reflex activation ι and fall back to zero:

1
1
t
1

0 ≤ t < T1
 2 + 2 sin( π( T1 − 2 ) )
a=ι· 1
(6.3)
T 1 ≤ t < T2

1 1
2
− 2 sin( π( Tt−T
− 12 ) ) T2 ≤ t ≤ T3
2
3 −T2
In contrast to the uniform activity of motor patterns, the activity of postural and local
reflexes depends on sensory information. For instance, the postural reflex Upright Trunk
calculates a normalized hip torque τ̂hip to balance the upper body based on the trunk
pitch angle and its velocity. The activity signal of this reflex is derived from the output
torque, but is then scaled by the normalized ground contact value F̂z ∈ [0, 1] measured by
the force sensors:
a = ι · |τ̂hip | · F̂z
(6.4)
124
6. Implementation of Bipedal Walking Control
This ensures that the activity decreases with the load on the stance leg as torque applied
to the hip joint can only act on the upper body if the leg is firmly connected to the ground.
The multiplication by the reflex activation ι corresponds to the iB2C principle stating that
the activity of a behavior must never exceed it activation. As activity signals are used to
stimulate other behaviors, this principle guarantees a limitation of the activity throughout
the behavior network.
This principle is also obeyed by the activity calculation of the motion phase control
units. As described in Chapter 4, these units are responsible for stimulating the motor
patterns and reflexes being active during the respective phase of motion, and for setting
the compliance and equilibrium points of the passive joints. As just described, setting
the stiffness of a joint corresponds to the appropriate stimulation of the associated fusion
behavior. Thus stimulating a reflex or motor pattern and setting a joint compliance
functions by the same mechanism. Consequentely it is possible to implement all motion
phases as instance of the same behavior class called mbbStimulationBehavior. Each
behavior or joint k controlled by the motion phase is registered by passing a stimulation
factor fs,k along with a possible modulation value or equilibrium point. The activity of
the motion phase itself is simply set to its activation (a = ι), but the stimulation signal ak
used for the controlled units is calculated as
ak = a · fs,k .
(6.5)
By setting fs,k of a passive joint to zero, it is allowed to move freely during the motion
phase, only the passive elastic element and external forces will influence its action. A
factor fs,k > 0 results in compliant joint behavior around its equilibrium point. Setting
fs,k of a motor pattern or reflex to a value smaller than one will restrict its influence in the
control network during this motion phase. The actual compliance for each joint during all
motion phases of walking will be given in Chapter 8 when discussing passive joint action
during normal walking.
The target ratings of the control units do not play as crucial a role as their activity. Still,
an analysis of the target rating can be used during implementation and testing to better
understand the working of the behaviors in a given situation. For this purpose, the target
rating should have a meaningful value representing the contentment of the behavior. To
continue the above example of the postural reflex Upright Trunk, its target rating r is
given as
r = min(1, |φ − φtarget |)
(6.6)
with φ being the current body pitch angle in radians and φtarget the target pitch angle
depending on the desired walking velocity. This kind of target rating calculation allows to
interpret the state of the robot regarding the goal of an individual control unit.
A further use of the target rating is its application as pre-processed sensor value. This
method can reduce the extend of sensor information that must be passed to higher control
levels. An example for this kind of usage will be given below, where the target rating
of the Lock Knee reflex serves as indication for switching the state of the cyclic walking
spinal pattern generator.
7. Balanced Standing Experiments
Before discussing the performance of the implemented control system during dynamic
walking, this chapter will present its capability for stable standing [Steiner 08]. Several
experiments will demonstrate different aspects of the control introduced in Section 5.3.
The adaptation to different ground geometries becomes apparent when letting the robot
fall on inclined terrain or steps. The control of joint stiffness can be observed by applying
external forces to body segments during standing or by moving the platform the robot
is standing on. Posture optimization takes place after ground contact, when tilting the
ground platform, or in case the robots mass distribution changes, e. g. by adding weight to
a backpack mounted on the robot. Some of these experiments are inspired by studies on
human postural control.
The setup used for the following experiments is composed of the robot standing on or
falling on a square plate with an edge length of 1 m. The plate can be moved along and
rotated about all three axis to apply disturbances. Additionally, arbitrary forces can be
deployed to individual body segments. Sequences of platform motions or external forces
can be programmed and executed automatically to generate repeatable runs.
7.1
Adaptation to the Ground Geometry
In order to test the ground adaptation capabilities of the standing control, the robot
is dropped from a height of about 20 cm on different ground geometries as exemplified
in Figure 7.1. The actual shape of the terrain is unknown to the control system. The
adaptation relies on the initially moderate compliance in most joints and on the high
compliance of the ankle joints. This strategy enables a passive matching to the ground
geometry. Then, high joint stiffness is used to stabilize the posture.
Figure 7.2 illustrates the control behavior during a drop on sloped ground. The platform
the robot is landing on is inclined by 6◦ about the y-axis. In fact, the robot remains stable
at inclinations of up to 30◦ , but the parallel springs of the ankle joints act with increasing
torque and the joint relaxing phase cannot be observed anymore.
While still in the air, the spinal pattern generator for stable standing stimulates the first
phase called Ground Adaptation. The local Hold Position reflexes are stimulated, but the
126
7. Balanced Standing Experiments
(a)
(b)
(c)
(d)
Figure 7.1: Experiment on ground geometry adaptation. The robot is dropped from about
20 cm height on sloped ground with both feet (a,b) and on a step with just the toes of one foot
(c,d), then the posture is stabilized.
stiffness modulation factor is zero. The activity of the reflexes is medium for most joints
and near zero for the ankle joints as shown on the lower right side of the figure. As the
reflexes connect to the position fusion nodes, their activity is interpreted as joint stiffness,
resulting in compliant ankles.
At point in time t1 the robot touches the ground, easily recognizable by the force peak in
z-direction measured by the ankle load cells. In the short time interval until full contact,
the joints passively adapt to the ground shape, with the major adaptation taking place
in the ankle joint. As seen in the lower left plot, the ankle compensates for most of the
6◦ of ground inclination. With full foot contact at t2 , the standing spg switches to the
stabilization phase. The stiffness factor increases to one in order to brace the joints at
their current angles. With the raising activity of the Hold Position reflexes, the position
control stabilizes the joint angles.
As the taken stance is relatively steady, i. e. no strong accelerations are measured, the
spg directly moves on to the next phase trying to optimize the posture. This phase
will be described in detail below, but Figure 7.2 exemplary shows the activity of the
postural reflex Relax Spine Y to clarify the processes during stable standing. The posture
optimization causes minor joint movements resulting in accelerations recorded by the
inertial measurement unit (imu). As soon as the joint torques have reached a lower
threshold at t3 , the Relaxed Posture phase is entered. The stiffness factor is reduced,
resulting in lower activity of the Hold Position reflexes and thus in higher joint compliance.
7.2
External Forces and Platform Movements
The stabilization phase of the standing control mainly relies on passing favorable joint
position and high stiffness values to the joint controllers. This results in a stance stabilization similar to the human ankle strategy. Two kind of experiments will validate the
2.0
1.0
0.0
3.0
4.0
Relax Spine Y a
2.0
0.2
1.0
2.0
3.0
4.0
2.0
1.0
0.0
−1.0
2.0
3.0
4.0
Hold Pos. Hip Y a
1.0
5.0
4.0
3.0
2.0
0.0
1.0
2.0
3.0
4.0
7.0
6.0
5.0
4.0
0.0
1.0
2.0
3.0
4.0
0.0
−2.0
−4.0
−6.0
0.0
Hold Pos. Spine Y a
0.0
0.0
Hold Pos. Knee a
Hip Y Angle [◦ ]
Knee Angle [◦ ]
1.0
0.4
0.0
Ankle Y Angle [◦ ]
t1 t 2
3.0
0.0
127
t3
Stiffness Factor
t 1 t2
1.0
2.0
Time [s]
3.0
4.0
Hold Pos. Ankle Y a
Spine Y Angle [◦ ]
Acceleration [m/s2 ]
Loadcell Force Z [kN]
7.2. External Forces and Platform Movements
t3
1.0
0.5
0.0
0.0
1.0
2.0
3.0
4.0
1.0
2.0
3.0
4.0
1.0
2.0
3.0
4.0
1.0
2.0
3.0
4.0
1.0
2.0
3.0
4.0
1.0
2.0
Time [s]
3.0
4.0
1.0
0.5
0.0
0.0
1.0
0.5
0.0
0.0
1.0
0.5
0.0
0.0
1.0
0.5
0.0
0.0
1.0
0.5
0.0
0.0
Figure 7.2: Experiment on ground geometry adaptation. t1 : ground contact, t2 : full contact,
t3 : joint relaxation.
128
7. Balanced Standing Experiments
Figure 7.3: Experiment on stabilization against external forces. A force of 100 N in direction of
the x-axis is applied to the head for 300 ms. The arrow above the head indicates the acceleration
measured by the imu.
performance of this part of the control system. External forces are applied to different
segments of the robot, and the platform it is standing on is moved horizontally. Both
of these setups can frequently be found in studies on human balancing capabilities. The
following analysis is limited to movements in the frontal plane. Lateral disturbances can
be compensated more easily as the feet are placed side by side in normal stance.
Figure 7.3 shows the setup during the application of an external force to the head segment.
Beginning with a quiet stance, the force is pushing the robot forward. The resulting
acceleration is visualized by the arrow above the robot’s head. The low compliance of the
joints in the stabilization phase only allows for small joint movements before the robot is
moving back to a stable posture.
The results of a run applying an external force of 100 N in x-direction to the head segment
for 300 ms are shown in Figure 7.4. The gray bar starting at t = 0.65 sec is indicating
the time span during which the force is effective. The impact of the force is clearly
demonstrated by the acceleration in x-direction measured by the imu, or by the change of
the pitch angle of the torso as it is leaning forward.
Before the external force is applied, the robot is standing in a relaxed posture and the
spg is stimulating the fourth motion phase. This results in a low stiffness factor and
moderately compliant joints. As soon as the disturbance is measured by the imu, the spg
switches to the stabilization phase. The stiffness factor is pulled up and the compliance
of the joint position control is reduced. The center of pressure moves to the front of the
feet as the maximum leverage is applied to move the body back into an upright position.
The plot marked “CoP Position” in Figure 7.4 indicates the movement of the center of
pressure. Being based on the four force measurement in each foot, a value of 1 denotes
that all vertical force is shifted to the front of the foot, at a value of −1 it is located at
the heels. A cop position of zero will occur if the center of pressure lies below the ankle
joint, i. e. in case the system is statically balanced.
Analysis of the arising torques of the spine, hip, knee, and ankle joints reveals the reaction
of the joint controllers to the disturbance. As soon as the external force deflects the trunk,
an opposite torque can be observed. The reaction is propagated with a small delay to the
Stiffness Factor
5
0
−5
Hip Y Torque [Nm]
2.0
4.0
6.0
CoP Position
10
0
−10
0.0
2.0
4.0
6.0
Knee Torque [Nm]
Spine Y Torque [Nm]
Torso Pitch [◦ ]
0.0
50
0
−50
0.0
2.0
4.0
6.0
50
0
−50
0.0
2.0
4.0
6.0
Ankle Y Torque [Nm]
Accel. X [m/s2 ]
7.2. External Forces and Platform Movements
129
1.0
0.5
0.0
0.0
2.0
4.0
6.0
2.0
4.0
6.0
2.0
4.0
6.0
4.0
6.0
1.0
0.0
−1.0
0.0
50
0
−50
0.0
50
0
−50
0.0
2.0
Time [s]
Time [s]
Figure 7.4: Experiment on stabilization against external forces. The gray bar marks the time
interval of 300 ms during which an external force of 100 N is pulling the head segment forwards.
Experiment
Force [N] Time [ms]
Torque [Nm]
spine y hip y knee ankle y
Acceleration
x-axis [m/s2 ]
1000
100
50
25
25
300
600
∞
160
57
38
24
82
30
22
14
68
37
30
23
64
50
46
40
75.0
7.6
4.1
2.0
−750
−70
−40
−25
25
300
600
∞
−130
−39
−30
−23
−62
−22
−17
−14
−61
−32
−30
−28
−45
−35
−34
−34
−57.0
−5.0
−2.9
−2.0
Table 7.1: Experiment on stabilization against external forces. The columns give the maximum
forces and the resulting accelerations at which the robot does still keep standing.
130
7. Balanced Standing Experiments
Figure 7.5: Major muscle activity of human subjects during movements of the supporting
platform. From [Ting 07], p302.
joints more distant to the disturbance. The external force pulling at the head segment
results in the robot standing solely on its toes. During this timespan, the lower joints have
to support a larger amount of the machine’s weight, consequently the torque in the ankle
joints is higher than in the other joints. The robot then shifts back and is again supported
by the whole foot. After only a short oscillation, the posture is stabilized and the joint
torques fall back to a low value.
The control system can only handle disturbances up to a certain threshold. If the intensity
of the external force is increased, the timespan for which this force may act without
the robot falling down decreases, and vice versa. Table 7.1 lists some of these limits.
The first two columns give the force value and the interval during which the force was
applied. A negative force indicates that the head segment was pulled backwards. Small
disturbances can be compensated continuously. The remaining columns list the resulting
maximum torques and the maximum acceleration in x-direction measured during the
corresponding experiment. As expected, stronger forces result in higher torques and
accelerations. Disturbances pushing the robot backwards must not be as intense due to
the shorter leverage of the foot on the heel side. Applying the force to other segments
yields similar results. When pulling or pushing the pelvis segment, the sign of the spine
torque changes because of the mass inertia of the upper body.
A further series of experiments analyzes the control behavior at linear movements of the
platform the robot is standing on. Similar to the studies on human subjects by Ting et al.
(Figure 7.5), the platform is moved by about 12 cm with a gradual acceleration in forward
and backward direction [Ting 07].
Figure 7.6 illustrates the reaction of the control system to a 12 cm platform movement in
forward direction accelerating to a maximum velocity of 0.25 m/s. The upper row outlines
the platform motion, the gray bar denotes the time interval during which the platform
is moving. The robot’s behavior basically resembles the one of the previously described
experiments. As soon as the disturbance is perceived by the acceleration sensor, the joint
0.2
0.1
3.0
4.0
0
−5
1.0
2.0
3.0
4.0
CoP Position
5
0
−5
1.0
2.0
3.0
4.0
Knee Torque [Nm]
Torso Pitch [◦ ]
2.0
5
0.0
Spine Y Torque [Nm]
1.0
Stiffness Factor
0.0
0.0
0.0
Hip Y Torque [Nm]
Platform Pos. [m]
0.3
50
0
−50
0.0
1.0
2.0
3.0
4.0
50
0
−50
0.0
1.0
2.0
Time [s]
3.0
4.0
Ankle Y Torque [Nm]
Accel. X [m/s2 ]
Platform Vel. [m/s]
7.2. External Forces and Platform Movements
131
0.15
0.10
0.05
0.00
0.0
1.0
2.0
3.0
4.0
1.0
2.0
3.0
4.0
1.0
2.0
3.0
4.0
1.0
2.0
3.0
4.0
1.0
2.0
Time [s]
3.0
4.0
1.0
0.5
0.0
0.0
1.0
0.0
−1.0
0.0
50
0
−50
0.0
50
0
−50
0.0
Figure 7.6: Experiment on stabilization against platform movement. The gray bar marks the
time interval during which the platform is moving for 12 cm at a maximum velocity of 0.25 m/s.
stiffness is raised to stabilize the posture. While the upper body sways backwards due
to the platform acceleration, the center of pressure completely moves to the heel side
of the feet. As the body swings forwards again during platform deceleration, the center
of pressure moves to the toe and then levels out at its equilibrium point as the robot
stabilizes.
The joint torques correspond to the muscle activities observed by Ting in her experiments
with human subjects (Figure 7.5). The main work is done by the tibialis anterior which
132
7. Balanced Standing Experiments
Max. platform
velocity [m/s]
Torque [Nm]
spine y hip y knee ankle y
Acceleration
x-axis [m/s2 ]
2.0
1.0
0.5
0.25
−110
−75
−24
−19
−60
−45
−15
−12
−65
−54
−31
−30
−46
−44
−35
−35
16.0
11.0
3.1
2.6
−2.0
−1.0
−0.5
−0.25
115
80
33
22
62
45
20
14
62
50
30
24
60
55
45
42
−16.0
−11.0
−4.2
−3.0
Table 7.2: Experiment on stabilization against forward and backward platform movement. The
first column states the maximum platform velocity during a displacement of 12 cm. The following
columns list the maximum torques and x-acceleration during the respective experiment.
is active throughout the disturbances. Similarly, Figure 7.6 shows the prominent torque
of the ankle joint lasting until the robot sways forward due to platform deceleration.
As in human subjects, the reaction of the distal muscles respectively joint actuators is
increasingly delayed with the distance to the ankle joint. The knee, hip, and spine joints
apply a torque to prevent the body from bending backwards. A likewise reaction can be
observed in the activity of the quadriceps and abdominal muscles.
Human subjects manage to compensate the disturbance with less sway of the upper
trunk. As the center of mass displacement shown in Figure 7.5 illustrates, the body stays
in a backward position and slowly moves back to an upright pose after the platform
movement stops. The pitch angle of the robot’s torso visualizes the slight overreaction
of the joint controllers due to strong movements of body masses. This also leads to the
change of direction in joint torques after the platform motion, a reaction not visible in
the corresponding muscles of human subjects. A less aggressively tuned controller would
reduce the body sway, but would also decrease the maximum platform velocities that can
still be stabilized. Furthermore, the experiment just described pushes the control systems
to its limits. Slower platform movements result in considerably less overshooting of the
upper body.
After the robot has stabilized its posture again, the joint torques and the measured
accelerations decline. As the remaining torques rest within the limits being accepted as
optimized posture, the standing control system switches back to the relaxed posture phase
and slowly decreases the joint stiffness.
As in the previous experiment, a series of runs with different disturbance intensities has been
performed. Table 7.2 lists the torques and accelerations occurring at forward and backward
platform movement of different velocities. At the evaluated platform displacement of
12 cm, the maximum forward velocity the robot can still compensate is about 2.0 m/s, the
maximum backward velocity about 2.5 m/s. The difference stems from the longer foot
leverage in toe direction, as most stabilization origins from ankle torque. With decreasing
platform velocity, the observed ankle torque is only slightly reduced, whereas the reaction
of the more distal joints strongly declines. This behavior can be explained by the fact
that stronger platform motions induce greater displacement of the center of mass. This
7.3. Posture Optimization
133
again results in greater body pitch angles and thereby in higher torque requirements for
the joints closer to the center of mass.
7.3
Posture Optimization
A last series of experiments shall illustrate the behavior of the posture optimization control
units. To this end, two different types of disturbances are applied to the robot: on the one
hand, the platform the robot is standing on is rotated about the y-axis, on the other hand
the robot is equipped with a backpack of changing weight. In both cases, the robot starts
with an already optimized posture and has to adapt to the changing situation.
Figure 7.7 shows the control behavior during a modification of the support surface. The
platform the robot is standing on rotates at an angular velocity of 1.15 ◦/s about the y-axis,
i. e. it tilts forward. The rotation is stopped after three seconds at an angle of about 3◦ ;
the time interval of the platform motion is marked by the gray bar. As the accelerations
remain below the threshold for switching to the stabilization motion phase, the angle
adjustments control units are continuously stimulated. The units only show activity if the
robot is standing still, stronger motions induced by their own adjustments result in short
intervals of inactivity. The two Relax Joint reflexes plotted in the figure try to reduce the
torque acting in the corresponding joint, whereas the Balance Ankle Pitch reflex tries to
keep the relative cop position shown in the upper right at its equilibrium point below the
ankle joint. All three control units adjust the posture by passing an angle change rate to
the appropriate Hold Position reflex.
It can be observed that most of the change in angle and the highest reflex activity is
accomplished in the ankle joint, compensating most of the rotation of the supporting
platform. Additional adaptation is done in the hip and spine joints, the angle of the
knee joint remains constant. In contrast to what could be expected, the sum of angle
adjustments exceeds the amount of platform rotation. The posture assumed after the
optimization is slightly shifted to the back. But actually, this posture is superior to the
one with an upright trunk, as the rotation of the platform and thereby the rotation of the
ankle joint shifts the cop in direction of the toes. This reduces the stability margin in
forward direction and can be compensated by the observed backward recline.
The second experiment on posture optimization deals with different weight distributions of
the robot itself. For this purpose, a virtual backpack is mounted to the torso of the robot.
The weight of the backpack can be changed at random. Figure 7.8 depicts the setup of
the experiments and shows the final postures after increasing backpack weight to 5, 10,
and 15 kg. Figure 7.9 illustrates the control behavior with increasing backpack weight up
to 20 kg in step of 5 kg.
The postural reflexes are parametrized identically to the previously described experiment.
Nonetheless the adapted posture differs significantly. Instead of compensating the disturbance mainly by change of angle in the ankle, the spine and hip joint show the strongest
adjustments. The reason for this can be found in the optimization objective to minimize
joint torques. Compensating the additional backpack weight purely by changing the ankle
joint to regain equilibrium while keeping the body rigid would maintain considerable
torques in spine and hip. The final posture at a backpack weight of 20 kg results in a torso
pitch of approximately 13◦ , a fact also visible in the raw acceleration values in x-direction
which increasingly includes a gravitational component.
7. Balanced Standing Experiments
2.0
1.0
0.0
Accel. X [m/s2 ]
−2.0
8.0
12.0
Relax Spine Y a
4.0
4.0
2.0
0.0
4.0
8.0
12.0
Relax Hip Y a
Spine Y Angle [◦ ]
12.0
0.0
0.0
Hip Y Angle [◦ ]
8.0
2.0
0.0
0.0
−2.0
−4.0
0.0
Ankle Y Angle [◦ ]
4.0
4.0
8.0
12.0
Bal. Ankle Pitch a
Torso Pitch [◦ ]
0.0
2.0
0.0
−2.0
0.0
Hip Y Torque [Nm]
CoP Position
3.0
4.0
8.0
12.0
Spine Y Tor. [Nm]
Platform Rot. [◦ ]
134
10.0
5.0
0.0
−5.0
0.0
4.0
8.0
Time [s]
12.0
1.0
0.0
−1.0
0.0
4.0
8.0
12.0
4.0
8.0
12.0
4.0
8.0
12.0
4.0
8.0
12.0
4.0
8.0
12.0
4.0
8.0
12.0
1.0
0.0
−1.0
0.0
1.0
0.5
0.0
0.0
1.0
0.5
0.0
0.0
1.0
0.5
0.0
0.0
10.0
5.0
0.0
−5.0
0.0
Time [s]
Figure 7.7: Experiment on posture optimization during platform rotation. The gray bar marks
the duration of the platform motion. The angular velocity of the platform rotation is 1.15 ◦/s.
7.3. Posture Optimization
135
Figure 7.8: Experiment on posture optimization while changing weight distribution by different
weights of a backpack.
As illustrated in Figure 7.9, the posture adaptation is generated by reflex activity appearing
as soon as the backpack weight is increased. The activity abates as the robot approaches
a balanced posture. Indeed, the necessary torque in the spine and the hip cannot be
completely eliminated, but only a small amount of a few Nm remains. The cop position is
shifted back to zero by respective adjustment of the ankle joint, thus bringing the robot
back to equilibrium.
The experiment has been continued with increasing backpack weight. Starting at a weight
of about 30 kg the postural reflexes cannot fully stabilize the posture any longer. The
robot starts to sway. At a backpack load of about 70 kg, i. e. nearly the weight of the
whole robot, standing cannot be sustain and the robot falls over.
It should again be noted that the posture adaptation relies purely on local reflexes acting
at a balanced rate of change. The optimization process does neither require a whole body
model nor a global assessment of the posture. As a drawback, the suggested method might
stabilize in a local minimum and takes relatively long to reach it as a static posture is
assumed. Too fast changes would induce dynamics distorting the measured joint torques
that are evaluated for postural corrections. The method also depends on equal rates of
adaptation of all reflexes involved to reduce oscillation and to facilitate the stabilization of
the process. In return, it allows to cope with different and unforeseen kinds of disturbances
in a robust and intuitive way.
Comparing the robot’s postures after optimization with those assumed by human subjects
in similar situations, a strong resemblance can be observed. This might justify the
conclusion that humans use analog, local strategies focused on necessary muscle work while
optimizing their posture against static disturbances like ground variations or additional
weight attached to the body.
7. Balanced Standing Experiments
10
0
Accel. X [m/s2 ]
5
0
10.0
15.0
0
−5
−10
5.0
10.0
15.0
0
−5
−10
0.0
5.0
10.0
15.0
0
−5
−10
0.0
5.0
10.0
15.0
0
−10
−20
0.0
5.0
10.0
Time [s]
15.0
1.0
0.0
−1.0
0.0
5.0
10.0
15.0
5.0
10.0
15.0
5.0
10.0
15.0
5.0
10.0
15.0
5.0
10.0
15.0
10.0
15.0
0.0
−1.0
−2.0
0.0
Relax Spine Y a
5.0
Relax Hip Y a
Spine Y Angle [◦ ]
15.0
10
0.0
Hip Y Angle [◦ ]
10.0
15
0.0
Ankle Y Angle [◦ ]
5.0
Bal. Ankle Pitch a
Torso Pitch [◦ ]
0.0
Hip Y Torque [Nm]
CoP Position
20
Spine Y Tor. [Nm]
Backp. Weight [kg]
136
1.0
0.5
0.0
0.0
1.0
0.5
0.0
0.0
1.0
0.5
0.0
0.0
0
−10
−20
0.0
5.0
Time [s]
Figure 7.9: Experiment on posture optimization while changing weight distribution by different
weights of a backpack. The dashed lines mark the changes of weight ranging from 0 to 20 kg.
8. Dynamic Walking Experiments
To evaluate the performance of the suggested control concept for dynamic walking, experiments have been performed in the test environment as presented in Chapter 6 and
Appendix B. Normal walking on flat ground is analyzed in depth, and the robustness of the
control system is examined by changing the ground geometry or by applying other external
disturbances. Throughout all experimental runs, the same set of control parameters is
used, and no adaptations are made to handle any particular situation.
8.1
Normal Walking
The first part of this chapter focuses on normal walking on even terrain without the presence
of external disturbances. It gives a detailed evaluation of the internal mechanisms of the
control system and the interaction of the control units. A kinematic analysis reveals the
emerging joint trajectories and the absolute movements of the robot’s segments, allowing
to conclude on gait parameters like the walking velocity or the step length. Studying the
kinetic results gives insights into the necessary joint torques or the ground reaction forces
occurring during a gait cycle, and allows to estimate locomotion efficiency. Comparison
to both kinematic and kinetic data of human walking can expose differences as well as
similarities suggesting common control strategies. Appendix B includes an image series of
one gait cycle of normal walking on level ground recorded in the simulation framework.
8.1.1
Locomotion Modes
The highest level of the biped control system is composed of the locomotion modes. During
walking initiation, the interplay of these behaviors is essential to allow for a fast and
smooth start of walking. This task is managed by the Walking control unit.
Figure 8.1 illustrates this process by plotting the flow of activity between the involved
behaviors. The Standing mode is stimulated and active by default. The stimulation of the
Walking locomotion mode as initiated by the operator is marked by the dotted, vertical
line. The walking mode directly stimulates the Walking Initiation mode. During this first
part of walking, both the standing and the initiation behaviors are active. The compliant
138
8. Dynamic Walking Experiments
1.0
2.0
1.0
0.5
0.0
0.0
1.0
2.0
1.0
0.5
0.0
0.0
1.0
Time [s]
2.0
0.5
0.0
0.0
Walking Init. a
Cyclic Walking a
Walking a
0.5
0.0
0.0
Left Foot Load
1.0
Right Foot Load
Standing a
1.0
1.0
2.0
1.0
2.0
1.0
Time [s]
2.0
1.0
0.5
0.0
0.0
1.0
0.5
0.0
0.0
Figure 8.1: Activity of the locomotion modes and normalized foot load. The dashed line marks
the beginning of walking stimulation initiated by the operator.
joint settings of the current standing posture are superimposed with the torque commands
of the motor patterns stimulated by the initiation control unit.
In a next step, the cyclic walking behavior is stimulated. Its activity is passed as inhibiting
signal to the standing behavior, thus terminating its activity and giving full control to
the walking behavior. At a time of 1.0 sec in Figure 8.1, the flow of activity between
standing and cyclic walking can be observed. It takes only about 0.6 sec from stimulating
the walking behavior to the activity of cyclic walking. During this first moments of cyclic
walking, walking initiation is still active as some joints require different compliance during
the first step compared to later steps of normal walking. Only when the first swing leg
takes off, the stimulation of the walking initiation behavior is pulled down.
The actual points in time when the walking behavior changes the stimulation of its two
sub-modes are determined by evaluating the load of the prospective stance and swing
leg as depicted by the lower two plots of Figure 8.1. Algorithm 8.1 details this decision
making. The target rating of the initiation behavior indicates its contentment as the load
of the swing leg falls below the load of the stance leg and is passed as sensor information
to the walking locomotion mode. The latter behavior uses this load comparison to decide
when to stimulate cyclic walking and when to reduce the stimulation of walking initiation.
The first switch is done as soon as the load of the swing leg is sufficiently below the one
of the stance leg (t = 1.0 sec in Figure 8.1). Walking initiation is fully terminated when
there is no more load at all on the swing leg (t = 1.15 sec).
8.1. Normal Walking
139
Algorithm 8.1: Stimulation calculation of Walking Initiation and Cyclic Walking
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
calculate value for load comparison (target rating of Walking Initiation):
if load swing leg ≤ 0 then
load comparison = 0
end
else if load stance leg ≤ 0 or load swing leg > load stance leg then
load comparison = 1
end
else
load comparison = load swing leg/load stance leg
end
calculate walking mode stimulation within locomotion mode Walking:
if load comparison ≤ 0.8 then
stimulate Cyclic Walking
end
if Cyclic Walking stimulated and load comparison = 0 then
reduce stimulation of Walking Initiation
end
8.1.2
Switching Walking Phases
Following the walking initiation, the control system switches to cyclic locomotion. As
described in Section 5.4.3, cyclic walking is composed of five consecutive motion phases.
The responsible spinal pattern generator (spg) manages the phase sequence and stimulates
the respective motion phase control units for the left and right body side.
Figure 8.2 illustrates the sequence of phases for the first 18 seconds of normal walking
by plotting the left and right states of the walking spg. The dashed, vertical line marks
the beginning of activity of the Cyclic Walking control unit. As the left leg is to take the
first step, the spg starts by stimulating the fourth phase of this body side. The opposite
side begins with the corresponding phase one. From then on, the sequence of walking
phases complies with the order prescribed by the spg. Exemplary, the figure also plots the
activity of the second walking phase of the right body side. These individual behaviors
are stimulated by the spg according to its current state.
To further explain the mechanisms during phase transitions, Figure 8.3 enlarges seconds
two and three of the previous figure. The upper plot now contains the walking phases of
both the left and right body side. The phase transitions are marked by the thin, vertical
lines. In this representation, the bilateral synchronization of both sides can clearly be
identified. This corresponds to the observations by Ivanenko et al. during their emg
analysis of normal walking of human subjects.
In the control system described here, this bilateral synchronization is achieved by switching
the left and right motion phases on the basis of the same sensor events. Those events
responsible for the phase transitions are tagged by the thick vertical lines in the lower four
plots in Figure 8.3. The second and third row show the measurements of the four force
sensors mounted in each foot. The solid lines represent the inner and outer toe sensors,
the dashed lines those two sensors mounted in the heel. Plots four and five of the figure
depict the knee angles of both legs.
Left Phase
140
8. Dynamic Walking Experiments
5
4
3
2
1
Right Phase
0.0
4.0
6.0
8.0
10.0
12.0
14.0
16.0
18.0
2.0
4.0
6.0
8.0
10.0
12.0
14.0
16.0
18.0
2.0
4.0
6.0
8.0
10.0
Time [s]
12.0
14.0
16.0
18.0
5
4
3
2
1
0.0
Right Phase 2 a
2.0
1.0
0.5
0.0
0.0
Figure 8.2: Motion phases of the left and the right body side during normal walking. The
lower plot exemplifies the activity of an individual motion phase stimulated by the spg, in this
case the right Walking Phase 2.
The transition from phase one to phase two of the stance leg and from phase four to five
of the swing leg is triggered by the lock knee event. It is based on the knee angle of the
swing leg. During the swing motion, the knee passively bends due to mass inertia and then
extends again as the hip joint decelerates. As soon as the leg is stretched, the heel strike
is expected, and the spg switches to the next phase. Three of these events are marked in
the knee angle plots of the figure.
The next phase transition takes place after the heel strike is finished and the foot has made
full contact with the ground. This fact can be extracted from the force measurements
by the four sensors attached in the corners of each foot. As shown in the figure, first the
heel sensors represented by the dashed lines detect contact with the ground. As soon as
the toe sensors depicted as solid lines also touch down, the phase transition is triggered.
The small gap between the actual full contact shown in the plot and the phase switch can
be explained by two facts: First, a certain threshold must be exceeded before contact is
confirmed. Secondly, the control system’s cycle time of 25 ms results in a sampling rate of
40 Hz clearly being visible in the zoom level of this figure.
The final phase transition event is also based on the force sensors of the feet. Phase four
starts as soon as the load on the prospective swing leg falls below a threshold of about
150 N. The force plots in the figure illustrate the fact that first the heel of the foot leaves
the ground. The Leg Propel motor pattern generates the plantarflexion of the foot, thus
pushing the toe sensors towards the ground to support the forward motion of the robot.
Walking Phases
8.1. Normal Walking
5
3
2
Left Foot Forces [N]
Right Foot Forces [N]
left
1
2.5
3.0
3.5
4.0
2.5
3.0
3.5
4.0
2.5
3.0
3.5
4.0
2.5
3.0
3.5
4.0
2.5
3.0
Time [s]
3.5
4.0
400
200
0
2.0
Left Knee Angle [◦ ]
right
4
2.0
Right Knee Angle [◦ ]
141
400
200
0
2.0
60
40
20
0
2.0
60
40
20
0
2.0
Figure 8.3: Transitions of motion phases are triggered by three events toe off, full contact, and
locked knee. Thick vertical lines mark the decisive events in the respective plots. Solid lines in
foot force plots represent the inner and outer toe forces, dashed lines those of the heel sensors.
142
8. Dynamic Walking Experiments
When this torque pattern subsides and the Active Hip Swing motor pattern indirectly
initiates the knee bending, the load is taken from the toe sensors and the phase transition
will take place.
8.1.3
Behavioral Activity
With each state transition of the walking spg, the stimulation proceeds from one motion
phase to the next. Each motion phase in then responsible for stimulating those reflexes
and motor patterns that should be active during this part of the walking cycle. This
section illustrates the flow of stimulation and activity to clarify the behavioral interaction.
8.1.3.1
Motor Pattern Activity
Motor patterns act as the feed-forward control units of the control system. Therefore their
activity only depends on their activation ι and not on any sensor information. Figure 8.4
shows the activation and the activity of all participating motor patterns during the same
run of normal walking as used in the previous plots. The first row of the figure depicts
the walking phases of the selected 2.5 sec interval, the thin vertical lines mark the phase
transitions. The shaded plots in the remaining rows represent the behavior activation ι, the
solid lines stand for their activity a. Motion phases always fully stimulate the respective
motor patterns by a value of s = 1.
The Arm Swing motor patterns are stimulated in phases three and four to correspond to
the leg swing. Since the pattern generates a backward torque impulse of the ipsilateral
and a forward impulse for the contralateral arm, the left pattern is activated during the
left leg swing and vice versa. As soon as the control unit is activated, it starts its activity
corresponding to equation 6.3 as discussed in Section 6.2.2. The behavior is stimulated
long enough for the pattern to finish, and no inhibition interrupts is progress.
The Initiate Swing motor pattern is stimulated from phase three onwards. Hence its
pattern generation is started as soon as the foot load is low enough. Otherwise the high
friction between the foot and the ground would not allow the foot to lift, and the hip
torque would induce a rotation of the robot about the z-axis as well as a forward bending
of the hip and the upper body. Due to the inhibition of the motor pattern by the activity
of the Lock Hip reflex, the activation ι = s · (1 − i) of the behavior can be reduced despite
the fact that it is still stimulated by the motion phase. The step-like progress of the
activation plots in the figure must be accounted for by the control cycle frequency of 40 Hz.
As the activity of a behavior must not exceed its activation, the motor pattern generation
is suppressed.
During motion phases two and three, the Leg Propel motor pattern is stimulated. As no
inhibition signal is connected to the behavior, its activation lasts until the stimulation is
terminated. Similar to the Initiate Swing control unit, the pattern is suppressed if the
activation decreases before the pattern is completed. This behavior makes perfect sense as
the control unit should not continue the plantarflexion after lift-off, but should still propel
the body forward in case the stance phase is prolonged.
Finally, the Weight Acceptance motor pattern shows an exception in its activity calculation.
As it needs full influence on the knee angle just before and during heel strike, the activity
is set to the full value of activation. In doing so, the knee can be bent right before heel
Right Weight
Accept. ι, a
Left Weight
Accept. ι, a
Right Leg
Propel ι, a
Left Leg
Propel ι, a
Right Init.
Swing ι, a
Left Init.
Swing ι, a
Right Arm
Swing ι, a
Left Arm
Swing ι, a
Walking
Phases
8.1. Normal Walking
5
4
3
2
1
2.0
1
143
right
left
2.5
3.0
3.5
4.0
4.5
0
2.0
1
2.5
3.0
3.5
4.0
4.5
0
2.0
1
2.5
3.0
3.5
4.0
4.5
0
2.0
1
2.5
3.0
3.5
4.0
4.5
0
2.0
1
2.5
3.0
3.5
4.0
4.5
0
2.0
1
2.5
3.0
3.5
4.0
4.5
0
2.0
1
2.5
3.0
3.5
4.0
4.5
0
2.0
1
2.5
3.0
3.5
4.0
4.5
2.5
3.0
3.5
4.0
4.5
0
2.0
Time [s]
Figure 8.4: Activation ι and activity a of the motor patterns during normal walking. The
shaded plots represent the activation of the behaviors.
144
8. Dynamic Walking Experiments
strike to reduce the impact, and its angle can be controlled during the first part of the
stance phase to achieve the semi-flat walking gait. The actual torques generated during
this phase will be discussed below.
8.1.3.2
Reflex Activity
Unlike motor patterns, reflexes are feedback control units. Consequently, their activity
raises due to sensor information. But like all iB2C behaviors, they must be stimulated to
enable any activity. Figure 8.5 shows the activation and activity of relevant local reflexes
during normal walking. Again, the figure is based on the same data as the previous plots.
The Lock Knee reflex has been omitted as it only shows minor activity at the end of phase
four to dampen the knee swing. Otherwise, it mainly serves as sensor pre-processor for
the walking spg as its target rating indicates when the knee is stretched again at the end
of the swing phase.
The Lock Hip reflex is responsible for controlling the hip joint at the end of the leg swing.
Its activity rises as the hip angle about the y-axis approaches its target position. With
increasing activity, the dampening force is applied to the joint to slow down the leg swing.
Then the hip position is retained by passing the target angle to the position control. The
high activity value provides for the necessary joint stiffness. During heel strike, the reflex
is still stimulated and continues to be active. Thereby the upper body is stabilized against
its forward momentum during foot impact.
To keep the pelvis from rotating about the hip joint’s x-axis, the Stabilize Pelvis reflex
is stimulated during phases one and two, i. e. during the part of the stance phase when
most of the body weight is supported. The reflex’s activity is based on the foot load of the
supporting leg. As can be seen in Figure 8.5, the activity mostly parallels the activation of
the behavior. Only towards the end of phase two, the activity declines with the load of the
support foot due to the touchdown of the contralateral foot. Small notches in the activity
can appear when some amount of the body weight is supported by the contralateral leg,
e. g. caused by a dragging of the foot or excessive leg propulsion. The figure also illustrates
how the left and right sided instances of the reflex alternate in stabilizing the pelvis.
The activity of the local reflex Heel Strike is based in the force information of the two
load sensors mounted at the back of each foot. As soon as heel contact is measured, the
reflex activity increases and a dampening force is applied to the ankle joint based on its
rotational velocity. This action prevents the foot from slapping down at impact in case the
mechanical damping is not sufficient. The activity declines together with the stimulation
of the reflex at the end of phase five.
The Cutaneous Reflex is stimulated during the swing phase of the leg. In normal walking
on level terrain it should show only minor activity. While the left sided reflex remains
nearly fully inactive during the interval shown in the figure, the right sided reflex displays
at least a small peak of activity. This peak is caused by a remaining ground contact of the
toes during the begin of the swing phase. The reflex makes sure that the foot completely
loses contact to the ground by a short torque impulse in the ankle and the knee joint.
It is interesting to note that relevant activity of some reflexes is necessary during normal
walking while other reflexes mainly handle disturbances. Similar observations can be
made on the reflex action in human walking. This phenomenon can also be noticed in the
activity of postural reflexes as illustrated by Figure 8.6. In contrast to the local reflexes,
R. Cutaneous L. Cutaneous
Reflex ι, a
Reflex ι, a
Right Heel
Strike ι, a
Left Heel
Strike ι, a
R. Stabilize
Pelvis ι, a
L. Stabilize
Pelvis ι, a
Right Lock
Hip ι, a
Left Lock
Hip ι, a
Walking
Phases
8.1. Normal Walking
5
4
3
2
1
2.0
1
145
right
left
2.5
3.0
3.5
4.0
4.5
0
2.0
1
2.5
3.0
3.5
4.0
4.5
0
2.0
1
2.5
3.0
3.5
4.0
4.5
0
2.0
1
2.5
3.0
3.5
4.0
4.5
0
2.0
1
2.5
3.0
3.5
4.0
4.5
0
2.0
1
2.5
3.0
3.5
4.0
4.5
0
2.0
1
2.5
3.0
3.5
4.0
4.5
0
2.0
1
2.5
3.0
3.5
4.0
4.5
2.5
3.0
3.5
4.0
4.5
0
2.0
Time [s]
Figure 8.5: Activation ι and activity a of the local reflexes during normal walking. The shaded
plots represent the activation of the behaviors. The Lock Knee reflex has been omitted.
146
8. Dynamic Walking Experiments
here those control units responsible for compensating disturbances predominate, but also
show substantial activity during normal walking.
The postural reflex Upright Trunk is stimulated throughout all phases of cyclic walking
to achieve maximum stability of the upper body. But as the reflex cannot and should
not influence the hip joint in case the leg of the considered body side has no ground
contact, the activity function includes the normalized foot load as factor. Thereby the
reflex suspends its activity during the leg swing in phase four and the beginning of phase
five. As soon as the leg has regained ground contact, the reflex resumes its task. Figure 8.6
also illustrates the fact that during double support around phase three both the left and
the right Upright Trunk control units are active. This allows an even better stabilization
of the upper body as the action of both reflexes work in concert. Furthermore, it can
be observed that the behavior shows significant activity even during normal walking in
even terrain. This is caused by the considerable mass inertia of the upper body keeping it
moving forward while the pelvis decelerates at heel strike, and vice versa during propulsion.
Likewise, the torque generated by the Initiate Swing motor pattern not only causes the
leg to swing but also effects in a bending of the trunk. These self-induced disturbances are
partly compensated by anticipatory torque impulses produced by the responsible motor
patterns, but must additionally be balanced by the Upright Trunk reflexes. Accordingly,
the highest activity of these behaviors can be observed right after heel strike.
The Forward Velocity control unit is stimulated by walking phase one. During this part of
the walking cycle, the foot has full ground contact and the postural reflex can influence
the forward velocity by applying a correcting torque to the ankle joint. Again, relevant
activity can be observed even during normal walking, however not as strong as in the
previously discussed reflex. Movements of the upper body and the swinging extremities
can cause variations in the forward velocity, or more precisely in the estimated position
of the extrapolated center of mass (xcom). These disturbances are then compensated by
the reflex. Also, it cannot be avoided that the xcom estimation is inaccurate, resulting in
slight reflex action that would not have been necessary otherwise. Nevertheless, the xcom
calculations are sufficient for stabilizing the forward velocity.
The same considerations hold true for the Lateral Balance Ankle behavior. It is also
stimulated during walking phase one as it balances the robot by exerting torques via the
ankle joint. Even on level ground as in the run presented in Figure 8.6, considerable
activity can be observed. This behavior can be explained by the fact that the reflex
can only fine-tune the posture due to the short sidewards leverage of the feet, so the
maximum activity is already reached at minor disturbances. Combined with appropriate
foot placement, this reflex action contributes to the lateral stability.
Concluding the discussion on behavioral activity, the Lateral Foot Placement control
unit shows a different activity signature than the other postural reflexes. As it controls
the adduction and abduction of the leg by passing a target angle and a low compliance
value to the position control of the hip joint about the x-axis, the behavior must be
active throughout the swing phase. Its activity is again based on the normalized foot
load because influencing the foot position is only possible during ground clearance. The
activity value is used directly as stiffness demand for the position controller as described
in Section 6.1.2. Thus, the behavior activity cannot serve as indication on the amount of
lateral foot placement correction. Rather, the behavior’s target rating should be consulted
for that information. Being stimulated during phases four and five, the reflex can start its
R. Lat. Foot
Placem. ι, a
L. Lat. Foot
Placem. ι, a
R. Lat. Bal.
Ankle ι, a
L. Lat. Bal.
Ankle ι, a
R. Forward
Velocity ι, a
L. Forward
Velocity ι, a
R. Upright
Trunk ι, a
L. Upright
Trunk ι, a
Walking
Phases
8.1. Normal Walking
5
4
3
2
1
2.0
1
147
right
left
2.5
3.0
3.5
4.0
4.5
0
2.0
1
2.5
3.0
3.5
4.0
4.5
0
2.0
1
2.5
3.0
3.5
4.0
4.5
0
2.0
1
2.5
3.0
3.5
4.0
4.5
0
2.0
1
2.5
3.0
3.5
4.0
4.5
0
2.0
1
2.5
3.0
3.5
4.0
4.5
0
2.0
1
2.5
3.0
3.5
4.0
4.5
0
2.0
1
2.5
3.0
3.5
4.0
4.5
2.5
3.0
3.5
4.0
4.5
0
2.0
Figure 8.6: Activation ι and activity a of the postural reflexes during normal walking. The
shaded plots represent the activation of the behaviors.
148
8. Dynamic Walking Experiments
task as soon as the foot leaves the ground and can continue to correct the foot position
right up to the point when the foot touches down.
In summary, three different types of behavioral activity can be observed in the low-level
control units: motor patterns show a predefined progression of activity, only depending on
the starting point when the pattern is triggered. Some reflexes like the Lock Hip reflex
are an essential part of the walking cycle, showing high activity at certain kinematic or
kinetic events to contribute to normal walking. Finally, the remainder of reflexes work
towards stabilizing the robot. They display more or less activity depending on internal or
external disturbances.
8.1.4
Kinematic Analysis
The kinematic analysis of gait handles joint angles trajectories and the translation and
rotation of body segments relative to a fixed coordinate system. This kind of evaluation
allows to gain a better understanding of the resulting motions by considering angle ranges,
variations in trajectories, or locomotion velocity. Furthermore, the results can be compared
to human walking. Other than in clinical gait studies, in the experiments presented here
the relevant data can directly be extracted from the simulation environment.
8.1.4.1
Joint Angles
Figure 8.7 presents the angle trajectories of all joints over the course of one gait cycle. To
this end, 30 consecutive steps of walking on level ground are averaged by manually tagging
the intervals from one heel strike to the next. Each interval is then normalized in length,
and the mean, minimum, and maximum values are calculated. The 15 left and the 15 right
data sets are combined while taking sign conversions into account due to the mirroring
along the sagittal plane. Positive values express a joint flexion, abduction, or dorsiflexion,
while negative values signify extension, adduction, or plantarflexion, respectively. This
complies to the standards in biomechanical analysis and facilitates the comparison of the
trajectories to human data. The average duration of the gait cycles is 1.27 sec, with the
shortest duration being 1.20 sec and the longest duration amounting to 1.30 sec. In the
figure, the mean values are represented by the solid lines, the minimum and maximum
values are indicated by the dashed lines. The vertical dashed line at 69 % marks the mean
location of the transition from stance to swing. The left column of plots depicts the joints
in the sagittal plane, i. e. revolving about the y-axis, while the right column presents the
remaining joints.
The spine joint remains within a small angle range throughout the walking cycle since it is
set to a fixed position at relatively low compliance. The joint trajectory about the y-axis
exhibits a pattern that is repeated after half the cycle, once for each leg. For the x- and
z-axis, a similar behavior can be observed, but the pattern swaps its sign from one side to
the next. This can be explained by the fact that the forward motion of the upper body is
symmetrical for each leg and runs at twice the frequency of the gait cycle. The lateral
movement of the trunk is in phase with the cycle and is mirrored for each leg. Especially
the rotation about the x-axis illustrates the robot’s sway from left to right during one gait
cycle, as the inertia of the upper body causes a deflection about the spine joint.
The sine-like motion of the shoulder joint about the y-axis was already discussed in
Chapter 5. It results from torque impulses generated by the Arm Swing motor patterns
8.1. Normal Walking
149
2
Spine X [◦ ]
Spine Y [◦ ]
2
0
−2
−2
50
75
100
20
0
−20
25
50
75
50
75
100
0
25
50
75
100
0
25
50
75
100
0
25
50
75
100
0
25
50
75
100
0
25
50
75
% of Gait Cycle
100
0
100
Shoulder X [◦ ]
15
10
5
0
25
50
75
2
0
−2
100
5
Hip X [◦ ]
40
Hip Y [◦ ]
25
−5
−40
0
20
0
−20
0
−5
0
25
50
75
100
60
4
Hip Z [◦ ]
Knee Y [◦ ]
0
5
40
0
Elbow Y [◦ ]
25
Spine Z [◦ ]
Shoulder Y [◦ ]
0
40
20
2
0
−2
0
0
25
50
75
100
20
Ankle X [◦ ]
Ankle Y [◦ ]
0
0
−20
2
0
−2
0
25
50
75
% of Gait Cycle
100
Figure 8.7: Joint angles over the course of one gait cycle. The solid lines represent the mean
values over 30 steps of normal walking on even ground. The dashed lines mark the minimum
and maximum values. The vertical dashed line indicates the transition from stance to swing.
150
8. Dynamic Walking Experiments
and is out-of-phase with the hip trajectory. Shoulder rotation in the x-axis is restricted
by a high stiffness value keeping the arm aligned to the trunk. Still, some compliance
remains and the arm mass inertia combined with the body sway from left to right create a
deflection of about ±1◦ .
The elbow joint is set to low compliance throughout the walking cycle. It rests at its
extension limit while the arm swings forward due to mass inertia. As the shoulder joints
change direction, the elbow passively bends up to an angle of about 15◦ . Due to the
relatively low mass of the lower arm segment, its movement has little influence on the
walking process.
The action of the hip, knee, and ankle joint about the y-axis has the most significant
influence on forward walking. The hip joints mainly reflects the leg swing. At heel strike,
the hip is flexed to its maximum and then extends during the stance phase as the body
travels over the stance leg. This trajectory is not predefined, rather it emerges from the
pendulum motion of the body and the work of the postural reflex Upright Trunk keeping
the pelvis and the upper body in an upright orientation. As the motor pattern initiating
the leg swing starts its activity, the hip joint moves forward until its position is controlled
by the Lock Hip reflex. During this last part of the gait cycle, the variation in angle is
nearly disappearing as the swing leg’s angle of attack is set by a position control with low
compliance.
Bending of the knee joint starts even before heel strike as the responsible motor pattern
initiates this action at the beginning of walking phase five. The knee then flexes up to
the defined angle during weight acceptance before stretching again in anticipation of the
swing phase. As the hip initiates the leg swing, the knee begins to bend passively due to
the mass inertia of the lower leg. Still without active control, it then extends again as
the hip decelerates towards the end of the walking cycle. The trajectory of the passive
knee flexion shows considerable variation caused by different starting points, varying robot
velocity, and diverging stride lengths. Similar to the hip joint, the bending of the knee
starts well before the swing foot leaves the ground.
The onset of the ankle trajectory about the y-axis reflects the fact that the foot planarflexes
as it moves from only heel contact to full ground contact. During the stance phase, the
body passively swings over the foot, only influenced by the passive elasticity of the joint
and the Forward Velocity reflex. As soon as the leg propulsion starts at the end of the
stance phase, the ankle dorsiflexes to push the robot forward. At lift-off, the foot travels
back to minor plantarflexion set by the respective motion phase with low compliance to
facilitate ground clearance during the swing phase.
Similar to the spine joint, the hip joint’s z-axis reveals the small rotation of the pelvis
during walking. The hip joint’s x-axis is used for stabilizing the pelvis during stance phase
and adjusting the lateral foot placement during swing phase. At the beginning of the cycle
the weight of the robot shifts from one leg to another, resulting in a small indulge of the
pelvis before it is steady again. The sway of the upper body to the new stance leg at the
middle of the gait cycle results in adduction of the hip joint by a few degrees. During
the swing phase, the postural reflex Lateral Foot Placement moves the leg to the left or
right depending on the com estimation. This explains the relatively large variation in
joint angle. The robot sheers in the lateral direction, resulting in an offset of the hip angle
throughout the gait cycle.
8.1. Normal Walking
Joint
Spine X
Spine Y
Spine Z
Shoulder X
Shoulder Y
Elbow Y
Hip X
Hip Y
Hip Z
Knee Y
Ankle X
Ankle Y
151
Minimum [◦ ] Maximum [◦ ] Joint Limits [◦ ]
-1.1
-1.9
-3.2
0.7
-33.8
-0.1
-0.5
-18.9
-1.9
4.3
-0.3
-24.6
1.2
0.9
3.2
1.5
33.9
15.1
3.4
35.8
2.7
60.2
2.4
23.8
-57
-57
-57
0
-57
0
-57
-10
-57
0
-29
-29
–
–
–
–
–
–
–
–
–
–
–
–
57
57
57
115
57
115
57
49
57
115
29
29
Table 8.1: Minimum and maximum values of the mean joint angle trajectories over 20 steps
during normal walking on level ground.
For equal reasons, a similar offset can be observed in the ankle joint’s x-axis. During the
stance phase, the robot leans to the side of the stance leg, resulting in an increasing angle.
Before the swing phase, the robot sways back towards the sagittal plane. During leg swing,
the ankle remains passive except for the parallel spring pulling it back to neutral position.
At touchdown, the ankle adapts to the ground surface, thus, given a level ground plane,
the angle only depends on the robot orientation.
It should be noted again that the angle trajectories just presented result from the interaction
of passive dynamics including parallel and series springs, torque impulses by the motor
patterns, and local reflex action. Except for a small part of the knee trajectory during
weight acceptance, no joint position trajectories are predefined. The position control is
only used with constant equilibrium points and compliance settings throughout a motion
phase.
The minimum and maximum values of the mean joint angle trajectories occurring during
the presented experiment are summarized in Table 8.1. Furthermore, the joint limits are
listed for comparison. It can be seen that the joints stay well below their limits that have
been chosen while keeping a development of a real robot in mind. Only the hip joint
shows an over-extension in its y-axis. This demonstrates that the joint limits are not
implemented as fixed mechanical stops, but rather as elastic limits generating increasing
torque as the joint exceeds its boundaries.
8.1.4.2
Segment Translation and Rotation
While the above discussion on joint angles considers relative coordinates, kinematic analysis
also handles absolute poses of segments. Figure 8.8 illustrates the trajectories of the robot’s
head and pelvis relative to a fixed coordinate system. The head is plotted as solid line,
the pelvis is represented by the dashed line. The figure shows the first 22 seconds of the
same run of normal walking used in the previous plots.
The progression of both the head and the pelvis in x-direction displays a very steady
velocity after the initial acceleration during walking initiation. The resulting walking
Head / Pelvis
Position Z [m]
Head / Pelvis
Position Y [m]
Head / Pelvis
Position X [m]
152
8. Dynamic Walking Experiments
30
20
10
0
0.0
2.0
4.0
6.0
8.0
10.0
12.0
14.0
16.0
18.0
20.0
22.0
2.0
4.0
6.0
8.0
10.0
12.0
14.0
16.0
18.0
20.0
22.0
2.0
4.0
6.0
8.0
10.0
12.0
Time [s]
14.0
16.0
18.0
20.0
22.0
1
0
−1
0.0
2
1
0
0.0
Left Foot
Position Z [m]
Figure 8.8: Head (solid line) and pelvis (dashed line) position during normal walking. Caused
by slip and joint compliance, the robot shows slight derivation from straightforward direction.
0.4
walking dir.
heel
ankle
toe
0.2
0.0
Right Foot
Position Z [m]
3.0
3.2
3.4
3.6
3.8
4.0
4.2
4.4
4.6
4.8
5.0
4.6
4.8
5.0
0.4
0.76 m
0.75 m
0.2
0.0
3.0
3.2
3.4
3.6
3.8
4.0
4.2
Position X [m]
4.4
Figure 8.9: Movement of the foot in the sagittal plane during a stride. The plots mark the
trajectories of the center of the left toe, the ankle, and left heel segment the foot is composed of.
8.1. Normal Walking
153
velocity in this run amounts to 1.2 m/s or 4.3 km/h. This velocity corresponds to relaxed
walking of human subjects.
Two characteristics can be observed in the trajectories in the lateral direction. On the one
hand, head and pelvis sway slightly to the left and to the right during a walking cycle.
The oscillation of the head amounts to about ±4 cm, the one of the pelvis to ±3 cm. On
the other hand, the robot does not stay on a straight line while walking forward. Rather,
it tends to show minor rotations which vary from run to run. These rotations are caused
by a slip of the feet on the ground and by the compliance of the joints about the z-axis.
The head and pelvis trajectories in z-direction illustrate the semi-flat walking gait already
mentioned in previous chapters. During each stance phase, the body travels over the
stance leg and is first lifted and than lowered again during this process. The amplitude of
this oscillation is reduced by the bending of the leg initiated by the Weight Acceptance
motor pattern. Due to additional sway of the upper body in the sagittal plane, the head’s
amplitude is slightly higher than the one of the pelvis, coming to approximately 5 cm.
The movement of the feet is detailed in Figure 8.9. Three trajectories in the sagittal
plane for both feet are given, namely those of the inner toe, the ankle, and the inner heel
segments. As the plots represent the position of the segment centers, the z-position of toe
and heel does not reach zero but stays 3 cm above the ground, corresponding to the radius
of the two segments. To provide a reference to the progress of time, the plots are drawn
with markers at a time interval of 25 ms.
The foot location during the stance phase can easily be identified by the clustering of plot
markers. During leg propulsion, the heel lifts from the ground and the toes are pushed
towards the ground by plantarflexion of the foot to increase the robots forward velocity.
The toes lift off the ground as soon as the swing phase begins and the foot rotates to a
neutral ankle position. During this first part of the swing phase, the toes are the foot
segment closest to the ground and determine the ground clearance of 5–6 cm. In the second
half of the swing phase, the knee joint extends. This causes the foot to rotate as the ankle
joint stays passive and does not significantly change its angle. Thus, the toe segment
moves upwards and the height of the heel segment is reduced. During this part of the
swing phase, the heel is located closest to the floor and the ground clearance is reduced to
only 2 cm at the lowest point. Just before heel strike, this distance increases again as the
knee reaches its full extension.
Figure 8.9 also illustrates the step length during normal walking. Measuring the distance
between the successive heel strikes of the left and the right leg amounts to 0.76 m and
0.75 m. This length varies only slightly among the steps of the presented run. The mean
step length results in 0.78 m, with a minimum value of 0.73 m, and a maximum value of
0.81 m. The standard deviation of the step length amounts to 0.02 m.
The foot placement is further visualized by Figure 8.10, showing 28 foot points of the
considered run. The consistent step length is illustrated as well as the fact that the robot
does not manage to remain on a straight line, but instead displays small displacements
and rotation due to slip and joint compliance. As in human walking, additional external
sensor systems like vision would be necessary to correct the walking direction.
The figure also allows to identify the step width. Analysis of the underlying data reveals a
mean step width of 0.16 m at a standard deviation of 0.03 m. The minimum value of the
run amounts to 0.10 m, the maximum value comes to 0.22 m. The higher variation of the
Foot Points
Position Y [m]
154
8. Dynamic Walking Experiments
walking dir.
2.0
0.0
−2.0
2.0
4.0
6.0
8.0
10.0
12.0
14.0
Position X [m]
16.0
18.0
20.0
22.0
24.0
Figure 8.10: Foot points on the horizontal plane during 28 steps of normal walking. The dotted
line marks the trajectory of the pelvis.
step width compared to the step length can be explained by the difficulty to stabilize the
robot in the lateral direction due to its narrow foot placement and the high center of mass.
This results in considerable activity of the postural reflex Lateral Foot Placement and thus
in stronger scattering of the step width.
Figure 8.11 illustrates the orientation of the head and the pelvis segment during the
walking cycle. The rotation about the x-axis indicates the raise of the pelvis during the
stance phase by the Stabilize Pelvis reflex. The trunk and head show even stronger sway
from left to right due to the rotation about the spine joint and the considerable mass of
the upper body.
The upper body oscillation in the sagittal plane explains the orientation of head and pelvis
about the y-axis. It appears with twice the frequency of the stride, as the trunk leans
forward after each heel strike. The Upright Trunk postural reflex cannot fully compensate
for the mass inertia pushing the upper body forward after impact. A pelvis rotation of up
to 8◦ remains. Again, the head displays the higher amplitude as the spine flexion is added
to the pelvis rotation.
The rotation of the pelvis about the z-axis mainly emerges from the compliance of the
hip joint about the same axis. As the swing leg moves forward, a torque is induced to the
pelvis that increases with the step length. Here, the rotation of the head and trunk is
reduced by the flexibility of the spine and the compensating swing of the arms.
8.1.4.3
Variation of Walking Velocity
The figures so far have been based on a run of normal walking with the velocity modulation
factor set to 0.8. This modulation signal influences several reflexes and motor patterns by
adapting target values or scaling the amplitude of torque impulses. All these adjustments
are obtained by simply multiplying the relevant values by the velocity factor. No other
elaborate functions are used. By changing this modulation value, different walking velocities
can be achieved. Figure 8.12 illustrates this relation by plotting the forward progression of
the pelvis for five different velocity factors.
By varying the velocity modulation factor, walking velocities ranging from 1.1 m/s to
1.4 m/s can be reached. At higher velocities, the steps lengthen and the oscillation of the
upper body increases due to the stronger impact at heel strike. Slow walking reduces
this oscillation in the sagittal plane, but lateral sway is still prominent. The lower torque
impulse of the hip joint initiating the leg swing lessens the passive flexion angle of the
8.1. Normal Walking
155
2
Head X [◦ ]
Pelvis X [◦ ]
2
0
−2
−2
25
50
75
100
10
Head Y [◦ ]
Pelvis Y [◦ ]
0
5
0
0
25
50
75
0
25
50
75
100
0
25
50
75
100
0
25
50
75
% of Gait Cycle
100
10
5
0
100
10
Head Z [◦ ]
10
Pelvis Z [◦ ]
0
0
−10
0
−10
0
25
50
75
% of Gait Cycle
100
Figure 8.11: Orientation of head and pelvis over the course of one gait cycle. The solid lines
represent the mean values over 30 steps of normal walking, the dashed lines mark the minimum
and maximum values. The vertical dashed line indicates the transition from stance to swing.
velocity
factor:
0.95
0.90
0.85
0.80
0.75
Pelvis Position X [m]
10
8
6
resulting
velocity:
1.38 m/s
1.34 m/s
1.27 m/s
1.21 m/s
1.13 m/s
4
2
0
0.0
1.0
2.0
3.0
4.0
Time [s]
5.0
6.0
7.0
8.0
Figure 8.12: Pelvis progression at different walking velocities. Only the walking velocity
modulation value is changed, no other parameters are adapted.
156
8. Dynamic Walking Experiments
knee. This decreases the ground clearance distance and raises the probability of the robot
to stumble. Table 8.2 summarizes the resulting mean velocities and step lengths during
walking with different velocity modulation factors.
Velocity Factor Walking Velocity
[m/s]
0.75
0.80
0.85
0.90
0.95
1.13
1.21
1.27
1.34
1.38
Step Length Max. Ankle Torque
[m]
[N]
0.68
0.76
0.84
0.88
0.92
52
56
60
65
69
Table 8.2: Variation of walking velocity, stride length, and maximum ankle torque during leg
propulsion of walking with different velocity modulation values.
The described variations of velocity are achieved without adapting any parameter of the
control units involved. Further reducing or increasing the factor causes instabilities mainly
due to stumbling during leg swing or tilting in the lateral direction. By manually tuning
the parameters of some control units, faster or slower walking is possible, but no extensive
gain of velocity can be obtained. For very slow and deliberate walking, the fundamental
form of locomotion would have to be adapted. This gait transition can also be observed in
human subjects. Likewise, to further increase the speed, the locomotion form should be
changed to a running gait.
8.1.4.4
Comparison to human data
As human morphology and motion control serves as basis for this thesis, it stands to reason
to compare the results from simulation to those from human gait analysis. In 1998, the
Vicon company1 , a manufacturer of systems for biomechanical gait analysis, provided a
kinematic and kinetc data set of human walking that is used as basis of the following
comparisons.
Figure 8.13 presents the differences and similarities of four joint angle trajectories. The
solid lines represent the results from simulation, the dashed lines are taken from the Vicon
data set. The first plot illustrates that humans show stronger pelvis lift during the stance
phase by additional hip abduction. Still, both curves have two elevations of hip abduction
in common, one occurring during stance and one during the swing phase. However, humans
keep the swing leg closer to the stance leg during the swing phase.
More similarities can be found in the trajectories of the hip joint’s y-axis. Both curves
have the same characteristic progress. The main difference is the additional hip extension
of the simulated biped towards the end of the stance phase.
The knee trajectories also show a similar behavior. Here, it must be admitted that the
knee angle during weight acceptance is loosely modeled after the human example, as a
semi-flat walking gait is aimed for. As such, the resemblance is to be expected. However,
both in human and in the bipedal robot’s walking, the knee angle during the swing phase
1
http://www.vicon.com/
8.1. Normal Walking
157
40
Hip Y [◦ ]
Hip X [◦ ]
10
0
−10
0
−20
0
25
50
75
100
Ankle Y [◦ ]
60
Knee Y [◦ ]
20
40
20
0
25
0
25
50
75
100
50
75
% of Gait Cycle
100
20
0
−20
0
0
25
50
75
% of Gait Cycle
100
Figure 8.13: Comparing joint angles in human walking (dashed lines) to those of the simulated
biped (solid lines). Human data is taken from a data set provided by the Vicon company in 1998.
emerges by passive dynamics and comparable trajectories arise. Generally, the peak angle
of the simulated robot during this phase is slightly smaller and the duration of the knee
bending is shorter. Furthermore, a small delay just before the leg swing can be observed.
This is caused by the fact that, compared to human subjects, the robot lacks a small
amount of forward velocity giving it more time between leg extension and touchdown of
the contralateral leg. In this point, the human gait clearly shows a superior optimization.
As last example, the comparison of the ankle movements again reveals strong similarities.
The robot tends to stronger plantarflexion after heel strike, whereas humans longer role
over the heel. During this phase of point contact, no torques can be induced by ankle
flexion. Again, the optimization of human walking allows this sacrifice of potential control
in favor of a more efficient gait. Another difference can be found in additional plantarflexion
during leg propulsion and in stronger dorsiflexion during the swing phase.
Similar to the joint angle trajectories, resemblance of the absolute movements of body
segments in humans and in the simulated robot can be observed. Figure 8.14 illustrates
this fact using the position of the toe segment as an example. The vertical displacement of
the toe is plotted over the progress of one stride. The experimental data of the biped robot
is averaged over 30 steps of normal walking on level terrain. As the position of the center
of the inner toe segment is shown, there remains an offset of 3 cm to the ground plane.
Both curves show the same distinctive course and similar amplitude. After heel strike, the
toes are lowered to the ground where they stay throughout the stance phase and during
leg propulsion. At the onset of the swing phase, the toes lift from the ground as the foot
dorsiflexes to a neutral angle. During the leg swing, the toes first come closer to the ground
as the leg traverses under the trunk. As soon as the knee extends towards the end of the
swing, the foot rotates and the toes point upwards, resulting in the maximum distance to
the ground.
In summary, the joint angle and segment position trajectories of human subjects and the
simulated robot show remarkable resemblance. The reason for this can be found in several
8. Dynamic Walking Experiments
Toe Position Z [m]
158
0.2
0.1
0.0
0
(a)
25
50
75
% of Gait Cycle
100
(b)
Figure 8.14: Comparing the vertical toe displacement of human subjects (a) to those of the
simulated biped (b), averaged over 30 steps. Human data plot taken from [Winter 92], p47.
facts. First, both control strategies rely on the exploitation of passive dynamics. As the
masses and lengths of the robot’s body segments have been modeled based on human
data, one expects that similar motions emerge. Furthermore, the active part of the control
system is designed following insights from neuroscience and biomechanics. Several of the
relevant control concepts have been transferred, and indeed likewise locomotion patterns
originate. Finally, many parameters of the control units might be unconsciously tuned
to achieve a human-like gait of the simulated biped because of repeated consultation of
biomechanical data and observation of the supremacy of human walking during the design
and development of the suggested control system.
8.1.5
Kinetic Analysis
Kinetic analysis considers the acting of internal as well as external forces and torques.
This gives a deeper insight into the inner workings of the control system and allows to
draw conclusions regarding the feasibility of the approach on a real robot. Furthermore,
preliminary statements on the efficiency of the emerging gait are possible.
8.1.5.1
Ground Reaction Forces
During undisturbed walking, external forces are only induced by ground contact. The
robot is equipped with several sensors to measure these forces: A three axis load cell
connects the foot with the ankle joint. In addition, four one-dimensional force sensors
are mounted in the corners of each feet, and referred to as inner toe, outer toe, inner
heel, and outer heel sensor. Figure 8.15 visualizes the measurements of these sensors.
Again, the data is normalized to one gait cycle and averaged over 30 successive steps of
walking on level ground. The solid lines represent the mean values, the dashed lines show
the minimum and maximum values. The vertical dashed line marks the stance-to-swing
transition. To ease orientation, the angle trajectory of the ankle joint is included in the
upper right corner.
The force in z-direction perceived by the load cell summarizes the load the foot has to bear.
Adding up the forces measured by the individual foot sensors results in the same trajectory.
During initial weight acceptance, the foot load surpasses the amount of gravitational force
generated by the body weight due to the impact. However, this overshoot is only marginal
900
600
300
0
50
75
0
−20
25
50
75
Inner Heel [N]
200
0
50
75
400
200
0
0
25
50
75
% of Gait Cycle
−20
100
0
25
50
75
100
0
25
50
75
100
0
25
50
75
100
0
25
50
75
% of Gait Cycle
100
60
30
0
−30
400
200
0
100
Outer Heel [N]
25
0
100
400
0
20
100
20
0
Inner Toe [N]
25
LC Torque Y [Nm]
LC Torque X [Nm]
0
Outer Toe [N]
159
Ankle Y [◦ ]
LC Force Z [N]
8.1. Normal Walking
400
200
0
Figure 8.15: Forces and torques measured by the foot sensors over one gait cycle. The solid
lines represent the mean values over 30 steps of normal walking on even ground. The dashed
lines mark the minimum and maximum values. The vertical dashed line indicates the transition
from stance to swing.
thanks to the preventive leg bending before heel strike by the Weight Acceptance motor
pattern. Also, some of the impact is absorbed by damping in the ankle joint as the foot
rotates from heel strike to full contact during the first ten percent of the gait cycle. The
short decline in foot load right after full contact can be explained by the activity of the
leg propulsion motor pattern that pushes the robot forward via the contralateral ankle
joint. This action shifts some of the body weight back to the other leg. As the swing of
the contralateral leg sets in after about 20 percent of the cycle, the body weight is fully
supported by the stance leg. A short peak in vertical force can be observed during leg
propulsion, then the force drops to zero at lift-off. During the swing phase, only small
deviations from zero appear due to the weight of the foot pulling at the load cell.
The torques measured by the load cell give a first indication on the progress of the center
of pressure (cop). During the stance phase, the torque about the x-axis oscillates about
160
8. Dynamic Walking Experiments
outer heel
Ant.
outer toe
CoP X
Lateral
Center of Pressure
Post.
0
25
50
75
100
0
25
50
75
% of Gait Cycle
100
inner heel
inner toe
Posterior
Anterior
CoP Y
Medial
Lat.
Med.
Figure 8.16: Center of pressure trajectories calculated from the four force sensors in each foot.
The values present an average over 30 steps of normal walking on even terrain.
zero due to the action of the Lateral Balance Ankle reflex. The dashed minimum and
maximum values show considerable variation in the trajectory, underlining the reactive
character of the responsible motor pattern. The torque value remains within ±10 Nm,
considering the short leverage of the foot in the lateral direction. Higher torques would
cause the foot to turn onto its edge.
The torque about the y-axis illustrates that the cop travels from heel to toe. At heel-strike,
the foot pushes the robot forward by the torque of the passive ankle spring and the activity
of the Forward Velocity reflex. Due to the action of the leg propulsion motor pattern, a
strong torque peak of more than 60 Nm can be observed. Both torque values disappear
during the swing phase since no more external forces act on the foot.
The measurements of the individual toe and heel sensors provide further details on the
ground reaction forces. At touchdown, only the heel sensors detect the impact, with an
emphasis on the outer side of the foot. The ankle joint then rotates to full foot contact
and the toe sensors also measure a force, with the peak value showing strong variations
due to deviations in the robot’s forward velocity. Already after 50 percent of the gait
cycle, i. e. well before the swing phase, the heel loses contact with the ground and leg
propulsion pushes the toes downwards. Here, a maximum force of over 400 N can occur.
Not surprisingly, the foot sensors do not measure relevant forces during the swing phase.
The four force sensors mounted in the foot corners also allow to estimate the trajectory of
the cop. Computing the ratio between the inner and outer sensors, or the toe and heel
sensors, respectively, yields
CoPX =
Finner toe + Fouter toe
Finner toe + Fouter toe + Finner heel + Fouter heel
(8.1)
CoPY =
Fouter toe + Fouter heel
Finner toe + Fouter toe + Finner heel + Fouter heel
(8.2)
8.1. Normal Walking
161
Figure 8.16 shows the progress of the cop values over the progress of one gait cycle on
the right side, and the trajectory of the cop in the horizontal plane on the left side. Both
visualizations illustrate the characteristics of the cop trajectory. At heel strike, the cop
is located at the posterior end of the foot and quickly moves towards the center. During
the middle part of the stance phase, the cop stays around the center of the foot while the
postural reflexes generate correcting ankle torques to stabilize the robot. Towards the end
of the stance phase, the cop travels to the anterior end and to the medial side of the foot
as the leg propulsion accelerates the robot forward by plantarflexion of the foot. Since
the upper body moves in the direction of the next stance leg, the main propulsion force is
raised by the inner toe segment.
Disregarding the influence of the postural reflexes, the cop trajectory travels smoothly
from heel to toes during the stance phase. In y-direction, it remains well within the center
of the foot with a small bias to the lateral side since the robot leans towards the side of
the stance leg. The distance to the stability margin stays large throughout the walking
cycle, indicating that there is still ample reserve concerning the machine’s stability and
there is no immediate risk for the robot to tumble.
8.1.5.2
Joint Torques
Analysis of the torques occurring in the joints during walking provides additional information on the working of the control system and allows to assess its application on a real
robot. Figure 8.17 displays the effective torques as solid lines. The torque value of the
simulated torque controller are given as dotted lines. These values do not include the
effects of the parallel spring and the joint damping. All plots are again based on the same
run as the previous figures and represent the mean values of 30 consecutive steps. The
dashed lines illustrate the minimum and maximum values, the vertical dashed line marks
the transition from stance to swing.
The torque acting on the y-axis of the spine joint is mainly generated by the position control
working at low compliance and constant target angle. High torque values of −100 Nm can
be observed after each heel strike. They compensate the mass inertia of the trunk swaying
forward. The further progress of the torque trajectory reflects the continuous stabilization
of the upper body. Similar behavior can be seen in the other axis of the spine joint. The
z-axis in particular shows lower joint stiffness in the smooth motor torque values.
The shoulder joint exhibits the motor torque impulses generated by the Arm Swing motor
pattern. Depending on the current joint angle and velocity, damping and a weak parallel
elasticity partly work against the requested arm swing. The ad- and abduction of the arm
are restricted by the torque produced by the compliant position controller. The elbow
joint is set to zero stiffness and the motor only shows activity when the joint reaches its
limits in the fully extended position.
The y-axis of the hip joint exhibits the highest torque peak of all joints. As the corresponding spine joint, it has to decelerate the upper body after heel strike, but due to the longer
leverage and the additional weight of the pelvis segment, the torque values are even higher
and reach nearly 200 Nm. A second peak occurs during the acceleration of the hip joint
for initiating the leg swing. At higher walking velocities, a short swing phase is necessary
to move the leg to its anterior position in time for the next heel strike. As already realized
by J. Pratt, the maximum velocity and torque of the hip joint limits the robot’s walking
8. Dynamic Walking Experiments
100
Spine X [Nm]
Spine Y [Nm]
162
0
−100
75
0
−10
25
50
75
0
−5
25
50
75
25
50
75
100
0
25
50
75
100
0
25
50
75
100
0
25
50
75
100
0
25
50
75
100
0
25
50
75
% of Gait Cycle
100
0
−20
10
0
−10
50
Hip X [Nm]
100
0
−100
0
−50
−100
0
25
50
75
100
50
Hip Z [Nm]
Knee Y [Nm]
0
20
100
−200
0
−50
−100
0
25
50
75
30
0
−30
−60
0
25
50
75
% of Gait Cycle
20
0
−20
100
Ankle X [Nm]
Ankle Y [Nm]
−50
100
5
0
0
100
Shoulder X [Nm]
Elbow Y [Nm]
50
10
0
Hip Y [Nm]
25
Spine Z [Nm]
Shoulder Y [Nm]
0
50
100
20
0
−20
Figure 8.17: Average joint torques acting during one gait cycle. The solid line represents the
mean values over 30 steps of normal walking on level ground. The dashed lines mark the minimum
and maximum values. Torques generated by the motor without the influence of damping and
parallel springs are shown by the dotted line.
8.1. Normal Walking
163
velocity [Pratt 00]. At the end of the swing phase, the torque is reduced to the amount
necessary to lock the hip angle and to control the legs angle of attack.
During the stance phase, the hip joint also shows high torque values about its x-axis.
This torque is used to stabilize the pelvis against the weight of the upper body while the
contralateral leg is swinging. As soon as the double support phase starts after 50 percent
of the gait cycle, the load is distributed and the torque is reduced. During the legs swing
phase, some torque is necessary to adjust the lateral foot placement. The torque about
the hip joint’s z-axis is produced due to the compliant joint action and is proportional to
the current joint angle.
The main strain on the knee joint also occurs during the stance phase. The minor flexion
of the knee implicates that the joint has to support the body weight while it is not fully
stretched. With the onset of the swing phase, the knee joint is set to passive action at
maximum compliance, and the motor does not have to produce any torque.
At heel strike, the ankle joint slows down the plantarflexion of the foot by a passive torque
resulting from damping and the parallel spring. The joint’s motor remains mainly inactive
except for the corrections of the Forward Velocity reflex until the leg propulsion motor
pattern sets in. Then considerable torque is produced to accelerate the robot forward.
During the swing phase, the foot is kept in minor dorsiflexion and the motor has to
compensate for the torque generated by the parallel spring due to the deflection from its
equilibrium position. The torques produced in the x-axis of the ankle joint result from the
action of the Lateral Balance Ankle postural reflex.
While the peak torque values, in particular those of the hip joint, appear to be relatively
large, they are still far below the capabilities of humans or state-of-the-art bipedal robots.
For instance, the robot LOLA of the University of Munich can generate a peak torque of
370 Nm in the y-axis of its hip joint, at a total robot weight of 55 kg and a similar number
of degrees of freedom. Thus it should be possible to develop joint actuators meeting at least
the torque demands. There still remains the problem of achieving adjustable compliance
and sufficiently low joint friction.
8.1.5.3
Joint Power
In knowing the joint angles and torques, it is possible to calculate the mechanical work
done by the joints as well as their mechanical power. Rotational work W is defined as
W = τ θ,
(8.3)
with τ being the torque and θ the joint revolution this torque is applied through. Power
is the rate at which this work is performed. Using the data set of the run presented
throughout this chapter, the mechanical power Pj for each joint j is calculated as
Pj (t) =
1
2
[τj (t + ∆T ) − τj (t − ∆T )] · θj (t + ∆T ) − θj (t − ∆T )
,
2 · ∆T
(8.4)
with ∆T = 25 msec. The resulting power trajectories are again averaged over 30 steps of
normal walking, and the mean, minimum, and maximum values are shown in Figure 8.18.
The solid lines represent the power based on the effective torque values, while the dotted
lines depict the mechanical motor power.
164
8. Dynamic Walking Experiments
Spine X [W]
Spine Y [W]
50
0
−50
50
75
10
0
−10
50
75
25
50
75
100
0
25
50
75
100
0
25
50
75
100
0
25
50
75
100
0
25
50
75
100
0
25
50
75
% of Gait Cycle
100
0
−5
100
Shoulder X [W]
25
0
−1
−2
−3
25
50
75
1
0
−1
−2
100
60
Hip X [W]
Hip Y [W]
0
−10
800
400
0
0
25
50
75
30
0
100
Hip Z [W]
100
Knee Y [W]
−10
5
0
0
−100
5
0
−5
−10
−200
0
25
50
75
100
500
Ankle X [W]
Ankle Y [W]
−5
100
20
0
Elbow Y [W]
25
Spine Z [W]
Shoulder Y [W]
0
0
250
0
−250
0
25
50
75
% of Gait Cycle
100
5
0
−5
Figure 8.18: Average approximated joint power arising during one gait cycle. The solid line
represents the mean values over 30 steps of normal walking on level ground. The dashed lines
mark the minimum and maximum values. Power generated by the motor without the influence
of damping and parallel springs is shown by the dotted line.
8.1. Normal Walking
Joint
Spine X
Spine Y
Spine Z
Shoulder X
Shoulder Y
Elbow Y
Hip X
Hip Y
Hip Z
Knee Y
Ankle X
Ankle Y
165
Peak
Peak Motor Maximum Max. Motor
Torque [Nm] Torque [Nm] Power [W] Power [W]
29.0
111.1
16.3
7.4
3.6
2.3
95.4
174.3
21.9
81.6
8.7
61.4
13.4
103.8
9.5
6.9
5.1
1.8
96.2
194.5
19.0
81.9
9.8
56.6
0.5
20.3
1.6
0.2
4.7
0.1
28.8
382.9
3.1
66.6
1.7
230.9
1.5
21.4
1.9
0.3
16.1
0.1
34.2
722.7
4.8
68.5
1.8
407.9
total mechanical power consumption:
R
Motor
Power [W]
0.3
3.2
0.5
<0.1
3.4
<0.1
5.7
99.9
0.4
11.8
0.2
36.0
318.8
Table 8.3: Kinetic key values of the joints during normal walking. Only positive power values
are considered. The right column gives the total joint power based on the positive mechanical
work done.
As illustrated by the effective power of e. g. the shoulder or the knee joint, the parallel
springs and the damping mainly produce negative mechanical work. The damping torque
of course is always directed against the direction of the joint motion. The parallel elastic
element decelerates the joint’s movement as is deflects from its equilibrium position, but
then also pushes the joint back and thus does positive work. As seen during leg propulsion
in the ankle joint or swing initiation in the hip joint, the parallel springs partly support
the motors in the task of adding energy to the system. Especially the ankle joint stores
energy during the stance phase that is released again at push-off.
Most power during walking is produced by the hip and the ankle motors. At swing
initiation, the hip joint reaches its maximum power output of more than 700 W. To
accelerate the leg, it has to work against the joint damping, which is set to a relatively high
value as the necessary torque could not be produced by a very low gear ratio. Fortunately,
the power peaks are temporally limited and still well within the power range an electrical
motor can produce.
In several situations and joints, negative work is done by the motors. For instance, the
spine joint has to decelerate the trunk that is moving tilting forward after each heel strike.
Potentially, this negative work could be used to regain energy, but this possibility has not
been incorporated in the following power consideration as it is difficult to implement on
the power amplifiers of a real robot.
Table 8.3 summarizes the kinetic joint analysis. The peak values of the effectively acting
torque and the pure motor torque of each joint are given as well as the maximum positive
power values. The last column of the table gives an estimate of the overall positive
mechanical power consumption ΣPj of each joint j. To this end, the positive intervals of
the power as given in Equation 8.4 are integrated:
166
8. Dynamic Walking Experiments
ΣPj =
Z
max(0, Pj (t)) dt
(8.5)
Totalizing these values gives a mechanical power consumption of the biped during walking
of 318.8 W, with the two hip joints alone contributing nearly two thirds of this sum. As the
control units were designed without any concern about energy consumption, it is highly
probable that this number could be reduced after appropriate optimization.
In an article on passive walkers, Collins et al. propose to use the dimensionless mechanical
cost of transport cmt = (energy used)/(weight × distance traveled) to compare the walking
efficiency of different robots and humans [Collins 05]. They give an estimate of cmt = 0.05
for human walking and of cmt = 1.6 for the robot Asimo by Honda. With a weight of
76 kg and an approximate walking velocity of 1.2 m/s during the analyzed run, the cost of
transport for the presented biped amounts to
cmt =
318.8 W
= 0.35
760 N · 1.2 m/s
(8.6)
While this value is still well above the one of human walking, it attributes the presented
bipedal robot to be nearly five times more efficient than Asimo using a technical control
approach based on joint angle control. And as noted before, the system still has the potential
to be optimized regarding its energy consumption. Of course, the simulation environment
does not model all aspects of a real robot. Therefore, this result can only indicate the
walking efficiency of the suggested methodology by exploiting inherent dynamics and
making use of elastic energy storage.
8.1.5.4
Active and Passive Joint Action
To conclude the kinetic analysis, Table 8.4 lists which joints are actively controlled and
which joints are passive during each walking phase. Only the spine joints and the joints of
the left body half are given. The number states the stiffness factor defining the compliance
of each joint for the constant equilibrium point. A stiffness factor of 1.0 results in minimum
compliance, a factor of 0.0 in a freely rotating joint with only the damping acting. The
letters ‘M’ and ‘R’ indicate that a motor pattern or a reflex is influencing the joint during
that phase. Reflexes put in parentheses only act due to disturbances and remain mostly
inactive during normal walking.
Including both the left and the right sided joints in the calculation results in the following
totals: during stimulation of phases one and three, 8 joint are actively controlled and 13
joints act passively. In phase combination one and four, 10 joints are active and 11 joints
are passive. And during phases two and five, again 8 joints are active and 13 joints are
passive. In total, no more than half of the joints are simultaneously actively controlled
throughout the walking cycle, reducing the overall complexity of the control system. In
fact, only 1–4 of the 21 degrees of freedom must be controlled by motor patterns for
directing the passive system dynamics towards a walking gait.
Furthermore, some passive joints remain at the same compliance setting during all phases of
walking. These joints could be replaced by fixed springs and would not need an additional
actuator. However, a closer look reveals that this situation would change when starting to
walk on intense slopes, or when including curved walking. Then, the spine joints would be
8.1. Normal Walking
Joint
167
Phase 1
Spine X
Spine Y
Spine Z
Shoulder X
Shoulder Y
Elbow Y
Hip X
Hip Y
Hip Z
Knee Y
Ankle X
Ankle Y
0.9
1.0
0.2
0.3
0.0
0.0
0.1
0.0
0.5
0.0
0.4
0.0
Active
Passive
5
7
R
R
M
R
R
Phase 2
0.9
1.0
0.2
0.3
0.0
0.0
0.1
0.0
0.5
0.3
0.0
0.0
R
R
R
R
4
8
Phase 3
0.9
1.0
0.2
0.3
0.0 M
0.0
0.1
0.0 M,R
0.5
0.0
0.1
0.0 M
3
9
Phase 4
0.9
1.0
0.2
0.3
0.0
0.0
0.1
0.0
0.5
0.0
0.1
0.1
5
7
M
R
M,R
(R)
(R)
Phase 5
0.9
1.0
0.2
0.3
0.0
0.0
0.1
0.0
0.5
0.0
0.1
0.1
R
R
M
(R)
4
8
Table 8.4: Passive and active joints during each walking phase for the left sided joints. The
numbers give the joint stiffness, M and R mark the active control by a motor pattern or reflex.
necessary to compensate the inclination, and the hip’s z-axis would be used to control the
walking direction. Still, the passive joint action suffices during walking on minor slopes or
small steps as will be shown below.
8.1.5.5
Comparison to human data
As done for the kinematic data, some results from the kinetic analysis are compared to
human walking. Figure 8.19 shows the effective torque of four joints for both human
walking and the presented biped. Human data is again taken from the data set provided by
Vicon and is plotted as dashed line. The torque values are given in Nm/kg, normalizing the
torque by the body weight as commonly done in biomechanics to make results comparable.
The torque trajectories of the hip joint show strong similarities. Besides the additional
oscillation occurring in the robot data, the shape of the curves match. The torque about
the hip’s x-axis even resembles in amplitude. In contrast, the robot’s torque values of the
y-axis are up to three times higher than in human subjects. During the stance phase, this
can be explained by stronger sway of the upper body that must be compensated. Here,
suitable anticipatory motor patterns could reduce the necessary torque.
The knee joint shows a different characteristic during weight acceptance in the first part
of the stance phase. Human subjects actively flex the knee before and during heel strike.
Then the body weight is decelerated by a torque working against excessive bending of the
knee. The robot also actively bends the knee. But then the plantarflexion of the foot on
the contralateral side accepts some of the body weight, and the flexion of the knee must
actually be supported. During leg swing, in both human and robot, minor torques appear
due to elasticities and damping.
The ankle torque trajectories again show notable resemblance. The main difference is the
shift of the onset of the push-off motor pattern that occurs earlier in human subjects and
is of higher amplitude.
Ext
2
1
0
Ext
2
Hip Y
[Nm/kg]
8. Dynamic Walking Experiments
Hip X
[Nm/kg]
168
1
0
Flex −1
Flex −1
50
75
100
Ext
2
Ext
2
1
Ankle Y
[Nm/kg]
25
Knee Y
[Nm/kg]
0
1
0
Flex −1
0
25
0
25
50
75
100
50
75
% of Gait Cycle
100
0
Flex −1
0
25
50
75
% of Gait Cycle
100
Figure 8.19: Comparing joint moments in human walking (dashed lines) to those of the
simulated biped (solid lines). Torque values are normalized by body weight. Human data is
again taken from the data set provided by Vicon.
Figure 8.20 presents a similar comparison of joint power trajectories. Unfortunately, the
Vicon data set does not include any information on the power of hip ab- and adduction,
so only three joint axes are compared. As expected after the analysis of the torque output,
the hip joint’s power consumption is considerable higher in the presented robot than in
human subjects. In particular during the initiation of the leg swing, a strong power peak
can be observed. As already argued above, this might originate from the relatively strong
damping.
The knee joint again produces a very similar power progression. Both human subjects and
the robot exhibit two small peaks of power absorption during the leg swing. Those of the
robot are located closer to one another as the knee flexion is of shorter duration. The
power trajectories of the ankle joint also show strong resemblance. However, the robot
absorbs more energy during the ankle rotation at heel strike. During leg propulsion, the
robot produces slightly more power output.
In summary, the kinetic comparison renders a similar picture as the kinematic comparison.
The torque as well as the power trajectories during human and robot walking mostly
resemble each other. The main differences can be found in the flexion and extension of the
hip joint. Here, the robot produces considerably more torque and power output. Thus,
any optimization towards reducing the energy consumption should begin by considering
the control units affecting this joint.
8.2
Walking under Disturbances
The first part of this chapter illustrated that the proposed control approach is well able
to achieve efficient, dynamic walking of a bipedal robot. Already in the normal walking
Prod
4
Hip Y
[W/kg]
8.2. Walking under Disturbances
2
169
0
Abs −2
50
Prod
4
Prod
4
2
Ankle Y
[W/kg]
25
Knee Y
[W/kg]
0
2
0
Abs −2
75
100
0
25
0
Abs −2
0
25
50
75
% of Gait Cycle
100
50
75
% of Gait Cycle
100
Figure 8.20: Comparing joint power in human walking (dashed lines) to those of the simulated
biped (solid lines). Power values are normalized by body weight. Human data is taken from the
Vicon data set.
described there, local and postural reflexes help to stabilize the robot against self-induced
disturbances and against the impacts occurring at each foot contact. It is one conjecture of
this thesis that the distributed and purely reactive action of these independent control units
enables walking under the influence of additional external and unforeseen disturbances.
This section will evaluate the performance of the reflex network during perturbed walking
by examining three different kinds of disturbances as shown in Figure 8.21: walking on
sloped terrain, walking over steps, and walking while external forces are applied to the
trunk of the robot. It should be noted again that all experiments are performed with
the same set of model and control unit parameters. Only a different walking velocity
modulation factor is used in some runs to vary the amount of energy put into the system
by the motor patterns.
8.2.1
Sloped Terrain
In a first experiment, the robot is placed on sloped terrain of different angles. The robot
is dropped from a small height on the ground and the standing control is balancing the
robot. Then walking is initiated and the biped has to start and to continue to walk on the
sloped surface. Downhill and uphill walking is examined as well as locomotion on terrain
inclined to the side.
Figure 8.22 compares the walking on level ground with walking on a surface inclined
upwards by one degree and inclined downward by two and four degrees. The pelvis height
is included to illustrate the progression of the slope and to show that the robot manages
to maintain a smooth and steady gait. On the left, the figure plots both the effective as
well as the pure motor torques of the ankle joint about the y-axis. The trajectories are
170
8. Dynamic Walking Experiments
(a)
(b)
(c)
Figure 8.21: Experiments on walking under disturbances: (a) walking on a downhill slope, (b)
stepping up a platform, (c) walking with an external force acting at the torso.
averaged over the steps of the respective run. The first eight seconds of the activity of the
left (green) and right (red) Forward Velocity postural reflexes are depicted on the lower
right. During the runs on level and downhill ground, the walking velocity factor is set to
0.8, during the uphill run the factor is set to 0.95 as will be explained below. The resulting
effective walking velocity amount to approximately 1.2 m/s, differing slightly depending on
the ground inclination.
Regarding the action of the postural reflex, it can be noted that only when walking downhill
at 4◦ considerably more activity can be observed. In the other terrains, the required
postural correction is indeed different in its characteristic but similar in strength. Only at
steep inclinations, higher reflex intensity becomes necessary.
The results of the reflex action can best be observed in the ankle torque during the first
half of the gait cycle. After about 5 % of the cycle, the foot has full ground contact and the
Forward Velocity control units influence the ankle torque until the heel lifts off at about
45 %. In Figure 8.22, this interval is marked by the light red box. During this phase, foot
dorsiflexion, i. e. positive ankle torque values, push the heel to the ground and accelerate
the robot. In contrast, plantarflexion represented by negative torque values, decelerate the
robot. During uphill walking, dorsiflexion of the foot slightly predominates, but no distinct
difference to walking on level ground can be observed. The situation is more obvious as
the ground inclines forward. Already at two degrees, prominent foot plantarflexion can be
noted. This effect intensifies with increasing slope. At four degrees, a peak motor torque
of nearly −40 Nm occurs.
Another distinction in ankle torque can be noticed during the subsequent leg propulsion.
As the body mass has traveled in front of the stance leg, the situation reverses and foot
plantarflexion now results in accelerating the robot. From downhill to uphill walking, a
considerable increase in leg propulsion from −40 Nm to nearly −80 Nm can be observed.
This behavior stabilizes the robot since the gain or reduction in potential energy caused by
the slope must be compensated. The reason for the change in ankle torque can be found
in two facts: during uphill walking, the parallel spring mounted in the ankle is extended
Pelvis Z [m]
0
−40
−80
Pelvis Z [m]
−40
−80
Pelvis Z [m]
Ankle Torque Y [Nm]
100
40
0
−40
−80
25
50
75
% of Gait Cycle
100
Pelvis Z [m]
0
Ankle Torque Y [Nm]
25
50
75
% of Gait Cycle
Forw. Vel. a
0
Forw. Vel. a
Ankle Torque Y [Nm]
Level Ground
100
40
0
Downhill Slope 2 ◦
25
50
75
% of Gait Cycle
Forw. Vel. a
40
0
Downhill Slope 4 ◦
171
40
0
−40
−80
0
25
50
75
% of Gait Cycle
100
Forw. Vel. a
Ankle Torque Y [Nm]
Uphill Slope 1 ◦
8.2. Walking under Disturbances
1.0
0.5
0.0
0.0
2.0
4.0
6.0
8.0
2.0
4.0
6.0
8.0
2.0
4.0
6.0
8.0
2.0
4.0
6.0
8.0
2.0
4.0
6.0
8.0
2.0
4.0
6.0
8.0
2.0
4.0
6.0
8.0
2.0
4.0
Time [s]
6.0
8.0
1.0
0.5
0.0
0.0
1.0
0.5
0.0
0.0
1.0
0.5
0.0
0.0
1.0
0.5
0.0
0.0
1.0
0.5
0.0
0.0
1.0
0.5
0.0
0.0
1.0
0.5
0.0
0.0
Figure 8.22: Comparison of the ankle torque, the pelvis height, and the activity of the Forward
Velocity postural reflex at different ground slopes.
172
8. Dynamic Walking Experiments
further towards the end of the stance phase and thus induces more torque during leg
propulsion. Similarly, ankle torque is reduced while walking downhill. This effect occurs
without any control and illustrates the self-stabilizing properties of elastic elements. The
second reason for the change in ankle torque lies in the Leg Propulsion motor pattern.
The amplitude of its torque impulse is influenced by two modulation factors. On the one
hand, the ankle’s angle at the onset of the pattern increases or decreases the amplitude,
resulting in a behavior similar to the one of the parallel spring. On the other hand, the
control unit receives the same modulation factor as the Forward Velocity reflex based on
the trajectory of the estimated com position. By this means, the leg propulsion effect is
reinforced in case the estimated velocity is too low, and vice versa.
By repeating the experiment on different slopes, the limits of the postural control system
can be determined. At downhill inclinations of more than 5◦ , the robot does not manage
to maintain stability for a long time. The step length increases too much, resulting in
stronger oscillation of the trunk, but also in reduced lateral stability as changes in foot
placement and ankle torque have less influence. Uphill walking shows to be more difficult.
Already at minor slopes, two problems can be observed: the robot’s forward velocity
decreases at each step as additional potential energy must be raised; and due to the small
ground clearance during foot swing, the robot tends to stumble. To a certain degree, both
difficulties can be solved by increasing the walking velocity modulation factor. That way,
more energy is added to the system, and the higher torque in the hip joint during swing
initiation results in a slightly larger ground clearance. Still, starting at uphill slopes of
about two 2◦ , the robot cannot maintain walking for more than a few steps.
Stability during up- and downhill walking could be increased by adapting the parameters
of some control units and by introducing additional postural reflexes. Tuning of the step
length, the propulsion forces, or the correcting ankle torques would slightly improve the
walking abilities. To achieve a more substantial enhancement of stability, a postural reflex
adapting the orientation of the upper body seems more promising. As it can be observed
in humans, leaning backwards during downhill and bending forward during uphill walking
generates the desired effect. Such a control unit would either require an estimation of the
ground inclination based on the inertial measurement unit, or could observe the activity
and the target rating of the postural behaviors as indication on the need to change the
upper body pose. As already validated in preliminary test, the ground clearance can be
increased by introducing an additional motor pattern being stimulated during leg swing
and creating auxiliary torque impulses in the knee and hip joint.
Walking on a slope directed orthogonally to the walking direction serves as evaluation of
the lateral stabilization capabilities. The setup is the same as in the previously described
experimental runs, only the inclination of the ground points to the side of the robot.
Figure 8.23 illustrates the differences between walking on level terrain and walking on a
surface inclined to the right by 1.5◦ .
The most obvious distinction can be observed in the action of the Lateral Foot Placement
postural reflex. The inclination pushes the robot to the right with every step it takes,
resulting also in a rotation of the whole machine around the x-axis. The reflex reacts to this
disturbances by placing the feet further to the right than in normal walking. As illustrated
by the foot point diagrams, the left foot shown as green circle is placed practically in front
of the last stance foot, whereas the right foot is positioned up to 60 cm to the right. As a
8.2. Walking under Disturbances
173
Foot Points
Position Y [m]
Lat. Balance
Ankle a
Foot Points
Position Y [m]
walking dir.
−1
−2
−3
3.0
Lat. Balance
Ankle a
Level Ground
Slope Down to Right 1.5 ◦
0
4.0
5.0
6.0
7.0
8.0
Position X [m]
9.0
4.0
6.0
Time [s]
8.0
10.0
11.0
12.0
1.0
0.5
0.0
0.0
2.0
1
10.0
12.0
walking dir.
0
−1
3.0
4.0
5.0
6.0
7.0
8.0
Position X [m]
9.0
4.0
6.0
Time [s]
8.0
10.0
11.0
12.0
1.0
0.5
0.0
0.0
2.0
10.0
12.0
Figure 8.23: Comparison of lateral foot placement and the activity of the Lateral Balance
Ankle postural reflex on level terrain and ground sloped to the right.
result, the robot is walking sidewards down the slope, whereas on level ground, the minor
foot placement corrections do not deflect the robot distinctly from its path.
In addition, the Lateral Balance Ankle reflex also exhibits plainly increased activity. It
works against the robot tilting in the direction of the inclination by raising the ankle
torque about the x-axis. Since only a small leverage is available in the foot, the reflex
already reaches its saturation at some points. Due to this reflex action, the cop is located
further to the margin of the foot, thus increasing the risk of rolling over the edge of the
foot while at the same time pushing the robot to a more stable, upright position.
It shows that the robot cannot maintain stability during walking at sidewards slopes of 2◦
or more. The main reason for this is that the robot is expecting level ground at heel strike
but instead the foot must be lowered even further. Since the hip is kept rigid during this
phase, the robot has to tilt to the side to reach the ground. Again, an additional control
174
8. Dynamic Walking Experiments
walking dir.
Pelvis
Position Z [m]
1.2
1.0
0.8
1.0
2.0
3.0
4.0
2.0
3.0
4.0
5.0
6.0
7.0
8.0
9.0
5.0
6.0
Position X [m]
7.0
8.0
9.0
Foot Points
Position Y [m]
1.0
0.0
−1.0
Forward
Velocity a
1.0
1.0
0.5
0.0
2.0
2.5
3.0
3.5
4.0
4.5
5.0
Time [s]
5.5
6.0
6.5
7.0
7.5
Figure 8.24: Pelvis height, foot points, and activity of the Forward Velocity postural reflex
during walking up and down a platform of 3 cm in height. The gray box marks the position of
the platform.
unit could solve this problem. By rotation the hip towards the ground inclination, and
at the same time bending the spine joint to lean the trunk in the opposite direction, the
disturbance just described could be reduced.
8.2.2
Walking over Steps
Similar to the experiments on walking up- and downhill, traversing steps mainly poses
demands on the postural reflexes controlling the forward velocity. But in contrast to slope
walking, steps produce short peaks of disturbances and present a discontinuity to the
control system. The main difficulties lie in sudden accelerations and stumbling over the
steps.
Figure 8.24 presents the results of walking over a platform of 3 cm in height and 4 m in
length. The robot first has to step upon the platform, walk along it, and then step down
again. The platform is visualized by the gray box. The time scale of the reflex activity in
the lower plot is scaled to approximately fit to the translational progression shown in the
upper two plots.
The side view of the pelvis trajectory illustrates how the robot gains height during walking
on the platform. Additionally, it reveals two variations from its normal trajectory, as
8.2. Walking under Disturbances
175
marked by the arrows in the plot. Directly after stepping on the platform, the pelvis
stays higher at its lowest point, whereas after stepping down, it descends a bit more. The
lowest point of this trajectory is reached after heel strike before the upper body again is
raised by the stance leg, thus indicating a change in step length. More precisely, the step
length is reduced when stepping up and lengthened when stepping down. This behavior
compensates the loss respectively the gain of potential energy and results from the change
in walking velocity. The variance in step length can also be observed in the foot placement
plot. Furthermore it shows that the robot slightly walks to the left after stepping down the
platform. This arises from the lateral acceleration while stepping down with the left foot.
The lowest plot of Figure 8.24 depicts the activity of the Forward Velocity postural reflexes.
The green plot represents the left reflex and the red plot the right reflex. They correspond
to the left and right foot points shown in the plot above. It can be observed that the reflex
activity increases right after stepping on and stepping off the platform. After these events,
the activity drops back to normal level. The postural reflex tries to correct the deviations
in walking velocity by foot dorsi- or plantarflexion in a similar way as it was described
during walking on slopes.
The maximum platform height the robot can step upon is mainly restricted by the feet’s
ground clearance during the swing phase. As shown in Figure 8.9, for the major part
of the swing phase, the distance of the heel or toe segment to the ground is below 5 cm.
Already for the experiment just described, the platform had to be placed at the appropriate
distance to the robot so it would manage to step upon it. Again, an additional motor
pattern adding torque impulses in the knee and the hip would increase ground clearance
and would allow to walk over higher steps.
Walking down the platform works up to a height of 5 cm. Above this height, the robot
gains too much velocity and does not manage to finish the subsequent step in time, i. e.
the robot stumbles during the swing phase. Additional hip torque would be needed to
accelerate the swing phase. Furthermore, higher steps cause additional lateral disturbances
that the robot cannot always compensate by correcting the foot placement.
8.2.3
Constant External Forces
In a final series of experiments, a constant external force is applied to the robot’s trunk
pushing it forward or pulling it backwards. Other than during walking on a slope, the
robot does not risk to stumble on a rising inclination or to excessively lengthening its
steps. But the external force constrains the trunk movements and thus disturbs the passive
dynamics of the system.
Figure 8.25 illustrates the ankle’s power output and the activity of the Forward Velocity
postural reflex at no external force and during both a pushing and a pulling force of 10 N.
As expected, additional reflex activity can be observed in both cases of external forces.
The ankle power trajectories show only small but distinctive variations. Right after heel
strike, marked by the left arrow in the plots, negative work is done while the foot is rotated
to full ground contact. The amount of work increases while pushing the robot, resulting
in a dissipation of the additional energy. In case the robot is restricted by the force, the
negative work is reduced.
The opposite situation can be seen during leg propulsion as marked by the right arrow in
the ankle power plots. Here additional energy is put into the system when the robot is
400
200
Forw. Vel. a
Ankle Power Y [W]
8. Dynamic Walking Experiments
0
−200
0
200
0
−200
25
50
75
% of Gait Cycle
100
0.5
0.0
2.0
4.0
6.0
Time [s]
8.0
10.0
4.0
6.0
Time [s]
8.0
10.0
4.0
6.0
Time [s]
8.0
10.0
1.0
0.5
0.0
2.0
400
200
Forw. Vel. a
Ankle Power Y [W]
100
1.0
400
0
Pull Torso 10N
25
50
75
% of Gait Cycle
Forw. Vel. a
Ankle Power Y [W]
Undisturbed
Push Torso 10N
176
0
−200
0
25
50
75
% of Gait Cycle
100
1.0
0.5
0.0
2.0
Figure 8.25: Comparison of the ankle power and the activity of the Forward Velocity postural
reflex at different constant external forces.
pulled backwards, and less work is performed in case the robot is pushed forwards. Since
the power output of the motor remains more or less the same during the indicated phases,
the variations in effective power must result from the parallel spring and from damping.
Again, passive action by an elastic element shows a self-stabilizing effect.
Similar results are achieved by forces acting from different directions. For instance, a torso
force directed to the front and the left generates activity of the reflexes acting both in
the frontal and the sagittal plane, and the robot takes sidewards steps to the left. Forces
acting in walking direction should not exceed 15 N, lateral forces should remain below 8 N,
otherwise the robot will stumble.
In summary, the postural control system works satisfactorily when confronted with different
and unforeseen disturbances and manages to maintain stability at small to medium
perturbations. The suggested combination of local reflexes, postural reflexes, and elastic
elements can achieve robust dynamic walking. This is the case despite the fact that the
control system has not yet being optimized for locomotion stability. Additional control
units targeted at certain classes of disturbances could increase the robustness even further.
9. Conclusion and Outlook
This thesis approached the task of designing a locomotion control methodology for twolegged robots. The presented concept is based on findings from the study of human motion
control and can achieve dynamic, efficient, and robust walking of three-dimensional and
fully articulated bipeds. The key characteristics of the suggested control system are:
ˆ Designed above the neuron level, the control is structured as a hierarchical network of
feedback and feed-forward control units, allowing gradual stimulation and inhibition.
Neither a monolithic dynamic model nor pre-calculated trajectories are used.
ˆ Stimulation and synchronization of control units originates from spinal pattern
generators; state transitions are triggered by kinetic and kinematic events.
ˆ Passive dynamics and self-stabilizing effects of elasticities are exploited by relying
mainly on local torque commands instead of whole body joint angle control.
ˆ Postural control is based on reflexes of varying complexity. High-level postural
reflexes apply simplified local dynamic models. Reflex action is phase-dependent.
ˆ The computational demands of the control system are comparatively low since
cooperating local control units are used instead of a full-featured dynamic model.
With the aid of a dynamic simulation environment, the control approach has been applied
to an anthropomorphic biped model with 21 degrees of freedom and human-like morphology
and actuation. This validation yielded the following main results:
ˆ The control system can achieve both dynamic walking and balanced standing; it can
cope with the high complexity and the mechanical elasticities of the modeled biped.
ˆ The kinematic and kinetic analysis of the emerging, naturally looking walking gait
reveals remarkable similarities to human walking.
ˆ Only a subset of the available degrees of freedom must be actively controlled in each
phase of walking to direct the passive system dynamics towards a walking gait.
178
9. Conclusion and Outlook
ˆ The achieved velocity of up to 5 km/h with a robot of human-like size and weight
surpasses the walking speed of most state-of-the-art bipeds. At the same time,
locomotion is considerably more energy efficient than in joint angle controlled robots.
ˆ Walking and standing are robust against unknown and unexpected disturbances of
small to medium intensity like inclined ground, steps, or external forces.
ˆ The presented results and the analysis of biological motion control suggest that
human-like morphology and actuation is a necessary prerequisite to achieve humanlike walking skills.
In conclusion, this thesis has shown that a control system based on concepts of human
locomotion control applied to an anthropomorphic biped can in fact result in walking
properties comparable to those observed in humans. The main drawback of the suggested
approach remains the necessity to adjust a multitude of control unit parameters. Some
possible solutions to this problem are discussed in the outlook succeeding the detailed
summary presented in the next section.
9.1
Summary
The thesis started with an assessment of state-of-the-art biped control systems based on an
extensive analysis of related work. It was argued that despite several decades of research,
today’s robots are still far behind the locomotion capabilities of humans. The majority of
biped control systems rely on analytical approaches based on multibody dynamic modelling
and pre-calculated joint angle trajectories. Walking stability is ensured using Zero-Moment
Point constraints or similar considerations. While these methods are mathematically sound
and allow for exact and purposeful motions, they show several drawbacks like strong model
dependency, high energetic and computational costs, or low robustness to unforeseen
disturbances. In contrast, the elegant motions observed in humans are highly robust, fast,
energy efficient, and do not rely on a central model but rather emerge from a distributed
control network and the inherent system dynamics in interaction with the environment.
These facts gave rise to the main hypothesis of this thesis, namely that a control system
based on concepts of human motion control can yield human-like locomotion capabilities
in bipedal robots.
Features of the Control Concept
To verify the hypothesis mentioned above, literature on biomechanics and neuroscience
was reviewed to find structural and functional features of human motion control that can
be transferred to technical control systems. The following key aspects were identified:
human walking relies on functional morphology and leaves some of the control burden
to its “intelligent mechanics”. Inherent dynamics and self-stabilizing properties of elastic
elements are exploited to further reduce the control effort and the energy consumption.
The active control system is organized as a hierarchical network. Spinal control units issue
coordinated feed-forward patterns of muscle activity. Feedback exists on various levels of
complexity, ranging from monosynaptic reflexes to postural control. Reflex action differs
depending on the current phase of motion. emg analysis suggests that walking is divided
9.1. Summary
179
in five phases being stimulated in bilateral synchronization. Postural control is supraspinal,
i. e. it requires more than local sensor information.
Based on these insights, the suggested control concept was designed. As passive dynamics
should be exploited, no whole body joint trajectories are calculated. Rather, as in biological
systems, the motions emerge from a hierarchical network of control units. Being based
on ideas from behavioral robot control architectures, these units already have a semantic
interpretation and thus are located above the level of individual neurons found in biological
control systems. Six classes of control units were derived: locomotion modes are located at
the highest level of control and represent a form of locomotion like walking or standing.
They stimulate spinal pattern generators, state machine-like units that stimulate motion
phases based on kinetic and kinematic events instead of oscillators with fixed timing.
The motion phases then provide for synchronized stimulation of feed-forward control
commands and activate the appropriate feedback units. Feed-forward control is issued by
motor patterns in the form of local torque impulses directed at only one or a few adjacent
joints. They shape the passive system dynamics to create the desired motion. Feedback is
implemented by local and postural reflexes: local reflexes only affect spatially related joints
based on data of adjacent sensors and introduce a tight sensor-actor coupling. Postural
reflexes require whole body sensor information and can use simplified dynamic models
to calculate their reaction. Arranged in a hierarchical network based on stimulation and
inhibition, instances of these control unit classes generate the system behavior. Modulation
signals like the desired walking velocity can influence the output of control units.
Results from gait analysis and neuroscientific research helped to identify the necessary
feed-forward and feedback control units. To simplify the design of motor patterns, a
common sigmoid function has been suggested to represent all feed-forward joint commands.
The spinal pattern generator (spg) for walking and the corresponding walking phases have
been derived from findings based on emg analysis of human walking. The spg manages
five motion phases, namely weight acceptance, leg propulsion, trunk stabilization, leg
swing, and heel strike. On the basis of biomechanical gait analysis, motor patterns have
been identified for each of these phases to achieve a walking gait. Reflexes similar to those
working in human walking have been inserted.
Control of stability during walking is based on several postural reflexes. They control
the forward velocity, lateral stability, and the pose of the upper body by adjusting joint
torque or changing foot placement. Most of these reflexes derive their reaction from an
estimation of the robot’s center of mass based on a simplified dynamical model. The
normal trajectories of the center of mass projection or an extrapolated version including
its velocity are approximated. Deviation from these trajectories serve as indication for the
reaction of the postural reflexes.
The suggested control concept requires certain characteristics of the underlying mechatronic
system. For instance, beneficial effects of the passive system dynamics cannot be exploited
if the robot’s joints are self-locking or have overly high friction. Similarly, self-stabilizing
properties of elastic elements can only be used if such elastic elements are present. This
supports the statement of some biomechanics researchers claiming that biomimetic robots
should be based on functional morphology. Consequentially, the presented control was
applied to a suitable robotic system featuring an actuator with parallel springs, low friction,
and adjustable series compliance.
180
9. Conclusion and Outlook
Experimental Validation
Since no real robot fullfilling the requirements mentioned above was available, a validation
framework based on dynamical simulation has been developed. It features rigid body
mechanics, customizable inertia tensors for each segment, a penalty-based contact model
including coulomb-like friction calculation, and access to internal variables like forces and
torques acting on bodies and joints. Thus, the framework is well suited to assess the
feasibility of the suggested control concept and to analyze its performance. On top of the
simulation’s constraint mechanism for defining joints, a model of the joint itself and its
control system has been designed. It includes a parallel spring with constant rate and
equilibrium point, damping, and a combined position and torque control allowing to adjust
the series compliance. Within this framework, a bipedal robot with 6 degrees of freedom
in each leg, a 3 dof spine joint, and 3 dof arms has been modeled. The mass distribution,
the total weight, and the segment lengths were chosen to resemble typical human subjects.
Flexible layout of the simulated environment allows to easily design different experimental
setups.
Experiments in the validation framework demonstrated that the presented control concept
is indeed capable of achieving three-dimensional dynamic walking of an anthropomorphic
bipedal robot, including the transition from balanced standing to walking. The naturally
looking gait emerges from the combined control output of the phase-dependent stimulated
reflexes and motor patterns, the inherent system dynamics, and the interaction of the
robot with the environment. In fact, it shows that only about half of the 21 degrees of
freedom need to be actively controlled simultaneously during each phase of walking. The
remaining joints act passively at different degrees of compliance. Even more, the control
of only 1–4 dof by motor patterns is sufficient to direct the passive dynamics towards a
walking gait.
The presented approach is also capable to achieve stabilized standing. The control for
balanced standing is mainly based on joint compliance to adapt to the ground, and on
high joint stiffness to stabilize against external disturbances. Similar strategies can be
observed in balancing human subjects. To evaluate this so called ankle strategy, the robot
was confronted with different ground geometries and disturbances. The robot can stabilize
its posture on ground inclination of up to 30◦ and withstand short force impulses of 1000 N
or movements of the supporting platform of up to 2.5 m/s. After stabilizing, the control
system optimizes the robot’s posture by locally minimizing joint torques. This has been
demonstrated by gradually inclining the surface the robot is standing on, or by changing
the weight of a virtual backpack up to the weight of the robot itself.
Analysis of the Resulting Gait
An extensive behavioral, kinematic, and kinetic analysis of normal walking on level ground
provided detailed information on the emerging gait and the interaction of the control
units. It was illustrated that only a few kinetc and kinematic events are sufficient to
trigger the state transitions of the walking spg in bilateral synchronization. It was shown
that the behavior-based architecture iB2C with its stimulation and fusion mechanisms
is an appropriate foundation of a biologically inspired control system. No elaborated
stimulation strategies are necessary, thus simplifying the network design. The behavior
signals allow to inspect the control unit activity throughout the walking phases to gain
9.1. Summary
181
a solid understanding of the internal processes of the control network. Three different
activity characteristics can be observed in the low-level control units: motor patterns
follow a predefined activity progression; some reflexes always contribute an essential part
to normal walking and show high activity at certain events of the gait cycle; finally, other
reflexes working towards stabilization are more or less active depending on internal or
external disturbances.
Both kinematic and kinetic results show remarkable resemblance to human walking. Joint
angle trajectories show the same characteristics and even similar amplitude. The same is
true for the absolute position of body segments, joint torques, and power values. This can
be observed despite the fact that no joint angle control based on human data has been
applied. Reasons for this similarity can be found in the likewise exploitation of passive
system dynamics at comparable segment masses and lengths, and in the fact that indeed a
control system close to the human motion control has been found. These results might even
serve as indication that some assumptions of neuroscientists on the function of locomotion
control in humans that were used in this work are pointing in the right direction.
Walking Velocity, Efficiency, and Robustness
Inspection of the segment translation reveals the walking velocity of the robot. Varying
the velocity modulation factor allows to change the walking velocity between 1.1 m/s and
1.4 m/s. This shows that the mechanism of passing modulation signals to control units to
scale their control output is working. Similarly, modulation of the walking direction or
the step height could be implemented. The maximum velocity of about 5 km/h for a robot
of human-like weight and height surpasses the walking speed of most of today’s bipeds.
To compare the walking velocity of legged animals and robots, Alexander suggested to
use the dimensionless Froude number defined as Fr = v2/gl, where v is the velocity, g
the gravitational acceleration, and l the leg length [Alexander 84]. For the presented
biped, this number amounts to Fr = 0.21. At the time of writing, the fastest walking
fully articulated biped is the robot Asimo, walking at a speed of 4 km/h, and running even
faster [Takenaka 09a]. This results in a similar Froude number of Fr = 0.19, whereas
KHR-4 comes to Fr = 0.02, Johnnie to 0.05, or HRP-2 to Fr = 0.07. Robots with a
biologically motivated control or actuation system generally achieve high values, e. g. the
robots Spring Flamingo and Rabbid both have a Froude number of Fr = 0.18, and the
23 cm small RunBot even reaches Fr = 0.28. The last three robots are supported by a
rotating beam and only walk in the sagittal plane, so it still has to be shown whether
their control approaches scale to three-dimensional walking. For comparison, fast human
walking yields a Froude number of about Fr = 0.5.
To assess the efficiency of the resulting walking gait, an estimation of the joint work
and power output based on the torque and rotational displacement has been done. The
overall mechanical power consumption during walking adds up to a bit more than 300 W.
Normalizing this value to the robot’s weight and the walking velocity gives an approximation
of the costs of transport. Comparing this result to a similar estimation of the robot Asimo as
a typical representative for joint angle controlled machines yields an efficiency improvement
by a factor of five. Still, the energy consumption is not as low as in humans or actuated
passive walkers. It should be noted that the control system has not yet been optimized
towards low energy consumption at all. Of course, simulation can only provide a rough
guess on the necessary power when applying the control concept to a real robot, but
182
9. Conclusion and Outlook
nevertheless a considerable energetic benefit is to be expected. The necessary requirements
for the peak values of joint angles, torques, or power can easily be met by today’s hardware.
Still, the design of an actuator featuring the characteristics assumed in this work is a
matter of ongoing research. First efforts in this direction made in the scope of this thesis
have been introduced.
Finally, the experiments on walking under external disturbances attribute a considerable
robustness to the control system. Walking on uphill and downhill slopes as well as over
steps of up to 5 cm demonstated the capabilities of postural reflexes to regulate the forward
velocity by varying step length and ankle torque. With the ground plane inclined to the
side, lateral stabilization by foot placement adaptation and correcting ankle torque could
be illustrated. Also, constant external forces acting on the trunk could be compensated by
the postural reflexes. In all cases, self-stabilizing effects of the elastic elements could be
observed to some degree. The analyzed disturbances were of small to medium intensity
and a priori unknown to the control system. No external sensor systems like cameras or
range finders captured the ground geometry. Considering that the design of a postural
control system was not the main focus of this thesis, the resulting walking robustness is
more than satisfactory. It shows that a combination of local reflexes, independent postural
reflexes using simplified dynamical models, and parallel mechanical elasticity can yield
a capable stability control. It was pointed out that tuning of the existing control units
and adding further postural reflexes could increase the robustness of the robot against
disturbances.
9.2
Future Work
Several refinements and extensions of the presented control system are conceivable. One
potential improvement of the existing control units is the reduction of the energy consumption. As already mentioned in the previous chapter, the major part of the mechanical
work is currently done by the hip joint during trunk stabilization and leg swing initiation.
Improved timing and slower accelerations could already reduce the necessary energy. Furthermore, introducing an anticipatory motor pattern for deceleration the upper body at
heel strike could lead to further enhancements.
Possible ways to increase postural stability have been proposed at the end of the previous
chapter. Optimizing the existing postural reflexes and the estimation of the extrapolated
center of mass trajectory would already enhance stability. To further increase walking
robustness, additional control units would have to be introduced. For instance, based on
an estimation of the inclination of the ground plane, adjustments of the upper trunk and
pelvis orientation would facilitate walking on sloped ground. Observation of the activity as
well as the target rating of reflexes can indicate the necessity to change modulation factors
like the walking velocity, or to stimulate additional control units, e. g. for generating higher
leg swings to increase ground clearance.
Such a control unit responsible for raising the foot during the leg swing could be implemented by an additional motor pattern being superimposed on the action of the already
existing control units during the swing phase. Ivanenko et al. have shown that the emg
activity observed during lifting a leg while standing can again be found when human
subjects are ask to lift their legs higher during walking. This suggests a reuse of a muscle
stimulation pattern that could be transferred as motor pattern unit acting on the knee
9.2. Future Work
learning
mode
183
global
rating
~e
s
~a
F (~e, s,~ı )
r
~ı
~u
~esensors
~a
F (l, g, a, r, ~e )
r
~u
Figure 9.1: Connecting a reinforcement learning module to the control signals of an iB2C
behavior. From [Steiner 09], p41.
and hip joint. Making use of the behavior-based weighted sum fusion method applied
during the fusion of torque commands allows a simple insertion of such a control unit to
the existing network. Preliminary tests in this direction have already yielded successful
results.
In combination with an additional modulation signal, a similar approach could be used to
include curve walking. A motor pattern adding a torque impulse to the z-axis of the hip
joint during the stance phase would initiate the necessary body rotation. Depending on
the resulting self-induced disturbances, the postural reflexes would have to be modulated
by the walking direction signal. With additional external sensors like a vision system,
walking towards a target or directional corrections during straight walking would become
possible.
Of course it is desirable to add further locomotion skills to the control system. A first step
would be the inclusion of walking termination. In preliminary experiments, it appeared
to be sufficient to reduce the walking velocity, shorten the step length, and switch back
to standing mode after the heel contact of the last step. This procedure will then be
implemented by a gait transition control unit similar to the locomotion mode for walking
initiation. Neuroscientists assume that the same five emg components that explain muscle
activity during walking are also deployed during running. They only differ in timing and
amplitude. It would be interesting to see whether a running gait could also be achieved by
a similar reuse of motor patterns for the presented biped.
Up to this point, the suggested future improvements do not require any change of the
control concept presented in this thesis. However, the existing drawback of having to
manually tune the parameters of the control units and of the biped model persists. While
it helps that the units have a semantic interpretation and some parameters can be deduced
from their physical meaning, there still remains a set of parameters that are difficult to
optimize empirically. One possibility to support the refinement of control parameters
could be the inclusion of machine learning algorithms. In a first study, the integration
of reinforcement learning into the behavior-based robot control architecture iB2C was
investigated [Steiner 09]. As shown in Figure 9.1, a generalized learning module was
184
9. Conclusion and Outlook
inserted behind each behavior module that should be tuned. Based on Q- or Q(λ)-learning
and the iB2C target rating signal used as reward, the activity signal and the control
signals of the behavior can be modified by a learned factor or offset. It was shown that
the determination of a purely local reward will not be sufficient for the application of
Q-learning to a complex and interleaved problem like bipedal walking. However, the
definition of a global reward suitable for reinforcement learning algorithms is far from
being straight-forward.
Another possible approach would be the integration of optimization techniques. As
already mentioned, first steps in this direction have been done during the development
on the monopod prototype [Luksch 07]. The applied method based on multiple shooting
optimization techniques required a special representation of a complete dynamics model
of the robot and its environment. It allows to optimize mechanical parameters as well
as to find an optimal control based on joint torque commands. One idea would be to
include the biologically motivated control system as additional layer and find optimal
parameters instead of directly searching for torque trajectories. To this purpose, a suitable
representation of the control system that can be used by the optimization tools or an
integration of the optimization algorithms in the presented framework would have to
be designed. Alternative optimization algorithms could be considered. In any case, the
problem of finding an appropriate target functional remains.
Finally, still no solution exists to the problem of finding a joint actuator featuring the
characteristics required by some parts of the presented control concept. Several groups are
working on a design for a robotic actuation system with adjustable compliance. Examples
are the series elastic actuators used in the robot Spring Flamingo, the maccepa concept
based on a spring and two actuators for changing the stiffness and the equilibrium point,
amasc working with large leaf springs, and pneumatic muscles [Pratt 95a, Ham 06b,
Hurst 08, Vanderborght 06]. All these approaches have individual drawbacks and do not
fulfill all requirements stated in Chapter 8. First efforts of the author and others towards
the development of an actuator have been briefly introduced in this work. Initial results
on the combination of electrical motors, parallel elastic elements, and compliance control
seem promising [Wahl 09, Blank 09a, Blank 09b]. Further ideas deal with the introduction
of an additional series elasticity and the use of a different motor and gearbox.
The application of the suggested control concept to a real robot should be possible without
major changes except for the adaptation of parameters. The dynamics simulation might
not include all effects found in a real machine, but it features at least all major physical
characteristics relevant during walking, thus giving the insights of this thesis significant
validity. Since the control concept is based on reactive units and does not depend on
an exact model of the robot and its environment, additional discrepancy introduced by
the mechanical or electronic components will be inherently compensated up to a certain
degree.
In conclusion, this thesis has shown that a control methodology based on the transfer of
concepts found in human motion control can yield remarkable locomotion skills in bipedal
robot. Already now, the presented robot can compete with today’s most advanced bipeds
regarding walking velocity, efficiency, and robustness. Thanks to the flexible, modular
design and the behavior-based architecture, the control network remains easily extensible,
thus allowing to smoothly implement the suggested future work and to advance the control
system’s capabilities even further.
A. Biomechanical and Anatomical
Terms
Throughout this thesis, biomechanical terms are used as they unambiguous describe
processes during bipedal walking. While most terms are be explained at first appearance,
this appendix again summarizes those expressions that can be more easily apprehended
figuratively. Therefore, the upper part of Figure A.1 illustrates anatomical directions.
Commonly, these are given relative to the center of the body located in the abdomen. The
lower part of the figure depicts the horizontal and vertical planes as well as the axes used
to define a coordinate system of the human body. Again, these planes and lines all go
through the center of the body.
Figure A.2 explains the terms used in biomechanics to describe the direction of joint
rotations. These expressions are extensively used in Chapter 3 during the discussion of
biomechanical gait studies, but are also adopted during the presentation of control unit
functions and the analysis of the robot’s walking gait. The figure is confined to the flexions,
extensions, ab- and adductions, and rotations of those joints that have major influence
during the emergence of walking.
At several points of this text, the anatomical names of human bones are used to avoid
ambiguity. Figure A.3 thus presents a labeled diagram of the human skeleton in anterior
and posterior view to indicate the location of these bones.
During the design of motor patterns and reflexes, data on muscle activity was consulted
repeatedly in form of emg analysis. To transfer these biomechanical and neuroscientific
results to technical control units, the location and the function of the respective muscles
must be known. To this end, Table A.1 lists the muscles involved in human walking along
with their established abbreviation and the joint action resulting from their contraction.
Biarticular muscle span two joint and thus yield the movement of more than only one joint.
Finally, Figure A.4 shows a diagram of most of the major skeletal muscles to indicate their
location and insertion point.
186
A. Biomechanical and Anatomical Terms
Figure A.1: Anatomical directions and body planes. From [Hamill 03], p15,p22.
187
Figure A.2: Directions of joint flexion, extension, abduction, adduction, and rotation.
From [Hamill 03], pp16–19.
188
A. Biomechanical and Anatomical Terms
Abbrev.
Shoulder
BIC
DELT
LD
TRAP
Muscle
Complex
Biceps brachii
Deltoid
Latissimus dorsi
Trapezius
Action
Arm abduction
Arm abduction, flexion, horiz. flexion & extension
Arm internal rotation, adduction, extension
Shoulder girdle upw. rot., elevation, retract.; arm abd.
Forearm
BIC
Biceps brachii
TRIC
Triceps brachii
Forearm flexion, supination
Forearm extension
Hip Joint
ADDL
ADDM
BF
GM
GMed
RF
SART
ST
TFL
Thigh
Thigh
Thigh
Thigh
Thigh
Thigh
Thigh
Thigh
Thigh
Adductor longus
Adductor magnus
Biceps femoris
Gluteus maximus
Gluteus medius
Rectus femoris
Sartorius
Semitendinosus
Tensor fascia latae
adduction, internal rotation
adduction, internal rotation
extension; shank flexion, external rotation
extension, external rotation
abduction, internal rotation
flexion; leg extension
flexion, external rot.; leg flexion, internal rot.
extension, internal rot.; leg flexion, intern. rot.
flexion, abduction, internal rotation
Knee Joint
LG
Gastrocnemius lateralis
MG
Gastrocnemius medialis
RF
Rectus femoris
SART
Sartorius
VLat
Vastus lateralis
VMed
Vastus medialis
Leg flexion; foot plantarflexion
Leg flexion; foot plantarflexion
Thigh flexion; leg extension
Thigh flexion, external rot.; leg flexion, internal rot.
Leg extension
Leg extension
Ankle and Foot
EDL
Extensor digitorium brevis
FDB
Flexor digitorium brevis
LG
Gastrocnemius lateralis
MG
Gastrocnemius medialis
PERB
Peroneus brevis
PERL
Peroneus longus
SOL
Soleus
TA
Tibialis anterior
TP
Tibialis posterior
Toe extension
Toe flexion
Leg flexion; foot plantarflexion
Leg flexion; foot plantarflexion
Foot eversion, plantarflexion
Foot eversion, plantarflexion; forefoot abduction
Foot plantarflexion
Foot dorsiflexion, inversion
Foot inversion, plantarflexion
Vertebral
ES
ILIO
OE
OI
RAM
RAS
STER
Trunk extension
Thigh flexion; trunk flexion
Trunk flexion, lateral flexion, rotation to opposite side
Trunk flexion, lateral flexion, rotation to same side
Trunk flexion
Trunk flexion
Head, cervical flexion, lateral flex., rot. to same side
Column
Erector spinae
Iliopsoas
External oblique
Internal oblique
Rectus abdominis middle
Rectus abdominis superior
Sternocleidomastoid
Table A.1: Skeletal muscles involved during human walking. Muscle actions from [Hamill 03].
xx
189
#
! "
#
!$ "
%
% !%"
#&'
Figure A.3: Diagram of major human body bones (Source: Wikimedia Commons, public
domain).
190
A. Biomechanical and Anatomical Terms
Figure A.4: Diagram of the skeletal muscles of the human body (Source: Wikimedia Commons,
public domain).
B. Dynamics Simulation Framework
As already motivated in the main part of this thesis, a suitable simulation environment
is inevitable for the validation of the suggested control concept. Building a real robot
possessing all biologically motivated features necessary for the control system unfortunately
is out of question in the scope of this work. Consequently, the existing simulation and
visualization framework SimVis3D has been extended by the capability to simulate the
dynamics of rigid bodies by embedding a physics engine. The selected physics simulation
tool features rigid body mechanics, customizable inertia tensors for each segment, a
penalty-based contact model including coulomb-like friction calculation, and access to
internal variables like forces and torques acting on bodies and and joint Thus, it provides
a sufficiently details simulation frameworm to evaluate the feasibility of the suggested
control concept and to analyze its performance. Flexible mechanisms to design different
environment allow to test the control system in various setups. This appendix gives
additional information on these topics and provide the scene description file used for the
experiments of this thesis. A few details on the graphical tools are provided and the
walking gait is visualized in form of an image sequence extracted from the simulation
framework.
B.1
MCA2 and SimVis3D
SimVis3D1 has been and is being developed at the Robotics Research Lab for simulating
robots and their environments [Braun 07]. Being part of robotics control framework mca22 ,
it can directly be connected to the robot control system substituting an actual robot.
SimVis3D is built on top of the rendering library Coin3D3 , an implementation of the
OpenInventor standard by sgi. It manages a tree-like scene graph containing the graphical
elements, geometrical transformations, and additional annotation. This graph can then be
rendered by OpenGL for visualization within the mca2 user interface.
The initial scene description is provided in form of a xml file as the one shown in Listing B.1.
Three types of entries can be added to the scene: parts, elements, and sensors.
1
http://rrlib.cs.uni-kl.de/simvis3d/
http://rrlib.cs.uni-kl.de/mca2-kl/
3
http://www.coin3d.org
2
192
B. Dynamics Simulation Framework
Listing B.1: Sample scene description file of SimVis3D.
1
2
3
4
5
< part file = " world . iv " name = " WORLD " attached_to = " ROOT " '
pose_offset = " 0 0 0 0 0 0 " / >
< part file = " robot . iv " name = " ROBOT " attached_to = " WORLD " '
pose_offset = " 0 0 0 0 0 0 " / >
< part file = " manipulator . iv " name = " MANIPULATOR " '
attached_to = " WORLD " pose_offset = " 0.5 0 0.8 0 0 0 " / >
<element type = " pose " name = " R_POSE " attached_to = " ROBOT " x = " 1 "
y = " 2 " z = " 3 " roll = " 0 " pitch = " 0 " yaw = " -90 " / >
< sensor type = " camera " name = " R_CAM " attached_to = " ROBOT " '
pose_offset = " 3 0 5 0 0 0 " / >
'
6
7
8
9
10
11
<! -- entries for physics engine -- >
<element type = " physics_static " name = " world " '
collision_geom = " world . col " attached_to = " WORLD " / >
<element type = " physics_object " name = " robot " '
collision_geom = " robot . col " mass = " 35.0 " velocity = " 0 0 0 " '
omega = " 0 0 0 " material = " robot1 " attached_to = " ROBOT " / >
<element type = " physics_object " name = " manipulator " mass = " 8.0 "
material = " robot1 " collision_geom = " manipulator . col " '
attached_to = " MANIPULATOR " / >
<element type = " physics_joint " name = " arm_joint " '
joint_type = " hinge " actuation = " pos " parent = " robot " '
child = " manipulator " min = " -1.0 " max = " 2.0 " pivot = " 0 0 0 " '
direction = " 1 0 0 " motor = " 80.0 100.0 30.0 " '
attached_to = " MANIPULATOR " / >
'
A part inserts a scene subgraph loaded from an external file, containing geometries to be
visualized and simulated. It is added to the existing graph at the insertion point indicated
by the attached_to keyword, thus inheriting the coordinate frame valid at this point.
A part creates a new insertion point by its own name which can be used for building
hierarchical structures of objects. Furthermore, a static pose offset can be given, thus
adding a transformation node to the scene graph.
Element entries insert objects for modifying the scene during initiation or during runtime. Normally, these objects will add nodes at the given insertion point and extend the
parameter interface of SimVis3D which can be accessed and changed during simulation.
The element objects also can read configuration options given as additional xml tags in
the scene description file. Line 4 of Listing B.1 illustrates the insertion of a pose element.
It will add a transformation node to the scene graph at the ROBOT insertion point, using
the tags x, y, z, roll, pitch, and yaw for the initial coordinate transformation.
Similar to element entries, sensor entries create sensor objects as shown in line 5 of
Listing B.1. These objects can insert sensory systems like cameras or distance sensors at
the given insertion point. By designing new element or sensor types, SimVis3D can easily
be extended to support new features required by the developer.
B.2. Embedding of the Physics Engine
193
Listing B.2: Sample of a collision geometry file.
1
2
3
4
5
< content >
< c y l i n d e r pose_offset = " 0 0 -0.65 0 1.5708 0 " radius = " 0.04 " '
height = " 0.14 " color_r = " 0.6 " color_g = " 0.6 " color_b = " 0.2 " / >
< sphere pose_offset = " 0 0.1 -0.27 0 0 0 " radius_x = " 0.1 " '
radius_y = " 0.2 " radius_z = " 0.1 " color_r = " 0.4 " color_g = " 0.6 " '
color_b = " 0.4 " / >
<cube pose_offset = " 0 0 0 0 0 0 " size_x = " 1.2 " size_y = " 0.5 " '
size_z = " 0.1 " color_r = " 0.5 " color_g = " 0.5 " color_b = " 0.5 " / >
</ content >
B.2
Embedding of the Physics Engine
The mechanism of adding new element types is used to embed the physics engine into
SimVis3D. As rigid body dynamics calculation package, the Newton Game Dynamics
library4 is applied. Three new element types are defined to modify the scene graph and pass
information to the physics library: physics static, physics object, and physics joint.
Elements of the type physics static describe the stationary environment. As illustrated
in line 8 of Listing B.1, only a collision geometry needs to be provided. Additionally, the
object’s material can be passed, otherwise it falls back to the default material.
In contrast to static objects, physics object entries as those added in line 9 and line 10
define the movable rigid bodies of the simulation scene. Besides the collision geometry
and the material, a mass value is assigned to these objects. The inertia tensor of the
object is calculated with the assumption that this mass is distributed evenly within the
given collision body. In addition, an initial linear and rotatory velocity of the object can
be set by the velocity and omega parameters. If omitted, these values are set to zero.
Each physics object entry inserts a transformation matrix node to the scene graph at
the given insertion point and exports its values as SimVis3D parameters. After every
simulation cycle, the physics engine will set the current pose of each object by accessing
the corresponding matrix entries within the mca2 blackboard containing the SimVis3D
parameters.
Entries of the type physics joint define constraints acting between two physical objects.
Chapter 6 already introduced the joint mechanism of the Newton library. The necessary
parameters are set within the xml entries as shown in line 11 of the listing. The parent
and child parameters indicate which objects are affected by the joint. Leaving the parent
object empty attaches the child object to the static world. The joint_type parameter
determines which kind of constraints are added to the objects. Possible joint types include
fixed joints, hinges, sliders, ball joints, or force and torque sensors. Some joint types
offer different actuation methods, e. g. mechanical stops, position control, springs, or the
biological motivated actuator used in this thesis. The actuator can be specified by passing
further parameters such as min, max, motor, or spring. The joint location is defined by
giving the pivot point about which the joint revolves. Its orientation respectively its
translational movement axis is set by the direction parameter. Joint elements do not
modify the scene graph but only pass information to the physics engine.
4
http://www.newtondynamics.com
194
B. Dynamics Simulation Framework
Listing B.3: Sample of a material interaction file.
1
2
3
4
5
6
7
8
< content >
< i n t e r a c t i o n mat1 = " default " mat2 = " default " softness = " 0.05 " '
elasticity = " 0.4 " static_friction = " 1.0 " '
kinetic_friction = " 0.5 " callback = " generic " / >
< i n t e r a c t i o n mat1 = " default " mat2 = " robot1 " elasticity = " 0.3 " '
softness = " 0.3 " static_friction = " 0.8 " kinetic_friction = " 0.5 "
callback = " generic " / >
< i n t e r a c t i o n mat1 = " default " mat2 = " robot2 " elasticity = " 0.05 " '
softness = " 0.5 " static_friction = " 0.7 " kinetic_friction = " 0.4 "
callback = " generic " / >
< i n t e r a c t i o n mat1 = " robot1 " mat2 = " robot1 " collidable = " 0 " '
callback = " generic " / >
< i n t e r a c t i o n mat1 = " robot1 " mat2 = " robot2 " collidable = " 0 " '
callback = " generic " / >
< i n t e r a c t i o n mat1 = " robot2 " mat2 = " robot2 " collidable = " 0 " / >
</ content >
'
'
Joint entries as well as physical object entries can extend the interface of the mca2 module
encapsulating the physics engine. This is done by adding controller input and sensor
output edges to the module that can then be accessed by the control system. A joint will
normally insert controller input edges to set target values of the joint controller. Sensor
information passed to the control system can include data on the current joint position or
the acting torque. An inertial measurement unit provides the forces and torques necessary
to sustain the object constraints. By adding the sensors or controls parameters to the
xml entry of physical objects, the current pose of the object can be provided or an external
force can be applied to it via controller input edges.
The collision geometry necessary for static and dynamic physical objects is described by an
xml file as the one shown in Listing B.2. Collision geometries can either be composed of a
list of object primitives or of a mesh of triangles. The meshes are passed as an additional
file containing a list of triangles defined by three points each. Triangle meshes are only
allowed for static objects to reduce the complexity of collision checks. Possible geometrical
primitives available to approximate the object shape include spheres, cubes, and cylinders.
Each shape is positioned by six pose values in object local coordinates and parameters
defining the expansions of the primitive. The optional color parameters can be evaluated
by a script which can convert collision geometry files to the OpenInventor format. These
visualizations can directly be used in SimVis3D part entries or can help to compare the
collision geometry to an existing more elaborated visualization object.
In case of two objects colliding, their materials are evaluated to determine the collision
behavior. Listing B.3 shows a sample file containing the pairwise definitions of material
interaction. For every two materials a softness and elasticity values can be set specifying the
behavior of the joints that are created in case of a collision. The static and kinetic friction
can also be defined. Additionally, collisions can be discarded by setting the collidable
option to zero. Should an even more sophisticated collision behavior be necessary, a
different callback routine can be specified.
B.3. Interface to Control System and Simulation
195
Figure B.1: Graphical user interface mcagui for accessing the control system and the simulation.
B.3
Interface to Control System and Simulation
The robotics control framework mca2 comes with a set of graphical tools to access the
control system and the simulation framework during runtime. Figure B.1 shows a section
of the graphical user interface mcagui with the configuration used during the development
and validation of the presented control system.
A 3D visualization of the simulated scene allows to directly observe the effects of the control
system (1). Several cameras can be defined and moved freely. The physics simulation can
be resetted, interrupted, or executed stepwise by a control panel (2). As the simulation runs
only a few times slower than realtime, it is possible to interactively control disturbances
or start predefined experiments (3). Arbitrary forces can be applied to robot segments
and experimental results can be recorded. The walking velocity modulation factor can
also be set in the user interface (4). Several graphical widgets can be connected to sensor
information provided by the simulation framework or the control system (5). Finally, the
iB2C behavior signals activation, activity, and target rating of all units of the control
network can be inspected (6). This provides a quick and clear glimpse on the current
control processes.
A more detailed view on the activity and interaction of control units is provided by the
mcabrowser. This graphical tool connects to the control system at runtime and allows to
navigate through the module hierarchy as well as to adapt the parameters of all control
units. Figure B.2 depicts screenshots of three control groups. The first image shows the
196
B. Dynamics Simulation Framework
(a)
(b)
(c)
Figure B.2: Visualization of the control system using mcabrowser. (a) Connection of the brain,
the spinal cord, and the joint groups. (b) Locomotion modes inside the brain group. (c) Control
units of a leg group during walking phase 1.
highest level of the control system. It visualizes the main hierarchy composed of the brain
group, the spinal cord group, and the four joint groups representing the upper and lower
body and the two legs. Figure B.2b and c show the brain and one of the leg groups in
iB2C visualization mode. The yellow, green, and red horizontal bars in the module boxes
indicate the behavior’s current activation, activity, and target rating. Green and blue
connecting edges mark the transfer of stimulation or derived signals. Red connections
signalize inhibition. This view allows to easily grasp the activity of control units during
individual motion phases and to debug possible implementation errors.
Finally, Figure B.3 illustrates one cycle of the normal walking gait on even ground by
giving a sequence of images recorded by the simulation visualization plug-in in the mcagui.
The time interval between two pictures amounts to 75 ms.
B.3. Interface to Control System and Simulation
Figure B.3: Image sequence of one gait cycle of normal walking on even ground.
197
198
B.4
B. Dynamics Simulation Framework
Simulation Scenario for Biped Experiments
The scenario used for most experiments described in this thesis is given by the scene
description file printed in the listing below. The right-hand occurrences of all segments
existing for both the left and the right side of the robot have been omitted for brevity.
The environment features a large plane for the robot to walk on, a movable and rotatable
plate used for the stable standing experiments, a small movable ball to apply arbitrary
disturbances, and to force plates to measure ground reaction forces. The masses of all
robot segments can be found in the section on the physical objects starting in line 35. All
joints employed in the robot model are built of the type torquepos spring implementing
the actuation described in Chapter 6. The three parameters passed by the motor keyword
represent the maximum motor torque and the proportional factors for the position and
velocity control loop. The parallel spring is described by the three spring parameters,
namely the equilibrium position, the spring rate, and the damper constant.
Listing B.4: Scene description file used for most of the experiments.
1
2
<? xml version = " 1.0 " ? >
<content unit = " meters " >
3
4
5
6
7
8
9
10
11
<! -- PART D E F I N I T I O N S -- >
<part file = " biped / vis_obj / plane . iv " name = " PLANE " attached_to = " ROOT " pose_offset = " 12.0 '
0 0 0 0 0" />
<part file = " biped / vis_obj / platform . iv " name = " PLATFORM " attached_to = " ROOT " '
pose_offset = " 4.5 0 -0.04 0 0 0 " / >
<part file = " biped / vis_obj / sphere . iv " name = " SPHERE " attached_to = " ROOT " '
pose_offset = " -0.5 0 0.8 0 0 0 " / >
<part file = " biped / vis_obj / sphere . iv " name = " SPHERE2 " attached_to = " ROOT " pose_offset = " 0 '
0 -0.05 0 0 0 " / >
<part file = " biped / vis_obj / plate . iv " name = " PLATE " attached_to = " ROOT " pose_offset = " 0 0 '
-10.05 0 0 0 " / >
<part file = " biped / vis_obj / force_plate . iv " name = " F O RC E _P L AT E_ L EF T " attached_to = " ROOT " '
pose_offset = " 0.6 0.255 -0.02 0 0 0 " / >
<part file = " biped / vis_obj / force_plate . iv " name = " F O R C E _ P L A T E _ R I G H T " attached_to = " ROOT " '
pose_offset = " 0.6 -0.255 -0.02 0 0 0 " / >
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<part file = " biped / vis_obj / empty . iv " name = " BIPED_HOOK " attached_to = " ROOT " '
pose_offset = " 0 0 0.08 0 0 0 " / >
<part file = " biped / vis_obj / head . iv " name = " HEAD " attached_to = " BIPED_HOOK " '
pose_offset = " 0.02 0 1.73 0 0 0 " / >
<part file = " biped / vis_obj / ins . iv " name = " INS " attached_to = " BIPED_HOOK " '
pose_offset = " 0.02 0 1.15 0 0 0 " / >
<part file = " biped / vis_obj / torso . iv " name = " TORSO " attached_to = " BIPED_HOOK " '
pose_offset = " 0 0 1.75 0 0 0 " / >
<part file = " biped / vis_obj / abdomen . iv " name = " ABDOMEN " attached_to = " BIPED_HOOK " '
pose_offset = " -0.02 0 1.15 0 0 0 " / >
<part file = " biped / vis_obj / spine_y . iv " name = " SPINE_Y " attached_to = " BIPED_HOOK " '
pose_offset = " 0 0 1.10 0 0 0 " / >
<part file = " biped / vis_obj / spine_x . iv " name = " SPINE_X " attached_to = " BIPED_HOOK " '
pose_offset = " 0 0 1.10 0 0 0 " / >
<part file = " biped / vis_obj / pelvis . iv " name = " PELVIS " attached_to = " BIPED_HOOK " '
pose_offset = " 0 0 1.10 0 0 0 " / >
<part file = " biped / vis_obj / shoulder . iv " name = " SHOULDER_LEFT " attached_to = " BIPED_HOOK " '
pose_offset = " 0 0.20 1.5 0 0 0 " / >
<part file = " biped / vis_obj / humerus . iv " name = " HUMERUS_LEFT " attached_to = " BIPED_HOOK " '
pose_offset = " 0 0.20 1.5 0 0 0 " / >
<part file = " biped / vis_obj / radius . iv " name = " RADIUS_LEFT " attached_to = " BIPED_HOOK " '
pose_offset = " 0 0.20 1.18 0 0 0 " / >
<part file = " biped / vis_obj / hip_y . iv " name = " HIP_Y_LEFT " attached_to = " BIPED_HOOK " '
pose_offset = " 0 0.13 1.0 0 0 0 " / >
<part file = " biped / vis_obj / hip_z . iv " name = " HIP_Z_LEFT " attached_to = " BIPED_HOOK " '
pose_offset = " 0 0.13 1.0 -3 0 0 " / >
<part file = " biped / vis_obj / femur_left . iv " name = " FEMUR_LEFT " attached_to = " BIPED_HOOK " '
pose_offset = " 0 0.13 1.0 -3 0 0 " / >
B.4. Simulation Scenario for Biped Experiments
27
28
29
30
31
32
33
34
<part file = " biped / vis_obj / tibia . iv " name = " TIBIA_LEFT " attached_to = " BIPED_HOOK " '
pose_offset = " 0 0.11 0.58 0 0 0 " / >
<part file = " biped / vis_obj / ankle1 . iv " name = " ANKLE1_LEFT " attached_to = " BIPED_HOOK " '
pose_offset = " 0 0.11 0.16 0 0 0 " / >
<part file = " biped / vis_obj / ankle2 . iv " name = " ANKLE2_LEFT " attached_to = " BIPED_HOOK " '
pose_offset = " 0 0.11 0.16 0 0 0 " / >
<part file = " biped / vis_obj / foot2 . iv " name = " FOOT_LEFT " attached_to = " BIPED_HOOK " '
pose_offset = " 0 0.11 0.11 0 0 0 " / >
<part file = " biped / vis_obj / toe . iv " name = " INNER_TOE_LEFT " attached_to = " BIPED_HOOK " '
pose_offset = " 0.10 0.06 0.070 0 0 0 " / >
<part file = " biped / vis_obj / toe . iv " name = " OUTER_TOE_LEFT " attached_to = " BIPED_HOOK " '
pose_offset = " 0.10 0.16 0.070 0 0 0 " / >
<part file = " biped / vis_obj / heel . iv " name = " INNE R_HE EL_L EFT " attached_to = " BIPED_HOOK "
pose_offset = " -0.06 0.07 0.070 0 0 0 " / >
<part file = " biped / vis_obj / heel . iv " name = " OUTE R_HE EL_L EFT " attached_to = " BIPED_HOOK "
pose_offset = " -0.06 0.15 0.070 0 0 0 " / >
199
'
'
35
36
37
38
39
40
41
42
43
<! -- PHYSICAL OBJECTS -- >
<element name = " environment " type = " physics_static " '
collision_geom = " biped / col_obj / plane . col " attached_to = " PLANE " / >
<element name = " platform " type = " physics_static " '
collision_geom = " biped / col_obj / platform . col " attached_to = " PLATFORM " / >
<element name = " sphere " type = " physics_object " sensors = " velocities " mass = " 5.0 " '
velocity = " 0 0 0 " omega = " 0 0 0 " material = " manipulate " '
collision_geom = " biped / col_obj / sphere . col " attached_to = " SPHERE " / >
<element name = " sphere2 " type = " physics_object " sensors = " velocities " mass = " 40.0 " '
velocity = " 0 0 0 " omega = " 0 0 0 " material = " manipulate " '
collision_geom = " biped / col_obj / sphere . col " attached_to = " SPHERE2 " / >
<element name = " plate " type = " physics_object " sensors = " velocities " mass = " 10.0 " '
velocity = " 0 0 0 " omega = " 0 0 0 " material = " manipulate " '
collision_geom = " biped / col_obj / plate . col " attached_to = " PLATE " / >
<element name = " f o rc e _p l at e _l e ft " type = " physics_object " mass = " 10.0 " velocity = " 0 0 0 " '
omega = " 0 0 0 " material = " manipulate " '
collision_geom = " biped / col_obj / force_plate . col " attached_to = " F O RC E _P L AT E _L E FT " / >
<element name = " f o r c e _ p l a t e _ r i g h t " type = " physics_object " mass = " 10.0 " velocity = " 0 0 0 " '
omega = " 0 0 0 " material = " manipulate " '
collision_geom = " biped / col_obj / force_plate . col " attached_to = " F O R C E _ P L A T E _ R I G H T " / >
44
45
46
47
48
49
50
51
52
53
54
55
<element name = " head " type = " physics_object " sensors = " pose " mass = " 4.0 " '
controls = " forces " velocity = " 0 0 0 " omega = " 0 0 0 " material = " robot1 " '
collision_geom = " biped / col_obj / head . col " auto_freeze = " 0 " attached_to = " HEAD " / >
<element name = " ins " type = " physics_object " mass = " 1.0 " velocity = " 0 0 0 " omega = " 0 0 0 " '
material = " robot1 " collision_geom = " biped / col_obj / ins . col " auto_freeze = " 0 " '
attached_to = " INS " / >
<element name = " torso " type = " physics_object " mass = " 14.0 " controls = " forces " '
velocity = " 0 0 0 " omega = " 0 0 0 " material = " robot1 " '
collision_geom = " biped / col_obj / torso . col " auto_freeze = " 0 " attached_to = " TORSO " / >
<element name = " abdomen " type = " physics_object " mass = " 9.0 " edit_mass = " 1 " velocity = " 0 0 '
0 " omega = " 0 0 0 " material = " robot1 " collision_geom = " biped / col_obj / abdomen . col " '
auto_freeze = " 0 " attached_to = " ABDOMEN " / >
<element name = " spine_y " type = " physics_object " mass = " 1.0 " velocity = " 0 0 0 " omega = " 0 0 '
0 " material = " robot1 " collision_geom = " biped / col_obj / spine_y . col " auto_freeze = " 0 " '
attached_to = " SPINE_Y " / >
<element name = " spine_x " type = " physics_object " mass = " 1.0 " velocity = " 0 0 0 " omega = " 0 0 '
0 " material = " robot1 " collision_geom = " biped / col_obj / spine_x . col " auto_freeze = " 0 " '
attached_to = " SPINE_X " / >
<element name = " pelvis " type = " physics_object " sensors = " pose " mass = " 9.0 " '
controls = " forces " velocity = " 0 0 0 " omega = " 0 0 0 " material = " robot1 " '
collision_geom = " biped / col_obj / pelvis . col " auto_freeze = " 0 " attached_to = " PELVIS " / >
<! -<element name = " backpack " type = " physics_object " mass = " 1.0 " edit_mass = " 1 " '
velocity = " 0 0 0 " omega = " 0 0 0 " material = " robot1 " '
collision_geom = " biped / col_obj / backpack . col " auto_freeze = " 0 " '
attached_to = " BACKPACK " / > -- >
<element name = " shoulder_left " type = " physics_object " mass = " 1.0 " velocity = " 0 0 0 " '
omega = " 0 0 0 " material = " robot2 " collision_geom = " biped / col_obj / shoulder . col " '
auto_freeze = " 0 " attached_to = " SHOULDER_LEFT " / >
<element name = " humerus_left " type = " physics_object " mass = " 2.5 " velocity = " 0 0 0 " '
omega = " 0 0 0 " material = " robot2 " collision_geom = " biped / col_obj / humerus . col " '
auto_freeze = " 0 " attached_to = " HUMERUS_LEFT " / >
<element name = " radius_left " type = " physics_object " mass = " 2.0 " velocity = " 0 0 0 " '
omega = " 0 0 0 " material = " robot2 " collision_geom = " biped / col_obj / radius . col " '
200
56
57
58
59
60
61
62
63
64
65
66
B. Dynamics Simulation Framework
auto_freeze = " 0 " attached_to = " RADIUS_LEFT " / >
<element name = " hip_y_left " type = " physics_object " mass = " 1.0 " velocity = " 0 0 0 " '
omega = " 0 0 0 " material = " robot3 " collision_geom = " biped / col_obj / hip_y . col " '
auto_freeze = " 0 " attached_to = " HIP_Y_LEFT " / >
<element name = " hip_z_left " type = " physics_object " mass = " 1.0 " velocity = " 0 0 0 " '
omega = " 0 0 0 " material = " robot3 " collision_geom = " biped / col_obj / hip_z . col " '
auto_freeze = " 0 " attached_to = " HIP_Z_LEFT " / >
<element name = " femur_left " type = " physics_object " mass = " 7.0 " velocity = " 0 0 0 " '
omega = " 0 0 0 " material = " robot3 " collision_geom = " biped / col_obj / femur_left . col " '
auto_freeze = " 0 " attached_to = " FEMUR_LEFT " / >
<element name = " tibia_left " type = " physics_object " mass = " 2.0 " velocity = " 0 0 0 " '
omega = " 0 0 0 " material = " robot3 " collision_geom = " biped / col_obj / tibia . col " '
auto_freeze = " 0 " attached_to = " TIBIA_LEFT " / >
<element name = " ankle1_left " type = " physics_object " mass = " 0.4 " velocity = " 0 0 0 " '
omega = " 0 0 0 " material = " robot3 " collision_geom = " biped / col_obj / ankle1 . col " '
auto_freeze = " 0 " attached_to = " ANKLE1_LEFT " / >
<element name = " ankle2_left " type = " physics_object " mass = " 0.4 " velocity = " 0 0 0 " '
omega = " 0 0 0 " material = " robot3 " collision_geom = " biped / col_obj / ankle2 . col " '
auto_freeze = " 0 " attached_to = " ANKLE2_LEFT " / >
<element name = " foot_left " type = " physics_object " sensors = " pose " mass = " 0.4 " '
velocity = " 0 0 0 " omega = " 0 0 0 " material = " robot3 " '
collision_geom = " biped / col_obj / foot2 . col " auto_freeze = " 0 " attached_to = " FOOT_LEFT " / >
<element name = " inner_toe_left " type = " physics_object " sensors = " position " mass = " 0.2 " '
velocity = " 0 0 0 " omega = " 0 0 0 " material = " robot3 " '
collision_geom = " biped / col_obj / toe . col " auto_freeze = " 0 " '
attached_to = " INNER_TOE_LEFT " / >
<element name = " outer_toe_left " type = " physics_object " sensors = " position " mass = " 0.2 " '
velocity = " 0 0 0 " omega = " 0 0 0 " material = " robot3 " '
collision_geom = " biped / col_obj / toe . col " auto_freeze = " 0 " '
attached_to = " OUTER_TOE_LEFT " / >
<element name = " in ner_ heel _lef t " type = " physics_object " sensors = " position " mass = " 0.2 " '
velocity = " 0 0 0 " omega = " 0 0 0 " material = " robot3 " '
collision_geom = " biped / col_obj / heel . col " auto_freeze = " 0 " '
attached_to = " INN ER_ HEEL _LEF T " / >
<element name = " ou ter_ heel _lef t " type = " physics_object " sensors = " position " mass = " 0.2 " '
velocity = " 0 0 0 " omega = " 0 0 0 " material = " robot3 " '
collision_geom = " biped / col_obj / heel . col " auto_freeze = " 0 " '
attached_to = " OUT ER_ HEEL _LEF T " / >
67
68
69
70
71
72
73
74
75
76
77
78
<! -- JOINTS -- >
<element name = " head " type = " physics_joint " joint_type = " fixed " parent = " torso " '
child = " head " pivot = " 0 0 0 " direction = " 1 0 0 " attached_to = " HEAD " / >
<element name = " ins " type = " physics_joint " joint_type = " ins " parent = " pelvis " child = " ins " '
pivot = " 0 0 0.0 " direction = " 1 0 0 " attached_to = " PELVIS " / >
<element name = " abdomen " type = " physics_joint " joint_type = " fixed " parent = " torso " '
child = " abdomen " pivot = " 0 0 0 " direction = " 1 0 0 " attached_to = " ABDOMEN " / >
<element name = " spine_x " type = " physics_joint " joint_type = " hinge " actuation = " torquepos '
spring " parent = " pelvis " child = " spine_x " min = " -1.0 " max = " 1.0 " pivot = " 0 0 0 " '
direction = " 1 0 0 " motor = " 180.0 150.0 10.0 " spring = " 0.0 50.0 60.0 " '
attached_to = " PELVIS " / >
<element name = " spine_y " type = " physics_joint " joint_type = " hinge " actuation = " torquepos '
spring " parent = " spine_x " child = " spine_y " min = " -1.0 " max = " 1.0 " pivot = " 0 0 0 " '
direction = " 0 1 0 " motor = " 180.0 200.0 15.0 " spring = " 0.0 40.0 40.0 " '
attached_to = " PELVIS " / >
<element name = " spine_z " type = " physics_joint " joint_type = " hinge " actuation = " torquepos '
spring " parent = " spine_y " child = " torso " min = " -1.0 " max = " 1.0 " pivot = " 0 0 0 " '
direction = " 0 0 1 " motor = " 100.0 100.0 8.0 " spring = " 0.0 40.0 20.0 " '
attached_to = " PELVIS " / >
<! -<element name = " backpackjoint " type = " physics_joint " joint_type = " fixed " '
parent = " torso " child = " backpack " pivot = " 0.10 0 0.20 " direction = " 1 0 0 " '
attached_to = " BACKPACK " / > -- >
<element name = " sh ould er_x _lef t " type = " physics_joint " joint_type = " hinge " '
actuation = " torquepos spring " parent = " torso " child = " shoulder_left " min = " 0.0 " '
max = " 2.0 " pivot = " 0 0 0 " direction = " 1 0 0 " motor = " 80.0 100.0 30.0 " spring = " 0.1 '
10.0 3.0 " attached_to = " SHOULDER_LEFT " / >
<element name = " sh ould er_y _lef t " type = " physics_joint " joint_type = " hinge " '
actuation = " torquepos spring " parent = " shoulder_left " child = " humerus_left " '
min = " -1.0 " max = " 1.0 " pivot = " 0 0 0 " direction = " 0 1 0 " motor = " 80.0 100.0 30.0 " '
spring = " 0.0 2.0 1.2 " attached_to = " HUMERUS_LEFT " / >
<element name = " elbow_left " type = " physics_joint " joint_type = " hinge " '
actuation = " torquepos spring " parent = " humerus_left " child = " radius_left " min = " -2.0 " '
B.4. Simulation Scenario for Biped Experiments
79
80
81
82
83
84
85
86
87
88
89
201
max = " 0.0 " pivot = " 0 0 0 " direction = " 0 1 0 " motor = " 40.0 100.0 30.0 " spring = " -0.1 '
5.0 2.0 " attached_to = " RADIUS_LEFT " / >
<element name = " hip_x_left " type = " physics_joint " joint_type = " hinge " '
actuation = " torquepos spring " parent = " pelvis " child = " hip_y_left " min = " -1.0 " '
max = " 1.0 " pivot = " 0 0 0 " direction = " 1 0 0 " motor = " 220.0 250.0 12.0 " spring = " 0.0 '
8.0 50.0 " attached_to = " HIP_Y_LEFT " / >
<element name = " hip_y_left " type = " physics_joint " joint_type = " hinge " '
actuation = " torquepos spring " parent = " hip_y_left " child = " hip_z_left " min = " -0.85 " '
max = " 0.15 " pivot = " 0 0 0 " direction = " 0 1 0 " motor = " 220.0 150.0 16.0 " spring = " 0.0 '
5.0 12.0 " attached_to = " HIP_Z_LEFT " / >
<element name = " hip_z_left " type = " physics_joint " joint_type = " hinge " '
actuation = " torquepos spring " parent = " hip_z_left " child = " femur_left " min = " -1.0 " '
max = " 1.0 " pivot = " 0 0 0 " direction = " 0 0 1 " motor = " 100.0 80.0 10.0 " spring = " 0.0 '
15.0 10.0 " attached_to = " FEMUR_LEFT " / >
<element name = " knee_left " type = " physics_joint " joint_type = " hinge " '
actuation = " torquepos spring " parent = " femur_left " child = " tibia_left " min = " 0.0 " '
max = " 2.0 " pivot = " 0 0 0 " direction = " 0 1 0 " motor = " 150.0 50.0 80.0 " spring = " 0.0 2.0 '
3.0 " attached_to = " TIBIA_LEFT " / >
<element name = " ankle_y_left " type = " physics_joint " joint_type = " hinge " '
actuation = " torquepos spring " parent = " tibia_left " child = " ankle1_left " min = " -0.5 " '
max = " 0.5 " pivot = " 0 0 0 " direction = " 0 1 0 " motor = " 150.0 100.0 50.0 " spring = " 0.0 '
80.0 3 " attached_to = " ANKLE1_LEFT " / >
<element name = " ankle_x_left " type = " physics_joint " joint_type = " hinge " '
actuation = " torquepos spring " parent = " ankle1_left " child = " ankle2_left " min = " -0.5 " '
max = " 0.5 " pivot = " 0 0 0 " direction = " 1 0 0 " motor = " 80.0 100.0 50.0 " spring = " 0.0 '
20.0 6.0 " attached_to = " ANKLE2_LEFT " / >
<element name = " loadcell_left " type = " physics_joint " joint_type = " loadcell2 " '
actuation = " none " parent = " ankle2_left " child = " foot_left " min = " 0 " max = " 0 " pivot = " 0 '
0 0 " direction = " 1 0 0 " attached_to = " FOOT_LEFT " / >
<element name = " i n n e r _ t o e _ f o r c e _ l e f t " type = " physics_joint " joint_type = " linear force " '
parent = " foot_left " child = " inner_toe_left " min = " 0 " max = " 0 " pivot = " 0 0 0 " '
direction = " 0 0 1 " attached_to = " INNER_TOE_LEFT " / >
<element name = " o u t e r _ t o e _ f o r c e _ l e f t " type = " physics_joint " joint_type = " linear force " '
parent = " foot_left " child = " outer_toe_left " min = " 0 " max = " 0 " pivot = " 0 0 0 " '
direction = " 0 0 1 " attached_to = " OUTER_TOE_LEFT " / >
<element name = " i n n e r _ h e e l _ f o r c e _ l e f t " type = " physics_joint " joint_type = " linear force " '
parent = " foot_left " child = " i nner _hee l_le ft " min = " 0 " max = " 0 " pivot = " 0 0 0 " '
direction = " 0 0 1 " attached_to = " INN ER_H EEL _LEF T " / >
<element name = " o u t e r _ h e e l _ f o r c e _ l e f t " type = " physics_joint " joint_type = " linear force " '
parent = " foot_left " child = " o uter _hee l_le ft " min = " 0 " max = " 0 " pivot = " 0 0 0 " '
direction = " 0 0 1 " attached_to = " OUT ER_H EEL _LEF T " / >
90
91
92
93
94
95
<element name = " sphere pos " type = " physics_joint " joint_type = " position xyz " '
actuation = " none " motor = " 200 0 0 " parent = " " child = " sphere " pivot = " 0 0 0 " '
direction = " 1 0 0 " attached_to = " SPHERE " / >
<element name = " plate pos " type = " physics_joint " joint_type = " position xyz " '
actuation = " none " parent = " " child = " sphere2 " pivot = " 0 0 0 " direction = " 1 0 0 " '
attached_to = " ROOT " / >
<element name = " plate rot " type = " physics_joint " joint_type = " ball " actuation = " pos " '
parent = " sphere2 " child = " plate " pivot = " 0 0 0 " direction = " 1 0 0 " attached_to = " ROOT "
/>
<element name = " fp_left " type = " physics_joint " joint_type = " loadcell " parent = " " '
child = " fo r ce _ pl a te _ le f t " pivot = " 0 0 0 " direction = " 1 0 0 " '
attached_to = " F O RC E _P L AT E _L E FT " / >
<element name = " fp_right " type = " physics_joint " joint_type = " loadcell " parent = " " '
child = " f o r c e _ p l a t e _ r i g h t " pivot = " 0 0 0 " direction = " 1 0 0 " '
attached_to = " F O R C E _ P L A T E _ R I G H T " / >
96
97
<element name = " di rect ion_ arro w " type = " di r ec t io n _m a rk e r " scale = " 1 " start_pos = " 0 0 '
0.2 " start_offset = " 0.0 " end_pos = " 0.11 0 0.2 " end_offset = " 0.0 " color = " 1 0 0 0 " '
axis_radius = " 0.02 " cone_height = " 0.1 " label_text = " " attached_to = " HEAD " / >
98
99
100
101
102
103
<camera name = " rob_cam " type = " perspective " vfov = " 45 " near_limit = " 0.1 " '
attached_to = " HEAD " / >
<camera name = " from_left_cam " type = " perspective " vfov = " 45 " near_limit = " 0.1 " '
attached_to = " ROOT " / >
<camera name = " from_right_cam " type = " perspective " vfov = " 45 " near_limit = " 0.1 " '
attached_to = " ROOT " / >
<camera name = " from_front_cam " type = " perspective " vfov = " 45 " near_limit = " 0.1 " '
attached_to = " ROOT " / >
</ content >
'
202
B. Dynamics Simulation Framework
Bibliography
[Akachi 05] K. Akachi, K. Kaneko, N. Kanehira, S. Ota, G. Miyamori, M. Hirata, S. Kajita,
F. Kanehiro, “Development of humanoid robot HRP-3P”, in Proceedings of the IEEERAS International Conference on Humanoid Robots. 2005, pp. 50–55.
[Albert 01] A. Albert, W. Gerth, “New Path Planning Algorithms for Higher Gait Stability
of a Bipedal Robot”, in Proceedings of 4th International Conference on Climbing and
Walking Robots (CLAWAR). Karlsruhe, Germany, 2001, pp. 521 – 528.
[Albiez 03a] J. Albiez, T. Luksch, K. Berns, R. Dillmann, “An Activation-Based Behavior
Control Architecture for Walking Machines”, The International Journal on Robotics
Research, Sage Publications, vol. 22, pp. 203–211, 2003.
[Albiez 03b] J. Albiez, T. Luksch, K. Berns, R. Dillmann, “A Behaviour Network Concept
for Controlling Walking Machines”, in 2nd International Symposium on Adaptive Motion
of Animals and Machines (AMAM). Kyoto, Japan, March 4–8 2003.
[Albiez 03c] J. Albiez, T. Luksch, K. Berns, R. Dillmann, “Reactive reflex-based control
for a four-legged walking machine”, Robotics and Autonomous Systems, Elsevier, 2003.
[Albiez 07] J. Albiez, Verhaltensnetzwerke zur adaptiven Steuerung biologisch motivierter
Laufmaschinen, GCA Verlag, 2007.
[Alexander 84] R. M. Alexander, “The Gaits of Bipedal and Quadrupedal Animals”,
International Journal of Robotics Research, vol. 3-2, pp. 49–59, 1984.
[Alexander 90] R. Alexander, “Three Uses of Springs in Legged Locomotion”, The International Journal of Robotics Research, vol. 9, no. 2, pp. 53–61, 1990. Special issue on
legged locomotion.
[Aoi 05] S. Aoi, K. Tsuchiya, “Locomotion Control of a Biped Robot Using Nonlinear
Oscillators”, Autonomous Robots, vol. 19, no. 3, pp. 219–232, 2005.
[Arbulu 07] M. Arbulu, C. Balaguer, “Real -Time gait planning for Rh-1 humanoid robot,
using Local Axis Gait algorithm”, in Proceedings of IEEE-RAS International Conference
on Humanoid Robots (Humanoids). 2007.
[Arisumi 09] H. Arisumi, J. R. Chardonnet, K. Yokoi, “Whole-Body Motion of a Humanoid
Robot for Passing through a Door - Opening a Door by Impulsive Force”, in Proceedings
of IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). 2009,
pp. 428–434.
204
Bibliography
[Arkin 00] R. Arkin, A. Kahled, A. Weitzenfeld, F. Cervantes-Prez, “Behavioral models of
the Praying Mantis as a basis for robotic behavior”, Journal of Autonomous Systems,
2000.
[Arkin 98] R. Arkin, Behaviour-Based Robotics, MIT Press, 1998.
[Ayers 00] J. Ayers, J. Witting, N. McGruer, C. Olcott, D. Massa, “Lobster Robots”, in
Proceedings of the International Symposium on Aqua Biomechanisms, T. Wu, N. Kato,
Eds. Tokai, 2000.
[Baessler 98] U. Baessler, A. Bueschges, “Pattern Generation for Stick Insect Walking
Movements - Multisensory Control of a Locomoter Program”, Brain Research Reviews,
no. 27, pp. 65–88, Januar 1998.
[Bauby 00] C. E. Bauby, A. D. Kuo, “Active control of lateral balance in human walking”,
Journal of Biomechanics, vol. 33, no. 11, pp. 1433–1440, 2000.
[Bent 04] L. R. Bent, J. T. Inglis, B. J. McFadyen, “When is Vestibular Information
Important During Walking?”, Journal of Neurophysiology, vol. 92, no. 3, pp. 1269–1275,
2004.
[Bizzi 07] E. Bizzi, V. C. K. Cheung, A. d´Avella, P. Saltiel, M. C. Tresch, “Combining
modules for movement”, Brain Research Reviews, vol. 57, pp. 125–133, 2007.
[Bizzi 91] E. Bizzi, F. A. Mussa-Ivaldi, S. Giszter, “Computations underlying the execution
of movement: a biological perspective”, Science, vol. 253, no. 5017, pp. 287–291, 1991.
[Blank 09a] S. Blank, “Distributed Compliant Control for Biologically Inspired BehaviorBased Robots”, Diploma thesis, University of Kaiserslautern, January 2009. unpublished.
[Blank 09b] S. Blank, T. Wahl, T. Luksch, K. Berns, “Biologically Inspired Compliant
Control of a Monopod Designed for Highly Dynamic Applications”, in IEEE/RSJ
International Conference on Intelligent Robots and Systems. St. Louis (MO), USA,
October 2009, pp. pp. 148–153.
[Blickhan 07] R. Blickhan, A. Seyfarth, H. Geyer, S. Grimmer, H. Wagner, M. Günther,
“Intelligence by Mechanics”, Philosophical Transactions of the Royal Society of London,
Series A, vol. 365, pp. 199–220, 2007.
[Blum 07] Y. Blum, J. Rummel, A. Seyfarth, “Advanced swing leg control for stable
locomotion”, in Autonome Mobile Systeme (AMS). 2007, pp. 301–307.
[Blum 09] Y. Blum, S. W. Lipfert, A. Seyfarth, “Effective leg stiffness in running”, Journal
of Biomechanics, vol. 42, no. 14, pp. 2400–2405, 2009.
[Bolder 07] B. Bolder, M. Dunn, M. Gienger, H. Janssen, H. Sugiura, C. Goerick, “Visually Guided Whole Body Interaction”, in Proceedings of the IEEE-RAS International
Conference on Humanoid Robots (Humanoids). Rome, Italy, April 10–14 2007, pp.
3054–3061.
Bibliography
205
[Bourgeot 02] J. M. Bourgeot, N. Cislo, B. Espiau, “Path-Planning and Tracking in a 3D
Complex Environment for an Anthropomorphic Biped Robot”, in Proceedings of the
IEEE International Conference on Intelligent Robots and Systems (IROS). Lausanne,
Suisse, 2002, pp. 2509–2514.
[Braun 07] T. Braun, J. Wettach, K. Berns, “A Customizable, Multi-Host Simulation and
Visualization Framework for Robot Applications”, in Recent Progress in Robotics: Viable
Robotic Service to Human, Selected papers from ICAR07, S. Lee, I. H. Suh, M. S. Kim,
Eds., LNCIS Series, Springer-Verlag, 2007, vol. 370, pp. 357–369.
[Brooks 86] R. A. Brooks, “A Robust Layered Control System for a Mobile Robot”, IEEE
Journal of Robotics and Automation, vol. RA-2, no. 1, pp. 14–23, April 1986.
[Brooks 89] R. A. Brooks, “A Robot that Walks - Emergent Behaviors from a Carefully
Evolved Network”, Neural Computation, vol. 1, pp. 355–363, 1989.
[Bueschges 95] A. Bueschges, J. Schmitz, U. Baessler, “Rhythmic patterns in the thoratic
nerve cord of the stick insect induced by pilocarpine”, The Journal of Experimental
Biology, vol. 198, no. 2, pp. 435–456, September 1995.
[Buschmann 09] T. Buschmann, S. Lohmeier, H. Ulbrich, “Biped Walking Control Based on
Hybrid Position/Force Control”, in Proceedings of IEEE/RSJ International Conference
on Intelligent Robots and Systems (IROS). 2009, pp. 3019–3024.
[Cappellini 06] G. Cappellini, Y. P. Ivanenko, R. E. Poppele, F. Lacquaniti, “Motor
patterns in human walking and running”, Journal of Neurophysiology, vol. 95, 2006.
[Chestnutt 03] J. Chestnutt, J. J. Kuffner, K. Nishiwaki, S. Kagami, “Planning biped
navigation strategies in complex environments”, in Proceedings of the IEEE Intternational
Conference on Humanoid Robotics (Humanoids). Munich, Germany, October 2003.
[Chestnutt 05] J. Chestnutt, M. Lau, G. Cheung, J. Kuffner, J. Hodgins, T. Kanade,
“Footstep Planning for the Honda ASIMO Humanoid”, in Proceedings of the IEEE
International Conference on Robotics and Automation (ICRA). 2005, pp. 629– 634.
[Cheung 05] V. C. K. Cheung, A. d´Avella, M. C. Tresch, E. Bizzi, “Central and Sensory
Contributions to the Activation and Organization of Muscle Synergies during Natural
Motor Behaviors”, Journal of Neuroscience, vol. 25, no. 27, pp. 6419–6434, 2005.
[Chiderova 05] Z. Chiderova, “Dynamische Simulation und Steuerung eines schnelllaufenden zweibeinigen Roboters”, Diploma thesis, University of Kaiserslautern, 2005.
unpublished.
[Collins 05] S. H. Collins, A. L. Ruina, R. Tedrake, M. Wisse, “Efficient Bipedal Robots
Based on Passive-Dynamic Walkers”, Science, vol. 307, pp. 1082–1085, 2005.
[Deshpande 05] N. Deshpande, A. E. Patla, “Dynamic visual–vestibular integration during
goal directed human locomotion”, Experimental Brain Research, vol. 166, no. 2, pp.
237–247, 2005.
206
Bibliography
[Donelan 04] J. Donelan, D. Shipman, R. Kram, A. Kuo, “Mechanical and metabolic
requirements for active lateral stabilization in human walking”, Journal of Biomechanics,
vol. 37, no. 6, pp. 827–835, 2004.
[Elble 94] R. J. Elble, C. Moody, K. Leffler, R. Sinha, “The Initiation of Normal Walking”,
Movement Disorders, pp. 139–146, 1994.
[Endo 04] G. Endo, J. Morimoto, J. Nakanishi, G. Cheng, “An empirical exploration of a
neural oscillator for biped locomotion control”, in Proceedings of IEEE International
Conference on Robotics and Automation (ICRA), vol. 3. 2004.
[Endo 05] G. Endo, J. Nakanishi, J. Morimoto, G. Cheng, “Experimental Studies of
a Neural Oscillator for Biped Locomotion with QRIO”, in Proceedings of the IEEE
International Conference on Robotics and Automation. Barcelona, Spain, April 2005.
[Escande 09] A. Escande, A. Kheddar, “Contact Planning for Acyclic Motion with Tasks
Constraints”, in Proceedings of IEEE/RSJ International Conference on Intelligent Robots
and Systems (IROS). 2009, pp. 435–440.
[Ferrell 95] C. Ferrell, “Global Behavior via Cooperative Local Control”, in Autonomous
Robots, vol. 2, no. 2. Springer, 1995, pp. 105 – 125.
[Fischer 06] M. S. Fischer, R. Blickhan, “The tri-segmented limbs of therian mammals:
kinematics, dynamics, and self-stabilization - a review”, Journal of Experimental Zoology
Part A: Comparative Experimental Biology, vol. 305A, no. 11, pp. 935–952, 2006.
[Flörchinger 05] F. Flörchinger, “Konzipierung eines elastischen Roboterkniegelenks”,
Project thesis, University of Kaiserslautern, 2005. unpublished.
[Frank 90] J. S. Frank, M. Earl, “Coordination of Posture and Movement”, Physical
Therapy, vol. 70, no. 12, December 1990.
[Frigon 06] A. Frigon, S. Rossignol, “Experiments and models of sensorimotor interactions
during locomotion”, Biological Cybernetics, vol. 95, no. 6, pp. 607–627, 2006.
[Fujita 03] M. Fujita, Y. Kuroki, T. Ishida, T. T. Doi, “A Small Humanoid Robot SDR4X for Entertainment Applications”, in Proceedings of the IEEE/ASME International
Conference on Advanced Intelligent Mechatronics (AIM). Kobe, Japan, July 20–24 2003,
pp. 938–943.
[Gahery 87] Y. Gahery, “Associated movements, postural adjustments and synergies: some
comments about the history and significance of three motor concepts”, Arch Ital Biol.,
vol. 125, pp. 345–360, 1987.
[Garcia 98] M. Garcia, “Stability, scaling, and chaos in passive-dynamic gait models”, Phd
thesis, Cornell University, 1998.
[Geng 06] T. Geng, B. Porr, F. Wörgötter, “A Reflexive Neural Network for Dynamic
Biped Walking Control”, Neural Computation, vol. 18, no. 5, pp. 1156–1196, 2006.
Bibliography
207
[Geyer 04] H. Geyer, A. Seyfarth, R. Blickhan, “Spring-mass running: simple approximate
solution and application to gait stability”, Journal of Theoretical Biology, vol. 232(3),
pp. 315–328, 2004.
[Gienger 00] M. Gienger, K. Löffler, F. Pfeiffer, “A Biped Robot that Joggs”, in Proceedings
of the IEEE International Conference on Robotics and Automation (ICRA). 2000, pp.
3334–3339.
[Gienger 02] M. Gienger, K. Löffler, F. Pfeiffer, “Walking control of a biped robot based
on inertial measurement”, in Proceedings of the International Workshop on Humanoid
and Human Friendly Robotics. 2002, pp. 22–30.
[Gilsdorf 06] B. Gilsdorf, “Entwicklung einer Dynamiksimulationsumgebung zum Testen
von Robotersteuerungen”, Project thesis, University of Kaiserslautern, 2006. unpublished.
[Goswami 99] A. Goswami, “Foot Rotation Indicator (FRI) Point: A New Gait Planning
Tool to Evaluate Postural Stability of Biped Robots”, in Proceedings of the IEEE
International Conference on Robotics and Automation. Detroit, Mai 1999, pp. 47–53.
[Grillner 79] S. Grillner, P. Zangger, “On the central generation of locomotion in the low
spinal cat”, Experimental Brain Research, vol. 34, no. 2, pp. 241–261, 1979.
[Günther 04] M. Günther, V. Keppler, A. Seyfarth, R. Blickhan, “Human leg design:
optimal axial alignment under constraints”, Journal of Mathematical Biology, vol. 48,
no. 6, pp. 623–646, 2004.
[Ham 06a] R. V. Ham, “Compliant Actuation for Biological Inspired Bipedal Walking
Robots”, Dissertation, Vrije University Brussels, Brussels, Belgium, July 2006.
[Ham 06b] R. V. Ham, M. V. Damme, B. Vanderborght, B. Verrelst, D. Lefeber, “MACCEPA, the Mechanically Adjustable Compliance and Controllable Equilibrium Position
Actuator”, in Proceedings of the 10th International Conference on New Actuators (ACTUATOR). Bremen, Germany, June 14–16 2006.
[Hamill 03] J. Hamill, K. M. Knutzen, Biomechanical Basis of Human Movement, 2nd
ed., Lippincott Williams & Wilkins, 2003.
[Hase 99] K. Hase, N. Yamazaki, “Computational evolution of human bipedal walking by
a neuro-musculo-skeletal model”, Artificial Life and Robotics, vol. 3, no. 3, pp. 133–138,
1999.
[Hillenbrand 09] C. Hillenbrand, “Sicheres Klettern eines radgetriebenen Roboters mit
Unterdruckkammern an porösen Fächen”, Dissertation, Technische Universität Kaiserslautern, 2009.
[Hirai 98] K. Hirai, M. Hirose, Y. Haikawa, T. Takenaka, “The development of Honda
humanoid robot”, in Proceedings of the International Conference on Robotics and
Automation. 1998.
[Hirai 99] K. Hirai, “The Honda humanoid robot: development and future perspective”,
Industrial Robot: An International Journal, vol. 26, no. 4, pp. 260–266, 1999.
208
Bibliography
[Hof 05] A. L. Hof, M. G. J. Gazendam, W. E. Sinke, “The condition for dynamic stability”,
Journal of Biomechanics, vol. 38, no. 1, pp. 1–8, 2005.
[Hof 07] A. L. Hof, R. M. van Bockel, T. Schoppen, K. Postema, “Control of lateral balance
in walking - Experimental findings in normal subjects and above-knee amputees”, Gait
& Posture, vol. 25, no. 2, pp. 250–258, 2007.
[Hof 08] A. L. Hof, “The ”extrapolated center of mass” concept suggests a simple control
of balance in walking”, Human Movement Science, vol. 27, no. 1, pp. 112–125, 2008.
[Hofschulte 04] J. Hofschulte, M. Seebode, W. Gerth, “Parallel Manipulator Hip Joint for
a Bipedal Robot”, in Proceedings of the 7th International Conference on Climbing and
Walking Robots (CLAWAR). Madrid, Spain, 2004.
[Horak 06] F. B. Horak, “Postural orientation and equilibrium: what do we need to know
about neural control of balance to prevent falls?”, Age and Ageing, vol. 35-S2, pp. ii7–ii11,
2006.
[Horak 90] F. B. Horak, L. M. Nashner, H. C. Diener, “Postural strategies associated with
somatosensory and vestibular loss”, Experimental Brain Research, vol. 82, pp. 167–177,
1990.
[Hosoda 07a] K. Hosoda, K. Narioka, “Synergistic 3D limit cycle walking of an anthropomorphic biped robot”, in Proceedings of the IEEE/RSJ International Conference on
Intelligent Robots and Systems (IROS). 2007, pp. 470–475.
[Hosoda 07b] K. Hosoda, T. Takuma, A. Nakamoto, S. Hayashi, “Biped robot design
powered by antagonistic pneumatic actuators for multi-modal locomotion”, Robotics
and Autonomous Systems, vol. 56, no. 1, pp. 46–53, 2007.
[Huang 05] Q. Huang, Y. Nakamura, “Sensory reflex control for humanoid walking”,
Robotics, IEEE Transactions on [see also Robotics and Automation, IEEE Transactions
on], vol. 21, no. 5, pp. 977–984, 2005.
[Hunt 94] K. D. Hunt, “The evolution of human bipedality: ecology and functional morphology”, Journal of Human Evolution, vol. 26, pp. 183–202, 1994.
[Hurst 08] J. W. Hurst, A. A. Rizzi, “Series Compliance for an Efficient Running Gait:
Lessons Learned from the Electric Cable Differential Leg”, IEEE Robotics and Automation Magazine, vol. 15, no. 3, pp. 42–51, September 2008.
[Iida 07] F. Iida, J. Rummel, A. Seyfarth, “Bipedal Walking and Running with Compliant
Legs”, in Proceedings of the IEEE International Conference on Robotics and Automation
(ICRA). Roma, Italy, April 10–14 2007, pp. 3970–3975.
[Ito 82] M. Ito, “Cerebellar control of the vestibulo-ocular reflex–around the flocculus
hypothesis”, Annual Review of Neuroscience, vol. 5, no. 1, pp. 275–297, 1982.
[Ivanenko 04] Y. P. Ivanenko, R. E. Poppele, F. Lacquaniti, “Five basic muscle activation
patterns account for muscle activity during human locomotion”, Journal of Physiology,
vol. 556, 2004.
Bibliography
209
[Ivanenko 06] Y. P. Ivanenko, R. E. Poppele, F. Lacquaniti, “Motor Control Programs
and Walking”, The Neuroscientist, vol. 12, no. 4, pp. 339–348, 2006.
[Kagami 03] S. Kagami, M. Mochimaru, Y. Ehara, N. Miyata, K. Nishiwaki, T. Kanade,
H. Inoue, “Measurement and comparison of human and humanoid walking”, in Proceedings of IEEE International Symposium on Computational Intelligence in Robotics and
Automation, vol. 2. 2003, pp. 918–922.
[Kajita 02] S. Kajita, T. Nagasaki, K. Yokoi, K. Kaneko, K. Tanie, “Running Pattern
Generation for a Humanoid Robot”, in Proceeding of IEEE International Conference on
Robotics and Automation (ICRA). 2002.
[Kajita 03] S. Kajita, F. Kanehiro, K. Fujiwara, K. Harada, K. Yokoi, H. Hirukawa,
“Biped Walking Pattern Generation by using Preview Control of Zero-Moment Point”,
in Proceedings of IEEE International Conference on Robotics and Automation (ICRA).
2003.
[Kajita 05] S. Kajita, T. Nagasaki, K. Kaneko, K. Yokoi, K. Tanie, “A Running Controller
of Humanoid Biped HRP-2LR”, in Proceeding of IEEE International Conference on
Robotics and Automation (ICRA). 2005.
[Kajita 06] S. Kajita, M. Morisawa, K. Harada, K. Kaneko, F. Kanehiro, K. Fujiwara,
H. Hirukawa, “Biped Walking Pattern Generator allowing Auxiliary ZMP Control”, in
Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems
(IROS). 2006.
[Kajita 07] S. Kajita, K. Kaneko, M. Morisawa, S. Nakaoka, H. Hirukawa, “ZMP-based
Biped Running Enhanced by Toe Springs”, in Proceeding of IEEE International Conference on Robotics and Automation (ICRA). 2007.
[Kaneko 02a] K. Kaneko, S. Kajita, F. Kanehiro, K. Y. K. Fujiwara, H. Hirukawa, T. Kawai,
M. Hirata, T. Isozumi, “Design of Advanced Leg Module for Humanoid Robotics Project
of METI”, in Proceedings of the International Conference on Robotics and Automation
(ICRA). 2002.
[Kaneko 02b] K. Kaneko, F. Kanehiro, S. Kajita, K. Yokoyama, K. Akachi, T. Kawasaki,
S. Ota, T. Isozumi, “Design of Prototype Humanoid Robotics Platform for HRP”,
in Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and
Systems (IROS). 2002.
[Kaneko 04] K. Kaneko, F. Kanehiro, S. K. adn H Hirukawa, T. Kawasaki, M. Hirata,
K. Akachi, T. Isozumi, “Humanoid robot HRP-2”, in IEEE-RAS International Conference
on Robotics and Automation (ICRA). New Orleans, USA, April 26 – May 1 2004, pp.
1083–1090.
[Kaneko 08] K. Kaneko, K. Harada, F. Kanehiro, G. Miyamori, K. Akachi, “Humanoid
robot HRP-3”, in Proceedings of IEEE/RSJ International Conference on Intelligent
Robots and Systems (IROS). 2008, pp. 2471–2478.
210
Bibliography
[Katayama 85] T. Katayama, T. Ohki, T. Inoue, T. Kato, “Design of an Optimal Controller
for a Discrete Time System Subject to Previewable Demand”, International Journal of
Control, vol. 41, no. 3, pp. 677–699, 1985.
[Katayama 95] O. Katayama, Y. Kurematsu, S. Kitamura, “Theoretical studies on neuro
oscillator for application of biped locomotion”, in Proceedings of IEEE International
Conference on Robotics and Automation (ICRA). 1995.
[Kato 73] I. Kato, “The WABOT-1”, Bulletin of Science and engineering Research Laboratory, Waseda University, no. 62, 1973.
[Kerscher 06] T. Kerscher, J. Albiez, J. M. Zöllner, R. Dillmann, “Evaluation of the
Dynamic Model of Fluidic Muscles using Quick-Release”, in Proceedings of the IEEE
/ RAS-EMBS International Conference on Biomedical Robotics and Biomechatronics.
2006.
[Kerscher 07] T. Kerscher, M. Göller, J. M. Zöllner, R. Dillmann, “Regelungsstrategie
für Zweibeiniges Elastisches Laufen Mittels ”Virtual Model Control””, in Autonome
Mobile Systeme 2007, ser. Informatik aktuell, K. Berns, T. Luksch, Eds. Kaiserslautern,
Germany: Springer Verlag, October 18–19 2007, pp. 268 –274. ISBN: 978-3-540-74763-5.
[Kim 05] J.-Y. Kim, I.-W. Park, J. Lee, M.-S. Kim, B. kyu Cho, J.-H. Oh, “System
Design and Dynamic Walking of Humanoid Robot KHR-2”, in Proceedings of the IEEE
International Conference on Robotics and Automation (ICRA). 2005, pp. 1431–1436.
[Kimura 04] H. Kimura, Y. Fukuoka, A. H. Cohen, “Biologically Inspired Adaptive Dynamic Walking of a Quadruped Robot”, in Proceedings of the 8th International Conference on the Simulation of Adaptive Behavior (SAB). Los Angles, USA, 2004, pp.
201–210.
[Kirker 00] S. G. B. Kirker, D. S. Simpson, J. R. Jenner, A. M. Wing, “Stepping before
standing: hip muscle function in stepping and standing balance after stroke”, J. Neurol.
Neurosurg. Psychiatry, vol. 68, pp. 458–464, 2000.
[Kleinlützum 05] K. Kleinlützum, T. Luksch, D. Schmidt, K. Berns, “Selbstständige
Erstellung einer abstrakten topologiebasierten Karte für die autonome Exploration”, in
Autonome Mobile Systeme (AMS) 2005. December 2005, pp. 149–155.
[Koch 04] J. Koch, “Lage- und Positionsbestimmung mobiler Roboter auf Basis eines
intertialen Messsystems und ergänzender Sensorik”, Diploma thesis, University of Kaiserslautern, October 2004. unpublished.
[Kuffner 01] J. J. Kuffner, K. Nishiwaki, S. Kagami, M. Inaba, H. Inoue, “Motion Planning
for Humanoid Robots Under Obstacle and Dynamic Balance Constraints”, in Proceedings
of the IEEE International Conference on Robotics and Automation (ICRA). 2001, pp.
692–698.
[Kuo 01] A. D. Kuo, “A simple model of bipedal walking predicts the preferred speed-step
length relationship”, Journal of Biomechanical Engineering, vol. 123, pp. 264–269, 2001.
Bibliography
211
[Kuo 99] A. D. Kuo, “Stabilization of lateral motion in passive dynamic walking”, International Journal of Robotics Research, vol. 18, no. 9, pp. 917–930, 1999.
[Lamp 05] D. Lamp, “Kinematische Modellierung und Simulation eines humanoiden Beins”,
Project thesis, University of Kaiserslautern, 2005. unpublished.
[Leineweber 03a] D. B. Leineweber, I. Bauer, H. G. Bock, J. P. Schlöder, “An efficient
multiple shooting based reduced SQP strategy for large-scale dynamic process optimization - part I: theoretical aspects”, Computers and Chemical Engineering, vol. 27, pp.
157–166, 2003.
[Leineweber 03b] D. B. Leineweber, A. Schäfer, H. G. Bock, J. P. Schlöder, “An efficient
multiple shooting based reduced SQP strategy for large-scale dynamic process optimization - part II: software aspects and applications”, Computers and chemical engineering,
vol. 27, pp. 167–174, 2003.
[Lemay 01] M. A. Lemay, J. E. Galagan, N. Hogan, E. Bizzi, “Modulation and vectorial
summation of the spinalized frog´s hindlimb end-point force produced by intraspinal electrical stimulation of the cord”, IEEE Transactions on Neural Systems and Rehabilitation
Engineering, vol. 9, March 2001.
[Lim 06] H. Lim, A. Takanishi, “Biped walking robots created at Waseda University: WL
and WABIAN family”, Philosophical Transactions of the Royal Society A: Mathematical,
Physical and Engineering Sciences, vol. 365, no. 1850, pp. 49–64, 2006.
[Löffler 03] K. Löffler, M. Gienger, F. Pfeiffer, “Sensors and Control Concept of Walking”,
International Journal of Robotics Research, vol. 22, pp. 229–239, 2003.
[Lohmeier 04] S. Lohmeier, K. Löffler, M. Gienger, H. Ulbrich, F. Pfeiffer, “Computer
System and Control of Biped”, in Proceedings of the 2004 IEEE International Conference
on Robotics and Automation (ICRA). New Orleans, LA, USA, April 2004, pp. 4222 –
4227.
[Lohmeier 06] S. Lohmeier, T. Buschmann, H. Ulbrich, F. Pfeiffer, “Modular Joint Design
for a Performance Enhanced Humanoid Robot”, in Proceedings of the IEEE International
Conference on Robotics and Automation (ICRA). 2006.
[Luksch 02] T. Luksch, “Verhaltensbasierte freie Gangart für eine vierbeinige Laufmaschine”, Diploma thesis, University of Karlsruhe, 2002. unpublished.
[Luksch 05] T. Luksch, K. Berns, F. Flörchinger, “Actuation System and Control Concept
for a Running Biped”, in Fast Motions in Biomechanics and Robotics, ser. Lecture Notes
in Control and Information Sciences, M. Diehl, K. Mombauer, Eds., Heidelberg, Germany:
Springer Verlag, September 7–9 2005.
[Luksch 07] T. Luksch, K. Berns, K. Mombaur, G. Schultz, “Using Optimization Techniques for the Design and Control of Fast Bipeds”, in Proceedings of the 10th International
Conference on Climbing and Walking Robots (CLAWAR). Singapore, July 16–18 2007.
212
Bibliography
[Luksch 08a] T. Luksch, K. Berns, “Controlling Dynamic Motions of Biped Robots with
Reflexes and Motor Patterns”, in Fourth International Symposium on Adaptive Motion
of Animals and Machines (AMAM). Cleveland, USA, June 1–6 2008, pp. 115–116.
[Luksch 08b] T. Luksch, K. Berns, “Initiating Normal Walking of a Dynamic Biped with
a Biologically Motivated Control”, in Proceedings of the 11th International Conference
on Climbing and Walking Robots (CLAWAR). Coimbra, Portugal, September 8–10 2008.
[Manoonpong 07] P. Manoonpong, T. Geng, B. Porr, F. Wörgötter, “The RunBot architecture for adaptive, fast, dynamic walking.”, IEEE Symposium on Circuits and Systems
(ISCAS), 2007.
[Massaad 07] F. Massaad, T. M. Lejeune, C. Detrembleur, “The up and down bobbing
of human walking: a compromise between muscle work and efficiency”, Journal of
Physiology, vol. 582, no. 2, pp. 789–799, 2007.
[Matarić 97] M. J. Matarić, “Behavior-Based Control: Examples from Navigation, Learning, and Group Behavior”, Journal of Experimental and Theoretical Artificial Intelligence,
vol. Special issue on Software Architectures for Physical Agents, 9(2-3), pp. 323–336,
1997.
[Matsuoka 87] K. Matsuoka, “Mechanisms of Frequency and Pattern Control in the Neural
Rhythm Generators”, Biological Cybernetics, vol. 56, pp. 345–353, 1987.
[McGeer 90] T. McGeer, “Passive Dynamic Walking”, International Journal of Robotics
Research, vol. 1, no. 9, pp. 62–82, 1990.
[McGeer 93] T. McGeer, “Dynamics and Control of Bipedal Locomotion”, Journal of
Theoretical Biology, vol. 163, pp. 277–314, 1993.
[Mombaur 01] K. D. Mombaur, H. G. Bock, R. W. Longman, “Human-Like Actuated Walking that is Asymptotically Stable Without Feedback”, in Proceedings of the International
Conference on Robotics and Automation (ICRA). 2001, pp. 4128–4133.
[Mombaur 05a] K. D. Mombaur, R. W. Longman, H. G. Bock, J. P. Schlöder, “Open-loop
stable running”, Robotica, vol. 23, no. 1, pp. 21–33, 2005.
[Mombaur 05b] K. D. Mombaur, H. G. Bock, J. P. Schlöder, R. W. Longman, “Open-loop
stable solution of periodic optimal control problems”, ZAMM, vol. 85, no. No. 7, 2005.
[Mombaur 05c] K. D. Mombaur, H. G. Bock, J. P. Schlöder, R. W. Longman, “Selfstabilizing somersaults”, IEEE Transactions on Robotics, vol. 21, no. 6, 2005.
[Mombaur 07] K. Mombaur, “Human-like Running can be Open-Loop Stable”, in Autonome Mobile Systeme 2007, 2007, pp. 282–286.
[Morris 06] B. Morris, E. R. Westervelt, C. Chevallereau, G. Buche, J. W. Grizzle, “Achieving Bipedal Running with RABBIT: Six Steps toward Infinity”, in Fast Motions in
Robotics and Biomechanics - Optimization and Feedback Control, ser. Lecture Notes in
Control and Information Science, K. M. M Diehl, Ed. Springer, 2006.
Bibliography
213
[Murray 64] M. Murray, A. B. Drought, R. C. Kory, “Walking Patterns of Normal Men”,
The Journal of Bone and Joint Surgery, vol. 46, no. 2, pp. 335–360, 1964.
[Mutlu 06] B. Mutlu, S. Osman, J. Forlizzi, J. Hodgins, S. Kiesler, “Perceptions of ASIMO:
an exploration on co-operation and competition with humans and humanoid robots”, in
Proceedings of the 1st ACM SIGCHI/SIGART conference on Human-robot interaction
(HRI). New York, USA, 2006, pp. 351–352.
[Nagasaki 03] T. Nagasaki, S. Kajita, K. Yokoi, K. Kaneko, K. Tanie, “Running pattern
generation andits evaluation using a realistic humanoid model”, in Proceedings of the
IEEE International Conference on Robotics and Automation (ICRA). 2003, pp. 1336–
1342.
[Nicholls 92] J. G. Nicholls, A. R. Martin, B. G. Wallace, From Neuron to Brain, Massachusettes: Sinauer Associates Inc., 1992.
[Nielsen 03] J. B. Nielsen, “How we Walk: Central Control of Muscle Activity during
Human Walking”, The Neuroscientist, vol. 9, no. 3, pp. 195–204, 2003.
[Nishiwaki 06] K. Nishiwaki, J. J. Kuffner, S. Kagami, M. Inaba, H. Inoue, “The experimental humanoid robot H7 : A research platform for autonomous behavior”, Philosophical
Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences,
vol. special issue, pp. 1–28, 2006.
[Ogihara 01] N. Ogihara, N. Yamazaki, “Generation of human bipedal locomotion by a
bio-mimetic neuro-musculo-skeletal model”, Biological Cybernetics, vol. 84, no. 1, pp.
1–11, 2001.
[Ogura 06a] Y. Ogura, H. Aikawa, K. Shimomura, H. Kondo, A. Morishima, H. ok Lim,
A. Takanishi, “Development of A Humanoid Robot WABIAN-2”, in Proceedings of the
IEEE International Conference on Robotics and Automation (ICRA). 2006.
[Ogura 06b] Y. Ogura, K. Shimomura, H. Kondo, A. Morishima, T. Okubo, S. Momoki,
H. ok Lim, A. Takanishi, “Human-like Walking with Knee Stretched, Heel-contact and
Toe-off Motion by a Humanoid Robot”, in Proceedings of the IEEE/RSJ International
Conference on Intelligent Robots and Systems (IROS). 2006.
[Olree 95] K. S. Olree, C. L. Vaughan, “Fundamental patterns of bilateral muscle activity
in human locomotion”, Biological Cybernetics, vol. 73, no. 5, pp. 409–414, 1995.
[Park 05] I. W. Park, J. H. Oh, “Mechanical Design of Humanoid Robot platfrom KHR-3
(KAIST Humanoid Robot-3: HUBO)”, in Proceedings of the IEEE/RAS International
Conference on Humanoid Robots (Humanoids). 2005, pp. 321–326.
[Patla 85] A. E. Patla, “Some characteristics of EMG patterns during locomotion: implications for the locomotor control process”, Journal of Motor Behavior, vol. 17, no. 4,
pp. 443–61, 1985.
[Patla 97] A. E. Patla, “Understanding the roles of vision in the control of human locomotion”, Gait & Posture, vol. 5, no. 1, pp. 54–69, 1997.
214
Bibliography
[Paul 05] C. Paul, “Sensorimotor Control of Biped Locomotion”, Adaptive Behavior Animals, Animats, Software Agents, Robots, Adaptive Systems, vol. 13, no. 1, pp. 67–80,
2005.
[Pearson 93] K. G. Pearson, “Common Principles of Motor Control in Vertebrates and
Invertebrates”, Annual Reviews on Neuroscience, vol. 16, pp. 265–297, 1993.
[Peng 06] Z. Peng, Y. Fu, Z. Tang, Q. Huang, Taoxiao, “Online Walking Pattern Generation and System Software of Humanoid BHR-2”, in Proceedings of the IEEE/RSJ
International Conference on Intelligent Robots and Systems (IROS). Beijing, China,
2006, pp. 5471–5476.
[Pettersson 98] L. Pettersson, K. Jansson, H. Rehbinder, J. Wikander, “Behavior-based
control of a four legged walking robot”, in Proceedings of Mechatronics. 1998, pp. 361–366.
[Pirjanian 99] P. Pirjanian, “Behaviour Coordination Mechanisms — State-of-the-art”,
Institute for Robotics and Intelligent Systems, School of Engineering, University of
Southern California, Tech. Rep. IRIS-99-375, October 1999.
[Plagenhoef 83] S. Plagenhoef, “Anatomical Data for Analyzing Human Motion”, Research
Quarterly for Exercise and Sport, vol. 54, no. 2, pp. 169–78, 1983.
[Pratt 00] J. Pratt, “Exploiting Inherent Robustness and Natural Dynamics in the Control
of Bipedal Walking Robots.”, in PhD thesis. MIT Press, Cambridge, 2000.
[Pratt 01] J. Pratt, C. M. Chew, A. Torres, P. Dilworth, G. Pratt, “Virtual Model Control:
An Intuitive Approach for Bipedal Locomotion”, International Journal of Robotics
Research, vol. 20, no. 2, pp. 129–143, 2001.
[Pratt 02] J. Pratt, B. Krupp, C. Morse, “Series Elastic Actuators for High Fidelity Force
Control”, Industrial Robot Journal, vol. 29, no. 3, pp. 234–241, 2002.
[Pratt 09] J. E. Pratt, B. Krupp, V. Ragusila, J. Rebula, T. Koolen, N. van Nieuwenhuizen,
C. Shake, T. Craig, J. Taylor, G. Watkins, P. Neuhaus, M. Johnson, S. Shooter,
K. Buffinton, “The Yobotics-IHMC Lower Body Humanoid Robot”, in Proceedings of
IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). 2009,
pp. 410–411.
[Pratt 95a] G. A. Pratt, M. M. Williamson, “Series Elastic Actuators”, in Proceedings of
the IEEE/RSJ International Conference on Intelligent Robots and Systems. Pittsburgh,
November 1995, pp. 399–406.
[Pratt 95b] J. E. Pratt, “Virtual Model Control of a Biped Walking Robot”, Diploma
thesis, Massachusetts Institute of Technology, August 1995.
[Pratt 97] J. Pratt, P. Dilworth, G. Pratt, “Virtual Model Control of a Bipedal Walking Robot”, Proceedings of the International Conference on Robotics and Automation
(ICRA), pp. 193–198, 1997. Albuquerque, NM.
[Proetzsch 04] M. Proetzsch, T. Luksch, K. Berns, “Behaviour-based Motion Control for
Offroad Navigation”, in International Workshop on Humanitarian Demining (HUDEM).
Brussels, Belgium, June 16–18 2004.
Bibliography
215
[Proetzsch 05] M. Proetzsch, T. Luksch, K. Berns, “Fault-Tolerant Behavior-Based Motion Control for Offroad Navigation”, in Proceedings of the 20th IEEE International
Conference on Robotics and Automation (ICRA). Barcelona, Spain, April 18–22 2005,
pp. 4697–4702.
[Proetzsch 07] M. Proetzsch, T. Luksch, K. Berns, “The Behaviour-Based Control Architecture iB2C for Complex Robotic Systems”, in Proceedings of the 30th Annual German
Conference on Artificial Intelligence (KI). Osnabrück, Germany, September 10–13 2007,
pp. 494–497.
[Proetzsch 10] M. Proetzsch, T. Luksch, K. Berns, “Development of Complex Robotic Systems Using the Behavior-Based Control Architecture iB2C”, Robotics and Autonomous
Systems, vol. 58, no. 1, pp. 46–67, 2010.
[Prokop 97] T. Prokop, M. Schubert, W. Berger, “Visual influence on human locomotion
Modulation to changes in optic flow”, Experimental Brain Research, vol. 114, no. 1, pp.
63–70, 1997.
[Raibert 86] M. H. Raibert, Legged Robots That Balance, Cambridge, MA: MIT Press,
1986.
[Richmond 02] B. G. Richmond, D. R. Begun, D. S. Strait, “Origin of human bipedalism:
The knuckle-walking hypothesis revisited”, American Journal of Physical Anthropology,
vol. 116, no. S33, pp. 70–105, 2002.
[Roa 05] M. Roa, R. Ramı́rez, D. Garzón, “Development of Biped Robots at the National
University of Colombia”, in Proceedings of the 8th International Conference on Climbing
and Walking Robots (CLAWAR), Springer. 2005.
[Rodgers 88] M. M. Rodgers, “Dynamic biomechanics of the normal foot and ankle during
walking and running”, Physical Therapy, vol. 68, no. 12, pp. 1822–1830, 1988.
[Rossi 88] A. Rossi, R. Mazzocchino, C. Scarpini, “Changes in Ia reciprocal inhibition
from peroneal nerve to the soleus α-motoneurons with different static body positions in
man”, Neuroscience Letters, vol. 84, pp. 283–286, 1988.
[Rossignol 06] S. Rossignol, R. Dubuc, J. P. Gossard, “Dynamic Sensorimotor Interactions
in Locomotion”, Physiological Reviews, vol. 86, pp. 89–154, 2006.
[Roth 08] M. Roth, “Entwicklung und Konstruktion einer zweibeinigen Laufmaschine Teilbereich: Antrieb”, Project thesis, University of Kaiserslautern, 2008. unpublished.
[Sabourin 05] C. Sabourin, O. Bruneau, G. Buche, “Experimental validation of a robust
control strategy for the robot RABBIT”, in Proceedings of the IEEE Conference on
Robotics and Automation (ICRA). 2005.
[Sakagami 02] Y. Sakagami, R. Watanabe, C. Aoyama, S. Matsunaga, N. Higaki, K. Fujimura, “The intelligent ASIMO: system overview and integration”, in Proceedings of the
IEEE/RSJ International Conference on Intelligent Robots and System (IROS). 2002,
pp. 2478–2483.
216
Bibliography
[Sardain 04] P. Sardain, G. Bessonnet, “Forces acting on a biped robot. Center of pressure
- zero moment point”, IEEE Transactions on Systems, Man and Cybernetics, vol. 34, no.
5, pp. 630–637, 2004.
[Schäfer 05] H. Schäfer, M. Proetzsch, K. Berns, “Extension Approach for the BehaviourBased Control System of the Outdoor Robot RAVON”, in Autonome Mobile Systeme.
Stuttgart, Germany, December 8–9 2005, pp. 123–129.
[Schmidt 06] D. Schmidt, T. Luksch, J. Wettach, K. Berns, “Autonomous BehaviorBased Exploration of Office Environments”, in Proceedings of the 3rd International
Conference on Informatics in Control, Automation and Robotics (ICINCO). Setubal,
Portugal, August 1–5 2006, pp. 235–240.
[Schmitt 03] D. Schmitt, “Insights into the evolution of human bipedalism from experimental studies of humans and other primates”, The Journal of Experimental Biology,
vol. 206, pp. 1437–1448, 2003.
[Scholl 02] K. U. Scholl, J. Albiez, B. Gassmann, J. M. Zöllner, “MCA - Modular Controller
Architecture”, in Robotik 2002, VDI-Bericht 1679. 2002.
[Schumann 08] J. Schumann, “Entwicklung und Konstruktion einer zweibeinigen Laufmaschine - Teilbereich: Struktur und Prüfstand”, Project thesis, University of Kaiserslautern,
2008. unpublished.
[Sellaouti 06] R. Sellaouti, O. Stasse, S. Kajita, K. Yokoi, A. Kheddar, “Faster and
Smoother Walking of Humanoid HRP-2 with Passive Toe Joints”, in Proceedings of
IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). 2006.
[Seyfarth 01] A. Seyfarth, M. Guenther, R. Blickhan, “Stable Operation of an Elastic
Three-Segmented Leg”, Biological Cybernetics, vol. 84, pp. 364–382, 2001.
[Shan 02] J. Shan, F. Nagashima, “Neural locomotion controller design and implementation
for humanoid robot HOAP-1”, in Proceedings of 20th Annual Conference of the Robotics
Society of Japan, 2002.
[Sherrington 06] C. S. Sherrington, The Integrative Action of the Nervous System, Oxford
University Press, 1906.
[Smith 07] J. A. Smith, A. Seyfarth, “Exploring Toe Walking in a Bipedal Robot”, in
Autonome Mobile Systeme (AMS). 2007, pp. 287–293.
[Soya 06] T. Soya, “Stage of Partner Robot Development in Toyota and Feasibility of
Applications in the Medical Field”, Circulation Journal, vol. 70, 2006.
[Steiner 08] M. Steiner, “Reactive Balance and Posture Control for a Biped during Standing”, Project thesis, University of Kaiserslautern, September 29 2008. unpublished.
[Steiner 09] M. Steiner, “Integrating Reinforcement Learning into Behaviour-Based Control
of Bipedal Robots”, Diploma thesis, University of Kaiserslautern, 2009. unpublished.
Bibliography
217
[Taga 91] G. Taga, Y. Yamaguchi, H. Shimizu, “Self-Organized Control of Bipedal Locomotion by Neural Oscillators in Unpredictable Environment”, Biological Cybernetics,
vol. 65, pp. 147–159, 1991.
[Taga 95a] G. Taga, “A Model of the Neuro-Musculo-Skeletal System for Human Locomotion I: Emergence of Basic Gait”, Biological Cybernetics, vol. 73, no. 2, pp. 97–111,
1995.
[Taga 95b] G. Taga, “A Model of the Neuro-Musculo-Skeletal System for Human Locomotion II: Real-Time Adaptability under Various Constraints”, Biological Cybernetics, vol.
73, no. 2, pp. 113–121, 1995.
[Takenaka 09a] T. Takenaka, T. Matsumoto, T. Yoshiike, “Real Time Motion Generation
and Control for Biped Robot - 1st Report: Walking Gait Pattern Generation”, in
Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems
(IROS). 2009, pp. 1084–1091.
[Takenaka 09b] T. Takenaka, T. Matsumoto, T. Yoshiike, S. Shirokura, “Real Time Motion Generation and Control for Biped Robot - 2nd Report: Running Gait Pattern
Generation”, in Proceedings of IEEE/RSJ International Conference on Intelligent Robots
and Systems (IROS). IEEE Press, 2009, pp. 1092–1099.
[Ting 07] L. H. Ting, Progress in Brain Research, Elsevier B.V., 2007, vol. 165, ch. 19.
Dimensional reduction in sensorimotor systems: a framework for understanding muscle
coordination of posture, pp. 1211–1221.
[Torres 96] A. L. Torres. “Implementation of Virtual Model Control on a Walking Hexapod”.
Undergraduate Thesis, Massachusetts Institute of Technology, May 1996.
[Tsuchiya 03] K. Tsuchiya, S. Aoi, K. Tsujita, “Locomotion control of a biped locomotion robot using nonlinear oscillators”, in Proceedings of the IEEE/RSJ International
Conference on Intelligent Robots and Systems (IROS). 2003.
[Vanderborght 06] B. Vanderborght, B. Verrelst, R. V. Ham, M. V. Damme, P. Beyl,
D. Lefeber, “Torque and Compliance Control of the Pneumatic Artificial Muscles in the
Biped ”Lucy””, in Proceedings of the 2006 IEEE International Conference on Robotics
and Automation (ICRA). Orland, FL, USA, May 2006, pp. 842–847.
[Vanderborght 07] B. Vanderborght, “Dynamic stabilisation of the biped Lucy powered by
actuators with controllable stiffness”, Dissertation, Vrije Universiteit Brussel, May 2007.
[Vanderborght 08] B. Vanderborght, B. Verrelst, R. V. Ham, M. V. Damme, P. Beyl,
D. Lefeber, “Development of a compliance controller to reduce energy consumption for
bipedal robots”, Autonomous Robots, vol. 24, no. 4, pp. 419–434, 2008.
[Vaughan 92] C. L. Vaughan, B. L. Davis, J. C. O´Connor, Dynamics of human gait,
Champaign, III.: Human Kinetics Publishers, 1992.
[Vermeulen 04] J. Vermeulen, D. Lefeber, B. Verrelst, B. Vanderborght, “Trajectory Planning for the Walking Biped LUCY”, in Proceedings of the 7th International Conference
on Climbing and Walking Robots (CLAWAR). 2004.
218
Bibliography
[Verrelst 05] B. Verrelst, R. Van Ham, B. Vanderborght, F. Daerden, D. Lefeber, “The
Pneumatic Biped ”LUCY” Actuated with Pleated Pneumatic Artificial Muscles”, Autonomous Robots, vol. 18, pp. 201–213, 2005.
[Vukobratovic 04] M. Vukobratovic, B. Borovac, “Zero-Moment Point - Thirty Five Years
of its Life”, International Journal of Humanoid Robotics, vol. 1, pp. 157–173, March
2004.
[Vukobratovic 72] M. Vukobratovic, Y. Stepanenko, “On the Stability of Anthropomorphic
Systems”, Mathematical Biosciences, vol. 15, pp. 1–37, 1972.
[Wahl 09] T. Wahl, S. Blank, T. Luksch, K. Berns, “Biological Motivated Control Architecture and Mechatronics for a Humanlike Robot”, in Advances in Robotics Research
- Theory, Implementation, Application, T. Kroeger, F. M. Wahl, Eds. Braunschweig
Germany: Springer, June 2009, pp. pp. 179–190.
[Wannier 01] T. Wannier, C. Bastiaanse, G. Colombo, V. Dietz, “Arm to leg coordination
in humans during walking, creeping and swimming activities”, Experimental Brain
Research, vol. 141, no. 3, pp. 375–379, 2001.
[Wieber 06] P. B. Wieber, C. Chevallereau, “Online adaptation of reference trajectories
for the control of walking systems”, Robotics and Autonomous Systems, vol. 54, no. 7,
pp. 559–566, 2006.
[Winter 01] D. A. Winter, A. E. Patla, S. Rietdyk, M. G. Ishac, “Ankle muscle stiffness in
the control of balance during quiet standing”, Journal of Neurophysiology, vol. 85, no. 6,
pp. 2630–2633, 2001.
[Winter 91] D. A. Winter, Biomechanics and Motor Control of Human Gait: Normal,
Elderly and Pathological, Waterloo Biomechanics, 1991.
[Winter 92] D. A. Winter, “Foot trajectory in human gait: a precise and multifactorial
motor control task”, Physical Therapy, vol. 72, no. 1, pp. 45–53, 1992.
[Winter 95] D. A. Winter, “Human balance and posture control during standing and
walking”, Gait & Posture, vol. 3, no. 4, pp. 193–214, 1995.
[Winter 98] D. A. Winter, A. E. Patla, F. Prince, M. Ishac, K. Gielo-Perczak, “Stiffness
control of balance in quiet standing”, Journal of Neurophysiology, vol. 80, no. 3, pp.
1211–1221, 1998.
[Wisse 04] M. Wisse, “Essentials of Dynamic Walking, Analysis and Design of Two-Legged
Robots”, Dissertation, TU Delft, 2004.
[Wisse 05] M. Wisse, “Three additions to passive dynamic walking: actuation, an upper
body, and 3D stability”, International Journal of Humanoid Robotics, vol. 2, no. 4, pp.
459–478, 2005.
[Witte 04] H. Witte, H. Hoffmann, R. Hackert, C. Schilling, M. S. Fischer, H. Preuschoft,
“Biomimetic Robotics should be based on Functional Morphology”, Journal of Anatomy,
vol. 204, no. 5, pp. 331–342, 2004.
Bibliography
219
[Witte 91] H. Witte, H. Preuschoft, S. Recknagel, “Human body proportions explained on
the basis of biomechanical principles”, Zeitschrift für Morphologie und Anthropologie,
vol. 78, no. 3, pp. 407–423, 1991.
[Witte 97] H. Witte, S. Recknagel, J. G. Rao, M. Wüthrich, C. Lesch, “Is Elastic Energy Storage of Quantitative Relevance for the Functional Morphology of the Human
Locomotor Apparatus?”, Acta Anatomica, vol. 158, pp. 106–111, 1997.
[Yamazaki 96] N. Yamazaki, K. Hase, N. Ogihara, N. Hayamizu, “Biomechanical Analysis
of the Development of Human Bipedal Walking by a Neuro-Mosculo-Skeletal Model”,
Folia Primatol, no. 66, pp. 253–271, 1996.
[Zaier 07] R. Zaier, S. Kanda, “Piecewise-Linear Pattern Generator and Reflex System for
Humanoid Robots”, in Proceedings of the IEEE International Conference on Robotics
and Automation (ICRA). Roma, Italy, April 10–14 2007, pp. 2188–2195.
[Zaier 08] R. Zaier, S. Kanda, “Adaptive locomotion controller and reflex system for
humanoid robots”, in Proceedings of IEEE/RSJ International Conference on Intelligent
Robots and Systems (IROS). 2008, pp. 2492–2497.
[Zehr 98] E. P. Zehr, R. B. Stein, T. Komiyama, “Function of sural nerve reflexes during
human walking”, The Journal of Physiology, vol. 507, no. 1, pp. 305–314, 1998.
[Zehr 99] E. P. Zehr, R. B. Stein, “What function do reflexes serve during human locomotion?”, Progess in Neurobiology, vol. 58, pp. 185–205, 1999.
[Zhao 02] M. Zhao, L. Liu, J. Wang, K. Chen, J. Zhao, K. Xu, “Control system design of
THBIP-I humanoid robot”, in Proceedings of IEEE International Conference on Robotics
and Automation (ICRA). 2002, pp. 2253–2258.
220
Bibliography