robotique combinant comportement habituel et dirigé vers un but
6.2 Illustration expérimentale .1 Expérience.1 Expérience
Notre architecture est implémentée avec ROS (Quigley et al. 2009), ce qui la rend
théoriquement directement transférable entre une simulation et un robot réel. Nous simu-lons un robot simplifié contrôlé par notre architecture afin d’évaluer son efficacité dans
une tâche jouet de poussée de blocs (figure6.4).
Le robot simulé est placé devant un tapis roulant discret sur lequel sont placés des
blocs. Ces blocs sont entraînés à une vitesse vb et à une distance dib l’un de l’autre. Dans
cette thèse, nous garderons dib constante (4 blocs), mais nous nous autoriserons à faire
changer vbs pendant l’expérience, ce qui permet de définir deux conditions :
1. Condition régulière (RC) : vb ne varie pas, l’environnement évolue de manière
pré-dictible. La méthode d’arbitrage doit préférentiellement donner la main à l’expert
habituel après qu’il ait appris, cet expert étant supposé capable de contrôler une politique performante pour un bas coût computationnel.
2. Condition changement de vitesse (SS) : vb change de valeur environ à mi-expérience
après une phase constante. La méthode d’arbitrage doit redonner la main à l’expert
dirigé vers un but, supposé plus rapide à se réadapter à de nouvelles conditions en prenant en compte le nouveau modèle du monde.
Perception et construction de l’état
Comme nous l’avons précisé plus haut, l’agent construit les états manipulés par la couche de décision à partir des perceptions à sa disposition. Dans cette expérience, l’agent dispose de deux modalités : une modalité visuelle et une modalité tactile. La première
apporte une information binaire sur la présence d’un bloc en Cc, la second sur la présence
d’un bloc en Ca. De ces modalités sont respectivement produits les signaux binaires pbs
(pour block seen) et pbt (pour block touched). Ces signaux alimentent une mémoire discrète
Figure 6.5 – Gauche : Évolution de l’environnement ; Centre : MDP théorique obtenu en suivant la politique indiquée et étant donné l’environnement décrit à gauche. Les chiffres représentent l’identifiant de l’état et sont directement la valeur décimale de la valeur binaire encodée par chaque mémoire, avec le bit de poids faible à gauche ; Droite : évolution des mémoires en fonction de la politique et de l’environnement. État (0, 1) : l’action LC faite dans l’état précédent, quand un bloc est présent en Cc permet de mettre à jour la mémoire correspondante. Cette action répétée en (0, 1) indique l’absence de bloc. L’état évolue naturellement vers (0, 2) du fait de la mise à jour temporelle de la mémoire. En (0, 2), PA permet de toucher et enlever le bloc précédemment vu, et l’état évolue vers (1, 4). Les actions suivantes ne montrent la présence d’aucun bloc et les mémoires se vident progressivement pour un retour à l’état (0, 0).
71
Figure 6.6 – Module de perception pour la tâche de poussée de blocs. La couleur des cases correspond à l’information binaire de la présence d’un bloc (noir : présence, blanc : ab-sence). pbt, pbs sont les signaux per-ceptuels instantanés, qui alimentent le premier élement de leur mémoire respective (mbt(0), mbs(0). Les mé-moires Mbt, Mbs sont concaténées pour former un vecteur de variables binaires qui définit l’état actuel ex-périmenté par l’agent.
perçue par la modalité dans le passé. La configuration des mémoires à un instant t forme
l’état st manipulé par les algorithmes d’AR (voir figure 6.6).
Ces signaux sont calculés en fonction de la présence d’un bloc à l’emplacement mesuré
par leur modalité, et en fonction de l’action faite (6.12).
pbt = Ca· PA, pbs = Cc· LC (6.12) Les mémoires ont une taille finie (fixée à 8 éléments dans l’expérience), l’information la plus ancienne étant oubliée au fur et à mesure. Ces mémoires sont mise à jour
temporel-lement : si une limite de temps est dépassée (tmax = 0.1s) dans l’expérience), les éléments
connus en mémoire sont décalés vers le passé (équation (6.13). Ce décalage se produit
également lorsqu’un signal perceptuel apporte de l’information, afin de mettre à jour le premier élement de la mémoire avec la nouvelle information perçue.
Un exemple de l’évolution des mémoires pendant la tâche est donnée dans la figure 6.5.
mbs,btt (i) = mbs,btt−1(i− 1) ∀i ∈ |M| mbs,btt (0) = pbs,bt (6.13)
Il est à noter que du fait de l’asynchronie entre le comportement du robot et l’environnement, des erreurs perceptuelles peuvent se produire, générant des états n’ayant pas de corres-pondance dans l’environnement. Par exemple, faire LC au moment où un bloc est présent
en Cc permet de mettre à 1 le premier élément de la mémoire correspondante. Mais
si cette action est répétée avant que le bloc n’ait été déplacé dans la simulation, deux éléments consécutifs de la mémoire retiendront la présence d’un bloc. Ainsi, deux états correspondent à la même configuration de l’environnement. Ces imperfections du système de perception participent à évaluer l’intérêt du principe de combiner des comportements
dirigé vers un butethabitueldans des tâches plus proches de la robotique, où l’incertitude sensorielle est permanente.
Table 6.1 – Valeurs testées et choisies des paramètres des experts dans la première version de l’architecture.
Param Valeurs Hab GD
α 0.01, 0.05, 0.1, 0.5, 0.9 0.1 0.5
γ 0.1, 0.5, 0.98, 0.9999 0.9999 0.5
τ 0.01, 0.1, 0.5, 1.0, 5.0 0.05 0.1
Actions
Le robot dispose de 3 actions fournies par son module d’action ; ces actions permettent de modifier l’environnement mais également de mettre à jour les perceptions du robot
(voir 6.2.1). Ces actions sont les suivantes :
1. Ne rien faire (DN pour Do Nothing) : Le robot n’agit pas sur son envi-ronnement et attend la réception du prochain état. Cette action ne modifie pas l’environnement et ne met pas à jour les perceptions, mais n’a pas de coût en terme
de récompense (Rt= 0).