Towards goal-directed biped locomotion: Combining CPGs and motion primitives

22
Robotics and Autonomous Systems 62 (2014) 1669–1690 Contents lists available at ScienceDirect Robotics and Autonomous Systems journal homepage: www.elsevier.com/locate/robot Towards goal-directed biped locomotion: Combining CPGs and motion primitives Vitor Matos, Cristina P. Santos Algoritmi Research Centre, Industrial Electronics Department, School of Engineering, University of Minho, 4800-058 Guimarães, Portugal highlights A bio-inspired architecture generates biped locomotion on different platforms. Rhythmic movements are generated by CPGs modeled by nonlinear oscillators. The approach provides for a developmental mechanism, which enables progressively building a motor repertoire. Results in a simulated and real DARWIN robot show general ball following behavior. article info Article history: Received 1 January 2014 Received in revised form 4 July 2014 Accepted 25 August 2014 Available online 6 September 2014 Keywords: Locomotion Dynamical systems Biped CPGs Bio-inspired abstract In this paper it is presented a CPG approach based on phase oscillators to bipedal locomotion where the designer with little a priori knowledge is able to incrementally add basic motion primitives, reaching bipedal walking and other locomotor behaviors as final result. The proposed CPG aims to be a model free solution for the generation of bipedal walking, not requiring the use of inverse kinematical models and previously defined joint trajectories. The proposed incremental construction of bipedal walking allows an easier parametrization and per- formance evaluation throughout the design process. Furthermore, the approach provides for a develop- mental mechanism, which enables progressively building a motor repertoire. It would easily benefit from evolutionary robotics and machine learning to explore this aspect. The proposed CPG system also offers a good substrate for the inclusion of feedback mechanisms for modulation and adaptation. It is explored a phase regulation mechanism using load sensory information, observable in vertebrate legged animals. Results from simulations, on HOAP and DARwIn-OP in Webots software show the adequacy of the lo- comotor system to generate bipedal walk on different robots. Experiments on a DARwIn-OP demonstrates how it can accomplish locomotion and how the proposed work can generalize, achieving several distinct locomotor behaviors. © 2014 Elsevier B.V. All rights reserved. 1. Introduction One usually does not realize the complexity of legged loco- motion unless one ponders on it, specially because walking, run- ning and climbing are ubiquitous abilities in one’s life experience. Legged animals are proficient walkers on unstructured terrains and are able to generalize their ability to unexplore terrains by choos- ing appropriate strategies on the fly within their motor abilities. These abilities have always roused the interest of researchers on understanding the neural mechanisms governing motor behavior. Corresponding author. Tel.: +351 914730808; fax: +351 510189. E-mail addresses: [email protected] (V. Matos), [email protected] (C.P. Santos). Research in the last decades has brought many insights on verte- brate motor control, such as on the organization of the central ner- vous system (CNS), on the control of voluntary movements and on the centers responsible for the production of rhythmic motor ac- tions, the CPG, including those of locomotion. Inspiration from the concept of self-organization, CPGs and the dynamic interactions of sensory feedback processes have been used for a while in the design of robotic solutions. It is believed that if reaching an understanding of the mechanisms at play in the control of locomotion, one can design a better controller able to achieve flexible and adaptive robot walking. In the present work it is chosen an abstract approach for the design of a walking controller based on the concept of CPGs, such that the proposed models are better suited for robotic implemen- tation. It addresses the problem from an engineering perspective, http://dx.doi.org/10.1016/j.robot.2014.08.010 0921-8890/© 2014 Elsevier B.V. All rights reserved.

Transcript of Towards goal-directed biped locomotion: Combining CPGs and motion primitives

Page 1: Towards goal-directed biped locomotion: Combining CPGs and motion primitives

Robotics and Autonomous Systems 62 (2014) 1669–1690

Contents lists available at ScienceDirect

Robotics and Autonomous Systems

journal homepage: www.elsevier.com/locate/robot

Towards goal-directed biped locomotion: Combining CPGs andmotion primitivesVitor Matos, Cristina P. Santos ∗

Algoritmi Research Centre, Industrial Electronics Department, School of Engineering, University of Minho, 4800-058 Guimarães, Portugal

h i g h l i g h t s

• A bio-inspired architecture generates biped locomotion on different platforms.• Rhythmic movements are generated by CPGs modeled by nonlinear oscillators.• The approach provides for a developmental mechanism, which enables progressively building a motor repertoire.• Results in a simulated and real DARWIN robot show general ball following behavior.

a r t i c l e i n f o

Article history:Received 1 January 2014Received in revised form4 July 2014Accepted 25 August 2014Available online 6 September 2014

Keywords:LocomotionDynamical systemsBipedCPGsBio-inspired

a b s t r a c t

In this paper it is presented a CPG approach based on phase oscillators to bipedal locomotion where thedesigner with little a priori knowledge is able to incrementally add basic motion primitives, reachingbipedal walking and other locomotor behaviors as final result. The proposed CPG aims to be a model freesolution for the generation of bipedal walking, not requiring the use of inverse kinematical models andpreviously defined joint trajectories.

The proposed incremental construction of bipedal walking allows an easier parametrization and per-formance evaluation throughout the design process. Furthermore, the approach provides for a develop-mental mechanism, which enables progressively building amotor repertoire. It would easily benefit fromevolutionary robotics and machine learning to explore this aspect.

The proposed CPG system also offers a good substrate for the inclusion of feedback mechanisms formodulation and adaptation. It is explored a phase regulation mechanism using load sensory information,observable in vertebrate legged animals.

Results from simulations, on HOAP and DARwIn-OP in Webots software show the adequacy of the lo-comotor system to generate bipedalwalk on different robots. Experiments on a DARwIn-OP demonstrateshow it can accomplish locomotion and how the proposed work can generalize, achieving several distinctlocomotor behaviors.

© 2014 Elsevier B.V. All rights reserved.

1. Introduction

One usually does not realize the complexity of legged loco-motion unless one ponders on it, specially because walking, run-ning and climbing are ubiquitous abilities in one’s life experience.Legged animals are proficientwalkers onunstructured terrains andare able to generalize their ability to unexplore terrains by choos-ing appropriate strategies on the fly within their motor abilities.These abilities have always roused the interest of researchers onunderstanding the neural mechanisms governing motor behavior.

∗ Corresponding author. Tel.: +351 914730808; fax: +351 510189.E-mail addresses: [email protected] (V. Matos), [email protected]

(C.P. Santos).

http://dx.doi.org/10.1016/j.robot.2014.08.0100921-8890/© 2014 Elsevier B.V. All rights reserved.

Research in the last decades has brought many insights on verte-brate motor control, such as on the organization of the central ner-vous system (CNS), on the control of voluntary movements and onthe centers responsible for the production of rhythmic motor ac-tions, the CPG, including those of locomotion.

Inspiration from the concept of self-organization, CPGs and thedynamic interactions of sensory feedback processes have beenused for a while in the design of robotic solutions. It is believedthat if reaching an understanding of the mechanisms at play in thecontrol of locomotion, one can design a better controller able toachieve flexible and adaptive robot walking.

In the present work it is chosen an abstract approach for thedesign of a walking controller based on the concept of CPGs, suchthat the proposed models are better suited for robotic implemen-tation. It addresses the problem from an engineering perspective,

Page 2: Towards goal-directed biped locomotion: Combining CPGs and motion primitives

1670 V. Matos, C.P. Santos / Robotics and Autonomous Systems 62 (2014) 1669–1690

rather than trying to faithfully model the neuronal circuits and or-ganization, it takes inspiration from the functional description ofthe vertebrate CNS, CPGs, their structure and organization, com-ponents and sensorimotor interactions.

The proposed solution relies on the dynamical systems ap-proach for the implementation of the controller, specially on theuse of nonlinear oscillators and exploitation of their properties.The dynamical systems approach has proven to be successful inseveral robotic applications [1–6], providing desirable features fordynamicmotor control. Furthermore, the proposedmodel extendsother’s [5,7] and the team’s related work on: postural control [8];locomotion-induced head movement minimization [9]; gait tran-sition [10] and a drumming task [11]. This choice allows to applypreviously proposed mechanisms and solutions, and enables thesharing of the advancements within the framework.

In this paper,motor control is achievedusing the dynamical sys-tems approach to encodingmotor control policies into the dynami-cal system’s landscapes, as defined by fixed points and limit cycles.Motor control policies are formulated recurring to systems withadequate attractor properties, resulting in a formulation whichgenerates in real-time kinematic trajectories (e.g. position and ve-locities), resistant against transient perturbations and offering theability for real-time modulations. Motor policies converge to goalstates as defined by attractive fixed points, can converge to sta-ble rhythmic motions by converging to a limit cycle (attractiveclosed orbit), while avoiding undesirable states or dealing withconstraints which can be defined by repeller fixed points.

The contributions of the present work relates to the advance-ment and expansion of capabilities of current solutions based onthe concept of CPGs and dynamical systems for the control ofwalk-ing robots. It addresses the problem of bipedwalking by proposinga solution which is based on a current view on the possible organi-zation of vertebrate CPGs.

It attempts to propose a framework for applying CPGs by identi-fying the required features from the CPGs’ biological counterparts,and the corresponding intrinsic properties in the modeled CPGs.Some of these features are unique to the proposed solution suchas the ability to produce both rhythmic and discrete movements,described in [5,12]. The proposed CPG solution is based on the ideaof two separate layers, one for rhythm generation and another forpattern generation. The solution exploits the idea of motion prim-itives for a modular construction of the robot’s motor abilities. Itwas also achieved a successful identification of a minimum re-quired set of motion primitives for a capable goal-oriented walk-ing.

In the current approach,motion primitives, i.e. kinematicmotorprimitives, are proposed for the case of rhythmic motor behaviorsin locomotion. Other works, also exploring the concept of move-ment primitives, use predetermined functions for designing thejointmotions. They use other approaches to determine theirmove-ment primitives, such as imitation learning or kinesthetic teaching.However, in this paper the idea is that the system departs froma set of coarse primitives, based on observations and kinematicaldescriptions of human walking [13], which provide for a startingpoint in the life of the robot. This basic motor repertoire of motionprimitives achieves basic, but capable, walking behavior. Thesemotion primitives are encoded as a set of non-linear dynamicalequations with well-defined attractor dynamics, and are smoothlyand easily modulated regarding their amplitudes, frequencies, andpattern offsets, similarly to other approaches [14,15,3]. Herein,these primitives are consciously built only from the superpositionof sinusoidal and Gaussian profiles, as ameans to overcome knownlimitations by using a reduced description. This provides for a syn-ergistic approach, considering that byweighting or sequencing themotion primitives, it is possible to modulate the produced com-plex motions and alternate between the achieved locomotor be-haviors. This is an innovative aspect of the proposed solution: the

possibility of generating and switching between different motorbehaviors simply by activating different sets of primitives throughchanges in the corresponding reduced parameters. This is veryrelevant and similar concepts were explored by the authors inquadruped locomotion [10,16]: different sets of parameters mod-ulated the generated behaviors and/or generated different ones.

The proposed approach provides for an easy addition andchange of motion primitives with the objective of performing abroad, flexible repertoire of locomotor behaviors. Eachmotion pat-tern generator is assigned a set of motion primitives, which can beenabled or disabled through own parameter manipulation. Modu-lation of each motion primitive is dependent on the final desiredlocomotor behavior, rendering locomotion a problem of modularmotor programs. Themain idea is that themotion primitives can begeneralized, combined, sequenced,modulated and scaled, depend-ing on the desired locomotor behavior. Despite the simple repre-sentation of the motion primitives and the possible final motorpatterns, the approach has been demonstrated to generate differ-ent motor patterns by playing with the simple motor primitives.

The adequacy of the approach to produce different walking be-haviors for different robots in simulation and its deployment in areal robot is herein shown. The results from the walking robot arepresented, accomplishing several locomotor behaviors, like walk-ing forwards and backwards, and turning. A ball following applica-tion is devised to demonstrate the ability of the system to actuallyproduce goal-directed locomotion through simple parametermod-ulation. Finally, a comparison of CPG and ZMP walking in simula-tion is presented, and results compared in matters of performanceand stability.

It is also proposed feedback mechanisms for the regulation ofthe timing of the step phases. These phase regulation mechanismsadapt the produced motions depending on the current step phaseand current sensory information, coupling the controller to the ex-hibited behavior and environment. The application of phase regu-lation mechanisms has been demonstrated to achieve adaptationto small unperceived slopes on the DARwIn-OP robot [17].

The concept, inspired in [7], is extended to different CPGmech-anisms generating biped locomotion and effectively applied in abiped robot. The fact is that Righetti [7] applied this mechanismin a completely different CPG-based quadruped controller whichused different oscillators and had not a two layer structure. Addi-tionally, in the proposedpaper it is verified the ability to provide forrobustness to small unperceived perturbations, and in some casesto adequate the motor patterns to the real robot, stopping it fromfalling. Besides, the functional role of this phase transition mecha-nism in the walk is herein explored. Overall, this differentiates thepresent paper from other state of the art studies.

This article is organized as follows. After the introductory noteson themotivation, goals and contributions, it is presented the con-text of legged locomotion in Section 2. It is covered some impor-tant concepts of legged robot locomotion and legged locomotionin general. The concept of CPG is clarified, providing some insighton the role of sensory information within locomotion generation,and reviews its interesting features for robot locomotor control. Asmall survey of CPG application on robotics is then presented, ex-plaining its approaches, characteristics and interpreting its results.Section 3 presents the methodology and framework employed forthe formulation of biped walking generation, laying out the inno-vative aspects of the proposed solution comparatively to the stateof the art. It is also demonstrated its application in goal-orientedscenarios (Section 4). A summary and discussion of the results arepresented in Section 6.

2. Context and related work

Most of the works in robot legged locomotion rely on model-based methods. These algorithms typically use some form of

Page 3: Towards goal-directed biped locomotion: Combining CPGs and motion primitives

V. Matos, C.P. Santos / Robotics and Autonomous Systems 62 (2014) 1669–1690 1671

forward and inverse models of the robot, models of the interactionwith the environment and of the environment itself, for the plan-ning and the generation of control policies, according to the de-sired task and under several constraints. However it may be hardto model more complex environments or more dynamic interac-tions. These approachesmay also not fare well on situations wherethe trajectories have to be adapted in real-time to unmodeled andunperceived perturbations.

In contrast, some model-free approaches, or which do not useexplicit models, aim to tackle these limitations and generalize thecontrol policies, such as approaches inspired by insights from bio-logical research, as herein discussed briefly.

2.1. Bio-inspired robotic locomotion

Bio-inspiration in design is the application of knowledge frombiological studies into real world engineering applications, as inbiosensing, bioactuation and biomaterials, which may take theform of simple application of concepts to full biomimicry. Inrobotics, bio-inspiration has long been used to design robotswhichmimic animal’s method of locomotion, from flying, snake and fishlike, biped, quadruped and other multi-legged robots [18].

