Apprentissage du contrle moteur architectures Olivier Sigaud ISIR

  • Slides: 58
Download presentation
Apprentissage du contrôle moteur : architectures Olivier Sigaud ISIR Olivier. Sigaud@lip 6. fr Cours

Apprentissage du contrôle moteur : architectures Olivier Sigaud ISIR Olivier. Sigaud@lip 6. fr Cours Animat Page : 1

PLAN Coordination posture-tâche Adaptation Systèmedu comportemental geste élémentaire Apprentissage par de modèles renforcement dynamiques

PLAN Coordination posture-tâche Adaptation Systèmedu comportemental geste élémentaire Apprentissage par de modèles renforcement dynamiques Acquisition Adaptation Ajustements Verticalisation Coordination Adaptation Gestion dede compétences du geste posturaux posture locomotion l’équilibre motrice tâche élémentaire motrices anticipatifs nouvelles Enchaînement Rééducation complexes du geste moteur de tâches Cours Animat Page : 2 découplage des tâches/ commande optimale

Coordination posture-tâche Cours Animat Page : 3

Coordination posture-tâche Cours Animat Page : 3

Commande prédictive n n n n n Minimiser sur un intervalle [0, n] la

Commande prédictive n n n n n Minimiser sur un intervalle [0, n] la fonction f(x, u) Sous les contraintes : X 1 = AX 0+BU 0 X 2 = AX 1+BU 1 X 3 = AX 2+BU 2 … XN = AXN-1+BUN-1 Contraintes linéaires Un solveur cherche les Ui. Horizon glissant. Fast NMPC : prédire les commandes suivantes pendant qu’on exécute les commandes courantes Cours Animat Page : 4

Gestion de l’équilibre Filtre dynamique Programme quadratique Cours Animat Page : 5

Gestion de l’équilibre Filtre dynamique Programme quadratique Cours Animat Page : 5

Quantification de l'équilibre Cours Animat Page : 6

Quantification de l'équilibre Cours Animat Page : 6

Etude de la verticalisation n Outils d’analyse du mouvement humain Mise en évidence des

Etude de la verticalisation n Outils d’analyse du mouvement humain Mise en évidence des phénomènes clefs Quantification nécessaire à la validation des modèles Cours Animat Page : 7

Ajustements posturaux anticipatifs n n n Etude fine de la dynamique du pas Freinage

Ajustements posturaux anticipatifs n n n 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 Cours Animat Page : 8

Architecture de commande Contrôleur pour les ajustements posturaux réactifs (feedback) Contrôleur prédictif pour les

Architecture de commande Contrôleur pour les ajustements posturaux réactifs (feedback) Contrôleur prédictif pour les ajustements posturaux anticipatifs (feedforward) n n Commande optimale en feedback (OFC) • Harris&Wolpert • Todorov • Guigon (2007) n n Maîtrise de la taille du problème Difficulté à apprendre la dynamique (M, B, G) en ligne Cours Animat Page : 9

Décomposition modulaire Cours Animat Page : 10

Décomposition modulaire Cours Animat Page : 10

Travaux en cours n n n Plutôt que de cher des méthodes de pointe

Travaux en cours n n n Plutôt que de cher 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 Cours Animat Page : 11

Jacobienne dx dy dq 3 Déplacement d’un point de fonctionnement dans un référentiel lié

Jacobienne dx dy dq 3 Déplacement d’un point de fonctionnement dans un référentiel lié à un but dq 2 dq 1 Déplacement des angles articulaires d. X = J(Q) d. Q Cours Animat Page : 12 X=(x, y) Q=(q 1, q 2, q 3)

Operational Space Control n Equation de la dynamique n Pour une tâche donnée, on

Operational Space Control n Equation de la dynamique n Pour une tâche donnée, on sait calculer les couples pour obtenir d. X via J(q)# Permet de faire proprement de la composition de tâches Pour une seconde tâche, on projette dans le noyau de la jacobienne de la première tâche, du coup la première tâche n’est pas altérée Et ainsi de suite tant qu’il reste des degrés de liberté n n n Cours Animat Page : 13

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

Composition de tâches n Tâches dans l’espace opérationnel : réduit la dimension du problème n Découpler des tâches triées par priorité : projeter dans le noyau de la jacobienne n Problèmes : q q q trier, connaître la jacobienne tâches incompatibles Cours Animat Page : 14

