d5.3. testing therapist in its inner world · operativo windows7 para aprovechar todo el potencial...
TRANSCRIPT
THERAPIST: An autonomous and socially interactive robot for motor and neurorehabilitation therapies
D5.3. Testing THERAPIST in its inner world
Resp: Raquel Viciana
Due: M9
Página 1 / 24
THERAPIST: An autonomous and socially interactive robot for motor and neurorehabilitation therapies
ÍNDICE
RESUMEN EJECUTIVO 1. MOTIVACIÓN 2. EL ENTORNO virtualAdaptaRobot
2.1 INSTALACIÓN DEL ENTORNO virtualAdaptaRobot REFERENCIAS GLOSARIO DE FIGURAS Y TABLAS ACRÓNIMOS
Página 2 / 24
THERAPIST: An autonomous and socially interactive robot for motor and neurorehabilitation therapies
TÍTULO DOCUMENTO Testing THERAPIST in its inner world
FECHA DE ENTREGA 18/01/2014
AUTOR/ES Raquel Viciana, Adrián RomeroGarcés, Antonio Bandera, Francisco J. García, Luis Manso, Rebeca Marfil
CONTRIBUIDOR/ES Pablo Bustos, Fernando Fernández
FECHA VERSIÓN COMENTARIOS
11/10/2013 V0.0 Versión inicial
Página 3 / 24
THERAPIST: An autonomous and socially interactive robot for motor and neurorehabilitation therapies
RESUMEN EJECUTIVO
Este entregable describe la plataforma virtual que permite evaluar la evolución de la arquitectura software y su comportamiento global para permitir al robot desarrollar el caso de uso en el marco del proyecto THERAPIST.
Página 4 / 24
THERAPIST: An autonomous and socially interactive robot for motor and neurorehabilitation therapies
1. MOTIVACIÓN
La verificación de módulos individuales y la validación completa de la arquitectura al cerrar cada paso de integración es un proceso complejo que, en el marco del proyecto THERAPIST, requeriría disponer de un robot en cada centro participante. Para facilitar dicho proceso de evaluación y permitir que pueda ser llevado a cabo sin contar con el robot real, los grupos implicados en el proyecto han participado en la creación del entorno virtualAdaptaRobot. El entorno virtualAdaptaRobot es un conjunto de componentes que permiten ejecutar de una forma simplificada el caso de uso de este proyecto. Este entorno nos ha permitido, por un lado, dar un primer paso en la integración de los componentes involucrados, un proceso crítico en cualquier desarrollo software, y por otro lado, tener un entorno de trabajo que permita probar los algoritmos implementados de forma que se simplifique notablemente el coste de trasladar este software a la plataforma real final (robot).
2. EL ENTORNO virtualAdaptaRobot
Como puede verse en la Figura 1, el entorno virtualAdaptaRobot está formado por los siguientes componentes:
● ConversationalComp. Es el componente encargado de hablar con la persona.
● RORMNavigationComp. Componente navegación reactiva de bajo nivel. Contiene los algoritmos encargados de llegar a un destino evitando posibles obstáculos.
● NavigationComp. Es el componente que se encarga de la navegación a alto nivel, manteniendo una distancia de seguridad a los obstáculos, persona y panel. Envía órdenes al RORMNavigatorComp.
● RobotComp. Representa al robot. Permite ejecutar el evento exógeno “el robot se ha quedado sin batería”.
Página 5 / 24
THERAPIST: An autonomous and socially interactive robot for motor and neurorehabilitation therapies
● PanelComp. Es el componente Panel, identificado como posición desde la que el robot lleva a cabo distintas actividades.
● pelea2level. Es el cerebro de todo el sistema. Se encarga de proporcionar el plan para ejecutar una determinada tarea.
● SimulatorComp. El simulador proporciona un entorno simulado del escenario del caso de uso. Actualmente está formado por el panel, una persona, el robot y varios obstáculos localizados en el suelo.
● InnerModelComp. Es el modelo interno del mundo (a nivel geométrico) que crea y almacena el robot.
● PersonNetComp. Componente que se encarga de clasificar a una persona.
● PersonPerceptorComp. Hace de pasarela entre el componente WinKinectComp y PersonNetComp.
● joystickComp. Este componente permite mover a la persona en el simulador utilizando un joystick
● mission. Interfaz gráfica para ejecutar un plan y visualizar las acciones que se están ejecutando junto con los cambios en el modelo del mundo (representado como un grafo).
● RoboCompAGMExecutive. Componente ejecutivo. Es el encargado de activar a los componentes involucrados en realizar una determinada acción del plan y de recibir las propuestas de cambio en el modelo del mundo. Mantiene una continua comunicación con el planificador PELEA.
● WinKinectComp. Componente encargado de obtener datos de la cámara RGBD Kinect de Microsoft y enviarla al resto de componentes que lo requieran.
Página 6 / 24
THERAPIST: An autonomous and socially interactive robot for motor and neurorehabilitation therapies
Figura 1. Despliegue de la arquitectura virtualAdaptaRobot
Se puede observar como todos los componentes se ejecutan en una máquina con sistema operativo Linux, salvo el componente WinKinectComp, que se ejecuta en un PC con sistema operativo Windows7 para aprovechar todo el potencial de la kinect. La conexión entre ambos PCs se realiza a través de una conexión Gigabit Ethernet. El componente RoboCompAGMExecutive es el encargado de orquestar todo el funcionamiento del entorno cajas vacías. Este componente mantiene el modelo del mundo (grafo AGM). Cuando al robot se le indica que ejecute un plan, este componente le pide al planificador (PELEA) el conjunto de acciones a realizar. En ese momento, el componente RoboCompAGMExecutive activa a los componentes involucrados para llevar a cabo cada una de esas acciones, además de publicar el modelo del mundo a todos los componentes (agentes). Los componentes activados recibirán el modelo del mundo y, una vez finalizadas sus acciones, enviarán una propuesta de modificación del modelo según las acciones que hayan llevado a cabo. Entonces, el Ejecutivo recibe esa información y realiza las modificaciones en el modelo del mundo. El componente WinKinectComp se encarga de enviar continuamente información a los
Página 7 / 24
THERAPIST: An autonomous and socially interactive robot for motor and neurorehabilitation therapies
componentes PersonPerceptor y ConversationalComp. Al primero le envía el número de personas, caras y esqueleto y al segundo le envía una transcripción de lo que la persona detectada haya contestado a las preguntas del robot. En el caso de que, detectado el paciente, el robot decida acercarse a ella, el Ejecutivo activa el navegador indicándole cuál es la posición de la persona. Una vez alcanzado el objetivo, el ejecutivo activa el componente conversacional para saludar a la persona. El resto del caso de uso se irá desarrollando conforme al plan previamente establecido. Durante la ejecución del caso de uso puede ocurrir que el robot no pueda llevar a cabo determinadas acciones debido a situaciones que pueden ser habituales en un escenario real. Algunas de estas opciones ya las tenemos contempladas en este entorno de cajas vacías. Por ejemplo, es posible que el paciente se dé la vuelta y no acepte interactuar con el robot. En este caso, es el componente PersonNetComp el que informa al Ejecutivo de que la persona se ha perdido y el Ejecutivo informa a PELEA para que replanifique, de forma que el robot vuelva a su punto inicial y se suspenda la sesión. La capacidad del planificador también ha sido probada a través del evento exógeno “batería descargada” que puede ser activado en cualquier momento de la ejecución del caso de uso (a través de una interfaz gráfica). Una vez que este evento ha sido pulsado, el robot debería ir al punto de carga. A continuación se describe la instalación y uso del entorno de virtualAdaptaRobot.
2.1 INSTALACIÓN DEL ENTORNO virtualAdaptaRobot
Paso 1: Instalación de Kinect en Windows 7 (64bits) y del componente WinkinectComp 1.1. Descargar el componente WinKinectComp del repositorio robocomp. Está localizado en $ROBOCOMP/Components/Adapta. El contenido es el siguiente:
● /bin ● /dlls ● /Properties ● WinKinectComp.sln → solución para utilizar en Visual Studio
1.2. En caso de querer modificar y compilar el componente WinKinectComp (solo para desarrollar)
Página 8 / 24
THERAPIST: An autonomous and socially interactive robot for motor and neurorehabilitation therapies
1.2.1. Instalar:
● Kinect for Windows SDK v1.8. Incluye Microsoft Speech Platform Software
Development Kit v11 ○ http://www.microsoft.com/enus/download/details.aspx?id=40278
● Kinect for Windows Language Packs v11.0: ○ http://www.microsoft.com/enus/download/details.aspx?id=34809
● Visual Studio Proffesional 2012 (opcional) ○ https://www.dreamspark.com/Student/Default.aspx
● ZeroC Ice (instalar también plugin para Visual Studio) ○ http://www.zeroc.com/download.html#win32_msi
1.2.2. Compilar
Para poder compilar, tenemos dos opciones: a) utilizar la herramienta Visual Studio, cuyo proyecto se encargará de todo todo el proceso y b) utilizar la línea de comandos, sin necesidad de lanzar ningún entorno adicional.
1.2.2.1 Obtener y localizar las librerías necesarias
Antes de poder compilar, necesitamos tener localizadas todas las librerías que se utilizan en el componente, las cuales listamos a continuación:
● Ice.dll
○ Librería Ice: La tendremos dentro de la ruta: Program Files/ZeroC/IceVersion/bin/(x64)
● IceStorm.dll ○ Librería de Storm para la publicación no sincronizada sobre Ice.
Localizada en: Program Files/ZeroC/IceVersion/assemblies/sl ● Microsoft.Kinect.dll
○ Librería para el uso del SDK oficial de kinect. Localizada en: Program Files/Microsoft SDKs/Kinect/version/assemblies
● Microsoft.Speech.dll ○ Librería para el uso del SDK oficial para obtener la transcripción
utilizando kinect. Localizada en: Program Files/Microsoft SDKs/speech/version/assemblies
● PresentationCore.dll ○ Localizada en: Program Files/Reference
Assemblies/Microsoft/Framework/version ● WindowsFormsIntegration.dll
Página 9 / 24
THERAPIST: An autonomous and socially interactive robot for motor and neurorehabilitation therapies
○ Localizada en: Program Files/Reference Assemblies/Microsoft/Framework/version
● Microsoft.Kinect.Toolkit.Interaction.dll ○ Esta librería, junto a la que se encuentra a continuación, deben
generarse compilando el proyecto específico dentro de la herramienta Kinect For Windows Developer Toolkit v1.8.
○ Para ello haremos los siguientes pasos: 1. Instalar tanto el SDK como las herramientas de desarrollador desde aqui:
a. SDK → http://www.microsoft.com/enus/download/details.aspx?id=40278
b. Developer tools → http://www.microsoft.com/enus/download/details.aspx?id=40276
2. Abrir el programa “Developer Toolkit Browser (Kinect For Windows)”, localizado en Inicio → Todos los Programas → Kinect For Windows SDK v1.8
3. Desde la pestaña de Components, instalar los tres primeros, en una carpeta deseada
a. Microsoft.Kinect.Toolkit b. Microsoft.Kinect.Toolkit.Controls c. Microsoft.Kinect.Toolkit. FaceTracking
4. Abrir la solución existente dentro de cada uno de las carpetas que se crean con la instalación, para ello, puede utilizarse la versión gratuita de visual studio express → http://www.microsoft.com/eses/download/details.aspx?id=34673
5. Seleccionar el modo release en la pestaña de arriba, al lado de la flecha verde (normalmente estará en modo Debug) y compilar
6. Obtener la librería ● Microsoft.Kinect.Toolkit.FaceTracking.dll
○ Librería para el uso del seguimiento de caras con el SDK oficial de kinect. Se obtiene como se ha mostrado en la librería anterior
1.2.2.2 Utilizando Visual Studio:
● Abrir el fichero WinKinectComp.sln. ● Añadir dependencias (rutas a las dlls) en el proyecto.
○ Las dlls necesarias aparecerán en la carpeta “References” dentro del explorador de soluciones. NOTA: Probablemente habrá que actualizar las rutas a esas dlls.
○ Localizar las dlls necesarias. ■ Ice.dll y IceStorm.dll → En la carpeta “Assemblies” del directorio
de instalación de Ice. Por ejemplo: C:\Program Files\ZeroC\Ice3.5.0\Assemblies\
Página 10 / 24
THERAPIST: An autonomous and socially interactive robot for motor and neurorehabilitation therapies
■ Microsoft.Kinect.XXX.dll → En la carpeta “Assemblies” del directorio de instalación del SDK de Kinect. Por ejemplo: C:\Program Files\Microsoft SDKs\Kinect\v1.8\Assemblies
■ Microsoft.Speech.dll → En la carpeta “Assemblies” del directorio de instalación del Microsoft.Speech. Por ejemplo: C:\Program Files\Microsoft SDKs\Speech\v11.0
○ Actualizar las rutas a las dlls. ■ Dentro del explorador de soluciones → botón derecho sobre
“References” → “Agregar Referencia”:
Figura 2. Actualización de las rutas a las dlls
■ Hacer click sobre el menú “Examinar” situado a la izquierda para ver las
dlls incluidas en el proyecto. Para añadir una nueva pulsar el botón “Examinar…”:
Página 11 / 24
THERAPIST: An autonomous and socially interactive robot for motor and neurorehabilitation therapies
Figura 3. Administración de referencias (WinKinectComp)
● Compilar (recomendamos en modo “Release”).
1.2.2.3 Desde línea de comandos.
1.2.2.3.1. Obtener los fichero .cs a partir de ICE ● Desde línea de comandos, realizamos la siguiente orden:
○ slice2cs outputdir generatedDir fileInput.ice, donde generatedDir es el directorio donde se alojará el fichero.cs generado y fileInput.ice el fichero de entrada en formato ice.
1.2.2.3.2. Compilar
● Se puede compilar desde la línea de comandos utilizando para ello la consola de compilación de visual studio, también llamado símbolo de sistema de las herramientas cruzadas de VS (dentro del menú inicio/VisualStudio/VisualStudioTools).
● Todas las dependencias (dlls y ficheros. cs) deben indicarse explícitamente a la hora de compilar, además de estar presentes en la carpeta raíz.
Página 12 / 24
THERAPIST: An autonomous and socially interactive robot for motor and neurorehabilitation therapies
● Para compilar, utilizamos la orden csc (C Sharp Compile) con todos los parámetros de la siguiente forma:
○ csc /reference:Ice.dll,Microsoft.Kinect.dll,Microsoft.Speech.dll,IceStorm.dll,PresentationCore.dll,WindowsFormsIntegration.dll,Microsoft.Kinect.Toolkit.Interaction.dll,Microsoft.Kinect.Toolkit.FaceTracking.dll MSKPublisher.cs generated\MSK.cs AudioAccess.cs MapFaceFrameToDetailedFace.cs MapInteractionInfo.cs MapSkeletonToPerson.cs MDKinectInteractions.cs MSKRGBDI.cs MSKRGBDServer.cs ProcesssDepthImage.cs KinectAccess.cs ProcesssFaceTracking.cs ProcessSkeletonFrame.cs ProcesssRGBImage.cs SkeletonFaceTracker.cs
1.3. En caso de tener el ejecutable del WinKinectComp (no querer modificar/compilar el componente)
1.3.1. Instalar:
● Kinect for Windows Runtime (Version 1.8). Incluye Microsoft Speech Runtime v11 ○ http://www.microsoft.com/enus/download/details.aspx?id=40277
● Kinect for Windows Language Packs v11.0: ○ http://www.microsoft.com/enus/download/details.aspx?id=34809
Paso 2: Instalación del virtualAdaptaRobot (CajasVaciasAGM) en Linux. 2.1. Actualizar el repositorio La carpeta CajasVaciasAGM, que contiene los componentes de virtualAdaptaRobot a desplegar en Linux, está dentro del directorio robocomp/Components/Adapta/.
● git fetch ● git pull
En caso de no tener instalado el repositorio, será necesario obtenerlo utilizando la orden
● git clone git://git.code.sf.net/p/robocomp/code robocompcode ○ Para no desarrolladores o
● git clone ssh://[email protected]/p/robocomp/code robocompcode ○ Para desarrolladores dados de alta
Página 13 / 24
THERAPIST: An autonomous and socially interactive robot for motor and neurorehabilitation therapies
2.2. Explorando el proyecto El contenido de la carpeta CajasVaciasAGM (dentro de robocomp/Components/Adapta/) es el siguiente:
● /AGM ○ librería AGM.
● /ConversacionComp ○ agente conversacional
● /NavigationComp ○ agente navegación. Utiliza el RORMNavigatorComp
● /RORMNavigationComp ○ componente navegación reactiva.
● /RobotComp ○ agente robot.
● /PanelComp ○ agente panel.
● /pelea2level ○ planificador PELEA
● /Simulator ○ simulador del escenario del caso de uso (aeropuerto)
● /InnerModel ○ modelo interno del robot.
● /PersonNetComp ○ agente persona.
● /PersonPerceptorComp ○ componente persona. Hace de pasarela entre el componente WinKinectComp y
PersonNetComp ● /joystickComp
○ componente para mover a la persona en el simulador con el joystick. ● /mission
○ interfaz gráfica para ejecutar un plan y visualizar las acciones que se están ejecutando junto con los cambios en el grafo AGM.
● /RoboCompAGMExecutive ○ componente ejecutivo.
● /speechComp ○ convierte cadenas de texto en audio.
● /Files ○ ficheros de configuración
● /vfhLocalNavigatorComp ○ componente navegador (alternativa al RORMNavigatorComp)
Página 14 / 24
THERAPIST: An autonomous and socially interactive robot for motor and neurorehabilitation therapies
2.3. Instalar fastDownward para el componente pelea2level.
2.3.1. Dentro del directorio CajasVaciasAGM/pelea2level/planners, crear una carpeta "Fastdownward" y descargar y compilar dentro fastdownward siguiendo los siguientes pasos:
● http://www.fastdownward.org/ObtainingAndRunningFastDownward 2.4. Instalar Festival en español e inglés para el componente speechComp
● sudo aptget install festival festivaldoc festvoxkdlpc16k festvoxellpc11k 2.5. Compilar e instalar librería qmatrix
● Ir al directorio /robocomp/Classes/qmatrix ● cmake . ● make ● sudo make install
2.6. Compilar e instalar librería innermodel
● Ir al directorio /robocomp/Classes/innermodel ● cmake . ● make ● sudo make install
2.7. Compilar e instalar librería AGM (versión CajasVaciasAGM)
● Ir al directorio /robocomp/Components/Adapta/CajasVaciasAGM/AGM ● cmake . ● make ● sudo make install
2.8. Compilar los siguientes agentes/componentes dentro del CajasVaciasAGM
Agentes: ConversacionComp, NavigationComp ,RORMNavigationComp, RobotComp, PanelComp, Simulator, InnerModel, PersonNetComp, PersonPerceptorComp, joystickComp, mission, RoboCompAGMExecutive, todos compilados mediante:
● cmake . ● make
Página 15 / 24
THERAPIST: An autonomous and socially interactive robot for motor and neurorehabilitation therapies
Si tenemos problemas al compilar, puede deberse a alguna configuración de compilación de otro usuario que se haya guardado erróneamente, por lo que haremos:
● make clean ● rm CMakeCache.txt ● cmake . ● make
El proceso de compilación nos dejará un ejecutable con el nombre del componente/agente dentro de la carpeta bin/, pero dado que la ejecución debe realizarse utilizando algunos parámetros de configuración, veremos cómo ejecutarlos todos de forma conjunta más adelante.
Paso 3: Ejecutar el CajasVaciasAGM 3.1. Inicio Antes de nada, instalaremos el entorno de pestañas yakuake, el cual permite trabajar de forma cómoda con diferentes consolas, así como generar scripts que las abran con las rutas adecuadas.
● sudo aptget install yakuake Desde yakuake, ir al directorio /robocomp/Components/Adapta/CajasVaciasAGM y ejecutar:
● ./startagents.sh
Página 16 / 24
THERAPIST: An autonomous and socially interactive robot for motor and neurorehabilitation therapies
Figura 4. Captura de pantalla una vez lanzados todos los componentes (Inicio)
La figura 4 muestra las interfaces gráficas que aparecen tras arrancar los componentes:
1 → Representa al agente RobotComp. Permite descargar la batería. 2 → Innermodel 3 → Simulador 4 → Interfaz de control mission. Permite:
a) Ejecutar diferentes misiones. Para el caso de estudio utilizaremos attractPerson y go home.
b) Visualizar los cambios en el modelo del mundo (grafo AGM). c) Visualizar el plan que se está ejecutando en ese momento.
Paso 4: Ejecutar el componente WinKinectComp 4.1. Verificar la configuración IP Antes de ejecutar el componente, verificar las direcciones IP en el fichero de configuración config.pub, dentro de la carpeta WinKinectComp/bin/Release:
Página 17 / 24
THERAPIST: An autonomous and socially interactive robot for motor and neurorehabilitation therapies
# # This property is used by the clients to connect to IceStorm. # #TopicManager.Proxy=IceStorm/TopicManager:tcp h localhost p 10000 TopicManager.Proxy=IceStorm/TopicManager:tcp h 192.168.187.73 p 9999 ← poner aquí dirección IP del PC linux # # Network Tracing # # 0 = no network tracing # 1 = trace connection establishment and closure # 2 = like 1, but more detailed # 3 = like 2, but also trace data transfer # Ice.Trace.Network=0 Ice.Default.EncodingVersion=1.0 Ice.MessageSizeMax=10240 #Ice.Warn.Connections=3 # # IceMX configuration. # #Ice.Admin.Endpoints=tcp h localhost p 10003 ##Ice.Admin.Endpoints=tcp h localhost p 10217 Ice.Admin.InstanceName=publisher IceMX.Metrics.Debug.GroupBy=id IceMX.Metrics.ByParent.GroupBy=parent # Object adapter, estas dos propiedades siempre deben estar: Adapter.Endpoints=tcp h 192.168.187.83 p 10007 ← direccion IP del PC windows (vale localhost) Adapter.AdapterId=WinKinectComp.Adapter BodyService.id=MSKBodyService RGBDService.id=MSKRGBDService FaceService.id=MSKFaceService ASRService.id=MSKASR #Topic names topicNameASR = MSKASR ##topicNameHand = MSKHand ##topicNameBody = MSKBody ##topicNameFace = MSKFace ##topicNameRGBD = MSKRGBD 4.2. Usando Visual Studio
Página 18 / 24
THERAPIST: An autonomous and socially interactive robot for motor and neurorehabilitation therapies
En caso de lanzar el componente desde el visual studio, pulsar el botón “Iniciar”. 4.3. Sin Visual Studio En caso de haber compilado, pero querer ejecutarlo desde fuera del Visual Studio:
4.3.1. Ir a la carpeta WinKinectComp/bin/Release 4.3.2. Lanzar el ejecutable con nombre WinKinectComp.exe.
La Figura 5 muestra la salida por consola.
Figura 5. Captura de pantalla una vez lanzado en componente WinKinectComp
Paso 5: Probando el caso de uso Una vez arrancado el CajasVaciasAGM y el WinKinectComp se puede probar el caso de uso. Consiste en que el robot detecte a una persona, se acerque, la clasifique, le ofrezca un producto y en caso de que acceda, lo lleve al panel. Una vez allí el robot se despedirá y volverá al punto de inicio. Si la persona no está interesada, el robot volverá al punto de inicio. Lo mismo ocurre si el robot “pierde” a la persona durante un periodo de tiempo. Pasos a seguir: 5.1. Inicio
Página 19 / 24
THERAPIST: An autonomous and socially interactive robot for motor and neurorehabilitation therapies
Para comenzar, ir a la interfaz gráfica del componente mission y pulsar el botón attractPerson. La primera acción a realizar será detectPerson, como se muestra en la Figura 6.
Figura 6. Captura de pantalla una vez lanzados todos los componentes (detectPerson)
5.2. Desarrollo del caso de uso I. Detectando la persona Para que el robot detecte a una persona hay que colocarse delante de la kinect. En ese momento, el robot empezará a moverse hasta la posición de la persona en el simulador. En el innermodel podrá aparecer las siguientes figuras:
● Cilindro con símbolo de interrogación. Se ha detectado a una persona pero todavía no se ha clasificado.
● Cilindro con símbolo mujer encima. Se ha clasificado a la persona como mujer/niña.
● Cilindro con símbolo hombre encima. Se ha clasificado a la persona como hombre/niño.
● En caso de detectar la cara de la persona también aparecerá una pequeña esfera blanca encima del cilindro.
Página 20 / 24
THERAPIST: An autonomous and socially interactive robot for motor and neurorehabilitation therapies
5.3. Desarrollo del caso de uso II.Conversación Una vez que el robot ha llegado hasta la persona procederá a saludarlo y se ofrecerá para iniciar la sesión.
● El sistema de conversación está preparado para responder preguntas relacionadas con la sesión
● Todas las explicaciones terminan con una pregunta directa sobre si el paciente quiere continuar/realizar un ejercicio para que el usuario siempre pueda responder afirmativa/negativamente.
● Si el cliente accede (diciendo “Si”, “Acepto” o similares), el robot continuará con la sesión programada. NOTA: Para volver a empezar el caso de uso hay que pulsar de nuevo el botón attractPerson.
● Si el cliente no está interesado entonces el robot se despedirá y volverá al punto de inicio.
5.4. Eventos externos I. Falta de batería Es posible simular que el robot se ha quedado sin batería. Para ello basta con pulsar el botón Discharge Battery de la interfaz RobotComp. Paso 6: Detener el CajasVaciasAGM y WinKinectComp 6.1. Detener el CajasVaciasAGM Para detener los componentes del CajasVaciasAGM ejecutar:
● ./kill_agents.sh 6.2. Detener el WinKinectComp
6.2.1. Si se ha lanzado desde VisualStudio se puede detener:
● Directamente desde la herramienta. ● Pulsando CtrlC en la aplicación WinKinectComp.
6.2.2. Si se ha lanzado desde consola pulsar CtrlC.
Página 21 / 24
THERAPIST: An autonomous and socially interactive robot for motor and neurorehabilitation therapies
REFERENCIAS
[1] Vidal Alcázar, Cesar Guzmán, David Prior, Daniel Borrajo, Luis Castillo, and Eva Onaindia. pelea: Planning, learning and execution architecture. In Proceedings of the 28th Workshop of the UK Planning and Scheduling Special Interest Group (PlanSIG'10), pages 18, Brescia (Italia), December 2010.
Página 22 / 24
THERAPIST: An autonomous and socially interactive robot for motor and neurorehabilitation therapies
GLOSARIO DE FIGURAS Y TABLAS
Figura 1. Despliegue de la arquitectura virtualAdaptaRobot 7
Figura 2. Actualización de las rutas de las dlls 11
Figura 3. Administración de referencias (WinKinectComp) 12
Figura 4. Captura de pantalla una vez lanzados todos los componentes (Inicio) 17
Figura 5. Captura de pantalla una vez lanzado el componente WinKinectComp 19
Figura 6. Captura de pantalla una vez lanzados todos los componentes (detectPerson) 20
Página 23 / 24
THERAPIST: An autonomous and socially interactive robot for motor and neurorehabilitation therapies
ACRÓNIMOS
PC Ordenador personal AGM Grafo que crea y usa el robot para modelar a nivel simbólico el mundo PELEA Arquitectura para planificación [1] (Planning, Execution and Learning Arquitecture) PDDL Lenguaje de planificación (Planning Domain Definition Language) XML Lenguaje de marcas extensible (eXtensible Markup Language)
Página 24 / 24