Interesting insights from howmovementmay bemodularly or-ganized at spinal level could explain how nature simplifies theproblem of motor generation. A promising perspective is that a setof stereotyped movements are flexibly combined to produce a va-riety of muscle tasks. The idea is that unit patterns of muscle acti-vation, a synergy, are a specific output of simple functional units,and the motor movement is the result of a weighted combinationof their output [19]. In the production of rhythmic motor patternsfor walking, it has been suggested that these synergistic outputsresult from Central Pattern Generators (CPGs).

The concept of CPGs has gained a widespread attention inrobotics community as inspiration for the design of low levelmotorcontrol, and is the central concept exploited in the presentedwork.

2.2. Central Pattern Generators

It is generally accepted and defined the Central Pattern Gen-erators (CPGs) as the functional ensembles of neural networks ofthe central nervous systemwhich endogenously produce and gov-ern the rhythmic motor processes in the body, such as respiration,swallowing, and locomotion [20].

The initial finding of locomotor CPGs came from the first studiesby Brown in 1911 [21], suggesting that locomotor behaviors are theresult of central rhythmogenic mechanisms in the cat, followed byresearch in both invertebrate [22] and vertebrate animals [23,24].There is definite evidence on the existence of CPG for locomotion invertebrates like the cat, dog, rabbit, but only indirect evidence hasindicated the existence of CPG for locomotion in humans [25,26].

Complex walking behavior is believed to be generated majorlyby locomotor CPGs, which retain a repertoire of motor programsused in locomotion [27]. In complete absence of rhythmic inputs,the CPG produces the rhythmic motor patterns for locomotion,generating complex rhythmic movements which level of activityis solely commanded through tonic stimulation from supraspinalregions. Equally important is the integration of sensory informa-tion and feedback mechanisms governing and shaping the gener-ated patterns. This aspect is very important to provide the abilityof adapting and correcting the walking behavior accordingly to thecurrent environmental and behavioral context.

An interesting suggestion of CPG organization is the proposalthat the mammalian CPG is divided in two layers: a rhythmic gen-eration layer responsible for the rhythmic coordination within theCPG and between the coordination among the CPGs, and a pat-tern generation layer responsible for generating the patterns of

locomotion [28,29]. This proposed organization would allow forindependent afferent influence onto each layer, with changes act-ing on motor pattern not directly influencing the rhythmic activ-ity, or the rhythmic changes not influencing themotor pattern. Thepresent work bases itself in this suggestion.

2.3. Sensory modulation and adaptation

Signals from supraspinal, spinal and peripheral structures arecontinuously integrated by the CPG for the proper expression andshort-term adaptation of locomotion. Sensorymechanisms can se-lect rhythmic patterns, modulate amplitude of muscle bursts andpattern frequency. They can also regulate the structure and tran-sition between step phases, assist foot positioning and correct themovements when obstacles appear [30]. This short-term adapta-tion provides great versatility to an otherwise fixed set of motorpatterns in the CPGs repertoire, dynamically adapting the move-ments to the environment.

These dynamic interactions have also been shown to include theinfluence of the CPG in the selection of feedback pathways or reflexreversals, depending on the locomotor behavior, step phase andtype of stimulation [31]. This important organization and function-ality of phase dependent sensory feedbackwould not existwithoutthe operation of the CPGs [32].

2.4. Interesting features for robot motor control

Interesting features can be taken from the concept of CPGs andvertebrate motor control, even if not completely understood thedetails of the CPG neural organization, how it integrates with otherfeedback and motor control mechanisms, and how descendingcommands influence voluntary changes in locomotion.

The current work aims to base the design of a robot locomotioncontroller on the interesting functional features of the CPG andorganization of vertebrate locomotion control structures. Herein itis considered only the concept of CPGs, and mainly the functionalfeatures in a certain abstraction that allows an easier and moreadequate transfer and implementation to legged robot control.

The integration of the CPGs and feedback control loops is ex-pected to provide the required adaptability to produce agile lo-comotion, organized in mechanisms covering different spinal andsupraspinal levels, achieving fast reflexes, and long-term walkingadaptations to varied types of terrains and entrainment to imposedrhythms.

Another interesting aspect is the developmental perspective ofthe CPGs and the vertebrate motor system, their ability to learnnew motor tasks and adapt to the growing body. This is an impor-tant aspect in robotics, how can robot autonomy be increased byproviding it with learning capacity.

All these features make the CPG concept a good candidate forthe control design of legged robots, which can potentially general-ize their ability in dynamic environments.

An extensive variety of implementations throughout the yearsreflects it, as surveyed by Auke Ijspeert in [33].

2.5. Central Pattern Generators in legged robots

The distributed characteristics of CPG based controllers allowCPGs to be applied inmulti legged robots. It can be applied in robotswith as little as two legs, such as humanoid robots, up to robotswith six, eight, or more legs. CPGs have been shown to be a simplemethod to control centipede like robots, with an indeterminatenumber of pair of legs, such in the modular robot presented byShinya Aoi et al. [34]. However the most typical application, andthe most extensive application of CPG based controllers are inhexapod, quadruped and biped robots.

Hexapod robots are good for applications where added stabilityis required, and where CPGs are able to easily produce the coordi-nated patterns of the different hexapod gaits [35–40].

Page 4: Towards goal-directed biped locomotion: Combining CPGs and motion primitives

1672 V. Matos, C.P. Santos / Robotics and Autonomous Systems 62 (2014) 1669–1690

Even though biped walking presents an increased level of diffi-culty, CPGs have also been applied successfully to several kinds ofbiped robots. From servo actuated tethered bipeds constrained tothe sagittal plane [41,15,42], to full sized humanoid robots [43,44],including compliant actuated humanoids [45] and football playingrobots [46].

An extensive number of works apply CPGs in simulated bipeds,many of which aim to demonstrate the feasibility of CPG basedcontrollers and their integration with feedback mechanisms, orto achieve an easier system analysis [47–50]. Although importantthe existence of extensive works demonstrating the capabilities ofCPG based controllers on simulation, controlling a real robot canbe considered in many aspects more challenging [51,15]. Manydynamic effects are not considered correctly in simulation, eitherby using a simplified model, by the incomplete representation ofmass distributions, the simplified actuator models, or even thechoice of collision models.

2.6. CPG modeling and implementation

Many approaches to CPG based controllers have been triedthroughout the years. Several mathematical tools and methodolo-gies have been used to implement control solutions featuring thebiological CPG characteristics, including neural phase and limit cy-cle oscillators and neural networks. Herein, we focus on an ap-proach that employees phase oscillators and the CPG is dividedonto two functional layers.

Designing a solution for robot locomotion based on CPGsusually requires identifying the desired architecture of the system,how many DOFs will be controlled, identify the required motorpatterns and how motor patterns are coordinated.

A very popular approach to the implementation of CPG basedsolutions, is the division of the CPG into two functional layers. Adistributed rhythmic generator layer is usually implemented as aphase oscillator with a unit for each leg, producing the coordinatedbase rhythmic signal that drives the pattern generation layer. Thetemporal reference generation layer and a spatial coordinationlayer can be controlled separately.

Tsujita and colleagues applied this approach with the phase os-cillator driving a nominal end effector trajectory defined by keypoints on the task space, and temporally in swing and stancephases [52]. At each instant in time, the end effector position isreturned by the nominal trajectory, and the leg joint positions areprovided using the inverse kinematics of the robot. This becamea popular approach that has been extensively used in subsequentworks, by the authors and others, in biped [53–56], quadrupedrobots [57–60] and multi-legged robots [34].

A slight different approach was performed by Morimoto andcolleagues, where the pattern generator consists on an ensembleof sinusoidal profiles for the joint trajectories rather than obtainedfrom inverse kinematics [61,44,62]. Authors argue that since thenominal gait patterns are sinusoids, the approach does not needcareful design of desired gait trajectories, as they are modulatedthrough the detected phase and synchronization with the invertedpendulum the robot dynamics.

Dynamic movement primitives (DMP) is an imitation learningmethod for the representation of motor primitives, which also di-vides a motor primitive, rhythmic or discrete, into a temporal ref-erence and a spatial reference. In the case of the rhythmic DMP,a temporal reference is also achieved by employing a phase oscil-lator, which drives the rhythmicity of the spatial reference. Thisimitation learning approach of rhythmic motor primitives wasused to learn and generate bipedal walking patterns [15,43] andquadruped walking [63].

2.7. Feedback mechanisms in CPG based controllers

The possibility of feedback integration in CPG based controllersis one of the major arguments for the application of the CPG

concept in robotics. It is intended that the integration of feedbackmechanismswill provide a better framework for robotwalking andrunning with increased flexibility and agility, through the desiredfeatures of motor adaptation and mutual entrainment.

Taga’s main contribution is the demonstration of the importantrole of global entrainment between the rhythmic activity of thenervous system and the rhythmic movements of the musculo-skeletal system, including interaction with the environment, forthe generation of a more stable and flexible locomotion [47].

Another method to achieve global entrainment is the exploita-tion of the natural dynamics, such as the pendulum dynamics ofbiped robots [43,61,44,62], or taking advantage of the nonlinearoscillators’ entrainment properties for tracking the resonant fre-quencies of a compliant system [64,65].

Global entrainment has also been demonstrated to replace ex-plicit interlimb coordination. Ishiguro and colleagues have demon-strated that interlimb coordination could be achieved throughground reaction force influence on the phase dynamics of theCPGs [66,67], achieving good adaptability to changes inweight dis-tribution and walking speed.

Anothermethod that has been used on CPG based controller, forachieving entrainment between the system and the environmentis phase resetting and phase transition mechanisms. These mech-anisms take on the idea of regulating the timing of step phases,controlling the transition between swing and stance accordingly toexternal sensory events, such as foot placement. They are typicallyused on solutions which employ phase oscillators or limit cycle os-cillators, from where the temporal reference is easily accessible inthe system.

Phase resetting mechanisms change the current state of thephase oscillator to the nominal phase upon an external event, suchas foot strike. It is used to provide robustness to small unperceivedperturbations [15,56,52,68], adapting the biped robot walking tosplit-belt treadmill with different speeds [55], and in some casesto adequate the motor patterns to the real robot, stopping it fromfalling [15]. It has been extensively used and studied by Aoi andcolleagues [53,57,58], whom also analyzed the functional role ofphase resetting in the walk [69,54].

Slightly more complex are the transition regulations betweenthe step phases, swing and stance. It can however, offer more con-trol options and is probably closer in concept to the phase transi-tion regulation in vertebrates. Righetti [7] proposed four transitionmechanisms that regulate the transition from swing to stance, andthe transition from stance to swing. Themechanisms halt the tran-sition, or elicit the transition between the two step phases depend-ing on foot load conditions. Maufroy used similar mechanisms inhis quadruped controller [59,60], with the phase modulations pro-viding stability and robustness to unperceived slopes, steps andlateral perturbations.

Herein, is proposed a feedback mechanism for the regulation ofthe step phases. It is inspired in Righetti [7] transition regulationsbut the concept is extended to different CPGmechanisms generat-ing biped locomotion. Namely a completely different two layer CPGbiped controller based on phase oscillators. Additionally, the func-tional role of the proposed phase transition mechanism has beenanalyzed.

3. Bipedal CPG approach

Many works achieve robot walking by successfully applyingCPG based methods in a wide range of legged robots. However,there is no defined framework for applying CPGs, neither a fixeddefinition of what is understood as a CPG in robotics. The authorherein considers that a robotic implementation of a CPGbased con-troller should present the identified features from biological CPGs,regardless of the chosen methods for implementation. A summa-rized list of CPG desirable features is presented: (1) Endogenous

Page 5: Towards goal-directed biped locomotion: Combining CPGs and motion primitives

V. Matos, C.P. Santos / Robotics and Autonomous Systems 62 (2014) 1669–1690 1673

generation of rhythmic patterns, independent of rhythmic inputsand external events; (2) Production of coordinatedmovements, ad-dressing the redundancy problem by using a reduced set of syner-gistic motions; (3) Distributed implementation, allowing a flexiblecoordination to achieve different gaits; (4) Allow the modulationand control of locomotion through only a few high-level com-mands; (5) Allow the integration of feedback and reflex mecha-nisms for corrections based on sensory information; (6) Capable ofperforming different locomotor behaviors; (7) Permit the inclusionof mechanisms for anticipatory and voluntary action; (8) Havingthe potential for improving rhythmic patterns and learning motorabilities.

This section pursuits these identified features by harnessing thecharacteristics of dynamical systems and limit cycle oscillators,applied to the design of the proposedCPGonbiped robots. Previouswork of the authors addressed quadruped [10,16] and bipedrobots [17].

3.1. Modeling Central Pattern Generators

On the proposed CPG for the biped problem, the temporal andspatial reference is divided into two layers. The temporal referenceis produced using phase oscillators, and the spatial reference usinga pattern generator based on a set of forcing terms in attractordynamical systems, which define motion primitives.

These systems offer interesting characteristics, which applywell to model the biological CPG features. The phase oscillatorsproduce endogenous rhythmic generation, addressing feature 1.They also allow for an easy coupling and synchronization dueto their entrainment abilities, allowing to accomplish feature 3straightforwardly.

Feature 2 is accomplished in the biped solution by the coordi-nated set of motion primitives, which are dependent on the timingof the shared phase oscillator.

The proposed solution allows for an easy modulation of theproduced motor patterns by parameter manipulation, resulting instraightforward and meaningful changes in the produced motorbehavior (feature 6). These changes result in smooth modulationsfor the produced trajectories, even if through abrupt parameterchanges. Moreover, it is possible to map changes from the controlparameters to higher-level command inputs, addressing feature 4.

These systems produce stable rhythmic patterns in respect totheir limit cycle behavior, returning to the normal stable stateafter small transient perturbations. This characteristic, the intrinsicrobustness of the dynamical systems allows for an easy integrationof sensory feedback mechanisms, by temporarily influencing thesystem’s state (feature 5).

The proposed method also has been demonstrated to have theability to produce rhythmic and superimposed discrete motions,allowing to tackle motor behaviors such as reaching movementswhile walking [5] (feature 7).

Lastly, due to its parameterizable and modular approach, it ispossible to use optimization [70] and learning algorithms for ex-tending the robot’s motor abilities, addressing feature 8.

3.2. Two layer CPG model

On the proposed locomotion systemeachCPGproduces themo-tions of a single leg, controlling all the leg’s DOFs by outputtingreference angle positions. The CPG is modeled on a two layeredorganization, having one rhythmic generation layer producing thetemporal reference and one other pattern generation layer receiv-ing the temporal drive to produce the spatial reference. A group ofmotion pattern generators, each responsible for a single joint, aredriven by a shared rhythmic generator [29] (Fig. 1).

