• Aucun résultat trouvé

3.2 Séquences d’actions, basées sur un modèle relatif et des simulations

3.2.3 Architecture du modèle sensorimoteur dynamique (DSM)

Cette commande motrice peut devenir imprécise, de par un apprentissage approximatif, ou de par les changements de contextes au cours de la trajectoire. Cependant, la commande MDes est calculée à chaque itération et est donc continuellement adaptée.

Dans le second cas, si δsMSim

i est au-deçà du seuil T h2, le modèle teste l’efficacité du contexte qui donne la plus grande affordance différée. Pour ce faire, à chaque itération le méca-nisme de sélection vérifie si δsSSimM ax

i a la valeur la plus élevée jamais rencontrée. Si la valeur cou-rante est plus élevée, il actualise le couple formé par {SSim

M ax, δsSSimM ax

i } avec les valeurs courantes {SSim, δsSSim

i }. Ensuite, si δsSSimM ax

i est au-delà du seuil T h2, l’entrée simulée correspondante est envoyée : SDes = SSimM ax. Le diagramme dédié au SLS, figure3.10, illustre ces mécanismes internes.

3.2.3 Architecture du modèle sensorimoteur dynamique (DSM)

Le Modèle Sensorimotrice Dynamique (DSM) traite différents buts désirés, et commandes mo-trices désirées. L’idée est que, pour un but donné, DSM utilise les différents SLS pour trouver les commandes motrices et les sous-buts les plus appropriés pour atteindre ce but, en le faisant agir, et si nécessaire exécuter des séquences d’actions jamais apprises.

Un but est un vecteur SDesde l senseurs, avec l plus petit ou égal au nombre total de senseurs du robot. La distance entre les valeurs courantes des senseurs SReal, et SDes, qui est donc la distance entre le contexte courant et le contexte désiré, est calculée pour obtenir l différents δsDes

i , lesquels sont envoyés aux SLSicorrespondants, voir la figure3.9.

Ces derniers envoient des sous-buts SDes ou des commandes motrices MDes. Un méca-nisme de sélection est donc nécessaire ici pour traiter les buts et les sous-buts récursifs, ainsi que les différentes commandes motrices, éventuellement en opposition sur les mêmes moteurs. Dans

3.2. SÉQUENCES D’ACTIONS, BASÉES SUR UN MODÈLE RELATIF ET DES SIMULATIONS

GOAL

SUB-GOALS

Distance

Computation WeightingEfficiency

Selected Selected Working Memory Priority Selection (PS) (DC)

FIGURE 3.9 – Le modèle Sensorimoteur Dynamique (DSM). Pour un but initial donné, DSM génère des sous-buts et sélectionne les commandes motrices les plus efficaces, provenant de différents SLS. Il utilise un mécanisme de sélection (représenté comme le “Priority Mechanism”, PS) pour choisir entre les sous-buts et le but initial, si ce dernier est immédiatement réalisable. Il envoie ensuite, pour chaque senseur, aux différents SLSs correspondants, la variation sensorielle désirée qui permettra d’atteindre le but sélectionné. Une mémoire de travail est utilisée pour conserver en mémoire le but sélectionné.

cette implémentation, nous proposons un mécanisme de priorité, où chaque but (ou sous-but, ils sont traités de la même manière) est couplé à une valeur de priorité P . Pour le but initial, nous fixons PGoal = 1. Le mécanisme sélectionne simplement la priorité avec la valeur maximale, et envoie les SDeset MDessélectionnés. Le SDes, couplé à sa priorité P = p, est alors envoyé au mécanisme de calcul de distance (DC), lequel calcule l’ensemble des distances au vecteur sensations réelles courantes. Les couples distances - priorités sont alors envoyés aux SLSs cor-respondants. Ceux-ci, en retour, envoient éventuellement de nouveau SDes ou MDes, couplés cette fois à la priorité P = p + 1.

Une fois que le mécanisme de sélection a opéré, il est encore possible, pour certaine com-mandes motrices, d’avoir des valeurs opposées sur les mêmes moteurs (chaque SLS peut envoyer un vecteur MDesconcernant tous les moteurs, et ayant la même priorité). Le problème avait été abordé dans la section3.1.4. Suivant un principe identique pour le résoudre, nous avons donc ajouté, à la suite du mécanisme de sélection, un second mécanisme de pondération par l’effi-cacité (“Efficiency Weighting”), qui concerne l’ensemble des MDesen sortie du mécanisme de sélection. Les commandes motrices provenant du SLS sont individuellement couplées avec une valeur d’efficacité E (voir le point 2 de la section3.2.2). En ce qui concerne la manière de calculer cette valeur E, on pourrait défendre l’idée que la valeur δsMSim

CHAPITRE 3. MODÈLE RELATIF, SIMULATIONS ET RÉALISATION DE SÉQUENCES

