41
Three Monthly Meeting - Lausanne - April 2008 BIRG (EPFL B) Crawling and Drumming Ludovic Righetti, Sarah Dégallier and Auke J. Ijspeert [email protected], [email protected], [email protected] Biologically Inspired Robotics Group (BIRG) Ecole Polytechnique Fédérale de Lausanne (EPFL) – p.1

BIRG (EPFL B) Crawling and Drumming - iCubwiki.icub.org/images/0/0f/Presentation_crawling.pdfThree Monthly Meeting - Lausanne - April 2008 BIRG (EPFL B) Crawling and Drumming Ludovic

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

  • 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