This approach is based on the notion ofmotor primitives, whichhypothesizes that the generated motor output from the vertebrate

motor system is accomplished through a combination of a numberof units ofmotor output [19,71]. Small functional units in the spinalcord produce specific patterns of muscle activation, also namedsynergies, as discrete building blocks which combined result in theproduction of a variety ofmovements. Thismethod for the problemofmotor control allows the CNS to handle a large space of solutions,simplifying the low-level activation of the muscles, handling onlythe activation of synergies, instead of individual muscles involvedin the movement [72]. It is an effective method to accomplishcoordination among a large number of DOFs for a determinedstereotypical behavior in low-level control. The problem of motorcontrol comes down to a role in selecting, appropriately activatingpre-existing motor primitives, or even transforming and derivingfrom an existing limited number of stored motor primitives.

The rhythmic generator is implemented as a phase oscillator togenerate the base rhythm of locomotion. The use of a phase os-cillator presents appealing properties as straightforward mainte-nance of phase relationships and entrainment, which are used toachieve interlimb coordination and to serve as a substrate to feed-back pathways, such as the later proposed phase regulation.

The motion pattern generators receive the rhythmic signal andgenerate joint trajectories through the sum of motion primitives.Similar to other approaches [14,15,3], motion primitives are en-coded as a set of non-linear dynamical equationswithwell-definedattractor dynamics, and are smoothly and easilymodulated regard-ing their amplitudes, frequencies, and pattern offsets.

It is considered that as a starting point in the life of the robot,it should have a basic motor repertoire of motion primitives thatachieve basic, but capable, walking behavior. The creation of thebasic motor repertoire for walking is presented in the next sub-sections. The motor repertoire is created manually through a pro-gressive increment of motion primitives, using sinusoidal andbell-shaped trajectories to describe general motions observablefrom biped walking. A sinusoid is a good candidate for a primitivesince complex signals can be generated from the sum of these ele-ments.

Using only sinusoidal and bell-shaped profiles in the design ofmotion primitives is a conscious choice, reasoned on the designer’slack of knowledge and ability to describe any of the following:(i) the complete joint trajectories for achieving biped locomotion;(ii) changes in joint trajectories to achieve different locomotorbehaviors; (iii) modular motion primitives for achieving detailedbiped locomotion. By using a reduced description through thesuperposition of only sinusoidal andbell-shapedmotionprimitivesit is possible to overcome these limitations.

Motion generation in this approach is flexible in the sense thatit allows for an easy addition and change ofmotion primitives,withthe objective of performing a broad, flexible repertoire of locomo-tor behaviors. Besides it provides for an easy integration with au-tonomousmechanisms for learning, optimization or evolution andexploration of locomotor behaviors. The basicmotor repertoire canalso be regarded as a starting point for local policy search methodswhich require some initial solution, such as POWER [73,74] andPI2 [75,62].

The expansion of the motor repertoire can be achieved throughtuning of parameters formotions; creating newmotion primitives;empirically, or even evolutionary methods; creation and reorgani-zation of feedback pathways and its effects in motor patterns.

3.3. Rhythm generator

Similarly to other CPG implementations [52,57,44], a rhythmgenerator layer is implemented as a coupled phase oscillator,producing the driving rhythmicity for the pattern generation, givenby Eq. (1)

φi = ω + k sin (φi − φo + π) , (1)

Page 6: Towards goal-directed biped locomotion: Combining CPGs and motion primitives

1674 V. Matos, C.P. Santos / Robotics and Autonomous Systems 62 (2014) 1669–1690

Fig. 1. Representation of left and right CPGs. Each CPG is composed by a shared rhythmic generator and a group of motion pattern generators for the corresponding jointsof the leg. Bilateral interaction between the rhythmic generators is represented by the bilateral arrow, providing for maintenance of interlimb relationships.

where φi (rad) is the phase CPG i and φo (rad) is the phase of CPGo. The phase increases monotonically and linearly with rate of ω(rad s−1), bounded in the range [−π, π] (Fig. 2(a)).

It outputs a monotonically increasing periodic signal φi (rad),with rate ω (rad s−1), which specifies the phase of the current leg i(left or right). The rhythmic output signal φi is employed as a timekeeping clock, for the generation of the rhythmic motions for theCPG i determining the state of the step. The signal drives the pat-tern generators, providing for a timely and coordinated generationof the motor trajectories.

The use of a phase oscillator provides for a simple mechanismfor entrainment and phase locking, which has been extensivelystudied and applied to synchronization phenomena. The includedcoupling term k sin (φi − φo + π)maintains a desired phase rela-tionship of π between oscillator o and i, with a coupling strengthof k. To use the phaseφ not only in 2kπ periodic functions (e.g. sineand cosine), the output is bounded in the range [−π, π]. Each mo-tion primitive will be anchored into a specific phase value, wherea period corresponds to the final step cycle period.

By having a single central rhythm generator for all the joints ofa single leg, the coordination between all motionswithin that leg isguaranteed. Furthermore, the use of a phase oscillator provides fora simple mechanism for contralateral coordination, accomplishedby simple bilateral coupling between the two legs, maintaininga strictly contralateral anti-phase relationship, between left andright legs.

3.4. Motion pattern generator

Each CPG is composed of six motion pattern generators drivenby the shared phase oscillator, addressing all the joints in a leg forthe DARwIn-OP and other robots with similar kinematical configu-ration. A single motion pattern generator produces the trajectoriesin real-time for each joint within a leg, and the final produced peri-odic motion is used as the reference angular position, input to thelow level PID control. The produced periodic trajectory by eachmo-tion pattern generator is the overall result from the employment ofseveral motion primitives, f .

In the proposed implementation, each motion pattern genera-tor is based on a set of non-linear dynamical equations, definingthe attractor dynamics. Joint position zj,i is generated according tothe current phase φi of the CPG,

zj,i = α(Oj,i − zj,i)+

f (zj,i, φi, φi). (2)

An offset attractor Oj,i specifies the offset attractor, for the finalgenerated rhythmic pattern, and α its time constant.

Subscript j defines themotion pattern generator of a single jointfrom DARwIn-OP’s legs: hip roll (hRoll), hip yaw (hYaw), hip pitch(hPitch), knee (kPitch), ankle roll (aRoll) and ankle pitch (aPitch);and subscript i defines the left or right leg CPG. A single motionprimitive is defined by a function f motion

j (zj,i, φi, φi), and the finalgenerated trajectory zj,i results from the sum of all motion prim-itives for that joint. Without any forcing terms fj, the system con-verges asymptotically towards the goalO, and no rhythmic activityexists. The system must then be subject to periodic influencesthrough the forcing terms and the phase oscillator output, produc-ing the final rhythmic trajectory.

A single forcing function fj(z, φi, φi) maps the current positionand the phase of the step cycle to a force which influences the sys-tem’s final output. Each forcing function is anchored into a spe-cific phase value from [−π, π ] rad, resulting in a rhythmic patterndriven by φi. The final generated trajectory z results from the sumof all forcing functions.

Fig. 2(b) demonstrates the output of the pattern generatorwhenemploying a forcing term f1 = 10φ sin (φ) for z1, and f2 = −10φφ

0.274 exp−

φ2

0.548

for z2. The final pattern from z3 is achieved by

employing the two forcing terms, f1 + f3, resulting in a more com-plex rhythmic pattern.

In terms of stability, the system is guaranteed to converge to theattractor O in the absence of forcing terms if an appropriate α ischosen (α > 0). Furthermore, the magnitudes of the forcing termsemployed are limited and bounded by design, thus the systemis BIBO (Bounded-Input, Bounded-Output) stable, producing asolution aroundO given that the rhythmic forcing terms are limitedin amplitude [4].

This system could easily be substituted by a second-ordersystem, like a linear spring-damper such as in forced velocityDMPs [3].

In this formulation, a single motion primitive is defined as a setof forcing functions assigned to the pattern generators among therequired joints. The set of forcing functions defines a rhythmicmo-tor behavior, coordinating all the recruitedDOFs, used as a buildingblock for the final motor behavior.Sinusoidal profile. Sinusoidal motions are useful for recreatingsymmetrical motions which repeat a maximum excursion one ormore times throughout the step cycle. A general sinusoidal profileis described by:

f motionj = −Aj,motionφi sin (φi + ψmotion) , (3)

with amplitude Amotion and phase shift ψmotion for joint j in leg i.

Page 7: Towards goal-directed biped locomotion: Combining CPGs and motion primitives

V. Matos, C.P. Santos / Robotics and Autonomous Systems 62 (2014) 1669–1690 1675

(a) Output from the phase oscillator in the rhythm generation layer.

(b) Output from the pattern generation layer.

Fig. 2. Demonstration of two distinct rhythmic patterns in z1 and z2 resulting from applying f1 and f2 , respectively, as well as the combination in z3 , resulting from f1 + f2 .

Bell-shaped profile. Bell-shaped motions are more appropriate todescribe motions which happen once a step cycle, with a definedduration within the step period. A general bell-shaped profile isdescribed as:

f motionj = −

Aj,motionφi(φi+ψmotion)

σ 2 exp−(φi+ψmotion)

2

2σ 2

, (4)

where Amotion and σ define the amplitude and width of the bellcurve, and ψmotion the phase shift.

Biped locomotion requires the samemotions to be produced forboth legs in alternate fashion, therefore, when a motion primitiveis defined, it is used for both legs. Furthermore, for simplifying thedesign of motion primitives for the ankle joints, and to simplifythe general walking behavior, it is assumed that the feet shouldbe maintained parallel to the ground during the whole step cycle.To accomplish parallel movements of the feet, symmetric motionprimitives from the hip pitch and ankle pitch are assigned to thejoint ankles.

Eachmotion pattern generator is assigned a set ofmotion prim-itives, which can be enabled or disabled through own parametermanipulation. Modulation of each motion primitive is dependenton the final desired locomotor behavior, rendering locomotion aproblem of modular motor programs.

3.5. Applied Motion Primitives

The proposed motion primitives for achieving basic goal-directed bipedal walking are herein presented in such an order,

that by sequentially adding them, one can easily parameterize toachieve a correct and stable walking behavior. From own famil-iarity with human walking, observations and kinematical descrip-tions[13], one can put together a set of coarse motion primitivesthat compose a basic locomotion, resorting only to sinusoidal andbell-shaped profile trajectories.

It has been verified that by using a minimum of four motionprimitives it is possible to achieve capable biped locomotion. Thesefour motion primitives will be described next, and are: the balanc-ing motion; the flexion motion; the compass motion and the turn-ing motion. Other motion primitives can be considered, either forexpanding the locomotor abilities, e.g. turning motion, pelvis rota-tion motion, or to add detail to the walk, e.g. yielding motion.

In bipedwalking typically a duty factor ofβ = 0.6 is performed,achieving two types of support during a step cycle: single and dou-ble support. During single support the robot propels the body for-ward using one leg, while the other swings forward to be placedin the ground. At this point both legs support the robot simultane-ously, describing a double support phase, transiting from one sin-gle support phase to the contralateral single support phase.

3.5.1. Balancing motionThe first motion primitive considered is the balancing motion

(Fig. 3(a)), one of the crucial motions for bipedal walking. As therobot steps alternately, it exhibits moments of single foot support,requiring the displacement of the body over the supporting footduring a step cycle, unloading the swinging foot and allowing toexecute the swing phase of the step, by lifting it from the ground

Page 8: Towards goal-directed biped locomotion: Combining CPGs and motion primitives

1676 V. Matos, C.P. Santos / Robotics and Autonomous Systems 62 (2014) 1669–1690

A B C

Fig. 3. 3 motion primitives. (a) Balancing motion; (b) Flexion motion; (c) Compass motion.

Fig. 4. Balancing motion is applied to the hip roll (hRoll) and ankle roll joints(aRoll), displacing in the frontal plane the weight between the left and right feet.The balancing motion presented: Abalancing = 11, OhRoll = −1.5, OaRoll = −1.5.

and transferring it to a more forward position. Failing to achieve acorrect displacement over the supporting foot at the correct timingfor the next swinging foot, will certainly lead to a fall.

The balancing motion addresses the displacement of the body,transferring the body in the frontal plane from one foot to theother. It acts on the hip roll (hRoll) and ankle roll (aRoll) joints asa sinusoidal trajectory that makes the robot oscillate laterally. Thismotion is defined as:

f balancinghRoll,i = −Abalancingφi sin (φi) , (5)

f balancingaRoll,i = −f balancinghRoll,i , (6)

where i specifies the left or right leg, φi is the phase of left or rightCPG, and parameter Abalancing specifies the amplitude of the lateraldisplacement motion, disabling the motion when set to 0.

The phase shift of the balancing motion is 0, which means thatwhen φL = 0 (left CPG) and φR = π (right CPG), the balancingmotion is at the maximum displacement, with the weight over theleft foot. When φL = π and φR = 0, the balancing motion is at themaximum displacement over the right foot. This phase differenceof π is enforced by the contralateral coupling.

This choice effectively anchors themiddle of the swing phase tobe defined at φi = 0, as the maximum excursion of the balancingmotion in either leg.

The motion of the ankle roll joint is symmetrical to the hiproll joint, enforcing the assumption that the foot should always beparallel to the ground.

Fig. 4(a) shows the final trajectory when applying the balancingmotion with Abalancing = 11 and joint offsets configured to OhRoll =

−1.5 and OaRoll = −1.5. A slight inward angling of the legs,specified by offset parameters Oi,hRoll, Oi,aRoll, reduces the requiredamount of lateral displacement [13].

3.5.2. Flexion motionFlexion motion is the second essential motion, and is meant

to achieve vertical clearance for the feet, effectively marking theswing phase of the step. After a correct displacement of the bodyweight through the employment of the balancing motion, theswinging foot is unloaded and the flexion motion changes leglength by actuating on the three pitch joints: hip, knee and an-kle (Fig. 3(b)). This motion is described at joint level as having abell shaped curve, resulting in a smooth profile for the trajectory offlexion. This is shown in Eq. (7) for hip, Eq. (8) for knee, and Eq. (9)for ankle.

f flexhPitch,i =Ahipφiφi

σ 2exp

−φ2i

2σ 2

(7)

f flexkPitch,i = −Akneeφiφi

σ 2exp

−φ2i

2σ 2

(8)

f flexaPitch,i = −f flexhPitch,i + f flexkPitch,i

. (9)

The amplitude of the flexion motion is specified by parameter Ahipfor the hip andAknee for the knee. Thismotion primitive in the ankleis the sum of the hip and knee flexion motions, imposing a parallelfeet to the ground at all times.

The flexion motion is defined with phase shift of 0 rad, just asthe balancing motion, centered at φi = 0. It specifies the swingphase of the right leg when φL = 0 and φR = π , and the swingphase of the left leg when φL = π and φR = 0.

