58
Page : 1 Cours Animat Olivier Sigaud ISIR [email protected] r Apprentissage du Apprentissage du contrôle moteur : contrôle moteur : architectures architectures

Olivier Sigaud ISIR [email protected]

  • Upload
    alijah

  • View
    72

  • Download
    0

Embed Size (px)

DESCRIPTION

Apprentissage du contrôle moteur : architectures. Olivier Sigaud ISIR [email protected]. PLAN. Coordination posture-tâche. Adaptation du geste élémentaire. Système comportemental. découplage des tâches/ commande optimale. Acquisition de compétences motrices nouvelles. - PowerPoint PPT Presentation

Citation preview

Page 1: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 1

Cours Animat

Olivier Sigaud

ISIR

[email protected]

Apprentissage du Apprentissage du contrôle moteur : contrôle moteur :

architecturesarchitectures

Page 2: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 2

Cours Animat

PLAN

Gestion de

l’équilibre

Ajustementsposturaux anticipatifs

découplagedes tâches/commande optimale

Verticalisation

locomotion

Coordinationposture tâche

Adaptation motrice

Apprentissage de modèles dynamiques

Rééducation du geste moteur

Adaptationdu geste

élémentaire

Acquisition de compétences

motrices nouvelles

Apprentissage

par renforcemen

t

Enchaînement complexes de tâches

Coordination posture-tâcheAdaptation du geste élémentaireSystème comportemental

Page 3: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 3

Cours Animat

Coordination Coordination posture-tâcheposture-tâche

Page 4: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 4

Cours Animat

Commande prédictiveCommande prédictive Minimiser sur un intervalle [0,n] la fonction f(x,u) Sous les contraintes : X1 = AX0+BU0

X2 = AX1+BU1

X3 = AX2+BU2

… XN = AXN-1+BUN-1

Un solveur cherche les Ui.

Horizon glissant. Fast NMPC : prédire les commandes suivantes pendant

qu’on exécute les commandes courantes

Contraintes linéaires

Page 5: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 5

Cours Animat

Gestion de l’équilibre

Filtre dynamiqueProgramme quadratique

Page 6: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 6

Cours Animat

Quantification de l'équilibre

Page 7: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 7

Cours Animat

Etude de la verticalisation Outils d’analyse du

mouvement humain Mise en évidence des

phénomènes clefs Quantification nécessaire à

la validation des modèles

Page 8: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 8

Cours Animat

Ajustements posturaux anticipatifs

A/P

V

Vz

A/P

CoP

0.5 m

0.2 m/s

1 m/s

TO FC TO FC

Vzm

Vz(FC)

Vz = Vz(FC) - Vzm , magnitude of braking

young adult elderly subject

Jeune : Vz > 0 ; Sujets âgés :Vz = 0

Etude fine de la dynamique du pas

Freinage de la chute du centre de masse

Perte de la capacité d’anticipation chez le sujet âgé

Welter et al. (2007) Control of vertical components of gait during initiation of walking in normal adults and patients with progressive supranuclear palsy. Gait Posture. 26(3):393-9

Page 9: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 9

Cours Animat

Architecture de commande Contrôleur pour les ajustements posturaux réactifs

(feedback) Contrôleur prédictif pour les ajustements posturaux

anticipatifs (feedforward)

Commande optimale en feedback (OFC)•Harris&Wolpert•Todorov•Guigon (2007)

Maîtrise de la taille du problème Difficulté à apprendre la dynamique (M,B,G) en ligne

Page 10: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 10

Cours Animat

DécompositionDécompositionmodulairemodulaire

Page 11: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 11

Cours Animat

Travaux en coursTravaux en cours Plutôt que de chercher des méthodes de pointe pour les

grandes dimensions Décomposer en modules qui ont une représentation

partielle Instanciés par une brique de base Apprentissage de forward models par LWPR Commande optimale simple (LQC/Operational space

control) Focalisation sur la coordination des modules pour gérer

les couplages

Page 12: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 12

Cours Animat

JacobienneJacobiennedx

dy

dq1

Déplacement d’un point de fonctionnement dans un référentiel lié à un but

