La robotique au service des personnes agées: défis et résultats dans le cadre du projet Nursebot Joelle Pineau - Carnegie Mellon University
La robotique au service des personnes agées:défis et résultats dans le cadre du projet Nursebot
Joelle Pineau - Carnegie Mellon University
Nursebot: La robotique au service des personnes agées Joelle Pineau
Le robot Pearl
• Pearl est un assistant robotisé pour personnes agées et personnel médical.
yeux articulés et caméras
sonars
barre d’appuie
base mobile
plateau de livraison
bouche LCD
écran “touchscreen”microphone et haut-parleurs
laser
Nursebot: La robotique au service des personnes agées Joelle Pineau
Profile d’une population vieillissante
Prévision (E.-U.): 450,000 infirmières à recruter d’ici 2008
Nursebot: La robotique au service des personnes agées Joelle Pineau
Transportd’objets
Transportd’objets
Soins à distanceSoins à distance
SocialisationSocialisation
Appel à l’aideAppel à l’aide
SurveillanceSurveillance
Sourced’information
Sourced’information
Suivi des ADLs(“Activities ofdaily living”)
Suivi des ADLs(“Activities ofdaily living”)
Aide-mémoireAide-mémoire
Aide physiqueAide physique
Lien entrepersonnelde soutien
Lien entrepersonnelde soutien
Notre vision de la robotique gériatrique
Nursebot: La robotique au service des personnes agées Joelle Pineau
Le projet Nursebot à ses débuts
Nursebot: La robotique au service des personnes agées Joelle Pineau
Architecture
Aide-mémoireNavigation Communication
Contrôleuren chef
Nursebot: La robotique au service des personnes agées Joelle Pineau
• Localisation et construction de carte(Burgard et al., 1999)
• Détection des individus(Montemerlo et al., 2002)
• Analyse des mouvements(Bennewitz et al., 2001)
Architecture
Aide-mémoireNavigation Communication
Contrôleuren chef
Nursebot: La robotique au service des personnes agées Joelle Pineau
Navigation à base de système de particules
Nursebot: La robotique au service des personnes agées Joelle Pineau
Détection des individus
Nursebot: La robotique au service des personnes agées Joelle Pineau
Analyse des mouvements
Nursebot: La robotique au service des personnes agées Joelle Pineau
• Système Autominder (Pollack et al., 2002)
Architecture
Aide-mémoireNavigation Communication
Contrôleuren chef
Nursebot: La robotique au service des personnes agées Joelle Pineau
Système Autominder
Horaire del’utilisateur
Modèle del’utilisateur
Info descapteurs
Messagesaide-mémoire
Mise à jourdu plan
Préférences
Info del’utilisateur
Activités àl’horaire
Activités à l’horaire
Activités complétées
Nursebot: La robotique au service des personnes agées Joelle Pineau
• Reconnaissance de la parole: Système Sphinx(Ravishankar, 1996)
• Synthèse de la parole: Système Festival(Black et al., 1999)
Architecture
Aide-mémoireNavigation Communication
Contrôleuren chef
Nursebot: La robotique au service des personnes agées Joelle Pineau
Reconnaissance de la parole avec Sphinx
Nursebot: La robotique au service des personnes agées Joelle Pineau
Le rôle du contrôleur en chef:
• Établir les priorités parmi les objectifs des différents modules
• Négocier entre plusieurs objectifs ayant des coûts/gains variés
• Planifier malgré la présence d’incertitude
• Négocier entre l’acquisition d’information et la rencontre des objectifs
• Établir les priorités parmi les objectifs des différents modules
• Négocier entre plusieurs objectifs ayant des coûts/gains variés
• Négocier entre l’acquisition d’information et la rencontre des objectifs
• Passer d’une tâche à l’autre en partageant l’information sensorielle
• Planifier malgré la présence d’incertitude
Aide-mémoireNavigation Communication
Contrôleuren chef
Nursebot: La robotique au service des personnes agées Joelle Pineau
Le contrôle des robots à base de Processus de Décision Processus de Décision Markoviens Partiellement ObservablesMarkoviens Partiellement Observables (POMDPs)
Utilisateur + Environnement + Robot
Actions
ObservationsCoûts/GainsCroyance
(“belief state”)
Etat
Nursebot: La robotique au service des personnes agées Joelle Pineau
La famille de modèles Markoviens
Chaîne de Markov Modèle de Markov caché(HMM)
Processus de DécisionMarkovien (MDP)
Processus de DécisionMarkovien Partiellement
Observable (POMDP)
Ambiguité quand à l’état?
non oui
Choixd’action?
oui
non
Nursebot: La robotique au service des personnes agées Joelle Pineau
Le POMDP est un septuple { S, A, , b, T, O, R }
bt-1 ??
at-1
ot
st-1 st
...
...
??ot-1
...
...
rt-1 rt
Le modèle
Croyance:
Etat:
Control:
Nursebot: La robotique au service des personnes agées Joelle Pineau
Le POMDP est un septuple { S, A, , b, T, O, R }
Problème #1: Ajuster la croyance
En quoi est-ce que la plus récente observation change la croyance?
bt-1 ??
at-1
ot
st-1 st
...
...
??ot-1
...
...
rt-1 rt
Le modèle
Croyance:
Etat:
Control:
baoP
sbassPasoP
sbSs
jjii
ij
t
t
,|
,|,| 1
Nursebot: La robotique au service des personnes agées Joelle Pineau
Le POMDP est un septuple { S, A, , b, T, O, R }
Problème #1: Ajuster la croyance
En quoi est-ce que la plus récente observation change la croyance?
Problème #2: Trouver un plan
Quelle action permettra au robot de maximiser ses gains?
bt-1 ??
at-1
ot
st-1 st
...
...
??ot-1
...
...
rt-1 rt
Le modèle
Difficile!
Croyance:
Etat:
Control:
Nursebot: La robotique au service des personnes agées Joelle Pineau
Méthodes de résolution pour POMDP
Notre objectif: Trouver un plan, (b), qui maximise les gains.
Complexité
Performance
POMDP
QMDP
MDP
FIBUMDP
AMDP
IDEAL!
Nursebot: La robotique au service des personnes agées Joelle Pineau
Nouvelle approche: Une hiérarchie de POMDPs
• Concept: Exploiter notre connaissance du domaine pour diviser un POMDP en plusieurs POMDPs.
• Motivation: La complexité de la planification POMDP croît de façon exponentielle avec le nombre d’actions.
Agit
ExamineSanté Navigue
AvanceVérifiePoulx
ClarifieBut
Nord Sud Est Ouest
VérifieMeds
tâche
super-action
action
Nursebot: La robotique au service des personnes agées Joelle Pineau
PolCA: La planification avec hiérarchie de POMDPs
• Etant donné POMDP M = { S, A, , b, T, O, R } et hiérarchie H
• Pour chaque tâche h H:1) Choisir les composantes
Ah sous-tâches
Sh S
h
Navigue
Avance ClarifieBut
Sud Est OuestNord
AAvance ={N,S,E,W}SAvance = SAvance =
ANavigue ={ClarifieBut,Avance}SNavigue = SNavigue =
Nursebot: La robotique au service des personnes agées Joelle Pineau
PolCA: La planification avec hiérarchie de POMDPs
• Etant donné POMDP M = { S, A, , b, T, O, R } et hiérarchie H
• Pour chaque tâche h H:1) Choisir les composantes
Ah sous-tâches
Sh S
h
2) Minimiser le modèleSh {zh(s0), …, zh(sn)}
h {yh(o0), …, yh(op)}
Navigue
Avance ClarifieBut
Sud Est OuestNord
AAvance ={N,S,E,W}SAvance ={X,Y}Avance ={o0,…,om}
ANavigue ={ClarifieBut,Avance}SNavigue ={X’,Y’,Destination}Navigue ={o0,…,op}
Nursebot: La robotique au service des personnes agées Joelle Pineau
PolCA: La planification avec hiérarchie de POMDPs
• Etant donné POMDP M = { S, A, , b, T, O, R } et hiérarchie H
• Pour chaque tâche h H:1) Choisir les composantes
Ah sous-tâches
Sh S
h
2) Minimiser le modèleSh {zh(s0), …, zh(sn)}
h {yh(o0), …, yh(op)}
3) Choisir les paramètres{bh,Th,Oh,Rh} {b,T,O,R}
Navigue
Avance ClarifieBut
Sud Est OuestNord
AAvance ={N,S,E,W}SAvance ={X,Y}Avance ={o0,…,om}
ANavigue ={ClarifieBut,Avance}SNavigue ={X’,Y’,Destination}Navigue ={o0,…,op}
Nursebot: La robotique au service des personnes agées Joelle Pineau
PolCA: La planification avec hiérarchie de POMDPs
• Etant donné POMDP M = { S, A, , b, T, O, R } et hiérarchie H
• Pour chaque tâche h H:1) Choisir les composantes
Ah sous-tâches
Sh S
h
2) Minimiser le modèleSh {zh(s0), …, zh(sn)}
h {yh(o0), …, yh(op)}
3) Choisir les paramètres{bh,Th,Oh,Rh} {b,T,O,R}
4) Planifier tâche hh {bh, Th, Oh, Rh}
Navigue
Avance ClarifieBut
Sud Est OuestNord
AAvance ={N,S,E,W}SAvance ={X,Y}Avance ={o0,…,om}
ANavigue ={ClarifieBut,Avance}SNavigue ={X’,Y’,Destination}Navigue ={o0,…,op}
Nursebot: La robotique au service des personnes agées Joelle Pineau
L’exécution avec hiérarchie de POMDPs
• Traverser la hiérarchie de haut-en-bas.
Pour chaque tâche, consulter le plan at h(bt)
Cas #1: at termine une branche,
> appliquer cette action.
Cas #2: at est une sous-tâche,
> passer à cette sous-tâche.
Agit
ExamineSanté Navigue
AvanceVérifiePoulx
ClarifieBut
Nord Sud Est Ouest
VérifieMeds
Nursebot: La robotique au service des personnes agées Joelle Pineau
Première étude en simulation
• Domaine 20-questions:
Agent: “Est-ce qu’il s’agit d’un animal?”Utilisateur: “Non.”Agent: “Est-ce qu’il s’agit d’un légume?”Utilisateur: “Oui.”Agent: “Est-ce que c’est vert?”Utilisateur: “Non.”Agent: “...?”
Agent: “Est-ce qu’il s’agit d’un animal?”Utilisateur: “Non.”Agent: “Est-ce qu’il s’agit d’un légume?”Utilisateur: “Oui.”Agent: “Est-ce que c’est vert?”Utilisateur: “Non.”Agent: “...?”
Objectif: Planifier une série de questions permettantde découvrir l’objet choisi.
Petite complication…. l’utilisateur peut changer d’objet n’importe quand (Pr = 0.1), sans en avertir
l’agent.
Nursebot: La robotique au service des personnes agées Joelle Pineau
Première étude en simulation
• Domaine 20-questions:
Agent: “Est-ce qu’il s’agit d’un animal?”Utilisateur: “Non.”Agent: “Est-ce qu’il s’agit d’un légume?”Utilisateur: “Oui.”Agent: “Est-ce que c’est vert?”Utilisateur: “Non.”Agent: “...?”
Agent: “Est-ce qu’il s’agit d’un animal?”Utilisateur: “Non.”Agent: “Est-ce qu’il s’agit d’un légume?”Utilisateur: “Oui.”Agent: “Est-ce que c’est vert?”Utilisateur: “Non.”Agent: “...?”
Actions
Objectif: Planifier une série de questions permettantde découvrir l’objet choisi.
Petite complication…. l’utilisateur peut changer d’objet n’importe quand (Pr = 0.1), sans en avertir
l’agent.
Nursebot: La robotique au service des personnes agées Joelle Pineau
Première étude en simulation
• Domaine 20-questions:
Agent: “Est-ce qu’il s’agit d’un animal?”Utilisateur: “Non.”Agent: “Est-ce qu’il s’agit d’un légume?”Utilisateur: “Oui.”Agent: “Est-ce que c’est vert?”Utilisateur: “Non.”Agent: “...?”
Agent: “Est-ce qu’il s’agit d’un animal?”Utilisateur: “Non.”Agent: “Est-ce qu’il s’agit d’un légume?”Utilisateur: “Oui.”Agent: “Est-ce que c’est vert?”Utilisateur: “Non.”Agent: “...?”
Observations
Objectif: Planifier une série de questions permettantde découvrir l’objet choisi.
Petite complication…. l’utilisateur peut changer d’objet n’importe quand (Pr = 0.1), sans en avertir
l’agent.
Nursebot: La robotique au service des personnes agées Joelle Pineau
Etats: 1 par objet (e.g. tomate, concombre, lapin, tortue, tulipe, ….)
Observations: “oui”, “non”, “”
Actions: 1 réponse par objet Gains: question = -1+ plusieurs questions bonne réponse = +5
mauvaise réponse = -20
Les détails
Les Animaux
Début
Animal?Les Végétaux Les Minéraux Végétal? Minéral?
Mammiphère? LAPINHerbivore? TORTUE …?… …
Nursebot: La robotique au service des personnes agées Joelle Pineau
Résultats
Domaine: |S|=12, |A|=20, |O|=3
-120
-100
-80
-60
-40
-20
0
0.01 0.1 1 10 100 1000 10000 100000 1000000
Time (secs)
R
POMDP
PolCA-D1
FIB
QMDP
Nursebot: La robotique au service des personnes agées Joelle Pineau
Une nouvelle décomposition
Les Animaux
Début
Les Végétaux Les Minéraux Animal? Végétal? Minéral?
Mammiphère? LAPINHerbivore? TORTUE …?……
Nursebot: La robotique au service des personnes agées Joelle Pineau
Une nouvelle décomposition
Les Animaux
Début
Les Végétaux Les Minéraux
Les Fruits Les Légumes
Animal? Végétal? Minéral?
Mammiphère? LAPINHerbivore? TORTUE …?…
……
Nursebot: La robotique au service des personnes agées Joelle Pineau
Résultats
-120
-100
-80
-60
-40
-20
0
0.01 0.1 1 10 100 1000 10000 100000 1000000
Time (secs)
R
POMDPPolCA-D1PolCA-D2FIBQMDP
Domaine: |S|=12, |A|=20, |O|=3
Nursebot: La robotique au service des personnes agées Joelle Pineau
Un exemple plus intéressant
• Objectif: Le robot est deployé dans un foyer de personnes agées, ou il fournit des rappels à ses utilisateurs et les accompagnent à leurs rendez-vous.
• Domaine: |S|=512, |A|=20, |O|=19 • Hiérarchie:
Nursebot: La robotique au service des personnes agées Joelle Pineau
Résultats pour système de dialogueN
om
bre
mo
yen
d’e
rreu
rs p
ar a
ctio
n
Utilisateur 1 Utilisateur 2 Utilisateur 3
Plan POMDP Plan MDP
Nursebot: La robotique au service des personnes agées Joelle Pineau
Scénario
Nursebot: La robotique au service des personnes agées Joelle Pineau
Travail à venir
• Adaptation et apprentissage de paramètres reliés à la reconnaissance de la parole et aux préférences de l’utilisateur.
• Nouvelles techniques pour approximer les POMDPs.
• Demonstration d’émotions et/ou personnalité utilisant une nouvelle tête.
• Ajout d’un bras pour manipuler des objets.
• Nouvelles barres d’appui pour supporter un utilisateur en mouvement.
Nursebot: La robotique au service des personnes agées Joelle Pineau
Le mot de la fin
• Nous avons developé un premier prototype d’un robot pouvant servir d’assistant mobile pour personnes agées.
• Le robot utilise une variante hiérarchique du modèle POMDP pour sa planification d’action.
• Ceci lui permet d’acquérir l’information nécéssaire pour satisfaire ses objectifs.
• Plusieurs autres méthodes probabilistiques sont utilisées dans le cadre de modules specialisés, tels que la détection d’individus et la planification de messages aide-mémoire.
Nursebot: La robotique au service des personnes agées Joelle Pineau
Pour plus de détails: www.cs.cmu.edu/~nursebot
L’équipe Nursebot
CMU - Robotics:Greg Armstrong
Michael MontemerloJoelle PineauNicholas RoyJamie Schulte
Sebastian Thrun
CMU - HCI/Design:Francine Gemperle
Jennifer GoetzSarah KieslerAaron Powers
U. of Pittsburgh - Nursing:Jacqueline Dunbar-Jacobs
Sandra EngbergJudith Matthews
U. of Pittsburgh - CS:Don Chiarulli
Colleen McCarthy
U. of Freiburg - CS:Maren BennewitzWolfram Burgard
Dirk Schulz
U. of Michigan - CS:Laura BrownDirk ColbryCheryl OroszBart PeintnerMartha PollackSailesh Ramakrishnan
Standard Robotics:Greg Baltus
Nursebot: La robotique au service des personnes agées Joelle Pineau
Comment choisir les paramètres?
• Considerons par exemple TNavigue(s,a,s’)
• Cas #1: a est une action.
TNavigue(s,ClarifieBut,s’) T(s,ClarifieBut,s’)
Navigue
Avance ClarifieBut
Sud Est OuestNord
S
S’Sud
S’
Nord
S’
S’
ClarifieBut
0.7
0.3
Nursebot: La robotique au service des personnes agées Joelle Pineau
Comment choisir les paramètres?
• Considerons par exemple TNavigue(s,a,s’)
• Cas #1: a est une action.
TNavigue(s,ClarifieBut,s’) T(s,ClarifieBut,s’)
• Cas #2: a est une super-action.
TNavigue(s,Avance,s’) T(s, Avance(s) ,s’)
Navigue
Avance ClarifieBut
Sud Est OuestNord
S
S’Sud
S’
Nord
0.9
0.8
0.1
0.2
S’
S’
ClarifieBut