• No se han encontrado resultados

Desarrollo e implementación del juego del Ahorcado en el robot Mini

N/A
N/A
Protected

Academic year: 2022

Share "Desarrollo e implementación del juego del Ahorcado en el robot Mini"

Copied!
84
0
0

Texto completo

(1)

Grado en Ingenier´ıa en Tecnolog´ıas Industriales 2018-2019

Trabajo Fin de Grado

“Desarrollo e implementaci´ on del juego del Ahorcado en el robot Mini”

F´elix Tena Lara

Tutora Esther Salichs Legan´es, Octubre 2019

[Incluir en el caso del inter´es en su publicaci´on en el archivo abierto]

Esta obra se encuentra sujeta a la licencia Creative Commons Reconocimiento - No Comercial - Sin Obra Derivada

(2)
(3)

RESUMEN

La enfermedad del Alzheimer es un problema que est´a cobrando cada vez m´as importancia en la sociedad. Por ello, se han creado numerosas l´ıneas de investigaci´on sobre este tema. Con el avance de las tecnolog´ıas, est´an apareciendo robots que sirven de apoyo a terapias convencionales.

La UC3M ha creado su propia iniciativa para ayudar a estas personas, se trata del robot social Mini. Es un robot que est´a pensado para ser utilizado por personas de avanzada edad que sufren la EA. Por ellos, se ha hecho con las premisas de tener una apariencia amigable y ser f´acil de utilizar, tratando de crear adherencia con el usuario.

Como parte de este robot se ha integrado el popular juego del ahorcado. ´Este va a servir como entretenimiento adem´as de terapia para entrenar la memoria sem´antica, la parte de la memoria que se encarga de almacenar el significado de las cosas. Para ello, se ha utilizado el framework ROS en el que est´a basado el robot.

Palabras clave: Rob´otica social; Mini; Enfermedad del Alzheimer; Terapia de rehabilitaci´on; Memoria sem´antica

(4)
(5)

DEDICATORIA

Quiero agradecer todo el camino que he recorrido hasta ahora a mis padres. Por ense˜narme que nada se regala y que hay que trabajar para conseguirlo. Al deporte, que me ha ense˜nado lo que es la constancia. A cada uno de mis entrenadores por ense˜narme los valores con los que me he inculcado y el trabajo en equipo. A mi profesor de f´ısica de 4 de ESO y a mi tutora durante el bachillerato. Y a todos los profesores que han creido en mi durante el grado.

(6)
(7)

´ INDICE GENERAL

1. INTRODUCCI ´ON . . . 2

1.1. Objetivos . . . 3

1.2. Contexto . . . 3

1.3. Motivaci´on . . . 4

1.4. Estructura del documento . . . 5

2. ESTADO DEL ARTE . . . 7

2.1. La enfermedad del Alzheimer . . . 7

2.1.1. Defecto conginitivo leve . . . 8

2.1.2. Estado de demencia leve . . . 9

2.1.3. Estado de demencia moderada . . . 9

2.1.4. Estado de demencia severa . . . 9

2.1.5. Factores de riesgo. . . 10

2.1.6. Bloqueadores de la EA . . . 10

2.2. Memoria sem´antica . . . 11

2.3. Situaci´on social . . . 12

2.4. Tratamiento de la EA . . . 13

2.4.1. Terapias convencionales . . . 14

2.4.1.1. Ejercicio f´ısico . . . 15

2.4.1.2. Musicoterapia. . . 15

2.4.1.3. Terapias con animales . . . 16

2.4.2. Terapias y asistencia con robots . . . 17

2.4.2.1. Asibot . . . 17

2.4.2.2. PARO . . . 18

2.4.2.3. Babyloid . . . 18

3. METODOLOG´ıA . . . 20

3.1. Investigaci´on . . . 20

3.2. Curva de aprendizaje. . . 21

3.3. Dise˜no de la habilidad . . . 22

(8)

3.4. Pruebas . . . 22

4. TECNOLOG´ıAS EMPLEADAS. . . 23

4.1. Robot Mini. . . 23

4.1.1. Arquitectura de Mini . . . 24

4.2. C++ . . . 27

4.2.1. Objetos y clases. . . 28

4.2.2. Relaciones entre objetos . . . 28

4.2.3. Herencia y polimorfismo. . . 29

4.2.3.1. Funciones virtuales . . . 30

4.3. ROS . . . 31

4.3.0.1. Elementos principales . . . 31

4.3.0.2. Workspace . . . 31

4.3.0.3. Paquetes de Ros . . . 32

4.3.0.4. Catkin . . . 32

4.3.0.5. Roscore . . . 32

4.3.1. Rosrun . . . 33

4.3.2. Estructura . . . 33

4.4. XML . . . 37

5. ESTRUCTURA DEL PROYECTO . . . 39

5.1. Dise˜no del sistema . . . 39

5.2. Funcionamiento . . . 40

5.3. Visualizaci´on. . . 43

6. IMPLEMENTACI ´ON . . . 45

6.1. Hardware utilizado . . . 45

6.2. Framework: ROS . . . 45

6.2.1. Habilidades de Mini . . . 46

6.2.1.1. Callbacks . . . 47

6.2.2. Paquete hri manager . . . 48

6.2.3. Paquete interaction utils . . . 49

6.2.4. Gram´atica . . . 50

6.3. Lenguaje de programaci´on: C++ . . . 50

(9)

6.4. Base de datos: XML . . . 53

6.5. Funcionamiento . . . 53

7. ENTORNO SOCIO-ECON ´OMICO Y MARCO REGULADOR . . . 56

7.1. Planificaci´on y presupuesto del proyecto . . . 56

7.1.1. Diagrama de Gannt . . . 56

7.1.2. Presupuesto . . . 58

7.2. Marco socio-econ´omico. . . 61

7.3. Marco regulador. . . 62

8. PRUEBAS Y RESULTADOS OBTENIDOS . . . 63

8.1. Pruebas y mejoras realizadas . . . 63

8.2. Resultados . . . 63

9. CONCLUSIONES Y TRABAJOS FUTUROS . . . 65

9.1. Conclusi´on . . . 65

9.2. Trabajos futuros . . . 66

BIBLIOGRAF´ıA . . . 67

(10)
(11)

´ INDICE DE FIGURAS

1.1 Imagen tipo del juego del ahorcado . . . 2

2.1 Comparaci´on de secciones cerebrales . . . 8

2.2 Casos de Alzheimer en relaci´on a la edad . . . 10

2.3 Cuidador de un paciente con EA . . . 13

2.4 Terapia que estimula la creatividad . . . 15

2.5 Sesi´on de musicoterapia . . . 16

2.6 Terapia con perros en residencia . . . 16

2.7 Asibot, asistencia en cepillado de dientes . . . 17

2.8 Robot PARO . . . 18

2.9 Robot Babyloid en brazos de un paciente . . . 19

4.1 Robot social Mini . . . 24

4.2 Robot Maggie . . . 25

4.3 Partes principales del robot Mini . . . 26

4.4 Relaci´on m´ultiple de herencia . . . 30

4.5 Mecanismo de actuaci´on de roscore . . . 33

4.6 Paso de mensajes . . . 34

4.7 Mecanismo de servicios . . . 34

4.8 Servidor de par´ametros . . . 35

4.9 Actionlibs . . . 36

4.10 Robot de seguimiento de objetos . . . 37

5.1 Diagrama de flujo del ahorcado . . . 39

5.2 Diagrama de casos de uso . . . 40

5.3 Fase inicial del juego . . . 42

5.4 Fases del juego del ahorcado . . . 42

5.5 Expresiones del ahorcado . . . 44

(12)

6.1 Comunicaci´on con actionlib . . . 46

6.2 Plantillas . . . 48

6.3 Proceso de comunicaci´on del HRI . . . 49

6.4 Modelo muestreo por pantalla . . . 54

7.1 Tareas del proyecto . . . 57

7.2 Diagrama de Gannt . . . 58

(13)
(14)

´ INDICE DE CUADROS

4.1 Componentes del sistema de procesamiento . . . 26

6.1 Variables de comunicaci´on de actionlib . . . 47

6.2 Suscripciones de una habilidad. . . 47

6.3 M´etodos propios . . . 51

7.1 Costes por horas del personal . . . 58

7.2 Recursos empleados en cada tarea . . . 59

7.3 Costes de personal . . . 60

7.4 Costes del equipo reales . . . 60

7.5 Costes del equipo con software de pago . . . 60

7.6 Presupuesto . . . 61

(15)
(16)

LISTA DE ABREVIATURAS