Déplacement des angles articulaires

dq2

dq3

dX = J(Q) dQX=(x,y)

Q=(q1,q2,q3)

Page 13: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 13

Cours Animat

Operational Space ControlOperational Space Control

Equation de la dynamiqueEquation de la dynamique

Pour une tâche donnée, on sait calculer les couples pour Pour une tâche donnée, on sait calculer les couples pour obtenir dX via J(q)obtenir dX via J(q)##

Permet de faire proprement de la composition de tâchesPermet de faire proprement de la composition de tâches Pour une seconde tâche, on projette dans le noyau de la Pour une seconde tâche, on projette dans le noyau de la

jacobienne de la première tâche, du coup la première jacobienne de la première tâche, du coup la première tâche n’est pas altéréetâche n’est pas altérée

Et ainsi de suite tant qu’il reste des degrés de libertéEt ainsi de suite tant qu’il reste des degrés de liberté

Page 14: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 14

Cours Animat

Composition de tâchesComposition de tâches

Tâches dans l’espace opérationnel : réduit la dimension du problème

Découpler des tâches triées par priorité : projeter dans le noyau de la jacobienne

Problèmes : trier, connaître la

jacobienne tâches incompatibles

Page 15: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 15

Cours Animat

Optimal ControlOptimal Control

Bon cadre pour apprendre la dynamique Attention, xt = (Q,dQ) Si critère = ∫xQx+uRu dxdu, LQC => Ricatti

Page 16: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 16

Cours Animat

Commande optimale asservieà la trajectoire

Mouvement dans l’espace de la tâche

Adaptation motrice

Operational Space Control Optimal control

Apprendre J(q)# Apprendre A et B

Page 17: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 17

Cours Animat

DécompositionDécompositionbiologiquement biologiquement

fondéefondée

Page 18: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 18

Cours Animat

Système nerveux centralSystème nerveux central

Page 19: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 19

Cours Animat

Connaissances Connaissances neurophysiologiquesneurophysiologiques

Page 20: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 20

Cours Animat

MOSAIC (Haruno, Wolpert…MOSAIC (Haruno, Wolpert…98-03)98-03)

Chaque module répond au Chaque module répond au mieux pour un sous-domaine mieux pour un sous-domaine de l’espace d’étatsde l’espace d’états

Commande = somme Commande = somme pondérée des IMpondérée des IM

Le cervelet réalise un ensemble de couples FM/IMLe cervelet réalise un ensemble de couples FM/IMLes FM sont construits par apprentissage superviséLes FM sont construits par apprentissage superviséQualité de la prédiction du FM => Responsibility Signal (RS)Qualité de la prédiction du FM => Responsibility Signal (RS)

Page 21: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 21

Cours Animat

Décomposition modulaire : Décomposition modulaire : MOSAICMOSAIC

Proche des mixtures d’experts, Proche des mixtures d’experts, sauf que softmax plutôt que WTAsauf que softmax plutôt que WTAPb : signal de correction pour le modèle inverse (?)Pb : signal de correction pour le modèle inverse (?)

La force de l’apprentissage La force de l’apprentissage % au RS% au RS

Principe de spécialisation Principe de spécialisation émergenteémergente

Page 22: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 22

Cours Animat

MOSAIC : vue d’ensembleMOSAIC : vue d’ensemble

Responsibility predictor = entrée visuelle (stabilise)Responsibility predictor = entrée visuelle (stabilise)Feedback controllerFeedback controller (hardwired) pour corriger IM (hardwired) pour corriger IMNombreux choix « lourds » (HMM, bayésien, nb modules)Nombreux choix « lourds » (HMM, bayésien, nb modules)

Page 23: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 23

Cours Animat

APG (Barto 99) : pulse step APG (Barto 99) : pulse step controlcontrol

Ajustement anticipatif durée et amplitude de commandeAjustement anticipatif durée et amplitude de commande

Pas de Pas de forward modelforward model explicite explicite

Page 24: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 24

Cours Animat

APG : vue d’un module du APG : vue d’un module du cerveletcervelet