Optimal Control n Bon cadre pour apprendre la dynamique Attention, xt = (Q, d.

Optimal Control n Bon cadre pour apprendre la dynamique Attention, xt = (Q, d. Q) n Si critère = ∫x. Qx+u. Ru dxdu, LQC => Ricatti n Cours Animat Page : 15

Adaptation motrice Optimal control Operational Space Control Commande optimale asservie à la trajectoire Mouvement

Adaptation motrice Optimal control Operational Space Control Commande optimale asservie à la trajectoire Mouvement dans l’espace de la tâche Apprendre J(q)# Apprendre A et B Cours Animat Page : 16

Décomposition biologiquement fondée Cours Animat Page : 17

Décomposition biologiquement fondée Cours Animat Page : 17

Système nerveux central Cours Animat Page : 18

Système nerveux central Cours Animat Page : 18

Connaissances neurophysiologiques Cours Animat Page : 19

Connaissances neurophysiologiques Cours Animat Page : 19

MOSAIC (Haruno, Wolpert… 9803) Chaque module répond au mieux pour un sous-domaine de l’espace

MOSAIC (Haruno, Wolpert… 9803) Chaque module répond au mieux pour un sous-domaine de l’espace d’états Commande = somme pondérée des IM Le cervelet réalise un ensemble de couples FM/IM Les FM sont construits par apprentissage supervisé Qualité de la prédiction du FM => Responsibility Signal (RS) Cours Animat Page : 20

Décomposition modulaire : MOSAIC La force de l’apprentissage % au RS Principe de spécialisation

Décomposition modulaire : MOSAIC La force de l’apprentissage % au RS Principe de spécialisation émergente Proche des mixtures d’experts, sauf que softmax plutôt que WTA Pb : signal de correction pour le modèle inverse (? ) Cours Animat Page : 21

MOSAIC : vue d’ensemble Responsibility predictor = entrée visuelle (stabilise) Feedback controller (hardwired) pour

MOSAIC : vue d’ensemble Responsibility predictor = entrée visuelle (stabilise) Feedback controller (hardwired) pour corriger IM Nombreux choix « lourds » (HMM, bayésien, nb modules) Cours Animat Page : 22

APG (Barto 99) : pulse step control Ajustement anticipatif durée et amplitude de commande

APG (Barto 99) : pulse step control Ajustement anticipatif durée et amplitude de commande Pas de forward model explicite Cours Animat Page : 23

APG : vue d’un module du cervelet Corriger le poids des PF de façon

APG : vue d’un module du cervelet Corriger le poids des PF de façon à faire décroitre l’erreur Erreur connue plus tard => traces d’éligibilités Plus proche du niveau cellulaire Focalisé sur les délais Restreint à 1 D, et correcteur ad hoc Cours Animat Page : 24

APG + MOSAIC On corrige plus celui qui répond davantage dans la direction de

APG + MOSAIC On corrige plus celui qui répond davantage dans la direction de la correction On retrouve les directions préférées Mais on a toujours besoin d’un correcteur ad hoc Cours Animat Page : 25

AR indirect : MMRL Remplace les IM par • RL (discret) • commande optimale

AR indirect : MMRL Remplace les IM par • RL (discret) • commande optimale (continu) Proche de Salaün Plus clair que MOSAIC Pb clé : RL dans le cas continu… Cours Animat Page : 26

Séquences motrices Cours Animat Page : 27

Séquences motrices Cours Animat Page : 27

Séquences motrices n n Modèle associant contextes sensori-moteurs et répertoires d’objectifs opérationnels Apprentissage par

Séquences motrices n n 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. 7 th Epigenetic Robotics, 29 -36 Cours Animat Page : 28

Cartes auto-organisatrices de Kohonen Représentation en deux dimensions de données à plusieurs dimensions Conservation

Cartes auto-organisatrices de Kohonen Représentation en deux dimensions de données à plusieurs dimensions Conservation du voisinage topologique Extension des domaines par entraînement Cours Animat Page : 29

Etudes neurophysiologiques chez le singe Graziano et al. (2005) Graziano (2006) Stimulation du gyrus

Etudes neurophysiologiques chez le singe Graziano et al. (2005) Graziano (2006) Stimulation du gyrus précentral Mouvements vers une posture finale Répertoire de postures au niveau du gyrus précentral Cours Animat Page : 30

Etudes neurophysiologiques chez le singe Interaction de trois cartes somatotopie type de posture position

Etudes neurophysiologiques chez le singe Interaction de trois cartes somatotopie type de posture position de la main Aflalo & Graziano (2006) Cours Animat Page : 31

Séquence de contextes fruit à portée fruit en main fruit décortiqué agression attraper manipuler

Séquence de contextes fruit à portée fruit en main fruit décortiqué agression attraper manipuler manger Cours Animat Page : 32 se protéger

initialisation carte 1 attraper Initialisatio n manipuler manger carte 2 se protéger Obtenues à

initialisation carte 1 attraper Initialisatio n manipuler manger carte 2 se protéger Obtenues à partir de 2 millions de postures aléatoires (dans des ordres différents) Cours Animat Page : 33

Liens contextes - neurones 384 cellules de posture-but Chaque cellule de contexte est liée

Liens contextes - neurones 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 Cours Animat Page : 34

Sélection d’un but L’activation d’un contexte déclenche l’activation de la cellule but la plus

Sélection d’un but L’activation d’un contexte déclenche l’activation de la cellule but la plus fortement liée (sans exploration) Cours Animat Page : 35

Détermination de la posture visée La cellule but code un objectif dans l’espace des

Détermination de la posture visée La cellule but code un objectif dans l’espace des tâches Cours Animat Page : 36

Mouvement vers la posture cible Une loi de commande bas-niveau réalise le geste vers

Mouvement vers la posture cible Une loi de commande bas-niveau réalise le geste vers le but Cours Animat Page : 37

Vérification des contraintes Durant le déroulement du geste, on vérifie si une récompense est

Vérification des contraintes Durant le déroulement du geste, on vérifie si une récompense est reçue Cours Animat Page : 38

Posture récompensée Si une posture but est atteinte, on touche une récompense locale Cours

Posture récompensée Si une posture but est atteinte, on touche une récompense locale Cours Animat Page : 39

Apprentissage (1) augmentation du lien contexte -but Cours Animat Page : 40

Apprentissage (1) augmentation du lien contexte -but Cours Animat Page : 40

Apprentissage (2) entraînement de la carte Cours Animat Page : 41

Apprentissage (2) entraînement de la carte Cours Animat Page : 41

Carte apprise Cours Animat Page : 42

Carte apprise Cours Animat Page : 42

Vue globale du modèle Cours Animat Page : 43

Vue globale du modèle Cours Animat Page : 43

Synthèse n Un processus bas niveau pour la commande motrice et l’adaptation motrice (cf.

Synthèse n Un processus bas niveau pour la commande motrice et l’adaptation motrice (cf. cours sur le geste élémentaire) n Une couche intermédiaire correspondant à un répertoire d’objectifs opérationnels n Une couche supérieure assurant la sélection de ces objectif et l’enchaînement des gestes correspondant n Travaux de modélisation plus fine aux 3 niveaux Focalisation sur la couche de sélection de l’action n Cours Animat Page : 44

Ganglions de la base Cours Animat Page : 45

Ganglions de la base Cours Animat Page : 45

Modèle Samejima-Doya étendu Cours Animat Page : 46

Modèle Samejima-Doya étendu Cours Animat Page : 46

Modèle Frank-Claus [Frank 2006] Cours Animat Page : 47

Modèle Frank-Claus [Frank 2006] Cours Animat Page : 47

Robotique développementale Cours Animat Page : 48

Robotique développementale Cours Animat Page : 48

Au-delà du contrôle moteur : robotique développementale • Projet i. Cub français classé 2

Au-delà du contrôle moteur : robotique développementale • Projet i. Cub français classé 2 ième sur 31 (ISIR porteur) : apprentissage moteur et interaction sociale Cours Animat Page : 49

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

n n La perception comme action simulé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 Cours Animat Page : 50

Un modèle pour l’interprétation du geste Demiris : perception d’autrui et imitation Cours Animat

Un modèle pour l’interprétation du geste Demiris : perception d’autrui et imitation Cours Animat Page : 51

Vers l’IA symbolique n n Le système moteur est impliqué dans un mécanisme d’interprétation

Vers l’IA symbolique n n Le système moteur est impliqué dans un mécanisme d’interprétation Les « neurones miroirs » sont dans F 5 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 Cours Animat Page : 52

Approche animat et contrôle moteur Raisonnement Langage, symboles Planification Navigation Sélection de l’action Commande

Approche animat et contrôle moteur Raisonnement Langage, symboles Planification Navigation Sélection de l’action Commande motrice Cours Animat Page : 53

Stages non pourvus Cours Animat Page : 54

Stages non pourvus Cours Animat Page : 54

Commande prédictive n n n n n Minimiser sur un intervalle [0, n] la

Commande prédictive n n n n n Minimiser sur un intervalle [0, n] la fonction f(x, u) Sous les contraintes : X 1 = AX 0+BU 0 X 2 = AX 1+BU 1 X 3 = AX 2+BU 2 … XN = AXN-1+BUN-1 Contraintes linéaires Un solveur cherche les Ui. Horizon glissant. Fast NMPC : prédire les commandes suivantes pendant qu’on exécute les commandes courantes Cours Animat Page : 55

Optimisation de paramètres pour OSC/LQC : application aux mouvements capturés n n Trouver les

Optimisation de paramètres pour OSC/LQC : application aux mouvements capturés n n 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 Thèse possible : à l’interface entre l’animation et la commande robotique Cours Animat Page : 56

LWPR temps réel pour Bioloid Porter le code MATLAB de Camille Salaün sous URBI

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 Cours Animat Page : 57

Bon courage pour vos stages… … et pour le projet Animat ! ; )

Bon courage pour vos stages… … et pour le projet Animat ! ; ) Cours Animat Page : 58