Desarrollo de aplicación móvil con Unity3D para rehabilitación física
Abstract
Grado en Ingeniería de Tecnologías de Telecomunicación
Full text
UNIVERSIDAD DE VALLADOLID E.T.S.I. TELECOMUNICACIÓN TRABAJO FIN DE GRADO GRADO EN INGENIERÍA DE TECNOLOGÍAS DE TELECOMUNICACIÓN Desarrollo de aplicación móvil con Unity3D para rehabilitación física Autor: D. Iván Santos Fernández Tutor: Dr. D. Mario Martínez Zarzuela Valladolid, 14 de septiembre de 2021
TÍTULO Desarrollo de aplicación móvil con Unity3D para rehabilitación física AUTOR: D. Iván Santos Fernández TUTOR: Dr. D. Mario Martínez Zarzuela DEPARTAMENTO: Teoría de la Señal y Comunicaciones e Ingeniería Telemática TRIBUNAL PRESIDENTA: Dra. Dª. Míriam Antón Rodríguez SECRETARIO: Dr. D. Mario Martínez Zarzuela VOCAL: Dr. D. David González Ortega SUPLENTE 1: Dr. D. Francisco Javier Díaz Pernas SUPLENTE 2: Dr. D. Carlos Gómez Peña FECHA: 14 de septiembre de 2021 1.1.1.1.1.1 CALIFICACIÓN:
Agradecimientos Mi agradecimiento al Dr. D. Mario Martínez Zarzuela por su guía y ayuda en la realización de mi Trabajo Fin de Grado. A mi familia y amigos por su colaboración en la realización de diferentes pruebas de uso sobre la aplicación móvil desarrollada en este Trabajo Fin de Grado.
Resumen Este Trabajo Fin de Grado gira en torno al desarrollo de una aplicación móvil para dispositivos móviles generada mediante Unity3D, un motor de videojuegos multiplataforma. El objetivo es conseguir una herramienta para la rehabilitación de trastornos musculoesqueléticos mediante la realización de diferentes ejercicios físicos controlados, siendo algunos de estos ejercicios predefinidos y otros a crear por el usuario final de la aplicación. Se introduce en qué consiste y cómo se encuentra la rehabilitación de este tipo de trastornos en la actualidad, y la importancia del ejercicio físico como una solución de tratamiento. Se llevará a cabo una revisión de las tecnologías existentes centrada en revisar varios artículos científicos de interés, algunas de las aplicaciones comerciales móviles disponibles para realizar ejercicio físico y rehabilitación, una breve introducción al desarrollo de aplicaciones mediante la herramienta Unity3D, y un análisis de los sensores en dispositivos móviles, centrado en acelerómetros y giróscopos. Se presenta la herramienta, llamada la „La app de la recuperación‟, y sus diferentes ejercicios disponibles, y, por último, un estudio sobre las pruebas realizadas sobre la aplicación ya en funcionamiento y una comparativa de las diferencias con otras aplicaciones ya existentes. Palabras clave Aplicación móvil, Sanidad móvil, Rehabilitación, Trastornos musculoesqueléticos, Ejercicio físico, Unity3D, Giroscopio, Android
Abstract This Degree Final Project revolves around the development of a mobile application for mobile devices generated by Unity3D, a multiplatform video game engine. The objective is to get a tool for the rehabilitation of musculoskeletal disorders through performing different controlled physical exercises, some of these exercises being predefined and others to be created by the application's end user. Introduces what it consists and how is the rehabilitation of this type of disorders today, and the importance of physical exercise as a treatment solution. A review of existing technologies will be carried out centered on reviewing several scientific articles of interest, some of the commercial mobile applications available for physical exercise and rehabilitation, a brief introduction to application development using the Unity3D tool, and an analysis of the mobile devices sensors, centered on accelerometers and gyroscopes. The tool is presented, called the „The recovery app‟, and its different exercises available, and, finally, a study on the tests carried out on the application already in operation and a comparison of the differences with other already existing applications. Keywords Mobile app, mHealth, Rehabilitation, Musculoskeletal disorders, Physical exercise, Unity3D, Gyroscope, Android
Universidad de Valladolid 15
Universidad de Valladolid 16 1 Introducción En este primer capítulo se introduce, valga la redundancia, la motivación y objetivos que subyacen a la realización de este Trabajo de Fin de Grado. Se abordan las fases y métodos seguidos es su realización así como los recursos disponibles para llevarlo a cabo. Decir que este Trabajo de Fin de Grado se ha desarrollado dentro del Grupo de Telemática e Imagen (GTI) de la Universidad de Valladolid. 1.1 Motivación y objetivos El teléfono móvil inteligente es, a día de hoy, un elemento casi indispensable en nuestro día a día. Como puede verse en la Figura 1, ya no solo lo usamos para hacer llamadas telefónicas, sino que nos servimos de él para ver películas, comprar entradas de cine, reservar viajes, jugar, hacer videollamadas, realizar transferencias bancarias, buscar información o imágenes, ver códigos QR, etc. (Ditrendia, 2020). En definitiva, se ha convertido en una herramienta que nos permite solucionar o manejar la mayoría de los problemas que nos pueden surgir en cualquier momento dado. Figura 1. Hábitos de consumo móvil en España (Ditrendia, 2020). Como recoge el informe Ditrendia (Ditrendia, 2020), en el año 2020 un 90% de los habitantes del planeta tiene un smartphone y un 95% de estos lo usa cada día, haciendo que más del 50% del acceso a internet sea a través de estos dispositivos, como puede verse en la Figura 2. El informe da la cifra de 3 horas y 22 minutos de uso diario con nuestros teléfonos móviles, dejando a las claras su importancia en la vida diaria actual (Ditrendia, 2020). Figura 2. Acceso a internet por dispositivo en el mundo (Ditrendia, 2020). Uno de los principales usos que damos a nuestros dispositivos móviles es la descarga y utilización de Apps, con cerca del 91% del tiempo total dedicado frente a la navegación por internet (Ditrendia, 2020). Aplicaciones móviles de chat como WhatsApp, redes sociales como Facebook, juegos como Candy Crush, de compras como Amazon, de música como Spotify, de almacenamiento en la nube como Dropbox, de banca online
Universidad de Valladolid 17 como Openbank, etc. (ver Figura 3); un amplio catálogo de aplicaciones que abarcan casi todas nuestras necesidades. Es en estas últimas, aplicaciones de salud, en las que nos vamos a centrar. Figura 3. Porcentaje de uso de las diferentes aplicaciones (Ditrendia, 2020). Hemos hablado de la rápida expansión de los llamados teléfonos inteligentes y del número creciente de aplicaciones móviles disponibles en el mercado, y en el campo de la salud el recorrido ha sido el mismo. La sanidad móvil es un campo ascendente que está en constante desarrollo, y que está contribuyendo en el cambio de la asistencia sanitaria y está elevando su excelencia y su capacidad, logrando tener un papel más que relevante en la mejora de la calidad de vida de las personas (Comisión Europea, 2014). La mHealth, que es como es conocida esta sanidad móvil, se define según la Organización Mundial de la Salud como “práctica médica y de salud pública respaldada por dispositivos móviles, como teléfonos móviles, dispositivos de monitoreo, asistentes digitales personales (PDAs) y otros dispositivos inalámbricos”. Su uso es mayor en países con ingresos más altos y presenta suspicacias en torno al uso de la información personal recogida por los diferentes dispositivos o aplicaciones móviles de salud disponibles (Organización Mundial de la Salud [OMS], 2011). Respecto a la seguridad dos principios básicos: seguridad durante su actividad para preservar y proteger la salud de los pacientes y mantenimiento de la privacidad de todos y cada uno de los datos recogidos. No todos estos dispositivos o apps son de una calidad relevante, de manera que su crecimiento constante debe ser regulado por mecanismos que aseguren esta seguridad (Alonso-Arévalo y Mirón-Canelo, 2018). Una gran variedad de estudios han reflejado el más que notable uso de la mHealth como un medio para lograr un mejor tratamiento de afecciones crónicas por medio de la monitorización y la retroalimentación, actuaciones en educación y en la forma que tenemos de llevar el día a día, descubrimiento de posibles riesgos, ayuda en la elección de soluciones sanitarias y en rehabilitación, etc. (Fan y Zhao, 2021). Y es en este último uso, la rehabilitación, en donde vamos a pivotar nuestro trabajo para conseguir una aplicación móvil que permita la rehabilitación de trastornos muscoloesqueléticos con la realización de ejercicio físico controlado. Para conseguir esto vamos a recurrir a uno de los elementos básicos de los smartphones: el giroscopio. El giroscopio es un sensor para determinar la velocidad de rotación de un dispositivo móvil (Android Developers, s.f.). Las lecturas de este sensor van a ser vitales para el correcto funcionamiento de nuestra aplicación móvil.
Universidad de Valladolid 18 Por tanto, los objetivos a conseguir los podemos resumir en tres: Una herramienta para la rehabilitación de trastornos musculoesqueléticos mediante la realización de diferentes ejercicios físicos, estando algunos de estos ejercicios predefinidos y otros a crear por el usuario final de la aplicación. Una revisión de las tecnologías existentes, una introducción al desarrollo de aplicaciones mediante la herramienta Unity3D y la presentación de la herramienta y sus diferentes ejercicios disponibles. Un estudio de las pruebas realizadas sobre la aplicación ya en funcionamiento. 1.2 Fases y métodos Vamos a comentar brevemente las principales fases de desarrollo seguidas en el Trabajo Fin de Grado: Inicio en Unity3D: Se hace un primer acercamiento a Unity3D, herramienta para la creación de nuestra aplicación móvil. Se completan una serie de videotutoriales de YouTube (Juande, 2005). Rehabilitación: Se hace un estudio de los trastornos muscoloesqueléticos y de algunos métodos de rehabilitación con ejercicio físico disponibles. Artículos científicos: Búsqueda de artículos científicos en los que se estudie el uso de los sensores de los teléfonos móviles en el campo de la salud. Aplicaciones disponibles: Búsqueda de aplicaciones comerciales móviles para realizar ejercicio físico y rehabilitación. ‘Lluvia de ideas’: Se perfilan las posibles funcionalidades de la aplicación, los sistemas operativos que soportará y se hacen las primeras pruebas con el giroscopio del teléfono móvil. Fase inicial: Se crean las primeras escenas y con ellas se establece el esquema general a seguir en la aplicación. Primera versión: Se completa la primera versión de la aplicación y se hacen pruebas para comprobar su operatividad. Revisión: Se hace un repaso de la aplicación y se toma la decisión de añadir algunas funcionalidades más. Se corrigen algunos fallos. Versión final: Se completa la que es última versión de la aplicación. Nuestra aplicación: Explicación, con detalle, de la aplicación móvil creada. Pruebas: Desarrollo de una serie de pruebas con diferentes sujetos y posterior explicación de los resultados obtenidos.
Universidad de Valladolid 19 1.3 Recursos disponibles Vamos a presentar los recursos utilizados en el desarrollo del este TFG: dos dispositivos en hardware, cinco elementos en software y un posible accesorio para realizar los diferentes ejercicios de la aplicación móvil. 1.3.1 Hardware Ordenador portátil personal Modelo: Packard Bell Easynote TM Procesador: Intel(R) CoreTM i3 CPU 2.27 GHz RAM instalada: 4,00 GB Tipo de sistema: Sistema operativo de 64 bits, procesador basado en x64 Almacenamiento: 500GB Pantalla: 15.6” 16:9 HD LED LCD Sistema operativo: Windows 10 Home Versión: 21H1 Teléfono móvil personal Modelo: Huawei Ascend G630-U20 Procesador: CPU Qualcomm Snapdragon 200 de 1 núcleo RAM instalada: 1,00 GB Velocidad del procesador: 1.2 GHz Almacenamiento: 4GB Pantalla: 720 x 1280 Sistema operativo: Android Versión: 4.3 1.3.2 Software Unity3D Desarrollado por Unity. Versión utilizada: 2017.3. Disponible para Windows, Mac y Linux. Motor para la creación de juegos, aplicaciones y escenas 2D, 3D y VR. Ofrece las herramientas para crear asombrosos juegos y poder difundirlos en una gran variedad de dispositivos (Unity, 2021).
Universidad de Valladolid 20 Figura 4. Logotipo de Unity. C# Desarrollado por Microsoft. Es el lenguaje de programación utilizado en este Trabajo Fin de Grado. C#, o C Sharp, es “un lenguaje de programación orientado a objetos y a componentes”. Se puede usar para implementar una gran variedad de proyectos seguros y robustos que se lanzan en Microsoft .NET. Tiene su origen en el lenguaje C y es fácil de utilizar para todos aquellos que estén habituados a usar C, C++, Java o JavaScript. La última versión estable es la 9.0, publicada con .NET 5 (Microsoft, 2021). Figura 5. Logotipo de C#. Microsoft Visual Studio Community 2017 Desarrollado por Microsoft. Versión utilizada: 15.9.36. Es un entorno de desarrollo integrado (IDE) que permite escribir, depurar y compilar nuestro script, germen de nuestro futuro proyecto (Anand, 2021). Viene incorporado en Unity, con su herramienta Visual Studio Tools, con la función de crear los diferentes scripts que van a formar parte del proyecto de Unity usando C#. Está totalmente integrado con el editor de Unity (Miller, 2019). Figura 6. Logotipo de Microsoft Visual Studio Community 2017.
Universidad de Valladolid 21 Unity Remote 5 Desarrollado por Unity. Disponible para Android, iOS y TVOS. Versión actual: 3.0. Aplicación muy útil al trabajar con Unity. Al ejecutar (dar al PLAY) nuestro proyecto, en el Editor se conecta la aplicación a Unity. A partir de ese momento, todo lo que veamos en el Editor se verá también en la pantalla de nuestro dispositivo y todas las acciones que tomemos en el dispositivo volverán al proyecto que tenemos ejecutándose en Unity. Nos permite ir viendo cómo va nuestro proyecto sin tener que compilarlo cada vez que queramos ver su funcionamiento, lo cual ahorra tiempo (Unity, 2018e). Figura 7. Logotipo de unity Remote 5. DB Browser for SQLite Versión utilizada: 3.10.1. Disponible para Windows, macOS, Linux, etc. Como se indica en su documentación (DB Browser for SQLite, s.f.), se trata de “una herramienta de código abierto, visual y de alta calidad para crear, diseñar y editar archivos de bases de datos compatibles con SQLite”. Figura 8. Logotipo de DB Browser for SQLite. 1.3.3 Accesorios Brazalete Típico brazalete que se utiliza para hacer deporte. Lo usaremos para crear y hacer los ejercicios de brazos y piernas (ver Figura 9).
Universidad de Valladolid 22 Figura 9. Tipo de brazalete necesario. Para los ejercicios de cabeza y pecho haría falta una cinta o „algo semejante‟, cualquier cosa que encontremos que sujete el móvil y no lo mueva de su posición correcta. Para este tipo de ejercicios podría ser suficiente con sujetar el móvil a la altura del pecho o de la cabeza con los dedos, aunque resultarían algo más incomodos de completar al tener las manos ocupadas durante la realización de los mismos.
Universidad de Valladolid 23 2 Rehabilitación de trastornos muscoloesqueléticos con ejercicio físico En este segundo capítulo se hace un análisis de en qué consisten los llamados trastornos muscoloesqueléticos. Se comentan cuáles son los más comunes y las causas que los producen. También se aborda en qué consiste la rehabilitación de estos trastornos hoy en día. 2.1 Trastornos muscoloesqueléticos Los trastornos musculoesqueléticos (TME) engloban unos 150 trastornos relacionados con el aparato musculoesquelético, también llamado aparato locomotor. Estos trastornos van desde los súbitos y de breve plazo hasta las afecciones permanentes y severas (OMS, 2021). Tienen su germen en un envejecimiento cada vez mayor de las personas y en una alteración constante de la manera en la que vivimos, con lo cual es muy probable que sigan creciendo en el futuro (Ministerio de Sanidad, Servicios Sociales e Igualdad, 2013). Como recoge la OMS (2021), “suelen ocurrir con dolor (a menudo persistente) y limitación de la movilidad, la destreza y el nivel general de funcionamiento, lo que reduce la capacidad de las personas para trabajar”. También se indica que estos trastornos pueden afectar a (OMS, 2021): “articulaciones (artrosis, artritis reumatoide, artritis psoriásica, gota, espondilitis anquilosante)” “huesos (osteoporosis, osteopenia y fracturas debidas a la fragilidad ósea, fracturas traumáticas)” “músculos (sarcopenia)” “la columna vertebral (dolor de espalda y de cuello)” “varios sistemas o regiones del cuerpo (dolor regional o generalizado y enfermedades inflamatorias, entre ellas los trastornos del tejido conectivo o la vasculitis, que tienen manifestaciones musculoesqueléticas, como el lupus eritematoso sistémico)” Entre otros ámbitos, en el del trabajo tiene una enorme influencia, hasta el punto de ser considerado como “el problema de salud más común en España y en Europa” (Instituto Nacional de Seguridad y Salud en el Trabajo [INSST], s.f.). En el trabajo se producen estos trastornos en espalda, cuello, hombros y en las extremidades, con casos que van desde los más leves a otros más delicados que precisan de atención sanitaria (Agencia Europea para la Seguridad y la Salud en el Trabajo [EU-OSHA], s.f.). Podemos encontrar diversos factores de riesgo que causan estos TME en el trabajo: físicos y biomecánicos, como el manejar distintas cargas, trabajar a un ritmo elevado, etc.; organizativos, como las largas jornadas de trabajo, las escasas pausas diarias, trabajar demasiado rápido, etc.; psicosociales, como el hostigamiento o cualquier otro tipo de marginación durante el trabajo; o individuales, como el historial médico, edad, costumbres diarias, etc. (INSST, s.f.; EU-OSHA, s.f.). Como ejemplo de la más que relevante existencia de este tipo de trastornos, vamos a tomar la VII Encuesta Nacional de Condiciones de Trabajo en España publicada por el
Universidad de Valladolid 24 INSST en el año 2011. Se comenta que hasta un 77.5% de trabajadores encuestados afirma padecer algún tipo de trastorno muscoloesquelético, siendo los más comunes y destacados la zona baja de la espalda con casi el 45%, la nuca/cuello con más del 34% y la zona alta de la espalda con algo más del 27%, como puede verse en la Figura 10 (INSST, 2011). Figura 10. Trastornos muscoloesqueléticos más comunes (INSST, 2011). El mismo análisis por sector de actividad, ver Figura 11, refleja como dependiendo del trabajo a realizar se van a ver más o menos afectadas unas partes del cuerpo u otras. Podemos destacar como en los sectores agrario y de la construcción la zona baja de la espalda tiene una mayor afectación que en industria y servicios, mientras que en el sector servicios tanto la nuca/cuello como la zona alta de la espalda sufren más molestias que en los otros tres sectores (INSST, 2011). Figura 11. Trastornos muscoloesqueléticos por sector de actividad (INSST, 2011). En resumen, se estima que unos 1,71 billones de personas a lo largo del planeta padecen algún tipo de trastorno muscoloesquelético (Cieza et al., 2020). Por tanto, una correcta estimación de los riesgos existentes y un proyecto preventivo de acción son vitales para mitigar, en la mayor medida de lo posible, estos trastornos cada vez más extendidos (EU-OSHA, s.f.).
Universidad de Valladolid 31 profesionales del sector que garanticen sus prestaciones. Y se hace una lista de cuales deberían ser los retos futuros para este tipo de aplicaciones, algunos de estos son: un mayor número de estudios médicos que midan la efectividad y el nivel de seguridad de estas aplicaciones y sus dispositivos móviles, que las aplicaciones de salud estén claramente identificadas como tales, abogar por órganos reguladores públicos, disponer de una tienda específica de aplicaciones en salud que ayude al usuario al escoger la más adecuada para sus intereses, que las aplicaciones sean multiplataforma y sencillas de manejar, mejoras en la seguridad y privacidad de estas aplicaciones, etc. Y, por último, respecto a la seguridad en las aplicaciones móviles, en el artículo de Papageorgiou et al. (2018) se hace un estudio sobre la seguridad y la privacidad en las aplicaciones de la mHealth. La enorme variedad de información que proporcionan los muchos sensores disponibles en nuestros dispositivos móviles ha dado lugar a un gran aumento en el número de aplicaciones en el campo de las m-Health. Los autores tratan cómo estas aplicaciones mantienen la privacidad y la seguridad de todos estos datos, los cuales son información delicada de los usuarios a proteger. La investigación, con una duración de unos 20 meses, se centra en aplicaciones para Android que tengan suficiente relevancia y número de usuarios. Para evaluar las aplicaciones se crea primero una metodología de selección con la que se escogen aquellas que más se adecúan al estudio, en este caso 20 aplicaciones disponibles en Google Play, y se establece una metodología minuciosa para la valoración de los datos de cada aplicación. Tras presentar los resultados obtenidos, se llega a la conclusión de que un gran número de aplicaciones no cumplen con los requisitos mínimos de seguridad y privacidad sobre los datos de los usuarios, quedando expuestos parámetros sanitarios, historiales clínicos, claves de acceso, imágenes personales, etc. Algunos de los mayores problemas serían: el escaso cifrado de la información personal, la poca capacidad de los órganos reguladores de controlar a dónde van los datos de las diferentes aplicaciones, etc. Por tanto, con la opinión favorable de los profesionales del sector, se pide una mayor vigilancia sobre estas aplicaciones de la m-Health. 3.2 Aplicaciones comerciales móviles para realizar ejercicio físico y rehabilitación Consultando las diferentes tiendas de aplicaciones móviles, como Google Play o la App Store de Apple, puede verse como el campo de la salud está muy bien representado. Aplicaciones para medir la presión arterial, controlar el sueño mientras dormimos, llevar una dieta sana y equilibrada, informarnos sobre el COVID‑19, realizar actividades físicas, etc. También hay un buen número de aplicaciones de salud oficiales, como por ejemplo de las diferentes comunidades autónomas en España, para temas como pedir citas médicas, consultar nuestro historial sanitario, etc. En lo que nos toca, aplicaciones móviles para realizar ejercicio físico y rehabilitación, el resultado es el mismo. Destacar que, en la mayoría de los casos, se trata de aplicaciones que proporcionan vídeo e información para los usuarios o, en otros casos, que se sirven del sensor GPS de nuestros móviles para el cálculo de diversos parámetros. En nuestro caso, vamos a centrarnos en aplicaciones disponibles para Android y que sean gratuitas. Para cada aplicación se indicará quién la ha desarrollado, su última actualización, su versión actual y los sistemas operativos que soporta. Se detallará en qué consiste y se realizarán y comentarán una serie de pruebas sobre la misma.
Universidad de Valladolid 32 Google Fit: Reg. de actividad Desarrollada por: Google LLC Versión actual: 2.62.26 Última actualización: 5 de agosto de 2021 Sistemas operativos: Android, iOS, Wear OS Número de descargas en Google Play: Más de 50 millones ¿En qué consiste? Aplicación para controlar la realización de ejercicio físico. Mediante un sistema que otorga una serie de puntos, llamados Puntos Cardio, se establece la calidad diaria de los ejercicios llevados a cabo. Reseñar que este sistema fue creado en asociación con la OMS y la American Heart Association de los EEUU. Dispone de diversas funcionalidades: monitorizar los entrenamientos mediante el uso de los sensores internos y obtener parámetros como la velocidad o el recorrido realizado, un sistema de logro de metas mediante Puntos Cardio, historiales de uso de la aplicación, uso de la cámara para calcular la frecuencia respiratoria o cardiaca, etc. Destacar el uso del sensor GPS y de la cámara para la obtención de parámetros (Google LLC, 2021). Pruebas realizadas Después de registrarse, la aplicación pide una serie de datos: sexo, edad, peso y altura. Informa del funcionamiento de los Puntos Cardio y pide escoger nuestros objetivos diarios. Ya en la aplicación, como puede verse en la Figura 12, se pueden ver todas las funcionalidades antes comentadas: los objetivos diarios y semanales, el registro personal de actividad, etc. Figura 12. Escenas de la aplicación Google Fit.
Universidad de Valladolid 33 ReHand, Rehabilitación de la Mano vía Tablet Desarrollada por: Healthinn Versión actual: 2.0.3 Última actualización: 24 de mayo de 2021 Sistemas operativos: Android, iOS Número de descargas en Google Play: Más de 10000 descargas ¿En qué consiste? Aplicación para realizar ejercicios de rehabilitación en el elemento “muñeca-mano- dedos”. Se trata de una aplicación creada por especialistas sanitarios y previamente testada en ensayos de más de 600 sujetos. Los pacientes disponen de una serie de ejercicios ajustados a su tratamiento y los especialistas un medio de controlar el proceso de rehabilitación de estos. Los ejercicios van a consistir en completar “toques y recorridos” en la pantalla del dispositivo, una tableta en este caso (Healthinn, 2021). Pruebas realizadas Al abrir la aplicación, se indican una serie de consejos/instrucciones para la correcta realización de los ejercicios y la metodología para ir completando cada nivel de dificultad. Se accede a una versión demo de la aplicación, para la versión completa debe ser con recomendación profesional. Después de crear una cuenta de usuario, se accede a los ejercicios de la aplicación (ver Figura 13) y se escoge la mano a tratar. Para cada ejercicio, primero se calibra la colocación de los dedos y ya después se completa el ejercicio (ver figura 14). Si se consigue una puntuación mínima de 90 se pasa al siguiente nivel de dificultad. Figura 13. Menú de la aplicación ReHand. Figura 14. Ejercicio de la aplicación ReHand.
Universidad de Valladolid 34 Podómetro gratis - Contador y Seguimiento de Pasos Desarrollada por: ITO Technologies, Inc. Versión actual: 5.39 Última actualización: 4 de abril de 2021 Sistemas operativos: Android Número de descargas en Google Play: Más de 10 millones ¿En qué consiste? Aplicación para llevar una cuenta de los pasos completados. Lleva a cabo un registro completo de los ejercicios diarios, la distancia recorrida, las calorías consumidas, la duración de los ejercicios/actividades, el ritmo empleado, etc., todo ello con la ayuda de gráficos. La aplicación se ejecutará con el dispositivo móvil en el bolsillo, por ejemplo, mientras se realiza la actividad física deseada. No se sirve del sensor GPS para la obtención de parámetros, lo cual reduce el gasto de batería. Destacar que los desarrolladores de la aplicación aconsejan hacer “10000 pasos por día” (ITO Technologies, 2021). Pruebas realizadas Esta aplicación no requiere de ningún tipo de registro. Aplicación muy sencilla de utilizar. Es importante seguir las instrucciones y dar los permisos adecuados en su primer uso para que funcione sin problemas. Como puede verse en la Figura 15, muestra todos los datos ya comentados anteriormente de una manera muy visual. Figura 15. Escena de la aplicación Podómetro gratis.
Universidad de Valladolid 35 Ejercicios de dolor de espalda Desarrollada por: Vladimir Ratsev Versión actual: 1.0.99 Última actualización: 22 de junio de 2021 Sistemas operativos: Android, iOS Número de descargas en Google Play: Más de 500000 descargas ¿En qué consiste? Aplicación para rehabilitar o evitar posibles trastornos asociados a la espalda o el cuello. Dispone de más de 100 ejercicios para espalda baja, cuello, columna, piernas, cintura, abdomen, etc. El objetivo de la aplicación es conservar en buen estado la espalda y mantener una posición adecuada. Los ejercicios a realizar disponen de: vídeo informativo, pasos a seguir, cronómetro y una serie de señales auditivas para seguir los ejercicios. Se puede disponer de cualquier ejercicio y adaptarlo a nuestras necesidades (Vladimir Ratsev, 2021). Pruebas realizadas Esta aplicación no requiere de ningún tipo de registro. Al abrirla, ver escena izquierda de la Figura 16, se puede seleccionar uno de los entrenamientos disponibles o crear uno propio con los ejercicios que mejor te vengan. Cada entrenamiento tiene sus ejercicios, y cada ejercicio viene con sus instrucciones escritas y visuales de como completarlo (ver escena central de la Figura 16). Un vídeo, un cronómetro y audios ayudan a completar los diferentes ejercicios (ver escena derecha de la Figura 16). En el apartado estadísticas se recogen los entrenamientos que vamos completando cada día. Figura 16. Escenas de la aplicación Ejercicios de dolor de espalda.
Universidad de Valladolid 36 Ejercicios para los ojos Desarrollada por: ShvagerFM Versión actual: 2.9.7 Última actualización: 16 de julio de 2021 Sistemas operativos: Android Número de descargas en Google Play: Más de 500000 descargas ¿En qué consiste? Aplicación para el mantenimiento o rehabilitación de la vista. Se dispone de 6 ejercicios diferentes, muchos más en la versión extendida gratuita, con una duración aproximada de 5 minutos. La realización de los ejercicios consiste en: seguir las instrucciones que se indican en pantalla, replicar el movimiento del ojo que aparece y orientarse por medio de los indicadores sonoros (ShvagerFM, 2021). Decir que puede ser discutible el considerar lo que se hace con esta aplicación como ejercicio físico, pero como un medio de rehabilitación sí parece relevante. Pruebas realizadas Esta aplicación no requiere de ningún tipo de registro. Simplemente, hay que seguir las sencillas instrucciones que van apareciendo. Como puede verse en la Figura 17, en cada ejercicio hay que replicar el movimiento del ojo, de tal manera que cuando tengamos los ojos cerrados los sonidos serán los que nos guíen. Figura 17. Escena de la aplicación Ejercicios para los ojos.
Universidad de Valladolid 37 Sportractive: Correr y Caminar Desarrollada por: sportractive.com Versión actual: 4.4.1 Última actualización: 11 de mayo de 2021 Sistemas operativos: Android Número de descargas en Google Play: Más de 5 millones ¿En qué consiste? Aplicación para monitorizar la realización de ejercicio físico, como, por ejemplo, correr o practicar ciclismo. Dispone de 28 tipos de ejercicio diferentes. Muestra varios datos relacionados con el ejercicio realizado: velocidad, duración, variaciones de altitud, calorías, frecuencia cardiaca, etc., y gráficos con algunos de estos datos. Otras funcionalidades son: configurar metas, ayuda sonora para completar ejercicios, etc. Destacar el uso del sensor GPS para la obtención de parámetros (Sportractive.com, 2021). Pruebas realizadas Esta aplicación no requiere de ningún tipo de registro. En su primer uso, pide una serie de datos: fecha de nacimiento, peso, altura y sexo. La pantalla principal tiene todos los datos anteriormente comentados y los gráficos, que proporcionan un mapa del espacio recorrido o cambios de altitud registrados, entre otras cosas (ver escena izquierda de la Figura 18). La aplicación permite seleccionar el tipo de ejercicio que se está realizando y si quieres acompañarlo con música. Como se ve en las escenas central y derecha de la Figura 18, en el historial se guardan las actividades completadas con todo detalle. También se dispone de informes sobre nuestro cuerpo o la distancia recorrida. Figura 18. Escenas de la aplicación Sportractive.
Universidad de Valladolid 38 LCA Desarrollada por: Alberto Sanchez Versión actual: 6.0.0 Última actualización: 20 de febrero de 2021 Sistemas operativos: Android, iOS Número de descargas en Google Play: Más de 10000 descargas ¿En qué consiste? Aplicación para la rehabilitación del ligamento cruzado anterior (LCA) después de una rotura. Se dispone de más de 100 ejercicios con instrucciones a seguir por el paciente. Se pueden distinguir tres funciones a realizar: una primera informativa sobre el tipo de lesión y sus tratamientos, una segunda con la rehabilitación y cada uno de sus ejercicios, y una tercera sobre varias técnicas de prevención de este tipo de lesiones. Se trata de una aplicación implementada y revisada por profesionales (Alberto Sanchez, 2021). Pruebas realizadas Esta aplicación no requiere de ningún tipo de registro. Hay una pantalla para cada funcionalidad, como se comentó anteriormente. En “Inicio” información sobre la lesión (ver escena izquierda de la Figura 19), en “RHB” las diferentes fases de rehabilitación (ver escena central de la Figura 19) con sus ejercicios, y en “Prevención” recomendaciones para el fútbol y otros deportes. Como se ve en la escena derecha de la Figura 19, cada ejercicio tiene su animación explicativa e información detallada. Figura 19. Escenas de la aplicación LCA.
Universidad de Valladolid 39 Fisioterapia a tu alcance Desarrollada por: Sacristan Versión actual: 2.7 Última actualización: 17 de marzo de 2021 Sistemas operativos: Android, iOS Número de descargas en Google Play: Más de 100000 descargas ¿En qué consiste? Aplicación para fisioterapia/rehabilitación desde casa. Dispone de una serie de vídeos e información de diversos blogs sobre diferentes partes del cuerpo. Ofrece ejercicios e instrucciones sencillas de seguir y completar, y proporciona la posibilidad de acceder a tratamiento en línea (Sacristan, 2021). Pruebas realizadas En su pantalla principal, ver escena izquierda de la Figura 20, están disponibles todas las funcionalidades de la aplicación. Con las dos primeras se buscan los ejercicios asociados a nuestra lesión, por ejemplo para hombro ver escena central de la Figura 20, y para cada ejercicio tendremos vídeo explicativo e información a seguir para completarlo sin problemas. Está la sección de blogs (ver escena derecha de la Figura 20) y la de programas específicos, para esta última será necesario registrarse. Figura 20. Escenas de la aplicación Fisioterapia a tu alcance.
Universidad de Valladolid 40 adidas Training - Entrenamiento Fitness & HIIT Desarrollada por: Adidas Runtastic Versión actual: 6.1 Última actualización: 2 de agosto de 2021 Sistemas operativos: Android, iOS, Wear OS Número de descargas en Google Play: Más de 10 millones ¿En qué consiste? Aplicación para hacer entrenamientos y ejercicio físico en general, sin ningún tipo de elemento externo. Dispone de numerosos vídeos informativos para ayudar a completar los diferentes ejercicios. Destinada a mejorar es estado físico de abdominales, muslos, bíceps, etc. Otras funcionalidades de interés: diferentes niveles de entrenamiento, calendarios adaptados al usuario, recomendaciones sobre salud o nutrición, establecimiento de objetivos, etc. (Adidas Runtastic, 2021). Pruebas realizadas Después de registrarnos, la aplicación pide una serie de datos para adaptar nuestros entrenamientos: sexo, fecha de nacimiento, ubicación (país), objetivo de uso de la aplicación, la cantidad de ejercicio que hacemos normalmente y las razones de esto último. Como se comentó en la descripción, tenemos una sección con múltiples entrenamientos (ver escena izquierda de la Figura 21), cada uno de los cuales empieza con su calentamiento y sigue con cada uno de los ejercicios, siendo todo el proceso muy detallado con vídeos y audio que te va guiando paso a paso hasta completar el ejercicio, en la escena central de la Figura 21 se ve un momento del entrenamiento. Se dispone de diferentes planes de entrenamiento, una sección de noticias y la opción de ver nuestro progreso diario (ver escena derecha de la Figura 21). Figura 21. Escenas de la aplicación adidas Training.
Universidad de Valladolid 47 4 Materiales y métodos Este cuarto capítulo se dedica en exclusiva a comentar la aplicación móvil con Unity3D para rehabilitación física. Se comienza con los requisitos a cumplir y con una descripción de las funcionalidades que ha de tener la aplicación, y se sigue con una explicación detallada de la implementación de cada una de las partes de la aplicación. 4.1 Especificación de requisitos y descripción de funcionalidades Los requisitos iniciales que debía cumplir la aplicación eran: Un medio para la rehabilitación de trastornos musculoesqueléticos, requisito sobre el que tenía que pivotar toda la aplicación. Empleo de una serie de ejercicios, para diversas partes del cuerpo, como tratamiento de estos trastornos. Uso del motor de Unity3D para el desarrollo de la aplicación, con el objetivo adicional de adquirir habilidades en la compilación de juegos serios. Una aplicación multiplataforma que pudiera ser accesible al mayor número de personas posible. La posibilidad de poder llevar a cabo una comparativa con otras aplicaciones semejantes. En cuanto al requisito de conseguir una aplicación multiplataforma, la idea inicial es que fuera accesible para las plataformas iOS, tvOS y Android. En cuanto a la primera, se hicieron pruebas con el giroscopio de un iPhone 5 dando resultados incorrectos cada vez en un eje diferente, probablemente debido a que alguno de los golpes que tenía el dispositivo móvil hubiera afectado al sensor. Para tvOS, se utilizó un reproductor multimedia Apple TV disponible en el laboratorio del Grupo de Telemática e Imagen (GTI). En este caso, el problema fue que el mando Siri Remote de esta versión no tenía giroscopio, lo que descartaba su uso. Por estas razones, al final se decidió que la aplicación solo estuviera disponible para Android. Esta decisión también se puede respaldar en el hecho de que Android es, con mucha claridad, el sistema operativo con un mayor número de usuarios en el mundo. Un ejemplo de este hecho se puede ver en el informe Ditrendia (Ditrendia, 2020) con la red social Facebook, la de mayor número de usuarios del mundo, donde hasta un 80,8% de sus accesos que se producen por medio de un dispositivo móvil se hacen desde Android, como puede verse en la figura 27. Figura 27. Accesos a Facebook (Ditrendia, 2020).
Universidad de Valladolid 48 Como se indicará en el último capítulo, una clara línea futura será extender el uso de la aplicación a estas plataformas descartadas. Para ello, bastará con disponer de un dispositivo iOS „sano‟ y un APPLE TV con giroscopio para poder completar las pruebas necesarias. Una vez descartada la opción multiplataforma, las funcionalidades de la aplicación, muchas de ellas incorporadas durante la implementación de la misma, son: La posibilidad, para un usuario final, de crear un ejercicio desde cero o realizar un ejercicio ya predefinido. En los ejercicios predefinidos, un total de 10 ejercicios diferentes a hacer. En 9 de los ejercicios la rotación será en un solo eje y, en el otro, en dos ejes (único caso en la aplicación). Doble método en la creación de ejercicios: realizar el ejercicio y guardarlo, o seleccionar los ángulos de rotación „sobre la marcha‟. En ambos casos se podrán crear ejercicios de un solo eje. En cuanto a los ejercicios creados, se ha incorporado una base de datos a la aplicación con el objetivo de ir almacenándolos para poder ser reutilizados en un futuro por el usuario. Posibilidad de eliminar o de actualizar un ejercicio, previamente creado, de la base de datos de la aplicación. Diferentes paneles informativos para guiar y facilitar el uso de la aplicación en cada una de sus escenas. Diferentes indicadores visuales y sonoros para apoyar la correcta realización del ejercicio. Posibilidad de que el usuario pueda escoger el número de repeticiones a hacer para cada ejercicio. Opción de recibir un correo informativo del ejercicio realizado tras su conclusión. Opción de cambiar el idioma de la aplicación, con dos posibilidades: español e inglés. Opción de mostrar, durante la realización de los diferentes ejercicios, información relativa a los ejes, orientación y rotación (en ángulos y cuaterniones) del dispositivo móvil. En el ANEXO A de este Trabajo de Fin de Grado se encuentra el manual de usuario de la aplicación, con información detallada de la versión, instalación y uso de la aplicación „La app de la recuperación‟. Comentar que en los apartados siguientes de este cuarto capítulo se va a hacer mención, un buen número de veces, a información y figuras de este anexo. Se indicará para cada escena los objetos que forman parte de ella y su función así como todos sus scripts asociados. Para diferenciar el código fuente utilizado del resto del texto usaremos la fuente Courier New de 10 puntos, siguiendo las indicaciones de las Normas APA.
Universidad de Valladolid 49 4.2 Elementos comunes en cada escena Cada escena de la aplicación va a tener una serie de elementos comunes. En este apartado vamos a comentar los más importantes y así evitaremos repetir conceptos en apartados sucesivos. Editor de Unity En cada escena habrá, al menos, un componente llamado Canvas. Este componente es un espacio ocupado por la interfaz de usuario (UI) de la aplicación, y todos los objetos que formen parte de la UI serán hijos del Canvas (Unity, 2018f). En este objeto van a estar todos los textos, botones, barras de desplazamiento, etc., de la aplicación, todos ellos objetos de UI. Decir que al crear por primera vez en una escena un objeto UI, se crea automáticamente su objeto padre Canvas. En el caso de los botones de la aplicación, van a tener un script asociado que controla, mediante una variable booleana pública denominada „pulsado‟, cuándo: Se pulsa: public void OnPointerDown(PointerEventData eventData) { pulsado = true; } Se deja de pulsar: public void OnPointerUp(PointerEventData eventData) { pulsado = false; } Con esto podemos establecer, mediante código, qué hacer cuando se pulsa o se deja de pulsar un botón en cualquier escena de la aplicación. Otro elemento común en cada escena va a ser un objeto vacío, que hemos llamado „GestionMenu‟, al que vamos a asignar el script encargado de administrar lo que ocurre en esa escena. Script En cada script encargado de administrar una escena se van a usar siempre los dos métodos principales, que aparecen por defecto, en C#: Start(): llamado cuando un objeto empieza a existir Se va a ejecutar siempre, como mínimo, un método llamado IdiomaIngles(), cuya función es aplicar un cambio de idioma a la escena si se detecta que hemos seleccionado cambiar el idioma de la aplicación en el menú principal. Update(): llamado en cada frame En este método se lleva a cabo gran parte de la administración de la escena, ya que en cada frame se detectan los cambios producidos en la misma. También, en cada script, se van a crear una serie de variables. Destacar las que van a tener la referencia a cada uno de los objetos del Editor que necesitemos, variables que van a ser públicas y por tanto van a aparecer en la ventana del Inspector del objeto „GestionMenu‟ correspondiente, en su componente script. Aquí tendremos que asignar cada referencia con su objeto correspondiente, y lo podemos hacer arrastrando el objeto de la ventana Hierarchy a su casilla correspondiente del Inspector.
Universidad de Valladolid 50 4.3 Implementación del menú principal Al entrar en la aplicación, las dos primeras escenas que nos encontramos son: Inicio: una escena introductoria que saluda al usuario y presenta la aplicación, con una duración aproximada de 6 segundos. Menú principal: escena principal de la aplicación, con las opciones y ajustes disponibles. Como puede verse en la Figura 52 del ANEXO A, la escena menú principal presenta una serie de objetos UI: botones y texto. Mediante el componente „Rect Transform‟ de cada uno de ellos, podemos fijar el objeto dentro del Canvas usando las herramientas disponibles, como el pivote y los anclajes. En el método Start() del script de la escena, solo tenemos el método IdiomaIngles(). En el método Update() se controla el comportamiento de los diferentes botones del menú. Se usa una estructura „if… else if… else…‟ que abarca todos los botones disponibles. Por ejemplo: Botón „Cree su propio ejercicio‟: if (boton1.pulsado) { SceneManager.LoadScene("CrearEjercicioLibre"); } Si el botón es „true‟, es decir, si el botón es pulsado, se carga la escena correspondiente. Botón informativo de „Cree su propio ejercicio‟: else if (botonInfo1.pulsado) { panelInfo1.SetActive(true); Invoke(methodName: "QuitarPanelInfo1", time: 4f); } Si el botón es pulsado, se activa un panel informativo sobre la opción. Mediante „Invoke‟, se invoca el método „QuitarPanelInfo1‟ (que desactiva el panel informativo) a los 4 segundos. Al pulsar el botón aparece un panel que nos indica si estamos seguros de salir, al pulsar el botón „SÍ‟: else if (botonSalida1.pulsado) { Application.Quit(); } Si el botón es pulsado, se sale de la aplicación. Mediante el botón se accede a los ajustes de la aplicación: idioma y visualización de datos. Para ello, se crean dos variables globales a las que se pueda acceder desde cualquier clase de la aplicación: Variable que recoge la opción idioma de la aplicación (true=español y false=inglés), por defecto true. public static bool español = true;
Universidad de Valladolid 51 Variable que recoge la opción datos de la aplicación (true=activada y false=desactivada), por defecto false. public static bool datos; Por tanto, la modificación de estas variables, seleccionando un botón u otro, afectará a toda la aplicación. También se crean otras dos variables globales que recogen el nombre y el email en caso de envío de un correo electrónico informativo. Al ser globales, solo tendremos que introducir estos datos una vez en cada uso de la aplicación. 4.4 Implementación de ejercicios predefinidos En este apartado se presenta la primera forma de realizar ejercicios con la aplicación: recurrir a un ejercicio predefinido. Menú con 10 ejercicios Como puede verse en la Figura 58 del ANEXO A, la escena se corresponde con el menú de la opción. Mediante 10 botones se puede escoger el ejercicio a realizar. Por ejemplo, el primer botón, nos lleva a un ejercicio en el que hay que girar el pecho de derecha a izquierda, giro por lo tanto en el eje „z‟. Se añade a la escena la opción de enviar un correo informativo. Para ello se recurre a tres objetos UI (Unity, 2018f): Un Toggle: objeto con una casilla de verificación para poder indicar si el Toggle está activado o desactivado. Nos servimos de este objeto para determinar si queremos enviar un correo. Dos Input Field: objetos para introducir texto por parte de usuario. Nos servimos de estos objetos para indicar nuestro nombre y la dirección a la que enviar el correo. En el método Start() del script de la escena, aparte del método IdiomaIngles(), tenemos: toggleCorreo.onValueChanged.AddListener(delegate { OnToggleValueChanged(); }); Agrega un listener al toggle principal que invoca un método cuando cambia el valor. El método OnToggleValueChanged() lo que hará es mostrar un panel con los Input Field para introducir nombre y correo. Un método auxiliar que detecta si ya han sido introducidos el nombre/correo con anterioridad, evita tener que volver a escribirlos. En el método Update() se controla el comportamiento de los diferentes objetos UI del menú. Se usa una estructura „if… else if… else…‟ que abarca todos los objetos disponibles, semejante al menú principal. La única particularidad es que si tenemos activado el toggle y no hemos rellenado los campos de los Input Field, al presionar los botones de los ejercicios no se podrá acceder a los mismos. Cada botón nos llevará a una escena con un ejercicio concreto. Vamos a describir solo la primera de ellas, ya que las demás tienen una estructura semejante.
Universidad de Valladolid 52 Ejercicio 1 Cada ejercicio predefinido, como puede verse en la Figura 60 del ANEXO A, se caracteriza por su Canvas y por el objeto Persona. En el Canvas vamos a tener varios objetos UI: Un primer panel inicial: en el que tendremos una imagen informativa de como colocar el dispositivo móvil de forma correcta para hacer el ejercicio (ver Figura 61 del ANEXO A). También tendremos un segundo panel en el que escogeremos el número de repeticiones a hacer, con un máximo de 10. Para esto último, nos servimos de un Slider, objeto que arrastra el usuario y devuelve un valor decimal (Unity, 2018f). Un segundo panel inicial: con texto que indica que se puede tocar en cualquier lugar de la pantalla para comenzar. Para ello, todo el panel se comporta como si fuera un botón al uso. Un tercer panel inicial: indicativo de móvil incorrectamente colocado (ver Figura 62 del ANEXO A). De nuevo, aparece una imagen informativa de como colocar el dispositivo móvil de forma correcta para hacer el ejercicio. A los pocos segundos, se vuelve al segundo panel inicial. Un panel opcional de datos: se muestra si activamos en los ajustes del menú principal la opción de visualizar los datos. Como puede verse en la Figura 53 del ANEXO A, se ve una imagen de los ejes y texto relativo a la orientación y rotación (en ángulos y cuaterniones) del dispositivo móvil. Un panel final: con un par de botones para repetir el ejercicio o volver al menú de ejercicios predefinidos. Varios botones para entrar/salir de cada opción. Imágenes, con forma de viñetas, informativas: imágenes que van a ayudar a la correcta realización de los ejercicios. Irán desde imágenes que indican cómo realizar el ejercicio hasta otras que indican ejercicio completado. Marcador de repeticiones completadas: mediante un objeto de tipo texto se irán incrementando las repeticiones hasta dar el ejercicio por completado. Se usará el formato: „Repetición / Repeticiones totales‟. A mayores, se usarán tres elementos sonoros. Se adjuntará tres elementos AudioSource al objeto vacío „GestionMenu‟ de la escena, que servirán de ayuda a la realización de los ejercicios. El otro elemento fundamental de la escena, y de toda la aplicación, es el objeto „Persona‟. Este objeto va a replicar en sus objetos hijos el movimiento de la parte del cuerpo en el que esté colocado nuestro dispositivo móvil, y lo va a hacer sirviéndose de los datos proporcionados por el giroscopio. Para ello hemos creado un personaje, sostenido sobre un suelo, al que se le pueden diferenciar claramente: cabeza, cuerpo, brazo derecho, brazo izquierdo, pierna derecha y pierna izquierda. Cada uno de estos objetos será protagonista de un ejercicio en concreto y llevará asociado un script personalizado que replique en la escena la rotación del dispositivo móvil en la parte de nuestro cuerpo correspondiente.
Universidad de Valladolid 53 Como puede verse en la Figura 28, el personaje ha sido creado usando objetos 3D, más concretamente una esfera para la cabeza y cilindros para el resto del cuerpo. En los ejercicios de cabeza también se ha incluido un cuello, para remarcar más el movimiento. Figura 28. Objeto ‘Persona’ en la escena. Para controlar el movimiento de los objetos se recurre a tres componentes: Rigidbody, Fixed Joint y Hinge Joint. Vamos a explicarlos tomando como ejemplo este Ejercicio 1 y sus ventanas en el Editor. Figura 29. Ventanas de jerarquía e inspector en el ‘Ejercicio 1’.
Universidad de Valladolid 54 Recordar que el Ejercicio 1 consiste en un movimiento del pecho, por lo tanto el objeto a mover en la escena será el „Cuerpo‟. Con el movimiento de este objeto, se van a ver arrastrados también la cabeza y ambos brazos, que es lo natural al mover el pecho. En Unity, para que estos objetos se vean afectados por la física precisan de un componente llamado Rigidbody, al que se pueden aplicar fuerzas que generan el movimiento de un objeto. Con la opción „Is Kinematic‟ activa se ignora la física y se moverá el objeto con su Transform, lo cual es importante para el uso de los otros dos componentes: Fixed Joint, que hace que un objeto dependa del movimiento de otro; y Hinge Joint, que hace que dos objetos se muevan en modo bisagra. El uso de un Rigidbody es obligatorio al trabajar con estos componentes (Unity, 2018f). Como vemos en la Figura 29, el objeto Cuerpo tiene „Is Kinematic‟ activo ya que lo vamos a mover con su Transform, el cual dependerá de la rotación registrada por el giroscopio. También tiene tres componentes Fixed Joint asociados a cabeza y brazos, con lo cual se consigue que se muevan al unísono del Cuerpo. En otros ejercicios el esquema es el mismo, variando el uso de los componentes. Y, el último componente importante, es el script que hace replicar la rotación registrada por el giroscopio en el Transform de un objeto concreto. En la Figura 29, tenemos el script Persona asociado al objeto „Cuerpo‟. Figura 30. Script para ejercicios de cabeza y pecho. La Figura 30 es una captura de pantalla de uno de estos scripts, en este caso empleado en ejercicios de cabeza y pecho. En el método Start() se habilita el giroscopio, por si no lo estuviera ya. En el método FixedUpdate() se aplica el giroscopio al transform del objeto Persona, en este caso. Con Input.gyro.rotationRateUnbiased se obtiene la tasa de rotación sin „sesgo‟ del giroscopio (Unity, 2018f). Como ya hemos comentado, se busca replicar la rotación en la escena, para lo cual en este caso se aplican los ejes del giroscopio como se ve en la figura. Con los ejercicios de brazos y piernas, los ejes „x‟ e „y‟ del giroscopio se aplicarán de forma invertida, ya que hay que tener en cuenta que la orientación del dispositivo móvil en estos casos va a cambiar. Script del Ejercicio 1 Script encargado de administrar lo que ocurre en la escena 1, en este caso. Como ya hemos dicho, será un componente del objeto „GestionMenu‟ de la escena. Vamos a centrarnos en comentar lo más relevante. En el método Start() del script de la escena, solo tenemos el método IdiomaIngles(). En el método Update() se administra todo lo que ocurre en la escena. Tenemos un primer método para dar respuesta a los submenús iniciales y el final, cuya función es ir activando/desactivando los paneles de la escena. Destacar en esta parte que si
Universidad de Valladolid 55 colocamos el dispositivo de forma incorrecta no se podrá realizar el ejercicio, lo controlamos de la siguiente manera: Input.deviceOrientation != DeviceOrientation.LandscapeLeft Esto es indicativo de ejercicio incorrectamente colocado, no podremos empezar el ejercicio. Un panel y un elemento sonoro nos advertirán de ello. Input.deviceOrientation == DeviceOrientation.LandscapeLeft Si la orientación es correcta, el ejercicio podrá comenzar: se activa el script Persona para que el objeto empiece a rotar, ponemos imágenes informativas del ejercicio a hacer y se inicializa el marcador de repeticiones. Si lo hemos seleccionado, se muestra el panel opcional de datos. En el resto del método se administran diferentes botones y paneles, de forma similar al apartado anterior. Un segundo método se encarga de detectar las posiciones completadas en la realización del ejercicio. La comprobación se hace sobre el Transform del objeto que rota en la escena. En el caso de este ejercicio, las posiciones son 45º derecha y 45º izquierda en el eje z. Por ejemplo, para detectar la primera posición, tenemos: if (persona.rotation.eulerAngles.z >= 42f && persona.rotation.eulerAngles.z <= 48f) { posicion = 1; } Se usa un margen de error de ±3º para asegurar la detección de la posición. En la práctica, después de las muchas pruebas realizadas, el ángulo detectado suele caer entre 44º-46º, con lo cual el error no es muy grande. El margen de ±3º se elige mediante la típica técnica de prueba y error. Un tercer método se encarga de controlar la realización del ejercicio. Mediante una estructura „if… else if… else…‟ se comprueba que se van completando las posiciones del ejercicio en el orden correcto, todo ello con la ayuda de elementos visuales y sonoros, como por ejemplo un pitido cada vez que se completa una posición: completado.Play();. Cada vez que se completa una serie se actualiza el número de series completadas en el marcador de la escena. Se da el ejercicio por finalizado al llegar al número de repeticiones escogidas, con lo que: hacemos que el objeto deje de rotar (desactivamos su script), elementos visuales y sonoros de fin de ejercicio, envío de correo si hemos seleccionado la opción, y activación del panel final. Un cuarto método se encarga del seguimiento de realización del ejercicio, es decir, de si nos alejamos del eje correcto. Para este ejercicio 1, se mira la desviación en los ejes „x‟ e „y‟. Por ejemplo, para uno de los ejes: if (rotacion >= 50f && rotacion <= 310f) { error.volume = 1f; error.Play(); } … else if (rotacion >= 3f && rotacion <= 357f) { error.volume = 0.1f; error.Play(); }
Universidad de Valladolid 56 Como puede verse, a mayor desviación mayor volumen del componente AudioSource. Con este método, podemos ir corrigiendo el rumbo sobre la marcha y procurar que la rotación sea solo en el eje z, en este caso. Un último método se encarga de la actualización del texto del panel datos de la aplicación, si la opción fue activada en el menú principal. Para saber esto último se recurre al valor de la variable global „datos‟, de la cual ya hemos hablado. Comentar que para el envío del correo se recurre a un método auxiliar para el que hemos tenido que crear una dirección de correo, de Gmail en este caso, de uso exclusivo para la aplicación. En la Figura 31 puede verse el tipo de correo que se recibe. Figura 31. Correo informativo recibido de la aplicación. 4.5 Implementación de ejercicios personalizados En este apartado se presenta la segunda forma de realizar ejercicios con la aplicación: recurrir a un ejercicio creado previamente por el propio usuario y almacenado en una base de datos. Crear ejercicio La escena para crear un ejercicio, ver Figura 54 del ANEXO A, se caracteriza por su Canvas y por los cuatro objetos „Persona‟, uno por cada tipo de ejercicio. En el Canvas vamos a tener varios objetos UI, todos ellos incluidos en seis paneles: Un panel inicial: en el que elegimos el tipo de ejercicio a crear mediante un Dropdown, objeto UI que actúa como un desplegable con diversas opciones a escoger por el usuario (Unity, 2018f). También tenemos: un par de botones y paneles informativos; tres botones para empezar, guardar o salir del modo creación de ejercicio; y una serie de imágenes que informarán al usuario del correcto/incorrecto establecimiento del ejercicio. Un segundo panel: encargado del modo de creación del ejercicio, tenemos un par de botones y paneles informativos y dos botones para acceder a cada modo de creación (ver Figura 55 del ANEXO A).
Universidad de Valladolid 63 4.5.1 Diseño de la base de datos La aplicación dispone de una base de datos, generada mediante DB Browser for SQLite, en la que se van a almacenar los diferentes ejercicios creados por el usuario. Su documentación (DB Browser for SQLite, s.f.) recoge que se trata de “una herramienta de código abierto, visual y de alta calidad para crear, diseñar y editar archivos de bases de datos compatibles con SQLite”. Abrimos el programa (ver Figura 37) y vamos a „Nueva base de datos‟. Nos aparece una ventana en la que daremos nombre a la base de datos y escogeremos su ubicación. En nuestro proyecto de Unity, va a estar en una carpeta llamada „StreamingAssets‟ dentro de la carpeta principal Assets (ver Figura 22). Esta ubicación es importante ya que será utilizada, en el código, para abrir una conexión a la base de datos. Figura 37. Generar la base de datos de la aplicación. Lo siguiente que nos aparecerá es una tabla en la que incluiremos todos los campos que necesitemos, cada uno de los cuales con sus características/opciones. Figura 38. Editar la tabla de la base de datos de la aplicación.
Universidad de Valladolid 64 En la Figura 38 puede verse la tabla y cada uno de los campos de la base de datos de nuestra aplicación. Tenemos: „id‟: valor INTEGER que servirá para identificar cada ejercicio. Tiene asignada la opción PK (PRIMARY KEY), lo que le convierte en el identificador de cada uno de los registros. Se trata de un valor único y se irá incrementando con cada nuevo registro, sin la necesidad de asignarle ninguna otra opción de las disponibles (SQLite, s.f.). „ejercicio‟: valor INTEGER que recoge el tipo de ejercicio. „eje‟: valor TEXT que recoge el eje del ejercicio. „angulo1‟: valor INTEGER que recoge el ángulo 1º de rotación del ejercicio. „angulo2‟: valor INTEGER que recoge el ángulo 2º de rotación del ejercicio. „fecha‟: valor TEXT que recoge la fecha de creación del ejercicio. Una vez creada la tabla nos aparecerá en la estructura de la base de datos, como puede verse en la Figura 37. También se crea una tabla vacía, llamada „sqlite_sequence‟, de uso interno (SQLite, s.f.). En el menú „Navegar Datos‟ de la tabla se puede ver el contenido de la tabla y modificarlo, como puede verse en la Figura 39. Figura 39. Contenido de la tabla de la base de datos de la aplicación. Una vez visto como crear la base de datos y almacenarla en la carpeta del proyecto correspondiente, vamos a presentar los diferentes métodos utilizados en los scripts de las escenas para interactuar con ella. Tenemos un primer método, ubicado en el script de métodos auxiliares, encargado de abrir la conexión a la base de datos de la aplicación. Por ejemplo, para el caso del editor de Unity: #if UNITY_EDITOR //Path a la base de datos string conexion = "URI=file:" + Application.dataPath + "/StreamingAssets/basedatos.db"; …
Universidad de Valladolid 65 #endif //Abrir la conexión a la base de datos IDbConnection conexionBD = new SqliteConnection(conexion); conexionBD.Open(); return conexionBD; En este extracto del método vemos como se abre la conexión, importante especificar correctamente la ubicación de la base de datos, y se devuelve una variable que da acceso a la base de datos y que será utilizada por otros métodos. En las escenas „Crear ejercicio‟ y „Escoger ejercicio‟ se utilizan una serie de métodos que actúan sobre la base de datos: unos la modifican y otros la leen. Lo primero en cada método es abrir la conexión a la base de datos, utilizando el método auxiliar anterior, y lo segundo crear el comando SQL que será aplicado a dicha base de datos, esto último lo podemos ver en las figuras siguientes (ver Figuras 40 y 41). En “…” irá la consulta SQL. Figuras 40 y 41. Código para modificar (izquierda) o leer (derecha) la base de datos. La funcionalidad de los métodos que van a modificar la base de datos es: insertar, eliminar y actualizar. Para insertar un ejercicio en la base de datos usamos: "INSERT INTO info (ejercicio, eje, angulo1, angulo2, fecha) VALUES ('" + ejercicio + "', '" + eje + "', '" + angulosGiro[0] + "', '" + angulosGiro[1] + "', '" + DateTime.Now.ToString("dd/MMM/yyy") + "')" Para eliminar un ejercicio de la base de datos usamos: "DELETE FROM info WHERE id = " + idEjercicio Este „idEjercicio‟ se obtiene de una lista de identificadores de ejercicio generada en un método que comentaremos más adelante. Para actualizar un ejercicio de la base de datos usamos tres métodos distintos, dependiendo de si el parámetro a actualizar es un entero, una cadena o la fecha de creación. Por ejemplo, para un entero usamos: "UPDATE info SET '" + Parametro(columna) + "' = '" + valor + "' WHERE id = " + idEjercicio El método Parametro() devuelve una cadena de texto con el parámetro a actualizar. Mismo comentario para „idEjercicio‟ que en el método anterior. Y, por último, tenemos dos métodos que van a leer la base de datos. El primero se encarga de cargar en un objeto UI Dropdown, de la escena „Escoger ejercicio‟, los ejercicios disponibles en la base de datos de la aplicación. El comando usado es: "SELECT * FROM info". Se usa una sentencia „while‟ para rellenar dos listas con los datos de la base de datos: while (lector.Read()) { idEjercicios.Add(lector.GetInt32(0)); dropdownOpciones.Add(TipoEjercicio(lector.GetInt32(1)) + ": eje " + lector.GetString(2) + " de " + lector.GetInt32(3) + " a " + lector.GetInt32(4) + " grados (" + lector.GetString(5) + ")"); }
Universidad de Valladolid 66 En la primera lista se añade el identificador de cada ejercicio, ya hemos comentado su uso, y en la segunda una cadena de texto con la información de cada ejercicio. Por último, se añade esta última lista al objeto Dropdown. Con el segundo método se obtienen los valores de los parámetros de un ejercicio en concreto. Este método es llamado al pulsar el botón „REALIZAR EJERCICIO‟ de la escena „Escoger ejercicio‟. El comando usado es: "SELECT * FROM info WHERE id = " + idEjercicio Se usa una sentencia „while‟ para leer y establecer los valores: while (lector.Read()) { ejercicio = lector.GetInt32(1); eje = lector.GetString(2); angulosGiro[0] = lector.GetInt32(3); angulosGiro[1] = lector.GetInt32(4); } Recordar que estas variables son las variables globales del ejercicio escogido.
Universidad de Valladolid 67 5 Pruebas y resultados En este quinto capítulo se diseñan y analizan las pruebas realizadas sobre la aplicación objeto de este TFG. Se empieza comentando el diseño del test de usabilidad y su aspecto final, y se analizan los resultados obtenidos en las diferentes pruebas realizadas. Se finaliza con una comparativa de nuestra aplicación con algunas aplicaciones comerciales móviles para realizar ejercicio físico y rehabilitación. 5.1 Diseño de test de usabilidad Después de haber completado la implementación de la aplicación móvil, llega el momento de probarla con un determinado número de sujetos. La forma de obtener resultados de estas pruebas es recurrir a los test de usabilidad. La norma ISO 9241-11: 2018 define la usabilidad como una “medida en la que usuarios específicos pueden utilizar un sistema, producto o servicio para lograr objetivos específicos con eficacia, eficiencia y satisfacción en un contexto de uso específico” (Internacional Organization for Standardization [ISO], 2018). En el trabajo de Enriquez y Casas (2014) se hace un estudio de como evaluar la usabilidad en aplicaciones móviles. Se indica la importancia del contexto para obtener una medida aceptable y se presentan varias vías de acción: conectividad, tamaño de las pantallas, diferentes resoluciones de pantalla, tipo de entrada de datos, etc. Los autores comentan algunos modelos de usabilidad existentes y remarcan la dificultad de conseguir establecer una metodología estándar de evaluación. En nuestro caso, el test de usabilidad consistirá en: Probar cada una de las funcionalidades de la aplicación móvil „La app de la recuperación‟. Las pruebas se harán con un smartphone modelo Huawei Ascend G630-U20, el utilizado para desarrollar la aplicación. Con esto evitamos problemas con la resolución de pantalla de ciertos dispositivos móviles modernos, aunque perdemos información de usabilidad. Rellenar un formulario de usabilidad con la experiencia al probar la aplicación móvil. Para crear este formulario de usabilidad vamos a recurrir a Google Forms. Se trata de una herramienta de Google para la creación de formularios, encuestas, exámenes de tipo test, todo tipo de sondeos, recopilación de datos, etc. Permite añadir un estilo y un tema concretos y dispone de varias opciones para preguntar, como preguntas de tipo test, desplegables, cuadrículas de varias opciones o de varias casillas, respuestas sobre la hora o fecha, etc. Se pueden enviar los formularios por correo y responder en cualquier dispositivo. Permite analizar los resultados por medio de hojas de cálculo o gráficos, entre otros (Google LLC, s.f.). Las primeras secciones del formulario están destinadas a encasillar a los sujetos según su edad y sus habilidades en el uso de aplicaciones móviles. Se pide información sobre: franja de edad, disponer de un teléfono inteligente, manejo del teléfono inteligente, uso de aplicaciones móviles de salud y uso de aplicaciones móviles de rehabilitación. En las siguientes tres secciones se analizan las diferentes funcionalidades y características de la aplicación. Se podrá calificar cada una de ellas con cinco opciones,
Universidad de Valladolid 68 que van desde „Muy en desacuerdo‟ hasta „Totalmente de acuerdo‟. Se tratará la aplicación en general y su interfaz de usuario, los modos de creación de ejercicios, la realización de un ejercicio predefinido y la realización de los ejercicios personificados/creados. Y, por último, tenemos unas secciones en las que se pregunta sobre la utilidad de la aplicación en rehabilitación de trastornos musculoesqueléticos y si recomendaría la aplicación, se pide puntuarla e indicar qué mejorarías de la aplicación. Esta última sección es la única que no está marcada como de respuesta obligatoria. En el ANEXO B se puede ver una copia con el resultado final de nuestro formulario de usabilidad. 5.2 Pruebas con diferentes sujetos, resultados y discusión Como ya se ha indicado anteriormente, después de cada prueba completada se rellenará un formulario web. Vamos a detallar como ha sido el desarrollo de las diferentes pruebas y los resultados obtenidos. El número total de pruebas realizadas con diferentes sujetos asciende a 14. Se trata de una cantidad no muy alta, pero que está condicionada por el requisito de hacer las pruebas con el smartphone utilizado en el desarrollo la aplicación, por la razón comentada en el apartado anterior. La decisión de no usar el smartphone propio de cada sujeto en las pruebas también se apoya en la probable posibilidad de que estos no dispongan de medios de sujeción al cuerpo adaptados a su dispositivo móvil, como los brazaletes comentados en la introducción. Durante las pruebas, hemos podido observar dos aspectos sobre los cuales los sujetos presentaban un mayor número de dudas: Sistema de ejes de la aplicación: en los ejercicios predefinidos el uso de expresiones como „derecha e izquierda‟ o „adelante y atrás‟ son muy intuitivas de lo que hay que hacer. En cambio, en los ejercicios personificados se habla de rotaciones en un eje u otro y se muestra la imagen con el sistema de ejes. A varios sujetos fue necesario explicarles en que consiste un sistema de ejes y como rotar en cada uno de ellos para poder completar el ejercicio correspondiente. Misma situación al crear un ejercicio. Modo „Realizar ejercicio‟: aquí la duda era como se obtenía el ejercicio, es decir, cuáles eran los ángulos de rotación que quedaban asignados. Con el resto de las funcionalidades, en la mayor parte de los casos, no hubo mayores problemas. Tras rellenar el formulario web después de cada prueba, la respuesta queda almacenada en Google Forms. Vamos a recurrir a las respuestas obtenidas para presentar los resultados de los test de usabilidad de la aplicación. En cuanto a las primeras cuestiones „técnicas‟, relativas a la edad y habilidades del sujeto en el uso de aplicaciones móviles, tenemos que el rango de edad principal de los sujetos es de 21-35 años, seguido de 51-65 años y de 36-50 años (ver Figura 42). Este dato es, simplemente, un valor estadístico.
Universidad de Valladolid 69 Figura 42. Gráfico sobre el rango de edad de los sujetos. Todos los sujetos disponen de un smartphone y la mayoría afirma que se maneja bien o muy bien en su uso. Un 78,6% de los sujetos ha usado alguna vez una aplicación móvil del campo de la salud (ver gráfico izquierdo de la Figura 43) pero, en cambio, ninguno ha utilizado una aplicación móvil para rehabilitación (ver gráfico derecho de la Figura 43). Este último dato es relevante en el marco de trabajo de este TFG y será comentado en el último capítulo. Figura 43. Uso de aplicaciones de salud (gráfico izquierdo) y uso de aplicaciones de rehabilitación (gráfico derecho). Las siguientes cuestiones analizan las diferentes funcionalidades y características de la aplicación y como el sujeto se ha manejado en su uso. En la Figura 44 tenemos el gráfico obtenido sobre la aplicación en general y su interfaz de usuario. Figura 44. Gráfico sobre la aplicación y su interfaz de usuario. Como vemos en la Figura 44, la mayoría de los sujetos se muestra de acuerdo con las características analizadas. Destaca por lo alto la facilidad de navegar por cada escena, siendo la característica mejor valorada. Por otro lado, tenemos que algunos sujetos consideran que falta información en las escenas y dudan de la utilidad de los ajustes disponibles. En este último caso, la razón de esta opinión reside en el panel opcional de datos, ya que la mayoría no entiende información como, por ejemplo, la relativa a la rotación en cuaterniones, como se pudo observar durante las pruebas.
Universidad de Valladolid 70 Sobre la funcionalidad de crear ejercicios y sus modos de creación disponibles tenemos el gráfico de la siguiente Figura 45. Figura 45. Gráfico sobre la creación de ejercicios. Como vemos en la Figura 45, el menú de la opción es fácil de entender y una mayoría de sujetos no ha tenido ningún problema con la colocación del dispositivo móvil. En cuanto a los modos de creación, vemos en las respuestas y vimos en las pruebas que el modo „Escoger ángulos‟ es mucho más fácil de entender y ejecutar que el modo „Realizar ejercicio‟, quizá por falta de información precisa de este último en la aplicación. Sobre la realización de un ejercicio predefinido, de entre los 10 disponibles, tenemos el gráfico de la siguiente Figura 46. Figura 46. Gráfico sobre la realización de ejercicios predefinidos. Se puede ver en la Figura 46, como en el caso anterior, que tanto el menú de la opción como la colocación del dispositivo móvil no ofrecen mayores dudas. En cuanto a la explicación de los ejercicios disponibles, algunos sujetos dan una opinión neutral. Esto último es probable que se deba a que, como se vio en las pruebas, había dudas con los ejercicios de „giro derecha-izquierda‟, algunos sujetos no sabían si el giro era en el eje „y‟ o en el „z‟. Una mayoría se muestra de acuerdo en que los ejercicios se completan sin problema. El análisis de la última funcionalidad de la aplicación lo tenemos en el gráfico de la Figura 47, en el que tenemos una serie de respuestas sobre la realización de ejercicios personalizados/creados por nosotros mismos y almacenados en la base de datos de la aplicación.
Universidad de Valladolid 71 Figura 47. Gráfico sobre la realización de ejercicios personalizados/creados. Como en los casos anteriores, vemos en la Figura 47 que tanto el menú de la opción como la colocación del dispositivo móvil no ofrecen mayores dudas, lo mismo sucede con la búsqueda del ejercicio creado en el menú desplegable. Una mayoría se muestra de acuerdo en que los ejercicios se completan sin problema, con datos algo peores que en el caso de ejercicios predefinidos. Esto último es probablemente debido a las dudas, ya comentadas, con el sistema de ejes de la aplicación. La acción de eliminar/actualizar un ejercicio se ejecuta sin problema. Las últimas cuestiones nos ofrecen respuestas sobre la experiencia final de los sujetos. Un 57,1% afirma que la aplicación puede resultar útil en rehabilitación de trastornos musculoesqueléticos, frente al resto que no puede dar una opinión afirmativa o negativa (ver gráfico izquierdo de la Figura 48), y un 92,9% recomendaría la aplicación (ver gráfico derecho de la Figura 48). Figura 48. Utilidad de la aplicación (gráfico izquierdo) y posibilidad de recomendar la aplicación (gráfico derecho). La aplicación obtiene una puntuación, en general, positiva. Podemos ver en la Figura 49 un gráfico con las notas obtenidas. Figura 49. Gráfico con la puntuación obtenida por la aplicación.
Universidad de Valladolid 72 Y, por último, tenemos las respuestas a la pregunta de qué mejorar de la aplicación. De las siete obtenidas, destacamos las más relevantes: “Añadiría más explicaciones a las escenas”. “Más explicaciones en lo de crear ejercicios y lo de los ejes, a la primera cuesta pillarlo”. “En ejercicios predefinidos no me queda claro que es girar”. “Utilizaría colores más vivos y un lenguaje menos técnico”. “No me queda claro lo del sistema de ejes, la imagen esa”. “Cambiaría los colores”. Como vemos, las propuestas de mejora giran en torno a más explicaciones y a cambiar los colores utilizados en la aplicación. Y, de nuevo, se muestra alguna duda con el sistema de ejes. Todos estos datos obtenidos, tanto en las observaciones durante las pruebas como en los resultados presentados, son muy útiles para aplicar en líneas futuras. Por ejemplo, se podría lanzar una versión nueva de la aplicación que incluyera alguna de las mejoras propuestas. De todo ello hablaremos en el capítulo 6. 5.3 Diferencias con otras aplicaciones ya existentes y discusión Vamos a hacer una comparativa entre nuestra aplicación y otras aplicaciones móviles ya existentes, más concretamente las analizadas en el apartado „3.2‟. Empleando una tabla, indicaremos que característica tiene cada aplicación para, posteriormente, pasar a discutir las principales diferencias encontradas. En cada una de las filas de la tabla se analizará una característica y tendremos diez columnas en total, una por cada aplicación a comparar. Usaremos el símbolo de afirmación en cada aplicación que tenga la característica correspondiente. Cada aplicación va a ser representada por un número, así que tendremos: 1: Nuestra aplicación 2: Google Fit: Reg. de actividad 3: ReHand, Rehabilitación de la Mano vía Tablet 4: Podómetro gratis - Contador y Seguimiento de Pasos 5: Ejercicios de dolor de espalda 6: Ejercicios para los ojos 7: Sportractive: Correr y Caminar 8: LCA 9: Fisioterapia a tu alcance 10: adidas Training - Entrenamiento Fitness & HIIT
Universidad de Valladolid 79 Referencias Adidas Runtastic (2021). adidas Training - Entrenamiento Fitness & HIIT (6.1) [Aplicación móvil]. Recuperado de https://play.google.com/store/apps/details?id=com.runtastic.android.results.lite& hl=es&gl=US Agencia Europea para la Seguridad y la Salud en el Trabajo (s.f.). Trastornos musculoesqueléticos. Recuperado el 30 de julio de 2021 de https://osha.europa.eu/es/themes/musculoskeletal-disorders Alberto Sanchez (2021). LCA (6.0.0) [Aplicación móvil]. Recuperado de https://play.google.com/store/apps/details?id=com.albertosanchez.lca&hl=es&gl =US Alonso-Arévalo, J. y Mirón-Canelo, J. A. (2018). ¿Son útiles y seguras las aplicaciones móviles en salud? ARCHIVOZ. Recuperado de https://gredos.usal.es/handle/10366/138146 Anand, M. (2021). Le damos la bienvenida al IDE de Visual Studio. Recuperado el 24 de julio de 2021 de https://docs.microsoft.com/es-es/visualstudio/getstarted/visual-studio-ide?view=vs-2017 Android Developers (s.f.). Descripción general de sensores. Recuperado el 13 de agosto de 2021 de https://developer.android.com/guide/topics/sensors/sensors_overview?hl=es Armijo-Olivo S. (2018). A new paradigm shift in musculoskeletal rehabilitation: why we should exercise the brain?. Brazilian journal of physical therapy, 22(2), 95- 96. Recuperado de https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5883969/ Ashapkina, M. S., Alpatov, A. V. y Sablina, V. A. (2020). Smartphone-based Systems for Knee Joint Physical Rehabilitation. En 2020 9th Mediterranean Conference on Embedded Computing (MECO) (pp. 1-4). IEEE. Recuperado de https://ieeexplore.ieee.org/document/9134249 Ashok, A. y Bhattacharjya, S. (2020). Poster: Virtual Hand Rehabilitation using a Mobile Camera. En 2020 IEEE/ACM International Conference on Connected Health: Applications, Systems and Engineering Technologies (CHASE) (pp. 1- 2). IEEE. Recuperado de https://ieeexplore.ieee.org/document/9327928 Bravo, J., Fontecha, J., Navarro, F. J. y Hervas, R. (2011). A mobile proposal for frailty monitoring by rehabilitation and physical daily activity. En 2011 IEEE International Conference on Consumer Electronics-Berlin (ICCE-Berlin) (pp. 176-180). IEEE. Recuperado de https://ieeexplore.ieee.org/document/6031839 Chandra, N., Chin, R. S., Cardova, E. y Pratiwi, M. D. (2018). Implementation of gyroscope sensor to presentation application on Android smartphone. En 2018 Indonesian Association for Pattern Recognition International Conference (INAPR) (pp. 197-201). IEEE. Recuperado de https://ieeexplore.ieee.org/document/8627037
Universidad de Valladolid 80 Cieza, A., Causey, K., Kamenov, K., Hanson, S. W., Chatterji, S. y Vos, T. (2020). Global estimates of the need for rehabilitation based on the Global Burden of Disease study 2019: a systematic analysis for the Global Burden of Disease Study 2019. The Lancet, 396(10267), 2006-2017. Recuperado de https://www.sciencedirect.com/science/article/pii/S0140673620323400 Comisión Europea (2014). LIBRO VERDE sobre sanidad móvil. Recuperado de https://ec.europa.eu/transparency/documentsregister/detail?ref=COM(2014)219&lang=es De la Rosa-Morillo, F., Galloza-Otero, J. C. y Micheo, W. (2019). Rehabilitación del hombro doloroso en el atleta joven. Rehabilitación, 53(2), 85-92. Recuperado de https://www.sciencedirect.com/science/article/pii/S0048712018301452 Dicianno, B. E., Parmanto, B., Fairman, A. D., Crytzer, T. M., Yu, D. X., Pramana, G., Coughenour, D. y Petrazzi, A. A. (2015). Perspectives on the evolution of mobile (mHealth) technologies and application to rehabilitation. Physical therapy, 95(3), 397-405. Recuperado de https://academic.oup.com/ptj/article/95/3/397/2686556?login=true Ditrendia (2020). Informe ditrendia, Mobile en España y en el Mundo 2020. Recuperado de https://ditrendia.es/informe-mobile-2020/ DB Browser for SQLite (s.f.). The Official home of the DB Browser for SQLite. Recuperado el 30 de julio de 2021 de https://sqlitebrowser.org/ Enriquez, J. G. y Casas, S. I. (2014). Usabilidad en aplicaciones móviles. Informes Científicos Técnicos - UNPA, 5(2), 25-47. Recuperado de https://publicaciones.unpa.edu.ar/index.php/ICTUNPA/article/view/581 Fan, K. y Zhao, Y. (2021). Mobile health technology: a novel tool in chronic disease management. Intelligent Medicine. Recuperado de https://www.sciencedirect.com/science/article/pii/S2667102621000346 Frederix, I., Sankaran, S., Coninx, K. y Dendale, P. (2016). MobileHeart, a mobile smartphone-based application that supports and monitors coronary artery disease patients during rehabilitation. En 2016 38th Annual International Conference of the IEEE Engineering in Medicine and Biology Society (EMBC) (pp. 513-516). IEEE. Recuperado de https://ieeexplore.ieee.org/document/7590752 Garcia, J. A. y Navarro, K. F. (2014). The Mobile RehApp™: an AR-based mobile game for ankle sprain rehabilitation. En 2014 IEEE 3nd International Conference on Serious Games and Applications for Health (SeGAH) (pp. 1-6). IEEE. Recuperado de https://ieeexplore.ieee.org/document/7067087 Geffen, S. J. (2003). 3: Rehabilitation principles for treating chronic musculoskeletal injuries. Medical journal of Australia, 178(5), 238-243. Recuperado de https://www.mja.com.au/system/files/issues/178_05_030303/gef10392_fm.pdf
Universidad de Valladolid 81 Google LLC (2021). Google Fit: Reg. de actividad (2.62.26) [Aplicación móvil]. Recuperado de https://play.google.com/store/apps/details?id=com.google.android.apps.fitness& hl=es&gl=US Google LLC (s.f.). Google Forms. Recuperado el 25 de agosto de 2021 de https://www.google.es/intl/es/forms/about/ Hardiyanti, N., Lawi, A. y Aziz, F. (2018). Classification of Human Activity based on Sensor Accelerometer and Gyroscope Using Ensemble SVM method. En 2018 2nd East Indonesia Conference on Computer and Information Technology (EIConCIT) (pp. 304-307). IEEE. Recuperado de https://ieeexplore.ieee.org/document/8878627 Healthinn (2021). ReHand, Rehabilitación de la Mano vía Tablet (2.0.3) [Aplicación móvil]. Recuperado de https://play.google.com/store/apps/details?id=com.healthinn.rehand&hl=es&gl= US Instituto Nacional de Seguridad y Salud en el Trabajo (2011). VII Encuesta Nacional de Condiciones de Trabajo (VII ENCT). Recuperado de https://www.insst.es/documents/94886/96082/VII+Encuesta+Nacional+de+Con diciones+de+Trabajo%2C+2011/399f13f9-1b87-41de-bd7e-983776f8212a Instituto Nacional de Seguridad y Salud en el Trabajo (s.f.). Trastornos musculoesqueléticos. Recuperado el 30 de julio de 2021 de https://www.insst.es/riesgos-ergonomicos-trastornos-musculoesqueleticos Internacional Organization for Standardization (2018). ISO 9241-11:2018: Ergonomics of human-system interaction - Part 11: Usability: Definitions and concepts. Recuperado de https://www.iso.org/obp/ui/#iso:std:iso:9241:-11:ed-2:v1:en ITO Technologies, Inc. (2021). Podómetro gratis - Contador y Seguimiento de Pasos (5.39) [Aplicación móvil]. Recuperado de https://play.google.com/store/apps/details?id=com.tayu.tau.pedometer&hl=es&g l=US Juande (2005). Academia de videojuegos. Recuperado de https://www.youtube.com/c/juande/featured LeMoyne, R., Mastroianni, T., Hessel, A. y Nishikawa, K. (2015). Ankle rehabilitation system with feedback from a smartphone wireless gyroscope platform and machine learning classification. En 2015 IEEE 14th International Conference on Machine Learning and Applications (ICMLA) (pp. 406-409). IEEE. Recuperado de https://ieeexplore.ieee.org/document/7424346 Majumder, S. y Deen, M. J. (2019). Smartphone sensors for health monitoring and diagnosis. Sensors, 19(9), 2164. Recuperado de https://www.mdpi.com/1424- 8220/19/9/2164/htm Microsoft (2021). C# documentation. Recuperado el 24 de julio de 2021 de https://docs.microsoft.com/en-us/dotnet/csharp/
Universidad de Valladolid 82 Miller, J. (2019). Visual Studio Tools for Unity. Recuperado el 24 de julio de 2021 de https://docs.microsoft.com/en-us/visualstudio/gamedev/unity/get-started/visualstudio-tools-for-unity?view=vs-2019 Ministerio de Sanidad, Servicios Sociales e Igualdad (2013). Estrategia en enfermedades reumáticas y musculoesqueléticas del Sistema Nacional de Salud. Recuperado de https://www.mscbs.gob.es/organizacion/sns/planCalidadSNS/pdf/Estrategia_en_ enfermedades_reumaticas_Accesible.pdf Organización Mundial de la Salud (2011). mHealth: New horizons for health through mobile technologies. Recuperado de https://www.who.int/goe/publications/goe_mhealth_web.pdf Organización Mundial de la Salud (2020a). Rehabilitation. Recuperado el 28 de julio de 2021 de https://www.who.int/news-room/fact-sheets/detail/rehabilitation Organización Mundial de la Salud (2020b). Rehabilitation in health systems: guide for action. Recuperado el 28 de julio de 2021 de https://www.who.int/publications/i/item/rehabilitation-in-health-systems-guide- for-action Organización Mundial de la Salud (2021). Musculoskeletal conditions. Recuperado el 28 de julio de 2021 de https://www.who.int/news-room/factsheets/detail/musculoskeletal-conditions Papageorgiou, A., Strigkos, M., Politou, E., Alepis, E., Solanas, A. y Patsakis, C. (2018). Security and privacy analysis of mobile health applications: the alarming state of practice. IEEE Access, 6, 9390-9403. Recuperado de https://ieeexplore.ieee.org/document/8272037 Sacristan (2021). Fisioterapia a tu alcance (2.7) [Aplicación móvil]. Recuperado de https://play.google.com/store/apps/details?id=com.goodbarber.fisioterapia&hl=e s&gl=US Santos, A., Guimarães, V., Matos, N., Cevada, J., Ferreira, C. y Sousa, I. (2015). Multisensor exercise-based interactive games for fall prevention and rehabilitation. En 2015 9th International Conference on Pervasive Computing Technologies for Healthcare (PervasiveHealth) (pp. 65-71). IEEE. Recuperado de https://ieeexplore.ieee.org/document/7349379 ShvagerFM (2021). Ejercicios para los ojos (2.9.7) [Aplicación móvil]. Recuperado de https://play.google.com/store/apps/details?id=com.shvagerfm.eyecorrector1&hl =es&gl=US Sportractive.com (2021). Sportractive: Correr y Caminar (4.4.1) [Aplicación móvil]. Recuperado de https://play.google.com/store/apps/details?id=com.sportractive&hl=es&gl=US SQLite (s.f.). SQLite. Recuperado el 22 de agosto de 2021 de https://www.sqlite.org/index.html
Universidad de Valladolid 83 Unity (2018a). GameObjects. Recuperado de https://docs.unity3d.com/es/2017.3/Manual/GameObjects.html Unity (2018b). Input. Recuperado de https://docs.unity3d.com/es/2017.3/Manual/Input.html Unity (2018c). Las ventanas principales. Recuperado de https://docs.unity3d.com/es/2017.3/Manual/UsingTheEditor.html Unity (2018d). Scripting. Recuperado de https://docs.unity3d.com/es/2017.3/Manual/ScriptingSection.html Unity (2018e). Unity Remote. Recuperado de https://docs.unity3d.com/2017.3/Documentation/Manual/UnityRemote5.html Unity (2018f). Unity User Manual (2017.3). Recuperado de https://docs.unity3d.com/2017.3/Documentation/Manual/index.html Unity (2020). Android environment setup. Recuperado de https://docs.unity3d.com/2020.2/Documentation/Manual/android-sdksetup.html Unity (2021). Unity. Recuperado el 30 de julio de 2021 de https://unity.com/es Vladimir Ratsev (2021). Ejercicios de dolor de espalda (1.0.99) [Aplicación móvil]. Recuperado de https://play.google.com/store/apps/details?id=com.vratsev.bpex&hl=es_419&gl =US
Universidad de Valladolid 84 ANEXOS
Universidad de Valladolid 85 ANEXO A. Manual de usuario de la aplicación ‘La app de la recuperación’ Figura 50. Logotipo de la aplicación móvil. Nombre completo: „La app de la recuperación‟ Versión actual: 1.5 Versión mínima de Android en su dispositivo móvil: Android 4.1 „Jelly Bean‟ Última actualización: 13 de julio de 2021
Universidad de Valladolid 86 Índice 1. Requisitos básicos 2. Instalación en Android 3. Menú principal, ajustes y salir 4. Crear ejercicio 4.1. Modo „Realizar el ejercicio‟ 4.2. Modo „Escoger ángulos‟ 5. Hacer ejercicios 5.1. Ejercicios predefinidos 5.2. Ejercicios personificados/creados 5.3. Hacer ejercicio 6. Sujeción del dispositivo móvil 7. Corrección de posibles errores 8. Notas 86 86 86 87 88 89 90 90 90 91 91 92 92
Universidad de Valladolid 87 1 Requisitos básicos Aplicación disponible para dispositivos móviles. Sistemas operativos móviles aceptados: Android. Versión mínima de Android en su dispositivo móvil: Android 4.1 „Jelly Bean‟. 2 Instalación en Android Figura 51. Logotipos de Google Play (izquierda) y formato APK (derecha). Para instalar la aplicación dispone de dos opciones (ver Figura 51): Buscar la aplicación en Google Play e instalarla, siempre y cuando esté disponible en ese momento. Usar el ejecutable de la aplicación en formato APK e instalarlo directamente en su dispositivo móvil. Deberá permitir la instalación de aplicaciones de „orígenes desconocidos‟, es decir, externas a la tienda oficial de Android. 3 Menú principal, ajustes y salir Al entrar en la aplicación y pasar la pantalla de inicio, se accede al menú principal de la aplicación. Figura 52. Menú principal de la aplicación. Como se ve en la figura anterior (Figura 52), se dispone de tres opciones. Cliqueando en los botones (aquí y en el resto de la aplicación) se obtiene información relativa a en qué consiste cada opción. Esta será: Cree su propio ejercicio: “Cree su propio ejercicio desde cero. Elija el tipo de ejercicio, el eje de giro y los movimientos que desee”.
Universidad de Valladolid 88 Escoja un ejercicio creado: “Escoja un ejercicio previamente creado. Tendrá la posibilidad de realizarlo, modificarlo o eliminarlo”. Escoja un ejercicio predefinido: “Dispone de hasta 10 ejercicios diferentes con la posibilidad de escoger el número de repeticiones a hacer”. Cliqueando en se accede a los ajustes de la aplicación. Estos son: Idioma: posibilidad de cambiar el idioma de la aplicación. Posibilidades: español e inglés. Datos: opción para visualizar los ejes, orientación y rotación (en ángulos y cuaterniones) del dispositivo móvil, como puede verse en la Figura 53. Posibilidades: mostrar u ocultar. Figura 53. Visualización de la opción datos de la aplicación activada. Cliqueando en se puede optar a salir de la aplicación. 4 Crear ejercicio Cliqueando en „Cree su propio ejercicio‟ en el menú principal (ver Figura 52) se accede a esta opción. Figura 54. Escena ‘Cree su ejercicio’ de la aplicación.
Universidad de Valladolid 95
Universidad de Valladolid 96
Universidad de Valladolid 97
Universidad de Valladolid 98
Universidad de Valladolid 99
Universidad de Valladolid 100