Through the use of a bell-shaped profile, the joints perform a re-tractingmovement only during a specified time frame, defining theswing phase. In order to achieve an overall swing phase of about50% of the step cycle, the width of the flexion motion primitiveshould comprise the range

−π2 ,

π2

, set by σ =

π6 .

Fig. 5 demonstrates the final generated trajectorieswhen apply-ing the balancing motion to the roll joints and the flexion motionto all pitch joints.

3.5.3. Compass motionThe third essential motion is the compass motion, responsible

for producing the propulsion of the body during locomotion. Thismotionmoves the legs in the sagittal plane, alternatelymoving thecontralateral legs forward and backward (Fig. 3(c)). It generates theforward steps in coordination with all the other motions, resulting

Page 9: Towards goal-directed biped locomotion: Combining CPGs and motion primitives

V. Matos, C.P. Santos / Robotics and Autonomous Systems 62 (2014) 1669–1690 1677

Fig. 5. Flexion motion is applied to the hip pitch (hPitch), knee pitch (kPitch) andankle pitch joints (aPitch), shortening the leg to increase foot clearance. The flexionmotion presented: Ahip = 15, Aknee = 30, OhPitch = −25, OkPitch = 40 andOaPitch = 20.

in forward walking. This motion is described as sinusoidal profilesat the hip pitch and ankle pitch joints,

f compasshPitch,i = −Acompassφi sin

φi +

π

2

, (10)

f compassaPitch,i = −f compass

hPitch,i , (11)

with amplitude Acompass and π2 phase shift.

A phase shift of π2 places themaximum excursion of themotionat the beginning and end of each swing phase. This results in a coor-dination between the transfer of the swing leg, and the propulsionof the stance leg, with the balancing and flexion motions.

3.5.4. Turning motionAfter having the robot able to walk forward, it is easy to achieve

turning while walking. During the single support phase of the stepcycle, if the robot twists by its vertical axis, the placement of thenext stance foot will be pointing on the direction to turn. This turn-ing can be achieved by employing a sinusoidal profile on the hipyaw joints of the robot, coordinated with the previous presentedmotions.

A single sinusoidal motion primitive,

f turnhYaw,i = −Aturnφi sinφi +

π

2

, (12)

with a phase shift of π2 , acting on the robot’s yaw joints can

rotate the body by its vertical axis during the leg’s support phase,proportionally to the modulated amplitude Aturn. Having the samephase shift as the compass motion, effectively synchronizes theturning motion with the compass motion.

3.5.5. Knee yielding motionA characteristic of legged locomotion is the yield that occurs in

the knee joint when the leg starts the stance phase and the bodyweight is passed onto it. Asmentioned by Saunders [13] as the thirddeterminant of walking, this flexion happens when the center ofmass (COM) is passing its peak. Although shown to bemore energycostly to maintain a flat COM during human walking [76], it may

be beneficial in the used robotic platform to apply a small flexionon the knee joint during the stance phase, so the vertical trajectoryof the COM of the walking robot is flattened.

This motion is added to the knee and ankle joints and is de-scribed by a sinusoidal profile of amplitude Ayield withπ phase shiftmaking the flexion occurring at middle of stance phase:

f yieldkPitch,i = Ayieldφi sin (φi + π) (13)

f yieldkPitch,i = −2Ayieldφi sin (φi + π) (14)

f yieldaPitch,i = −f yieldhPitch,i. (15)

3.5.6. Pelvis rotation motionIn level human walking the pelvis rotates alternately. Saunders

et al. mention it as the first determinant of walking [13], flatteningthe vertical COM trajectory, as well as smoothing the inflectionswhen changing the vertical direction of the COM.

Whether or not this motion will reduce vertical displacementof the COM, or will contribute to improve performance and stabil-ity, it has the ability of increasing the step length by twisting thebody, placing the swinging foot further in front. This pelvic rota-tion is performed at the hip yaw joints, described as a sinusoidaltrajectory

f rotationhYaw,i = −Arotationφi sinφi +

π

2

, (16)

with amplitude Arotation and π2 phase shift.

A phase shift of π2 anchors the maximum excursion of the

rotation motion at the beginning and end of each swing phase, sothe rotation motion happens only when one leg is on the ground,coordinated with the compass motion.

3.5.7. Motion summaryFor the realization of goal-directed bipedal locomotion in flat

terrain, only four motion primitives are strictly required: balanc-ing motion, flexion motion, compass motion and turning motion.These four motion primitives can be considered the basic motorrepertoire for bipedal locomotion, upon other motion primitivescould be added. Other added motion primitives could be used toadd new features to the walk or fine tune the performance, andtoggling motion primitives can be used to alternate between loco-motor behaviors.

A summary of the proposed CPG and motions primitives ispresented:

φi = ω + k sin (φi − φo + π) , (17)

zhRoll,i = −α(zhRoll,i − OhRoll)+ f balancinghRoll , (18)

zaRoll,i = −α(zaRoll,i − OaRoll)+ f balancingaRoll , (19)

zhYaw,i = −α(zhYaw,i − OhYaw)+ f rotationhYaw + f turnhYaw, (20)

zhPitch,i = −α(zhPitch,i − OhPitch)+ f flexhPitch + f yieldhPitch + f compasshPitch , (21)

zkPitch,i = −α(zkPitch,i − OkPitch)+ f flexkPitch + f yieldkPitch, (22)

zaPitch,i = −α(zaPitch,i − OaPitch)+ f flexaPitch + f yieldaPitch + f compassaPitch . (23)

A correct tuning of parameters is necessary for achievingbipedal walking in the robot. This parametrization is performedby sequentially and incrementally tuning and adding each motionprimitive in sequence by trial-and-error, as detailed in the nextsection.

3.6. Other locomotor behaviors

The proposed system allows the achievement of other loco-motor behaviors in a scalable manner through the manipulation

Page 10: Towards goal-directed biped locomotion: Combining CPGs and motion primitives

1678 V. Matos, C.P. Santos / Robotics and Autonomous Systems 62 (2014) 1669–1690

of motion primitives. The method for addressing other locomotorbehaviors and gait modulation in the proposed framework is to:(1) perform parameter modulation of already defined motionprimitives; (2) toggling between primitives or defining new onesto fulfill the required locomotor ability.Parametermodulation.With parametermodulation, quantitativechanges are imposed in the already established motions, whichis quite useful for achieving a smooth continuous locomotor di-versity. For instance, smooth variation of forward velocity can beachieved by adjusting the amplitude of the compass motion. Themodulation of the same parameter, the amplitude of the compassmotion, if set to a negative value will result in backwards walking.Primitive selection. Providing new locomotor abilities for therobot canbe amatter of addingnewmotionprimitives and togglingbetween the available set of motion primitives, selecting the ap-propriate ones to achieve the desired locomotor task. For instance,achieving goal directedwalking is amatter of activating the correctprimitives, toggling the activity of the turning motion.

In order to achieve othermore complex behaviors, one could re-sort to mechanisms of developmental robotics, such as evolution-ary or learning algorithms.

4. Bipedal walking demonstrations

In this section it is demonstrated the adequacy of the system toproduce walking behaviors for different robots in simulation andthe deployment on a real robot. Videos can be seen in [77].

Initially are demonstrated the proceedings on how to tune themotion primitive’s parameters, and how to sequentially pursue abasic walk. Then the results from the walking robot are presented,accomplishing several locomotor behaviors, such as walking for-wards and backwards, turning and a more general application ofball following. After, a comparison of CPG walking and ZMP walk-ing in simulation is presented, and results compared in matters ofperformance and stability.

The robot used in the demonstrations is the DARwIn-OP byROBOTIS [78], a small open-platform humanoid with 20 degrees-of-freedom, using digital position controlled servos, measuring45.5 cm and weighting 2.9 kg. It has a built-in computer equippedwith 1.6 GHz Intel Atom Z530 (32 bit), 1 GB RAM and on-board4 GB flash SSD. The robot’s body is equipped with a 3-axis gyro,a 3-axis accelerometer and each foot is equipped with four forcesensing resistors (FSR) distributed through the four corners. TheDARwIn-OP humanoid presents a common configuration for thedegrees-of-freedom to other humanoid robots.

A simulatedmodel of the robot is used in theWebots, usingODEphysics simulator, to perform preliminary tests and validationsbefore transferring the solution to the real robot.

4.1. Motion primitive parametrization

A few simple steps are taken to find adequate amplitude param-eters for the motion primitives, following a sequential procedureby trial-and-error in a short number of tries.

The robot starts upright, stopped on its feet, with all motionprimitives disabled (amplitudes zeroed). First, joint offsets are cho-sen to find a correct posture for the robot. Usually for this typeof biped robots, legs are maintained flexed, in a posture that al-lows for feet placement at the onset of swing and onset of stance,without reaching singularities. Offsets for the hip, knee and anklepitch joints are assigned in a fashion to achieve this posture and apre-determined leg length. Table 1 presents the chosen offsets thatspecify the general posture of the robot. Legs are pointing inwardin the frontal plane by setting symmetrical offset values for the hipand ankle roll joints. Offsets for the hip, knee and ankle joints areassigned to achieve a flexed leg posture, with a slight forward bodytilt.

Table 1Tuning the DARwIn-OP.

Amplitude (°) Offset (°)

Abalancing 11 OhYaw 0Ahip 15 OhRoll 1.5Aknee 30 OhPitch −25Ayield 2 OkPitch 40Acompass [0, 13.7] OaRoll −1.5ω (rad s−1) 4.9 OaPitch 20

After achieving an acceptable body posture, the balancing mo-tion is parameterized by choosing an adequate amplitude thatresults in amovement transferring the COMover the two feet alter-nately. Having the correct alternate displacement of the COM, thestepping movements can be executed by choosing the amplitudesfor the flexing motion primitives. The generated trajectories fromthe application of balancing and flexion motions are presented inFig. 6, as well as the resulting foot vertical clearance achieved bythe robot’s feet. This achieved vertical clearance can be controlledby the amplitudes used in the motion, Ahip and Aknee. In this exam-ple amplitudes are set to Ahip = 15 and Aknee = 30. From the forcesensor readings in the feet it is possible to conclude that theweightis successfully supported alternately (bottom in Fig. 6).

Now, the forward progression resulting from the walk dependsonly on the step length, which is dependent on the compass mo-tion amplitude, Acompass. The greater the amplitude, the greater thestep length and therefore the achieved velocity. This motion ac-cepts a range of values for the amplitude, starting from deactiva-tion by setting Acompass = 0, to a upper limit value that the robotno longer can perform the walk without falling. In the current con-figuration using the previously defined offsets and motion’s am-plitudes (Table 1), the upper limit was found to be Acompass = 13.7when applying the previously chosen parameters.

An almost linear relationship between the compassmotion am-plitude and the achievedwalking velocitywas found on the currentconfiguration, as shown in Fig. 7. The robot was made to walk for-wardwith different Acompass values, with increments of 0.1 for eacheight steps, and the velocity achieved at each step was recorded.Fig. 7(a) presents the mean achieved velocity for all steps for agiven Acompass value, and Fig. 7(b) presents the performed steplength. In the bottom panels is possible to take a closer look atthe mean values and the standard deviation at the higher valuesof Acompass. As the robot approaches the upper limit of Acompass, themeasured velocity and step length present a greater variation, ev-idencing an increase in instability, just before falling for Acompass >13.7.

The robot would be able to navigate its environment (turning)if a controller changed the motion primitives’ parameters. It hasbeen shown that the forward walking velocity has a relationshipwith the compass motion amplitude. Here it is evidenced thatthe turning velocity of the robot also has a relationship with theturning motion amplitude.

A set of simulations are performed, where the robot walks withthe offsets and amplitudes from Table 1 with Acompass = 8, and aset of Aturn values: {0, 1, 2, 3, 4, 5, 6, 7}. Fig. 8 illustrate the pathstaken by the robot using these eight amplitude values. It demon-strates that there is a relationship between Aturn and the achievedangular velocity, and that there is an upper limit for the Aturn. In theright panels is observable the increase in instabilitywhen changingfrom Aturn = 6 to Aturn = 7, suggesting either that the chosen mo-tion primitives are not adequate for performing tighter curves, orthe value of Aturn is not adequate for the current CPG configuration,i.e. the chosen offsets and other motion primitives.

The mean angular velocities for twenty steps are presented inFig. 9, alongwith the standard deviation between steps. For Aturn >6 there is an increase on the variance of the achieved angularvelocity at each step, caused by a decrease in walking stability.

Page 11: Towards goal-directed biped locomotion: Combining CPGs and motion primitives

V. Matos, C.P. Santos / Robotics and Autonomous Systems 62 (2014) 1669–1690 1679

Fig. 6. Trajectories generated (solid blue), performed joint position (dashed green), the resulting foot height and ground reaction forces (GRF) for the left and right legs. Theflexion motion with Ahip = 15, Aknee = 30 achieves a ground clearance around 1.5 cm.

(a) Achieved velocity. (b) Performed step length.

Fig. 7. In the presented posture and parametrization, the achieved velocity and the performed step length can be approximated by a linear relationship with Acompass . Thevelocity is calculated for each performed step, and the mean is presented. In the bottom panels is observable the deviation from a linear relationship as the value of Acompassreaches the upper limit. It is evidence of the robot reaching instability.

In these demonstrations was shown that by controlling themo-tion primitive’s parameters, certain characteristics of biped walk-ing can be controlled. Themagnitude of lateral displacement of thebody is controlled by the Abalancing parameter, which in turn influ-ences the displacement of the COP in the frontal plane. Foot clear-ance during the swing phase depends on the leg flexion, which ismainly generated by the flexionmotion, parameterized by Ahip and

Aknee. The compass motion parameter, Acompass influences directlythe performed step length while walking, as well as walking direc-tion accordingly to sign

Acompass

. The angular velocity of the robot

is directly controlled by Aturn from the turning motion.Parametrization of the motion primitives is not critical, nor

necessarily detailed. The used motion primitives are coarse kine-matic descriptors, and speciallywhen combined, the final achieved

Page 12: Towards goal-directed biped locomotion: Combining CPGs and motion primitives

1680 V. Matos, C.P. Santos / Robotics and Autonomous Systems 62 (2014) 1669–1690

Fig. 8. Top–down view of world and the paths (black thick line) performed by therobot while walking with the previously defined configuration, using 8 values forAturn , {0, 1, 2, 3, 4, 5, 6, 7} (left panel), and isolated views for Aturn = 6 (top right)and Aturn = 7 (bottom right). The green thin line represents the path of the COM.The bottom right panel shows that the combination of Acompass = 8 and Aturn = 7 ison the limit of stability.

