La robotique au service des personnes agées: défis et résultats dans le cadre du projet Nursebot...

Post on 03-Apr-2015

102 views 0 download

Transcript of La robotique au service des personnes agées: défis et résultats dans le cadre du projet Nursebot...

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