Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Bio-inspired quadruped omnidirectional locomotion:
A dynamical systems approach.
Vıtor Emanuel da Silva Matos
Acknowledgements
I gratefully acknowledge the invitation made by the Professor Cristina Manuela
Peixoto Santos to integrate the ABSG group, and for introducing me to several
very interesting subjects. I am grateful for the opportunity to participate in several
workshops and for giving me the opportunity to learn as much as I could. I would
like to thank all the help she gave me through the execution ofmy work, from the
insightful discussions to the uncountable advice.
I would also like to thank Professor Manuel Joao Ferreira for the help with the
robot and the most obscure problems in the development environment’s idiosyn-
crasies.
Lastly, I would like to acknowledge the good environment in the lab and the pleas-
ant time spent with all my colleagues. Specially MSc. MiguelOliveira for all the
help and work developed together.
iii
Locomocao omnidirecional bio-inspirada: Uma abordagem comsistemas dinamicos.
Resumo
Avancos tecnologicos dos ultimos anos contribuiu para odesenvolvimento e mel-
horamento dosrobotscom pernas, resultando num crescente interesse no assunto.
Robotscom pernas oferecem certas vantagens na robotica autonoma sobre os
robotscom rodas, como navegar em terrenos acidentados, permitindo ultrapas-
sar obstaculos e buracos. No entanto, o controlo de uma locomocao agil e ro-
busta neste tipo derobotse um problema difıcil que ainda nao tem uma solucao
generica.
A investigacao neurobiologica trouxe conceitos para o domınio robotico, apresen-
tado muitas caracterısticas desejaveis. Introduziram oconceito funcional de Cen-
tral Pattern Generator, assim como a organizacao dos centros motores no sistema
nervoso nos vertebrados. Os CPGs em robotica sao maioritariamente implemen-
tados atraves de osciladores dinamicos nao lineares, permitindo a criacao de mod-
elos com varios graus de abstraccao e porque apresentam varias caracterısticas
desejas para o controlo derobots.
O trabalho aqui apresentado faz parte de um projecto maior que tem como prin-
cipal objectivo o desenho e implementacao de um controlador bio-inspirado para
uma locomocao quadrupede adaptativa, robusta e intencional.
A contribuicao deste trabalho envolve o desenho de uma rede de CPGs, responsavel
pela geracao dos movimentos motores necessarios para a locomocao quadrupede
omnidireccional; e o desenho de uma estrutura moduladora, responsavel por ini-
ciar os programas motores que codificam os comportamentos dalocomocao om-
nidireccional.
Resultados demonstram que a rede de CPGs proposta e adequada a geracao de
locomocao omnidireccional, enquanto e comandado pela estrutura moduladora.
No entanto evidenciam a necessidade de integrar informac˜ao sensorial na correccao
dos movimentos motores.
Bio-inspired quadruped omnidirectional locomotion: A dynam-ical systems approach.
Abstract
Technological advances in the past years contributed to thedevelopment and
improvement of walking robots, resulting on an ever increasing interest on the
subject. Walking robots offer certain advantages in autonomous robotics over
wheeled robots, as navigating in rough terrains, allowing overcoming obstacles
and holes. However, the control of agile and robust locomotion on these articu-
lated robots, is an ambitious and difficult problem that has not yet found a general
solution.
Neurobiological research has brought concepts to the robotics domain, presenting
many desirable features. They introduced the functional concept of Central Pat-
tern Generator, as well as the functional organization of the motor center in the
vertebrate nervous system. The Central Pattern Generatorson robotics are mostly
implemented through the use of nonlinear dynamical oscillators because they per-
mit to design their models in many degrees of abstraction, and because they have
many desirable properties for controlling robots.
The work herein presented takes part on an larger project that has as principal
objective the design and implementation of a bio-inspired controller architecture
for adaptive, robust and goal-directed quadruped locomotion.
The original contribution of this work involves the design of a CPG network,
responsible for generating the motor movements required for quadruped omnidi-
rectional locomotion; and the design of a modulatory structure, responsible for
eliciting the motor programs that encode the behaviours of omnidirectional loco-
motion.
Results demonstrate that the proposed CPG network is suitable for generating the
omnidirectional locomotion, while integrating a modulatory structure. However
they also show the need for the integration of sensory information for the correc-
tion of the locomotor movements.
Table of Contents
1 Introduction 1
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4 Publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 Quadruped Locomotion 7
2.1 Limb movements . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Gaits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Step phases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.4 Gait characterization . . . . . . . . . . . . . . . . . . . . . . . . 10
2.5 Locomotion for the AIBO ERS-7 . . . . . . . . . . . . . . . . . . 13
3 Bio-Inspired Architecture 15
3.1 Neural structures for locomotion in vertebrates . . . . . .. . . . 16
3.2 Central Pattern Generators . . . . . . . . . . . . . . . . . . . . . 17
3.3 Supraspinal regions . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.4 Proposed architecture . . . . . . . . . . . . . . . . . . . . . . . . 21
vi
TABLE OF CONTENTS vii
4 Locomotor CPG Network 25
4.1 Related work . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.2 Hopf Oscillator . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.3 CPG architecture . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.4 The CPG network . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.5 Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5 Activity Modulation 52
5.1 Modulatory drive . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.2 Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
6 Quadruped Omnidirectional Locomotion 58
6.1 Related work . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
6.2 From the wheel model to CPGs . . . . . . . . . . . . . . . . . . . 60
6.3 Pattern parameterisation . . . . . . . . . . . . . . . . . . . . . . 62
6.4 Experiments and results . . . . . . . . . . . . . . . . . . . . . . . 68
7 Conclusions 76
7.1 Results discussion . . . . . . . . . . . . . . . . . . . . . . . . . . 77
7.2 Future work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Bibliography 79
Appendices
A Analysis of the dynamical systems 83
A.1 Hopf Oscillator . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
A.2 Discrete system . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
TABLE OF CONTENTS viii
B Calculating amplitudes for omnidirectional 88
C Locomotion velocity 91
List of Figures
2.1 The animal propels the body forward (1-4) followed by theplace-
ment of the foot in a more advanced position (5,6). . . . . . . . . 8
2.2 Joint angles for hip joint (solid), knee (dotted) and ankle (dashed).
During the swing phase, the dog flexes the hip, while flexing and
extending the ankle and knee. In the stance phase the whole limb
is extended. Adapted from [1]. . . . . . . . . . . . . . . . . . . . 9
2.3 Achieved velocity when performing the step phases with the given
durations (left). Swing phase is the solid line, and the stance phase
the dashed line. On the right is the relation between duty factor
and velocity. The graphics were calculated based on [2] . . . .. . 10
2.4 Event sequences for the presented gaits. The limbs: LF, left fore-
limb; RF, right forelimb; LH, left hindlimb; RH, right hindlimb. . 11
2.5 Relative phase for the walk, trot, gallop and bound. . . . .. . . . 12
2.6 The limb’s joints configuration for the AIBO robot. . . . . .. . . 14
3.1 Central Nervous System is composed by the spinal cord andthe
brain. The Central Pattern Generators are located in the ventral
spinal cord for the forelimbs, and in the lumbar spinal cord for
the hindlimbs. It receives the excitatory commands throughthe
brainstem, from the basal ganglia in the midbrain. . . . . . . . .. 17
3.2 Functional division of the motor controller structuresin the ner-
vous system of vertebrate (left), and the proposed locomotor con-
troller architecture (right). . . . . . . . . . . . . . . . . . . . . . 22
ix
LIST OF FIGURES x
4.1 Solutions from the oscillator when (a),(c)µ = −1 and (b),(d)
µ = 1. The initial condition(xo, zo) = (0.2,−0.4),O = 0, α = 1
andω = 6.3. In (b) and (a) the vector field is presented in the
background. In (c) and (d) thex variable is the solid red line and
thez is the dashed green. . . . . . . . . . . . . . . . . . . . . . . 29
4.2 The solid red line is thex solution and the dotted blue line is
O. Only oscillatory solution with an amplitude of 3 (top), su-
perimposed with the discrete solution of the middle resultsin the
solution in the bottom. . . . . . . . . . . . . . . . . . . . . . . . 30
4.3 Smooth adjustment in trajectories’ amplitude (top) throughµ pa-
rameter change (bottom). The solid red line is thex and the dotted
green isz (top). . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.4 Adjustment of oscillation frequency (top) throughω parameter
change (bottom). The red line is thex and the blue isz (top). . . . 31
4.5 Limit-cycle directions and solutions for different values signs of
ω. In (a),(c)ω > 0, therefore the limit-cycle is counter clockwise,
and in (b),(d) the limit cycle is clockwise. As the time the solution
goes from the centre to the stable harmonic solution. . . . . . .. 32
4.6 It is specified that whilez < 0, the robot is performing the swing
phase movement, and whenz > 0, it is performing the swing phase. 33
4.7 Generated trajectories withβ = 0.85 (top) andβ = 0.4 (bottom),
for a ωsw = 10.4rad.s−1 (Tst = 0.3 sec). The solid red line isx
and the dashed green isz. Notice that the duration of the ascend-
ing phase (swing) inx is kept constant, only the duration of the
descending phase (stance) changes. . . . . . . . . . . . . . . . . . 34
4.8 The robot is pushed forward whenω > 0, because the corre-
sponding movement of the descending trajectory, is the movement
of pushing the robot forward, (a). Whenω < 0, the movement
pushes the robot backwards because the stance phase is the as-
cending trajectory, (b). . . . . . . . . . . . . . . . . . . . . . . . 35
LIST OF FIGURES xi
4.9 The solid red line isx and the dashed green line isz, with a
β = 0.7. On the top the stance phase is the descending trajec-
tory, making the robot walk forward. The opposite happens inthe
bottom, the robot walks backwards because the stance phase is the
ascending step phase. . . . . . . . . . . . . . . . . . . . . . . . . 35
4.10 Evolution of the generated trajectory (solid red) through several
changes of parameters. The dotted green line is the offsetO
throughout time and the dashed blue is the amplitude√
|µ|. On
(A), sinceµ = −100 the oscillator relaxes to the value ofO. The
rhythmic activity is activated in (B), withµ = 100 andβ = 0.5.
In (C) β is changed to 0.85. In (D) the oscillator is inverted. . . . . 36
4.11 Each unit-CPG receives a set of parameters that fully describe the
generated trajectories. It modulates the unit-CPG in amplitude,
oscillatory output, direction, duty factor and offset. . . .. . . . . 39
4.12 To each hip joint is assigned an unit-CPG. The knee is controlled
by other kind of activation unit. All the units are coordinated in
order to generate the correct limb movement during locomotion. . 40
4.13 unit-CPG trajectories for the hip swing (solid red) andhip flap
(dashed green) joints. Both uCPGs are coordinated, describing the
different step phases in the same intervals of time, independently
of their direction. Top:ιs = 1, ιf = 1. Bottom: ιs = 1,ιf = −1. . . 41
4.14 The knee trajectory (solid green line) depends on the step phase
of x (dashed red line). During stance the knee extend toθst =
−5 deg, and during swing it flexes toθsw = 7deg. . . . . . . . . . 42
4.15 Coupling within the CPG network. The solid arrows are unidirec-
tional couplings, while the dashed arrows represent bilateral cou-
plings. Each kind of unit-CPG are coupled among themselves.
The swing unit-CPGs project to the flap unit-CPGs. Both swing
and flap unit-CPGs project to the knees’ activation units. . .. . . 44
LIST OF FIGURES xii
4.16 The four swing unit-CPGs (solid red) and the four flap unit-CPGs
(dashed green) coordinated movements. Until the RF swing and
RH flap unit-CPGs are inverted at 4 seconds. Despite these per-
turbations all the unit-CPGs remain coordinated. . . . . . . . .. . 46
4.17 Components of the CPG network and respective parameters. β
andϕLH are global. Each CPG has a set of parameters that speci-
fied the limb movement. . . . . . . . . . . . . . . . . . . . . . . 47
4.18 AIBO robot walking with aϕLF = 0.75 andβ = 0.8. . . . . . . . 47
4.19 On the left are plotted the generated trajectories, andon the right
the measured angles from the joints of the robot. The generated
trajectories present the coordination required for achieving a walk
gait. The performed movements are satisfactorily close to the gen-
erated ones. The dotted red is the right hindlimb and the dashed
blue is the left hindlimb; the solid yellow is the left forelimb and
the dashed dotted green is the right forelimb. . . . . . . . . . . . .48
4.20 The achieved sequence is the sequence of a walk gait. However,
the duty factor is slightly different than the desired. Because the
robot falls over the forelimbs, the duty factor slightly increased in
the forelimbs and decreased in the hindlimbs. . . . . . . . . . . . 49
4.21 AIBO robot trotting with aϕLF = 0.5 andβ = 0.5. . . . . . . . . 49
4.22 On the left are plotted the generated trajectories, andon the right
the measured angles from the joints of the robot. The dotted red
is the right hindlimb and the dashed blue is the left hindlimb; the
solid yellow is the left forelimb and the dashed dotted greenis
the right forelimb. The performed movements (right) are a little
delayed from the generated trajectories (right), mainly because of
hardware limitations of the robot joints. Nonetheless, therobot
performs the main features of the trajectories and achievesa trot
gait. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.23 As in the experiment with the walk gait, the robot falls over the
forelimbs. Despite the duty factor of the feet being a littleof from
the desired, the sequence of the trot is preserved. . . . . . . . .. 51
LIST OF FIGURES xiii
5.1 Piecewise function that specifies the value ofν accordingly the
value ofβ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.2 Piecewise function forβ, determined accordingly the value ofβ. . 54
5.3 Gait phase according the value ofm. . . . . . . . . . . . . . . . . 55
5.4 The modulatory drive (m) increases linearly in the [10 40] sec-
onds interval, until it jumps to its maximum during the following
10 seconds (first panel). On the second panel, the solid blackline
is the duty factor (β) and the grey solid line is the gait phase (ϕLF),
which are encoded in the modulatory drive. The oscillator’spa-
rameterν controls the state of the oscillators through the value of
m (third panel).The resulting trajectories of the robot hip joints
are plotted in the fourth panel. The black line is the left forelimb
joint and the grey line is the left hindlimb joint. The suddenin-
crease of speed due the jump of modulatory drive can be seen in
the fifth panel at 40 seconds. . . . . . . . . . . . . . . . . . . . . 56
5.5 Gait diagram of the transition from slow walk to a trot gait. In this
gait diagram it is possible to verify that the robot performsthe cor-
rect sequence during walk (LF-RH-RF-LH), and that it performs
a gradual transition on interlimb coordination and the decrease of
duty factor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
6.1 Movements in the sagittal and transverse plane are controlled by
the hip joints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
6.2 Some examples of possible movements of the robot. It can rotate
in place (a), walk and turn (b) and walk straight in any direc-
tion (c,d). The curved arrow represents the direction of theswing
phase and the straight arrow the direction of the stance phase. . . . 61
6.3 It is necessary to find the required lateral and forward components
of the desired movement, specified bym, φw andφ. . . . . . . . . 63
6.4 Representation of the robot movement when walking forward and
turning. With the information regarding the ICR it is possible to
find the required feet trajectories to achieve the robot movement. . 64
LIST OF FIGURES xiv
6.5 Representation of the tangential movements of the feet,when the
robot is walking diagonally while turning. . . . . . . . . . . . . . 65
6.6 AIBO robot walking and steering right, performing a 25cmradius
circle. The robot performs a trot gait withβ = 0.5 andϕLF = 0.5,
becausem = 1. It walks forward (φw = 0deg) while turning right
with φ = −0.21rad.s−1. . . . . . . . . . . . . . . . . . . . . . . 69
6.7 Generated trajectories (left plots) and performed movements (right
plots) of the hip swing, hip flap and knee joints. Left Fore: yellow;
Right Fore: green; Left Hind: blue; Right Hind: red. All the gen-
erated trajectories respect the coordination constraintsimposed by
the couplings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
6.8 The robot walks forward and to the left (φw = −45 deg) with a
slow walk gait (m = 0.4). . . . . . . . . . . . . . . . . . . . . . . 72
6.9 Generated trajectories (left plots) and recorded movements (right
plots). Left Fore: yellow; Right Fore: green; Left Hind: blue;
Right Hind: red. . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.10 The robot walks in circles while heading almost to the centre of
the circle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
6.11 Trajectories generated by the CPG network are plotted on the left,
and the resulting movements of the joints are on the right. . .. . . 75
6.12 In 6.12(a) the walks steers right. Walks diagonally in 6.12(b) and
steers left while walking diagonally in 6.12(c). . . . . . . . . .. . 75
Chapter 1
Introduction
This manuscript presents the work I have been conducting forthe past year, while
part of the Adaptive System Behaviour Group at Universidadedo Minho in Portu-
gal. I was invited to take part in the group’s research project, with biologically in-
spired robotic locomotion as a theme and having dynamical systems as a tool. The
ultimate goal of the developed research is to improve and develop new controllers
for articulated robots, create novel ways of achieving dynamical behaviours and
to createknow howin the field of adaptive dynamical controllers.
1.1 Motivation
In robotics, coordinating many degrees of freedom (DOF) in order to execute cer-
tain tasks is still a problem without a general solution, specially for unpredictable
tasks in dynamical environments that require flexibility onits execution.
The requirements for an autonomous robot to coexist with people and to be in
highly dynamic and unpredictable environments are far too great and very de-
manding. As such, developing solutions for achieving theserequirements are still
an important focus of study and research.
The method of locomotion of an autonomous robot is an important factor that sets
limitations on its autonomous ability. On uneven and rough terrains that may be
1
1.1. Motivation 2
comprised by several kinds of obstacles, holes, steps and ditches, walking robots
have clear advantages over conventional robots, using wheels or tracks.
A walking robot contacts the ground in determined points, supporting the body
in specific footholds, allowing the avoidance of obstacles or holes. This kind of
robot can also benefit from the articulation of the limbs to adapt its structure to
uneven terrain, allowing a more stable and smoother locomotion. Furthermore, a
walking robot can be an omnidirectional robot and thereforecan walk sideways,
forward or turning on the spot. All these characteristics gives the walking robots
a high level of maneuverability
Even though these kind of robotic platforms are more adequate for navigating and
executing tasks in rough environments than its wheeled counterparts, its control
is no trivial matter. The controller of a walking robot has todeal with a highly
nonlinear system with many degrees of freedom, changes on body dynamics by
lifting and placing the feet, and unpredictable dynamics during the contact of a
foot with the ground. Adequate movements of the limbs must beperformed in
order to support the robot, propel it through the environment while balancing and
not letting the robot fall or tip over.
The design of a controller for walking robots is a challenging undertaking.
Some approaches use pre-recorded trajectories to generatetrajectory templates.
Other approaches, e.g. in locomotion control, use stability criteria to do online
trajectory modulation [3]. However, most approaches require a perfect knowledge
of the robot and environment dynamics, having significant difficulties when the
environment is dynamic and partially unknown.
The trajectories for the joint movements when on-line generated, provide the con-
troller with the ability of coping with the various uncertainties. However, it re-
quires a tight coordination of many DOFs, the processing of multiple sensory
inputs and the ability to deal with unpredictable changes inbody properties.
We intend to develop a functional and practical bio-inspired controller architecture
for purposeful, goal-directed locomotion. However we attempt to maintain an
engineering perspective by imposing a certain abstractionand simplification, such
that the proposed models are suited to robots.
1.2. Objectives 3
Bio-inspiration for robotic controllers is just another area where the observation of
nature lead to opt and implement certain solutions. Roboticplatforms have been
based on animal structures for many years. It inspired the construction of hexa-
pod robots; flying robots; biped and quadruped robots. Certainly that animals
surpass current robotic controllers. They present innate abilities to adapt locomo-
tor movements to changes in the environment, exhibit many corrective reflexes
and are exceptional explorers of unstructured terrains. Neurobiology research on
the past years has led to a good insight on the nervous circuits employed in the
generation and adaptation of the locomotor movements in vertebrate animals.
Since robotic platforms are already based on the animal’s body structure, we might
as well base robotic controllers on their nervous system. Infact, it is our belief
that this bio-inspiration will help us to improve the designof adaptive algorithms
and controllers both for computer science and robotics. Further, this research is
also relevant because it provides insights into potential mechanisms, by testing
movement generation neuroscience theories on the robots.
The presented work is based on the concept of Central PatternGenerators, the
rhythmogenic regions located in the spinal cord of animals;and on the functional
architecture of the animal motor control system.
1.2 Objectives
This work is an innovative multidisciplinary undertaking,combining insights of
dynamical systems theory, neuroscience and robotics. It will enable further contri-
butions to the achievement of goal directed locomotion on anautonomous walking
robot. Specifically, it will enable omnidirectional locomotion and gait adjustment
to velocity changes for a quadruped robot through the control of a small set of
parameters.
The ultimate goal is to propose a bio-inspired closed-loop controller architecture,
based on the functional model of vertebrate animals, with a particular focus on
adaptive quadruped goal-directed locomotion and, more specifically, in omnidi-
rectional locomotion and gait changing. We apply the dynamical systems frame-
1.2. Objectives 4
work to propose a two-layer architecture that aims to reducethe dimensionality of
the control problem for omnidirectional locomotion, and works as follows by as-
cending order of abstraction. Layer one addresses the role of the spinal CPGs and
is constituted by the low level trajectory generators. Layer two includes the struc-
tures that control these generators, similarly to some of the supraspinal regions on
vertebrates.
In order to pursue this main goal it is necessary to achieve the following objectives.
1.
To design a mathematical model for a Central Pattern Generator, taking in con-
sideration features of its biological counterpart. This model will use nonlinear
oscillators as a modular generator for discrete and rhythmic primitives, that when
superimposed result in complex movements. This allows:
• to tackle the complexity inherent to the design of dynamicalsystems;
• a fast response to stimuli;
• and an easy switching between behaviors.
Thus, it is well suited for fast adaptive behaviors because it turns a high dimen-
sional trajectory generation problem into a simple selection between pre-defined
behaviors. Due to their intrinsic stability property, the dynamical systems have
often proven to ensure a robust control of the movements in time-varying environ-
ments
This model must enable modulation of the generated trajectories, possibly such
that it reflects the environment changes. Nonlinear oscillators generate smooth
trajectories modulated by simple parameters change.
This CPG model must also coordinate and generate all the joints in a limb in
order to generate the required limb movements. Nonlinear oscillators are also
well suited for this distributed control, as it is possible to couple several oscillators
because they present entrainment phenomenon.
1.2. Objectives 5
Finally, all the limbs must be coordinated such that the generated movements
result in something resembling the locomotor movements of aquadruped animal.
This is achieved, again, by taking advantage of the characteristics of the nonlinear
oscillator, and formulating a network of CPGs.
It is also necessary to propose a methodology to determine the required limb co-
ordination, to formulate and integrate it with the network CPG.
This will constitute the lower layer of the proposed architecture. Communication
between the layers happens through the parameters that control the lower layer.
This modularity enables to achieve independency between the architecture layers
and also enables a functional, hierarchical organization.
2.
To design a mechanism for selecting the most adequate limb coordination and
rhythmic activity accordingly to the desired locomotion velocity. A stimula-
tion signal must control locomotion initiation, speed change and consequent gait
change according to its strength (considered a tonic drive), similarly to the robot
biological counterparts. It is a well known fact [2, 4, 5], that a change in the veloc-
ity leads to a change of gait, including movement initiation. This behavior switch
must, however, be elicited. The proposed architecture mustbe able to achieve this
behavior switching according to sensory information.
3.
To design a mechanism that modulates the trajectories generated by the network of
CPGs and thus achieves omnidirectional locomotion. This involves to set the CPG
parameters such as amplitude, offset, frequency, couplingand phase relationships
such that the generated movements represent a locomotion with a given direction
and angular velocity.
In order to control steering in a robot as the AIBO ERS-7, a combined use of the
flap and swing hip joints, has to be proposed. A steering command will modu-
1.3. Outline 6
late the activity of the CPGs network through modulation of the flap and swing
amplitudes.
1.3 Outline
This manuscript is organized as follow. In Chapter 2 are introduced concepts of
quadruped locomotion, for a better understanding of the topics discussed on the
next chapters. Chapter 3 presents a non in-depth view of the nervous systems of
vertebrate animals and its circuits involved on locomotion, clarifying the ideas
and concepts used in the following chapters. The CPG network, CPG design and
its use on the robotic platform is presented in Chapter 4. Itsmodulation regarding
velocity and omnidirectional locomotion is presented in Chapter 5 and Chapter 6,
respectively. The last Chapter (7) summarizes and presentsa discussion of the
results.
1.4 Publications
The work carried throughout my participation in the group has led to some sub-
missions as conference participations.
”A Brainstem-like Modulation Approach for Gait Transitionin a Quadruped Robot”,
Vıtor Matos, Cristina P. Santos and Carla M.A. Pinto. Accepted for International
Conference on Intelligent RObots and Systems at St. Louis, Missouri, USA in
2009.
”Attractor Dynamics Generates Local Path Planning and Locomotion in a Visually-
guided Quadruped Robot”. Cristina P. Santos and Vıtor Matos. Submitted to
International Conference on Robotics and Automation, at Kobe, Japan in 2009.
Chapter 2
Quadruped Locomotion
For a better understanding of the concepts discussed in the following chapters,
some basic principles of legged locomotion, focusing on quadruped locomotion,
will be introduced.
The presented principles apply to most quadruped mammals. These are animals
that use the four limbs for locomotion, and have three jointsper limb, the hip,
knee and ankle. To mention just a few that most people know: cat, dog and horse.
During locomotion the limbs serve two purposes: to support the body during the
ongoing movement and to generate the propulsive force making the body progress.
2.1 Limb movements
The fundamental action of walking is stepping. On each step the animal performs
a propulsive movement that pushes the body forward, followed by the lifting of
the foot and the placement in a more advanced position (fig. 2.1).
A step cycle, or stride, is the complete cycle of the limb movements. The elapsed
time necessary to complete a step cycle is the step cycle duration, or cycle time,
and during this time every foot has been placed and lifted exactly once.
The necessary movements for the step cycle are performed by the skeletal muscles
7
2.2. Gaits 8
1 2 3 4 5 6
Figure 2.1: The animal propels the body forward (1-4) followed by the placementof the foot in a more advanced position (5,6).
in the limb. Each limb has several extensor and flexor muscles. When a extensor
muscle contracts it increases the joint angle where it is attached. The opposite, a
decrease of the joint angle is performed through a flexor muscle.
2.2 Gaits
During a stride all the limbs are coordinated in order to not let the animal fall.
This coordination is achieved in several ways and is called agait. A gait is a
periodic relationship among the movement of all limbs during locomotion. It is
characterized by the sequence and timing of placing and lifting the feet during a
stride.
Quadruped animals switch gaits to better suit the locomotion to certain conditions
of motion. They switch the gait depending on the velocity in order to be more
energy efficient, on terrain properties, on the desired stability and mobility. Ani-
mals perform certain gaits due to their body and limb structures. Some are able to
perform certain gaits only when taught, as horses [4, 5].
Quadruped gaits are divided in two major groups, defined by the way the limbs
in a girdle1 are coordinated. A gait is considered symmetrical when the limbs of
the same girdle are always in strict alternation, performing the step cycle out of
phase from each other. A gait is asymmetrical when the pair oflimbs in a girdle
perform the step phases in coordination, performing the same movements almost
simultaneously.
1Anatomy: The pelvic or pectoral girdle. Any curved or circular structure, such as the hipline formed by the bones and
related tissues of the pelvis.
2.3. Step phases 9
2.3 Step phases
A step cycle can be divided in two phases, the swing phase (or transfer phase) and
the stance phase (or support phase).
The lifting of a foot is the onset of the swing phase, when the foot leaves the
ground by the flexion of the limb. The hip, knee and ankle startto flex, moving the
limb to a more rostral2 position. Somewhere in midway of this transfer movement
of the limb, the knee and ankle start to extend until the foot is in contact with the
ground.
The placing of the foot is the onset of the stance phase. Rightafter the foot touches
the ground, starts the extension of the limb. The knee and ankle slightly yield
under the weight of the body on the first moments of contact with the ground. The
whole limb continues extending during the remaining stancephase, pushing the
animal forward, finishing only on the onset of the next swing phase. Figure 2.2
presents an overall view of the joint angles during a step in adog.
Joi
nt
angl
e (d
eg)
140
100
60
0.1s
Fle
xio
n
Exten
sion
Swing Stance
Figure 2.2: Joint angles for hip joint (solid), knee (dotted) and ankle (dashed).During the swing phase, the dog flexes the hip, while flexing and extending theankle and knee. In the stance phase the whole limb is extended. Adapted from[1].
Animals change locomotion velocity by decreasing the duration of the step cycle,
increasing the number of steps per seconds. Observations ofanimal locomotion
led to the conclusion that this decrease of the step cycle is due to the decrease of
2Directional term describing a location towards the front.
2.4. Gait characterization 10
the duration of stance phase. While the duration of the stance phase is decreased,
the duration of the swing phase remains practically constant throughout all veloci-
ties of locomotion. The duration of the stance phase determines the overall period
of the step cycle, therefore the stepping frequency [2].
The relationship between the stance phase duration (Tst(s)) and the cycle duration
(T = Tst + Tsw(s)) is the duty factor (β).
β =Tst
Tst + Tsw(2.1)
In eq. 2.1 the duty factor (β) is the fraction of time in the step cycle time (T ) that
a limb supports the body. It is possible to determine the locomotion velocity from
the value of duty factor.
Figure 2.3 shows a possible relationship between the velocity and the duty factor,
for the presented swing and stance phase durations.
2 4 6
0.2
0.3
0.4
0.5
0.6
0.7
Locomotion velocity
Ste
pphase
length
(s)
0.3 0.4 0.5 0.6 0.7
1
2
3
4
5
6
Loco
motion
velo
city
Duty factor
Figure 2.3: Achieved velocity when performing the step phases with the givendurations (left). Swing phase is the solid line, and the stance phase the dashedline. On the right is the relation between duty factor and velocity. The graphicswere calculated based on [2]
2.4 Gait characterization
The coordinated fashion in which the four limbs perform the step phases is a gait.
A gait is fully characterized through the value of duty factor (β), specifying the
2.4. Gait characterization 11
time in step cycle that a limb supports the body, and the phaseamong the limbs,
the fraction of the step cycle time that the limb lags from theprevious.
The placing and lifting of the limb are called events of the gait, and the sequence
and timing of its execution is the gait event sequence. Two events take place once
in a step, the lifting (ψi) and the placing (ϕi) of the foot. The values ofψi andφi
are the fraction of the cycle time when the event takes place.For each stride of a
quadruped there are eight events in a gait sequence. Figure 2.4 shows the footfall
diagrams and gait sequence for walk, trot, gallop and bound.The gait events for
the presented gaits:
• Walk: {ϕLF,ψRH,ϕRH,ψRF,ϕRF,ψLH,ϕLH,ψLF}.
• Trot:{ϕLFϕRH,ψRFψLH,ϕRFϕLH,ψRHψLF}.
• Gallop:{ϕLF,ψRF,ϕRF,ψLH,ϕLH,ψRH,ϕRH,ψLF}.
• Bound:{ϕLFϕRF,ψRHψLH,ϕRHϕLH,ψRFψLF}.
Walk
LH
LF
RF
RH
0.50 1
'LH
'LF
'RH
'RF
ÃRH
ÃRF
ÃLH
ÃLF
Trot
LH
LF
RF
RH
0.50 1
'LH
'LF
'RH
'RF
ÃRH Ã
RF
ÃLH
ÃLF
Symmetric gaits Asymmetric gaits
Gallop
LH
LF
RF
RH
0.50 1
'LH
'LF
'RF
ÃRH
ÃRF
ÃLH
ÃLF
'RH
Bound
LH
LF
RF
RH
0.50 1
'LH
'LF
'RH
'RF
ÃRH
ÃRF
ÃLH
ÃLF
Figure 2.4: Event sequences for the presented gaits. The limbs: LF, left forelimb;RF, right forelimb; LH, left hindlimb; RH, right hindlimb.
2.4. Gait characterization 12
Lets consider as reference the left forelimb and its placingeventϕLF = 0, the
relative phase for all the limbs is given by
ϕi =∆tiT. (2.2)
The value ofϕi ∈ [0, 1], because∆ti ≤ T is the time delay between the reference
event and the placing of limbi ∈ {Left Fore,Right Fore, Left Hind,Right Hind}.
The event of lifting the footi can be determined by,
ψi =
{
ϕi + βi , ϕi + βi < 1
ϕi + βi − 1 , ϕi + βi ≥ 1, (2.3)
and it will be lifted during1− βi of the cycle time.
Figure 2.5 presents the relative phase among the limbs for the symmetric gaits,
walk and trot; and for the asymmetric gaits, gallop and bound.
0 0.5
0.250.75
Walk
0 0.5
00.5
Trot
0 0.1
0.50.6
Gallop
0 0
0.50.5
Bound
Symmetric gaits Asymmetric gaits
Figure 2.5: Relative phase for the walk, trot, gallop and bound.
Consider now only the symmetric gaits, where the limbs on a girdle are in strict
alternation. It is possible to describe all the relative phases by the single value of
ϕLH, from now on referred as the gait phase. The relative phase for all the limbs
2.5. Locomotion for the AIBO ERS-7 13
can then be calculated by:
ϕLF = 0, (2.4)
ϕRF = 0.5, (2.5)
ϕRH = ϕLH + 0.5. (2.6)
If a symmetric gait has aβ = ϕLH, it is a singular gait, with a lifting event on one
limb occurring at the same instant of a placing event on otherlimb.
It is also usual to identify a walking gait as having a duty factor greater than 0.5,
while a running gait have a duty factor lower than 0.5. If the value of duty factor
is lower than 0.5 the foot will be in the air more than half a step cycle. This means
that the animal will present periods of flight during a stride.
To ensure at least three limbs supporting the body, creatinga support polygon
where the centre of mass falls into, the gait must have aβ ≥ 0.75 and aϕLH =
0.75
2.5 Locomotion for the AIBO ERS-7
On this work it will only be addressed the alternating gaits walk and trot.
The used robotic platform has a rigid body and limbs with non-compliant servo
joints. The joints are stiff, without any kind of elasticity, and their position is
specified by an angle value. The joints also present timing constraints on the exe-
cution of movements that limit the duration of the step phases. For these reasons,
the fast running gaits that should elevate the body with periods of flight can not be
achieved.
The only gaits used on this work are walk, trot, and all the singular gaits between
the transition of the two.
The walk gait is suitable for low velocity locomotion, with possible use when
walking in unknown terrain and for exploratory behaviours,while the trot gait is
more suitable for a fast motion in a free environment.
2.5. Locomotion for the AIBO ERS-7 14
2.5.1 Robot configuration
Unlike its natural counterpart the AIBO platform has three joints per limb, with
different configurations of a dog’s limb (fig. 2.6). A dog has knee and ankle joints
controlling the extension of the limb, while the AIBO only has the knee joint. The
dog’s hip joint is more flexible than the AIBO’s, that employstwo joints in the hip
to perform the same range of movements.
Figure 2.6: The limb’s joints configuration for the AIBO robot.
Besides, the AIBO’s body is rigid, contrary to the dog’s flexible body with a spine.
The dog steers while walking by curving the spine, which can not be achieved by
the robot.
Chapter 3
Bio-Inspired Architecture
It is clear that animals surpass current robots on walking and moving around in
our natural world. Animals have the capability of locomoting in different kinds of
terrain and navigating in complex environments. On their movements they exhibit
many corrective reflexes when faced with unexpected perturbations, and present
an exceptional adaptability in rough terrain. They adapt the walking performance
to environment conditions, adjust the performed movementsand correct the bal-
ance of their body.
Throughout many years of evolution the locomotor circuits in the nervous system
were extended and improved. These circuits rise in complexity from the small fish
to the walking mammal, but share similarities in organization and function which
were conserved through evolution.
From the simple action of stepping, to the adaptability of movements, the lo-
comotor circuits in the nervous system present an extensiverepertoire of innate
abilities for the very important action of locomoting, fundamental for own’s sur-
vival. Some of these abilities have been the principal goalsof researchers on the
field of legged robotics.
We take inspiration from nervous systems in hope that these potential mechanism
of animal motor control can help on improving the design of adaptive algorithms
and controllers, while never abandoning an engineering perspective. It is not our
goal to model the nervous systems of animals. Instead, we tryto grasp an insight
15
3.1. Neural structures for locomotion in vertebrates 16
on how the nervous system works when generating the locomotor movements,
while interacting with sensory information.
The goal is to design a quadruped controller able to generatethe locomotor move-
ments, integrating concepts of the structure organization, function and compo-
nents in order to increase flexibility, adaptability and performance of the walking
robot. We believe that this approach will lead to the abilityof robots dealing with
complex terrains.
Next are presented the main regions involved on the motor control of the limbs,
functionally divided and grouped in layers for a better understanding of the pro-
posed locomotor controller in 3.4.
3.1 Neural structures for locomotion in vertebrates
The nervous system is a network of specialized cells that control all bodily func-
tions. It is responsible for sending, receiving and processing nerve impulses
throughout the body, controlling all the organs and muscles. The nervous sys-
tem in vertebrate animals is divided in two main parts: the peripheral nervous
system (PNS) and the central nervous system (CNS) [1].
The PNS consists in nerve cords constituted by afferent fibers that relay sensory
information from the limbs and organs to the CNS, and by efferent fibers which
transmit information from the CNS to organs and limbs.
The CNS is composed by the brain and the spinal cord, and can bedivided in seven
parts, including the regions from the brainstem that along with the cerebellum
compose the hindbrain; regions from the midbrain and from forebrain; and the
spinal cord. The CNS of a vertebrate is shown in fig. 3.1.
The spinal cord receives and processes peripheral sensory information from the
skin, muscles and limbs, and relays it to the brain. It is divided, from head to
trunk, into cervical, thoracic, lumbar and sacral regions.It contains neural circuits
that endogenously1 generate rhythmic patterns. There are several of these circuits
1Endogenous means ”proceeding from within”, the opposite ofexogenous.
3.2. Central Pattern Generators 17
Cortex
Locomotorcenters
Brain
Brainstem Spinal Cord
Forelimb's CPGs Hindlimb's CPGs
Figure 3.1: Central Nervous System is composed by the spinalcord and the brain.The Central Pattern Generators are located in the ventral spinal cord for the fore-limbs, and in the lumbar spinal cord for the hindlimbs. It receives the excitatorycommands through the brainstem, from the basal ganglia in the midbrain.
in the spinal cord, controlling the rhythmic activity for breathing, swallowing,
chewing and walking. These circuits in the spinal cord that generate the rhythmic
movements for the muscle activation of the limbs are the firstand lower layer.
A second layer is comprised by the brainstem and by some subcortical2 regions,
including the basal ganglia. The basal ganglia elicits and coordinates motor pat-
terns, sending commands to the brainstem. A motor program either as reflexes or
learned responses to a given stimuli or voluntarily if expressed by higher cortical
areas. Commands to the spinal generators are sent through descending pathways
from the brainstem in order to initiate and modulate its activity. This modulation is
carried on the rhythmicity of the patterns, overall locomotor pattern, coordination
with other limb movements and posture of the animal.
The motor cortex are regions of the cerebral cortex involvedin the planning, con-
trol and execution of voluntary movements. These regions are considered part of
a third layer.
3.2 Central Pattern Generators
In vertebrate animals, the limb muscle activation during locomotion is carried
through intrinsic spinal networks, the Central Pattern Generators [2, 6, 7]. This
network of rhythmogenic units is capable of endogenously generating the complex
2The portion of the brain immediately below the cerebral cortex.
3.2. Central Pattern Generators 18
coordinated patterns that give rise to locomotion. This means that the repetitive
pattern of activation for the limb muscles are generated without any peripheral in-
put or rhythmic activation. Instead, the CPGs are activatedthrough tonic3 signals
from supraspinal4 regions. CPGs are found in all vertebrate animals, including
humans.
These circuits were extensively studied: in fish, as the lamprey; in amphibians,
like tadpoles, frogs, toads and newts; in reptiles and birds; and in mammals, as
cats and dogs [2].
Several experiments in several animals shown that after transection of the spinal
cord and after afferent input is abolished, rhythmic locomotor movements are ex-
hibited when applying certain excitatory signals after thetransection. Also, it
was evidenced the generation offictive locomotion5 in several spinal preparations.
These studies, along many other experiments have provided detailed information
about the CPGs and the effects of the sensory information on its generated pat-
terns.
It has been proposed that the CPG for each limb is composed by smaller rhythmo-
genic circuits, the unit-CPG, each controlling one muscle group of extensors and
flexors of a limb,i.e. one unit-CPG controlling one joint in a limb [8]. The or-
ganization of the CPG is very important when considering therequired flexibility
when generating the different varieties of limb movements during goal directed
locomotion [9]. This intralimb coordination of the generated pattern depends of
the limb movements to perform. For example, when walking forward the unit-
CPGs can be coordinated in a way and for walking backwards it may required a
different coordination in order to generate a different activation pattern.
It is believed that the network is located along the spinal cord with a rostrocaudal6
excitability gradient. The hip motor neurons are higher in the spinal cord and
exhibit an highest capacity to generate rhythmic activity than the motor neurons
located lower, as those of knee and ankle. It is also suggested that within a CPG,
3Characterized by continuous stimulation, as opposed to phasic.4Pertaining to an area above the spine.5Fictive, as not genuine. It is called fictive locomotion, thesignals recorded from the spinal cord during certain prepa-
rations, which do not result in locomotor movements.6Relative to the direction from front to back.
3.3. Supraspinal regions 19
the hip unit-CPG entrains less excitable unit-CPGs, actingas a leading rhythmic
generator for the knee and ankle unit-CPGs [7]. These neuronal elements that
produce the activation of the hindlimb muscles are located in the lumbar spinal
cord, and similarly the forelimb muscles locomotor networks are located in the
cervical spinal cord.
Quadrupedal mammals locomote with several different gaits, requiring different
coordinations among the limbs. This interlimb coordination takes place at the
CPG level, where the CPGs are tightly coupled among each other ensuring a pre-
cise alternation (symmetric gaits), or synchrony (asymmetric gaits), of the mus-
cles on either side of the body [2, 7].
The CPG provides the basic rhythm output for locomotor output while integrat-
ing powerful commands from various sources that serve to initiate or modulate
its output, meeting the requirements of the environment. The CPG is adaptable
on short and long timescales. They show adaptation to different gait patterns
and different walking contexts. Signals from supraspinal,spinal and peripheral
structures are continuously integrated by the CPG for the proper expression and
short-term adaptation of locomotion, providing a great versatility and flexibility
on the performed movements [10, 11].
3.3 Supraspinal regions
The locomotor pattern is generated at spinal level, while its modulation and acti-
vation is carried at supraspinal level.
Initiation and modulation
There are experiments which show that after a transection ofthe spinal cord, a
cat is not able to generate locomotor movements, suggestingthat commands ini-
tiating the locomotor activity are given by supraspinal regions [12]. Also, it was
shown that stimulation of the locomotor regions in decerebrated7 cats produces
7In decerebrate preparations the brain stem is completely transected at the level of the midbrain.[1]
3.3. Supraspinal regions 20
locomotion [13].
These commands from the mesencephalic locomotor regions (MLR) and dien-
cephalic locomotor regions (DLR) are thought to converge into onto the reticu-
lospinal (RS) cells in the medial reticular formation (MRF), which in turn provide
a descending command pathway for the activation and modulation of the spinal
central generators [13]. The brainstem RS neurons initiateand maintain an ex-
citatory drive to the pattern generators [14] as well as modulatory commands for
purposeful goal-directed locomotion [9].
The more tonic excitatory drive the central generators are provided, the faster
these networks will oscillate, resulting in greater locomotor activity. This supraspinal
drive on the spinal CPGs determines the degree of activationof the muscles and
the speed of locomotion. With increasing activation of locomotor centres (MLR
and DLR), the speed of locomotion also increases. In quadruped animals this in-
crease also leads to a shift in interlimb coordination, fromwalk to trot and then to
gallop [9, 14, 15].
The role of the RS neurons has been demonstrated in several experiments. For
example, by stimulating the reticulospinal cells in decerebrated cats, locomotor
activity is elicited. Spontaneous MLR evoked locomotion can also be abolished
by blocking the synaptic transmissions on the RS region.
The spinal CPGs are activated and modulated through the reticulospinal neurons.
In the brainstem, visual, sensory and vestibular information is further integrated
to control both steering and posture [9, 16]. Experiments show that basic features
of goal-directed locomotion can be expressed by subcortical forebrain structures
together with the brainstem, and that the direction of movements is determined
by an additional steering command superimposed on the basiclocomotor activity
[15, 9].
Selection of motor programs
The basic motor repertoire for locomotion, breathing and swallowing, among oth-
ers, is required for survival. These are generated and controlled in the most prim-
3.4. Proposed architecture 21
itive regions of the CNS, the spinal cord and subcortical areas, respectively.
Experiments show that cats decorticated at birth move around gracefully and ex-
press the traits of goal-directed locomotion, as searchingfor food and eating and
using the limbs for exploratory movements in the floor [15, 15]. These findings
show the ability of subcortical structures to process information and act on it,
selecting determined motor programs.
It is likely that the principal structure responsible for selecting the motor patterns
is the basal ganglia [14, 15]. The basal ganglia controls thedifferent locomotor
centres of the brainstem, keeping the MLR and DLR under tonicinhibition during
rest conditions. Other structures along with the basal ganglia control goal-directed
locomotion elicited by olfactory and visual stimuli.
3.4 Proposed architecture
This work is part of a larger project with broader objectiveswhich aims at de-
veloping a bio-inspired closed-loop controller architecture for the autonomous
generation, modulation and planning of robust and complex motor behaviors for
walking robots.
We explore an approach that uses dynamical systems to implement the locomotor
controller. Due to their intrinsic stability property, thedynamical systems have
often proven to ensure a robust control of the movements in time-varying environ-
ments.
The devised architecture for this locomotor controller is divided in three layers,
functionally similar to the motor control systems involvedin goal-directed loco-
motion in vertebrates (fig. 3.2).
Layer one addresses the role of the spinal cord and generatesthe motor patterns
by a CPG network. It generates and coordinates the movementson the limbs
in order to achieve the locomotor movements, as well generating movements for
performing other tasks.
It is assumed that any movement can be decomposed in simple discrete, goal-
3.4. Proposed architecture 22
Motorcortex
MLR DLR
RS
Basal ganglia
CPG
CPG
CPG
CPG
NonlinearOscillators
Parameters
Motorprograms
Planning,Behaviours
Layer3
Layer2
Layer1
Figure 3.2: Functional division of the motor controller structures in the nervoussystem of vertebrate (left), and the proposed locomotor controller architecture(right).
directed trajectories, and rhythmic motor primitives, as oscillatory trajectories
based on amplitude and frequency. These two last assumptions enable move-
ments to be generated in a modular fashion. It allows: to tackle the complexity
inherent to the design of dynamical systems; a fast responseto stimuli; and an
easy switching between behaviors, because it turns a high dimensional trajectory
generation problem into a simple selection between pre-defined behaviors.
The second layer mimics the functionalities of the brainstem and forebrain struc-
tures including the basal ganglia in vertebrates. It is responsible for selecting a
motor program and sending the commands to the CPG network at the right time.
A motor program is composed by the set of parameters needed bythe network to
generate the trajectories that fulfill the task.
3.4. Proposed architecture 23
The third layer addresses planning in general through the specification and se-
lection among independent voluntary movements and behaviours. This level ad-
dresses higher regions of the forebrain and generates the commands for locomo-
tion initiation; gait switch; speed change; steering and obstacle avoidance, reach-
ing and environment exploration.
The developed work presented on this manuscript contributes to the devised loco-
motor controller, specifically the first and second layer.
The proposed CPG generates on-line trajectories in a modular and coordinated
fashion for all the joints in a limb, enabling stepping in anydirection. A CPG
network was designed in order to control the limbs of a walking robot, in order to
achieve locomotion. It allows for a purposeful locomotion because it allows the
robot to walk to any desired direction.
It was also address the role of the second layer of controlling the CPG network
for the motor programs of locomotion initiation, gait switching and steering.
3.4.1 Relevant biological features
In order to develop the locomotor controller for a quadrupedrobot inspired in
the neural systems of vertebrate animals, it is necessary totake into considera-
tion certain features and characteristics to implement analog solutions, regarding
functionality and organization.
From the previous description of the CPGs, based on extensive research in the un-
derlying locomotor systems of animals, it is possible to construe several required
features that must be included in the locomotor controller in order to achieve loco-
motion and potentiate the desired flexibility and adaptability presented by animal
locomotion.
In summary, the locomotor controller should implement the following features:
• Hierarchically organization of rhythmogenic units, one unit-CPG per joint;
• Self-contained rhythmic generation per limb, the CPG;
3.4. Proposed architecture 24
• Independent control of swing and stance phase durations, for achieving dif-
ferent velocities;
• Coordination between the joints of a limb in order to correctly generate the
locomotor movements;
• Coordination between the limbs in order to achieve the quadruped gaits;
• Possibility to integrate sensory information in order to make the locomotion
more robust;
• Pattern modulation through simple commands from higher centres;
• Possibility to integrate other movements in order to link other behaviours;
• Capability of walking to any direction, in order to navigatethroughout en-
vironment.
3.4.2 Controller requirements
The design of the locomotor controller also must take into account certain features
required for controlling a robotic platform.
The controller should generate smooth trajectories, in order to result in smooth
movements, diminishing the strain in the robot joints. It must be possible to
smoothly and predictably modulate the trajectories in order to meet the locomotor
commands.
The controller must be stable and reliable. It must be stableto small perturbations,
with the possibility of dealing with deviations in results and enabling feedback
integration, making the locomotion more robust.
Chapter 4
Locomotor CPG Network
The Central Pattern Generator (CPG) is an important principle in this work. Cen-
tral pattern generators are the functional organizations in the animals’ neurological
system that control the bodies’ rhythmic movements.
The work presented revolves around these concepts of low-level central rhythmo-
genic units, which are able to generate the movements for a correct expression of
locomotion.
Herein it is proposed a network of CPGs in order to generate the locomotor move-
ments for the limb’s joints of a quadruped robot. The used CPGis based on
previous work by the team and others. It uses a dynamical oscillator that serves as
the basic construction block for the Central Pattern Generator. These oscillators
have proven to be an excellent solution for generating appropriate trajectories for
controlling robot joints. The oscillator properties and its adequacy will be further
discussed in the next sections.
4.1 Related work
The study of robot locomotion has always found solutions andinspiration on na-
ture. The first and most obvious aspect taken from this inspiration is the mor-
phology and methods of locomotion of robotic platforms. There are hexapod,
25
4.1. Related work 26
quadruped and biped walking robots; there are flying robots with flapping wings;
some robots even branchiate and others undulate. Besides the morphological as-
pects, the control of locomotion in the robotics domain has also been a subject
where the knowledge of animal locomotion, specifically fromneurobiology, has
been taken in consideration when building new control models.
Findings in neurobiology about the circuits on invertebrate and vertebrate animals,
have brought the concept of centrally generated rhythmic patterns to the field of
robotics.
Bio-inspiration
The concept of CPG provides interesting ideas and features that have been taken
into consideration when designing robotic controllers.
Locomotor controllers have been implemented using severaltype of CPG models.
They include connectionist models1, spiking neural networks, vector maps and
systems of coupled oscillators. Some are even realized in hardware, implemented
on a chip or using analog electronics.
These CPG models have been used to control many different type of robots with
distinct types of locomotion. For instance hexapod and octopod robots, inspired
by insect locomotion. Swimming robots, based on fish and and amphibian ani-
mals. Biped robots that mimic human upright locomotion, andquadruped robots.
For an in-depth review see [17].
In quadruped locomotion the concept of CPG has been widely used as a reliable
alternative to traditional controllers. There are successful implementations where
the CPG has been integrated with sensory feedback, adaptiverules and reflexes.
Some of these approaches have been developed using dynamical systems theory
and coupled oscillators.
1Neural networks are the most commonly used connectionist model today.
4.1. Related work 27
Central Pattern Oscillators as dynamical oscillators
The dynamical oscillator approach to the CPG has proven to besuccessful in many
robotic applications.
The advantage of the dynamical oscillator based CPG, is thatit provides for ro-
bustness because of existence of globally stable attractors (limit cycle behaviors),
the system rapidly returns to its rhythmic behaviour after transient perturbations.
Oscillators are well suited for distributed implementation because their entrain-
ment properties, providing for coupling/synchronization. The entrainment prop-
erties along with the intrinsic stability to small perturbations, provide the ability to
integrate sensory feedback and create a coupling with the mechanical system and
the oscillators. These kind of CPGs usually have few controlparameters which
allow straightforward modulation of the locomotion. Dynamical oscillators also
produce stable and smooth modulations when the control parameters are abruptly
changed.
Moreover, the dynamical oscillator used within the contextof this work also al-
lows for the generation of goal-directed trajectories along with the rhythmic har-
monic solutions. The basic idea is that complex movements can be generated
through the superimposition of rhythmic and discrete motorprimitives. This ap-
proach enables to cope with the complexity of motor control and motor learning
and is convenient for modeling purposes.
All these properties were explored and applied in several works.
In [18] it was explored the adaptation of these oscillators by developing an on-line
learning system that attempts to minimize the necessary energy for the gait.
On [19] it has been presented a mechanism that enables the control independently
the duration of the different step phases, which is fundamental for generating the
correct locomotor movements for the hip. It also introducesa method for coupling
the oscillators, based symmetry study of dynamical oscillators [20]. In [21] was
presented a method for designing CPGs using coupled dynamical oscillators and
a systematic manner of adding sensory feedback, and also uses the mechanism for
controlling the duration of the step phases and the couplingmethod presented in
4.2. Hopf Oscillator 28
[19].
In [22] is demonstrated how several behaviours can be achieved by combining
the generated rhythmic and the discrete trajectories. [22]exhibits the possibility
of joining the movements of crawling and short-term point-to-point movements,
describing the behaviour of hand placement for reaching marks on the ground,
exploring the possibility of accurate feet placement.
Generation of rhythmic and discrete movements using the dynamical oscillator is
also presented in [23], where a humanoid robot performs a drumming task from
the generated trajectories that result from the superposition of discrete and rhyth-
mic movements.
The work presented in [24] demonstrated the flexibility of the dynamical oscillator
by designing a sagittal balance controller for the network of CPGs. It integrates
noisy sensory information regarding the inclination of thebody of the robot and
adjusts the output accordingly to the physical perturbations.
The versatility of the used oscillator allows it to be used onother contexts besides
the generation of locomotor movements, as presented in [25], where they were
used head stabilization during quadruped locomotion. Learning algorithms were
used to adequate
4.2 Hopf Oscillator
The work here presented relies on the use of a nonlinear dynamical oscillator that
present an Hopf bifurcation. This type bifurcation happenswhen a certain control
parameter achieves a value, the solution bifurcates to either a stable fixed point or
a stable limit-cycle.
The Hopf oscillator is presented as follow,
x = α(
µ− r2)
(x− O)− ωz, (4.1)
z = α(
µ− r2)
z + ω(x− O), (4.2)
wherex andz are the state variables that present oscillatory harmonic solutions
4.2. Hopf Oscillator 29
or a stable fixed point, andr =√
(x− O)2 + z2.
This oscillator (4.1,4.2) relaxes tox = O, z = 0 for values of parameterµ < 0,
and follows a stable orbit whenµ > 0 (Fig. 4.1).
−1 −0.5 0 0.5 1
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
Fixed point
x
z
(a) Fixed point at(0, 0)
−1.5 −1 −0.5 0 0.5 1 1.5−1.5
−1
−0.5
0
0.5
1
1.5
Limit-cycle
x
z
(b) Limit-cycle with amplitude of 1
0 1 2 3 4 5−0.4
−0.2
0
0.2
Time(s)
xan
dz
(c)
0 1 2 3 4 5−1
0
1
Time(s)
xan
dz
(d)
Figure 4.1: Solutions from the oscillator when (a),(c)µ = −1 and (b),(d)µ = 1.The initial condition(xo, zo) = (0.2,−0.4), O = 0, α = 1 andω = 6.3. In (b)and (a) the vector field is presented in the background. In (c)and (d) thex variableis the solid red line and thez is the dashed green.
The oscillator generates harmonic solutions for thex andz state variables, centred
aroundx = O andz = 0. The variableO is used to control this offset for the
solution in thex state variable.
The generated trajectory results in a superposition of two types of movements,
rhythmic and discrete. It is possible to turn on the oscillatory activity of the os-
cillator while specifying an offset (O); halt the oscillation and generate a discrete
movement by continuously changing the offset; combining both, resulting in a
more complex movement (fig. 4.2).
4.2. Hopf Oscillator 30
0 1 2 3 4 5 6 7 8 9
−2
0
2
Oscilla
tor’s
x
0 1 2 3 4 5 6 7 8 9
−5
0
5
10
15
Oscilla
tor’s
x
0 1 2 3 4 5 6 7 8 9
−5
0
5
10
15
Time(s)
Osc
illato
r’s
x
Figure 4.2: The solid red line is thex solution and the dotted blue line isO. Onlyoscillatory solution with an amplitude of 3 (top), superimposed with the discretesolution of the middle results in the solution in the bottom.
The radius of the limit-cycle, and therefore the amplitude of oscillations, is de-
fined by the value of√µ whenµ > 0 (Fig. 4.3). The trajectory will reach the
stable solution faster or slower, depending on the relaxation time of the dynamical
system given by∣
∣
∣
12αµ
∣
∣
∣.
The frequency of oscillations is specified by the parameterω (rad.s−1). The cycle
durationT (s) is given byT = 2πω
. Fig. 4.4 shows the frequency change when
the value ofω is altered. The oscillator promptly changes the frequency of the
generated solutions, resulting in a smooth and responsive trajectories.
The signal of parameterω controls the direction of the limit-cycle. For values of
ω < 0 the limit-cycle rotates clockwise, and forω > 0 it rotates counter-clockwise
(fig. 4.5). This change in the limit-cycle’s direction results in the inversion of the
solutions in time. The variable that is ahead in time, will betrailing when the sign
4.2. Hopf Oscillator 31
0 1 2 3 4 5 6 7 8 9−5
0
5
Amplitude modulation
xand
z
0 1 2 3 4 5 6 7 8 90
2
4
Time (s)
√
µ
Figure 4.3: Smooth adjustment in trajectories’ amplitude (top) throughµ param-eter change (bottom). The solid red line is thex and the dotted green isz (top).
0 1 2 3 4 5 6 7 8 9
−1
0
1
Frequency modulation
xan
dz
0 1 2 3 4 5 6 7 8 90
10
Time(s)
ω
Figure 4.4: Adjustment of oscillation frequency (top) throughω parameter change(bottom). The red line is thex and the blue isz (top).
of ω is changed.
The generatedx solution of this nonlinear oscillator is the control trajectory for a
robot’s joint. Variablex encodes the value of the joint’s angle.
The generated trajectories through this oscillator can be summarized as
[
x (t)
z (t)
]
=
[
O
0
]
, µ < 0
[√µ cos (ωt) +O√µ sin (ωt)
]
, µ > 0
(4.3)
4.2. Hopf Oscillator 32
−1.5 −1 −0.5 0 0.5 1 1.5−1.5
−1
−0.5
0
0.5
1
1.5
Counter clockwise
x
z
(a) Counter clockwise limit cycle.ω = 6
−1.5 −1 −0.5 0 0.5 1 1.5−1.5
−1
−0.5
0
0.5
1
1.5
Clockwise
x
z
(b) Clockwise limit cycle.ω = −6
0 1 2 3 4 5−1
0
1
Time(s)
xan
dz
(c) x andz trajectories forω = 6. Notice thatx leadsz.
0 1 2 3 4 5−1
0
1
Time(s)
xan
dz
(d) Thex variable leadsz for ω = −6.
Figure 4.5: Limit-cycle directions and solutions for different values signs ofω.In (a),(c)ω > 0, therefore the limit-cycle is counter clockwise, and in (b),(d) thelimit cycle is clockwise. As the time the solution goes from the centre to the stableharmonic solution.
4.2.1 Independent control of step phase durations
It is known that an animal changes its velocity by increasingor decreasing the
number of steps per second. This is achieved by changing the duration of the
stance phase (Tst(s)) while keeping the swing phase duration (Tsw(s)) constant.
The relation between the length of these two phases is the duty factorβ, given by
β =Tst
T st + sw. (4.4)
The oscillator presented earlier generates harmonic solutions, where thex variable
is the trajectory representing a joint angle.
Let’s assume that the ascending phase of thex trajectory corresponds to the move-
4.2. Hopf Oscillator 33
ment of the hip swing joint in the robot’s limb, and the descending phase is the
movement of pushing the limb back, as depicted in fig. 4.8. This means, forω > 0,
that whenz < 0 the oscillator is describing the swing phase and whilez > 0 the
oscillator describes the stance phase (fig. 4.6).
0 0.5 1 1.5
−1
−0.5
0
0.5
1
Time(s)
x,z
StanceSwing SwingStance
Figure 4.6: It is specified that whilez < 0, the robot is performing the swingphase movement, and whenz > 0, it is performing the swing phase.
The oscillator generates trajectories with the ascending and descending phases in
equal duration. Meaning that the joint movement will have aβ = 0.5. Therefore,
the overall step cycle duration can only be specified by changing the oscillator
frequencyω, equally altering the duration of the two step phases.
This means that the only available method for changing the locomotion velocity is
by changing the oscillator’s frequency, which does not match the method observed
in animals.
Righetti [21] solved this problem by employing a mechanism that modulates the
value of the frequency for the different step phases, with the mechanism presented
in eq.(4.5).
ω =ωst
e−az + 1+
ωsw
eaz + 1(4.5)
This equation alternates between two values for the frequency ω, depending on
the step phase identified by the value ofz. From eq.(4.5) it is possible to indepen-
dently specify the oscillation frequency for the ascendingand descending phases
of thex variable trajectory, which results in trajectories with independent dura-
tions. The frequency of the oscillation during these two phases are specified by
4.2. Hopf Oscillator 34
the value ofωsw = πTsw
(swing) andωst =πTst
(stance). The value ofa controls the
alternation speed.
This mechanism is very important, since it enables controlling the performed duty
factor of the generated trajectories, by keeping the swing duration constant and
changing only the stance duration.
The performed duty factor can be altered during locomotion by changing the
stance phase duration through the simple relationship
ωst =1− β
βωsw, (4.6)
whereβ specifies the desired duty factor.
Fig. 4.7 demonstrates the generated solutions for two distinct values of duty factor.
1 1.5 2 2.5 3 3.5 4 4.5 5
−1
0
1
xan
dz
Time(s)
1 1.5 2 2.5 3 3.5 4 4.5 5
−1
0
1
xan
dz
Time(s)
Figure 4.7: Generated trajectories withβ = 0.85 (top) andβ = 0.4 (bottom), foraωsw = 10.4rad.s−1 (Tst = 0.3 sec). The solid red line isx and the dashed greenis z. Notice that the duration of the ascending phase (swing) inx is kept constant,only the duration of the descending phase (stance) changes.
It was specified that duringz < 0, for ω > 0, the generatedx describes the
swing movement. This means that the limb will move backwardsdescribing the
descending trajectory, propelling the robot forward, and the ascending trajectory
4.2. Hopf Oscillator 35
is the movement that places the foot in a more advanced position, ready for the
next step (fig. 4.8).
-60º 60º -60º 60º
Figure 4.8: The robot is pushed forward whenω > 0, because the correspondingmovement of the descending trajectory, is the movement of pushing the robotforward, (a). Whenω < 0, the movement pushes the robot backwards because thestance phase is the ascending trajectory, (b).
If now the direction of the limit-cycle is inverted by specifying a value ofω < 0,
the generated trajectories are also inverted. This means that the stance phase will
not be the descending trajectory, but instead, the ascending one. Therefore the
limb during the stance phase will move from the back to the front, pushing the
robot backwards.
Fig. 4.9 shows the difference between trajectories with different directions.
1 1.5 2 2.5
−1
−0.5
0
0.5
1
xan
dz
Time(s)1 1.5 2 2.5
−1
−0.5
0
0.5
1
Time(s)
xand
z
Figure 4.9: The solid red line isx and the dashed green line isz, with aβ = 0.7.On the top the stance phase is the descending trajectory, making the robot walkforward. The opposite happens in the bottom, the robot walksbackwards becausethe stance phase is the ascending step phase.
4.2. Hopf Oscillator 36
4.2.2 The oscillator as a building block
This oscillator (eq. (4.1),(4.2),(4.5)) presents many properties that are desired for
our controller.
It generates smooth trajectories due to the stable solutions of the dynamical sys-
tem, despite the sudden change in parameters. They are also stable and reliable to
small perturbations, providing for the possible inclusionof feedback mechanisms.
Modulation of the trajectories is carried through the specification of a small set of
parameters. The outcome of the small changes in parameters results in predictable
and straightforward modulation of the trajectories.
Furthermore, it presents the capability of modularly generating trajectories. The
ability to generate rhythmic, discrete, rhythmic and discrete, allows the execution
of a myriad of movements, including those of locomotion.
Fig. 4.10 demonstrates some of combinations and modulations of the oscillator’s
parameters along with the resulting trajectory. The figure 4.10 shows the ability
0 1 2 3 4 5 6 7 8 9
−10
0
10
Time(s)
Osc
illa
tor’
sx
A B C D
Figure 4.10: Evolution of the generated trajectory (solid red) through severalchanges of parameters. The dotted green line is the offsetO throughout timeand the dashed blue is the amplitude
√
|µ|. On (A), sinceµ = −100 the oscillatorrelaxes to the value ofO. The rhythmic activity is activated in (B), withµ = 100andβ = 0.5. In (C) β is changed to 0.85. In (D) the oscillator is inverted.
to generate discrete (A) and rhythmic trajectories (B), as well as superimposing
both (D). It also shows the resulting smooth modulations in amplitude and in duty
factor for abrupt parameter change.
4.3. CPG architecture 37
This dynamical oscillator is well suited for distributed use. This aspect will be ex-
plored to create an organized network of oscillators that will result in a CPG, and
further, a network of CPGs that results in the locomotor controller. By coupling
or synchronizing several oscillators, it allows for a flexible coordination between
the trajectories of the robot joints.
4.3 CPG architecture
The purpose of this work is to design a locomotor controller capable of generat-
ing and controlling the joints of the limbs of an articulatedrobot. The synergy
of movements of the joints must result in something useful, as locomotion or
purposeful limb movements. This reason us on the necessity for controlling and
coordinating, in some fashion, the joints’ trajectories.
Some of the features of the biological CPG include the idea ofhierarchical orga-
nization within one oscillatory unit per joint, which are coordinated in a flexible
way to provide many pattern of activation in a single limb. This idea of organiza-
tion is the base of what will be presented for the proposed CPGand network of
CPGs
4.3.1 unit-CPG
An important characteristic of dynamical oscillators is that they are suitable for
distributed organizations. We will take advantage of this property and assign an
oscillator for each hip joint of the robot. It allows for a complete generation of
limb movements by combining the possible types of trajectories in a coordinated
fashion on both joints.
To make a bridge to the nomenclature found on neurobiology, from this point
forward, a single oscillator defined by eq.(4.7,4.8,4.9) responsible for generating
the activity on a single joint will be referred as unit-CPG.
Each unit-CPG takes a set of parameters for the modulation ofits activity, defining
the movement of the specified joint.
4.3. CPG architecture 38
For an easier modulation of the unit-CPG it was decided to unfold the parameters
µ andω in order to separately address their purposes. This dual role of the param-
eters may become an hindrance when designed an higher controller for the CPG
locomotor network. It is easier to address two parameters onthe unit-CPG, than
having to address a single parameter’s value and sign.
Parameterµ switches on/off the rhythmic activity and controls the oscillation am-
plitude. Unfolding the parameterµ by its roles, it is introduced the parameterν
only to control the state of oscillations, leavingµ to control only the amplitude.
Sinceν controls the sign ofµ, the oscillator is turned on whenν = 1 or is turned
off by aν = −1.
The parameterω specifies the frequency and the direction of the oscillations and
the direction of the limit cycle. Again, it is unfolded according to its roles by
introducing a new parameterι. By controlling the signal ofω, the parameterι
specifies the limit cycle directions, whileω is now only used to relay the oscilla-
tions’ frequency,ωsw andωsw. For ι = 1 the limit cycle is counter clockwise and
for ι = −1 it is clockwise. The consequence of choosing the direction of the limit
cycle is changing the stance trajectory between descending(ι = 1) and ascending
(ι = −1). The swing phase is descending whenι = −1 and ascending forι = 1.
The unit-CPG thus becomes
x = α(
µν − r2)
(x− O)− ωιz, (4.7)
z = α(
µν − r2)
z + ωι(x− O), (4.8)
ω =
1−β
βωsw
e−az + 1+
ωsw
eaz + 1, (4.9)
with r =√
(x− O)2 + z2.
A set of parameters is composed by (fig. 4.11):
1. µ, encodes the amplitude of rhythmic activity. The amplitudevalue is√µ,
for µ > 0;
2. ν, switches on/off the rhythmic output,ν ∈ −1, 1;
4.3. CPG architecture 39
3. ι, defines the oscillation’s direction,ι ∈ −1, 1
4. β, changes the walking velocity by altering the duty factor,β ∈]0, 1[;
5. The value ofO specifies the offset of the oscillation or the goal for the
discrete movement;
The parametersalpha, ωsw anda are seta priori. α specifies the system relaxation
time to the stable solution. Parameterωsw specifies the swing phase duration,
which will be kept constant. Its value depends on the desiredspeed of movements
and robotic platform.
unit-CPG
µ,º;¶;¯,O Rhythmic output
Discrete output
Movement
Figure 4.11: Each unit-CPG receives a set of parameters thatfully describe thegenerated trajectories. It modulates the unit-CPG in amplitude, oscillatory output,direction, duty factor and offset.
4.3.2 limb-CPG
The limb-CPG2 controls and coordinates the movements in a single limb. It is
composed by two unit-CPGs, swing and flap, and an activation unit for the knee.
The two unit-CPGs generate the trajectories for the hip swing and hip flap joints
(fig. 4.12).
2CPG and limb-CPG are interchangeable terms throughout thisthesis. Both terms are referring to the locomotor CPG
that control the movement of a limb in a quadruped mammal.
4.3. CPG architecture 40
Swing
Flap KneeFlap
CPG
Figure 4.12: To each hip joint is assigned an unit-CPG. The knee is controlled byother kind of activation unit. All the units are coordinatedin order to generate thecorrect limb movement during locomotion.
Both unit-CPGs use the equations (4.7),(4.8) and (4.9).
To ensure a proper synergy of movements in all joints within alimb, it is required
that these movements are expressed correctly, with coordinated step phases in
both joints in order to result in a step. This means that when the swing joint is
describing the transfer movement of the limb (swing phase),also should the flap
joint.
Because of this requirement, the flap unit-CPG is coupled to the same limb’s
swing unit-CPG- The equation member
z = . . .+ κzs,i
rs,i(4.10)
is added in the flap’sz differential equation, whereκ is the coupling strength. The
unit-CPGs are coupled throughz because this allows a simple coupling, where it is
possible to independently control the directions of oscillations on both unit-CPGs.
This unidirectional coupling also makes sense when considering the findings and
ideas from the distribution of the spinal locomotor CPGs [7]. It uses the hip swing
unit-CPG as a leading oscillator, entraining less excitable oscillators as in the hip
4.3. CPG architecture 41
flap unit-CPG.
0 1 2 3 4 5 6 7 8
−5
0
5
xs
and
xf
Time(s)
0 1 2 3 4 5 6 7 8
−5
0
5
xs
and
xf
Time(s)
Figure 4.13: unit-CPG trajectories for the hip swing (solidred) and hip flap(dashed green) joints. Both uCPGs are coordinated, describing the different stepphases in the same intervals of time, independently of theirdirection. Top:ιs = 1,ιf = 1. Bottom:ιs = 1,ιf = −1.
Fig. 4.13 presents the resulting trajectories for the two unit-CPGs. It shows the
coupling when the two unit-CPGs have the same direction (fig.4.13(a)) and when
are oscillating in opposite directions (fig. 4.13(b)).
4.3.3 Knee control
As mentioned in Chapter 2, during locomotion the limb is flexed during swing
and extended during stance. Since the rhythmic trajectories generated by the unit-
CPGs can not be applied directly to the desired movement of the knees, a different
dynamical system is employed. It is instead controlled as simple as possible: the
knee is flexed to a fixed angle during the swing phase, and extended to a fixed
angle during the stance phase.
The following dynamical system is used to smoothly generatethese discrete move-
4.3. CPG architecture 42
ments accordingly to the step phase of the unit-CPGs of the same limb.
y = v (4.11)
v = −b2
4(y − g)− bv (4.12)
The dynamical system (4.11,4.12) presents a stable solution to the fixed point
defined byg whenb > 0, and the relaxation of the system to the stable solution is
given by the parameterb.
The state variabley is the control trajectory for the knee and follows the value of
g. The value ofg is given by,
g =
{
θsw, when in swing
θst, when in stance(4.13)
Where the knee joint flexes during the swing phase and extendsduring the stance
phase (fig. 4.14).
0 0.5 1 1.5 2 2.5 3
−10
−5
0
5
10
xan
dy
(deg
)
Time(s)
Sw
ing
StanceStance
Figure 4.14: The knee trajectory (solid green line) dependson the step phase ofx (dashed red line). During stance the knee extend toθst = −5 deg, and duringswing it flexes toθsw = 7deg.
The control of the knee is important, because it allows a greater clearance when
the limb describes the swing phase.
4.4. The CPG network 43
4.4 The CPG network
In order to generate the adequate timing behavior for interlimb coordination, the
dynamics of each limb-CPG must be coordinated among the other limb-CPGs.
The coordination among the limb-CPGs is achieved by coupling the unit-CPGs.
All swing unit-CPGs are bilaterally coupled among themselves, as well as all
flap unit-CPGs. This ensures a correct coordination of the movements between
the limbs when only the swing or flap unit-CPGs are generatingthe rhythmic
movements.
The coupling of the unit-CPG is carried on rotation matrices, as given by
[
xp,i
zp,i
]
=+ κp,i∑
j 6=i
R(ιp,jθji )
[
(xp,j−Op,j)
rp,jzp,jrp,j
]
(4.14)
, wherep represents the respective joint’s unit-CPG, swing (s) or flap (f). i andj
represent the limb∈ LF,RF, LH,RH.
The rotation matrixR(θji ) rotates the linear terms on each other, whereθji is
the required relative phase betweeni andj. Parameterκp,i specify the coupling
strengths into the unit-CPGi. This is useful when it is necessary to detach a
specific limb from the others, and perform tasks other than walking.
It is necessary to normalize the oscillator state variablesin the couplings because
it is desired to minimize the effect of trajectories with different amplitudes. The
parametersιp,j are used to enable a correct coupling between unit-CPGs with
different directions.
The resulting network of CPGs with controlled phase relationships is able to
generate complex, synchronized rhythmic patterns such as those of locomotion
(fig. 4.15).
The values for the phase relationships between the unit-CPGs for the two alternat-
ing gaits are presented in table 4.4 and table 4.4, accordingto [4, 5].
4.4. The CPG network 44
LF RF
LH RH
LFKnee
LFFlap
RFFlap
RHFlap
LHFlap
LFSwing
RFSwing
RHSwing
LHSwing
LHKnee
RFKnee
RHKnee
Figure 4.15: Coupling within the CPG network. The solid arrows are unidirec-tional couplings, while the dashed arrows represent bilateral couplings. Each kindof unit-CPG are coupled among themselves. The swing unit-CPGs project to theflap unit-CPGs. Both swing and flap unit-CPGs project to the knees’ activationunits.
These phase relationships can also be calculated according
θji = (ϕj − ϕi) 2π (4.15)
, whereϕ is the placing event presented in Chapter 2.
Because alternating gaits always presentϕLF = 0,ϕRF = 0.5, andϕRH = 1−ϕLH,
it is possible to find a generalized way of calculating the phase angles by only
specifyingϕLH, as presented in table 4.4.
In figure 4.16 the limbs are coordinated in a determined fashion, until the RF
swing unit-CPG and the RH flap unit-CPG are inverted in direction. The pur-
pose of the figure is to demonstrate, that the coordination isindependent of the
trajectory direction, and presents a stable coordination.
This network of limb-CPGs, coupled by the rotation matricesamong the unit-
CPGs, constitutes the layer one of the devised controller architecture. It is possible
to generate coordinated rhythmic movements, discrete movements and a combi-
nation of both. The coordination during the rhythmic movements is stable and
flexible, and the generated trajectories are smooth, stableand robust to perturba-
tions.
4.5. Experiments 45
Table 4.1: Phase relationships between the oscillators forthe walk gait.
Table 4.2: Phase relationships between for the trot gait.
Table 4.3: Phase relationships between the oscillators. Knowing the value ofϕLH
is enough to calculate all the values for the alternating gaits.Walk gait
i j θji
LF RF −πRF LF π
LF LH −3π2
LH LF 3π2
LF RH −π2
RH LF π2
RF LH −π2
LH RF π2
RF RH π2
RH RF −π2
LH RH π
RH LH −π
Trot gait
i j θji
LF RF −πRF LF π
LF LH −πLH LF π
LF RH 0RH LF 0RF LH 0LH RF 0RF RH π
RH RF −πLH RH π
RH LH −π
Generalized alternating gaits
i j θji
LF RF −πRF LF π
LF LH −ϕLH2πLH LF ϕLH2πLF RH (ϕLH − 1) 2πRH LF (1− ϕLH) 2πRF LH (ϕLH − 0.5) 2πLH RF (0.5− ϕLH) 2πRF RH (ϕLH − 0.5) 2πRH RF (0.5− ϕLH) 2πLH RH π
RH LH −π
The modulation of the locomotor controller is simple and straightforward. As
portrayed in figure 4.17, the parametersβ andϕLH are the same for all the CPGs.
Each CPG receives a set of parameters that fully specify the trajectory generated.
It receives two sets ofµ, ν, ι andO. Also, the coupling among the other CPGs is
specified by the parametersκs, κf andκ
4.5 Experiments
In the following sections it will be presented two experiments carried in the AIBO
robot, for the walk and trot gaits. It will serve to demonstrate that the generated
trajectories are suited for locomotion, as well the limitations and shortcomings of
the proposed CPG network.
All the experiments are performed with the robot walking forward using only the
hip swings and knee joints, with the oscillatory output for the flaps turned off.
4.5. Experiments 46
0 1 2 3 4 5 6 7 8−5
0
5
Left Fore
xs,xf
0 1 2 3 4 5 6 7 8
−5
0
5
Right Forexs,xf
0 1 2 3 4 5 6 7 8−5
0
5
Left Hind
xs,xf
0 1 2 3 4 5 6 7 8−5
0
5
Right Hind
xs,xf
Time (s)
Figure 4.16: The four swing unit-CPGs (solid red) and the four flap unit-CPGs(dashed green) coordinated movements. Until the RF swing and RH flap unit-CPGs are inverted at 4 seconds. Despite these perturbationsall the unit-CPGsremain coordinated.
4.5.1 Walk gait
On this experiment the robot walks with a walk gait in a plain surface. It walks
with aϕLF = 0.75, β = 0.8 and theTsw = 0.7s (fig. 4.18).
Figure 4.19 presents the plots for the generated trajectories by the CPGs, for the
swing and knee joints, and the resulting movements.
It is possible to verify that the generated trajectories arecoordinated as desired,
with the limbs in same girdle in strict alternation. The dotted red is the right
hindlimb and the dashed blue is the left hindlimb; the solid yellow is the left
forelimb and the dashed dotted green is the right forelimb.
The generated swing phase takes 0.7 seconds in length and thestance phase 2.6
seconds, as specified byβ = 0.8. The generated knee trajectories, flex the knee
at the right time, exactly during the swing phase (the ascending trajectory in the
swing).
4.5. Experiments 47
CPG·s;·f;·
Flap: ¹;º;¶;O
Swing: ¹;º;¶;O
CPG·s;·f;·
Flap: ¹;º;¶;O
Swing: ¹;º;¶;O
CPG·s;·f;·
Flap: ¹;º;¶;O
Swing: ¹;º;¶;O
CPG·s;·f;·
Flap: ¹;º;¶;O
Swing: ¹;º;¶;O
CPG Network¯;!sw;'LH
Figure 4.17: Components of the CPG network and respective parameters.β andϕLH are global. Each CPG has a set of parameters that specified thelimb move-ment.
The resulting movements of the joints almost match the generated trajectories. It is
observable a little delay in movements because of the force exerted by the weight
of the robot, specially in the knees during the first moments of the stance phase.
Nevertheless, the movements are closely related to the generated trajectories, and
present the same features.
Readings from the touch sensors in the feet of the robot are presented in fig. 4.20.
The diagram shows that the sequence of the footfall is correct, with the left fore
striking the ground first, then the right hind, followed by the right fore and then
Figure 4.18: AIBO robot walking with aϕLF = 0.75 andβ = 0.8.
4.5. Experiments 48
0 1 2 3 4 5
−10
−5
0
5
10
Generated trajectories
Sw
ing
join
ts
0 1 2 3 4 5
−10
−5
0
5
10
Joint angle (deg)
0 1 2 3 4 5
50
60
70
80
Knee
join
ts
Time(s)0 1 2 3 4 5
50
60
70
80
Time(s)
Figure 4.19: On the left are plotted the generated trajectories, and on the right themeasured angles from the joints of the robot. The generated trajectories presentthe coordination required for achieving a walk gait. The performed movementsare satisfactorily close to the generated ones. The dotted red is the right hindlimband the dashed blue is the left hindlimb; the solid yellow is the left forelimb andthe dashed dotted green is the right forelimb.
the left hind.
The presented duty factor is not quite what is generated in the trajectories. The
robot has the tendency of falling into the fore feet. This results in a slightly higher
duty factor in the fore limbs and a lower duty factor for the hind limbs, due to the
premature lifting of the hind feet. The fore feet present a duty factor close to 0.84,
while the hind feet close to 0.6.
4.5.2 Trot gait
The robot walks with a trot gait in a plain surface, with aϕLF = 0.5, β = 0.5 and
theTsw = 0.85s.
In fig. 4.22 are presented the plots for the generated trajectories and the resulting
4.5. Experiments 49
Walk experiment
LF
RH
RF
0 1 2 3 4 5
LH
Time(s)
Figure 4.20: The achieved sequence is the sequence of a walk gait. However, theduty factor is slightly different than the desired. Becausethe robot falls over theforelimbs, the duty factor slightly increased in the forelimbs and decreased in thehindlimbs.
joint movements. Figure 4.21 presents screenshots from theexperiment.
Figure 4.21: AIBO robot trotting with aϕLF = 0.5 andβ = 0.5.
The generated trajectories are coordinated as expected fora trot gait. They are
in strict alternation for the limbs in the same girdle and in phase for the diagonal
limb. Stance and swing phase durations are equal, generating a duty factor of 0.5,
and the knee flex and extends exactly at the right step phase.
The joints follow the trajectories, performing their main features. However, the
joints present a slight delay in certain movements. They also do not perform the
same amplitude as the trajectories, because of the forces exerted by the weight of
4.5. Experiments 50
the robot. This is clearly observable in the fore knee joints.
0 1 2 3
−10
−5
0
5
10
Generated trajectoriesSw
ing
join
ts
0 1 2 3
−10
−5
0
5
10
Joint angle (deg)
0 1 2 3
50
60
70
80
Knee
join
ts
Time(s)0 1 2 3
50
60
70
80
Time(s)
Figure 4.22: On the left are plotted the generated trajectories, and on the right themeasured angles from the joints of the robot. The dotted red is the right hindlimband the dashed blue is the left hindlimb; the solid yellow is the left forelimb andthe dashed dotted green is the right forelimb. The performedmovements (right)are a little delayed from the generated trajectories (right), mainly because of hard-ware limitations of the robot joints. Nonetheless, the robot performs the mainfeatures of the trajectories and achieves a trot gait.
The diagram of the footfall (fig. 4.23) shows when each limb supports the robot. It
shows that the diagonal limbs are in strict coordination. Italso shows that the robot
does not perform the trot with a duty factor of 0.5. The robot has the tendency to
fall over the fore limbs, slightly increasing the duty factor in the fores and lifting
earlier the hind limbs.
4.5.3 Results
Both experiments showed that the CPG network correctly generates the trajecto-
ries. However, some of the limitations in the robot, as the delay and lack of torque
4.5. Experiments 51
Trot experiment
LF
RH
RF
0 0.5 1 1.5 2 2.5 3
LH
Time(s)
Figure 4.23: As in the experiment with the walk gait, the robot falls over theforelimbs. Despite the duty factor of the feet being a littleof from the desired, thesequence of the trot is preserved.
in the joints, result in a slight difference from the generated to the performed
movements.
We also should take in consideration that the on-line generation of the trajectories
is carried in a feedforward fashion. It does not take in consideration the linear
momentum of the robot, or any kind of sensory information.
Despite these problems the CPG network is adequate for generating the locomotor
movements for the quadruped robot.
Chapter 5
Activity Modulation
In Chapter 4 it was introduced the concept of Central PatternGenerators and its
characteristics as low-level pattern generators. It was said that these neural cir-
cuits are located in the spine of vertebrate animals and receive tonic signals from
supraspinal regions that command the locomotor activity.
This concept regarding the supraspinal commands suggest that the spinal CPGs
should be modulated accordingly to certain signals that control the activity and
coordination of the network. Increasing activation of the brainstem locomotor
centre commands leads to an increase in quadruped locomotion velocity, and to a
gradual shift in interlimb coordination, from walk to trot.
It will be devises a mechanism for controlling the parameters of the CPGs that
specify the velocity of locomotion and the interlimb coordination. It will ini-
tiate/stop locomotion and adjust the interlimb coordination accordingly to the
rhythmic activity, through the value of a single signal. Therefore, reducing the
dimensionality of controlling the locomotion activity andinterlimb coordination,
to just one excitatory signal.
This mechanism is functionally located in the second layer of the locomotor ar-
chitecture presented in Chapter 3. It elicits the motor programs of starting and
stopping locomotion, walking and trotting.
52
5.1. Modulatory drive 53
5.1 Modulatory drive
In order to regulate the rhythmic activity of the locomotor controller, a dimension-
less modulatory drive (m) signal is introduced. The strength of this signal initiates,
stops and switches among gaits, by changing the required CPGparameters.
This signal specifies the duty factor (β) and gait phase (ϕLH) of the locomotor pat-
tern, maintaining the correct parameterisation accordingto the excitatory signal
from higher centres.
Bellow a lower threshold, the robot ceases stepping. Above this threshold the
robot starts with a slow walk, gradually increasing speed, maintaining the phase
relationships of a walk gait. Whenm ≥ 0.5, both the duty factor and phase
relationships are adjusted from walk to trot, reaching the trot gait form = 1.
Initiation of locomotion
The rhythmic activity of the proposed CPG can be turned on/off by a simple pa-
rameter change. For initiating/stopping the rhythmic activity on the CPG network
theν of all unit-CPGs must be set. The value forν is specified by the piecewise
function
ν =
{
1 , m ≥ 0.2
−1 , m > 0.2. (5.1)
This piecewise function turns of the oscillations for values ofm < 0.2 and starts
the locomotor activity for values ofm ≥ 0.2 (fig. 5.1).
Duty factor modulation
The proposed CPG provides for frequency modulation, such that it is possible to
control stance and swing phase durations independently.
In order to adjust the stepping frequency, the duty factor isspecified, adjusting the
stance phase duration The duty factor (β) is one of the two parameters that specify
5.1. Modulatory drive 54
0 0.2 0.4 0.6 0.8 1
−1
−0.5
0
0.5
1
Osc
illato
ryst
ate
ν
Modulatory drive
Figure 5.1: Piecewise function that specifies the value ofν accordingly the valueof β.
a gait, and is a function of the modulatory drive, as
β =
{
−m2+ 1 , m ≤ 1
0.5 , m > 1. (5.2)
The piecewise linear function (5.2) determines the value for duty factor from the
level of excitation from the modulatory drive (fig. 5.2). Thegreater the value ofm,
the lower the duty factor. This function presents a saturation forβ = 0.5 because
the robotic platform can not perform faster gaits.
0 0.2 0.4 0.6 0.8 1
0.6
0.8
1
Duty
fact
orβ
Modulatory drive
Figure 5.2: Piecewise function forβ, determined accordingly the value ofβ.
Gait phase modulation
Along with the rhythmic activity of the CPG network, the phase relationship
among the CPGs should also be adjusted accordingly to the descending signal
m.
5.2. Experiments 55
Values ofm < 0.5 correspond to the walk gait (ϕLF = 0.75). For0.5 ≥ m < 1
the gait phase transfers into a trot gait. This is achieved byusing the wave gait
rule for a quadruped: the gait phaseϕLF should follow the value of the duty factor
β [26]. Abovem > 1 the gait phase saturates and remains atϕLF = 0.5.
The piecewise function for the gait phase is
ϕLH =
0.75 , m ≤ 0.5
−m2+ 1 , 0.5 < m ≤ 1
0.5 , m > 1
, (5.3)
and is presented in figure 5.3.
0 0.2 0.4 0.6 0.8 1
0.5
0.6
0.7
0.8
Modulatory drive
Gai
tphase
ϕLF
Figure 5.3: Gait phase according the value ofm.
The phase relationship among the limbs can be calculated using the value ofϕLH
because only symmetrical gaits are used.
5.2 Experiments
Herein is presented an experiment to demonstrate how the modulatory drive changes
the walking behaviour of the robot. This experiment was madein the Webots sim-
ulator [27], using the model of the AIBO ERS-7.
Initially, the drive is bellow 0.2 and the robot rests.
Around t = 10.5s, the linearly increasing drive crosses the 0.2 threshold and
locomotion is initiated with a walk gait (duty factor≈ 0.9).
5.2. Experiments 56
10 15 20 25 30 35 40 45 50
0
0.5
1m
10 15 20 25 30 35 40 45 50
0.6
0.8
β,ϕ
LH
10 15 20 25 30 35 40 45 50
−100
0
100
º
10 15 20 25 30 35 40 45 50
−5
0
5
Joi
nts
(deg
)
10 15 20 25 30 35 40 45 50
0
0.05
0.1
Spee
d (
m/s
)
Time (s)
Stopped Slow walk Fast walk, transition to trot Trot Stopped
Figure 5.4: The modulatory drive (m) increases linearly in the [10 40] seconds in-terval, until it jumps to its maximum during the following 10seconds (first panel).On the second panel, the solid black line is the duty factor (β) and the grey solidline is the gait phase (ϕLF), which are encoded in the modulatory drive. The os-cillator’s parameterν controls the state of the oscillators through the value ofm
(third panel).The resulting trajectories of the robot hip joints are plotted in thefourth panel. The black line is the left forelimb joint and the grey line is the lefthindlimb joint. The sudden increase of speed due the jump of modulatory drivecan be seen in the fifth panel at 40 seconds.
The drive keeps linearly increasing but is bellow 1 for the next 15 seconds. Hence,
the robot continues in the walk gait, changing the duty factor but without phase
relationships adjustments (second panel of fig. 5.4). Att = 25s, the robot keeps
increasing its velocity but now gradually adjusting both the duty factor and the
phase relationships. At t=40s, the drive is abruptly set to its maximum (1). The
gait evolves to a trot gait, with the ipsilateral limbs in strict alternation and a duty
factor of 0.5. Servo joints are shown in the fourth panel.
After 10 seconds, the modulatory drive is set to zero, meaning thatν are set to
-1 (third panel) and the oscillators stop. Consequently, the locomotion is stopped.
Bottom panel shows the locomotion speed evolution.
Fig. 5.5 shows the gait diagram from the simulation, where the robot gradually
transits from a slow walk to a trot. As the generated gait approaches trot, since
5.2. Experiments 57
the controller doesn’t correct or adapts for the body dynamics, the robot performs
poorly.LF
Footfall diagram during gait transition
RH
RF
14 16 18 20 22 24 26 28 30 32 34
LH
Time (s)
Figure 5.5: Gait diagram of the transition from slow walk to atrot gait. In this gaitdiagram it is possible to verify that the robot performs the correct sequence dur-ing walk (LF-RH-RF-LH), and that it performs a gradual transition on interlimbcoordination and the decrease of duty factor.
Chapter 6
Quadruped Omnidirectional
Locomotion
This work takes part on a larger project to design an locomotor controller capable
of generating purposeful and robust locomotion. Robust in the sense that the robot
should be able to adapt to dynamic environments and purposeful because it should
have the ability to execute tasks and exhibit certain behaviours,e.g.exploring and
navigating its environment.
To realize such objective the robot needs, first of all, to possess the ability of
walking to any point of interest and navigate in its environment.
Herein is presented a mechanism for parameterizing the CPG network for pro-
pelling the robot in any desired direction, by simply specifying a desired walking
orientation and angular velocity for the robot. By performing locomotion to the
desired orientation with the desired angular velocity, therobot is able to perform
omnidirectional locomotion. Steering is considered as a particular case of omni-
directional locomotion, when the orientation is the same asthe robot’s heading
direction and the robot turns by achieving a certain angularvelocity.
This mechanism is functionally situated in the second layerof the architecture
presented in Chapter 3. It elicits the motor programs for walking in any desired
direction, with a specific angular velocity, by setting the CPG’s parameters ac-
cordingly.
58
6.1. Related work 59
6.1 Related work
As far as it can be understood, still there is not a CPG based controller that
achieves omnidirectional locomotion in quadruped robots with similar configu-
ration of the AIBO robot. There are a couple of implementations of CPG based
controllers where steering is achieved, but the used robotic platforms present dif-
ferent configurations compared to the AIBO robot.
Tsujita and colleagues [28] proposed a dynamic turning control system for a
quadruped robot by using nonlinear oscillators. The robotic platform used in their
work is composed by two body parts, the front body with the fore limbs and the
rear body with the hind limbs, connected through a rotational degree-of-freedom
that acts as the spine of vertebrate animals. The suggested approach is not suitable
for our robotic platform which has a rigid body.
Hiroshi Kimura and colleagues [29] in 2005 presented a new mechanical design
for a quadruped robot, named Tekken4. In this contribution they implemented the
previously designed locomotor controller based on neural systems and integrated
it with a new navigation controller, which relies on a laser range sensor and a CCD
camera. The new platform integrates on each limb a new yaw joint, which adjusts
the orientation of the limb, and therefore, orientation of the resulting step. This
approach is also not appropriate for the AIBO platform, because it does not have
these yaw joints in the limbs.
An omnidirectional method for AIBO was developed in 2001 in the context of
RoboCup legged robot league. This mechanism was presented by [30] and is
known as thewheel model. It allows a better control of omnidirectional locomo-
tion in the robot.
Since this method is not exclusive for the AIBO platform, it is also applicable to
any robot with similar limb configurations. In [31] it is presented an omnidirec-
tional path following controller for the LittleDog roboticplatform. The method
for achieving the omnidirectional path planning is different, but the generated limb
movements are similar to those described by the wheel model.
6.2. From the wheel model to CPGs 60
6.2 From the wheel model to CPGs
The wheel model used for omnidirectional [30] assumes that the feet move on a
certain locus, considering the limb as a small wheel, describing a circular move-
ment during a step in a plane with a specific direction. The foot describes a closed
trajectory in the specified plane, and by controlling the orientation of this plane it
is possible to control the step orientation and therefore the movement of the robot.
If the movement of the all the feet is parallel to the sagittalplane of the robot, the
robot is propelled straight, forward or backward. When the movement of the feet
is parallel to the transverse plane, the robot moves sideward. When superimposing
the movements of a foot on these two planes it is possible to describe a step in any
direction.
On the AIBO robot, the movements on the sagittal plane are generated by the hip
swing joint (fig. 6.1(a)), while for the transverse plane arecontrolled by the hip
flap joint (fig. 6.1(b)).
(a) A swing joint controls the movements along
the body.
(b) The flap joints control the move-
ment in the transverse plane.
Figure 6.1: Movements in the sagittal and transverse plane are controlled by thehip joints.
The direction of each step for all the feet can be defined by thedesired walking
orientation and angular velocity for the robot. This methodis well applied into
the proposed CPG because the direction of the movements on the sagittal and
transverse planes can be controlled independently while maintaining the required
6.2. From the wheel model to CPGs 61
coordination within a limb.
Fig. 6.2 shows some possible combinations of step directions and the resulting
robot movement. In the (a) the robot rotates in place. The steps are performed in a
(a) (b) (c) (d)
Figure 6.2: Some examples of possible movements of the robot. It can rotate inplace (a), walk and turn (b) and walk straight in any direction (c,d). The curved ar-row represents the direction of the swing phase and the straight arrow the directionof the stance phase.
manner that each limb contributes to the overall movement. The robot steers while
walking forward in (b). The fore flap joints make the front of the robot move to
the right, while the hind flap joints move the back left. All the swing joints propel
the robot forward. This superposition of movements steers the robot right. When
the flap joints make the robot move left and the swing joints propel it forward,
the robot moves diagonally (c). The robot moves left in (d), because only the flap
joints are employed in propelling the robot.
The wheel model implies that each foot propels the body with acertain forward
and lateral velocity. This superposition of the two components results in a step
with a determined direction and velocity.
It is required to independently specify the velocities for the sagittal and transverse
movements, by addressing the performed movements of the swing and flap joints
independently. Velocity of a step can be altered by either adjusting the duration of
the stance phase or the length of the step. The duration of thestance phase must
be the same for all joints within a limb and for all the robot’slimbs. It is then only
possible to change the length of the step’s sagittal and transversal components to
6.3. Pattern parameterisation 62
separately address both components.
The performed step length is related with the limb length andthe amplitude of
the performed limb movement. Therefore, by controlling theamplitude on both
sagittal and transverse components for every limb, it is possible to fine tune the
orientation of steps on each limb.
Furthermore, it is necessary to specify the direction of thestep component,e.g.to
walk forward or backwards.
6.3 Pattern parameterisation
For achieving omnidirectional locomotion, as well as steering, it is necessary to
find the direction and size of each step and operate the limb joints accordingly.
These steps result from the trajectories for hip swing and hip flap joints of a robot’s
limb, which are generated by the CPG.
Lets assume the robot is moving forward, performing steps with only movements
in the sagittal plane,i.e. only the hip swing joint exhibits the rhythmic pattern. It
means that the swing (s) unit-CPG must generate an oscillatory trajectory (νs =
1), with the necessary direction to propel the robot forward (ιs) and the appropriate
movement amplitude (µs). The flap unit-CPG is not employed in the locomotor
movement because lateral movement is not required, and therefore its oscillatory
output must be inhibited (νf = −1).
This case showed that the parameterisation of a CPG for omnidirectional locomo-
tion, is necessary to specify for the swing and flap unit-CPGs:
1. Oscillatory state of the unit-CPG,ν;
2. Direction of the generated trajectory,ι;
3. The amplitude of movements,µ.
Parameterizing the CPGs requires finding the correct movement amplitudes and
directions of each step in the sagittal and in the transverseplane (fig. 6.3).
6.3. Pattern parameterisation 63
x
y
~vÁw
Figure 6.3: It is necessary to find the required lateral and forward components ofthe desired movement, specified bym, φw andφ.
Only three parameters of the robot movement are necessary for determining the
required components of each step. The desired robot’s forward velocity, which is
encoded in them drive (presented in Chapter 5), the walking orientation (φw) and
angular velocity (φ).
6.3.1 Omnidirectional locomotion
Herein is present the method for deducing the amplitudes of the movements for
each limb by specifying only,
1. walking velocity, based onβ which is encoded inm;
2. walking orientationφw;
6.3. Pattern parameterisation 64
3. and the angular velocityφ.
To ensure the desired translation and angular velocities for the robot, it is neces-
sary to find the orientations and amplitudes of the movementsfor each limb.
Because it is possible to describe the rotation of any point of the robot around a
certain common point, where the translation speed is zero, i.e. the instantaneous
centre of rotation (ICR), it is possible to find the trajectory of any point of the robot
when performing such rotation. For the robot to move around acertain ICR, each
limb should perform a step of proportional size into a suitable direction, tangential
to the circle around the rotation centre (fig. 6.4). When moving forward (φ = 0)
the ICR is located at infinity.
ICR x
y
~vf
Figure 6.4: Representation of the robot movement when walking forward andturning. With the information regarding the ICR it is possible to find the requiredfeet trajectories to achieve the robot movement.
The desired walking velocity (vref) and angular velocity (φ) specify the ICR. The
radius of the circle from the centre of ICR to the centre of therobot can be calcu-
lated byrICR = vrefφ
.
6.3. Pattern parameterisation 65
ICR
vrefÁw Á
.
Figure 6.5: Representation of the tangential movements of the feet, when the robotis walking diagonally while turning.
From the ICR we are able to ascertain the movement for each limb. These tra-
jectories will not describe the ideal circles with the ICR ascommon centre, but
instead an approximate straight tangential trajectory(figs. 6.4, 6.5).
From these tangential trajectories we obtain the information regarding the orien-
tation and direction of the steps on each limb.
As,i = ArefφYi − vref cos (φw)
vref, (6.1)
Af,i = Aref−φXi + vref sin (φw)
vref, (6.2)
, where(Xi, Yi) are the limbi coordinates in the robot reference frame.
As,i andAs,i encode all the information needed to parameterise the CPG, as demon-
strated next.
On eq.(6.1,6.2), the value ofAref is an amplitude seta priori, when tuning the
parameters for locomotion. Since it is the value from where the chosen amplitude
6.3. Pattern parameterisation 66
will revolve, it must be a suitable value for the robotic platform, resulting in an
adequate locomotion with the possibility to be increased and decreased without
impairing its performance.
The value ofvref is the rough theoretical value for the velocity when usingAref as
amplitude and the current value ofβ as duty factor.
1- Oscillatory activity
As seen before, it is important to ensure the correct oscillatory activity for each
unit-CPG.
FromAs,i andAs,i we find the correct values forνf,i andνs,i, respectively.
νs,i =
{
1, |As,i| > 0.5
−1, |As,i| ≤ 0.5(6.3)
νf,i =
{
1, |Af,i| > 0.5
−1, |Af,i| ≤ 0.5(6.4)
The rhythmic solution is turned off instead of leaving the unit-CPG generating
a very small amplitude, because the parameterµ, along withα, specifies the re-
laxation of the dynamical system. If the parameterµ is too small it could have
undesired results on the unit-CPG solution. For this reasona dead zone is de-
fined for theν. When the required amplitude of the movement is negligible,the
unit-CPG is turned off.
It is necessary, however, that the deactivation set by the modulatory drive (pre-
sented in the previous Chapter) takes precedence over the values calculated here.
2- Step direction
The signs ofAs,i andAf,i hold the information on the direction of the step com-
ponents for each unit-CPG.
The direction is specified by the value ofι. Table 6.1 shows the assigned values
of ν for the specified amplitudes.
6.3. Pattern parameterisation 67
Table 6.1: Parameter values for the directions of the hip swing (s) and hip flap (f)joints.
ιs,LF ιs,RF ιs,LH ιs,RH
As,i > 0 1 1 1 1As,i < 0 -1 -1 -1 -1
ιf,LF ιf,RF ιf,LH ιf,RH
Af,i > 0 1 -1 -1 1Af,i < 0 -1 1 1 -1
Consider when the robot walks forward (As¿0), all the swing unit-CPGs haveνs =
1, performing the stance phase during the descending trajectory of the movement.
The opposite, when it walks backwards (As¡0), the unit-CPGs haveνs = −1,
performing the stance phase during the ascending trajectory.
Due to the robot’s flap joints configurations, the same rules from the swings can
not be applied. When walking right (Af¿0), during the stance phase the left joints
perform the ascending trajectory and the right joints perform the descending tra-
jectory. The opposite happens when walking left (Af ¡0).
3- Amplitude of movements
As seen previously, the alteration of the step velocity mustbe carried through the
change of the step length. It means that it is necessary to change the respective
unit-CPG amplitude.
If the rhythmic activity of the unit-CPG is turned on, the amplitude of the oscilla-
tion must be set.
The amplitude of each component, sagittal and transverse movements are encoded
in the value of|As,i| and|Af,i|, as
µs,i = A2s,i, (6.5)
µf,i = A2f,i. (6.6)
6.4. Experiments and results 68
6.4 Experiments and results
Tests for validating the proposed method for generating thecoordinated trajecto-
ries for omnidirectional locomotion, as well the proposed method for calculating
the necessary CPG parameters, were performed on the Webots simulator with the
AIBO model, and on the real AIBO robotic platform. Only the results obtained
using the robotic platform will be presented.
We will try to demonstrate the adequacy of the locomotor CPG network for gener-
ating the trajectories for all the joints in the limbs. We will also verify if the result-
ing locomotion corresponds to the desired movement for the robot, i.e. walking
velocity, walking orientation and angular velocity.
All the experiments with the real robot are carried in an environment with a grid
of markers, spaced 20cm apart.
6.4.1 Steering
It is possible to steer the robot in any direction, with a desired angular velocity.
On this experiment the robot walks forward (φw = 0deg) and with a angular
velocity of φ = −0.21. With m = 1, it performs a trot gait (β = 0.5,ϕLF = 0.5),
where the diagonal limbs are in-phase and the duration for the swing and stance
phases are equal.
From the value of theβ it is possible to estimate a walking velocityvref of the
robot, and with the desiredφ it is possible to calculate an estimate of therICR.
BecauserICR is the radius of the circle with the ICR as centre, we can verify if
the performed circle corresponds to the expected radius value for the specifiedvrefandφ.
Since the value ofve = 5.7cm.s−1 and the desired angular velocity isφ =
−0.21rad.s−1, the robot should perform a circle with≈ 27cm radius.
Figure 6.6 presents snapshots of the experiment, where it ispossible to see that
the robot achieves a full circle with an approximate radius of 25cm (fig. 6.6).
6.4. Experiments and results 69
Figure 6.6: AIBO robot walking and steering right, performing a 25cm radiuscircle. The robot performs a trot gait withβ = 0.5 andϕLF = 0.5, becausem = 1.It walks forward (φw = 0deg) while turning right withφ = −0.21rad.s−1.
This result suggests that the method of calculating the correct movement ampli-
tudes for each limb, despite being approximate and based on estimations, can be
used to achieve the steering of the robot.
Figure 6.7 plots the generated trajectories for all the joints of all the limbs, as well
as the actual resulting angles performed by the joints.
The generated trajectories were generated as expected. Because the robot is steer-
ing right, the amplitudes for the right swing joints are smaller than the amplitudes
for the left swing joints.
For the flap joints, in-phase trajectories are generated dueto the robot’s configura-
tion. The flap joints on the left are symmetrical to the right flap joints, and because
the diagonal limbs must move out of phase, the generated trajectories must be in
phase.
6.4. Experiments and results 70
0 1 2 3
−10
0
10
Generated trajectoriesSw
ing
join
ts
0 1 2 3
−10
0
10
Joint angle (deg)
0 1 2 3
−10
0
10
Fla
pjo
ints
0 1 2 3
−10
0
10
0 1 2 3
50
60
70
80
Knee
join
ts
Time(s)0 1 2 3
40
60
80
Time(s)
Figure 6.7: Generated trajectories (left plots) and performed movements (rightplots) of the hip swing, hip flap and knee joints. Left Fore: yellow; Right Fore:green; Left Hind: blue; Right Hind: red. All the generated trajectories respect thecoordination constraints imposed by the couplings.
The generated knee joints flex and extend at the correct times, reducing the limb
length while on swing and extending it during the stance phase.
On the joint’s plot it is clear that the resulting angles doesnot tightly follow the
generated trajectory. This is because of the limitations ofthe robotic platform.
A trade-off between the frequency of the generated movements and the actual
achievable movements was chosen so the generated locomotion would not be very
slow.
The weight of the platform, and the resulting dynamics and forces on the limbs
influence the angle in the joint. For example, in the right forelimb the knee doesn’t
extend to the designated value. On swing joints of forelimbs, during the stance
6.4. Experiments and results 71
phase, the weight of the robot induces an further extension of the joint. On the flap
joints is where the greatest discrepancies between the generated and performed
trajectories are observable. Because the generated trajectories fall in the same
points, it is quite clear that the performed movements are not the same. Again, the
difference between the generated and the performed is due tothe forces exerted on
the limbs, specially on the flap joints that have less torque than the swing joints.
However, the features of the generated trajectories are present on the recorded
joint trajectories.
Despite this small discrepancy on the actual performed trajectories, the desired
movement of the robot’s body was achieved.
6.4.2 Diagonal walk
This next experiment shows the robot walking diagonally with equal forward and
lateral velocities.
It performs a slow walking gait because the specifiedm = 0.4 determines aβ =
0.8 and aϕLF = 0.75. With an walking orientationφw, the robot is expected to
walk diagonally, forward to the left.
The experiment is pictured in fig. 6.8, where is possible to observe the robot mov-
ing almost45 deg diagonally.
In fig. 6.9 we can see the generated trajectories for swing andflap with the same
amplitudes. It also shows that the required coordination between the joints in a
limb and between the joints among all the limbs is achieved.
The performed movements of the joints are much closer to the generated trajec-
tories than on the previous experiment because the frequency of movements is
lower and the used gait is much more stable, therefore the resulting dynamics of
the body exert less force on limb joints.
6.4. Experiments and results 72
Figure 6.8: The robot walks forward and to the left (φw = −45 deg) with a slowwalk gait (m = 0.4).
6.4.3 Steering while walking diagonally
When making the robot move with a certain walking orientation while turning,
the robot performs a circular path while not heading straight forward.
In this experiment the robot moves with a trot gait, with aφw = 65 deg and
φ = 0.27rad.s−1. This means the robot should walk while turning, heading about
≈ 65 deg to the ICR. The path performed by the robot is pictured in fig. 6.10.
As in the previous experiments, the worst performance are those of the flap joints.
The performed trajectories do present the features of the generated trajectories,
even though the forces exerted on the limbs, due to the body dynamics, influence
the angles of the joints.
Despite the discrepancies between the generated and the performed trajectories,
the robot does perform the desired path with an heading orientation approximate
to the desired.
6.4. Experiments and results 73
0 1 2 3 4 5
−10
0
10
Generated trajectoriesSw
ing
join
ts
0 1 2 3 4 5
−10
0
10
Joint angle (deg)
0 1 2 3 4 5
−10
0
10
Fla
pjo
ints
0 1 2 3 4 5
−10
0
10
0 1 2 3 4 5
50
60
70
80
Knee
join
ts
Time(s)0 1 2 3 4 5
50
60
70
80
Time(s)
Figure 6.9: Generated trajectories (left plots) and recorded movements (rightplots). Left Fore: yellow; Right Fore: green; Left Hind: blue; Right Hind: red.
6.4.4 Results
These experiments have shown that by specifyingm, the walking orientationφw,
as well the angular velocityφ, the required movements for limbs can be fully
characterized.
The experiments demonstrated that the robot achieves the desired translation and
angular movements, therefore capable of performing omnidirectional locomotion.
However, the executed locomotion shower some inconsistencies in performance.
For instance, sometimes a foot would not lift from the ground, rr the robot would
fall over a foot during its swing phase. These performance inconsistencies happen
when the generated limb movements are not appropriate for the body dynamics at
a given instant, as the linear momentum and angular momentum.
6.4. Experiments and results 74
Figure 6.10: The robot walks in circles while heading almostto the centre of thecircle.
The performance is largely dependent on the amplitude and direction of the move-
ments during omnidirectional locomotion, specified by the desired gait, walking
orientation and angular velocity.
It should be mentioned that the proposed controller generate the limb trajectories
in a feedforward fashion, and does not take into account the body dynamics and
any other type of sensory information. Nonetheless the robot performs the desired
locomotion. It walks and steers as specified by the descending commands.
In figure 6.12 is presented a condensed time-lapse of the present three experi-
ments.
6.4. Experiments and results 75
0 1 2 3
−10
0
10
Generated trajectoriesSw
ing
join
ts
0 1 2 3
−10
0
10
Joint angle (deg)
0 1 2 3
−10
0
10
Fla
pjo
ints
0 1 2 3
−10
0
10
0 1 2 3
50
60
70
80
Knee
join
ts
Time(s)0 1 2 3
50
60
70
80
Time(s)
Figure 6.11: Trajectories generated by the CPG network are plotted on the left,and the resulting movements of the joints are on the right.
(a) (b) (c)
Figure 6.12: In 6.12(a) the walks steers right. Walks diagonally in 6.12(b) andsteers left while walking diagonally in 6.12(c).
Chapter 7
Conclusions
The work presented is, hopefully, the first step in designingan adaptive controller
for goal-directed locomotion for walking robots. Its main contribution is a cpg
network capable of omnidirectional locomotion and adjacent control structures
that take as input a set of reduced input parameters: a signalfor rhythmic activity,
the orientation of locomotion and the desired angular velocity; therefore reducing
the dimensionality of the control problem.
It was presented an overview of the devised architecture of the locomotor con-
troller, where the developed work is inserted. The stratification of the locomotor
controller in three layers, allowed to functionally separate the several components,
facilitating its development.
A model for a CPG was proposed. It was designed using nonlinear dynamical
systems, which present several advantages which allowed tocoordinate all the
joints in a limb in order to perform the movements of a step. The movements
are the result of trajectories that are generated on-line ina modular manner. Each
movement is a superposition of discrete and rhythmic primitives.
The first layer in this work, is presented as a coordinated network of CPGs such
that it controls the locomotion of a quadruped robot for several gaits, with inde-
pendent step phase durations and possibility of performingsteps in any direction.
It was also developed a small part of the second layer, which sends the appro-
76
7.1. Results discussion 77
priate set of parameters to the first layer’s CPGs according to the elicited motor
program. These motor programs include the initiation and stopping locomotion,
gait switching and omnidirectional locomotion.
7.1 Results discussion
The experiment’s results demonstrated that the proposed controller is very much
capable of generating the required limb movements for omnidirectional locomo-
tion.
Nonetheless, the experiments presented some inconsistencies in performance, which
were expected since the presented controller generates locomotion in a feedfor-
ward fashion. This happens when the resulting movements arenot appropriate
for the body dynamics at a given instant, as the linear momentum and angular
momentum.
The achieved performance is largely dependent on the amplitude and direction
of the movements during omnidirectional locomotion. It happens due to the fact
that it is not possible to take into account all the possibilities of step lengths and
directions, when configuring the CPG parametersa priori.
Notwithstanding the hardware limitations (presented in Section 2.5) and the slight
lack of performance, the presented controller does achievethe desired locomotion
of the robot, respecting the input parameters.
7.2 Future work
The team’s goal of designing a robust locomotor controller that gives the ability
of a walking robot to navigate and locomote in dynamical environments is very
ambitious.
It is clear, from the presented results and from the global objectives, that the in-
clusion of feedback based corrections are necessary.
7.2. Future work 78
Most importantly, it is necessary to include corrective mechanisms for providing
the required consistency in performance in several types ofterrain, or when per-
forming any kind of gait and omnidirectional movement. Onlythen it should be
extended, integrating more ”aware” mechanisms, as dealingwith voluntary feet
placement.
Some work and research have been carried on the adequacy of some mechanisms
for correcting the step phases according to sensory information [21] and for ad-
justing the robot posture during locomotion to the inclination of the terrain [24].
Bibliography
[1] Eric R. Kandel, James H. Schwartz, and Thomas M. Jessell.Principles of
Neural Science. McGraw-Hill, 2000.
[2] S. Grillner. Locomotion in vertebrates: central mechanisms and reflex inter-
action.Physiological Reviews, 55:247–304, 1975.
[3] M. Vukobratovic and B. Borovac. Zero-moment point – thirty five years of
its life. International Journal of Humanoid Robots, 1(1):157–173, 2004.
[4] M. Hildebrand. Symmetrical gaits of horses.Science, 150(697):701–708,
November 1965.
[5] M. Hildebrand. Analysis of asymmetrical gaits.Journal of mammalogy,
58(2):131–156, May 1977.
[6] M. MacKay-Lyons. Central pattern generation of locomotion: a review of
the evidence.Phys Ther, 82(1):69–83, January 2002.
[7] O. Kiehn. Locomotor circuits in the mammalian spinal cord. Annu Rev
Neurosci, 29:279–306, 2006.
[8] S. Grillner. Control of locomotion in bipeds, tetrapodsand fish. In V.B.
Brooks, editor,Handbook of Physiology, The Nervous System, 2, Motor Con-
trol, pages 1179–1236. American Physiology Society, Bethesda,1981.
[9] S. Grillner, P. Wallena, K Saitoha, A. Kozlova, and B Robertsona. Neu-
ral bases of goal-directed locomotion in vertebrates: An overview. Brain
Research Reviews, 57(1):2–12, January 2008.
79
[10] S. Rossignol, R. Dubuc, and J. P. Gossard. Dynamic sensorimotor interac-
tions in locomotion.Physiol Rev, 86(1):89–154, January 2006.
[11] G. Keir Pearson. Generating the walking gait: role of sensory feedback.
Progress in Brain Research, 143:123–129, 2004.
[12] J. Duysens and H.W.A.A. van de Cromment. Neural controlof locomotion;
part 1: The central pattern generator from cats to humans.Gait & Posture,
7(2):131–141, 1998.
[13] M. Shimamura, S. Grillner, V. R. Edgerton, and Larry M. Jordan. Brainstem
and spinal cord mechanisms for the initiation of locomotion. In Neurobio-
logical Basis of Human Locomotion Tokyo Japan Scientific Societies, 1991.
[14] S. Grillner,O. Ekeberg, A. El Manira, A. Lansner, D. Parker, J. Tegner, and
P. Wallen. Intrinsic function of a neuronal network – a vertebrate central
pattern generator.Brain Research Reviews, 1998.
[15] S. Grillner, J. Hellgren, A. Menard, K. Saitoh, and M. A. Wikstrom. Mech-
anisms for selection of basic motor programs–roles for the striatum and pal-
lidum. Trends Neurosci, 28(7):364–370, July 2005.
[16] T.G. Deliagina, I.N. Beloozerova, P.V. Zelemin, and G.N. Orlovsky. Spinal
and supraspinal postural networks.Brain Research Reviews, 57:212–221,
July 2008.
[17] Auke J. Ijspeert. Central pattern generators for locomotion control in animals
and robots: a review.Neural Networks, 21(4):642–653, May 2008.
[18] G. Brambilla, J. Buchli, and A.J. Ijspeert. Adaptive four legged locomotion
control based on nonlinear dynamical systems. InFrom Animals to Animats
9. Proceedings of the Ninth International Conference on theSimulation of
Adaptive Behavior (SAB’06), volume 4095 ofLecture Notes in Computer
Science, pages 138–149. Springer Verlag, 2006.
[19] L. Righetti and A.J. Ijspeert. Design methodologies for central pattern gen-
erators: towards ’intelligent’ locomotion in robots. InProceedings of 50th
anniversary summit of artificial intelligence, July 2006. Abstract.
80
[20] M. Golubitsky, I. Stewart, P.L. Buono, and J.J. Collins. A modular network
for legged locomotion.Physica D, 115(1–2):56–72, 1998.
[21] Ludovic Righetti and Auke Jan Ijspeert. Pattern generators with sensory
feedback for the control of quadruped locomotion. In2008 IEEE Interna-
tional Conference on Robotics and Automation, 2008.
[22] Sarah Degallier, Ludovic Righetti, and Auke Ijspeert.Hand placement dur-
ing quadruped locomotion in a humanoid robot: A dynamical system ap-
proach. InIEEE-RAS International Conference on Intelligent Robots and
Systems (IROS07), 2007.
[23] Sarah Degallier, Cristina Santos, Ludovic Righetti, and Auke Ijspeert. Move-
ment generation using dynamical systems: a humanoid robot performing
a drumming task. InIEEE-RAS International Conference on Humanoid
Robots, 2006.
[24] Luiz Castro, Cristina Santos, Miguel Oliveira, and Auke Ijspeert. Postu-
ral control on a quadruped robot using lateral tilt: A dynamical system ap-
proach. InEUROS, volume 44 ofSpringer Tracts in Advanced Robotics,
pages 205–214. Springer, 2008.
[25] Cristina Santos, Miguel Oliveira, Ana Maria A.C. Rocha, and Lino Costa.
Head motion stabilization during quadruped robot locomotion: Combining
dynamical systems and a genetic algorithm. InIEEE International Confer-
ence on Robotics and Automation, 2009.
[26] K. Inagaki and H. Kobayashi. A gait transition for quadruped walking ma-
chine.Proceeding of the 1993 IEEE/RSJ International Conference on Intel-
ligent Robots and Ssytems, 1993.
[27] O. Michel. Webots: Professional mobile robot simulation. Journal of Ad-
vanced Robotics Systems, 1(1):39–42, 2004.
[28] Katsuyoshi Tsujita, Hiroomi Toui, and Kazuo Tsuchiya.Dynamic turn-
ing control of a quadruped locomotion robot using oscillators. Advanced
Robotics, 19:1115–1133(19), October 2005.
81
[29] Hiroshi Kimura, Yasuhiro Fukuoka, and Hiroki Katabuti. Mechanical de-
sign of a quadruped ”tekken3 & 4” and navigation system usinglaser range
sensor. InProceedings of International Symphosium of Robotics, Tokyo,
November 2005.
[30] Bernhard Hengst, Darren Ibbotson, Son Bao Pham, and Claude Sammut.
Omnidirectional locomotion for quadruped robots. InRoboCup 2001: Robot
Soccer World Cup V, pages 368–373, London, UK, 2002. Springer-Verlag.
[31] Zico J. Kolter and Andrew Ng. Learning omnidirectionalpath following
using dimensionality reduction. InProceedings of Robotics: Science and
Systems, Atlanta, GA, USA, June 2007.
82
Appendix A
Analysis of the dynamical systems
A.1 Hopf Oscillator
In this appendix is shown how to find the long term solution forthe nonlinear
oscillator.
Finding the fixed point
The oscillator in the form of differential equations
x = f (x− O, z) = α(
µ− r2)
(x− O)− ωz, (A.1)
z = g (x−O, z) = α(
µ− r2)
z + ω(x− O), (A.2)
, with r =√
(x− O)2 + z2.
For finding the fixed points, we solve the equations:
f (x− O, z) = 0 (A.3)
g (x− O, z) = 0 (A.4)
83
Chapter A. Analysis of the dynamical systems 84
α(
µ− r2)
(x− O)− ωz = 0 ⇔ (A.5)
⇔ (x− O) = 0 ∧ z = 0 (A.6)
α(
µ− r2)
z + ω(x− O) = 0 ⇔ (A.7)
⇔ (x− O) = 0 ∧ z = 0 (A.8)
The fixed point is:x = O, z = 0
The reach the linear approximation, first we calculate by theJacobianDf :
Df =
[
∂f
∂x
∂f
∂z∂g
∂x
∂g
∂z
]
=
[
α (µ− r2) −ωω α (µ− r2)
]
(A.9)
Then we achieve the linearization around the fixed point:
det |λI −Df (O, 0)| = 0 (A.10)
⇔ det
∣
∣
∣
∣
∣
λ− αµ ω
−ω λ− αµ
∣
∣
∣
∣
∣
(A.11)
⇔ λ = αµ± ωj (A.12)
The fixed point given by:x = O, z = 0, is:
• αµ < 0, Stable, therefore it is an attractor
• αµ = 0, Undefined
• αµ > 0, unstable, it is a repulser
Chapter A. Analysis of the dynamical systems 85
Periodic solution
To verify the long term solution for the periodic solution (when the fixed point is
unstable), we change the variables accordingly:
x−O = r cos θ (A.13)
z = r sin θ (A.14)
, wherer =√
(x−O)2 + z2 andθ = arctan zx−O
Having then
x = r cos θ − rθ sin θ (A.15)
z = r sin θ + rθ cos θ (A.16)
Substituting the variables
r cos θ − rθ sin θ = α(
µ− r2)
r cos θ − ωr sin θ, (A.17)
r sin θ + rθ cos θ = α(
µ− r2)
r sin θ + ωr cos θ. (A.18)
We decouple the equations by multiplying eq.( A.17) bycos θ and eq.( A.18) by
sin θ, having
r = α(
µ− r2)
r (A.19)
, and multiplying eq.( A.17) by− sin θ and eq.( A.18) bycos θ, having
θ = ω (A.20)
Chapter A. Analysis of the dynamical systems 86
Now it is possible to study the stability of the system A.19.
r = 0 ⇔ α(
µ− r2)
r = 0 (A.21)
⇔ α(
µ− r2)
= 0 ∨ r = 0 (A.22)
⇔ r = ±√µ ∨ r = 0 (A.23)
Sincer =√
(x−O)2 + z2, the fixed point−√µ does not exist.
The fixed point of the dynamical system A.20 isω = 0.
θ = 0 ⇔ ω = 0 (A.24)
It has a solution given by
∫
θdt =
∫
ωdt⇔ θ = ωt+ θo, θo ∈ R (A.25)
A.2 Discrete system
The discrete system is given by
y = f1 (y, v) = v (A.26)
v = f2 (y, v) = −b2
4(y − g)− bv (A.27)
Fixed points
Makingf1 = 0 andf2 = 0 we get
y = v = 0
v = − b2
4(y − g)− bv = 0
⇔ v = 0
y = g(A.28)
(A.29)
, the fixed point for the system,v = 0,y = g.
Chapter A. Analysis of the dynamical systems 87
To approximate to a linear function around the fixed points wecalculate the Jaco-
bian matrixDf .
Df =
[
∂f1∂v
∂f1∂y
∂f2∂v
∂f2∂y
]
=
[
0 1
− b2
4−b
]
(A.30)
Calculating the Jacobian determinant:
det |Df(0, g)− λI| = 0 (A.31)
⇔∣
∣
∣−λ 1− b2
4−b− λ
∣
∣
∣= 0 (A.32)
⇔ λ2 + λb− b2
4= 0 (A.33)
⇔ λ = − b2
(A.34)
The stability of the fixed point is therefore
• b > 0, the fixed point is an attractor;
• b = 0, stability can not be determined;
• b < 0, the fixed point is an repulser.
Appendix B
Calculating amplitudes for
omnidirectional
The robot moves with a given forward and lateral velocity (fig. B):
~v = ~vf + ~vl (B.1)
For a determined angular rateφ, the robot will describe a path around a determined
centre of rotation, the ICR. The radius from the centre of therobot to the ICR is
given by
rICR =|~v|φ
(B.2)
, and its coordinate in the robot’s reference frame by
θICR = arctan
( |~vl||~vl|
)
(B.3)
XICR = rICR cos (θICR) =|~v|φ
|~vl||~v| =
|~vl|φ
(B.4)
YICR = rICR sin (θICR) =|~v|φ
|~vf ||~v| =
|~vf |φ
(B.5)
The point of the hip jointRF should then describe the following velocity, accord-
88
Chapter B. Calculating amplitudes for omnidirectional 89
x
y
~vf
~vl
~v
~vf,RF
~vl,RF
(XICR
,YICR
)
(XRF
,YRF
)
µICR
µRF
ingly to the ICR.
| ~vRF| = φrICR,RF (B.6)
~vRF =
[
| ~vRF| sin (θICR,RF)
| ~vRF| (− cos (θICR,RF))
]
(B.7)
=
[
φrICR,RF(YRF−YICR)
rICR,RF
−φrICR,RF(XRF−XICR)
rICR,RF)
]
(B.8)
=
[
φ (YRF − YICR)
−φ (XRF −XICR)
]
(B.9)
=
[
φYRF − |~vl|−φXRF + |~vf |
]
(B.10)
The coordinatesXRF andYRF are the location of the hip joint in the reference
frame.
Now consider the theoretical velocityvref , achieved by performing amplitudes of
Chapter B. Calculating amplitudes for omnidirectional 90
Aref , andvf , vl are a fraction ofvref such thatvref =√
(v2f + v2l ). The components
vf , vl are specified by the walking orientationφw and thevref .
vl = vref sin (φw) (B.11)
vf = vref cos (φw) (B.12)
Because using the amplitudeAref allows to achievevref , through the proportional
relation
Aref
vref=
Aflap
φYRF − vl, (B.13)
Aref
vref=
Aswing
−φXRF + vf, (B.14)
it is possible to findAflap andAswing.
Therefore, the amplitude for movements of each limb for omnidirectional loco-
motion is calculated by:
Aflap = ArefφYRF − vref sin (φw)
vref(B.15)
Aswing = ArefφYRF − vref cos (φw)
vref(B.16)
, by only specifying the desiredφ andφw and having the referenceAref andvref .
Appendix C
Locomotion velocity
Herein is presented a method for finding an estimate of the performed locomotion
velocity.
The velocity of a step can be calculated from the duration of the propulsion phase
(Tst) and the length of the step (lst),
v =lst
Tst. (C.1)
The length of the step can be roughly deduced from the length of the limb (llimb)
during the stance phase and the full amplitude of the locomotor movements (2A(deg)),
aslst = 2llimbA.
The duration of the stance phase is given byTst = Tsw
(
1 + β
1−β
)
, with β as the
duty factor of the step andTsw = πωsw
specifies the swing duration.
v =2llimbA
Tst(C.2)
91
Chapter C. Locomotion velocity 92
llimb
A
A