ASR Automatic speech recognition (Reconocimiento au- tom´atico de lenguaje

EA Enfermedad del Alzheimer

HRI Human-Robot Interaction (Interacci´on Humano- RObot)

POO Programaci´on Orientada a Objetos

ROS Robot Operating System (Sistema Operativo Rob´otico)

UC3M Universidad Carlos III de Madrid

UML Unified Modeling Language (Lenguaje de Modela Unificado)

XML Extensible Markup Language (Lenguaje de Marca- do Extensible)

(17)
(18)

1. INTRODUCCI ´ ON

La EA est´a cobrando m´as importancia con el paso del tiempo. Esto se debe a que la esperanza de vida va en aumento y aparecen enfermedades neurodegenerativas.

Por ello, y con el avance de la tecnolog´ıa, se est´an proponiendo terapias robotizadas para paliar todo lo posible este tipo de enfermedades. RobAlz es un proyecto de la UC3M con el que se desarroll´o el robot social Mini orientado a personas con esta enfermedad. El objetivo de este proyecto es la realizaci´on de una aplicaci´on integrada en el sistema que sirva como terapia y entretenimiento para usuarios de esta ´ındole.

Mini es un robot cuyo fin es ayudar y entretener, orientado sobretodo a la EA.

Es capaz de mover la cabeza y los brazos para que la interacci´on con el robot sea m´as din´amica e incluso mostrar emociones con los ojos. Es capaz de establecer una comunicaci´on por voz, adem´as cuenta con una tablet externa a trav´es de la cual se muestra contenido multimedia y las terapias propuestas con el fin de estimular el cerebro y retrasar todo lo posible esta enfermedad, tratando de mejorar la calidad de vida tanto del sujeto como de su c´ırculo social m´as cercano. No solo se est´a dise˜nando con el fin de ayudar a la persona con la EA, sino que un componente importante que se est´a teniendo en cuenta es liberar la carga del cuidador principal. Uno de los principales retos, es la dificultad que se encuentra entre las ´ultimas tecnolog´ıas y el p´ublico de avanzada edad.

Es aqu´ı donde interviene este proyecto. Con el fin de entretener y sobretodo estimular el cerebro del paciente, se ha creado el juego del ahorcado como una aplicaci´on m´as del robot. Se trata de un juego popular en el que hay que ir adivinando letras rellenando los huecos de una palabra hasta completar ´esta, haciendo que el usuario tenga que pensar qu´e opciones hay y qu´e letras necesita para completar la partida, pues hay un n´umero limitado de errores permitidos. En el caso de fallar una palabra se va completando el dibujo t´ıpico del ahorcado 1.1.

Figura 1.1: Imagen tipo del juego del ahor- cado

(19)

En esta versi´on del juego las palabras giran en torno a temas; tratando que dichos temas sean de inter´es para el usuario y con el fin de hacerle pensar qu´e opciones tiene dentro de ´estos e incitando al paciente a pensar un poco m´as. Adem´as cuenta con niveles de dificultad basados en mostrar letras de la palabra. Esto se debe a que el paciente de Alzheimer va pasando por varias fases.

Para el desarrollo de la aplicaci´on se ha utilizado el lenguaje C++. Es un lenguaje muy ´util para las caracter´ısticas de la aplicaci´on a desarrollar. Ya que va a trabajar dentro de la interfaz de ROS, que est´a basado en el env´ıo y recepci´on de mensajes entre nodos. Esto permite que se trabaje de forma paralela y que cada paquete se comunique con el resto de paquetes funcionando de manera sencilla. Hasta el punto en el que cada paquete puede utilizar distintos lenguajes de programaci´on.

Objetivos

El primer objetivo es estudiar y entender las directrices de trabajo y de pro- gramaci´on que se siguen en Roboticslab. Para ello es imprescindible obtener las aptitudes necesarias en ROS y C++ y observar que elementos tienen m´as impor- tancia para el desarrollo de la aplicaci´on. Entendiendo como funciona una ”skill”.

Es la base sobre la que se construir´a todo el c´odigo.

El siguiente es crear una respuesta positiva del usuario frente a este sistema, en- treteniendo y estimulando positivamente a ´este. Consiguiendo que el usuario realice los ejercicios con real inter´es. Favoreciendo todo lo posible los est´ımulos que el cere- bro necesita para dotarle de la mayor calidad de vida posible.

Por ´ultimo, se busca dise˜nar e implementar un programa que ejecute el juego del ahorcado en el robot Mini. Se debe dise˜nar de manera que sirva como una terapia para retrasar la EA. De manera que el usuario se sienta satisfecho durante su ejercicio. Como se trata de una terapia real que va a ser utilizada, es imprescindible cuidar todos los detalles necesarios de cara al p´ublico.

Contexto

Con el ritmo que est´a teniendo el avance de la tecnolog´ıa, el uso de robots se est´a extendiendo a todos los campos, ya que no se encuentran solo en la industria para realizar operaciones repetitivas, si no que se est´an introduciendo para realizar otras actividades.

Se pueden encontrar en veh´ıculos no tripulados, como son los drones que se est´an usando para vuelos de reconocimiento, topograf´ıa o usos militares entre otros.

Tambi´en empiezan a aparecer veh´ıculos no tripulados en el mercado, lo que quiere

(20)

decir que ya no est´an solo en la rama de investigaci´on. En los hogares se est´a haciendo com´un el uso de asistentes virtuales. Adem´as hay que considerar la dom´otica que permite controlar de manera remota el hogar, su temperatura, persianas o sensores para monitorizar la apertura o cierre de ventas, puertas, etc.

Una de las ramas m´as importantes es la investigaci´on de robots para uso m´edico.

Donde m´as tiempo se ha estado trabajando es en el uso de ´estos para el sistema motor del ser humano, en la sustituci´on de alguna parte del cuerpo como son las pr´otesis o como ayuda ante una anomal´ıa. Es muy frecuente encontrar exoesqueletos que facilitan la movilidad del tren inferior o que reeduquen al paciente a aprender a utilizarlo a base de generar movimiento desde el robot para que el reclutamiento de los m´usculos necesarios se normalice en el sujeto. O de robots humanoides con los que el paciente puede aprender a realizar movimientos por medio de la observaci´on.

Un entorno m´as actual pero que est´a en auge es el mundo de los robot sociales.

Se espera que sea una nueva rama de la rob´otica. Por ello, hay una gran atracci´on de laboratorios y empresas que est´an interesados en investigar y avanzar en este entorno.

Un robot social se encarga del entretenimiento, la ense˜nanza, la orientaci´on, etc. Es un robot que mediante la comunicaci´on, entendida como actividad social, es capaz de generar y medir mediciones subjetivas. En la interacci´on social es importante obtener respuestas positivas en cuanto al bienestar o el sentimiento que genera el robot al interactuar con el usuario.

Motivaci´ on

Los robots sociales resultan cada vez m´as importantes para la realizaci´on de terapias para ancianos con demencia, siendo un gran apoyo para el cuidador con- vencional o el terapeuta. Son m´as exactos en ciertas mediciones y tienen una r´apida respuesta de procesamiento, no sufren estr´es ni se agotan, adem´as son capaces de liberar la carga que el cuidador est´a soportando. Se trata de robots que no solo est´an orientados al paciente sino tambi´en a su entorno para dotar de mayor calidad de vida a todo el conjunto.

La familia es el principal apoyo que se encuentra en el cuidado de ancianos con alg´un tipo de trastorno. Motivo por el que esta ayuda es la preferida por estas personas debido a la comodidad que encuentran en la interacci´on con ellos. Es el factor que m´as ayuda a mantener el bienestar y la calidad del vida del sujeto.

En la mayor´ıa de los casos siempre hay una persona que hace las funciones del cuidador principal. Es la persona que m´as va a poder dedicarse a su cuidado, y es precisamente este nivel de dedicaci´on que hace que el cuidador principal sea un

“paciente oculto”[1]. Se dice oculto debido a que las necesidades del anciano van a predominar sobre las del cuidador, ya que el cuidador si puede valerse por s´ı mismo.

(21)

Aunque esto sea as´ı no hay que ignorar por completo los problemas que aparecen en el cuidador. Es por ello que hay estudios tratando de aliviar la carga del cuidador.

Para entender esto, se define la carga como “el conjunto de problemas de orden f´ısico, ps´ıquico, emocional, social o econ´omico que pueden experimentar los cuidadores de adultos incapacitados”(George y Gwyter, 1986). Gracias a que se ha concretado el significado de carga, es posible realizar estudios que ayuden a mejorar estos factores [1].

Adem´as la rob´otica social es un campo que est´a a´un en las primeras fases de su desarrollo, lo que genera un gran n´umero de posibles estudios a realizar. Esto, sumado a las necesidades que tiene la poblaci´on adulta, ya que cada vez va m´as en aumento, se encuentra un amplio inter´es en cuanto a la investigaci´on. As´ı, la UC3M tiene un equipo trabajando en este campo dentro del departamento de Robotics Lab.

Permitiendo que investigadores y alumnos estudien muchos aspectos necesarios para el avance de la rob´otica social, y m´as concretamente en la ayuda a facilitar el proceso que la EA conlleva.

Estructura del documento

En esta secci´on se van a describir los contenidos del documento, con el fin de facilitar al lector la lectura y comprensi´on del trabajo realizado. Se describir´a de forma breve cada uno de los cap´ıtulos.

En el Cap´ıtulo 1 se comenta, a modo de introducci´on, el trabajo que se va a realizar, la justificaci´on de su realizaci´on y se explican los objetivos que se tratan de alcanzar . Adem´as se explica el contexto en el que se va a realizar el proyecto y los motivos por los que se ha seleccionado ´este.

El segundo cap´ıtulo se centra en el estado del arte. Se explica la enfermedad del Alzheimer en cada uno de sus estados. Adem´as se explican los factores de riesgo y los elementos que frenan o promueven la aparici´on y el avance de ´esta. A continuaci´on se explica como afecta a la sociedad, qu´e terapias se han seguido hasta el momento y las nuevas propuestas que est´an apareciendo en los ´ultimos a˜nos para cualquier anomal´ıa que reduzca la independencia del sujeto. Finalmente se explica lo que es la memoria sem´antica y como se ve afectada en enfermos de EA, pues este proyecto se centra en la estimulaci´on de este sistema.

El Cap´ıtulo 3 hace referencia a las fases que se han seguido para la realizaci´on del proyecto. En primer lugar se hace un trabajo de investigaci´on que ser´a el que encamine el resto del proyecto. Se estudia tanto la situaci´on de los enfermos de EA como los aspectos t´ecnicos que ser´an necesarios. Despu´es, se describen los pasos que se han llevado a cabo en la parte t´ecnica y se finaliza con la metodolog´ıa llevada a cabo en la fase de pruebas.

(22)

El Cap´ıtulo 4 describir´a las herramientas que se han utilizado. En primer lugar se describe el robot en el que se implantar´a el sistema. Y se finalizar´a por describir los lenguajes utilizados y el framework que hace posible la integraci´on de ´este en el ecosistema ya creado. En este caso se trata de ROS, basado en el env´ıo de mensajes entre distintos nodos.

Durante el quinto cap´ıtulo se comenta el funcionamiento del programa. Se explica el dise˜no previo a la realizaci´on de ´este, el funcionamiento en detalle de como se va a comportar dependiendo de las instrucciones que recibe y el aspecto visual del que va a disfrutar el usuario final.

El Cap´ıtulo 6 describe la implementaci´on de dicho proyecto con el sistema. Se explica como se ha integrado en el robot y las ventajas que se han encontrado, las variables y m´etodos que han sido necesarias para que funcionen en este ecosistema, las herramientas que se han necesitado dentro del c´odigo utilizado, como se han aplicado y la estructura que sigue la base de datos creada.

El impacto socio-econ´omico que puede generar la aplicaci´on y el robot Mini con la estructura del proyecto y la justificaci´on de las horas de trabajo as´ı como los costes para la elaboraci´on del presupuesto ser´an descritos en el Cap´ıtulo 7. Adem´as del marco regulador que afecta a este proyecto.

En el Cap´ıtulo 8 se plasman las pruebas y los resultados que se han obtenido de ´estas. Los problemas encontrados y como se han solucionado. Adem´as, gracias a una peque˜na demo, se ha obtenido feedback de usuarios finales para hacer mejoras del programa.

Por ´ultimo se plasman las conclusiones obtenidas en cada uno de los aspectos que han surgido durante la realizaci´on del proyecto. Adem´as se explican las futuras l´ıneas de investigaci´on que puede tener y las posibles incorporaciones que facilitar´a la creaci´on de trabajos futuros.

(23)

2. ESTADO DEL ARTE

A continuaci´on se va a describir la enfermedad del Alzheimer. Se va a describir el marco hist´orico de esta, como afecta a los pacientes y los avances y terapias encontrados para paliar el avance de ´esta. La implementaci´on de la rob´otica social en terapias de este tipo ser´a mostrada. Por ´ultimo, se van a describir robots basados en el framework ROS para poder entender el funcionamiento del robot Mini.

La enfermedad del Alzheimer

Alois Alzheimer observ´o que el desorden neuropsiqui´atrico m´as com´un era el de demencia senil, que en cierta poblaci´on se produc´ıa una vejez prematura seguida de una degradaci´on que afecta al sistema nervioso. Tambi´en que esta degeneraci´on est´a acompa˜nada de una gran cantidad de nudos neurofibrilares que aparecen en todas las regiones del cerebro [2].

En los comienzos solo se diagnosticaba esta enfermedad en casos severos de demencia y estas atrofias cerebrales. Pero con el aumento de casos observados nunca se ha podido determinar diferencias entre las etapas de predemencia y los casos m´as severos de ´esta. Por lo que se puede decir que son la misma enfermedad. Este cambio ha producido mejoras en el tratamiento y, por ende, en la mejora de la calidad de vida de ´estos desde los primeros momentos de aparici´on de la enfermedad [2].

Con los avances en la sociedad y en la medicina, la esperanza de vida ha aumen- tado considerablemente en los ´ultimos 100 a˜nos. Por eso las enfermedades neuro- degenerativas est´an cobrando importancia, ya que son enfermedades que aparecen como consecuencia de la avanzada edad. A esto hay que a˜nadir el descenso en la natalidad que se est´a produciendo, lo que quiere decir que la sociedad se va a ver envejecida [2].

Se ha calculado que, por estos motivos, se van a cuadruplicar los casos diag- nosticados de EA. Es un problema que cada vez se va a hacer m´as y m´as grande.

Por eso es importante realizar investigaciones y avances para combatirla, facilitar la respuesta y reducir y mejorar los recursos empleados a nivel m´edico y social ante el aumento de la demanda que se va a ir produciendo [2].

La EA es una enfermedad neurodegenerativa que afecta a las c´elulas cerebrales que se degeneran y mueren de manera progresiva. En los pacientes que sufren la EA se ha observado una disminuci´on de la leptomeninge y la p´erdida de las capas superficiales del neocortex. Adem´as hay que a˜nadir la aparici´on de nudos neurofi- brilares. Por ´ultimo se ha observado una atrofia de cierto porcentaje del cerebro al

(24)

comparar el volumen de ´este con el espacio intracraneal. Se estiman p´erdidas de hasta un kilogramo del ´organo [2]. En la figura 2.1 se comparan la misma secci˜non de un cerebro con EA (izquierda) y un cerebro normativo (derecha). Se observa una disminuci´on del volumen del mismo y un aumento en los espacios intercerebrales.

Figura 2.1: Comparaci´on de secciones cerebrales [2].

El Alzheimer es la forma de demencia m´as com´un que aparece pasados los 65 a˜nos. Aunque sea una enfermedad que aparece de forma tard´ıa resulta un problema tanto para el sujeto como para la sociedad. Es una enfermedad que seg´un avanza hace que el paciente sea cada vez m´as dependiente. Lo que hace que, normalmente, los familiares m´as cercanos se tengan que hacer cargo. Lo que genera dificultades pues esos familiares muchas veces tienen sus propias obligaciones que han de compaginar.

La EA es un tipo de demencia que se extiende durante varias d´ecadas, pasando por distintas fases. Aunque es una enfermedad que afecta de forma distinta a cada paciente que la sufre, se pueden distinguir cuatro estadios en los que los l´ımites entre unos y otros se superponen.

Defecto conginitivo leve

Aparecen dificultades en el aprendizaje de informaci´on nueva. Tambi´en apare- cen deficiencias en tareas cognitivas como organizar planes o acceder a la memoria sem´antica de la que se hablar´a m´as adelante. En esta fase el paciente suele apoyarse en otras estrategias para suplir las carencias que empiezan a aparecer, evitando los retos complicados y tratan de disimular sus problemas. Adem´as pueden empezar a aparecer trastornos de conducta como la depresi´on [2].

(25)

Estado de demencia leve

La principal caracter´ıstica es la aparici´on de un d´eficit significativo en el apren- dizaje. La memoria a largo plazo as´ı como la capacidad de respuesta se ven menos agravadas en comparaci´on con la retenci´on de eventos recientes (memoria declarati- va reciente). Estas anomal´ıas empiezan a afectar a las actividades del d´ıa a d´ıa. Las habilidades que se vieron afectadas en el estadio anterior ya no solo aparecen en las tareas m´as complejas. La comunicaci´on comienza a verse afectada, el paciente habla con menor fluidez y precisi´on. Muchas veces esto solo es observable por medio de tests psicol´ogicos. Tambi´en hay que mencionar anomal´ıas de car´acter no cognitivo como la depresi´on, un s´ıntoma com´un que aparece en las primeras fases [2].

Estado de demencia moderada

La memoria a corto plazo est´a muy afectada, mientras que los recuerdos de ´epocas pasadas permanecen. El pensamiento l´ogico y la organizaci´on se encuentran muy afectadas. La capacidad de comunicaci´on se ha visto mermada de forma significativa, as´ı como la lectura y la comprensi´on lectora. Aparece el d´eficit de atenci´on y ya no pueden estar concentrados en una tarea por tiempos prolongados. Las tareas m´as cotidianas como vestirse o comer necesitan asistencia. La desorientaci´on es ya una afecci´on importante, con la incapacidad de reconocer y comprender est´ımulos visuales. Es aqu´ı donde pueden no reconocer a sus familiares, incluso una fracci´on muy peque˜na sufre alucinaciones [2].

Los pacientes necesitan supervisi´on de alg´un pariente o cuidador para sobrevivir.

Aparecen problemas de conducta, como la agresividad, problemas de orientaci´on y problemas funcionales como la incontinencia. Se ha observado que estos problemas hacen que aparezcan situaciones de tensi´on con sus m´as allegados que pueden generar una rotura familiar. Adem´as aumenta el riesgo de ca´ıdas y accidentes ya que su movilidad se ve reducida [2].

Estado de demencia severa

La mayor´ıa de las funciones cognitivas est´an afectadas. Pueden perder recuerdos cercanos, la comunicaci´on se basa en frases muy sencillas o simples palabras. No son capaces de responder a preguntas elaboradas. Son completamente dependientes de su cuidador, necesitan atenci´on incluso para masticar, ya que el control sobre las funciones motoras se ha visto muy mermada. A la agresividad y la inquietud hay que a˜nadir agotamiento general y una gran apat´ıa en algunos casos [2].

(26)

Factores de riesgo

Se ha observado que hay cuatro factores de riesgo principales de los cuales la medicina asegura su influencia. El m´as importante de todos es la avanzada edad. Se observa un incremento en el n´umero de personas que sufren la EA seg´un avanza la edad como se muestra en la figura 2.2. El siguiente es el historial m´edico familiar, al darse casos de demencia en familiares se ha observado que hay m´as probabilidades de sufrir la EA. Tambi´en se encuentran m´as casos en personas con s´ındrome de Down que puede aparecer a la edad de los 40. Por ´ultimo se encuentra el genotipo ApoE, donde cada uno de los alelos afectan de forma distinta aumentando o disminuyendo el riesgo.

Figura 2.2: Casos de Alzheimer en relaci´on a la edad [2].

Adem´as se est´an investigando otros posibles factores de riesgo. Los traumas en la cabeza tambi´en facilitan la aparici´on de demencias. Se ha observado que gente que practica deportes de contacto es m´as propensa a sufrir de Alzheimer como ocurre en el mundo del boxeo donde est´an muy expuestos a golpes en la cabeza. La exposici´on ante campos electromagn´eticos puede ser otra causa, aunque su estudio est´a en las fases m´as primitivas. As´ı como los problemas circulatorios [2] .

Bloqueadores de la EA

En contra de los factores de riesgo se han estudiado los elementos que pueden servir para retrasar la enfermedad y dotar de una mayor calidad de vida a los

(27)

individuos que la sufren. Se ha encontrado que personas que mantienen un estilo de vida saludable con buena alimentaci´on y ejercicio f´ısico padecen en menor medida esta enfermedad [2].

Una buena educaci´on ayuda a retrasar la aparici´on de la EA y su proceso. Tanto el est´ımulo mental que ayuda a mantener activo el cerebro como las herramientas adquiridas, sobretodo, en la educaci´on a edades tempranas ayudan a suplir las de- ficiencias que aparecen de otras maneras. La inteligencia del individuo tambi´en es importante junto con la educaci´on, se puede entrenar y mejorar [2].

Una vez que la persona sufre de Alzheimer hay elementos que mejoran o em- peoran la calidad de vida durante el proceso. Mientras que las situaciones de estr´es, los cambios de rutina y domicilio afectan negativamente; los ambientes felices, la socializaci´on, mantener la actividad f´ısica y la estimulaci´on del cerebro as´ı como la alimentaci´on mejoran la calidad de vida del sujeto. Mejorar todo lo posible su calidad de vida es crucial para que se muestre participativo y asuma su dependencia de mejor manera, retrasando as´ı los efectos que tiene el Alzheimer, sobre su estado de ´animo que se ve afectado por ´esta [2].

Memoria sem´ antica

La memoria es un proceso cerebral importante, gracias a ella el individuo es capaz de almacenar y organizar los acontecimientos del pasado. Cuando se habla de memoria se est´a hablando de un gran n´umero de procesos correlacionados entre s´ı pero que presentan un objetivo com´un. Por eso es m´as preciso referirse a la memoria como “sistemas de memoria”. Dentro de ´estos se ha realizado un proceso de investigaci´on dentro de la memoria sem´antica [3].

Este proyecto se centra en el trabajo de la memoria sem´antica, que es la parte de la memoria relacionada con el entendimiento del mundo y de nosotros mismos.

Permite recordar el significado de conceptos y acceder a la comprensi´on de ideas.

Esta no tiene vinculaci´´ on con las experiencias vividas por el individuo, se dice que es el entendimiento objetivo del mundo. Cuando se hace uso de ella no necesitamos recordar ning´un hecho vivido anteriormente. Por ejemplo, cuando se hace referencia a un bol´ıgrafo no necesitamos evocar ning´un recuerdo en el que se haya usado pre- viamente. Est´a regida en gran medida por la lengua materna del usuario. Gracias a la cual se puede, no solo comprender las cosas sino que tambi´en se pueden comparar, diferenciar y encontrar relaciones de semejanza [4].

Entendiendo que la memoria sem´antica es un aspecto muy importante en la interacci´on del individuo con el mundo que le rodea, se puede observar que la p´erdida de esta cualidad genera grandes problemas. Para el individuo es m´as complicado entender d´onde se encuentra o qu´e necesita hacer para conseguir algo en concreto

(28)

o simplemente para qu´e sirve un objeto cotidiano. Un ejemplo de todo esto puede ser el uso de un tenedor para tomar una sopa. Si alguien intenta tomar sopa con un tenedor no va a poder porque el l´ıquido se cuela por las rendijas del tenedor.

Pero si la persona no comprende que tiene que utilizar otro utensilio, una cuchara, porque con el tenedor no puede coger la sopa, ´este no se va a poder alimentar. Es un ejemplo concreto pero que explica lo que puede ocurrir con la p´erdida de la memoria sem´antica.

Uno de los s´ıntomas de la EA es la p´erdida de esta capacidad. Seg´un avanza, el paciente va olvidando cada vez m´as conceptos o ideas. Tanto en la comprensi´on de ´estas como en la expresi´on. Por tanto se pierden ambas v´ıas de comunicaci´on, la del sujeto con el entorno y viceversa. En las u´ltimas etapas de la EA se observa que los sujetos pierden esta cualidad casi por completo. Hasta el punto de que solo son capaces de entender oraciones simples o preguntas de si o no, y hablan reduciendo mucho su fluidez llegando a decir palabras sueltas que a´un recuerdan [2].

Por eso es importante que se minimice todo lo posible el da˜no en cuanto a la memoria sem´antica se refiere, ya que es la v´ıa de entendimiento entre el cuidador y el paciente para su correcta asistencia.

Situaci´ on social

La EA afecta al paciente pero tambi´en a su entorno m´as cercano. La enfermedad va generando cada vez una mayor incapacidad. El paciente se vuelve cada vez m´as dependiente y necesita de un cuidador que satisfaga sus necesidades. En Espa˜na el cuidador suele no ser un profesional. Lo que dificulta, en ocasiones, su cuidado. Lo m´as com´un es que los cuidadores de los pacientes sean parientes cercanos. Al ser la persona cada vez m´as dependiente del cuidador se pueden crear situaciones de estr´es ya que ´este ha de compaginar el cuidado del paciente con su propia vida, trabajo y familia. Por lo general, la familia tiene que hacer un esfuerzo especial en ayudar a la persona en todo lo posible, aunque sea agresivo e incluso no recuerde a sus m´as allegados [5].

Sumada la dependencia a los trastornos de conducta que son causa de la demencia se crea una situaci´on dif´ıcil de manejar. Muchas veces el cuidador puede sufrir las consecuencias, es un esfuerzo grande el que tiene que hacer y muchas veces va a sentirse sobrepasado por la situaci´on. Por ello existen fundaciones y organizaciones que se encargan de mantener y mejorar la calidad de las personas todo lo posible.

Se centran en su salud, en el entretenimiento, el est´ımulo mental,etc. Pero tambi´en se centran en otros aspectos como el apoyo a los familiares y las personas cercanas . Adem´as se est´a estudiando el uso de robots tanto en la medicina general como en los casos de demencia y asistencia a adultos. Dotando al individuo de la mayor calidad de vida posible y asistiendo y liberando de cierta carga al cuidador [5].

(29)

Tratamiento de la EA

Toda enfermedad neurodegenerativa presenta una gran dificultad de diagn´ostico con las bases en medicina y biolog´ıa que se presentan actualmente. Adem´as actual- mente no se ha encontrado cura aunque si se ha encontrado una mejora sintom´atica cuando los sujetos disponen de espacios motivantes y estimulantes a trav´es de tera- pias.

Aunque los tratamientos y terapias en enfermedades neurodegenerativas est´an poco estructuradas y diferenciadas debido a las dificultades de diagn´ostico que se presentan hoy en d´ıa, todos siguen ciertos patrones que sirven de base a ´estos. Se tratan de terapias personalizadas basadas en las experiencias del sujeto. Para ello, la intervenci´on de las personas que se encuentran en el entorno del afectado juega un papel muy importante. Tanto para dotar de informaci´on biogr´afica de la persona como para comunicar las respuestas ante las terapias que se observen.

En los sujetos que presentan la EA se pueden diferenciar dos tipos de sintoma- tolog´ıa. En primer lugar la que afecta a la persona en s´ı. En segundo lugar, que es consecuencia de la primera, es la que afecta a su entorno m´as cercano y sus cuidado- res, debido a los cambios de conducta y la dependencia. Para los cuidadores se ofrece apoyo psicol´ogico, herramientas para el cuidado de la persona y actividades que les descarguen. En el sujeto se mantiene un est´ımulo a nivel cognitivo, psico´ogico y f´ısico aumentando su autoestima con el fin de mantener todo lo posible la independencia de ´este. Para ello, se crean programas de estimulaci´on en los que el paciente se tiene que enfrenar a un reto. De manera que el sujeto se siente motivado durante todo el proceso y finalmente se siente realizado al final del mismo. As´ı se consigue que muestre m´as compromiso con dichos programas y su estado de ´animo se mantenga de la mejor manera posible [6].

Figura 2.3: Berra, N. (2009) Cuidador de un paciente de EA. Recuperado de https://www.flickr.com/photos/ministere- du-travail/3947809740/

(30)

Te´oricamente uno podr´ıa pensar que los mayores problemas que genera esta en- fermedad son las deficiencias en la memoria que sufre el paciente. Pero la mayor queja que se ha observado por parte de los cuidadores son los trastornos emociona- les y conductuales. Por eso las terapias siempre se hacen en un ambiente c´omodo y positivo que fomenten la participaci´on de los pacientes. Se ha observado que las terapias que permiten una participaci´on en grupo hacen que el paciente se relacione y se sienta parte del mismo fuera del entorno familiar. Esto hace que sea m´as parti- cipativo, sienta afecto por sus compa˜neros en la misma situaci´on y se sienta ´util al ayudar a un grupo [6].

Es muy importante que el sujeto participe activamente en las terapias. Por eso todas se centran en mantener un ambiente positivo en el que la persona se sienta realizada y se despierte su inter´es. Adem´as as´ı se consigue que se muestre contento y tenga objetivos, facilitando la convivencia con la gente de su entorno [6].

Terapias convencionales

Se pueden encontrar distintos tipos de terapias seg´un el aspecto que se quiera trabajar sobre el paciente. Las m´as importantes son las que trabajan la estimulaci´on cognitiva de ´este. El entendimiento que se tiene sobre el mundo que les rodea es vital. Tambi´en se encuentran terapias en las que se estimula a nivel f´ısico. El estado f´ısico va a ayudar a la previsi´on de accidentes y cierta independencia. Por ´ultimo se encuentran terapias que ayudan al paciente a mejorar su bienestar a trav´es del entretenimiento [5].

Actualmente, como entrenamiento cognitivo, se estan realizando gran variedad de ejercicios. Muchos de ellos se centran en el reconocimiento de forma directa del mundo que les rodea. Esto es, la identificaci´on de sonidos, objetos cotidianos o la orientaci´on en el espacio. Otros tratan de potenciar la creatividad. Por ejemplo, la pintura ayuda a focalizar en el paciente lo que ve o lo que tiene en mente, para despu´es plasmarlo. Trabajando adem´as la coordinaci´on oculo-motora. Tambi´en se encuentran ejercicios de discusi´on sobre temas de actualidad o conversaciones sobre el pasado de la persona. Estimulando la comunicaci´on con el individuo [5].

(31)

Figura 2.4: (2018) Terapia que estimula la creati- vidad. Recuperado de www.orliman.com/terapias- para-el-alzheimer/

Ejercicio f´ısico

El ejercicio f´ısico es un aspecto de salud general que no solo beneficia a las personas que padecen EA. Ni siquiera es algo importante solo para las personas de avanzada edad. Es una herramienta que ayuda a toda la poblaci´on a mejorar su salud. El factor m´as influyente para considerar a una persona anciana es la capacidad motora que tiene. Sobretodo hay que mencionar la fuerza del tren inferior, pues es

´este el que permite que las personas se desplacen.

En cu´anto a la EA, el ejercicio f´ısico puede retrasar el avance de la enfermedad. Se pueden modificar cambios metab´olicos y neuropatol´ogicos ocultos en la enfermedad.

Adem´as favorece el flujo del riego sangu´ıneo que, en este caso, favorece el correcto funcionamiento cerebral, ayudando a mantener la degeneraci´on neuronal [7].

El trabajo de movilidad tambi´en es importante pues gracias a ´el, el paciente crea independencia en ciertas actividades motoras. Se ha observado una disminuci´on en el riesgo de accidentes, la satisfacci´on de sentirse independiente y la liberaci´on de dopamina, causa del ejercicio, hacen que se reduzca el estr´es y se consigue que se mejore el bienestar general del paciente.

Musicoterapia

La musicoterapia es muy buena herramienta para estos fines. Se puede realizar de dos formas, de manera pasiva, donde el sujeto simplemente escucha, o de manera activa, donde se le hace part´ıcipe tocando alg´un instrumento. En ambos casos se ha demostrado que se reducen los niveles de ansiedad, adem´as si se trabaja de forma activa se est´a estimulando la concentraci´on y la reacci´on del individuo lo que hace que se aumente la actividad cerebral [8].

(32)

Figura 2.5: Sesi´on de musicoterapia. Recu- perado de www.elgranero.com/escuchar/los- beneficios-de-la-musicoterapia-en-las-personas- mayores/

Terapias con animales

Igual que con la musicoterapia, las terapias con animales tambi´en son eficaces.

No solo para enfermos de EA sino que ayudan a reducir el estr´es y los niveles de ansiedad de forma general. Por lo general, la terapia con animales se est´a aplicando en residencias de la tercera edad. Adem´as de mejorar el bienestar general ayuda a mejorar la calidad de la situaci´on sentimental de la persona. Muchas veces el hecho de encontrarse en una residencia hace que el individuo se sienta solo y triste. La visita de animales y la realizaci´on de ejercicios con ´estos, hacen que todos se sientan en comunidad con el resto y sintiendo la compa˜n´ıa el cari˜no que brindan los animales [9].

Figura 2.6: Avella, J. (2014) Terapia con perros en residencia. Recuperado de https://www.elmundo.es/baleares/2014/01/26/

52e4dba2ca4741c57e8b456b.html

(33)

Terapias y asistencia con robots

El uso de los robots para ofrecer servicios a personas con alg´un tipo de discapa- cidad, ha permitido que ´estas obtengan cierta capacidad de independencia. Permi- tiendo que el sujeto pueda realizar acciones en el acto sin tener que esperar a nadie que le asista, d´andole cierta libertad al cuidador.

Con el avance de las tecnolog´ıas se est´a consiguiendo crear robots sofisticados que permite englobar muchas de las terapias realizadas hasta el momento para mejorar la calidad de vida de los pacientes con la EA. Adem´as, permiten almacenar todos los datos de un paciente, tanto los datos biogr´aficos e informaci´on esencial para la realizaci´on de las terapias, como los datos recopilados en las interacciones entre el robot y el paciente, pudiendo llevar un seguimiento m´as preciso sobre ´este.

Asibot

Un ejemplo interesante de robot asistente es Asibot (figura 2.7). ´Este un brazo rob´otico de 5 grados de libertad sim´etrico. En ambos extremos tiene un sistema de anclaje para que pueda cambiar su posici´on de manera sencilla. Est´a pensado para tener un anclaje en una silla de ruedas y el resto repartidos en puntos estrat´egicos de una casa [10].

El robot est´a incluido en un sistema de Inteligencia Ambiental. Es un sistema que permite incluir actuadores y sensores en electrodom´esticos y muebles de un hogar de manera barata y sencilla, sin tener que adquirir equipos caros que vengan con

´estos de manera integrada. La funci´on de Asibot es ofrecer capacidades aumentadas a personas con baja movilidad en el tren superior, permite que coman, beban o utilicen un cepillo de dientes entre otros.

Figura 2.7: Asibot, asistencia en cepillado de dien- tes [10].

(34)

PARO

Se puede observar que en este campo hay estudios que han dado lugar a un gran n´umero de robots. Algunos pueden funcionar como mascotas sin los cuidados que las mascotas reales necesitan. En esta categor´ıa se encuentra PARO 2.8. Es un robot con forma de foca que ayuda a la relajaci´on y el bienestar del paciente. Adem´as sirve para realizar terapias cognitivas y de interacci´on con el entorno. Se ha observado que los pacientes que han estado con PARO han mejorado en su comunicaci´on y se muestran m´as activos. Otros robots est´an m´as orientados a la asistencia al paciente [11].

Figura 2.8: Robot PARO[11].

Babyloid

Babyloid es un robot que simula el aspecto de un beb´e. La finalidad de ´este es la de cuidarle como si se tratase de un reci´en nacido. Es completamente dependiente y es capaz de mostrar algunas expresiones: dolor, sue˜no o alegr´ıa. Se intenta despertar en el paciente la necesidad de su cuidado. Aunque se ha demostrado que las terapias con robots sociales ayudan a frenar el avance de la enfermedad, en este caso no ha tenido una respuesta positiva. Se han obtenido respuestas como “quiero cuidar de

´el pero soy muy mayor para hacerlo”. Esto se puede deber a que las terapias con Babyloid crean m´as obligaciones en el paciente y ´este, por lo general, se muestra reacio a tener m´as deberes diarios [12].

(35)

Figura 2.9: Robot Babyloid en brazos de un pa- ciente [12].

(36)

3. METODOLOG´ IA

Antes de empezar a trabajar es necesario estructurar las fases del proyecto. Lo primero de todo ha sido investigar sobre la EA y las necesidades que presentan los pacientes para crear una aplicaci´on que sirva como parte de la terapia que ´estos necesitan. Despu´es se ha dedicado todo el tiempo a aprender los aspectos t´ecnicos de las tecnolog´ıas que se van a implementar con el fin de trabajar con soltura m´as adelante. Las ´ultimas fases han sido de testeos y refinamiento de la aplicaci´on para que todo funcione correctamente. Paralelamente se ha ido escribiendo la memoria del proyecto. Esto ha hecho as´ı para poder plasmar los conociemientos adquiridos en ese momento y no descuidar ning´un detalle importante.

Investigaci´ on

La primera fase de todas es la que va a marcar todo el transcurso del proyecto.

Antes de nada se empez´o por estudiar la EA de manera gen´erica. Que porcentaje de la poblaci´on est´a afectada, cuales son los factores que aumentan la probabilidad de sufrirla y los efectos que tienen sobre el ser humano. As´ı como qu´e terapias son necesarias para el sujeto, que caracter´ısticas han de tener y cu´ales han tenido una mejor respuesta.

Al principio se comenz´o por investigar sobre la estimulaci´on cognitiva y se plan- te´andose al equipo dos posibles proyectos que fueron rechazados. Uno por la in- clusi´on de m´as hardware externo al proyecto, a˜nadir componentes de m´as no ten´ıa una respuesta positiva. Y el segundo fue rechazado porque, de hecho, ya se estaba realizando.

Continuando con los estudios dentro de la estimulaci´on cognitiva se descubri´o lo que es la memoria sem´antica. Un ´area de la memoria que se ve afectada por esta enfermedad. Se decidi´o ahondar y centrarse en este tema para la realizaci´on del proyecto. Se estudi´o la importancia que tiene en el ser humano y como afecta su p´erdida, en que fases de la enfermedad comienza a deteriorarse y todos los aspectos que engloban la memoria sem´antica. Como resultado se encontr´o un juego popular que sirve como terapia para estimular la memoria sem´antica, el juego del ahorcado.

Es un proyecto interesante ya que plantea varios retos adem´as del aspecto de la programaci´on.

(37)

Curva de aprendizaje

Para poder comenzar con la aplicaci´on se han tenido que adquirir conocimientos en varios campos. Lo primero de todo ha sido aprender la sitaxis del c´odigo que se ha empleado. En este caso ha sido c++ ya que es el c´odigo m´as accesible encontrado teniendo en cuenta los recursos que la universidad aporta. Adem´as, seg´un se ha ido avanzando en este campo, ha sido necesario el aprendizaje de UML. Que, siendo algo a lo que no se le ha dado importancia, ha sido uno de los factores clave en la organizaci´on y direcci´on del plan.

Tras adquirir cierta soltura en la POO y la sintaxis del propio c´odigo, es el momento de aprender como funciona ROS. ´Este ha sido el detonante del avance en la programaci´on de robots. Gracias a ´el se ha podido unificar el sistema de comunicaci´on entre los distintos elementos de los robots, lo que ha permitido que se avance m´as r´apido en este campo. Es por ello que el robot Mini se basa en esta estructura para funcionar.

La fase de aprendizaje ha sido la m´as importante y la que ha consumido la mayor parte del tiempo. Con todos los libros, cursos y material que se puede encontrar a trav´es de internet ninguno explica con detenimiento como trabajar en un proyecto tan amplio como es el de Mini. Es por eso que, durante el transcurso del dise˜no de la aplicaci´on, la curva de aprendizaje nunca se ha estabilizado. Pues trabajar en sincron´ıa con otras personas sobre una base ya creada hace que se tenga que aprender la forma de trabajar cada vez que se requiera de un nuevo elemento del sistema.

Una vez asentadas las bases del programa es el momento de observar como se aplican en el departamento de rob´otica social. Esto es, saber como se trabaja, que paquetes hay creados o como realizan la comunicaci´on entre los distintos nodos.

Facilitando el trabajo de cada uno sin la necesidad de repetir c´odigo, ya que har´ıa menos eficiente el procesamiento de la informaci´on. Como en todos lados, todo tiene sus pros y contras, hay momentos que toca reajustar el c´odigo para que haya una buena comunicaci´on, pero hay mucho trabajo hecho de antemano.

Adem´as, cada miembro del equipo est´a m´as especializado en ciertas partes, por lo que seg´un el aspecto que se est´e tratando es importante saber con quien poder comunicarse. Esto es importante ya que cada uno est´a dispuesto a ayudar o llegar a un acuerdo por el bien com´un de todos y el del robot, haciendo muy c´omodo el trabajo en equipo. ´Este ha sido otro elemento importante en la curva de aprendizaje.

Saber trabajar en grupo dentro de un equipo de trabajo amplio.

(38)

Dise˜ no de la habilidad

Con todos los conocimientos adquiridos y seleccionadas todas las herramientas a utilizar, se ha realizado la habilidad. En primer lugar se han creado diagramas para poder crear la l´ogica y las bases que rigen la habilidad. Una vez hecho esto, se ha dise˜nado el juego del ahorcado fuera del sistema y se ha comprobado su funcionamiento sin ´este. Por ´ultimo, se ha implementado la aplicaci´on en el robot Mini en forma de habilidad y se han creado todos los medios de comunicaci´on con el resto de componentes.

Pruebas

La ´ultima fase ha sido realizada enteramente en el laboratorio con todo el siste- ma, esto es, el robot Mini y su tablet. Las primeras pruebas han sido de conexi´on y comunicaci´on entre la habilidad, Mini y la tablet. Cuando se han corregido y mejorado estos aspectos se han hecho pruebas de comunicaci´on por voz. Con las pruebas iniciales la habilidad ya puede funcionar. A partir de aqu´ı, se ha probado el procesamiento de la informaci´on. Se han creado diferentes escenarios con los que se han probado todas las fases posibles de actuaci´on, se han hecho pruebas con todos los niveles, todos los temas, se han ganado y perdido partidas.

Por ´ultimo se han hecho v´ıdeos de las pruebas con el fin de mostrarlos a un p´ublico menos especializado, ya que no tienen acceso al robot. Adem´as algunos miembros del equipo han jugado recreando diferentes perfiles. Estas pruebas han servido para generar mejoras en la experiencia de juego.

(39)

4. TECNOLOG´ IAS EMPLEADAS

Para poder entender la elecci´on del lenguaje y los sistemas empleados, se va a realizar un an´alisis de ´estos, con el fin de entender su funcionamiento y sus ventajas.

Robot Mini

El departamento de rob´otica social de la Universidad Carlos III de Madrid ha creado su propia iniciativa para ayudar a los enfermos de Alzheimer. Se trata de Mini.

Un robot social creado para estimular y entretener a los enfermos de Alzheimer. Su objetivo es entretener y estimular al usuario para liberar al usuario de parte de la carga que conlleva, y a los terapeutas de mantener un segiumiento sobre el avance de la enfermedad gracias a la informaci´on recogida durante las terapias [13].

En la actualidad menos de la mitad de personas mayores de 65 a˜nos acceden a internet de manera regular. En gran parte se debe a que las tecnolog´ıas que permiten navegar por internet no tienen en cuenta este sector de la plobaci´on ya que las interfaces que crean pueden ser complejas para estos usuarios. La rob´otica social permite un acceso m´as simple y amigable para personas que no est´an familiarizadas con el acceso a informaci´on online [13].

Esta ayuda que presenta el robot Mini con el a˜nadido de terapias y aplicaciones de entretenimiento hacen que personas de avanzada edad y, como objetivo principal, personas con EA se nutran de las ventajas que presenta el acceso a internet y de una plataforma de ocio que, a su vez, entretiene y presenta terapias ´utiles para retrasar los efectos de la EA.

El principal reto en la creaci´on de este robot social es el rechazo que presenta la poblaci´on objetivo ante la tecnolog´ıa. Es por esto que se ha cuidado la est´etica, simplicidad y accesibilidad de la plataforma. Se trata de un robot con aspecto de peluche 4.1 que es capaz de recibir informaci´on por voz, para facilitar su uso, y en el que todas las aplicaciones tienen un factor motivador para que el usuario se lleve una experiencia positiva aunque no complete los retos propuestos.

(40)

Figura 4.1: Robot social Mini [14].

Mini se complementa de una tablet con las que se le dota de capacidades de interacci´on a trav´es de ´esta, adem´as de la comunicaci´on verbal. Pudiendo mostrar al usuario informaci´on, aprovech´andose de las caracter´ısticas de Mini, de manera sen- cilla. Con estas funcionalidades, llamadas habilidades, el entorno es capaz de realizar juegos con fines cognitivos, de mostrar noticias y archivos multimedia. Tratando de conseguir una mayor adherencia entre el robot y el usuario.

Arquitectura de Mini

Mini es un robot peque˜no de sobremesa con una apariencia similar en su prede- cesor Maggie 4.2. No solo sirve para entrenar las habilidades sociales y con fines de entretenimiento sino que tambi´en sirve para recordar eventos importantes o mostrar las noticias de actualidad, entre otros.

(41)

Figura 4.2: Robot Maggie [15].

Para realizar estas operaciones, Mini cuenta con cuatro motores que lo dotan de movimiento. Es capaz de mover la cabeza, los brazos y de rotar sobre su propio eje.

Adem´as cuenta con leds que iluminan las mejillas y un corazon que se encuentra en el pecho. Jugando con los colores y distintos patrones de parpadeo Mini es capaz de mostrar emociones. Adem´as cuenta con dos pantallas que hacen las funciones de ojos, mostrando mayor expresividad y emociones con el fin de humanizar el robot.

Tambi´en es capaz de interactuar por voz y con sonidos no verbales. Para ello cuenta con un micr´ofono en la base de este y con altavoces integrados dentro de la base del robot. Como hardware complementario, cuenta con una tablet externa que sirve de apoyo a la comunicaci´on, a trav´es de ´esta se pueden mostrar archivos multimedia y las distintas habilidades con las que cuenta.

(42)

Figura 4.3: Partes principales del robot Mini [16].

Para que todo este hardware funcione, las distintas partes est´an conectadas a un ordenador, que permanece oculto en la base del robot. Con ´este no solo se van a poder controlar las partes m´oviles de Mini sino que ser´a el encargado de procesar toda la informaci´on que tiene que ver con el software.

Componente Descripci´on

Placa base Intel DH77DF

Microprocesador Intel Core i5-3550 CPU @ 3.30GHz x 4

RAM 16GB (2x8GB)

Disco duro HDD: Kingston SSDNow 300V 60GB Fuente de alimentaci´on Seasonic SS-250SU

Cuadro 4.1: Componentes del sistema de procesamiento

Para dotarle de un aspecto amigable y que genere aceptaci´on por parte del usuario, se ha vestido a Mini con un traje para simular el cuerpo de un peluche.

Todos los componentes se encuentran en el interior de ´este y se ha cuidado la est´etica de la base del mismo.

(43)

C++

Este es el lenguaje que se ha empleado para la realizaci´´ on de la aplicaci´on. Las caracter´ısticas, funcionalidades y la accesibilidad de la informaci´on necesaria para el aprendizaje han hecho de ´este el lenguaje id´oneo para este proyecto.

C++ es una extensi´on de C que, a su vez, proviene de otros lenguajes m´as primitivos como son BCPL y B. ´Estos se crearon con el fin de escribir software y compiladores de sistemas operativos. B se utiliz´o para crear las primeras versiones del sistema operativo UNIX en 1970 [17].

Apartir de ah´ı Dennis Ritchie cre´o C, el cu´al se populariz´o como lenguaje de desarrollo para las siguientes versiones de UNIX. M´as adelante se extendi´o su uso y, en la actualidad, es uno de los lenguajes m´as utilizados, tanto para dise˜nar sistemas operativos como para programas portables independientes de la arquitectura del hardware. Este uso tan extendido en distintos ordenadores hizo que se produjeran muchas variaciones. Es por eso que en 1990 con la ayuda del instituto nacional estadounidense de est´andares, se estandariz´o el lenguaje y se cre´o lo que hoy se conoce como C y C++.

Los objetivos de la programaci´on es la econom´ıa, la eficiencia y la claridad. Esto es: que siempre se intenta ahorrar c´odigo escribiendo de forma r´apida y sin repetir estructuras que se pueden dar m´as de una vez,puediendo escribir de manera r´apida y correcta. La claridad se persigue para el buen entendimiento de los distintos c´odigos escritos facilitando el avance en este campo.

Con estas premisas se cre´o C++ proporcionando al nuevo lenguaje, de nuevas caracter´ısticas que pulen a su predecesor. Aunque la principal diferencia es que permite la programaci´on orientada a objetos (POO). Se trata de un estilo de pro- gramaci´on de forma modular en la que se reutilizan bloques de c´odigo ya creados para programar nuevos sistemas aprovech´andose de estos.

La creaci´on de un sistema modular y orientada a objetos hace que los programa- dores sean m´as productivos en comparaci´on a las t´ecnicas utilizadas anteriormente.

Permitiendo crear, modificar y corregir fragentos de forma m´as sencilla y r´apida.

(44)

Objetos y clases

Los objetos son fragmentos de c´odigo reutilizable que simulan elementos de la vida real. ´Estos funcionan como variables a lo que se denomina clase. Al igual que se puede crear una variable de tipo “int”, se puede crear un objeto del tipo “clase”. En esta clase se almacena la informaci´on necesaria para la creaci´on y destrucci´on del objeto. Adem´as contiene la informaci´on necesaria para trabajar con ´estas. Se puede decir que una clase es la declaraci´on abstracta de los objetos.

Las clases est´an compuestas de atributos y m´etodos. Los atributos son las varia- bles que se necesitan y caracterizan las clases, son las propiedades que tiene el objeto en s´ı. Por otro lado, los m´etodos son los fragmentos de c´odigo que se aprovechan de los atributos para realizar las funciones para los que se han creado.

Para su mejor visualizaci´on se va a ilustrar mejor esta explicaci´on a trav´es de ejemplos. Como objeto se va a elegir una mesa. Las mesas est´an creadas con patas y tableros, ´estos ser´ıan los atributos de la clase. Por otro lado se pueden trabajar con estos atributos de distintas maneras. Se pueden cambiar las medidas del tablero y du forma. Con las patas se pueden realizar las mismas modificaciones adem´as del n´umero de ´estas que va a llevar. Estas modificaciones en las mesas se har´ıan posible gracias a los m´etodos.

Adem´as los atributos y m´etodos pueden ser p´ublicos, privados o protegidos. Si son p´ublicos se pueden acceder a ellos desde fuera de la clase; si son privados, solo se pueden manejar dentro de la clase y si son protegidos se pueden heredar por parte de otras clases. Por lo general se establecen que los atributos son siempre privados ( o protegidos) y los m´etodos son p´ublicos. Puediendo modificar los primeros a trav´es de los m´etodos que, como pertenecen a la misma clase, ´estos si pueden modificar los valores de los atributos.

Relaciones entre objetos

Para poder aprovechar la potencia de los distintos objetos, el lenguaje permi- te que se relacionen entre s´ı. Esto posibilita la creaci´on de nuevos objetos sin la necesidad de repetir c´odigo que tienen en com´un.

Adem´as, entre los distintos objetos se pueden crear diversos tipos de relaciones, lo que permite la creaci´on de nuevos objetos sin la necesidad de repetir c´odigo que compartan en com´un. Por ejemplo, una mesa tiene patas, pero puede tener un n´umero distinto de patas, por otro lado una silla tambien tiene patas. Si se pudiera crear un molde para ambos objetos, se estar´ıa ahorrando mucho en la producci´on, en vez de crear dos moldes distintos seg´un sea patas de mesa o patas de silla.

(45)

Es ´esta la modularidad a la que se hace referencia que, con los tipos de relaciones posibles, la sencillez y la claridad que aporta esta t´ecnica de programaci´on, hacen que este lenguaje sea uno de los m´as empleados.

Relaci´on de asociaci´on: Es la relaci´on m´as b´asica que existe entre dos clases.

Se tiene la clase persona que vive en (asociaci´on) una casa. Cada clase es independiente de la otra aunque mantienen una conexi´on.

Relaci´on de agregaci´on: Es un tipo especial de asociaci´on que une las partes con el todo. Esto es, las patas y el tablero forman una mesa, siendo estos dos objetos de clases distintas. Las partes pueden existir independientemente, pero el todo no puede existir sin ´estas.

Relaci´on de composici´on: Se comporta de manera parecida a la agregaci´on solo que las partes solo son accesibles si se accede a ellas a trav´es del todo. No pueden existir de forma independiente.

Relaci´on de herencia: Consiste en crear clases usando una como base, ya que dichas bases tendr´an atributos y m´etodos parecidos. De una clase veh´ıculo se pueden obtener nuevas clases como coche, motocicleta o cami´on.

Herencia y polimorfismo

La relaci´on de herencia es una de las m´as potentes que ofrecen los lenguajes con POO. Va a ser una de las bases de este proyecto. Esta relaci´on permite crear nuevas clases a trav´es de su clase madre, utilizando ciertos atributos y m´etodos que rigen el comportamiento b´asico de ´estos con el fin de ahorrar c´odigo y tiempo. Adem´as, cada clase derivada puede ser la clase base para otras que se heredan de ´esta.

Por otro lado el polimorfismo permite la creaci´on de m´etodos con el mismo nombre que tienen funcionalidades distintas en las clases heredadas. La potencia de esta caracter´ıstica reside en varios aspectos. En primer lugar, se puede enviar el mismo mensaje a distintas clases heredadas que lo manejar´an de forma distinta.

Por otro lado, se puede referenciar la funci´on desde la clase base y que ´esta tenga el comportamiento de la clase derivada.

(46)

Figura 4.4: Relaci´on m´ultiple de herencia.

Por ejemplo, los vectores solo pueden almacenar informaci´on del mismo tipo. Es decir, solo se pueden crear vectores de una clase. Los objetos de las clases heredadas pueden ser referenciados desde la clase base. Por lo que el polimorfismo permite almacenar objetos que derivan de la clase base pudiendo tener comportamientos distintos.

Se puede tener un vector donde se almacenan animales y cada animal se mueve de una manera diferente. Se puede acceder a todos los animales ya sean peces, mam´ıferos o reptiles. Desde este vector, y sin saber en que posici´on est´a almacenado cada animal se le puede decir uno a uno que se mueva sin cambiar los nombres de las funciones, lo que ahorrar´ıa mucho c´odigo, pues solo es necesario un bucle que pase por cada elemento del vector y active la misma funci´on aunque tenga comportamientos diferentes.

Funciones virtuales

En C++ el polimorfismo es posible gracias a las funciones virtuales. El compor- tamiento de un m´etodo virtual est´a regido por la funcionalidad que se ha definido en las clases derivadas, cuando se referencia a un objeto desde la clase base. Para ello se tiene que definir como “virtual.enla clase base y volver a definirla en la clase derivada con la nueva funcionalidad.

Existen dos tipos de funciones virtuales. Las funciones virtuales normales y las puras. Las puras obligan a que las clases heredadas tengan definidos estos m´etodos por fuerza con su nueva funcionalidad. Mientras que las clases virtuales no puras pueden ser redefinidas en la clase derivada o mantener el mismo comportamiento que la clase base.

(47)

ROS

Aunque todo el lenguaje se vaya a escribir en C++, ´este es solo un medio para poder controlar ROS. ´Esta es una plataforma de software, de c´odigo abierto, para controlar robots. No es un sistema operativo propiamente dicho pero ha permitido la unificaci´on y estandarizaci´on en el mundo de la rob´otica. Permitiendo as´ı compartir funcionalidades entre los usuarios. Lo que quiere decir que no es necesario invertir tiempo en ciertos aspectos facilitando el avance y la investigaci´on.

Con m´as de 2000 paquetes, de 1800 art´ıculos y 80 robots comercializados basados en ROS se puede decir que se ha convertido en un est´andar de referencia. Desde el punto de vista del avance tecnol´ogico cualquier estandarizaci´on permite que todos los esfuerzos de cualquier equipo se centren en los aspectos verdaderamente importantes para seguir progresando. Un tema de vital importancia en el mundo de la ingenier´ıa [18].

Ros es un proyecto muy grande en el que han participado numerosos investiga- dores e instituciones. Surge de la necesidad de crear un sistema de c´odigo abierto en el mundo de la investigaci´on con robots. Desde sus inicios ha sido desarrollado para m´ultiples plataformas y distintos robots. Al principio esto se ve´ıa como un problema, pero ha resultado ser una gran ventaja. Que cada uno pueda crear sus propios repositorios manteniendo todo el control sobre el c´odigo sin la necesidad de depender del permiso de otros ha incitado a la creaci´on de numerosos proyectos que no se han retrasado por temas burocr´aticos [18].

Elementos principales

Antes de entender el funcionamiento de ROS es necesario describir los principales componentes de ´este. Para ellos se van a describir cada uno de ellos de forma breve comentando las principales caracter´ısticas y funcionalides que ofrecen cada uno de ellos.

Workspace

Antes de comenzar cualquier proyecto de ROS es necesario crear un espacio de trabajo. El Workspace es un conjunto de directorios en el que se van a almacenar todos los paquetes. Se pueden tener varios workspace aunque solo se puede trabajar en uno de ellos, no se pueden comunicar entre s´ı.

El espacio de trabajo permite almacenar todas las librerias e instrucciones de compilaci´on necesarias para el conjunto de paquetes que se almacenan en ´este.

Adem´as permite que cada paquete se comunique con los dem´as y trabajen en con- junto.

(48)

Paquetes de Ros

Los paquetes de ROS son los directorios en los que se organiza el proyecto. En estos se almacenan fragmentos de c´odigo, bases de datos o archivos que contienen cualquier tipo de informaci´on necesaria para que el c´odigo funcione. Adem´as con- tiene la descripci´on del contenido del mismo, las instrucciones necesarias para la compilaci´on y los paquetes de los que depende [18].

Se puede decir que en cada paquete se almacena cada una de las funcionalidades del sistema en general. No hay que confundirlo con los nodos. En cada paquete se pueden almacenar cuantos nodos se necesiten. Aunque los nodos han de funcionar con las mismas dependencias y normalmente suelen realizar una ´unica funci´on en el conjunto final.

Adem´as el ecosistema de ROS tiene una gran cantidad de repositorios de acceso libre realizados de forma independiente. Cada usuario puede hacer uso de ´estos con el fin de crear una comunidad en la que todo el mundo puede incluir sus aportaciones con el fin de avanzar m´as en el mundo de la rob´otica.

Catkin

Catkin est´a basado en Python y a˜nade funcionalidades a CMake. CMake es un sistema de compilaci´on de c´odigo abierto. En cada paquete se encuentran dos archivos CMakeLists.txt y package.xml con el que se dan las instrucciones que se necesitan para la compilaci´on de los paquetes de ROS. Solo hay que llamar a las herramientas de Catkin para que genere los paquetes y archivos necesarios para el funcionamiento del sistema [18].

Roscore

Roscore sirve para gestionar las comunicaciones entre los nodos. Cada nodo se comunica con ´el cuando se lanza y le manda informaci´on de qu´e mensajes quiere enviar, de donde los quiere recibir y el formato que van a tener estos. Este servicio es el que muestra el camino por el que tienen que enviar y recibir los topics [18].

A diferencia de otros sistemas, las comunicaciones en ROS se realizan de igual a igual (p2p) esto permite que cualquier nodo funcione como servidor para unos nodos y como cliente para otros. Esto se puede realizar gracias a roscore que organiza la informaci´on recibida [18]. Se utiliza para que los nodos sepan d´onde encontrar sus pares.

(49)

Figura 4.5: Mecanismo de actuaci´on de roscore [18].

En la figura 4.5 se puede observar el funcionamiento del sevicio. Cuando se lanzan todos los nodos, ´estos env´ıan la informaci´on sobre los mensajes, y reciben de ´este el otro punto del camino. Con esta informaci´on se establece la comunicaci´on entre los nodos y se env´ıa el mensaje a trav´es del topic.

Rosrun

Como Ros se estructura en paquetes, a veces acceder a un paquete puede ser tedioso. Rosrun es una herramienta que permite acceder a ellos de manera sencilla.

En ´el se puede lanzar cualquier nodo sabiendo solo el nombre del paquete y el nombre del ejecutable del nodo [18].

Con ´el se lanzan los nodos que se necesiten. Esto es, se activa el funcionamiento de cada uno de los nodos para que pueda realizar su funci´on y comunicarse con el resto de nodos enviando o recibiendo los mensajes necesarios.

Con esta herramienta solo se pueden lanzar nodos de uno en uno. Si en un paquete se almacenan varios nodos, con la herramienta roslaunch y un archivo con la extensi´on .launch, que es configurado con los nodos previamente, se pueden lanzar varios nodos de forma simult´anea. Con el mismo efecto que lanzar nodo a nodo con rosrun.

Estructura

Ros est´a basado en mecanismos de comunicaci´on entre distintos programas a trav´es de buses de datos llamados Topics. Significa que, varios programas indepen- dientes trabajan de forma simult´anea, comunic´andose a trav´es de mensajes. Lo que permite encajar de manera sencilla el c´odigo que se est´e creando con otros paquetes auxiliares. Facilitando el uso compartido de c´odigo permitiendo una mayor implica- ci´on en el propio.

(50)

Se pueden diferenciar cuatro tipos de mecanismos de comunicaci´on. EL primero es el llamado paso de mensajes. Donde existen un nodo emisor y un nodo receptor.

El nodo emisor se encarga de procesar la informaci´on necesaria para modificar un mensaje de cualquier tipo y el nodo receptor recibe ´este y trabaja seg´un el mensaje que haya recibido.

Figura 4.6: Paso de mensajes

En el mecanismo de servicios se encuentran un nodo servidor y un nodo cliente.

El nodo cliente env´ıa la informaci´on al servidor, ´este la procesa y env´ıa el resultado al nodo cliente. Como se puede observar el programa queda parado hasta que se devuelve el argumento procesado al cliente. Es ´util para procesos repetitivos y de simple l´ogica que no requieran mucho tiempo de procesamiento pues el sistema quedar´ıa estancado.

Figura 4.7: Mecanismo de servicios

(51)

Tambi´en se encuentra el servidor de par´ametros. Este sistema funciona de tal manera que distintos nodos pueden leer estos mensajes. Funciona como un contene- dor en el que hay informaci´on dentro de ´el y el resto de nodos cogen esa informaci´on cuando sea necesario. Este tipo de comunicaci´on es el menos usado pues es compli- cado generar distintos programas que precisen de la misma informaci´on siempre.

Figura 4.8: Servidor de par´ametros

Por ´ultimo hay que hablar de actionlib. Se puede decir que funciona de manera similar al mecanismo de servicios pero de manera as´ıncrona. La aplicaci´ona crear en este proyecto ser´ıa un nodo servidor en este tipo de mecanismo. El nodo cliente no se queda esperando la respuesta del nodo servidor. Adem´as de ser as´ıncrono, lo que genera grandes ventajas, puede ser cancelado en cualquier momento y permite la recepci´on de un feedback durante la ejecuci´on del mismo.

Referencias

Documento similar

Polígon industrial Torrent d'en Puig. Polígonindustrial de Can

rios problemas de incompatibilidad con el propio Estado de Derecho (vid. «Concepto y esen- cia del Estado social de Derecho», en W. DOEHRING: El Esta- do social, cit., págs.

La vida real, no obstante, proporciona la certidumbre de que, en multitud de ocasiones, el interés de cada uno se satisface con el concurso propio y de otro u otros portadores

Para comprobar tanto el middleware como el controlador de acceso a datos de un nivel de red y un cliente de base de datos dados, utilice la función connectivity.. Figura 2-7:

En primer lugar, se va a realizar el contraste de Chow para concluir si hay cambio estructural desde el segundo trimestre de 2009, lo que nos indicará si

Estos planes de recolo- cación deben garantizar a las personas despedi- das un servicio continuado durante un periodo mínimo de seis meses que incluya medidas de formación

Estas bases de datos son p´ ublicas y a trav´ es de sus portales en internet permiten el acceso y la descarga de informaci´ on gen´ etica, tanto de las propias secuencias como de

En el Modelo Relacional se puede usar el c´ alculo de predicados de primer orden (CPPO) porque una BDR siempre puede verse como una interpretaci´ on (I) de un lenguaje de primer