Plus proche du niveau cellulairePlus proche du niveau cellulaireFocalisé sur les délaisFocalisé sur les délais

Restreint à 1D, et correcteur Restreint à 1D, et correcteur ad hocad hoc

Corriger le poids Corriger le poids des PF de façon à des PF de façon à faire décroitre faire décroitre l’erreurl’erreur

Erreur connue Erreur connue plus tard => traces plus tard => traces d’éligibilitésd’éligibilités

Page 25: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 25

Cours Animat

APG + MOSAICAPG + MOSAIC

On retrouve les directions préféréesOn retrouve les directions préférées

Mais on a toujours besoin d’un correcteur Mais on a toujours besoin d’un correcteur ad hocad hoc

On corrige plus On corrige plus celui qui répond celui qui répond davantage dans la davantage dans la direction de la direction de la correctioncorrection

Page 26: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 26

Cours Animat

AR indirect : MMRLAR indirect : MMRL

Pb clé : RL dans le cas continu…Pb clé : RL dans le cas continu…

Remplace les IM par Remplace les IM par •RL (discret) RL (discret) •commande optimale (continu)commande optimale (continu)

Proche de SalaünProche de Salaün

Plus clair que MOSAICPlus clair que MOSAIC

Page 27: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 27

Cours Animat

Séquences motricesSéquences motrices

Page 28: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 28

Cours Animat

Séquences motrices

Modèle associant contextes sensori-moteurs et répertoires d’objectifs opérationnels

Apprentissage par renforcement de séquences complexes de tâches élémentaires

Gabalda et al. (2007) Learning postures through sensorimotor training: a human simulation case study. 7th Epigenetic Robotics, 29-36

Page 29: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 29

Cours Animat

Cartes auto-organisatrices de Cartes auto-organisatrices de KohonenKohonen

Représentation en deux dimensions de données à plusieurs dimensions

Conservation du voisinage topologique

Extension des domaines par entraînement

Page 30: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 30

Cours Animat

Etudes neurophysiologiques Etudes neurophysiologiques chez le singechez le singe

Stimulation du gyrus précentral

Mouvements vers une posture finale

Répertoire de postures au niveau du gyrus précentral

Graziano et al. (2005)Graziano (2006)

Page 31: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 31

Cours Animat

Interaction de trois cartes

Aflalo & Graziano (2006)

somatotopie type de posture position de la main

Etudes neurophysiologiques Etudes neurophysiologiques chez le singechez le singe

Page 32: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 32

Cours Animat

Séquence de Séquence de contextescontextes

attraper manipuler manger se protéger

fruit à portée fruit en main fruit décortiqué agression

Page 33: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 33

Cours Animat

InitialisatInitialisationion

initialisation carte 1 carte 2

mangerattraper manipuler se protéger

Obtenues à partir de 2 millions de postures aléatoires(dans des ordres différents)

Page 34: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 34

Cours Animat

Liens contextes - Liens contextes - neuronesneurones

384 cellules de posture-but

Chaque cellule de contexte est liée aux 384 cellules de but

Contexte = état, Cellule de but = action

La force d’un lien est une Q-valeur

Page 35: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 35

Cours Animat

Sélection d’un Sélection d’un butbut

L’activation d’un contexte déclenche l’activation de la cellule but la plus fortement liée (sans exploration)

Page 36: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 36

Cours Animat

Détermination de la posture Détermination de la posture viséevisée

La cellule but code un objectif dans l’espace des tâches

Page 37: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 37

Cours Animat

Mouvement vers la Mouvement vers la posture cibleposture cible

Une loi de commande bas-niveau

réalise le geste vers le but

Page 38: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 38

Cours Animat

Vérification des Vérification des contraintescontraintes

Durant le déroulement du geste,

on vérifie si une récompense est reçue

Page 39: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 39

Cours Animat

Posture récompenséePosture récompensée

Si une posture but est atteinte, on touche une récompense locale

Page 40: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 40

Cours Animat

Apprentissage (1) Apprentissage (1) augmentation du lien contexte augmentation du lien contexte

-but-but

Page 41: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 41

