Three Monthly Meeting - Lausanne - April 2008
BIRG (EPFL B)Crawling and Drumming
Ludovic Righetti, Sarah Dégallier and Auke J. [email protected], [email protected], [email protected]
Biologically Inspired Robotics Group (BIRG)Ecole Polytechnique Fédérale de Lausanne (EPFL)
– p.1
Outline of the presentation
General low-level control architecture based on MotorPrograms (MP) and Pattern Generators (PG)
Application to drumming iCub
Locomotion specific design of pattern generators
Sensory feedback for crawling
– p.2
Pattern Generators in robotics
Central PatternGenerator
Sensory feedbackM
ulti-
dim
ensi
onal
Osc
illat
ory
Out
puts
Sim
ple
Toni
cIn
puts
– p.3
Pattern Generators in robotics
Pattern Generators of movement primitives offer an interestingsolution for robotic control⇒ reduction of the dimensionality of the control problem
– p.4
Pattern Generators in robotics
Pattern Generators of movement primitives offer an interestingsolution for robotic control⇒ reduction of the dimensionality of the control problem
Stable attractor dynamics - Fixed point or Limit cycle behavior(stability against perturbations)
– p.4
Pattern Generators in robotics
Pattern Generators of movement primitives offer an interestingsolution for robotic control⇒ reduction of the dimensionality of the control problem
Stable attractor dynamics - Fixed point or Limit cycle behavior(stability against perturbations)
Smooth integration of sensory feedback⇒ online trajectory generation
– p.4
Pattern Generators in robotics
Pattern Generators of movement primitives offer an interestingsolution for robotic control⇒ reduction of the dimensionality of the control problem
Stable attractor dynamics - Fixed point or Limit cycle behavior(stability against perturbations)
Smooth integration of sensory feedback⇒ online trajectory generation
Smooth modulation of the movement (speed, amplitude,position)
– p.4
Pattern Generators in robotics
Pattern Generators of movement primitives offer an interestingsolution for robotic control⇒ reduction of the dimensionality of the control problem
Stable attractor dynamics - Fixed point or Limit cycle behavior(stability against perturbations)
Smooth integration of sensory feedback⇒ online trajectory generation
Smooth modulation of the movement (speed, amplitude,position)
Low-level feedback integration (with other CPGs, with theenvironment and/or with the body dynamics)
– p.4
Pattern Generators in robotics
Pattern Generators of movement primitives offer an interestingsolution for robotic control⇒ reduction of the dimensionality of the control problem
Stable attractor dynamics - Fixed point or Limit cycle behavior(stability against perturbations)
Smooth integration of sensory feedback⇒ online trajectory generation
Smooth modulation of the movement (speed, amplitude,position)
Low-level feedback integration (with other CPGs, with theenvironment and/or with the body dynamics)
They are modeled with dynamical systems
– p.4
Pattern Generator Based Architecture
– p.5
General control architecture
We propose a three layered control architectureinspired by a functional model of the motor system
At the Generator level there are several PatternGenerators (PGs) that generate complex coordinatedmovements
Activation and coordination of these PGs is made atthe Manager level, using Motor Programs (MPs)made of simple parameter sets
This architecture is compatible with the iCub cogni-
tive architecture, the planner corresponds to prospec-
tion by action simulation, the manager to the modula-
tion circuit and the generator to the phylogenetic self-
organizing perceptuo-motor skills
Perip
heral In
form
ation
Coordinator
PlannerHigher order cognitive functions
Manager
Generator
Referen
tials(IK
, task space...)
iCub
Discrete T
imin
g
MPMP
PGPGclock
– p.6
General control architecture
We propose a three layered control architectureinspired by a functional model of the motor system
At the Generator level there are several PatternGenerators (PGs) that generate complex coordinatedmovements
Activation and coordination of these PGs is made atthe Manager level, using Motor Programs (MPs)made of simple parameter sets
This architecture is compatible with the iCub cogni-
tive architecture, the planner corresponds to prospec-
tion by action simulation, the manager to the modula-
tion circuit and the generator to the phylogenetic self-
organizing perceptuo-motor skills
Perip
heral In
form
ation
Coordinator
PlannerHigher order cognitive functions
Manager
Generator
Referen
tials(IK
, task space...)
iCub
Discrete T
imin
g
MPMP
PGPGclock
– p.6
Discrete Pattern Generator
Critically damped differential equation to generate a discrete trajectory
Bell-shaped velocity profile
Speed of convergence is controlled by b, point of convergence is controlled by gi. These are theparameters controlled by the Motor Programs
Valid for any initial positions since the ODE has a fixed point attractor
ḣi = c(d − hi)
ẏi = h4
i vi
v̇i = d4−b2
4(yi − gi) − b vi.
0 0.2 0.4 0.6 0.8 1 1.2 1.40
1
2
3
4
5
6
TrajectoryVelocity Profile
– p.7
Rhythmic Pattern Generator
Rhythmic movement primitive (when mi > 0) that can be turned off via Hopf bifurcation (mi < 0)
Independent control of the ascending and descending phases of the oscillation
The parameters controlled by the MPs are the frequencies ωdown, ωup, and amplitude mi ofoscillations
Valid for any initial positions since the ODE has a stable limit cycle
ẋi = a`
mi − r2
i
´
xi − ωzi
żi = a`
mi − r2
i
´
zi + ωxi
ωi =ωdown
e−bzi + 1+
ωup
ebzi + 1
where ri =q
x2i + z2
i
0 5 10 15 20 25 30
−1
−0.5
0
0.5
1
Time
X
– p.8
Superimposition of movements
We superpose the previous PGs by injecting the discretemovement into the rhythmic one
ḣi = c(d − hi)
ẏi = h4i vi
v̇i = d4−b
2
4(yi − gi) − b vi.
ẋi = a(
mi − r2i
)
(xi − yi) − ωzi
żi = a(
mi − r2i
)
zi + ω (xi − yi)
ωi =ωdown
e−bzi + 1+
ωup
ebzi + 1
Dis
cret
eP
Gs
Rhy
thm
icP
Gs
– p.9
Example of trajectories (drumming)
20 40 60 80 100−100
−50
0
Time [s]
Pos
ition
[Deg
]
Left Shoulder Flexion/Extension
20 40 60 80 100−1
0
1
2
Time [s]
Mot
or P
rogr
am
Rhythmic On/OffAnchor positionFrequency
– p.10
Applications to crawling and drumming
[Dégallier, Santos, Righetti and Ijspeert, Humanoids 2006]
[Dégallier, Righetti and Ijspeert, IROS 2007]
– p.11
– p.12
Pattern Generators in the iCub
Simple Motor Programs can generate complex and coordinatedmovements
Implemented in Yarp modules that can easily be instantiated foreach part of the body
Could be used easily from any higher-level module
Currently running on the PC104 of the iCub but could be movedto the DSPs (low computational cost)
– p.13
Design of locomotion specific CPGs
– p.14
Context of locomotion
We need locomotion specific pattern generators and feedbackintegration
These CPGs should be general enough to be applied to verydifferent legged robots
Generation of different coordinated gaits
Constant swing duration and stance duration related to speedof locomotion (as for all quadruped mammals including infants)
Integration of sensory feedback compatible with observationsfrom mammals
Compatibility with the previous architecture
– p.15
Architecture of CPGs
We present a generic way to construct networks of coupleddynamical systems able to generate any desired pattern ofoscillation (i.e. gait)
The design of the network is independent of the internaldynamics of each cell
We use the theory of symmetric coupled cells networkdeveloped by Golubitsky et al.
The analytic problem of finding ODEs such that the desiredpattern of oscillations exists is transformed into an algebraicone (use of group theory)
[Righetti and Ijspeert, Robotics Science and Systems 2006]
– p.16
Symmetric coupled cells network
Principle: design a network of dynamical systems that has thesame symmetry group as the desired gait
A symmetry in a coupled cells network is a permutation of thecells that preserves the architecture of the network(independent of the underlying ODEs)
We distinguish 2 kinds of symmetries in sets of ODEsSpatial symmetries γ are such that for any solution x(t) wehave γx(t) = x(t)Spatio-temporal symmetries ϕ are such that the orbits of x(t)and ϕx(t) are the same (if x(t) is a periodic solution thenϕx(t) = x(t+ ψ))
– p.17
Example of symmetries
1 2
34
Right Arm
Right LegLeft Leg
Left Arm
Trot-like gaitDiagonal limbs are in phase
Left and right limbs are half a period out of phase
– p.18
Example of symmetries
1 2
34
Right Arm
Right LegLeft Leg
Left Arm
Trot-like gaitDiagonal limbs are in phase
Left and right limbs are half a period out of phase
– p.18
Example of symmetries
1 2
34
Right Arm
Right LegLeft Leg
Left Arm
The trot gait has the following symmetries{(13)(24), 0}
{(12)(34), 12}
{(14)(23), 12}
– p.18
Example of symmetries
1 2
34
Right Arm
Right LegLeft Leg
Left Arm
This coupling architecture has the same symmetry groupThere exists periodic solutions with the trot symmetry
– p.18
Example of symmetries
1 2
34
Right Arm
Right LegLeft Leg
Left Arm
We find the other solutions of the network by calculating thesubgroups of the symmetry group
– p.18
Generic CPGs
Trot/Bound/Pace Network Walk Network
1Left
forelimb
2Right
forelimb
3Left
hindlimb
4Right
hindlimb
1Left
forelimb
2Right
forelimb
3Left
hindlimb
4Right
hindlimb
Generic design of CPGs able to support the most common symmetrical
gaits (walk, trot, bound and pace)
The design is independent of the internal dynamics of each cell
– p.19
Generic CPGs
Trot/Bound/Pace Network Walk Network
1Left
forelimb
2Right
forelimb
3Left
hindlimb
4Right
hindlimb
1Left
forelimb
2Right
forelimb
3Left
hindlimb
4Right
hindlimb
Generic design of CPGs able to support the most common symmetrical
gaits (walk, trot, bound and pace)
The design is independent of the internal dynamics of each cell
⇒ We can now design the dynamics of the cells
– p.19
Dynamics of the cells
During locomotion, swing duration is constant, stance durationcontrols speed of locomotion
However there is no oscillator in which we can independentlycontrol the duration of the ascending and descending phases ofthe oscillations (swing and stance)
– p.20
Dynamics of the cells
During locomotion, swing duration is constant, stance durationcontrols speed of locomotion
However there is no oscillator in which we can independentlycontrol the duration of the ascending and descending phases ofthe oscillations (swing and stance)
ẋi = α(µ − r2i )xi − ωyi
ẏi = β(µ − r2i )yi + ωxi
– p.20
Dynamics of the cells
During locomotion, swing duration is constant, stance durationcontrols speed of locomotion
However there is no oscillator in which we can independentlycontrol the duration of the ascending and descending phases ofthe oscillations (swing and stance)
ẋi = α(µ − r2i )xi − ωyi
ẏi = β(µ − r2i )yi + ωxi
ω =ωstance
e−by + 1+
ωswing
eby + 1
– p.20
Dynamics of the cells
During locomotion, swing duration is constant, stance durationcontrols speed of locomotion
However there is no oscillator in which we can independentlycontrol the duration of the ascending and descending phases ofthe oscillations (swing and stance)
ẋi = α(µ − r2i )xi − ωyi
ẏi = β(µ − r2i )yi + ωxi +
∑
kijyj
ω =ωstance
e−by + 1+
ωswing
eby + 1
– p.20
Dynamics of the cells
0 5 10 15 20 25 30
−1
−0.5
0
0.5
1
Time
X
By changing ωswing and ωstance we can independently control the duration of the ascending and
descending phases of the oscillation (i.e. we control the duration of swing and stance phases)
– p.21
Gait generation
0 0.5 1 1.5
X4
X3
X2
X1
Time
Trot
0 0.5 1 1.5
X4
X3
X2
X1
Time
Bound
0 0.5 1 1.5
X4
X3
X2
X1
Time
Pace
0 0.5 1 1.5
X4
X3
X2
X1
Time
Walk
– p.22
Sensory feedback
The integration of sensory information at the CPG level isphase dependent during animal locomotion
Transitions between swing and stance phases are critical
Sensory feedback strongly couples the neural controller withthe system it controls
We design phase dependent sensory feedback in such a waythat it explicitly shapes the dynamics of the oscillators“the CPG is controlled by the mechanics”
[Righetti and Ijspeert, ICRA 2008]
– p.23
Sensory feedback integration
ui = 0 ui = ±F ui = −ωxi −P
kijyj
ẋi = α(µ − r2
i )xi − ωyi
ẏi = β(µ − r2
i )yi + ωxi +X
kijyj + ui
ω =ωstance
e−by + 1+
ωswing
eby + 1
– p.24
Sensory feedback integration
kstance
k sw
ing
0.1 0.2 0.3 0.4 0.5 0.6 0.70.4
0.5
0.6
0.7
0.8
0.9
1
1.1
1.2
kstance
k sw
ing
0.1 0.2 0.3 0.4 0.5 0.6 0.70.4
0.5
0.6
0.7
0.8
0.9
1
1.1
1.2
0 10 20 30 40 50 600
20
40
Time
Tou
ch fo
rce
[N]
0 10 20 30 40 50 60−1
0
1
Time
X
−1 −0.5 0 0.5 1
−1
−0.5
0
0.5
1
X
Y
Tests where performed with 3 differentsimulated robots, from rigid ones to oneswith passive dynamics
In all simulations, speed is independent ofswing duration and correlated to stanceduration as in mammals!
With the feedback, locomotion is morerobust to parameter uncertainty
The robots can locomote on uneven terrainsand slopes
The controller is tightly coupled to the robotand its environment (mutual entrainment)
The same controller works for differentkinds of robots and gaits (e.g. walk and trotwith the Aibo, walk and bound with a robotwith passive dynamics)
Speed no feedback Speed with feedback
No Feedback Feedback Enabled
– p.25
Integration in the general architecture
Generation of different behaviors using the same PatternGenerators with different Motor Programs
Crawling
Reaching while crawling
Crawling then reaching
– p.26
Conclusion
We developed a modular architecture based on PatternGenerators and Motor Programs
Any higher-level cognitive function could use this framework bysimple parameter specifications to the Pattern Generators(goal, speed, frequency...)
Complete integration as modules in Yarp, successfully testedon the iCub for drumming
Locomotion specific sensory feedback was successfullyintegrated
– p.27
large Outline of the presentationlarge Pattern Generators in roboticslarge Pattern Generators in roboticslarge General control architecturelarge Discrete Pattern Generatorlarge Rhythmic Pattern Generatorlarge Superimposition of movementslarge Example of trajectories (drumming)large Applications to crawling and drumminglarge Pattern Generators in the iCublarge Context of locomotionlarge Architecture of CPGslarge Symmetric coupled cells networklarge Example of symmetrieslarge Generic CPGslarge Dynamics of the cellslarge Dynamics of the cellslarge Gait generationlarge Sensory feedbacklarge Sensory feedback integrationlarge Sensory feedback integrationlarge Integration in the general architecturelarge Conclusion