Fig. 9. Achieved angular velocity when applying different Aturn . The applicablerange values for Aturn is highly dependent on the chosen offsets, on the employedmotion primitives and on the chosen motion’s parameters. In the presented tests,applying Aturn > 6 exhibits a greater variation in the achieved angular velocity ateach step, and also an increase in instability.

Table 2Parameters for the real DARwIn-OP.

Amplitude (°) Offset (°)

Abalancing 10 OhYaw 0Ahip 20 OhRoll 1Aknee 40 OhPitch −30Ayield 2 OkPitch 40Arotation 10 OaRoll −1Acompass 9 OaPitch 20ω (rad s−1) 5.236 k 1

kinematic and dynamic behavior is difficult to anticipate. Follow-ing the described steps ensures that the resultingmovements fromthe overall motion primitives will produce a successful walk.

4.2. Real forward walking

As in simulations, the DARwIn-OP robot walks successfully inflat terrain after a short parametrization of motions. Parametersfor forward walking are presented in Table 2.

Fig. 10 depicts the forward walking behavior of the robotthrough snapshots from the video recording.

Recorded joint trajectories and resulting ground reaction forcesare presented in Fig. 11. The robot walks forward successfully.

However it should be noted that despite the strict symmetry in thegeneration of walking motions, the resulting walking behavior isnot entirely symmetric, as seen from the foot force readings, andthe performed joint trajectories (green solid lines).

The resultant foot force profiles are quite distinct between theleft and right leg. Despite the striking on the ground with the outside first, theweight distribution is clearly different throughout thestep cycle, and presents different duty factors, 0.8 for the left legand 0.72 for the right leg.

Joint trajectories are generally tracked by the servo’s low-levelPD controllers with a slight delay. However, in the hPitch joint atthe foot strike instant it is observed the highest deviation from thereference trajectory.

4.3. Turning

Achieving turning is just a matter of modulating the amplitudeof the turning motion, independently of what other motions therobot is performing. If the robot is stepping in place, the robot turnsin place. If it is walking forward, the robot turns while walking,performing a circular path.

The performed trajectories are alike the trajectories for forwardwalking, excepting the trajectories produced for the hYaw joints,due to the employed turningmotion primitive of Aturn = 5. The re-sulting ground reaction forces are also similar to the ones recordedduring forward walking.

4.4. Ball following

A simple ball following scenario was devised to demonstratethe ability of the system to produce goal-directed walking throughsimple parametermodulation (Fig. 12). This scenario serves only asa demonstration of the accomplishment of locomotor behaviors,and does not strive for an accurate tracking or a robust solution.The robot detects a colored ball using its built-in head camera,maintaining its gaze directed at the ball, using a simple PID controlloop to keep the detected ball in the center of the image. Goal-oriented walking is then controlled through the gaze of the robot,through simple parameter modulation:• Acompass is kept proportional to the vertical angle of the head,

controlling the forward velocity of the robot. If the gaze athorizon level, Acompass = 12, if its located down at the feet,Acompass = 0.

• Aturn is modulated in proportion to the lateral gaze, controllingturning velocity. If the robot looks π

2 to the left or to the right,Aturn = [−15, 15].

In Fig. 13 are depicted the joint motions during three timeintervals, where is possible to observe the role of the modulationof the motion primitives. The leftmost time interval is depicted insnapshots 1 and 2 (Fig. 12), when the robot walks right almost in a90° turn. It is observable in the hYaw joint that the turning motionhas increased its amplitude (Aturn) to perform the turn. A slightturn to the left happens depicted in snapshots 3 and 4, resultingin an opposite amplitude of Aturn, as presented in hYaw trajectory,in themiddle time interval. The rightmost time interval is depictedin snapshot 7, where the robot is close to the ball and therefore itreduces its walking velocity by reducing Acompass close to zero. Theinfluence of the compass motion primitive in the whole trajectoryis observable on the hPitch and aPitch joints.

4.5. Comparison with ZMP walking

From an engineering perspective it makes sense to directlycompare different solutions which aim to solve the same problemin the same application platform, as a means to choose the mostcost effective and the best performer. In the case of robot biped lo-comotion, the typical approach is to employ a ZMP based method

Page 13: Towards goal-directed biped locomotion: Combining CPGs and motion primitives

V. Matos, C.P. Santos / Robotics and Autonomous Systems 62 (2014) 1669–1690 1681

1 2 3 4 5 6

Fig. 10. Snapshots of video recording of the DARwIn-OP robot walking forward.

Left Right

Fig. 11. Reference trajectories for forward walking as output from the proposed CPG (dashed blue) and the performed joint motions (solid green). Ground reaction forcesas read from foot force sensors. Blue: front left; red: front right; yellow: back left; cyan: back right.

for the generation ofwalkingmotions. Both ZMP and CPG solutionsaim to solve the problem of generating the reference joint trajecto-ries to achieve biped locomotion, applicable to the generation of astable walk for a high-gain position controlled biped robot, allow-ing a direct comparison in terms of performance and cost of imple-mentation. Both solutions produce the position for the joint spacevector in real-time, open-loop implementations, with the only dif-ference being how these two implementations reach the value forthe joint space vector at a given time.

The ZMP approach is a popular and widely used method in hu-manoid robotics, with many contributions that furthered its studyand resulted in subsequent improved locomotion abilities [79],such as omnidirectionalwalking,walking on ramps, climbing stairsand obstacle negotiation.

In this comparison the implemented ZMP walking generator isbased on the work for a NAO robot [80]. This walking generator re-lies on (1) desired bodymotion, (2) a stepping planner, (3) ZMP cri-terion, (4) inverse kinematical model. Given a desired translationaland rotational velocity for the body, a planner computes the footplacement before each step,whichwill achieve the desiredmotion.The motion of the body is adjusted to satisfy the ZMP criterion onthe planned foot placements, using a dynamical representation ofa biped simplified model. The final step is the computation of the

joint positions, using the inverse kinematic model of the robot, toperform the foot steps and the correct ZMP body motion.

For the comparison, the tests were performed in the Webotssimulator and the same assumptions are made in regards to thetwo solutions: the ground is flat, the robot walks unperturbedand both solutions achieve very similar locomotion characteristics:Step period, 1.28 s; Duty factor,≈0.6; Sagittal step size,≈0.057m;Lateral foot placement, ≈0.032 m; Walk velocity, ≈0.085 m.s−1;Body height and posture, 0.29 m and 7° forward pitch.

To achieve these similar characteristics for both solutions, theCPG approachwas first parameterized to achieve the upper limit inwalk velocity. The footstep planner used in the ZMP approach wasparameterized in order to exhibit the same achieved locomotioncharacteristics as the CPG approach. The parameters used in theCPGs are presented in Table 3.Computational time. The first difference between the two ap-proaches is the computation time required for calculating a so-lution at each computation cycle of the robot. The difference inthe required time to compute the solutions, in a modern laptopequipped with an Intel Core [email protected] GHz and 6 GByte RAM,is tenfold, the ZMP approach takes 0.0233 ms (0.00702 ms std)while the CPG approach takes 0.0023 ms (0.00043 ms std). These

Page 14: Towards goal-directed biped locomotion: Combining CPGs and motion primitives

1682 V. Matos, C.P. Santos / Robotics and Autonomous Systems 62 (2014) 1669–1690

1 2 3

4 5 6

7 8 9

Fig. 12. Snapshots from ball following scenario. The robot’s gaze towards the balldirects the walking, through simple parameter modulation.

results are expected, as the CPG approach only requires the numer-ical integration of the used dynamical equations in the CPG, whilefor the ZMP approach it requires a sequence of procedures to reachthe desired body motions and foot placements, and the computa-tion of the inverse kinematics to find the respective joint positions.Energy consumption. It is assumed that energy consumption ofthe legs’ servo joints can be inferred by the produced mechanicalwork, as computed in Eq. (24). Both CPG and ZMP solutions walkstraight for 20 s. The produced torques and respective trajectorieswere recorded, relaying a mechanical work of 44.84 J for the ZMPsolution, and 49.8 J for the CPG solution.

W =

θ2

θ1

τ dθ. (24)

Produced trajectories. Similar walks are achieved for both solu-tions in terms of general characteristics, but are distinct in someaspects when analyzed carefully, such as the produced trajecto-ries. In Fig. 14 are presented all the outputs to the joints of ZMP(dashed green) and CPG (solid blue) solutions. It is possible to ob-serve that both solutions produce trajectories with similar coarsefeatures, but the ZMP solution produces more detailed trajectoriesand with sharper inflections.

One can infer that the differences in the trajectories betweenboth solutions will cause divergent walking performances, despiteproducing similar general walking characteristics.Ground reaction forces. A look at the ground reaction forces ofeach solution provides some insight on how the weight is dis-tributed throughout the walk and how it is transferred from singlesupport to double support. In Fig. 15 is presented the force sensorresistor readings (FSR) from the left (top) and right (bottom) feet,from the CPG (solid blue) and ZMP (dashed green) solutions.

As stated previously, the producedweight distribution through-out the walk is similar for both solutions, exhibiting a strict al-ternate foot placement and the same duty factor. Observing theinstant of foot strike in the right foot (bottom), it is clear that theCPG solution suffers higher impact forces than the ZMP solution.Otherwise both solutions exhibit generally the same ground reac-tion forces.

Table 3Parameters for straight walking.

Amplitude (°) Offset (°)

Abalancing 14 OhYaw 0Ahip 15 OhRoll 1.5Aknee 30 OhPitch −25Ayield 0 OkPitch 40Arotation 0 OaRoll −1.5Acompass 11 OaPitch 20ω (rad s−1) 4.9 k 1

The ZMP solution produces slightly smoother weight transfersbetween support phases than the CPG solution, as expected froma solution which uses ample knowledge of the robot kinematicalmodel.Foot placements and center of pressure. It should be given closerattention to the progression of the COP in order to perform a moredetailed analysis in the differences in the weight transfer betweensupport phase throughout the walk, and the respective walkingstability. The measured COP throughout the walk should depict acorrect representation of the performed ZMP, as is well explainedby Vukobratovic [81].

In Fig. 16 the foot support throughout the step cycles can beobserved, in the top for the CPG solution and bottom for the ZMPsolution. Comparing the feet placements (red for left foot, green forright foot) it is possible to observe that both walks are very similarin step size in the sagittal and frontal planes.

The described trajectories of the COM (Fig. 16(a)) and COP(Fig. 16(b)) for both walks are strikingly different however. Forthe ZMP solution, the COM follows a straight, direct progressionbetween support areas as planned through the ZMP planner. Incontrast, for the CPG solution, the resulting COM progression isnot directed, presenting wider curves and brief backward motionsduring double support phases. The lack of COMplanning in the CPGsolution, means that the COM progression over the support areasin detail is uncertain, but the resulting broad characteristics areexpected from the overall motion primitives employed.

The progression of the COP in the CPG solution is quite difficultto follow in the figure, due to the transition from single supportto double support phase and then back to single support. The fullweight of the robot starts at the center of the left foot, where it liesthroughout the entire single support of the left foot. At the time ofground strike the center of pressure shifts instantly from the leftfoot to the right front corner of the right foot. It then progressesthrough the front edge of the support defined by the two feet, re-turning to the left foot. The COP then progresses from the middleof the left foot to the back of the right foot, and then to the middleat the onset of the right single support phase.

In the ZMP solution the COP follows a close progression on theplanned points, taking a direct route between support areas, de-spite a small oscillation around the center of the end effector (smallcircle in the foot). This oscillation of the COP, back and forward be-tween the two feet, reveals a slight oscillation in the robot duringthe transition between single support and double support phases.

4.6. Remarks on bipedal walking

The proposed CPG solution for biped walking successfully pro-duces the required motion patterns for purposeful, goal-orientedbiped walking. The procedure to attain the manual parametriza-tion of the motion primitives has been demonstrated, revealing abrief and straightforward sequence of intuitive tuning steps. Eachmotion primitive produces an intuitivemotor action, rendering thetuning of the motion primitive’s amplitudes a matter of observingthe robot’swalking behavior, and adjusting the amplitudes accord-ingly.

The performance achieved by the robot using the proposed CPGsolution is similar to the performance achieved by a typical ZMPsolution.

Page 15: Towards goal-directed biped locomotion: Combining CPGs and motion primitives

V. Matos, C.P. Santos / Robotics and Autonomous Systems 62 (2014) 1669–1690 1683

Fig. 13. Three time intervals from the ball following scenario (Fig. 12) and the resulting joint trajectories and ground reaction forces. Leftmost: 1 and 2, the robot turns right.Middle: 3 and 4, the robot turns slightly to the left. Rightmost: 7, the robot walks forward towards the ball and reduces greatly the velocity.

The major difference in performance is observed during thedouble support phase of the step, with the CPG solution presentinggreater oscillations in the weight transfer on the support area. Thiseffect is the result of a lack of kinematical planning of the end effec-tor pose at the instants of the double support phase. The absenceof kinematical planning in the generatedmotions also reflects ontothe maximum attainable step length, with the ZMP solution beingable to perform larger steps, almost the double length of the CPGsolution.

Despite these slight differences in performance, the CPG solu-tion is capable of accomplishing almost all the locomotor behaviorsas the ZMP solution in flat terrain, except side stepping and choos-ing the position of feet placement to achieve precise walking.

The proposed solution is able to produce stable, goal-orientedwalkingwith real-timemodulation ofwalking, as shown in the ballfollowing demonstration. Head gaze towards the ball is sufficientformodulating the amplitude parameters of the significantmotionprimitives, resulting in a ball following behavior.

5. Phase regulation

Feedback pathways play an important role in the generationof legged locomotion. Sensory information originating from tactileinformation; from muscle position, velocity and strain; as well asother more complex senses like vestibular and vision; are used todynamically adapt the centrally generated pattern of locomotionto the requirements of the environment.

Step phase transition is a well discussed feedback in vertebratewalking, with many studies evidencing feedback mechanismswhich control the transition from swing-to-stance and stance-to-swing, dependent on afferent signals [82–85]. Direct evidence fromobservations in walking decerebrate and intact cats indicate thattwo types of sensory afferents are involved in eliciting transitionsbetween step phases, relating to ankle loading and hip extension.

For example, it has been observed that chronic spinal anddecerebrate cats adapt the rate of hind stepping to the speed of thetreadmill, by adjusting the duration of the stance phase throughholding or initiating the transition to swing [83]. Manipulation ofthe hip extension can hold the stepping action, by holding the hipin place, or elicit the transition from stance to swing by bringingthe hip backwards [82]. Also, swing-to-stance transitions can beinitiated by taking the leg and bringing it towards the front.

In robotics, some works have explored feedback mechanismswhich use the ideas from these observations to some extent.

Phase resetting mechanisms have been used quite frequentlyin CPG based controllers [86,68,69,55]. Phase resetting updates thenominal temporal state of the rhythmic generator based on someexternal sensory event, usually a foot strike. It aims to synchronizethe temporal reference with the external state through a specific,well timed event, usually the contact of the foot with the groundwhich indicates the initiation of the stance phase.