Cours Animat

Apprentissage (2) Apprentissage (2) entraentraînement de la carteînement de la carte

Page 42: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 42

Cours Animat

Carte Carte appriseapprise

Page 43: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 43

Cours Animat

Vue globale du Vue globale du modèlemodèle

Page 44: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 44

Cours Animat

SynthèseSynthèse Un processus bas niveau pour la commande motrice et

l’adaptation motrice (cf. cours sur le geste élémentaire)

Une couche intermédiaire correspondant à un répertoire d’objectifs opérationnels

Une couche supérieure assurant la sélection de ces objectif et l’enchaînement des gestes correspondant

Travaux de modélisation plus fine aux 3 niveaux Focalisation sur la couche de sélection de l’action

Page 45: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 45

Cours Animat

Ganglions de la base

Page 46: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 46

Cours Animat

Modèle Samejima-Doya étendu

Page 47: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 47

Cours Animat

Modèle Frank-Claus [Frank2006]

Page 48: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 48

Cours Animat

Robotique Robotique développementaledéveloppementale

Page 49: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 49

Cours Animat

Au-delà du contrôle moteur : robotique développementale

•Projet iCub français classé 2ième sur 31 (ISIR porteur) : apprentissage moteur et interaction sociale

Page 50: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 50

Cours Animat

La perception comme action La perception comme action simuléesimulée Le système moteur est actif lors de la perception des

actions d’autrui Les « neurones miroirs » déchargent à la fois quand

nous faisons une action et quand nous l’observons chez autrui (Rizzolati 98)

Une aire pré-motrice est activée lorsqu’on observe des outils ou qu’on lit/entend des verbes d’action

Idée que la simulation interne d’une action observée ou de l’usage d’un outil perçu sert à l’interprétation

Page 51: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 51

Cours Animat

Un modèle pour Un modèle pour l’interprétation du gestel’interprétation du geste

Demiris : perception d’autrui et imitation

Page 52: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 52

Cours Animat

Vers l’IA symboliqueVers l’IA symbolique Le système moteur est impliqué dans un mécanisme

d’interprétation Les « neurones miroirs » sont dans F5 chez le singe, qui

correspond à l’aire de Broca (langage) chez l’homme L’action simulée comme racine des représentations de

l’action d’autrui, puis des pensées d’autrui (théorie de l’esprit) puis du langage

Fournit un ancrage aux « symboles » de l’IA symbolique

Page 53: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 53

Cours Animat

Approche animat et contrôle Approche animat et contrôle moteurmoteur

Raisonnement

PlanificationLangage, symboles

Navigation Sélection de l’action

Commande motrice

Page 54: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 54

Cours Animat

Stages non pourvusStages non pourvus

Page 55: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 55

Cours Animat

Commande prédictiveCommande prédictive Minimiser sur un intervalle [0,n] la fonction f(x,u) Sous les contraintes : X1 = AX0+BU0

X2 = AX1+BU1

X3 = AX2+BU2

… XN = AXN-1+BUN-1

Un solveur cherche les Ui.

Horizon glissant. Fast NMPC : prédire les commandes suivantes pendant

qu’on exécute les commandes courantes

Contraintes linéaires

Page 56: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 56

Cours Animat

Optimisation de paramètres pour Optimisation de paramètres pour OSC/LQC :OSC/LQC :

application aux mouvements capturésapplication aux mouvements capturés

Thèse possible : à l’interface entre l’animation et la commande robotique

Trouver les paramètres qui permettent de coller au mouvement capturé

Comparer le cadre OSC et le cadre LQC

Recherche du « bon » formalisme pour le contrôle moteur humain

Page 57: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 57

Cours Animat

LWPR temps réel pour Bioloid

Porter le code MATLAB de Camille Salaün sous URBI for Bioloid, puis mettre au point la manip d’apprentissage du geste

Page 58: Olivier Sigaud ISIR Olivier.Sigaud@lip6.fr

Page : 58

Cours Animat

Bon courage pour vos stages…Bon courage pour vos stages…

… … et pour le projet Animat ! ;)et pour le projet Animat ! ;)