nous avons appelé la valeur d’affordance, mesurant l’importance de la variation prédite d’un senseur en cas d’activité motrice, serait suffisante pour remplir ce rôle : nous aurions alors une simple compétition entre affordances. Cependant, cette valeur ne prend pas en compte “l’utili-té” de cette affordance dans le cadre du but poursuivi, autrement dit en quoi celle-ci est utile à l’accomplissement de la tâche en cours. Nous proposons donc plutôt que E = δsMSim

i ∗ δsDes i , de sorte que l’efficacité correspond finalement à la potentielle quantité de travail nécessaire pour atteindre le but courant. Bien qu’il existe potentiellement de multiples manières de calculer la commande motrice M qui sera réellement envoyée au robot, en se basant sur l’efficacité E (comme les solutions basées sur une combinaison linéaire de toutes les commandes reçues, qui auront pour défaut de rendre imprédictible la commande motrice réellement effectuée), la com-mande motrice qui sera envoyée en sortie de EW sera, pour chaque moteur, la comcom-mande dont la valeur d’efficacité est maximale. Notons que comme E reste fortement lié à la valeur affordan-cielle au sein du contexte courant, cette méthode sélectionnant l’efficacité maximale reste très proche de l’idée de la compétition entre affordance (voir [Cisek,2007] et la section1.1.5).

Dans la figure3.10, on peut voir une implémentation de DSM dans un diagramme qui inclut les équations principales des mécanismes internes. Par souci de simplicité, celui-ci est simplifié et n’inclut pas le mécanisme de pondération par l’efficacité.

Les buts, c’est-à-dire des paires constituées d’un vecteur contenant une configuration de senseurs désirée, et d’une valeur de priorité, sont envoyés au module de sélection de priorité, lequel sélectionne le but ayant la priorité la plus élevée. Le module de calcul de distance envoie ensuite chaque variation de senseur requise, associée à sa priorité, au SLS correspondant. Chaque SLS utilise alors des simulations, sur le SLE auquel il est lié, pour calculer la variation du senseur dans le cas d’une activité motrice dans le cadre du contexte en cours, ou encore dans le cadre d’un autre contexte. En fonction d’un seuil, les SLSs envoient soit une commande motrice, soit un contexte désiré (c’est-à-dire une configuration de senseurs) en tant que nouveau sous-but associé à une priorité plus élevée.

DSM permet aux commandes motrices d’être exécutées dès que possible, tandis que des comportements séquentiels peuvent émerger à la volée. Prenons un exemple. Soit un but consis-tant à atteindre un point donné (tâche d’atteinte). Le, ou les SLSs correspondant à la main en-voient des commandes motrices MDespermettant de rapprocher la main robotique de la cible : si un tel mouvement est possible, ils n’envoient donc pas de SDesà ce stade. Or si la main ne peut pas, ou plus se rapprocher suffisamment de la cible, alors le SLS concerné peut envoyer un contexte SDespermettant de rapprocher malgré tout la main, si un tel contexte existe. En suppo-sant qu’avoir un outil dans la main ait été appris comme permettant une extension de la longueur du bras, alors un SDes, correspondant à avoir un sous-but "avoir l’outil dans la main", peut être envoyé. La section suivante reprend cette expérience et l’expliquera en détail. Mais notons que de par l’interaction avec les autres SLSs, le SLS de la main qui a envoyé ce sous-but, afin de pouvoir rejoindre la cible, peut se voir attribuer une nouvelle tâche qui consistera justement à ré-duire la distance de la main à l’outil, avec de fait un nouveau δsDes

i . Mais alors nous rencontrons le problème suivant. Le SLS émetteur du sous-but se trouve lui-même attribué d’une nouvelle tâche, et ainsi le sous-but, pourtant à l’origine de cette nouvelle tâche, ne sera plus émis et donc maintenu, et se trouve en quelque sorte oublié. Ce problème trouve son origine dans le fait que, au sein de cette séquence particulière hiérarchisant les différents buts de par le mécanisme de priorité, le SLS de la main se retrouve à deux endroits hiérarchiques différents, et ne peut donc à la fois avoir le rôle d’envoyer constamment un sous-but, jusqu’à son achèvement, et celui

3.2. SÉQUENCES D’ACTIONS, BASÉES SUR UN MODÈLE RELATIF ET DES SIMULATIONS

...

Motor command

GOAL

...

Priority selection Distance computation Working Memory

Yes

No

Yes

No

+

FIGURE3.10 – Diagramme de l’implémentation de DSM utilisé dans nos travaux.

d’exécuter les tâches nécessaire à son exécution. Pezzulo et Castelfranchi suggèrent qu’une mé-moire de travail est nécessaire pour maintenir des but distants (voir [Pezzulo and Castelfranchi,

2009]. Adaptant leur suggestion, tous les sDes

i du vecteur SDessont stockés dans une mémoire de travail (“working memory”) au sein du mécanisme de sélection de priorité, lequel est aussi responsable de leur effacement, un par un, lorsque |sDes

i − sReal

CHAPITRE 3. MODÈLE RELATIF, SIMULATIONS ET RÉALISATION DE SÉQUENCES