Biped Gait Controller for Large Speed Variations ......i is the self-inhibition modulated by an...

8
Biped Gait Controller for Large Speed Variations, Combining Reflexes and a Central Pattern Generator in a Neuromuscular Model Nicolas Van der Noot 1,2 , Auke J. Ijspeert 2 and Renaud Ronsse 1 Abstract— Controllers based on neuromuscular models hold the promise of energy-efficient and human-like walkers. However, most of them rely on optimizations or cumbersome hand-tuning to find controller parameters which, in turn, are usually working for a specific gait or forward speed only. Consequently, designing neuromuscular controllers for a large variety of gaits is usually challenging and highly sensitive. In this contribution, we propose a neuromuscular controller combining reflexes and a central pattern generator able to generate gaits across a large range of speeds, within a single optimization. Applying this controller to the model of COMAN, a 95 cm tall humanoid robot, we were able to get energy-efficient gaits ranging from 0.4 m/s to 0.9 m/s. This covers normal human walking speeds once scaled to the robot height. In the proposed controller, the robot speed could be continuously commanded within this range by changing three high-level parameters as linear functions of the target speed. This allowed large speed transitions with no additional tuning. By combining reflexes and a central pattern generator, this approach can also predict when the next strike will occur and modulate the step length to step over a hole. I. INTRODUCTION Dynamic walking gaits with a robot can be achieved using many approaches. Among them, those relying on the zero- moment point (ZMP), an indicator of dynamic stability [1], are likely the most famous ones. Using this framework, humanoid robots like ASIMO [2] or HRP-2 [3] perform robust gaits. However, controllers based on these approaches usually present some limitations like energy-inefficiency, high computational cost and non human-like features like continuous knee bending [4]-[5]. In parallel, some models consider the human gait as a limit cycle and focus on global stability. This leads to the concept of limit cycle walking [6]. Among these, the neuro- musculoskeletal model developed by Geyer and Herr [7] relies on reflex-based controlled muscles generating torques at the joint level. Interestingly, this approach can generate robust and energy-efficient gaits similar to the human ones in terms of muscles activities, joint angles and torques. The reflex rules developed in [7] require an optimization phase (or manual tuning) of the many open parameters This work was supported by the Belgian F.R.S.-FNRS (Aspirant #16744574 awarded to NVdN, Cr´ edit aux Chercheurs #6809010 awarded to RR) and by the European Community’s Seventh Framework Programme under Grant 611832 (WALK-MAN) and Grant 611626 (SYMBITRON). 1 N. Van der Noot and R. Ronsse are with the Center for Research in Energy and Mechatronics, Institute of Mechanics, Materials and Civil Engineering, Universit´ e catholique de Louvain, B-1348 Louvain-la-Neuve, Belgium. 2 N. Van der Noot and A. J. Ijspeert are with The Biorobotics Laboratory, School of Engineering, Institute of Bioengineering, ´ Ecole Polytechnique ed´ erale de Lausanne, CH-1015 Lausanne, Switzerland. governing the contribution of each local reflex. This approach makes the optimized parameters set working for a single gait speed. When the robot is walking, it is thus not easy to change its speed or its stride length. A first strategy to overcome this limitation was developed by Song and Geyer [8]. It consists in optimizing different gaits and then modulating some key control parameters to change the forward speed during the walking gait. However, this approach can only cope with small speed changes after a first optimization. High speed variations require then run- ning extra optimizations to find new parameter modulations between pre-optimized walking gaits. Another approach developed by Dzeladini et al. [9] in- troduces a central pattern generator (CPG), a neural circuit capable of producing rhythmic neural activity patterns with- out receiving rhythmic inputs [10]. The CPG is used as a feed-back predictor of the reflex rules from [7]. This CPG can thus be used as a feed-forward component, reducing the complexity in the speed control strategy of [8]. Nevertheless, this approach requires to capture (with third order spline interpolations) the reflex rules outputs that were optimized for one precise walking speed with no feed-forward con- tribution. Consequently, the gait is not optimal (regarding energy-efficiency) for the whole range of speeds. On top of that, this leads to a speed transition range being smaller than the one from [8]. In this contribution, we also propose a controller mixing reflexes and a CPG to control the leg muscles. Our CPG is designed as a six-neurons network of Matsuoka oscilla- tors [11]-[12] sending feed-forward signals to the proximal muscles controlling the hip. These bio-inspired artificial oscillators, capturing the mutual inhibition between half- centers located in the spinal chord, are widely used to model the firing rate of mutually inhibiting neurons, in both the upper and the lower extremities [13]. The controller can then be optimized for a large range of walking speeds, co-optimizing reflexes and CPG parameters at the same time within a single optimization. We applied this approach to a simulation of the COMAN, a humanoid robot presented in section II. Then, in section III, we detail the controller itself and the associated optimization process, while section IV presents the strategy used to adapt the robot speed during the walking gait. Section V analyses the resulting gaits, comparing them to the ones obtained with the original model of [7]. Results about speed transitions, strike prediction and holes stepping techniques are also presented. Finally, we conclude the paper in section VI.

Transcript of Biped Gait Controller for Large Speed Variations ......i is the self-inhibition modulated by an...

Page 1: Biped Gait Controller for Large Speed Variations ......i is the self-inhibition modulated by an adaptation constant b j, u i the external excitation and t is a time constant. The connexion

Biped Gait Controller for Large Speed Variations, Combining Reflexesand a Central Pattern Generator in a Neuromuscular Model

Nicolas Van der Noot1,2, Auke J. Ijspeert2 and Renaud Ronsse1

Abstract— Controllers based on neuromuscular modelshold the promise of energy-efficient and human-like walkers.However, most of them rely on optimizations or cumbersomehand-tuning to find controller parameters which, in turn, areusually working for a specific gait or forward speed only.Consequently, designing neuromuscular controllers for a largevariety of gaits is usually challenging and highly sensitive.In this contribution, we propose a neuromuscular controllercombining reflexes and a central pattern generator able togenerate gaits across a large range of speeds, within a singleoptimization. Applying this controller to the model of COMAN,a 95 cm tall humanoid robot, we were able to get energy-efficientgaits ranging from 0.4 m/s to 0.9 m/s. This covers normal humanwalking speeds once scaled to the robot height. In the proposedcontroller, the robot speed could be continuously commandedwithin this range by changing three high-level parameters aslinear functions of the target speed. This allowed large speedtransitions with no additional tuning. By combining reflexesand a central pattern generator, this approach can also predictwhen the next strike will occur and modulate the step lengthto step over a hole.

I. INTRODUCTION

Dynamic walking gaits with a robot can be achieved usingmany approaches. Among them, those relying on the zero-moment point (ZMP), an indicator of dynamic stability [1],are likely the most famous ones. Using this framework,humanoid robots like ASIMO [2] or HRP-2 [3] performrobust gaits. However, controllers based on these approachesusually present some limitations like energy-inefficiency,high computational cost and non human-like features likecontinuous knee bending [4]-[5].

In parallel, some models consider the human gait as alimit cycle and focus on global stability. This leads to theconcept of limit cycle walking [6]. Among these, the neuro-musculoskeletal model developed by Geyer and Herr [7]relies on reflex-based controlled muscles generating torquesat the joint level. Interestingly, this approach can generaterobust and energy-efficient gaits similar to the human onesin terms of muscles activities, joint angles and torques.

The reflex rules developed in [7] require an optimizationphase (or manual tuning) of the many open parameters

This work was supported by the Belgian F.R.S.-FNRS (Aspirant#16744574 awarded to NVdN, Credit aux Chercheurs #6809010 awardedto RR) and by the European Community’s Seventh Framework Programmeunder Grant 611832 (WALK-MAN) and Grant 611626 (SYMBITRON).

1N. Van der Noot and R. Ronsse are with the Center for Researchin Energy and Mechatronics, Institute of Mechanics, Materials and CivilEngineering, Universite catholique de Louvain, B-1348 Louvain-la-Neuve,Belgium.

2N. Van der Noot and A. J. Ijspeert are with The Biorobotics Laboratory,School of Engineering, Institute of Bioengineering, Ecole PolytechniqueFederale de Lausanne, CH-1015 Lausanne, Switzerland.

governing the contribution of each local reflex. This approachmakes the optimized parameters set working for a singlegait speed. When the robot is walking, it is thus not easy tochange its speed or its stride length.

A first strategy to overcome this limitation was developedby Song and Geyer [8]. It consists in optimizing differentgaits and then modulating some key control parameters tochange the forward speed during the walking gait. However,this approach can only cope with small speed changes aftera first optimization. High speed variations require then run-ning extra optimizations to find new parameter modulationsbetween pre-optimized walking gaits.

Another approach developed by Dzeladini et al. [9] in-troduces a central pattern generator (CPG), a neural circuitcapable of producing rhythmic neural activity patterns with-out receiving rhythmic inputs [10]. The CPG is used as afeed-back predictor of the reflex rules from [7]. This CPGcan thus be used as a feed-forward component, reducing thecomplexity in the speed control strategy of [8]. Nevertheless,this approach requires to capture (with third order splineinterpolations) the reflex rules outputs that were optimizedfor one precise walking speed with no feed-forward con-tribution. Consequently, the gait is not optimal (regardingenergy-efficiency) for the whole range of speeds. On top ofthat, this leads to a speed transition range being smaller thanthe one from [8].

In this contribution, we also propose a controller mixingreflexes and a CPG to control the leg muscles. Our CPGis designed as a six-neurons network of Matsuoka oscilla-tors [11]-[12] sending feed-forward signals to the proximalmuscles controlling the hip. These bio-inspired artificialoscillators, capturing the mutual inhibition between half-centers located in the spinal chord, are widely used to modelthe firing rate of mutually inhibiting neurons, in both theupper and the lower extremities [13].

The controller can then be optimized for a large range ofwalking speeds, co-optimizing reflexes and CPG parametersat the same time within a single optimization. We appliedthis approach to a simulation of the COMAN, a humanoidrobot presented in section II. Then, in section III, we detailthe controller itself and the associated optimization process,while section IV presents the strategy used to adapt therobot speed during the walking gait. Section V analyses theresulting gaits, comparing them to the ones obtained with theoriginal model of [7]. Results about speed transitions, strikeprediction and holes stepping techniques are also presented.Finally, we conclude the paper in section VI.

Page 2: Biped Gait Controller for Large Speed Variations ......i is the self-inhibition modulated by an adaptation constant b j, u i the external excitation and t is a time constant. The connexion

II. COMAN PLATFORM

We use a simulation model of the 95 cm tall COmpliantHuMANoid platform (COMAN). This robot, developed bythe Italian Institute of Technology (IIT), has 23 actuateddegrees of freedom (DOFs), most of them being equippedwith series elastic actuators [14]. Each joint is equippedwith position, velocity and torque sensors. The robot alsofeatures an inertial measurement unit (IMU) and 6-DOF feetforce and torque sensors measuring ground reactions. Ourcontroller only uses sensory inputs available on this robot.Further information can be found in [15] and [16].

The COMAN (visible in Fig. 1b) is modelled in asimulation environment called Robotran [17]. Its actuatorsimplementation is described in [15]. In this contribution, weartificially constrain the waist to stay in the world sagittalplane to study 2D walking gaits only.

III. CONTROLLER DESIGN

The purpose of our controller is to produce position ortorque references for each of the 23 DOFs of the robot. Webriefly describe the control rules for the main of them beforefocussing on the three sagittal joints of each leg.

A. Joints control

The COMAN has eleven DOFs for the upper body:three in the torso and four per arm. All torso joints arecontrolled to track zero position. For arms control, we usesimilar rules as the ones presented in [18]. In short, constantposition references are tracked for the elbow sagittal DOF(0.25 rad), the shoulder lateral DOF (0.09 rad) and theshoulder transverse DOF (0.14 rad). Finally, the shouldersagittal DOF φ s

s tracks a linear function of the hip anglesdifference as φ s

s = 0.3 ∗ (θ Rh − θ L

h )− 0.3 where θ Rh and θ L

hare the right and left sagittal hip positions (θ R

h and θ lh are

inverted for the left shoulder), all expressed in radians. Suchcontrol leads to balancing arm trajectories reducing the totalenergy consumption during the walking gait [18].

Regarding the lower body, each leg has three sagittalDOFs, two lateral DOFs and one transverse DOF. All legnon-sagittal joints track zero position, to comply with the2D walking. Finally, the three sagittal joints, being the mainfocus of this contribution, rely on the neuromuscular modelcontroller described in sections III-B to III-E. The initialposture of the robot constraints all joints to track zeroposition which corresponds to an upright posture, exceptthe sagittal ankle tracking a position κ to be optimized (seeTable I).

B. Musculoskeletal model

We focus here on the leg sagittal DOFs which are the mostimportant joints propelling the body forward. The modelproposed by Geyer and Herr [7] actuates each leg with sevenHill-type muscles, capturing the contribution of the mainmuscle groups of the human leg. For our COMAN model,these virtual muscles are depicted in red in Fig. 1b, producingtorque references in a way similar to [7]. The key idea is thefollowing: muscles react by contracting and apply forces on

N1ηA

ηB

ηC

ηD ηD

ηF ηFηG ηG

ηE ηE

N4

N2

N3

N5

N6

u1

u2

u3

u4

u5

u6

βA

βB

βC

βB

βA

βC

(a) Oscillators network (b) COMAN stimulations

Fig. 1: The six-neurons oscillators network sends stimulations to theproximal muscles, while the distal ones are only driven by reflexes. Thehip flexor muscles (HFL) are stimulated by both the CPG and the reflexes.

the body. Therefore, the equivalent torques applied by theseven muscles on the leg sagittal joints are computed fromthe segments free-body diagrams. These torque referencesare sent to a PI controller feeding the actuators (implementedlike in [15]). Their state computation is fully described in [7]and [19]. The main muscle properties are scaled to fit the sizeand the weight of the COMAN, using dynamic scaling [20].

Each muscle is then controlled by its activation A(t),capturing the neural signal provided by motoneurons. Thissignal is related to a neural input S(t), the muscle stimulation,using a first-order low-pass filter capturing the excitation-contraction coupling [19]. Controlling the muscle model thusreduces to designing control rules for the stimulations S(t)driving the seven muscle groups of each leg.

C. Central pattern generator design

Central pattern generators (CPGs) are neural circuits capa-ble of producing rhythmic patterns of neural activity withoutreceiving rhythmic inputs [10]. They present attractive prop-erties like distributed control, redundancies handling, andlocomotion modulation using simple control signals [10].While locomotor CPGs have been identified in many ver-tebrates, their recruitment for human locomotion is still amatter open to discussion [21]. Yet, computational modelsshow that CPGs could play a major role in human loco-motion. For instance, Taga et al. [22] demonstrated bipedallocomotion ability to adapt to a changing environment usingCPG modulations. The work of Paul et al. [23] proposed aneuro-musculo-skeletal model studying the effects of spinalcord injury on locomotor abilities, again with a CPG ascentral element.

In this contribution, a CPG structure is used to senddescending feed-forward signals to proximal muscles, i.e.muscles driving the hip joint. This is coherent with theproximo-distal gradient hypothesis postulating that CPGsmostly drive the proximal muscles while the distal onesshould be driven by reflexes [9]. Indeed, distal muscles are

Page 3: Biped Gait Controller for Large Speed Variations ......i is the self-inhibition modulated by an adaptation constant b j, u i the external excitation and t is a time constant. The connexion

more impacted by external perturbations like ground interac-tions [24]. The three proximal muscle groups controlled bythe CPG are the hip flexors (HFL), the gluteus muscle group(GLU) and the biarticular hamstring muscle group (HAM),presented in Fig. 1b.

The firing rate xi of each neuron Ni is computed accordingto Eq. (1) where vi is the self-inhibition modulated by anadaptation constant β j, ui the external excitation and τ is atime constant. The connexion strengths ηk tune the mutualinhibitions. The [•]+ function takes the positive part of itsargument (it saturates to zero when the argument is negative)and thus captures the fact that the activation of a given neurondecreases when another is active (mutual inhibition). Fig. 1adepicts the Matsuoka network with six neurons Ni that isused to drive these virtual muscles, along with the parametersβ j, ui and ηk.

xi =1τ(−xi −β j vi −

3

∑1

ηk [xl ]++ui) (1)

The self-inhibition computation is captured by Eq. (2)where γ j is a constant multiplying τ . The index i correspondsto the neuron index, while the indexes k and l in Eq. (1) arereplaced according to Fig. 1a. Index j equals A for neuronsN1 and N4, B for N2 and N5 and C for N3 and N6. Theserules are fully developed in Appendix A.

vi =1

γ j τ(−vi +[xi]

+) (2)

This network obeys a mirror symmetry due to the symme-try of the right and left leg. This symmetry between neuronsN1, N2, N3 and neurons N4, N5, N6 can be observed in themutual inhibition connexions strength ηk in Fig. 1a and alsoin the full equations development provided in Appendix A.

Neurons N1, N2, N4 and N5 form a fully-connected net-work where each neuron fires alternatively over the cycle.These neurons will stimulate the HAM and GLU muscles ofeach leg. Neurons N3 and N6 receive inputs from them butdo not interfere on this first fully-connected network. In thisway, their respective own parameters β j, γ j and ηk providemore flexibility to stimulate the HFL muscles.

Similarly to [23], this CPG can also be modulated bythe interactions between the robot body and its environment.This is done via short excitations modulations at foot strike.The input excitations ui of the neurons first consist in a tonicexcitation equal to u. For simplicity, this tonic contributionis kept equal to 1. Modulations of the oscillators output willrather be governed by external gains (see Eq. (5)). Someterms are further added to the excitation component in orderto achieve synchronization between the oscillators and thewalking gait. In particular, the firing rate x1 is expected toswitch from a negative to a positive value at the moment ofright foot strike. Similarly, x4 is expected to become positiveat left foot strike.

This results in Eq. (3). The function [•]− takes the absolutevalue of its argument if it is negative, and saturates tozero otherwise. On top of that, the function [•]SR keeps its

argument intact during the right leg supporting phase, whilesaturating it to zero otherwise (similar for the left leg with[•]SL). Then, [•]Str,R always saturates its argument to zero,except after the right foot strike if the firing rate x1 is stillnegative. In this case, it keeps its argument intact as longas x1 is negative (similar for [•]Str,L with the left leg andx4). Finally, the excitation ui of all neurons is forced to zerowhen x1 becomes positive before right strike or when x4becomes positive before left strike, again in order to achievethe desired synchronization.

u1 = u− [x1]+SL +[x1]

−Str,R u4 = u− [x4]

+SR +[x4]

−Str,L

u2 = u− [x2]+SL − [x2]

+Str,L u5 = u− [x5]

+SR − [x5]

+Str,R

u3 = u− [x3]+SL u6 = u− [x6]

+SR

(3)

The terms −[•]+SR/SL are used to make each neuron firingrate synchronizing with the appropriate leg. In steady-state,this term is thus always zero. The terms ±[•]∓Str,R/L are usedwhen the oscillators are too slow. Then, a burst is providedto the late neurons while others are partially inhibited. Onthe contrary, if the oscillators are faster than requested,all excitations are forced to zero so that all firing rateswill slowly converge to zero. Again, in steady-state, thecontribution of these synchronization terms is very limited.These mechanisms achieve the synchronization between thedifferent neurons. Interestingly, these synchronization mech-anisms make the oscillators able to predict when the nextstrike will happen. Some associated results are presented insection V-D. Walk initiation is simply achieved by sending anexcitation of 1 to two neurons (N1, N3 or N4, N6) while theother excitations are set to zero. After 0.2 s, all excitationsare activated, as previously explained.

Finally, the oscillators produce four outputs yi, taken asthe difference between the positive part of the firing ratesxi of two adjacent neurons, see Eq. (4). This arrangementis designed to feed the appropriate signals to the differentmuscles during the different walk phases (e.g. high stimu-lations to the HFL muscles during early swing to flex thecorresponding hip), see Eq. (5).

y1 = [x1]+− [x2]

+ y3 = [x4]+− [x5]

+

y2 = [x3]+− [x2]

+ y4 = [x6]+− [x5]

+(4)

D. Muscle stimulations

Muscles stimulations are computed as combinations ofCPG output signals yi, reflex rules and prestimulations S0.This combination is presented in Fig. 1b. The stimulationsare all bounded between 0.01 and 1. All the reflex rulesare adapted from [7]. However, using oscillators to feed theproximal muscles allows to drastically reduce the number ofreflex rules.

The stimulations of the three proximal muscle groupsHFL, GLU and HAM, respectively SHFL,R/L, SGLU,R/L andSHAM,R/L for the right/left leg are linear combinations of theCPG output signals yi positive part, see Eq. (5). kHFL, kGLU ,kHAM,1 and kHAM,2 are four gains presented in Appendix C.

Page 4: Biped Gait Controller for Large Speed Variations ......i is the self-inhibition modulated by an adaptation constant b j, u i the external excitation and t is a time constant. The connexion

SHFL,R = kHFL [y4]+ SHFL,L = kHFL [y2]+

SGLU,R = kGLU [y1]+ SGLU,L = kGLU [y3]+

SHAM,R = kHAM,1 [y1]+ + kHAM,2 [y3]+

SHAM,L = kHAM,1 [y3]+ + kHAM,2 [y1]+

(5)

On top of that, the HFL muscles receive an extra stimu-lation Sext

HFL coming from [7] to help maintaining the trunkto a desired reference position θre f (in radians):

SextHFL = ξ1

Fz

w(θre f −θt −ξ2 θt) (6)

where θre f , ξ1 and ξ2 are three parameters to be optimized,θt is the trunk absolute angle, θt its derivative, w the wholerobot weight and Fz the vertical force under the foot of thecorresponding leg. This extra stimulation is a reflex similarto a PD controller stabilizing an inverted pendulum.

Two muscle groups only receive a constant prestimula-tion S0: the gastrocnemius (GAS) and the tibialis anterior(TA). S0 is put to 0.01 (the minimal stimulation). Finally,the vasti muscles (VAS) and the soleus muscles (SOL)receive only the prestimulation during swing, while receivingpositive force feed-back reflexes during stance [7]:

SVAS = S0,VAS + GVAS (FVAS/FVAS,max)

SSOL = S0 + GSOL (FSOL/FSOL,max)(7)

where GVAS and GSOL are two parameters to be optimized,FVAS/FVAS,max and FSOL/FSOL,max are the normalized forcesproduced by these two muscles and S0,VAS is the prestimula-tion of the VAS muscle, which is optimized and can exceed0.01. Finally, SVAS is set to S0,VAS when the correspondingleg is the trailing leg during the double support phase or ifthe corresponding knee ankle φk exceeds an over-extensionthreshold φo f f (to be optimized) while φk is positive (see [7]).This prevents knee over-extension.

E. Optimization of the gait controller

We use a particle swarm optimization (PSO) algorithmto optimize the open parameters [25]. These parameters arelisted in Appendix B, Table I, along with their bounds. Alloptimization runs simulate a 60 s walking gait. To encouragesolutions with enough foot clearance with the ground, obsta-cles are added below the swing foot during optimization.These bumps are trapezoidal shapes placed next to the footin contact with the ground. Their height linearly increaseswith the simulation time from 0 cm to 3 cm. The objectivefunction used to evaluate each set of parameters is stagedin the sense that different objectives are sorted by order ofrelevance, such that the next objective is taken into accountonly when the previous one is fulfilled.

The first stage requires the robot to walk without fallingduring the 60 s simulation time, the fitness being proportionalto the walking time. When this objective is reached, the speedis later optimized to match a target speed. The correspondingobjective function is given in Eq. (8), where f is the objectivefunction, x the parameter to be constrained (the speed here),x∗ is the target parameter and α , β are two weight param-eters. This output is then bounded between 0 and α . When

the robot speed is in a range of 0.05m/s around the targetspeed, the last fitness stage is triggered. There, we minimizethe metabolic energy consumption in muscle contraction perunit distance walked [26] and the oscillators prediction error,summing their corresponding objective functions. Indeed, agood oscillator phase prediction is potentially relevant todevelop other mechanisms requiring gait synchronization,see section V-D. In both cases, we also use Eq. (8) wherex now represents the metabolic energy consumption per unitdistance walked or the time error between the oscillator strikeprediction and the actual one. In both cases, the target x∗ isequal to zero, since the objective is to minimize both theenergy consumption and the prediction error.

f = α e−β (x−x∗)2(8)

IV. SPEED ADAPTATION

In this section, the controller is further extended with theobjective to optimize several gaits (corresponding to a rangeof different speeds) within a single optimization. This willallow the modulation of speed when the robot is walking.This speed modulation is mainly performed by adapting twofeatures of the CPG: frequency and amplitude. Indeed, fasterwalking speeds usually correspond to faster walking frequen-cies and longer step lengths [27]. Moreover, faster speedsresult in larger trunk tilt, as identified in [8]. Consequently,the trunk angle reference θre f acting on the HFL muscles alsoneeds to be adapted as a function of the desired speed, θre fincreasing for faster gaits. The oscillators frequency is tunedwith the time constant τ , decreasing with higher speeds. Tomodify the oscillators outputs amplitude, we adapt the gainskHFL, kGLU , kHAM,1 and kHAM,2, using different adaptationlaws for each of them. Indeed, an increase in speed doesnot necessary result in an uniform scaling of the musclesstimulations. In this case, it is less trivial to predict howthese parameters will evolve with the robot speed.

The evolutions of these three types of parameters is studiedin section V-A. It appears that they can be approximated bylinear functions of the target speed, according to the rulesdescribed in Appendix C, which are used to extend our con-troller to speed adaptation. So, the strategy is the following.The optimization process always targets an arbitrary speed of0.6 m/s for initiation. After four steps, the speed parametersare updated for a new target speed according to the rulesdescribed in Appendix C. Each set of optimized parametersis then tested for a large range of different speeds, and theobjective function is set as the average of each trial. In thisway, we co-optimize all parameters for the largest possiblerange of speeds (from 0.4 m/s to 0.9 m/s).

V. RESULTS

The CPG-based controller presented in this paper is com-pared with the reflex-based approach from [7]. To this end,we first study the evolution of the parameters presented insection IV. We also present the ability of our CPG-basedcontroller to track a speed reference, to predict when thenext strike will happen and to step over holes.

Page 5: Biped Gait Controller for Large Speed Variations ......i is the self-inhibition modulated by an adaptation constant b j, u i the external excitation and t is a time constant. The connexion

16

12

8

4

00.4 0.5 0.6 0.7 0.8 0.9

velocity (m/s)

θre

f (d

eg

)

(a) Trunk reference angle θre f

2.9

2.6

2.3

2

1.7

1.40.4 0.5 0.6 0.7 0.8 0.9

velocity (m/s)

k GLU

(-)

(b) Stimulation gain kGLU

4.5

3.5

2.5

1.50.4 0.5 0.6 0.7 0.8 0.9

velocity (m/s)

k HA

M,1 (

-)

(c) Stimulation gain kHAM,1

0.165

0.15

0.135

0.120.4 0.5 0.6 0.7 0.8 0.9

velocity (m/s)

τ (

s)

(d) Oscillator time constant τ

5.5

4.5

3.5

2.50.4 0.5 0.6 0.7 0.8 0.9

velocity (m/s)

k HFL (

-)(e) Stimulation gain kHFL

2.2

1.8

1.4

10.4 0.5 0.6 0.7 0.8 0.9

velocity (m/s)

k HA

M,2 (

-)

(f) Stimulation gain kHAM,2

Fig. 2: We run five optimizations for each target speed and we measure the actual speed of each solution, along with the optimized value of the six openparameters. For each target speed, we gather the five optimization final results, presenting their mean and standard deviations. For graph legibility, theerrorbars represent half of the standard deviations. Dashed lines present the linear approximations for the range of speeds between 0.45 m/s and 0.85 m/s,using the minimum mean square error method.

A. Speed parameters

Six parameters were identified in section IV to be adaptedas a function of the walking speed (θre f , τ , kGLU , kHFL,kHAM,1 and kHAM,2). First, an optimization with an arbitrarytarget speed of 0.6m/s is launched. Then, all the optimizedparameters are frozen, except the six parameters being leftfor speed adaptation. New optimizations were then per-formed, allowing only these six parameters to change acrossthe different target speeds. Our target speed experiments runfrom 0.4 m/s to 0.9 m/s with a 0.05 m/s step. We run fiveoptimizations for each target speed and report the evolutionof the six parameters in Fig. 2.

Let’s first take a look at the speeds ranging from 0.45 m/sto 0.85 m/s. There, the evolution of θre f and τ can becaptured by linear functions of the speed. On top of that, thismatches the expectations: θre f increases with speed whileτ decreases. Similar observations can be performed for theamplitude gains: kGLU and kHAM,1 impact the stance phasewhile kHFL and kHAM,2 impact the swing phase. Duringstance phase, kGLU and kHAM,1 are both used to bring thetrunk back after foot strike. This requires higher stimulationsat high speeds where inertia effects and strike impacts aremore important. While this increase trend is clearly visiblefor kHAM,1, it is less obvious for kGLU . On top of that, thelinear approximation slope is much higher for kHAM,1 than forkGLU . This suggests that modulating kGLU is not necessary toachieve gait modulation because its effect after foot strike islargely dominated by the HAM muscles. Consequently, kGLUis finally kept constant for all speeds, see Table I. Duringthe swing phase, hip flexion increases for higher speeds.So, the HFL muscles get higher stimulations (with kHFLincreasing) while their antagonist muscles HAM get lowerstimulations (with kHAM,2 decreasing). Under 0.45 m/s, weget a stagnation of θre f and τ and the evolution of the sixparameters of interest is less obvious. Over 0.85 m/s, the

optimizer did not manage to find appropriate and robustsolutions. However, co-optimizing all parameters accordingto the strategy described in section IV (i.e. simultaneousoptimization of all parameters) could increase this range from0.4 m/s to 0.9 m/s. These results support our linear speedcontrol rules presented in Eq. (11).

B. Gaits comparison

Three main controllers are compared in terms of energyefficiency, trunk angle reference, stride period and stridelength. These three controllers are (i) the pure-reflex modelfrom [7], (ii) our CPG-based controller optimized for asingle fixed speed called fixed-CPG and (iii) our CPG-basedcontroller optimized to adapt the gait to a wide range ofspeeds called adaptive-CPG. All of them were optimizedfor target speeds ranging from 0.4 m/s to 0.9 m/s with astep of 0.05 m/s. For each target speed, five independentoptimizations were performed. Contrary to the two firstcontrollers, the adaptive-CPG one was optimized in a singleoptimization run for the whole range of speeds. These threecontrollers resulted in human-like gaits for the whole rangeof tested speeds with leg stretching and heel strikes.

All the results are presented in Fig. 3. Regarding energyefficiency (Fig. 3a), the pure-reflex controller and the fixed-CPG one perform in a similar way for speeds higher orequal to 0.5 m/, with the fixed-CPG one being slightly moreefficient. However, for speeds under 0.5 m/s, the pure-reflexcontroller is clearly more efficient. The main reason is thatthe objective function of the fixed-CPG also targets a goodstrike prediction, a constraint that is not taken into accountin the pure-reflex optimizations. Finally, the adaptive−CPGmodel is the less energy-efficient. However, given that thismodel is optimized for a wide range of speeds in a single shotand not tuned for a precise gait, the small increase regardingenergy-efficiency seems a reasonable price to pay.

Page 6: Biped Gait Controller for Large Speed Variations ......i is the self-inhibition modulated by an adaptation constant b j, u i the external excitation and t is a time constant. The connexion

9

8

7

6

5

40.4 0.5 0.6 0.7 0.8 0.9

pure-reflex

fixed-CPG

adaptative-CPG

velocity (m/s)

meta

bolic

energ

y (

J m

-1kg

-1)

(a) Metabolic energy consumption per unit distance walked

18

15

12

9

6

3

00.4 0.5 0.6 0.7 0.8 0.9

velocity (m/s)

θre

f (d

eg

)

(b) Trunk reference angle θre f

1.45

1.35

1.25

1.15

1.050.4 0.5 0.6 0.7 0.8 0.9

velocity (m/s)

stri

de p

eri

od

(s)

(c) Stride period

0.4 0.5 0.6 0.7 0.8 0.9velocity (m/s)

stri

de leng

th (

m)

0.45

0.55

0.65

0.75

0.85

0.95

1.05

(d) Stride length

Fig. 3: We run five optimizations for each target speed with different controllers. For each set of five optimizations, the mean and the standard deviationare depicted. For graph legibility, errorbars correspond to the half of the standard deviation.

Fig. 4: COMAN is walking with its target speed increasing from 0.4 m/s to 0.9 m/s before going back to 0.4 m/s. Snapshots of the gait are taken duringeach double support phase to show the stride length evolution.

In terms of stride analysis (Fig. 3c and 3d), the fixed-CPGand the adaptive-CPG controllers have similar stride periodsand lengths. The pure-reflex model, however, features lowerstride periods and lengths, so favouring smaller steps with afaster frequency. Finally, another difference in gait analysisbeing visible in Fig. 3b is that the pure-reflex model alsofavours larger trunk tilt θre f .

C. Target speed tracking

We now focus only on the adaptive-CPG controllers wherea wide range of speeds is optimized in a single optimization.Fig. 4 presents snapshots of the COMAN walking with itstarget speed increasing from 0.4 m/s to 0.9 m/s. After a fewsteps, it gets backs its initial speed of 0.4 m/s. Fig. 5 shows agait where we modulate the robot speed. The target speed ismodified in the range from 0.4 m/s to 0.9 m/s with constantaccelerations of ±0.25m/s2. We measure the speed and post-process it with a 0.5 s running average, visible in greenin Fig. 5. We observe that the robot is able to acceleratefrom 0.4 m/s to 0.9 m/s in less than 2.3 s (acceleration

of 0.22m/s2), so corresponding to less than two strides. Incomparison, [8] requires four strides for similar accelerationswhile [9] targets a range of speeds nearly two times smalleronce scaled to the robot height. Finally, decelerating from0.9 m/s to 0.4 m/s is also performed in 2.3 s. Higher targetaccelerations do not result in higher real accelerations andmight make the robot fall. During this experiment, the legsagittal torques never exceed 30 Nm, except for the hip athigh speeds (just after strike). However, these short torquepeaks (less than 10% of the stride period in the worstcase) never exceed the COMAN maximum hip torque of55 Nm [16]. The reference torque signals are thus within therobot actuators capabilities. This experiment is provided asmultimedia attachment.

D. Stride period prediction

The oscillators network is synchronized with feet strikeusing short excitation modulations (see Eq. (3)) when theoscillators prediction is too slow or too fast. During the op-timization process, the objective function rewards solutions

Page 7: Biped Gait Controller for Large Speed Variations ......i is the self-inhibition modulated by an adaptation constant b j, u i the external excitation and t is a time constant. The connexion

1

0.9

0.8

0.7

0.6

0.5

0.4

0.30 6 12 18 24 30 36 42 48

reference

0.5 s runningaverage

time (s)

velo

city

(m

/s)

Fig. 5: The controller can track a speed reference (blue). The robot speedcomputed in post-process is presented in green.

minimizing these synchronization mechanisms duration, thuswhen the CPG correctly predicts the step period. So, theseoscillators can be used to predict when the next strike willtake place. This is potentially relevant to develop othermechanisms requiring synchronization with the walking gait.In Fig. 6, the robot walks at different speeds from 0.4 m/s to0.9 m/s. For each speed, we get the stride period predictedwith the oscillators structure. Then, we compare this pre-diction with the actual stride period. The global predictionis rather accurate. Some small differences still appear withslowest speeds: the predicted stride period is slightly higherthan the actual one, revealing that the oscillators are tooslow. This prediction is also presented in the multimediaattachment.

1.42

1.36

1.3

1.24

1.18

1.121.12 1.18 1.24 1.3 1.36 1.42

0.4

0.450.5

0.6

0.7

0.8

0.9

0.55

0.65

0.75

0.85

measured stride period (s)

pre

dic

ted s

trid

e p

eri

od (

s)

Fig. 6: The stride period predicted by the CPG is compared to theactual one for different speeds expressed in m/s (green). The dashed linecorresponds to correct predictions.

E. Stepping over a hole

Since our speed modulation algorithm directly impactsthe step length, it features another nice and potentially veryuseful property. Indeed, it can be used to temporarily alter thegait and avoid landing the foot on an undesired place like ahole. An example is provided in the multimedia attachmentwhere a short-time speed target increase can alter the gaitto perform a smaller step (likely due to the predominantfrequency increase effects during the first step) followed bya longer one to cross a hole. Once this is done, the COMANrecovers its previous gait. Some snapshots of this exampleare provided in Fig. 7.

VI. CONCLUSION

In this contribution, we presented a bio-inspired controllerable to make a humanoid robot walk over a wide range ofspeeds, allowing fast speed variations during the walkinggait. This speed modulation was achieved using simple ruleswhere all parameters to adapt were expressed as linear

Fig. 7: COMAN gait is adapted to cross a hole before going back to itsprevious gait (snapshots taken during each double support phase).

functions of the target speed. Moreover, this controller,combining reflexes and a CPG in a neuromuscular model,could be tuned in one single optimization. Consequently,reflexes and CPG parameters were co-optimized to achievea good energy-efficiency over the whole range of speeds.On top of that, the CPG could be used to predict the strideperiod and to modulate the gait to avoid landing the foot onunwanted locations like holes.

While the main focus of this contribution is to provideefficient walking algorithms for robots with human-like gaitfeatures, it might also help to get a better insight on humanlocomotion, where the existence of CPGs is still a matteropen to debate. Our controller relies on Hill-type musclemodels controlled by reflexes and Matsuoka oscillators, bothbeing developed on a solid biological background. In thiscontribution, we demonstrated that simple modulations ofthe CPG frequency and amplitude, together with a trunkreference angle adaptation, could lead to large gait speedsvariations and step modulation. So, like Taga [22] or Paul[23] contributions, this paper also argues that CPGs couldplay a major role in human locomotion, at least to modulatethe gait.

However, there is still room for improvement with thiscontroller. In particular, results are deteriorated for slowspeeds in terms of energy efficiency, strike prediction andgait modulation, which is worth being investigated. Naturalextensions of this controller would be to achieve 3D walkinggaits, or complex obstacles avoidance. Finally, we plan toimplement this controller on the real COMAN to validateour controller on real hardware.

APPENDIX A

The equations governing the firing rate xi of each neuronNi are presented in Eq. (9), self-inhibition equations in Eq. (10).

x1 =1τ(−x1 −βA v1 −ηA[x4]

+−ηD[x2]+−ηE [x5]

++u1)

x2 =1τ(−x2 −βB v2 −ηB[x5]

+−ηD[x1]+−ηE [x4]

++u2)

x3 =1τ(−x3 −βC v3 −ηC[x6]

+−ηF [x2]+−ηG[x5]

++u3)

x4 =1τ(−x4 −βA v4 −ηA[x1]

+−ηD[x5]+−ηE [x2]

++u4)

x5 =1τ(−x5 −βB v5 −ηB[x2]

+−ηD[x4]+−ηE [x1]

++u5)

x6 =1τ(−x6 −βC v6 −ηC[x3]

+−ηF [x5]+−ηG[x2]

++u6)

(9)

Page 8: Biped Gait Controller for Large Speed Variations ......i is the self-inhibition modulated by an adaptation constant b j, u i the external excitation and t is a time constant. The connexion

v1 =1

γA τ(−v1 +[x1]

+) v4 =1

γA τ(−v4 +[x4]

+)

v2 =1

γB τ(−v2 +[x2]

+) v5 =1

γB τ(−v5 +[x5]

+)

v3 =1

γC τ(−v3 +[x3]

+) v6 =1

γC τ(−v6 +[x6]

+)

(10)

APPENDIX B

Table I gathers all the optimization parameters along withtheir bounds. Some of these parameters are used to get thetrunk angle reference θre f , the oscillator time constants τ ,and the stimulations gains kHFL, kHAM,1 and kHAM,2, accord-ing to the rules described in Appendix C.

TABLE I: Optimization parameters and their bounds

min max min max min maxspeed init β

Pθ 0.01 0.3 κ 0 0.13 βA 4.5 6.5Pτ 0.08 0.2 reflex βB 4 6PHFL 2.2 4 S0,VAS 0.01 0.03 βC 3 6PHAM,1 1.3 3.2 GSOL 0.7 1.6 η

PHAM,2 0.5 2 GVAS 0.6 20 ηA 3 6pθ 0 1 φo f f 2.5 π ηB 4 7pτ -0.2 0 ξ1 0.3 10 ηC 3 6pHFL 0 4.5 ξ2 0.004 0.15 ηD 2.5 4pHAM,1 0 4.5 γ ηE 2.5 5pHAM,2 -4 0 γA 0.5 2.5 ηF 2.5 5const γB 0.5 2.5 ηG 3 5.5kGLU 0.8 2 γC 0.5 3

APPENDIX C

The trunk angle reference θre f , the oscillator time con-stant τ , and the stimulations gains kHFL, kHAM,1 and kHAM,2are computed as simple linear functions of the target speedvt , according to Eq. (11). v∗ is an arbitrary reference speedset to 0.6 m/s. Speed modulation is then simply obtained bymodifying the target speed vt . Finally, kGLU is kept constantfor all speeds (see Table I).

θre f = Pθ + pθ (vt − v∗)

τ = Pτ + pτ (vt − v∗)

kHFL = PHFL + pHFL (vt − v∗)

kHAM,1 = PHAM,1 + pHAM,1 (vt − v∗)

kHAM,2 = PHAM,2 + pHAM,2 (vt − v∗)

(11)

REFERENCES

[1] M. Vukobratovic and B. Borovac, “Zero-Moment Point - Thirtyfive years of its life,” International Journal of Humanoid Robotics,vol. 01, no. 01, pp. 157–173, Mar. 2004.

[2] J. Chestnutt, M. Lau, G. Cheung, J. Kuffner, J. Hodgins, andT. Kanade, “Footstep Planning for the Honda ASIMO Humanoid,” inProceedings of the 2005 IEEE International Conference on Roboticsand Automation. IEEE, 2005, pp. 629–634.

[3] K. Kaneko, F. Kanehiro, S. Kajita, K. Yokoyama, K. Akachi,T. Kawasaki, S. Ota, and T. Isozumi, “Design of prototype humanoidrobotics platform for HRP,” in IEEE/RSJ International Conference onIntelligent Robots and System, vol. 3. IEEE, 2002, pp. 2431–2436.

[4] H. Dallali, “Modelling and dynamic stabilization of a complianthumanoid robot, CoMan,” Ph.D. dissertation, University ofManchester, 2011.

[5] R. Kurazume, S. Tanaka, M. Yamashita, T. Hasegawa, andK. Yoneda, “Straight legged walking of a biped robot,” in 2005IEEE/RSJ International Conference on Intelligent Robots and Systems.IEEE, 2005, pp. 337–343.

[6] D. G. Hobbelen and M.Wisse, Humanoid Robots: Human-likeMachines. Vienna, Austria: I-Tech Education and Publishing, 2007.

[7] H. Geyer and H. Herr, “A muscle-reflex model that encodes principlesof legged mechanics produces human walking dynamics and muscleactivities.” IEEE transactions on neural systems and rehabilitationengineering : a publication of the IEEE Engineering in Medicine andBiology Society, vol. 18, no. 3, pp. 263–73, June 2010.

[8] S. Song and H. Geyer, “Regulating speed and generating large speedtransitions in a neuromuscular human walking model,” in 2012 IEEEInternational Conference on Robotics and Automation. IEEE, May2012, pp. 511–516.

[9] F. Dzeladini, J. van den Kieboom, and A. Ijspeert, “The contributionof a central pattern generator in a reflex-based neuromuscular model,”Frontiers in Human Neuroscience, vol. 8, June 2014.

[10] A. J. Ijspeert, “Central pattern generators for locomotion control inanimals and robots: A review,” Neural Networks, vol. 21, no. 4, pp.642–653, 2008.

[11] K. Matsuoka, “Sustained oscillations generated by mutually inhibitingneurons with adaptation,” Biological Cybernetics, vol. 52, no. 6, pp.367–376, 1985.

[12] ——, “Mechanisms of frequency and pattern control in the neuralrhythm generators,” Biological Cybernetics, vol. 56, no. 5-6, pp.345–353, July 1987.

[13] R. Ronsse, D. Sternad, and P. Lefevre, “A computational model forrhythmic and discrete movements in uni- and bimanual coordination.”Neural computation, vol. 21, no. 5, pp. 1335–70, May 2009.

[14] G. Pratt and M. Williamson, “Series elastic actuators,” in Proceedings1995 IEEE/RSJ International Conference on Intelligent Robots andSystems. Human Robot Interaction and Cooperative Robots, vol. 1.IEEE Comput. Soc. Press, 1995, pp. 399–406.

[15] H. Dallali, M. Mosadeghzad, G. A. Medrano-Cerda, N. Docquier,P. Kormushev, N. Tsagarakis, Z. Li, and D. Caldwell, “Developmentof a dynamic simulator for a compliant humanoid robot basedon a symbolic multibody approach,” in 2013 IEEE InternationalConference on Mechatronics (ICM). IEEE, Feb. 2013, pp. 598–603.

[16] N. G. Tsagarakis, S. Morfey, G. M. Cerda, Z. Li, and D. G. Caldwell.,“COMAN a Compliant Humanoid: Optimal Joint Stiffness Tuningfor Modal Frequency control,” in IEEE International Conference onRobotics and Automation, . Proceedings. ICRA ’13., 2013.

[17] J.-C. Samin and P. Fisette, Symbolic Modeling of Multibody Systems.Springer, 2004.

[18] J. M. Wang, S. R. Hamner, S. L. Delp, and V. Koltun,“Optimizing locomotion controllers using biologically-based actuatorsand objectives,” ACM Trans. Graph, p. 25, 2012.

[19] H. Geyer, A. Seyfarth, and R. Blickhan, “Positive force feedbackin bouncing gaits?” Proceedings. Biological sciences / The RoyalSociety, vol. 270, no. 1529, pp. 2173–83, Oct. 2003.

[20] A. Schepelmann, M. D. Taylor, and H. Geyer, “Development of aTestbed for Robotic Neuromuscular Controllers,” in Robotics: Scienceand Systems. MIT Press, 2012.

[21] M. R. Dimitrijevic, Y. Gerasimenko, and M. M. Pinter, “Evidencefor a spinal central pattern generator in humans.” Annals of the NewYork Academy of Sciences, vol. 860, pp. 360–76, Nov. 1998.

[22] G. Taga, “Emergence of bipedal locomotion through entrainmentamong the neuro-musculo-skeletal system and the environment,”Physica D: Nonlinear Phenomena, vol. 75, no. 1-3, pp. 190–208,Aug. 1994.

[23] C. Paul, M. Bellotti, S. Jezernik, and A. Curt, “Development of ahuman neuro-musculo-skeletal model for investigation of spinal cordinjury,” Biol. Cybern., vol. 93, no. 3, pp. 153–170, Sept. 2005.

[24] M. A. Daley, G. Felix, and A. A. Biewener, “Running stabilityis enhanced by a proximo-distal gradient in joint neuromechanicalcontrol.” The Journal of experimental biology, vol. 210, no. Pt 3, pp.383–94, Feb. 2007.

[25] J. Kennedy and R. Eberhart, “Particle swarm optimization,” inProceedings of ICNN’95 - International Conference on NeuralNetworks, vol. 4. IEEE, 1995, pp. 1942–1948.

[26] L. J. Bhargava, M. G. Pandy, and F. C. Anderson, “Aphenomenological model for estimating metabolic energy consumptionin muscle contraction,” Journal of Biomechanics, vol. 37, no. 1, pp.81–88, Jan. 2004.

[27] M. P. Murray, R. C. Kory, B. H. Clarkson, and S. B. Sepic,“Comparison of free and fast speed walking patterns of normal men.”American journal of physical medicine, vol. 45, no. 1, pp. 8–23, Feb.1966.