However the mechanisms at play in regulating the transition ofstep phases also address the transition from stance-to-swing, andmore importantly they regulate the duration of the step phases by

Page 16: Towards goal-directed biped locomotion: Combining CPGs and motion primitives

1684 V. Matos, C.P. Santos / Robotics and Autonomous Systems 62 (2014) 1669–1690

Fig. 14. Joint trajectories generated by the CPG (blue solid lines) and ZMP (dashedgreen lines) solutions. These periodic trajectories with a period of 1.28 s share thesame coarse features. However, the ZMP generated trajectories are more detailedbecause the approach uses the robot’s inverse kinematics model.

Fig. 15. Ground reaction forces (GRF) measured from force sensing resistors (FSR)in the robot’s feet. Blue solid lines are the values read from the CPG solution, andgreen dashed lines from the ZMP solution.

advancing and delaying the transitions. This kind of phase regula-tion has been explored for quadruped robots usually only relyingon foot load sensory information. It has been discussed as amethodfor achieving physical entrainment [7], interlimb coordination andto increase robustness to unperceived slopes, steps and lateral per-turbations [59,60].

5.1. Phase regulation mechanism

The proposal for the phase transition mechanisms is designedon the assumption that by delaying and advancing betweenphase transitions, it provides for adaptation and adequation ofthe executed motions to the robot state and environment. Thetransitions between swing and stance phases are regulated usingfour mechanisms, divided in two roles for each temporally definedtransition, swing to stance and stance to swing. For each transition

there are two mechanisms with the ability to delay or elicit theadvance to the next step phase, triggered when certain eventsoccur or certain conditions are met.

A phase transition is delayedwith the aim to hold the transitionto the next step phase, until it is observed a correct expression ofthe walk, or the fulfillment of certain events. If some expression ofthe walk is observed earlier than expected or certain events havealready occurred, an early phase transition can then be elicited,promoting for the execution of the next step phase.

5.1.1. Swing to stanceAt the transition from swing to stance, the leg comes from

executing the transfer of the foot towards the front, up to the pointwhen the foot is placed on the ground, at the same instant themotions of stance phase start to be performed. If the sequenceof these events is not followed, the phase transition mechanismshould regulate the performedmotions. In this sequence the easilyidentifiable event is the placement of the foot, which happens atthe same instant as the transition from swing to stance. Therefore,the foot placement event is used as an indicator for whether ornot the executed step phase matches the exhibited step phase,performed by the robot.

Two circumstances in the transition from swing to stance areconsidered, when the foot has touched the ground before swingphase has finished, andwhen the stance phase has already initiatedeven before the foot being securely placed and able to supportthe body. Herein it is assumed that a corrective action should takeplace accordingly to these two circumstances by applying delay oradvance mechanisms.

Advance. If the foot touches the ground before the end of theswing phase, an early and fast transition from swing tostance should be elicited.

Delay. Just before the initiation of the stance phase, if the foothas yet to touch the ground, the transition from swing tostance should be delayed.

The designed mechanisms need to detect the transition be-tween the step phases, and it should act accordingly with thedescribed adjustments in case sensory events are not occurringcorrectly.

Detecting the transition between step phases is a matter ofverifying the value of each CPG’s phase φi. The transition fromswing to stance happens around φi =

π2 . This value is used to

temporally activate the advance mechanism before the transition(Eq. (25)), and activate the delay mechanism at the boundaryregion between the two step phases (Eq. (26)).

ai,adv =

1, 0 ≤ φi <

π

20, otherwise

(25)

ai,del =

1, φi ≈

π

20, otherwise.

(26)

Themechanism, if activatedwithin the correct temporal region,is able to be triggered through the loading and unloading of thefeet. Feet force sensors are used to detect the loaded and unloadedstatus, returned by a Boolean function δi for the foot i and definedby a pre-determined threshold (Eq. (27)).

δi =

1, load is higher than threshold0, load is lower than threshold. (27)

Advance from swing to stance. Triggering of the advance mech-anism for the swing to stance transition happens when the footcomes in contact with the ground, δi = 1, before the transition tothe stance phase, ai,adv = 1, meaning the CPG is in swing phase,contrarily to the real robot. Eliciting an early and fast phase transi-tion is a matter of influencing the dynamic state of the i leg’s CPG:phase φi and the motion trajectories zj,i.

Page 17: Towards goal-directed biped locomotion: Combining CPGs and motion primitives

V. Matos, C.P. Santos / Robotics and Autonomous Systems 62 (2014) 1669–1690 1685

(a) Recorded COM progression. (b) Recorded COP progression.

Fig. 16. Feet placement sequence for CPG (top) and ZMP (bottom) solutions, as viewed from top to bottom. Robot walks forward in the x axis (left to right). Red rectanglesrepresent the placement of the left foot and green rectangles represent the placement of the right foot. Black lines represent the COM progression projected in ground plane,as viewed from the top, and the blue lines represent the COP throughout the walk. (For interpretation of the references to colour in this figure legend, the reader is referredto the web version of this article.)

The presentedmechanism in Eq. (28) advances the phase by in-creasing φi to a very high value, much higher than the value of thestepping frequencyω and the effects from the coupling term. Afterthe triggering of themechanism, the phase of the oscillator φi risesabruptly until it reaches the stance step phase (φi >

π2 ), resuming

the normal behavior dictated by ω and the coupling terms. Func-tion ai,adv deactivates the mechanism just after reaching stancephase.

It is unclear what should be the ideal behavior of the generatedmotionwhen a phase transition is elicited. Therefore it is proposedthat the generated motions should resume from the sametrajectories exhibited just before the transition was elicited. Thischoice is justified by the need tomaintain the joint positions at themoment the foot touches the ground, not allowing the trajectoriesto change abruptly by the sudden change in the phase φi. Toblock the change in zj,i during the transition, zj,i is set to 0 by themechanisms in Eq. (29), activated on the region before the stancephase (ai,adv) and triggered by the foot touching the ground (δi).

φi = ω + k sin (φi − φo + π)+ τadvai,advδi (28)

zj,i =−α

zj,i − Oj,i

+

fjzj,i, φi, φi

1 + τadvai,advδi

. (29)

By setting a very large value for τadv, it is ensured that the transitionon the phase from swing to stancewill happen in a very short time,and the trajectory will be brought to an halt by means of zj,i ≈ 0.

Similarly to the fast transition from swing to stance, thetriggering of the delay mechanism is carried out by the activationof themechanismwithin the range of the boundary between swingand stance, ai,del = 1, and the lack of foot contact with the ground,δi = 0. Changes in phase oscillator is presented in Eq. (30). Holdingthe transition is a matter of not allowing φi to change at its normalrate, which is achieved by setting φi ≈ 0 when the mechanismis triggered. The motion patterns are also stopped while themechanisms are delaying the transition. The resulting zj,i ≈ 0 fromhaving φi ≈ 0 will hold the trajectories at the positions just beforeas the transition from swing to stance had occurred.

φi =ω + k sin (φi − φo + π)

1 + τdelai,del (1 − δi). (30)

A large value of τdel easily achieves the desired effect of holding thetransition in terms of phase φi. The CPG resumes nominal behaviorafter the triggering of the delaying mechanism, as soon as the foottouches the ground.

5.1.2. Stance to swingThe transition from stance to swing marks the point when the

leg ends the execution of the stance phase, reaching the maximumleg extension, followed by the initiation of the swing phase bylifting the foot.

Again, the lifting of the foot is a good indicator of whether ornot the stance phase has finished, and the swing phase has beeninitiated, compared to the currently generated motions. Discrep-ancies between the executed motions and the requirements for aproper expression of a walk may result in problematic situations.For instance, initiating the swing phase, and the liftingmotion, of aloaded footmay leave the robot unsupported. It is assumed that de-lay and advance mechanisms for the step phase transition shouldaddress these situations and correct the discrepancies.Advance. If the foot is unloaded before the end of the stance phase,an early transition from stance to swing is elicited.Delay. At the limit of the transition between stance and swing, ifthe foot remains loaded, the transition should be delayed.

The detection of the transition from stance to swing is per-formed by verifying the value of φi, which is carried out by func-tions bi,adv and bi,del. These functions are used to activate theadvance and delay mechanisms at well defined temporal zones.The advance mechanism is activated in the later half of the stancephase, allowing for the mechanism to elicit an early fast transitioninto the swing phase (Eq. (31)). The delay mechanism is activatedby detecting the transition region between stance and swing of thecurrently executed phase φi (Eq. (31)).

bi,adv =

1, −π ≤ φi < −

π

20, otherwise

(31)

bi,del =

1, φi ≈ −

π

20, otherwise.

(32)

Within the activation zones of the step phase, which concernsthe transition from stance to swing, the mechanisms are able to betriggered by events regarding the readings from the feet sensors.These events are detected by function δi defined in Eq. (27), de-tecting the loading of the feet (δi = 1) and unloading of the feet(δi = 0).

Advance from stance to swing. A fast transition from stanceto swing is triggered when the foot is unloaded before reachingthe swing phase, enabled by ai,adv = 1 and triggered by δi = 0.Similarly to the advance from swing to stance, a fast transition isachieved bymanipulating the phase φi and themotion trajectories

Page 18: Towards goal-directed biped locomotion: Combining CPGs and motion primitives

1686 V. Matos, C.P. Santos / Robotics and Autonomous Systems 62 (2014) 1669–1690

Fig. 17. Left leg trajectories and phase regulation mechanism triggering during one step cycle. A transition was elicited from swing to stance due to early foot touchdown(A). When the load decreased under the threshold a transition from stance to swing is elicited (B). However, the foot was not fully unloaded before entering the swing phase,so the oscillator was delayed until it was below the force threshold (C).

zj,i dynamics. Increasing φi to a value much higher than ω + k sin(φi − φo + π) and stopping the motion generation by holdingzj,i ≈ 0, as given by:

φi = ω + k sin (φi − φo + π)+ τadvbi,adv (1 − δi) (33)

zj,i =−α

zj,i − Oj,i

+

fjzj,i, φi, φi

1 + τadvbi,adv (1 − δi)

. (34)

The phase of the oscillator rises abruptly after triggering, untiljust reaching the swing step phase,where the function bi,adv deacti-vates themechanism. A very large value for τadv is chosen, ensuringa fast transition on the phase, and a stop on the generatedmotions.

Delay transition from stance to swing. Just like the delayon the transition from swing to stance, the delay mechanism isenabled at the boundary region of the transition (bi,del = 1) andtriggered by a continued load of the foot (δi = 1). Themanipulationof the phase dynamics is presented in Eq. (35), delaying thetransition for the next step phase bymaking φi ≈ 0, for a large τdel.

φi =ω + k sin (φi − φo + π)

1 + τdelbi,delδi. (35)

The nominal behavior of the CPG is resumed after the unload ofthe foot is detected, releasing the delaying mechanism.

5.1.3. Phase regulation summaryIn summary, it is considered that transition advancing mech-

anism is enabled during the later half of the step phase, definingai,adv from swing to stance and bi,adv from stance to swing. Delay-ing mechanisms are enabled on the boundary region between twostepphases,whichdefines ai,del fromswing to stance and bi,del fromstance to swing. A phase transition mechanism is triggered if a de-termined loading or unloading condition is verified in the respec-tive leg i through the function δi.

The four mechanisms are implemented as term added to thephase oscillator Eq. (1) and motion pattern generators Eq. (2) for

all leg joints:

φi =ω + k sin (φi − φo + π)

1 + τdelai,del (1 − δi)+ bi,delδi

+ τadv

ai,advδi + bi,adv (1 − δi)

(36)

zj,i =−α

zj,i − Oj,i

+

fjzj,i, φi, φi

1 + τadv

ai,advδi + bi,adv (1 − δi)

(37)

where τadv and τdel are positive constants that adjust the strengthof delay and advance effects.

The objective of adding members in Eqs. (36) and (37) is toincrease or decrease the rate of change of the CPG phase φi andstop jointmotion zj,i during phase regulation.Making φ ≈ 0 delaysphase transition, while increasing φ above the nominal frequencyachieves an earlier transition. For stopping the joint motion, zj,i isset to ≈0.

This interplay, between phasic dependent feedback and trigger-ing conditions from physical exhibitions of the walking dynamics,is expected to adjust the nominal walking trajectories according tothe robot and environment needs.

5.2. Simulations with HOAP-2

Simulations are used to demonstrate the proposed phase regu-lation mechanisms work as designed and to compare the effects ofphase regulation in thewalk. Herein are presented the results fromsimulations in the Webots robotics simulator, using the model ofthe HOAP-2 humanoid robot. HOAP-2 is a small biped robot with48 cm, weighting 6.8 kg, with 28 degrees-of-freedom, presenting avery similar kinematical configuration as the DARwIn-OP.

Fig. 17 shows the phase regulation mechanism elicited at thedesigned conditions in a straight walk in flat ground. An early tran-sition from swing to stance is triggered at (A), after the foot touch-ing the ground earlier than expected. At this instance the phase ofthe CPG advances to the next step phase, the stance phase, and the

Page 19: Towards goal-directed biped locomotion: Combining CPGs and motion primitives

V. Matos, C.P. Santos / Robotics and Autonomous Systems 62 (2014) 1669–1690 1687

trajectories are held until the transition is complete, resuming fromthis point throughout the stance phase. At the end of the stancephase, noted by (B), the foot measures a sudden unload, whichtriggers an early transition from stance to swing. However thistransition is not completed because the foot remains loaded in thesubsequent instants, which is deemed a false positive on the trig-gering of the mechanism. At (C) the delay mechanism from stanceto swing is triggered due to the remaining load at the foot. Thephase of the CPG and the trajectories are held until the foot is un-loaded below the threshold, resuming after the swing step phase.

Several simulationswere performedwith the aim to test a rangeof values for the compass motion amplitude Acompass, ranging from1 to 16, affecting the nominal step length. In Fig. 18 is observablethe achieved step period, velocity and step length with (cross) andwithout (circle) the feedback for each value of applied Acompass. Theinclusion of phase regulation allowed to increase Acompass furtherthan 8 without the robot falling. Globally, the effective achievedvelocity was lower at the same amplitudes when the feedback wasactive (cross). This is due to the effect of the delay mechanism inthe transition from stance to swing. The step period is similar inboth situations. However forAcompass > 9 the period is reduced dueto the effect of elicited early transitions between swing and stance(cross). When phase regulation is active (cross), the achieved steplength is slightly smaller thanwhen its disabled (circle),mostly dueto the early transitions.

Simulations suggest that with phase regulation feedback thedesigner has more room in parametrization of walking motions. Itis not necessary to find the perfect parameters for slight variationsin environment and is possible to use a greater range of values.It was also verified an adaptation to slight environment changes,where nominal motions are adjusted and the robot is able to walkup and down modest slopes.

Simulations in up and down modest slopes have also been per-formed. The aimwas to ascertain if the application of phase regula-tion mechanisms enable any adaptation in the walk, which wouldenable it to cope with perturbations such as tilted ground. A rangeof slope inclinations was tested, from 0° to 4.5° upslopes and from0° to −3.4° in downslopes (see Fig. 19).

Without phase regulation the robot is not able to walk, either,up-slope or down-slope, falling in the very first steps.

5.3. DARwIn-OP experiments

As in simulations, the robot walks successfully in flat terrain af-ter a short parametrization of motions, and when phase regulationis active it adjust slightly the nominal gait. Walking slight slopedterrains (up: ≈4°, down: ≈2.5°) is not possible without the acti-vation of phase regulation, reinforcing the obtained results fromsimulations.

The robot walks a down-slope of ≈2.5° with the phase regu-lation activated until 36.8 s in the experiment. At this instant oftime, phase regulation is deactivated, just aboutwhen thenext steptakes place, the robot loses balance and falls (Fig. 20). Fig. 20 de-picts joint trajectories for the right leg, ground reaction forces fromthe right foot, right phase and triggered phase regulations. Onlyadvance transition from swing to stance is triggered at ≈35 s and≈36 s, when the foot touches early the ground because of the incli-nation. Clearly visible is the difference between the adjusted jointtrajectories when phase regulation is employed (t < 36.8 s) andthe nominal trajectories when phase regulation is not employed(t > 36.8 s).

These achieved adjustments changed the overall step period inup-slope walk from 1.20 to 1.04 s and also reduced the performedstep length from the nominal 0.0505 to 0.0424 m.

5.4. Remarks on phase regulation

In this section it is proposed phase regulation mechanismsusing foot load information for controlling the transition between

Fig. 18. A smaller velocity is achieved overall, when phase regulation is active(cross). However the inclusion of phase regulation feedback allows for greaterAcompass values, compared to when the feedback is not used (circle). The range ofusable values increased 100% for a successful walk with phase regulation.

the step phases, and investigated the potential improvements onbiped walking. Although not necessary for obtaining a stable walkin flat terrain, results have suggested that the application of theregulationmechanisms does introduce some level of adaptation tothe walk.

The inclusion of the phase regulationmechanismshas increasedthe range of admissible values for the amplitude parameters of cer-tain motion primitives, such as the compass motion. Besides theability to perform larger motions, the feedback mechanisms cor-rect out of range motions resulting from parameters with valuesgreater than it would be admissible.

Experiments have demonstrated that without the adaptation ofthe nominal walking motions produced by the proposed motionprimitives, the robot falls when walking up and down slopes. Theinclusion of the phase regulation mechanisms allows the robot towalk up slopes up to 4° andwalk downup to 2.5°, eliciting speciallythe transition from swing to stance upon earlier contact with theground.

The proposed phase regulation mechanisms requires, nonethe-less, a very careful choice of parameter values andmagnitude of theregulation effects, otherwise it the effect of themechanisms risk tohinder the walk. The region of activation on the rhythmic phasesignal controls for how long the mechanisms are listening to thesignals from sensory information, having an important role ofdefining a temporal window of the step which the feedback is ableto affect the walk. A careful choice of the load thresholds used foreach transition mechanism is also required, as an less adequatevalue can result in intermittent walking behavior. For instance,choosing a low load threshold for the transition delay from stancephase to swing phase may cease stepping, completely halting thewalking robot.

The robot was subject to other disturbances for purposes ofevaluating the role of the phase regulation feedback, such as smallpushes in the sagittal and frontal plane and stepping on unper-ceived small steps. However, the inclusion of the regulation mech-anisms was not fruitful, as the robot was not able to recover fromsuch disturbances.

6. Conclusion

In this paper it was proposed a CPG based solution for the gen-eration of biped locomotion for a small humanoid robot. In contrastwith the authors’ CPG solution [10,16] for a quadruped robot, the

Page 20: Towards goal-directed biped locomotion: Combining CPGs and motion primitives

1688 V. Matos, C.P. Santos / Robotics and Autonomous Systems 62 (2014) 1669–1690

(a) Up-slope results. (b) Down-slope results.

Fig. 19. Results from the simulations testing up and down-slope walking with different angles, in terms of step length, step period and achieved velocity. The simulationswith phase regulation allowed the robot to walk in steeper slopes.

Fig. 20. DARwIn-OP walking down a slope up until phase regulation is deactivated and falls. After deactivating phase regulation (t > 36.8) nominal trajectories are nolonger adjusted according the sensed ground reaction forces (GRF). Just about the next step (t = 37 s) no phase advance is elicited due to an early touchdown, making therobot lose balance and fall.

design of a CPG for a bipedal robot requires a different approach,as the sinusoidal patterns from the CPG are not appropriate forachieving biped walking. The CPG solution herein proposed ad-dresses this problem by tackling the generation of a temporal andspatial reference in two separate layers, allowing to accomplishmore complex motions, and to accomplish the required temporalcoordination for a walk.

An initial repertoire of motion primitives is proposed as a start-ing point in the locomotor abilities of the robot, presented as aset of simple motions which are able to produce goal-orientedwalking. The main idea is that the motion primitives can be com-bined, sequenced and scaled, depending on the desired locomotorbehavior. Despite the simple representation of the motion primi-tives and the possible final motor patterns, the approach has been

demonstrated to be applicable to goal-oriented locomotion in aball following scenario, and in more complex scenarios which alsorequired the simultaneous execution of other tasks.

The idea of having motion primitives which can be general-ized, scaled and modulated depending on the desired locomotorbehavior has been demonstrated to be practical, but within a lim-ited scope. For instance, one would may think that by increasingthe amplitude of the stepping motion, the robot would produceenough vertical clearance to step on stairs, generalizing in thisfashion the ability of walking forward, to the ability of climbingstairs. In this case, the robot is indeed capable of clearing the stairs’height by increasing the flexionmotion, but the act of climbing thestairs requires careful displacement of the body’s weight, which isnot considered in flat forward walking.

Page 21: Towards goal-directed biped locomotion: Combining CPGs and motion primitives

V. Matos, C.P. Santos / Robotics and Autonomous Systems 62 (2014) 1669–1690 1689

Performing all biped locomotor behaviors is not possible solelyby generalizing the basic motor repertoire here proposed. To per-form other locomotor behaviors, such as stair climbing or walk-ing on slopes, it is required the improvement and expansion of themotion primitives repertoire, as initially intended when the ap-proach was proposed. The aim is having a robot performing a basicwalk, facilitating the task of policy exploration methods such asrecent reinforcement learning methods, PoWER [73] and PI2 [75].The question is: to what extent can thesemethods explore the pol-icy space through interactionwith the environment and learn new,and very distinct motor behaviors? This question has been prelim-inarily addressed by Teixeira et al. [74], with the goal of improv-ing the robot’s walking velocity by adding DMPs on the compassmotion primitive, and using PoWER to explore the DMP policy, re-warding the trials with greater performed velocity.

The phase regulation mechanism is proposed with the goal ofexploring feedback mechanisms which influence and adapt thecentrally generated motor patterns, with the aim to reject dis-turbances while walking. Phase regulation and phase resettingare popular feedback mechanisms in CPG based solutions, addingrobustness to the walking behaviors. Simulations of simple pla-nar bipeds have employed phase resetting, providing robustnessagainst small pushes, increase in mass and small slopes [69,54]. Inreal biped robots it has increased the robustness against limitedexternal forces pushing on the robot and adapted the walk for dif-ferent friction surfaces [86].

The experimental results obtained with the employment of theproposed phase regulation feedback indicate an adaptation of thewalking behavior, the regulation of the temporal reference andshaping of the final motor pattern. This adaptation allowed therobot to tackle slight unperceived perturbations in terrain inclina-tion, preventing the tumble of the robot when walking in up anddown slopes.

It is unclear, however, if it should be expected to have a broaderscope on the abilities of disturbance rejection by employing thephase regulation mechanisms, or if the obtained robustness islimited by the nature of the high gain position control of the robot,or other characteristics of the platform, such as the big flat feet.

References

[1] G. Schöner, M. Dose, C. Engels, Dynamics of behavior: Theory and applicationsfor autonomous robot architectures, Robot. Auton. Syst. 16 (1995) 213–245.Moving the Frontiers between Robotics and Biology.

[2] S. Schaal, S. Kotosaka, D. Sternad, Nonlinear dynamical systems as movementprimitives, in: Humanoids2000, First IEEE-RAS International Conference onHumanoid Robots, 2000.

[3] A. Ijspeert, J. Nakanishi, S. Schaal, Movement imitation with nonlineardynamical systems in humanoid robots, in: Robotics and Automation,2002. Proceedings. ICRA ’02. IEEE International Conference on, vol. 2002,pp. 1398–1403. http://dx.doi.org/10.1109/ROBOT.2002.1014739.

[4] A.J. Ijspeert, J. Nakanishi, H. Hoffmann, P. Pastor, S. Schaal, Dynamicalmovement primitives: Learning attractor models for motor behaviors, NeuralComput. 25 (2012) 328–373.

[5] S. Degallier, L. Righetti, A.J. Ijspeert, Hand placement during quadrupedlocomotion in a humanoid robot: A dynamical system approach, in: 2007IEEE/RSJ International Conference on Intelligent Robots and Systems, October29–November 2, 2007, Sheraton Hotel and Marina, San Diego, California, USA,2007, pp. 2047–2052.

[6] J. Silva, V. Matos, C.P. Santos, Timed trajectory generation for a toy-likewheeled robot, in: IECON 2010—36th Annual Conference on IEEE IndustrialElectronics Society, 2010, pp. 1645 –1650. http://dx.doi.org/10.1109/IECON.2010.5676132.

[7] L. Righetti, A.J. Ijspeert, Pattern generators with sensory feedback for thecontrol of quadruped locomotion, in: IEEE International Conference onRobotics and Automation, 2008. ICRA 2008, 2008, pp. 819–824.

[8] L. Castro, C.P. Santos, M. Oliveira, A.J. Ijspeert, Postural control on a quadrupedrobot using lateral tilt: A dynamical system approach, in: EUROS, in: SpringerTracts in Advanced Robotics, vol.44, Springer, 2008, pp. 205–214.

[9] C.P. Santos, M. Oliveira, A.M.A.C. Rocha, L. Costa, Head motion stabilizationduring quadruped robot locomotion: Combining dynamical systems and agenetic algorithm, in: 2009 IEEE International Conference on Robotics andAutomation, ICRA 2009, Kobe, Japan, May 12–17, 2009, 2009, pp. 2294–2299.

[10] V. Matos, C.P Santos, C. Pinto, A brainstem-like modulation approach forgait transition in a quadruped robot, in: Intelligent Robots and Systems,2009. IROS 2009. IEEE/RSJ International Conference on, 2009, pp. 2665–2670.http://dx.doi.org/10.1109/IROS.2009.5354318.

[11] S. Degallier, C.P Santos, L. Righetti, A.J Ijspeert, Movement generationusing dynamical systems: a humanoid robot performing a drumming task,in: Humanoids, IEEE, 2006, pp. 512–517. URL: http://dblp.uni-trier.de/db/conf/humanoids/humanoids2006.html#DegallierS.

[12] M.F. Miguel Oliveira, Cristina P. Santos, Simulated visually-guided paw place-ment during quadruped locomotion, in: IECON09 35th Annual Conference ofthe IEEE Industrial Electronics Society, 2009, pp. 2366 – 2372.

[13] Saunders, V.T. Inman, H.D. Eberhart, The major determinants in normal andpathological gait, J. Bone. Joint. Surg. Am. 35 (1953) 543–558.

[14] P. McSharry, G. Clifford, L. Tarassenko, L. Smith, A dynamical model forgenerating synthetic electrocardiogram signals, IEEE Trans. Biomed. Eng. 50(2003) 289–294.

[15] J. Nakanishi, J. Morimoto, G. Endo, G. Cheng, S. Schaal, M. Kawato, Learningfrom demonstration and adaptation of biped locomotion, Robotics andAutonomous Systems 47 (2004) 79–91.

[16] C.P. Santos, V. Matos, Gait transition and modulation in a quadruped robot: Abrainstem-like modulation approach, Robotics and Autonomous Systems 59(2011) 620–634.

[17] V. Matos, C.P. Santos, Central pattern generators with phase regulation for thecontrol of humanoid locomotion, Business Innovation Center Osaka, Japan.

[18] M. Habib, Bioinspiration and Robotics: Walking and Climbing Robots, I-TechEducation and Publishing, 2007.

[19] E. Bizzi, V. Cheung, A. d’Avella, P. Saltiel, M. Tresch, Combining modules formovement, Brain Res. Rev. 57 (2008) 125–133.

[20] Y. Arshavsky, T. Deliagina, G. Orlovsky, Pattern generation, Current Opinion inNeurobiology 7 (1997) 781–789.

[21] T.G. Brown, The intrinsic factors in the act of progression in the mammal,Proc. R. Soc. Lon. Ser. B 84 (1911) 308–319. Containing Papers of a BiologicalCharacter.

[22] E. Marder, D. Bucher, D.J. Schulz, A.L. Taylor, Invertebrate central patterngeneration moves along, Current Bio. 15 (2005) R685–R699.

[23] G.N. Orlovskii, T.G. Deliagina, S. Grillner, Neuronal control of locomotion: frommollusc to man, Oxford University Press, 1999, URL: http://www.worldcat.org/oclc/40800064.

[24] O. Kiehn, Locomotor circuits in themammalian spinal cord, Ann. Rev. Neurosci.29 (2006) 279–306.

[25] M.R. Dimitrijevic, Y. Gerasimenko, M.M. Pinter, Evidence for a spinal centralpattern generator in humans, Ann. New York Acad. Sci. 860 (1998) 360–376.

[26] J. Duysens, H. Van de Crommert, Neural control of locomotion; the centralpattern generator from cats to humans, Gait Posture 7 (1998) 131–141.

[27] S. Grillner, P. Wallén, K. Saitoh, A. Kozlov, B. Robertson, Neural bases of goal-directed locomotion in vertebrates—an overview, Brain Res. Rev. 57 (2008)2–12. Networks in Motion.

[28] M. Lafreniere-Roula, D.A. McCrea, Deletions of rhythmic motoneuron activityduring fictive locomotion and scratch provide clues to the organization of themammalian central pattern generator, J. Neurophysiol. 94 (2005) 1120–1132.

[29] D.A. McCrea, I.A. Rybak, Organization of mammalian locomotor rhythm andpattern generation, Brain Res. Rev. 57 (2008) 134–146.

[30] S. Rossignol, R. Dubuc, J.-P. Gossard, Dynamic sensorimotor interactions inlocomotion, Physiol. Rev. 86 (2006) 89–154.

[31] K.G. Pearson, Proprioceptive regulation of locomotion, Curr. Opin. Neurobiol.5 (1995) 786–791.

[32] D.A. McCrea, Spinal circuitry of sensorimotor control of locomotion, J. Physiol.533 (2001) 41–50.

[33] A.J. Ijspeert, Central pattern generators for locomotion control in animals androbots: A review, Neural Netw. 21 (2008) 642–653.

[34] S. Aoi, H. Sasaki, K. Tsuchiya, A multilegged modular robot that meanders:Investigation of turningmaneuvers using its inherent dynamic characteristics,SIAM J. App. Dyn. Syst. 6 (2007) 348–377.

[35] P. Arena, L. Fortuna, M. Frasca, G. Sicurella, An adaptive, self-organizingdynamical system for hierarchical control of bio-inspired locomotion, IEEETrans. Syst., Man Cybern. B: 34 (2004) 1823–1837.

[36] S. Inagaki, H. Yuasa, T. Arai, CPG model for autonomous decentralizedmulti-legged robot system—generation and transition of oscillation patternsand dynamics of oscillators, Robotics and Autonomous Systems 44 (2003)171–179. Best papers presented at IAS-7.

[37] S. Inagaki, H. Yuasa, T. Suzuki, T. Arai, Wave CPG model for autonomousdecentralized multi-legged robot: Gait generation and walking speed control,Robotics and Autonomous Systems 54 (2006) 118–126. Intelligent Au-tonomous Systems 8th Conference on Intelligent Autonomous Systems, IAS-8.

[38] V.A. Makarov, E. Del Río, M. G. Bedia, M. G. Velarde, W. Ebeling, Centralpattern generator incorporating the actuator dynamics for a hexapod robot, in:Proceedings of World Academy of Science Engineering and Technology, 2006,pp. 19–24.

[39] P. Estévez, J.C. Grieco, W. Medina-meléndez, G. Fernández-Lółpez, Gaitsynthesis in legged robot locomotion using a CPG-based model, 2007.

[40] P. Manoonpong, F. Pasemann, F. Wörgötter, Sensor-driven neural controlfor omnidirectional locomotion and versatile reactive behaviors of walkingmachines, Robot. Auton. Syst. 56 (2008) 265–288.

[41] M.A. Lewis, L.S. Simo, Elegant stepping: A model of visually triggered gaitadaptation, Connect. Sci. 11 (1999) 331–344.

[42] T. Komatsu, M. Usui, Dynamic walking and running of a bipedal robot usinghybrid central pattern generator method, in: Mechatronics and Automation,2005 IEEE International Conference, vol.2,2005, pp. 987–992.

[43] S. Hyon, J. Morimoto, G. Cheng, Hierarchicalmotor learning and synthesis withpassivity-based controller and phase oscillator, in: Robotics and Automation,2008. ICRA 2008. IEEE International Conference on, 2008, pp. 2705–2710.

Page 22: Towards goal-directed biped locomotion: Combining CPGs and motion primitives

1690 V. Matos, C.P. Santos / Robotics and Autonomous Systems 62 (2014) 1669–1690

[44] J. Morimoto, G. Endo, J. Nakanishi, G. Cheng, A biologically inspired bipedlocomotion strategy for humanoid robots: Modulation of sinusoidal patternsby a coupled oscillator model, IEEE Trans. Robot. 24 (2008) 185–191.

[45] S. Hyon, J. Morimoto, M. Kawato, From compliant balancing to dynamicwalking on humanoid robot: Integration of CNS and CPG, in: Roboticsand Automation (ICRA), 2010 IEEE International Conference on, 2010,pp. 1084–1085.

[46] S. Behnke, Online trajectory generation for omnidirectional biped walking,in: Robotics and Automation, 2006. ICRA 2006. Proceedings 2006 IEEEInternational Conference on, 2006, pp. 1597–1603.

[47] G. Taga, Y. Yamaguchi, H. Shimizu, Self-organized control of bipedallocomotion by neural oscillators in unpredictable environment, Biol. Cybern.65 (1991) 147–159.

[48] G. Taga, A model of the neuro-musculo-skeletal system for anticipatoryadjustment of human locomotion during obstacle avoidance, Biol. Cybern. 78(1998) 9–17.

[49] M. Sato, Y. Nakamura, S. Ishii, Reinforcement learning for biped locomotion,in: J.R. Dorronsoro (Ed.), ICANN, in: Lecture Notes in Computer Science,vol. 2415, Springer, 2002, pp. 777–782.

[50] S. Aoi, K. Tsuchiya, Stability analysis of a simple walking model driven by anoscillator with a phase reset using sensory feedback, IEEE Trans. Robot. 22(2006) 391–397.

[51] G. Endo, J. Morimoto, J. Nakanishi, G. Cheng, An empirical exploration of aneural oscillator for biped locomotion control, in: Proceedings of the 2004IEEE International Conference on Robotics and Automation, ICRA 2004, April26–May 1, 2004, New Orleans, LA, USA, 2004, pp. 3036–3042.

[52] K. Tsujita, K. Tsuchiya, A. Onat, Adaptive gait pattern control of a quadrupedlocomotion robot, in: Intelligent Robots and Systems, 2001. Proceedings. 2001IEEE/RSJ International Conference on, vol. 4, 2001, pp. 2318–2325, vol. 4.

[53] S. Aoi, K. Tsuchiya, Locomotion control of a biped robot using nonlinearoscillators, Auton. Robots 19 (2005) 219–232.

[54] S. Aoi, N. Ogihara, T. Funato, Y. Sugimoto, K. Tsuchiya, Evaluating functionalroles of phase resetting in generation of adaptive human bipedal walkingwitha physiologically basedmodel of the spinal pattern generator, Biol. Cybern. 102(2010) 373–387.

[55] S. Aoi, S. Fujiki, T. Yamashita, T. Kohda, K. Senda, K. Tsuchiya, Generationof adaptive splitbelt treadmill walking by a biped robot using nonlinearoscillators with phase resetting, in: Intelligent Robots and Systems (IROS),2011 IEEE/RSJ International Conference on, 2011, pp. 2274–2279.

[56] M. Ogino, Y. Katoh, M. Aono, M. Asada, K. Hosoda, Reinforcement learningof humanoid rhythmic walking parameters based on visual information, Adv.Robot. 18 (2004) 677–697.

[57] S. Aoi, K. Tsuchiya, Adaptive behavior in turning of an oscillator-driven bipedrobot, Auton. Robots 23 (2007) 37–57.

[58] S. Aoi, T. Yamashita, A. Ichikawa, K. Tsuchiya, Hysteresis in gait transitioninduced by changing waist joint stiffness of a quadruped robot driven bynonlinear oscillators with phase resetting, in: Intelligent Robots and Systems(IROS), 2010 IEEE/RSJ International Conference on, 2010, pp. 1915–1920.

[59] C. Maufroy, T. Nishikawa, H. Kimura, Stable dynamic walking of a quadrupedrobot kotetsu; using phase modulations based on leg loading/unloading, in:Robotics and Automation (ICRA), 2010 IEEE International Conference on, 2010,pp. 5225–5230.

[60] C. Maufroy, H. Kimura, K. Takase, Integration of posture and rhythmic motioncontrols in quadrupedal dynamic walking using phase modulations based onleg loading/unloading, Auton. Robots 28 (2010) 331–353.

[61] J.Morimoto, S. Hyon, C. Atkeson, G. Cheng, Low-dimensional feature extractionfor humanoid locomotion using kernel dimension reduction, in: Roboticsand Automation, 2008. ICRA 2008. IEEE International Conference on, 2008,pp. 2711–2716.

[62] N. Sugimoto, J. Morimoto, Phase-dependent trajectory optimization for CPG-based bipedwalking using path integral reinforcement learning, in: HumanoidRobots (Humanoids), 2011 11th IEEE-RAS International Conference on, 2011,pp. 255–260.

[63] H. Feng, R. Wang, Construction of central pattern generator for quadrupedlocomotion control, in: Advanced Intelligent Mechatronics, 2008. AIM 2008.IEEE/ASME International Conference on, 2008, pp. 979–984. http://dx.doi.org/10.1109/AIM.2008.4601794.

[64] G. Brambilla, J. Buchli, A. Ijspeert, Adaptive four legged locomotion controlbased on nonlinear dynamical systems, in: S. Nolfi, G. Baldassarre, R. Cal-abretta, J. Hallam, D.Marocco, J.-A.Meyer, O.Miglino, D. Parisi (Eds.), FromAn-imals to Animats 9, in: Lecture Notes in Computer Science, vol. 4095, Springer,Berlin, Heidelberg, 2006, pp. 138–149.

[65] J. Buchli, A.J. Ijspeert, Self-organized adaptive legged locomotion in acompliant quadruped robot, Auton. Robots 25 (2008) 331–347.

[66] T. Kano, K. Nagasawa, D. Owaki, A. Tero, A. Ishiguro, A CPG-based decentralizedcontrol of a quadruped robot inspired by true slime mold, in: IntelligentRobots and Systems (IROS), 2010 IEEE/RSJ International Conference on, 2010,pp. 4928–4933.

[67] D. Owaki, T. Kano, K. Nagasawa, A. Tero, A. Ishiguro, Simple robot suggestsphysical interlimb communication is essential for quadrupedwalking, J. R. Soc.Interface (2012).

[68] L. Righetti, A. Ijspeert, Programmable central pattern generators: an ap-plication to biped locomotion control, in: Robotics and Automation, 2006.ICRA 2006. Proceedings 2006 IEEE International Conference on, 2006,pp. 1585–1590.

[69] S. Aoi, N. Ogihara, Y. Sugimoto, K. Tsuchiya, Simulating adaptive humanbipedal locomotion based on phase resetting using foot-contact information,Adv. Robo. 22 (2008) 1697–1713.

[70] M. Oliveira, C.P. Santos, L. Costa, M. Ferreira, Multi-objective parameter CPGoptimization for gait generation of a quadruped robot considering behavioraldiversity, in: 2011 IEEE/RSJ International Conference on Intelligent Robots andSystems, IROS 2011, 2011, pp. 2286–2291.

[71] T. Flash, B. Hochner,Motor primitives in vertebrates and invertebrates, CurrentOpinion in Neurobiology 15 (2005) 660–666. Motor sytems/Neurobiology ofbehaviour.

[72] S. Schaal, N. Schweighofer, Computational motor control in humans androbots, Curr. Opin. 15 (2005) 675–682.

[73] J. Kober, J. Peters, Policy search for motor primitives in robotics, Mach. Learn.84 (2011) 171–203.

[74] C. Teixeira, L. Costa, C. Santos, Self-improving biped locomotion, in: 11thInternational Conference of Numerical Analysis and Applied Mathematics(ICNAAM).

[75] E. Theodorou, J. Buchli, S. Schaal, Reinforcement learning ofmotor skills in highdimensions: A path integral approach, in: Robotics and Automation (ICRA),2010 IEEE International Conference on, 2010, pp. 2397–2403. http://dx.doi.org/10.1109/ROBOT.2010.5509336.

[76] A.D. Kuo, The six determinants of gait and the inverted pendulum analogy: Adynamic walking perspective, Human Movement Science 26 (2007) 617–656.European Workshop on Movement Science 2007 European Workshop onMovement Science 2007.

[77] Videos, 2013, http://asbg.dei.uminho.pt/user/1.[78] I. Ha, Y. Tamura, H. Asama, J. Han, D. Hong, Development of open humanoid

platform DARwIn-OP, in: SICE Annual Conference (SICE), 2011 Proceedings of,2011, pp. 2178–2181.

[79] M. Zhao, L. Sentis, A three dimensional foot placement planner for locomotionin very rough terrains, in: IEEE-RAS International Conference on HumanoidRobots, Business Innovation Center Osaka, Japan.

[80] C. Graf, T. Röfer, A closed-loop 3D-LIPM gait for the robocup standard platformleague humanoid, in: E. Pagello, C. Zhou, S. Behnke, E. Menegatti, T. Röfer,P. Stone (Eds.), Proceedings of the FifthWorkshop onHumanoid Soccer Robotsin Conjunctionwith the 2010 IEEE-RAS International Conference onHumanoidRobots, Nashville, TN, USA.

[81] M. Vukobratovic, B. Borovac, Zero-moment point - thirty five years of its life,I. J. Humanoid Robotics 1 (2004) 157–173.

[82] D.A. McVea, J.M. Donelan, A. Tachibana, K.G. Pearson, A role for hip position ininitiating the swing-to-stance transition in walking cats, J. Neurophysiology94 (2005) 3497–3508.

[83] K.G. Pearson, Generating thewalking gait: role of sensory feedback, in: S. Mori,D.G. Stuart, M. Wiesendanger (Eds.), Brain Mechanisms for the Integration ofPosture and Movement, in: Progress in Brain Research, 143, Elsevier, 2004,pp. 123–129.

[84] Ö. Ekeberg, K. Pearson, Computer simulation of stepping in the hind legs of thecat: An examination ofmechanisms regulating the stance-to-swing transition,J. Neurophysiology 94 (2005) 4256–4268.

[85] M.Y.C. Pang, J.F. Yang, The initiation of the swing phase in human infantstepping: importance of hip position and leg loading, J. Physiology 528 (2000)389–404.

[86] J. Nakanishi, J. Morimoto, G. Endo, G. Cheng, S. Schaal, M. Kawato, A frameworkfor learning biped locomotion with dynamic movement primitives, in: IEEE-RAS/RSJ International Conference on Humanoid Robots (Humanoids 2004),ieee, 2004.

Vitor Matos is a Ph.D. student in Robotics at Universityof Minho. He got an M.S. degree in Industrial Electronicsfrom University of Minho in 2009. His current researchincludes robot locomotion and dynamical system theoryfor achieving generation of motions and behaviors.

Cristina P. Santos Doctor Cristina received the B.S. degreein Industrial Electronics, the M.Sc. degree in Robotics, andthe Ph.D. degree in Robotics in the field of Nonlinear dy-namics, all fromUniversity of Minho, Guimaraes, Portugal,in 1994, 1998 and 2003 respectively. The Ph.D. degree wasdone also in collaboration with the CNRS-CNRC Marseille,France.

Since 1996 she is working as an Auxiliar Professorat the University of Minho, Industrial Electronics Depart-ment, Portugal.

Her research focuses on the extension of the use ofthe dynamical systems theory to the achievement of more complex behavior forrobots; generate locomotion for multi-dof robots; achieve cooperativity amongmulti-robots and learning.

Recently her research interest focuses on methods to characterize human mo-tion, and designing robots and robot controllers for rehabilitation of patients suf-fering from motor problems.

She has authored/co-authored more than 40 research papers, published in in-ternational journals or presented at international conferences.