scieee AI-readable full text Open interactive document viewer

Desarrollo de una aplicación para la captura de datos de ponibles y su análisis para el reconocimiento de dibujos manuscritos

Ruiz Andrés, Alberto

Abstract

Grado en Ingeniería Informática

Full text

Universidad de Valladolid ESCUELA DE INGENIERÍA INFORMÁTICA GRADO EN INGENIERÍA INFORMÁTICA MENCIÓN EN COMPUTACIÓN Desarrollo de una aplicación para la captura de datos de ponibles y su análisis para el reconocimiento de dibujos manuscritos Alumno: Alberto Ruiz Andrés Tutores: María Aránzazu Simón Hurtado Carlos Enrique Vivaracho Pascual i de 109 Resumen Este es un proyecto experimental en el que se van a llevar a cabo pruebas prospectivas sobre la posibilidad de capturar el movimiento realizado sobre un papel al realizar un dibujo mediante un ponible tipo reloj inteligente. Se tomarán datos de aceleraciones del movimiento de un reloj ponible y se efectuará su análisis. Los experimentos comenzarán siendo simples para recoger datos, continuarán con movimientos simples y terminarán por calcular los ángulos de rotación del reloj cuando se sitúa en la muñeca. Para realizar estos experimentos se desarrollará una aplicación Android con la que se puedan controlar los sensores del reloj ponible y se puedan hacer recogidas de datos para su envío a la base de datos. Trabajo Fin de Grado 4ºIngeniería Informática - Mención Computación ii de 109 Abstract This is an experimental project in which prospective tests will be carried out on the possibility of capturing the movement made on paper when drawing a drawing using a wearable smart watch type. Acceleration data will be taken from the movement of a wearable watch and its analysis will be carried out. The experiments will begin as simple to collect data, continue with simple movements and end by calculating the angles of rotation of the watch when it is placed on the wrist. To carry out these experiments, an Android application will be developed with which the sensors of the wearable watch can be controlled and data collected to be sent to the database. Trabajo Fin de Grado 4ºIngeniería Informática - Mención Computación Índice de Contenidos iii de 109 Índice de Contenidos Índice de Figuras vi Índice de Tablas vii 1. Introducción 1 1.1. Objetivos ......................................... 2 1.2. Esquemadelamemoria ................................. 2 2. Contexto del trabajo 3 2.1. Contextodeaplicación.................................. 3 2.2. Contextoteórico ..................................... 5 3. Metodología 7 3.1. Entornotecnológico.................................... 7 3.1.1. Android...................................... 7 3.1.2. SOAP....................................... 8 3.1.3. PHPMyAdmin .................................. 9 3.1.4. Netbeans ..................................... 9 3.1.5. VisualStudioCode ............................... 10 3.1.6. VisualParadigm ................................. 10 4. Requisitos 11 4.1. Definiciónderequisitos.................................. 11 4.1.1. Requisitos funcionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4.1.2. Requisitos no funcionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.1.3. Requisitos de información . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.2. Definicióndeactores................................... 12 5. Planificación: 13 5.1. Sprint 1 (24Febrero-01Marzo) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 5.2. Sprint 2 (10Mayo-16Mayo) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 5.3. Sprint 3 (17Mayo-23Mayo) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 5.4. Sprint 4 (24Mayo-30Mayo) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 5.5. Sprint 5 (31Mayo-6Junio) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 5.6. Sprint 6 (7Junio-13Junio) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 5.7. Sprint 7 (14Junio-20Junio) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 5.8. Sprint 8 (21Junio-27Junio) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 5.9. Sprint 9 (28Junio-4Julio) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 5.10. Sprint 10 (5Julio-11Julio) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 5.11. Sprint 11 (11Julio-18Julio) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 5.12. Resumen de la planificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 5.13.Costes:........................................... 25 6. Análisis 26 Trabajo Fin de Grado 4ºIngeniería Informática - Mención Computación Índice de Contenidos iv de 109 6.1. Casosdeuso........................................ 26 6.1.1. Diagrama de casos de uso . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 6.1.2. Definición de los casos de uso . . . . . . . . . . . . . . . . . . . . . . . . . . 28 6.2. Modelodedominio.................................... 30 7. Diseño 31 7.1. Arquitectura........................................ 31 7.1.1. Diseño de la interfaz. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 7.1.2. Arquitectura general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 7.1.3. Interfaz ...................................... 36 7.1.4. Negocio...................................... 38 7.2. Diseñodelabasededatos................................ 41 7.3. Realización de los casos de uso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 7.3.1. Iniciarsesión ................................... 42 7.3.2. Caso de uso recoger datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 7.3.3. Caso de uso enviar datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 8. Implementación y pruebas 48 8.1. Desplieguedelsistema .................................. 48 8.2. Pruebas .......................................... 50 9. Desarrollo Experimental 51 9.1. Experimentosrealizados ................................. 53 9.2. Pruebainicial....................................... 54 9.2.1. Mirandohaciaarriba............................... 54 9.2.2. Mirandohaciaabajo............................... 54 9.3. Capturadelmovimiento ................................. 57 9.3.1. Movimiento vertical: de arriba a abajo con una velocidad lenta . . . . . . . 57 9.3.2. Movimiento vertical: de arriba a abajo con una velocidad rápida . . . . . . 59 9.3.3. Movimiento vertical: de abajo a arriba con una velocidad lenta . . . . . . . 60 9.3.4. Movimiento vertical: de abajo a arriba con una velocidad rápida . . . . . . 61 9.3.5. Movimiento horizontal: de izquierda a derecha con una velocidad lenta . . . 62 9.3.6. Movimiento horizontal: de izquierda a derecha con una velocidad rápida . . 63 9.3.7. Movimiento horizontal: de derecha a izquierda con una velocidad lenta . . . 64 9.3.8. Movimiento horizontal: de derecha a izquierda con una velocidad rápida . . 65 9.3.9. Análisis de los resultados: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 9.4. Mejora de la captura del movimiento . . . . . . . . . . . . . . . . . . . . . . . . . . 67 9.4.1. Movimiento vertical: de arriba a abajo con una velocidad lenta . . . . . . . 67 9.4.2. Movimiento vertical: de arriba a abajo con una velocidad rápida . . . . . . 69 9.4.3. Movimiento vertical: de abajo a arriba con una velocidad lenta . . . . . . . 70 9.4.4. Movimiento vertical: de abajo a arriba con una velocidad rápida . . . . . . 71 9.4.5. Movimiento horizontal: de izquierda a derecha con una velocidad lenta . . . 72 9.4.6. Movimiento horizontal: de izquierda a derecha con una velocidad rápida . . 73 9.4.7. Movimiento horizontal: de derecha a izquierda con una velocidad lenta . . . 74 9.4.8. Movimiento horizontal: de derecha a izquierda con una velocidad rápida . . 75 9.4.9. Análisis de los resultados: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 9.5. Suavizado de la aceleración . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Trabajo Fin de Grado 4ºIngeniería Informática - Mención Computación Índice de Contenidos v de 109 9.5.1. Movimiento vertical: de arriba a abajo con una velocidad lenta . . . . . . . 77 9.5.2. Movimiento vertical: de arriba a abajo con una velocidad rápida . . . . . . 78 9.5.3. Movimiento vertical: de abajo a arriba con una velocidad lenta . . . . . . . 78 9.5.4. Movimiento vertical: de abajo a arriba con una velocidad rápida . . . . . . 79 9.5.5. Movimiento horizontal: de izquierda a derecha con una velocidad lenta . . . 79 9.5.6. Movimiento horizontal: de izquierda a derecha con una velocidad rápida . . 80 9.5.7. Movimiento horizontal: de derecha a izquierda con una velocidad lenta . . . 80 9.5.8. Movimiento horizontal: de derecha a izquierda con una velocidad rápida . . 81 9.5.9. Análisis de los resultados: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 9.6. Análisis de la precisión del movimiento capturado . . . . . . . . . . . . . . . . . . . 82 9.6.1. Movimiento vertical: de arriba a abajo . . . . . . . . . . . . . . . . . . . . . 85 9.6.2. Movimiento vertical: de abajo a arriba . . . . . . . . . . . . . . . . . . . . . 85 9.6.3. Movimiento horizontal: de izquierda a derecha . . . . . . . . . . . . . . . . 86 9.6.4. Movimiento horizontal: de derecha a izquierda . . . . . . . . . . . . . . . . 86 9.6.5. Análisis de los resultados: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 9.7. Cálculo de los ángulos de giro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 9.7.1. Cálculo de βyγ................................. 89 9.7.2. Cálculo de α................................... 92 9.7.3. Rotación sobre el eje Z, ángulo α........................ 93 9.7.4. Análisis final de los resultados: . . . . . . . . . . . . . . . . . . . . . . . . . 97 10. Conclusión y futuras mejoras 98 11. Bibliografía 100 Apéndice 102 Apéndice A. Manual de instalación 102 A.1. Aplicaciónmóvil:.....................................102 A.2. Aplicación del wearable: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Apéndice B. Manual de usuario 107 Trabajo Fin de Grado 4ºIngeniería Informática - Mención Computación Índice de Figuras vi de 109 Índice de Figuras 1. Intersección de pentágonos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2. Rotaciónsobrelosejes. .................................. 6 3. Diagrama de casos de uso en análisis. . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4. Modelo de dominio de la aplicación. . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 5. Diagrama de los estados de las vistas. . . . . . . . . . . . . . . . . . . . . . . . . . . 32 6. Arquitectura general en UsesStyle ............................ 34 7. Arquitectura general en DecompositionStyle ....................... 35 8. Interfazgeneral ...................................... 36 9. Interfaz en Inheritance and Uses Style .......................... 37 10. Negociogeneral ...................................... 39 11. Negocio en UsesStyle ................................... 40 12. Descripción que compone la base de datos. . . . . . . . . . . . . . . . . . . . . . . . 41 13. Esquema relacional que se propone si el proyecto arroja resultados positivos. . . . . 41 14. Diagrama de secuencia de inicar sesión. . . . . . . . . . . . . . . . . . . . . . . . . . 42 15. Diagrama de secuencia del caso de uso recoger datos. . . . . . . . . . . . . . . . . . 43 16. Diagrama de secuencia del caso de uso recoger datos cuando se inicia la recogida. . 44 17. Diagrama de secuencia del caso de uso recoger datos cuando se recogen los datos. . 45 18. Diagrama de secuencia del caso de uso enviar datos. . . . . . . . . . . . . . . . . . . 46 19. Diagrama de secuencia del caso de uso enviar datos cuando se empaquetan los datos paraenviarlos. ....................................... 47 20. Diagrama de despliegue del sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 21. Ejessobreelreloj. ..................................... 52 22. Resultados del reloj estático mirando hacia arriba. . . . . . . . . . . . . . . . . . . . 55 23. Resultados del reloj estático al revés. . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 24. Resultados del movimiento vertical lento. . . . . . . . . . . . . . . . . . . . . . . . . 58 25. Resultados del movimiento vertical de arriba a abajo con una velocidad rapida. . . . 59 26. Resultados del movimiento vertical de abajo a arriba con una velocidad lenta. . . . . 60 27. Resultados del movimiento vertical de abajo a arriba con una velocidad rápida. . . . 61 28. Resultados del movimiento horizontal de izquierda a derecha con una velocidad lenta. 62 29. Resultados del movimiento horizontal de izquierda a derecha con una velocidad rápida. 63 30. Resultados del movimiento horizontal de derecha a izquierda con una velocidad lenta. 64 31. Resultados del movimiento horizontal de derecha a izquierda con una velocidad rápida. 65 32. Resultados del movimiento vertical de arriba a abajo con una velocidad lenta. . . . . 68 33. Resultados del movimiento vertical de arriba a abajo con una velocidad rápida. . . . 69 34. Resultados del movimiento vertical de abajo a arriba con una velocidad lenta. . . . . 70 35. Resultados del movimiento vertical de abajo a arriba con una velocidad rápida. . . . 71 36. Resultados del movimiento horizontal de izquierda a derecha con una velocidad lenta. 72 37. Resultados del movimiento horizontal de izquierda a derecha con una velocidad rápida. 73 38. Resultados del movimiento horizontal de derecha a izquierda con una velocidad lenta. 74 39. Resultados del movimiento horizontal de derecha a izquierda con una velocidad rápida. 75 40. Resultados del suavizado del movimiento vertical de arriba a abajo con una velocidad lenta.............................................. 77 41. Resultados del suavizado del movimiento vertical de arriba a abajo con una velocidad rápida............................................. 78 Trabajo Fin de Grado 4ºIngeniería Informática - Mención Computación Índice de Tablas vii de 109 42. Resultados del suavizado del movimiento vertical de abajo a arriba con una velocidad lenta.............................................. 78 43. Resultados del suavizado del movimiento vertical de abajo a arriba con una velocidad rápida............................................. 79 44. Resultados del suavizado del movimiento horizontal de izquierda a derecha con una velocidadlenta........................................ 79 45. Resultados del suavizado del movimiento horizontal de izquierda a derecha con una velocidadrápida....................................... 80 46. Resultados del suavizado del movimiento horizontal de derecha a izquierda con una velocidadlenta........................................ 80 47. Resultados del suavizado del movimiento horizontal de derecha a izquierda con una velocidadrápida....................................... 81 48. Forma de tomar los datos con las guías. . . . . . . . . . . . . . . . . . . . . . . . . . 83 49. Forma de tomar los datos sin las guías. . . . . . . . . . . . . . . . . . . . . . . . . . . 84 50. Dibujo del movimiento realizado de una recta vertical de arriba a abajo de 30 centímetros. ........................................... 85 51. Dibujo del movimiento realizado de una recta vertical de abajo a arriba de 30 centímetros. ........................................... 85 52. Dibujo del movimiento realizado de una recta horizontal de izquierda a derecha de 30centímetros. ....................................... 86 53. Dibujo del movimiento realizado de una recta horizontal de derecha a izquierda de 30centímetros. ....................................... 86 54. Cálculo del ángulo γcon la aceleración contraria a la gravedad. . . . . . . . . . . . 88 55. Rotaciones del reloj sobre los tres ejes. . . . . . . . . . . . . . . . . . . . . . . . . . . 89 56. Toma de datos usando la escuadra y el cartabón. . . . . . . . . . . . . . . . . . . . . 89 57. Posiciones del reloj cuando el 12 apunta al resto de números sobre un eje estático. . 92 58. Posiciones del reloj cuando el 12 apunta a los ejes cardinales sobre un eje estático. . 94 A.1. Instalación de la aplicación móvil. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 A.2. Instalación de la aplicación móvil. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 A.3. Instalación de la aplicación móvil. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 B.1. Selección de mano dominante y nombre de usuario. . . . . . . . . . . . . . . . . . . . 107 B.2. Activación del Bluetooth, hacer visible el dispositivo móvil durante 300 segundos, elección del nombre del dibujo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 B.3. Elección del dispositivo Bluetooth con el que se va a conectar . . . . . . . . . . . . . 109 Índice de Tablas 1. Resumen de la planificación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2. Costesdelproyecto. .................................... 25 3. Tabla del cálculo del ángulo γcon rotaciones sobre el eje 3-9. . . . . . . . . . . . . . 90 4. Tabla del cálculo del ángulo βcon rotaciones sobre el eje 6-12. . . . . . . . . . . . . 91 5. Tabla del cálculo del ángulo α, cuando el 12 del reloj apunta al 12 del eje. . . . . . . 93 6. Tabla del cálculo del ángulo α, cuando el 12 del reloj apunta al 9 del eje. . . . . . . . 93 7. Tabla del cálculo del ángulo α, cuando el 12 del reloj apunta al 6 del eje. . . . . . . . 93 8. Tabla del cálculo del ángulo α, cuando el 12 del reloj apunta al 3 del eje. . . . . . . . 93 Trabajo Fin de Grado 4ºIngeniería Informática - Mención Computación Índice de Tablas viii de 109 9. Tabla del cálculo del ángulo α, cuando el 12 del reloj apunta al norte magnético. . . 95 10. Tabla del cálculo del ángulo α, cuando el 12 del reloj apunta al oeste. . . . . . . . . 95 11. Tabla del cálculo del ángulo α, cuando el 12 del reloj apunta al sur. . . . . . . . . . 95 12. Tabla del cálculo del ángulo α, cuando el 12 del reloj apunta al este. . . . . . . . . . 95 13. Aceleraciones obtenidas cuando el reloj rota sobre αcon unos ejes estáticos y con unosángulosconocidos. .................................. 96 14. Valores de los ángulos βyγen estático cuando el reloj está en la muñeca del usuario. 97 Trabajo Fin de Grado 4ºIngeniería Informática - Mención Computación Metodología 7 de 109 Capítulo 3 Metodología Para la realización de trabajo se han usado diversas tecnologías, con la idea de segmentar el proyecto de forma que fuera más abarcable, es decir, se ha trabajado realizando distintos avances para poder acabar teniendo una estructura completa: realización de experimentos y toma de datos para su posterior análisis. 3.1. Entorno tecnológico 3.1.1. Android Es un sistema operativo que está basado en Linux y otros software de código abierto. Es usado en dispositivos móviles y tablets, aunque se puede encontrar cada vez en más otros tipos de dispositivos como televisiones y automóviles. La empresa creadora de este sistema operativo es Google, fue creado 2005 con una idea fundamental, basarse en el uso del código abierto y apoyado en otra idea fundamental, la seguridad del sistema [9]. La ciberseguridad es uno de los temas más importantes en la sociedad moderna actual. En este caso, Android trabaja con licencias GMS, con las que pueden controlar la distribución de aplicaciones descargables desde la tienda de aplicaciones o Play Store. Con estas licencias se aseguran que las aplicaciones con fallas de seguridad o que no siguen los estándares de Google, no estén disponibles para los usuarios. Además en la ultima actualización de Android 11, se añade una opción para los desarrolladores en la que se permite, si es necesario, hacer un control de las claves de autorización, usando el sistema de encriptación AES 256 GCM, mediante su sistema llamado Jetpack Security [10]. Este está destinado al almacenamiento de claves en un contenedor, lo que hace que sea más compleja la extracción de las claves del dispositivo, y logra que sea mucho más seguro el trabajo que se realiza con las claves [11]. Android ha conseguido estar a la vanguardia tecnológica en los últimos años, teniendo un 90 % de cuota de mercado en 2018, superando a IOS [12]. Con Android se ha desarrollado la aplicación móvil con la que se han recogido los datos del usuario y del experimento. Además sirve como nexo entre ella y la aplicación del reloj. Esta es Trabajo Fin de Grado Capitulo 3 Metodología 8 de 109 la encargada de recoger los datos de los sensores acelerómetro y giróscopo, y enviar cada uno de los datos que recoge mediante una conexión Bluetooth al dispositivo móvil que se encargará de almacenarlo en la base de datos. Para programar las aplicaciones Android se ha usado el lenguaje de programación Java. En el desarrollo de este TFG, se ha usado Android Studio como entorno de desarrollo de las aplicaciones anteriormente mencionadas, en su versión 4.1.2 usando el lenguaje de Java, en su versión 11.0.11, además las versiones de Android del teléfono y del reloj son: Android 10 y Wear OS 2.27. 3.1.2. SOAP Para el envío de datos desde la aplicación móvil hasta el servidor de la base de datos se utiliza el protocolo de envío SOAP, siglas de Simple Object Access Protocol o Protocolo de Acceso de Objetos Simples. Es un protocolo de comunicación http mediante XML. Este protocolo permite hacer tanto peticiones como envíos a un servidor. En este caso, para enviar datos al servidor hay que encapsular estos datos simples en un archivo XML, llamado sobre, el servidor lo recibe y desencripta para posteriormente almacenar toda su información. Un mensaje SOAP se construye con varios componentes: la cabecera, que describe el mensaje, y el cuerpo del mensaje que contendrá la información que se desea almacenar. Aparte de su sencillez, otro de los aspectos positivos de usar este protocolo es que permite la serialización de distintos tipos de datos. La estructura de los mensajes SOAP utilizados en el TFG, se componen de: 1. Nombre de usuario de la base de datos 2. Contraseña de acceso a la base de datos 3. Identificador de la medición 4. Nombre de usuario 5. Identificador de la sesión 6. Fecha 7. Dibujo 8. Sensor 9. Aceleración en el eje X o Velocidad de rotación en el eje X 10. Aceleración en el eje Y o Velocidad de rotación en el eje Y 11. Aceleración en el eje Z o Velocidad de rotación en el eje Z 12. Mano con la que se realiza la recogida Trabajo Fin de Grado Capitulo 3 Metodología 9 de 109 3.1.3. PHPMyAdmin PHPMyAdmin es un software gratuito escrito en PHP con el que se realizan operaciones sobre bases de datos. Estas pueden usar el lenguaje MySQL como la usada, o MariaDB. Tiene una interfaz intuitiva que permite hacer tanto operaciones de importación de datos desde distintos formatos del tipo CSV o SQL, como permitir exportar datos en muchos más formatos del tipo CSV, XML, PDF, ... [13]. La base de datos que se ha utilizado en el desarrollo de este proyecto se aloja en el servidor greidi de la Escuela de Ingeniería Informática. Para cargar y descargar los datos se ha usado el protocolo anteriormente descrito. La estructura que se ha usado para el almacenamiento de los datos ha sido de una única tabla, DatosSensores, que almacena tanto los datos del usuario, los datos de la sesión y, por último, las aceleraciones de los sensores del reloj. 3.1.4. Netbeans Es un entorno de desarrollo integrado, gratuito y de código abierto. Contiene una gran variedad de opciones a la hora de creación de proyectos en Java y en otros lenguajes que soporta este IDE de desarrollo. Además permite conexiones con base de datos lo cual lo hace idóneo para la creación y testeo de aplicaciones. Igualmente cuenta con herramientas para el desarrollo de aplicaciones web [14]. Para poder descargar los archivos de la base de datos, se usará un proyecto Java versión 12.4 de Netbeans. Éste consiste en hacer peticiones a la base de datos usando como parámetros: 1. Nombre del dibujo realizado. 2. Identificador de la sesión. 3. Nombre de usuario. Una vez se ha descargado un sobre SOAP, se accede a sus datos y se preparan para almacenarlos en un archivo CSV. Se calcula el tiempo entre cada uno de los datos tomados y se separan en dos archivos, uno que indique los datos del acelerómetro y otro los del giroscopio. Trabajo Fin de Grado Capitulo 3 Metodología 10 de 109 3.1.5. Visual Studio Code Es un editor de código fuente, creado por Microsoft en 2015 para ser utilizado por los sistemas operativos de Windows, Linux y macOS. Contiene diversas herramientas para depuración, control de versiones con Git, autocompletado de código y además con una interfaz intuitiva y personalizable [15]. Para el análisis de los datos se ha utilizado la versión 1.50.1, con la que se han programado una serie de scripts en Python versión 3.7.4 para su representación. El uso de los scripts nos permite transformar los datos en gráficas mostrando información del tipo: 1. Aceleración en los ejes X, Y, Z. 2. Módulo de la aceleración. 3. Velocidades en los ejes X, Y, Z. 4. Módulo de la velocidad. 5. Desplazamiento realizado con el reloj. Los datos que se obtienen del reloj son únicamente aceleración en los ejes X, Y, Z y velocidad de rotación sobre los ejes X, Y, Z, por lo tanto para hacer los cálculos de la velocidad y del desplazamiento, se usan las formulas del MRUA (Movimiento Rectilíneo Uniformemente Acelerado). 3.1.6. Visual Paradigm Es una herramienta CASE o Ingeniería de Software Asistida por Computación, usada para el desarrollo de programas informáticos. Se usa para realizar el análisis, el diseño e incluso contiene una herramienta para generar automáticamente el código fuente de los programas y la documentación [16]. Con ella se van a crear los diagramas del diseño de la aplicación Android, además de los esquemas relacionales de la base de datos. Aunque es una herramienta privada, se ha usado la versión gratuita por ser alumno de la Universidad de Valladolid. La versión que se usa es la 15.0. Trabajo Fin de Grado Capitulo 3 Requisitos 11 de 109 Capítulo 4 Requisitos La aplicación móvil para recoger los datos del reloj inteligente se desarrolla con la finalidad de realizar una investigación de tipo experimental. Por tanto, esta aplicación no es el objetivo fundamental del proyecto, sino una de las partes que ha habido que completar para poder analizar los experimentos con el movimiento. Recordemos que, el objetivo general de este trabajo es la investigación de manera prospectiva en el uso de ponibles (relojes o pulseras) para capturar movimientos realizados sobre un papel al realizar un dibujo simple (sección 1.1). Con esto se quiere indicar que la aplicación realizada y su uso se ha diseñado para que funcione de manera simple y básica para poder realizar lo que se le pedía, la toma de datos y su envío a la base de datos. Para su diseño e implementación es importante tener en cuenta que el usuario será de tipo experto. Va a ser siempre usada en un entorno de investigación. 4.1. Definición de requisitos Los requisitos que se definen son los necesarios para realizar tomas de datos experimentales para su posterior análisis. 4.1.1. Requisitos funcionales 1. El sistema debe permitir iniciar sesión a cualquier usuario. 2. El sistema debe permitir seleccionar la mano dominante. 3. El sistema debe permitir al usuario comenzar la toma de datos. 4. El sistema debe permitir al usuario indicar cómo se llama el dibujo que va a realizar. 5. El sistema debe permitir al usuario activar el Bluetooth del móvil. 6. El sistema debe permitir al usuario seleccionar a qué dispositivo se quiere conectar de la lista de dispositivos Bluetooth conocidos. Trabajo Fin de Grado Capitulo 4 Requisitos 12 de 109 7. El sistema debe permitir al usuario finalizar la toma de datos. 8. El sistema debe permitir salir de la aplicación en cualquier momento. 4.1.2. Requisitos no funcionales 1. El sistema debe permitir seleccionar como mano dominante, la izquierda o la derecha. 2. El sistema debe permitir al usuario indicar que quiere hacer su dispositivo visible por conexiones Bluetooth durante 300 segundos. 3. El sistema enviará los datos a la base de datos cuando los reciba del reloj. 4.1.3. Requisitos de información 1. El sistema debe almacenar datos personales del usuarios como el nombre de usuario y la mano dominante con la que realizará el dibujo. 2. El sistema debe almacenar las aceleraciones en los ejes X, Y y Z y las velocidades de rotación sobre los tres ejes que recoja el reloj y diferenciar las tomas indicando de qué sensor se trata, acelerómetro o giroscopio. 3. El sistema debe almacenar un timestamp del momento en el que se toman los datos. 4. El sistema debe almacenar el dibujo que se va a realizar en cada toma de datos. 4.2. Definición de actores Se considerará un actor real que es el usuario, que es el encargado de tomar los datos biométricos y el actor externo del sistema que es el reloj wearable. Trabajo Fin de Grado Capitulo 4 Planificación: 13 de 109 Capítulo 5 Planificación: Para la planificación del proyecto se va a utilizar la metodología Scrum basada en Sprints, en este caso los períodos entre un Sprint y otro serán de una semana. En cada uno de estos Sprints se definen una serie de tareas a realizar siempre de mayor a menor importancia con una breve descripción de cuál es el fundamento de esa tarea, además hay que añadir el tiempo esperado en realizar la tarea y el tiempo real que se ha tardado en completarla. En el caso de que el Sprint finalice y una tarea no haya sido completada, se marca como pendiente y se resuelve en el siguiente Sprint[17]. Las características principales de los Sprints son: 1. Una vez definidos no puede haber cambios. 2. Siempre se trabaja de mayor a menor importancia. 3. No hay tiempos intermedios: en cuanto un Sprint termina, comienza el siguiente. 4. Cada Sprint no debe durar más de un mes. 5. Únicamente el Jefe del Proyecto puede cancelar un Sprint. Los Sprints se realizan para ver cómo avanza el proyecto de una manera lineal y supone abordar los problemas de una manera más fácil. En el caso del proyecto, existen tareas, de desarrollo de software, experimentos, búsqueda, reuniones y documentación. Trabajo Fin de Grado Capitulo 5 Planificación: 14 de 109 5.1. Sprint 1 (24Febrero-01Marzo) Tarea Descripción Tiempo estimado Tiempo empleado Estado 1Reunión de planificación de proyecto 1h 2h Completada 2Búsqueda de Smart Rings en el mercado 4h 3h 30 min Completada 3 Diseño de Bocetos de la App 3h 2h 40 min Completada 4 Segunda reunión de planificación, decisión sobre smart rings 1h 2h Completada 5Investigación previa 4h 4h Completada Trabajo Fin de Grado Capitulo 5 Planificación: 15 de 109 5.2. Sprint 2 (10Mayo-16Mayo) Tarea Descripción Tiempo estimado Tiempo empleado Estado 6 Configuración de reloj 30 min 30 min Completada 7 Aprendizaje Android 30h 40h Completada 8Aplicación móvil: Creación de la primera pantalla. 4h 6h Completada 9Diseño de los diagramas de Software de la aplicación. 7h 7h Completada 10 Aplicación móvil: Modificación de la primera pantalla 2h 2h Completada 11 Consulta bluetooth Android 2h 3h Completada Trabajo Fin de Grado Capitulo 5 Planificación: 16 de 109 5.3. Sprint 3 (17Mayo-23Mayo) Tarea Descripción Tiempo estimado Tiempo empleado Estado 12 Aplicación móvil: Creación de la conexión bluetooth 3h 3h Pendiente 13 Aplicación reloj: Creación de la primera pantalla 2h 1h Completada 14 Aplicación móvil: Creación de la conexión bluetooth 3h 3h Completada 15 Aplicación reloj: Creación de la conexión bluetooth 2h 2h Completada 16 Aplicación móvil: Creación De los modelos de datos 3h 3h Completada 17 Aplicación móvil: Modificación de la primera pantalla, problema de no recepción 6h 6h Completada 18 Aplicación móvil: Creación de una segunda pantalla para registrarse 3h 3h 30 min Completada Trabajo Fin de Grado Capitulo 5 Planificación: 23 de 109 5.10. Sprint 10 (5Julio-11Julio) Tarea Descripción Tiempo estimado Tiempo empleado Estado 69 Experimentos: Realización de los experimentos del cálculo de ángulos con un eje estático alineado con los puntos cardinales 1h 1h Completada 70 Reunión de seguimiento16 1h 2h Completada 71 Experimentos: Realización de los experimentos del cálculo de ángulos con un eje estático con ángulos de 0º, 30º,45º,60ºy 90º en cada cuadrante 1h 1h 10 min Completada 72 Reunión de seguimiento17: análisis de datos y decisión tomada 1h 3h Completada 73 Documentación: experimentos del cálculo de la rotación de ángulos. 4h 6h 40 min Completada 74 Documentación: completar memoria con fórmulas de MRUA 30 min 20 min Completada 75 Documentación: manual de usuario. 1h 1h Completada 76 Documentación: lectura y cambios ortográficos 30 min 1h Completada Trabajo Fin de Grado Capitulo 5 Planificación: 24 de 109 5.11. Sprint 11 (11Julio-18Julio) Tareas Descripción Tiempo estimado Tiempo empleado Estado 77 Documentación: análisis y diseño. 1h 2h 30min Completada 78 Documentación: implementacion y mejoras. 2h 2h Completada 79 Documentación: coste. 30 min 30 min Completada 80 Cambios primera versión. 4h 6h Completada 81 Cambios segunda versión. 3h 6h Completada 82 Documentación: pruebas aplicación. 1h 1h 15min Completada 83 Preparación de la presentación de la defensa. 5h 5h Completada 84 Cambios tercera versión 4h 6h 30 min Completada 5.12. Resumen de la planificación Tras realizar todas las tareas para completar el proyecto se ha recogido una tabla resumen con todas las horas esperadas y usadas (tabla 1). Tabla 1: Resumen de la planificación. Trabajo total estimado Total horas realizadas Total tareas realizadas 300h 286h 20 min 84/84 Trabajo Fin de Grado Capitulo 5 Planificación: 25 de 109 5.13. Costes: Consultando el BOE (Boletín Oficial del Estado) viene estipulado que el sueldo medio de un programador junior a 1 de noviembre de 2020 sería de 16.746,13€anuales trabajando 1800 horas totales a lo largo de un año entero [18]. Estos costes incluyen el pago de la Seguridad Social por parte de la empresa, que supone un coste cercano al 30% del sueldo por lo que el coste total para la empresa sería de 21.769,99€por un período de trabajo de 1.800 horas anuales. En el caso de este proyecto se estiman 300 horas lo que supone un coste aproximado de 3.628,33€. El número total de horas realizadas es inferior a las horas estimadas (figura 1) por lo tanto el presupuesto real del sueldo supone un coste aproximado de 3.459,01€. Al coste del operario hay que añadirle los costes que suponen el uso del software utilizado. En esta ocasión los IDEs de desarrollo que se han utilizado se corresponden con licencias gratuitas y, por lo tanto, sin ningún tipo de coste añadido. Igualmente, la base de datos que se ha utilizado tampoco ha supuesto ningún coste puesto que es de código abierto. También hay que añadir el coste del hardware que se ha utilizado en el proyecto. Aquí se incluye el uso de un reloj marca TicWatch C2 que ha supuesto un coste a precio de mercado de 209,99€ [19]. El teléfono móvil utilizado para probar la aplicación marca LG K41S tiene un coste en el mercado de 135,00€. El proyecto se desarrolla en la residencia del estudiante o en la Universidad por lo que no se añadirán costes de alquiler y similares. Tabla 2: Costes del proyecto. Sueldo base 2.421,31€ Seguridad social 1037,70€ Reloj inteligente: TIcWatch C2 209,99€ Teléfono móvil: LG K41S 135,00€ Total 3804,00€ Trabajo Fin de Grado Capitulo 5 Análisis 26 de 109 Capítulo 6 Análisis 6.1. Casos de uso Los casos de uso son descripciones de actividades o tareas que realizan actores del sistema. En el caso de la aplicación Android de recogida únicamente tiene dos casos de uso: recoger datos y enviar datos. Inicialmente se había pensado en tener otro caso de uso a mayores, el relativo al inicio de sesión por parte del usuario. Sin embargo se ha pensado que es mejor incluirlo como precondición del caso de uso recoger datos, se verá más adelante en la sección 6.1.2.1.. 6.1.1. Diagrama de casos de uso En la figura 3 se muestra como interactúan los actores con el sistema para poder realizar los casos de uso. En este caso se observa un actor “Usuario” el cual se encargará de realizar las tomas de datos y un sistema externo al sistema que es el reloj “smartwatch”. Trabajo Fin de Grado Capitulo 6 Análisis 27 de 109 Figura 3: Diagrama de casos de uso en análisis. Trabajo Fin de Grado Capitulo 6 Análisis 28 de 109 6.1.2. Definición de los casos de uso 6.1.2.1. Caso de uso recoger datos Actores: usuario, smartwatch. Precondición: el usuario se tiene que haber identificado en el sistema. Secuencia normal: 1. El usuario inicia la recogida de una muestra. 2. El sistema solicita al usuario la activación del bluetooth. 3. El usuario activa el bluetooth. 4. El sistema solicita al usuario un nombre para el dibujo. 5. El usuario introduce un nombre para el dibujo. 6. El sistema comprueba que el nombre es correcto. 7. El sistema muestra una lista de dispositivos bluetooth conocidos. 8. El usuario elige uno de los dispositivos. 9. El sistema establece la conexión bluetooth con el dispositivo. 10. El sistema solicita al smartwatch información a los sensores y muestra estado conectado. 11. El sistema almacena las muestras recogidas localmente. 12. Caso de uso enviar datos. Secuencia alternativa: 3. a) Si el bluetooth está encendido, se hace la petición de hacer visible el dispositivo durante 300 segundos. b) Si el bluetooth está encendido y el dispositivo es visible, pasa directamente al paso 3. 6. a) Si la entrada está vacía, muestra un mensaje de error. Trabajo Fin de Grado Capitulo 6 Análisis 29 de 109 6.1.2.2. Caso de uso enviar datos Actor: usuario. Precondición: el usuario tiene que haber comenzado una recogida de datos. Secuencia normal: 1. El usuario informa de que se ha terminado la recogida de datos. 2. El sistema cierra la conexión bluetooth. 3. El sistema comienza una conexión con el servidor. 4. El sistema se identifica ante el servidor. 5. El servidor comprueba que las credenciales son correctas. 6. El sistema envía mensajes con los datos para ser almacenados. 7. El sistema acaba de enviar mensajes. 8. El sistema cierra la conexión. 9. El sistema acaba su ejecución. Secuencia alternativa: 5. Las credenciales no son correctas, el servidor devuelve un fallo y el sistema borra los datos. Trabajo Fin de Grado Capitulo 6 Análisis 30 de 109 6.2. Modelo de dominio En el modelo de dominio se detallan las entidades del sistema, sus atributos y las relaciones que existen entre ellas. Figura 4: Modelo de dominio de la aplicación. Trabajo Fin de Grado Capitulo 6 Diseño 31 de 109 Capítulo 7 Diseño 7.1. Arquitectura La arquitectura es el diseño de más alto nivel de la estructura del sistema. En el se indica como debe funcionar el código fuente del software. 7.1.1. Diseño de la interfaz. El diseño de la interfaz de la aplicación se muestra en la figura 5 con un diagrama de estados. Comienza en el estado previo a iniciar sesión en el sistema, una vez el usuario ha iniciado sesión accede a la segunda pantalla donde puede acabar la ejecución o comenzar una recogida. En este segundo caso aparece un fragmento en la vista con una entrada de texto en la que se introduce el nombre del dibujo que se va a almacenar posteriormente aparece otro fragmento donde se elige el dispositivo bluetooth con el que se conectará para hacer la toma de datos. Cuando elige el dispositivo comienza la toma de datos. Una vez se ha acabado de tomar los datos la aplicación los envía y termina la ejecución. Trabajo Fin de Grado Capitulo 7 Diseño 32 de 109 Figura 5: Diagrama de los estados de las vistas. Trabajo Fin de Grado Capitulo 7 Diseño 39 de 109 Figura 10: Negocio general Trabajo Fin de Grado Capitulo 7 Diseño 40 de 109 Figura 11: Negocio en UsesStyle Trabajo Fin de Grado Capitulo 7 Diseño 41 de 109 7.2. Diseño de la base de datos El proyecto cuenta con una base de datos sobre la que se almacenan todos los datos recogidos por los sensores. Esta base de datos se ha diseñado para que sea sencilla, más que eficiente. Las causas de haberse diseñado de esta manera son que el proyecto es experimental, no se van a almacenar grandes cantidades de datos y no se pretende hacer diferencias entre usuarios, dibujos o sesiones, únicamente se busca almacenar esa información de la manera más sencilla para poder alcanzar unas conclusiones sobre los experimentos que se realizan. También se busca que sea sencilla de mantener en un futuro. Teniendo en cuenta lo anterior, la implementación de la base de datos se ha realizado mediante una única tabla (figura 12). Figura 12: Descripción que compone la base de datos. Ahora bien, se ha pensando en el futuro, en el que se pudiera aplicar al caso de investigación en enfermedades neuronales. Es este caso, donde ya sí habría que adquirir un corpus de investigación más complejo, diferenciando entre dibujos, usuarios y sesiones, la base de datos tendría que ser diseñada pensando en la eficiencia. Además, el número de datos a almacenar sería muy superior al planteado para este proyecto de tipo prospectivo. Para esto, se propone el esquema mostrado en la figura 13. Figura 13: Esquema relacional que se propone si el proyecto arroja resultados positivos. Trabajo Fin de Grado Capitulo 7 Diseño 42 de 109 7.3. Realización de los casos de uso Los diagramas de secuencia proponen una solución de modelado dinámico UML ya que se centran en procesos y objetos que coexisten simultáneamente incluyendo los mensajes que hay entre ellos [20]. 7.3.1. Iniciar sesión Figura 14: Diagrama de secuencia de inicar sesión. Trabajo Fin de Grado Capitulo 7 Diseño 43 de 109 7.3.2. Caso de uso recoger datos Figura 15: Diagrama de secuencia del caso de uso recoger datos. Trabajo Fin de Grado Capitulo 7 Diseño 44 de 109 Figura 16: Diagrama de secuencia del caso de uso recoger datos cuando se inicia la recogida. Trabajo Fin de Grado Capitulo 7 Diseño 45 de 109 Figura 17: Diagrama de secuencia del caso de uso recoger datos cuando se recogen los datos. Trabajo Fin de Grado Capitulo 7 Diseño 46 de 109 7.3.3. Caso de uso enviar datos Figura 18: Diagrama de secuencia del caso de uso enviar datos. Trabajo Fin de Grado Capitulo 7 Diseño 47 de 109 Figura 19: Diagrama de secuencia del caso de uso enviar datos cuando se empaquetan los datos para enviarlos. Trabajo Fin de Grado Capitulo 7 Implementación y pruebas 48 de 109 Capítulo 8 Implementación y pruebas 8.1. Despliegue del sistema En la figura 20 se muestra un diagrama de despliegue del sistema, este tiene como función modelar la disposición física de los artefactos software en nodos. En la aplicación es necesario mostrar como dispositivos físicos: el reloj, el móvil y el servidor que almacena los datos. Sistema en ejecución: se ha añadido una guía de usuario al final del documento en el apéndice B Trabajo Fin de Grado Capitulo 8 Desarrollo Experimental 55 de 109 (a) Aceleraciones en los ejes X, Y, Z. (b) Módulo de la aceleración. (c) Velocidades en los ejes X, Y, Z. (d) Módulo de la velocidad. (e) Dibujo del movimiento realizado. Figura 22: Resultados del reloj estático mirando hacia arriba. Trabajo Fin de Grado Capitulo 9 Desarrollo Experimental 56 de 109 (a) Aceleraciones en los ejes X, Y, Z. (b) Módulo de la aceleración. (c) Velocidades en los ejes X, Y, Z. (d) Módulo de la velocidad. (e) Dibujo del movimiento realizado. Figura 23: Resultados del reloj estático al revés. Trabajo Fin de Grado Capitulo 9 Desarrollo Experimental 57 de 109 9.3. Captura del movimiento Estos experimentos se realizan sin el reloj en la muñeca. Lo primero que se pretende para analizar los valores de las aceleraciones es hacer movimientos simples y controlados. Se realizarán sobre el papel desplazamientos verticales y horizontales. De esta manera, se consigue eliminar los giros. El reloj se posiciona con el 12 hacia arriba y los movimientos se harán a dos velocidades distintas, una de ellas será rápida y otra una velocidad normal o más lenta, con esto se busca encontrar algunas diferencias en los datos recogidos. Los movimientos que se van a hacer son: Movimiento vertical de arriba a abajo: con una velocidad lenta, sección 9.3.1 y con una velocidad rápida, sección 9.3.2. Movimiento vertical de abajo a arriba: con una velocidad lenta, sección 9.3.3 y con una velocidad rápida, sección 9.3.4. Movimiento horizontal de izquierda a derecha: con una velocidad lenta, sección 9.3.5 y con una velocidad rápida, sección 9.3.6. Movimiento horizontal de derecha a izquierda: con una velocidad lenta, sección 9.3.7 y con una velocidad rápida, sección 9.3.8. Objetivos: el objetivo principal de estos experimentos es comprobar si se puede capturar la aceleración que se formará en los ejes sobre los que se aplica la fuerza del movimiento, en los movimientos horizontales se espera una aceleración en el eje X y en los movimientos verticales se espera una aceleración en el eje Y. Además, se espera que la aceleración contraria a la gravedad no desaparezca ni varíe. En la sección 9.3.9 se realiza un análisis de los resultados obtenidos. 9.3.1. Movimiento vertical: de arriba a abajo con una velocidad lenta En la Figura 24 se muestran los datos recogidos con los sensores y los valores calculados con ellos. La figura (a) muestra las aceleraciones en los ejes. En el caso del movimiento lento se verá una ligera variación en la aceleración del eje Y, aunque también se ven variaciones en el resto de ejes que no se esperan. En las figuras (b), (c), (d) se observan todas estas variaciones de la aceleración, y es en la figura (d) donde se muestra el resultado del movimiento, y se observa que no es preciso por lo anteriormente comentado. Esto ocurre en el resto de los experimentos de esta sección, el único cambio que se observa es que será en los movimientos horizontales en los que se espera una variación en el eje X. No se añadirán estas descripciones para facilitar la lectura. Trabajo Fin de Grado Capitulo 9 Desarrollo Experimental 58 de 109 (a) Aceleraciones en los ejes X, Y, Z. (b) Módulo de la aceleración. (c) Velocidades en los ejes X, Y, Z. (d) Módulo de la velocidad. (e) Dibujo del movimiento realizado. Figura 24: Resultados del movimiento vertical lento. Trabajo Fin de Grado Capitulo 9 Desarrollo Experimental 59 de 109 9.3.2. Movimiento vertical: de arriba a abajo con una velocidad rápida (a) Aceleraciones en los ejes X, Y, Z. (b) Módulo de la aceleración. (c) Velocidades en los ejes X, Y, Z. (d) Módulo de la velocidad. (e) Dibujo del movimiento realizado. Figura 25: Resultados del movimiento vertical de arriba a abajo con una velocidad rapida. Trabajo Fin de Grado Capitulo 9 Desarrollo Experimental 60 de 109 9.3.3. Movimiento vertical: de abajo a arriba con una velocidad lenta (a) Aceleraciones en los ejes X, Y, Z. (b) Módulo de la aceleración. (c) Velocidades en los ejes X, Y, Z. (d) Módulo de la velocidad. (e) Dibujo del movimiento realizado. Figura 26: Resultados del movimiento vertical de abajo a arriba con una velocidad lenta. Trabajo Fin de Grado Capitulo 9 Desarrollo Experimental 61 de 109 9.3.4. Movimiento vertical: de abajo a arriba con una velocidad rápida (a) Aceleraciones en los ejes X, Y, Z. (b) Módulo de la aceleración. (c) Velocidades en los ejes X, Y, Z. (d) Módulo de la velocidad. (e) Dibujo del movimiento realizado. Figura 27: Resultados del movimiento vertical de abajo a arriba con una velocidad rápida. Trabajo Fin de Grado Capitulo 9 Desarrollo Experimental 62 de 109 9.3.5. Movimiento horizontal: de izquierda a derecha con una velocidad lenta (a) Aceleraciones en los ejes X, Y, Z. (b) Módulo de la aceleración. (c) Velocidades en los ejes X, Y, Z. (d) Módulo de la velocidad. (e) Dibujo del movimiento realizado. Figura 28: Resultados del movimiento horizontal de izquierda a derecha con una velocidad lenta. Trabajo Fin de Grado Capitulo 9 Desarrollo Experimental 63 de 109 9.3.6. Movimiento horizontal: de izquierda a derecha con una velocidad rápida (a) Aceleraciones en los ejes X, Y, Z. (b) Módulo de la aceleración. (c) Velocidades en los ejes X, Y, Z. (d) Módulo de la velocidad. (e) Dibujo del movimiento realizado. Figura 29: Resultados del movimiento horizontal de izquierda a derecha con una velocidad rápida. Trabajo Fin de Grado Capitulo 9 Desarrollo Experimental 64 de 109 9.3.7. Movimiento horizontal: de derecha a izquierda con una velocidad lenta (a) Aceleraciones en los ejes X, Y, Z. (b) Módulo de la aceleración. (c) Velocidades en los ejes X, Y, Z. (d) Módulo de la velocidad. (e) Dibujo del movimiento realizado. Figura 30: Resultados del movimiento horizontal de derecha a izquierda con una velocidad lenta. Trabajo Fin de Grado Capitulo 9 Desarrollo Experimental 71 de 109 9.4.4. Movimiento vertical: de abajo a arriba con una velocidad rápida (a) Velocidades en los ejes X, Y, Z. (b) Módulo de la velocidad. (c) Dibujo del movimiento realizado. Figura 35: Resultados del movimiento vertical de abajo a arriba con una velocidad rápida. Trabajo Fin de Grado Capitulo 9 Desarrollo Experimental 72 de 109 9.4.5. Movimiento horizontal: de izquierda a derecha con una velocidad lenta (a) Velocidades en los ejes X, Y, Z. (b) Módulo de la velocidad. (c) Dibujo del movimiento realizado. Figura 36: Resultados del movimiento horizontal de izquierda a derecha con una velocidad lenta. Trabajo Fin de Grado Capitulo 9 Desarrollo Experimental 73 de 109 9.4.6. Movimiento horizontal: de izquierda a derecha con una velocidad rápida (a) Velocidades en los ejes X, Y, Z. (b) Módulo de la velocidad. (c) Dibujo del movimiento realizado. Figura 37: Resultados del movimiento horizontal de izquierda a derecha con una velocidad rápida. Trabajo Fin de Grado Capitulo 9 Desarrollo Experimental 74 de 109 9.4.7. Movimiento horizontal: de derecha a izquierda con una velocidad lenta (a) Velocidades en los ejes X, Y, Z. (b) Módulo de la velocidad. (c) Dibujo del movimiento realizado. Figura 38: Resultados del movimiento horizontal de derecha a izquierda con una velocidad lenta. Trabajo Fin de Grado Capitulo 9 Desarrollo Experimental 75 de 109 9.4.8. Movimiento horizontal: de derecha a izquierda con una velocidad rápida (a) Velocidades en los ejes X, Y, Z. (b) Módulo de la velocidad. (c) Dibujo del movimiento realizado. Figura 39: Resultados del movimiento horizontal de derecha a izquierda con una velocidad rápida. Trabajo Fin de Grado Capitulo 9 Desarrollo Experimental 76 de 109 9.4.9. Análisis de los resultados: Observando las gráficas de la velocidad se confirma lo esperado. Aunque hay movimientos que comienzan más tarde que los 500 milisegundos esperados, se elimina una gran parte de la gráfica donde no se realiza ningún movimiento y sus valores no eran relevantes. Si comparamos las gráficas de la velocidad en un movimiento vertical de arriba a abajo con una velocidad lenta, en los dos experimentos (Figura 26 y Figura 34) se ve que los primeros 500 milisegundos en los que se medían velocidades cercanas a 0 m/s, se han eliminado y justo al empezar comienza a tomar la forma de parábola que se espera en las velocidades y esa parábola invertida que se espera en los módulos. Aunque se hayan eliminado esos 500 milisegundos, se puede observar que en el módulo de la velocidad de la Figura 37 se pueden dar casos en los que eliminar 500 milisegundos al principio y al final de la toma de datos no es suficiente, ya que en éste se tienen otros 200 milisegundos al principio y otros 200 milisegundos al final que son ruido. Aunque se sigue observando que al final de la gráfica del módulo de las velocidades la parábola que debería acabar en 0 m/s, no termina en ese valor, sí que se ve que acaba en valores mucho más cercanos al cero que antes. Observando las gráficas del movimiento se advierte que, en general, con las mejoras introducidas se han obtenido movimientos más cercanos al realmente realizado. La mayoría de las veces ese “gancho” final del trazo, movimiento que no se ha realizado, ha desaparecido o se ha visto disminuido con respecto a lo mostrado en las gráficas del apartado anterior. Se puede concluir que, aunque haya que mejorarlo, el procesamiento adicional introducido mejora, como se esperaba, la captura del movimiento realizado. Trabajo Fin de Grado Capitulo 9 Desarrollo Experimental 77 de 109 9.5. Suavizado de la aceleración Partimos de los datos de los experimentos anteriores, pero ahora, se han agrupado los datos en subgrupos de 50 milisegundos y 100 milisegundos con el objetivo de observar un suavizado de la aceleración y, por lo tanto, un movimiento más suave o parecido al que realiza el humano. Se va a aplicar un filtrado de la media, que supone un suavizado de la aceleración. Esta agrupación se hace mediante la media de los valores de los datos tomados cada 50 y 100 milisegundos, para comparar los resultados con ambos valores. Con esta media se obtienen los valores de las aceleraciones en los ejes. A partir de los resultados de los experimentos anteriores, en estos también se han eliminado el bias, y los primeros y últimos 500 milisegundos. Se van a analizar solo las gráficas del movimiento, ya que a partir de aquí estas gráficas serán las que mayor importancia tengan porque significa que los movimientos se pueden recoger y analizar de manera que representen el movimiento correcto y esperado. Objetivos: en estos experimentos se espera mejorar las anteriores representaciones. 9.5.1. Movimiento vertical: de arriba a abajo con una velocidad lenta En la Figura 40 se muestran los datos del movimiento con el suavizado. En la figura (a) los datos se han agrupado cada 50 milisegundos, y en la figura (b) los datos se han agrupado cada 100 milisegundos. Las curvas en la gráficas del movimiento son más rectas comparando con las anteriores. En las demás figuras no aparecerá esta descripción ya que mostrarán el resto de movimientos, y sería repetir la información; de esta manera se facilita la lectura. (a) Dibujo del movimiento realizado en un movimiento de arriba a abajo lento, agrupando datos cada 50 ms. (b) Dibujo del movimiento realizado en un movimiento de arriba a abajo lento, agrupando datos cada 100 ms. Figura 40: Resultados del suavizado del movimiento vertical de arriba a abajo con una velocidad lenta. Trabajo Fin de Grado Capitulo 9 Desarrollo Experimental 78 de 109 9.5.2. Movimiento vertical: de arriba a abajo con una velocidad rápida (a) Dibujo del movimiento realizado en un movimiento de arriba a abajo rápido, agrupando datos cada 50 ms. (b) Dibujo del movimiento realizado en un movimiento de arriba a abajo rápido, agrupando datos cada 100 ms. Figura 41: Resultados del suavizado del movimiento vertical de arriba a abajo con una velocidad rápida. 9.5.3. Movimiento vertical: de abajo a arriba con una velocidad lenta (a) Dibujo del movimiento de abajo a arriba lento, agrupando datos cada 50 ms. (b) Dibujo del movimiento de abajo a arriba lento, agrupando datos cada 100 ms. Figura 42: Resultados del suavizado del movimiento vertical de abajo a arriba con una velocidad lenta. Trabajo Fin de Grado Capitulo 9 Desarrollo Experimental 79 de 109 9.5.4. Movimiento vertical: de abajo a arriba con una velocidad rápida (a) Dibujo del movimiento de abajo a arriba rápido, agrupando datos cada 50 ms. (b) Dibujo del movimiento de abajo a arriba rápido, agrupando datos cada 100 ms. Figura 43: Resultados del suavizado del movimiento vertical de abajo a arriba con una velocidad rápida. 9.5.5. Movimiento horizontal: de izquierda a derecha con una velocidad lenta (a) Dibujo del movimiento de izquierda a derecha lento, agrupando datos cada 50 ms. (b) Dibujo del movimiento de izquierda a derecha lento, agrupando datos cada 100 ms. Figura 44: Resultados del suavizado del movimiento horizontal de izquierda a derecha con una velocidad lenta. Trabajo Fin de Grado Capitulo 9 Desarrollo Experimental 80 de 109 9.5.6. Movimiento horizontal: de izquierda a derecha con una velocidad rápida (a) Dibujo del movimiento de izquierda a derecha rápido, agrupando datos cada 50 ms. (b) Dibujo del movimiento de izquierda a derecha rápido, agrupando datos cada 100 ms. Figura 45: Resultados del suavizado del movimiento horizontal de izquierda a derecha con una velocidad rápida. 9.5.7. Movimiento horizontal: de derecha a izquierda con una velocidad lenta (a) Dibujo del movimiento realizado de izquierda a derecha lento, agrupando datos cada 50 ms. (b) Dibujo del movimiento realizado de izquierda a derecha lento, agrupando datos cada 100 ms. Figura 46: Resultados del suavizado del movimiento horizontal de derecha a izquierda con una velocidad lenta. Trabajo Fin de Grado Capitulo 9 Desarrollo Experimental 87 de 109 9.6.5. Análisis de los resultados: Tras realizar en diversas ocasiones los experimentos, se pudo observar que no siempre los resultados eran correctos ni representaban el movimiento esperado. En los últimos experimentos realizados, en general los movimientos esperados concuerdan con una distancia de 30 centímetros, aunque no siempre. Se puede observar que en los experimentos del movimiento vertical de arriba a abajo (Figura 50) y en el movimiento horizontal de izquierda a derecha (Figura 52) muestran un desplazamiento superior a los 30 centímetros. Además, se puede observar que los desplazamientos que debían ser rectos, no muestran unas líneas rectas, sino que existen curvas en sus representaciones, y esto se debe a que la toma de datos sin guías hace que los desplazamientos que se realizaron no fueran totalmente rectos sino que pudieron sufrir alguna ligera variación en su desplazamiento. Esto se puede observar en cada una de las representaciones del movimiento, pero si se observa la Figura 53, del movimiento horizontal de derecha a izquierda, se puede ver cómo, además, al no tener guías puede haber una ligera variación en el movimiento al final del desplazamiento, donde pueden surgir ligeros desplazamientos verticales que no se esperan. En conclusión, parece que sí se puede capturar el movimiento con relativa precisión, pero siguen existiendo imprecisiones que es muy difícil de saber si se deben al valor de los sensores o a errores en la realización del movimiento; es algo que habrá que seguir viendo en trabajos futuros. También habrá que tener en cuenta, como se comentó al principio y ha aparecido en otros experimentos, los errores de captura. Trabajo Fin de Grado Capitulo 9 Desarrollo Experimental 88 de 109 9.7. Cálculo de los ángulos de giro Antes de poder hacer experimentos con el reloj en la muñeca se tienen que realizar previamente experimentos para calcular los ángulos sobre los que el reloj gira al posicionarle sobre ella. Las pruebas se realizarán analizando cada giro por separado para intentar calcular los ángulos (Figura 2). Para el nombre de los ángulos se va a usar la nomenclatura que usó Euler: αes el ángulo de rotación sobre el eje Z (Figura 55 (c)), βes el ángulo de rotación sobre el eje Y o también el ángulo de giro que se forma al rotar el reloj sobre el eje que forman el 12 y el 6 (Figura 55 (b)) y por último el ángulo γque es el ángulo de rotación sobre el eje X, éste es el ángulo que se forma cuando se rota sobre el eje que forman el 3 y el 9 (Figura 55 (a)). Figura 54: Cálculo del ángulo γcon la aceleración contraria a la gravedad. Los ángulos βyγson, en principio, fáciles de obtener ya que podemos usar la fuerza de la gravedad, aplicando la fórmula trigonométrica que se muestra en la Figura 54. Pero el problema surge cuando se rota sobre el eje Z, ángulo α, puesto que la rotación sobre ese eje no se ve afectada por la gravedad, por lo tanto no tenemos, a priori, forma de obtener el ángulo de giro. Trabajo Fin de Grado Capitulo 9 Desarrollo Experimental 89 de 109 (a) Rotación sobre el eje X, ángulo γformado por el eje 3-9 (b) Rotación sobre el eje Y, ángulo βformado por el eje 6-12 (c) Rotación sobre el eje Z, ángulo α. Figura 55: Rotaciones del reloj sobre los tres ejes. 9.7.1. Cálculo de βyγ Sobre los ángulos γcreado al rotar sobre el eje 3-9 - y βcreado al rotar sobre el eje 6-12 - se tomarán mediciones de las aceleraciones cuando el reloj esté parado y a la vez haya rotado con un ángulo conocido. Para la realización de estas tomas de datos se usará una escuadra y un cartabón (Figura 56). Estas herramientas nos serán útiles porque tienen unos ejes estáticos que servirán como datos iniciales. Los ángulos que usaremos para realizar la toma de datos son: 0º, 30º, 45ºy 90º. (a) Medición de aceleraciones usando el ángulo de 30ºdel cartabón. (b) Medición de aceleraciones usando el ángulo de 45ºde la escuadra. (c) Medición de aceleraciones usando el ángulo de 90ºde la escuadra. Figura 56: Toma de datos usando la escuadra y el cartabón. Trabajo Fin de Grado Capitulo 9 Desarrollo Experimental 90 de 109 Rotación sobre el eje 3-9, ángulo γ Tabla 3: Tabla del cálculo del ángulo γcon rotaciones sobre el eje 3-9. Ángulo [◦]Aceleración en X m/s2(ax) Aceleración en Z m/s2(ay) Ángulo calculado con ax[◦] Ángulo calculado con az[◦] 0 0,012369704573122 9,90173606349997 0,072319597352448 ERROR 90 -9,65277341645339 -0,069296843430092 80,0559587289888 89,594852066323 -90 9,8792296873039 0,126012043780591 ERROR 89,2632492605616 45 -6,95648098688056 6,78929722918211 45,2223053936343 46,1489936242236 -45 7,49642762235163 6,34263610839844 49,9017962493015 49,6685912742023 30 -4,88474363228525 8,50063134135215 29,8970581152226 29,8407976604201 -30 4,91888016190272 8,62194969842048 30,1275413952002 28,3828636959866 Los ángulos se indican como positivos y negativos dependiendo de hacia donde se incline el eje. En este caso se inclina el reloj sobre el eje 3-9, cuando el 3 apunte hacia el suelo el ángulo será negativo y en el caso contrario, en el que el 9 apunte hacia el suelo, el ángulo será positivo. Analizando los resultados mostrados en la tabla, los ángulos calculados usando las fórmulas de la Figura 54 son correctos y sus valores son cercanos a los reales, exceptuando los valores en los que el arcoseno y arcocoseno se calculan sobre un valor mayor que 1. El valor mayor a 1 se debe a que las mediciones en las aceleraciones pueden suponer un valor superior a los 9,81 que es el valor de la aceleración de la gravedad y, por lo tanto, cuando se hace la división en la fórmula el valor es superior a 1. Sin embargo, se puede observar que en los casos donde ocurre este hecho, si se utiliza la otra componente, el resultado es el ángulo esperado. Trabajo Fin de Grado Capitulo 9 Desarrollo Experimental 91 de 109 Rotación sobre el eje 12-6, ángulo β Tabla 4: Tabla del cálculo del ángulo βcon rotaciones sobre el eje 6-12. Ángulo [◦]Aceleración en X m/s2(ax) Aceleración en Z m/s2(az) Ángulo calculado con ax[◦] Ángulo calculado con az[◦] 0 0,086259868047009 9,90173606349997 0,504325530717155 ERROR 90 -9,67934928220861 -0,088974952697754 81,000132466818 89,4798000703318 -90 9,96559226905907 0,154289706722721 ERROR 89,0979067083986 45 -6,89486913571413 6,83875419353617 44,7131705302448 45,7466723344547 -45 7,14768196481173 6,96177193063204 46,8323739887799 44,7337602589372 30 -4,83007674329863 8,4811569574311 29,5290625694046 30,0688236689957 -30 5,0127292789825 8,56839370727539 30,76399494834 29,03470512037 Los ángulos formados se indican como positivos y negativos. La manera de indicar los ángulos sobre este eje se basa en que cuando se inclina el 6 hacia abajo los ejes son negativos y cuando es el 12 el que se inclina hacia abajo los ángulos son positivos. En estos experimentos la gravedad se divide entre los ejes Z e Y. Como en el anterior experimento, se calculan en valor absoluto y usando la fórmula de la Figura 54. Los resultados obtenidos son ángulos con un pequeño error pero los resultados son cercanos a los valores reales. Además, en este caso, también se observa cómo al calcular los ángulos existen unas aceleraciones mayores superiores al valor de la aceleración de la gravedad y ello supone que los cálculos den valores imposibles, aunque al repartir la aceleración contraria a la gravedad en dos ejes, el valor de este ángulo es calculable con la segunda componente. Trabajo Fin de Grado Capitulo 9 Desarrollo Experimental 92 de 109 9.7.2. Cálculo de α Las pruebas sobre el ángulo α, es decir, el ángulo que se forma al rotar el reloj sobre el eje Z, se realizarán mediante rotaciones del reloj sobre el eje Z y examinando si existe algún patrón con los valores obtenidos. Es decir, las pruebas consisten en ir moviendo el número 12 del reloj sobre unos ejes fijos, ya que hay que comprobar que siempre den el mismo valor las medias de las aceleraciones. Los ejes marcan cuatro direcciones en cada posición, de manera que con el reloj parado le posicionaremos con el 12 a las 12, con el 12 a las 9, con el 12 a las 6 y con el 12 a las 3 (Figura 57). El objetivo es ver si los sensores son sensibles a esas rotaciones y, si lo son, si esos valores son siempre los mismos en cada posición. Durante varios días se realizarán los mismos experimentos para observar si varían los valores de las aceleraciones recogidas. (a) 12 apuntando al 12. (b) 12 apuntando al 9. (c) 12 apuntando al 6. (d) 12 apuntando al 3. Figura 57: Posiciones del reloj cuando el 12 apunta al resto de números sobre un eje estático. Trabajo Fin de Grado Capitulo 9 Desarrollo Experimental 93 de 109 9.7.3. Rotación sobre el eje Z, ángulo α Tabla 5: Tabla del cálculo del ángulo α, cuando el 12 del reloj apunta al 12 del eje. Posición Aceleración en X m/s2(ax)Aceleración en Y m/s2(ay) Día 1 0,027613818160887 0,068382656025047 Día 2 0,022878211314284 0,069438944338501 Día 3 0,024030597393329 0,067296854654948 Día 4 0,027807285911159 0,075070581938091 Día 5 0,027566804358708 0,062165763509933 Tabla 6: Tabla del cálculo del ángulo α, cuando el 12 del reloj apunta al 9 del eje. Posición Aceleración en X m/s2(ax)Aceleración en Y m/s2(ay) Día 1 -0,027920542897044 0,093983630200366 Día 2 -0,021399207148992 0,082620715418606 Día 3 -0,030986310574955 0,090433870260708 Día 4 -0,027708259957736 0,086516633580943 Día 5 -0,027772972620831 0,096307546981258 Tabla 7: Tabla del cálculo del ángulo α, cuando el 12 del reloj apunta al 6 del eje. Posición Aceleración en X m/s2(ax)Aceleración en Y m/s2(ay) Día 1 0,003682706378193 0,149909902283282 Día 2 0,008343124389648 0,158074903488159 Día 3 0,003309761312106 0,159442697037658 Día 4 0,003829557504227 0,16504555317893 Día 5 0,006517717915197 0,147494506835938 Tabla 8: Tabla del cálculo del ángulo α, cuando el 12 del reloj apunta al 3 del eje. Posición Aceleración en X m/s2(ax)Aceleración en Y m/s2(ay) Día 1 0,063532366071429 0,125157688685826 Día 2 0,065325903514075 0,131746685694134 Día 3 0,053442120552063 0,124092519283295 Día 4 0,056106750488281 0,135762084960938 Día 5 0,053844491779181 0,126566763954296 Trabajo Fin de Grado Capitulo 9 Desarrollo Experimental 94 de 109 Los datos de las tablas 5 a 8 parecen mostrar que sí hay una relación entre posición del reloj y valor de las aceleraciones recogidas cuando se gira sobre α. Esto nos hizo suponer que igual habría una relación entre esta posición y los puntos cardinales, es decir, nos planteamos la hipótesis de que con el reloj parado y las manillas hacia arriba, la aceleración en los ejes X e Y pudiera estar afectada por el campo magnético de la tierra. Para ello planteamos una nueva captura, pero ahora con el reloj alineado con los puntos cardinales (Figura 58). Esta toma, para poder ser comparada con la anterior, se realizó en un punto diferente. Con ello pretendemos demostrar si realmente la aceleración que toma por defecto depende de la actividad magnética de la tierra. (a) 12 apuntando al norte. (b) 12 apuntando al oeste. (c) 12 apuntando al sur. (d) 12 apuntando al este. Figura 58: Posiciones del reloj cuando el 12 apunta a los ejes cardinales sobre un eje estático. Los datos que se muestran en las tablas 9 a 12 son los resultados obtenidos. Son los valores del acelerómetro en el eje X e Y, medidos en distintos días (valores de cada fila) y con la posición del reloj según se indica en la Figura 58. Trabajo Fin de Grado Capitulo 9 Desarrollo Experimental 95 de 109 Tabla 9: Tabla del cálculo del ángulo α, cuando el 12 del reloj apunta al norte magnético. Posición Aceleración en X m/s2(ax)Aceleración en Y m/s2(az) Día 1 0,029130008242546 0,145429838688002 Día 2 0,060873010656336 0,13467281467312 Día 3 0,030267461624436 0,14953433424801 Tabla 10: Tabla del cálculo del ángulo α, cuando el 12 del reloj apunta al oeste. Posición Aceleración en X m/s2(ax)Aceleración en Y m/s2(ay) Día 1 0,055580611337668 0,043082818146249 Día 2 0,051938411963247 0,061989888657619 Día 3 0,083052220837823 0,03742465315194 Tabla 11: Tabla del cálculo del ángulo α, cuando el 12 del reloj apunta al sur. Posición Aceleración en X m/s2(ax)Aceleración en Y m/s2(ay) Día 1 -0,025540322968454 0,033119028264826 Día 2 -0,049061949823944 0,013865564910459 Día 3 -0,054575555550578 0,024148923541428 Tabla 12: Tabla del cálculo del ángulo α, cuando el 12 del reloj apunta al este. Posición Aceleración en X m/s2(ax)Aceleración en Y m/s2(ay) Día 1 -0,082028208380918 0,105112576405471 Día 2 -0,070779663785481 0,114537061456281 Día 3 -0,097189958001912 0,140305902302445 Trabajo Fin de Grado Capitulo 9 Desarrollo Experimental 96 de 109 Se compararon los datos mostrados en las tablas 9 a 12 con los de las tablas 5 a 8, donde el Norte magnético estaba aproximadamente a las 8. Esta comparación mostró que no hay ninguna relación entre el campo magnético y los valores medidos por los sensores, ya que no había correspondencia entre valores medidos en la misma orientación magnética en ambos conjuntos de tablas. Además, como se puede ver en las tablas 9 a 12, los valores en cada posición muestran cierta variabilidad. Se desechó, entonces, la hipótesis de relación entre campo magnético y medidas de los sensores cuando el reloj está en una posición fija. Como último intento de poder calcular α, fundamental para poder trasladar el movimiento del reloj sobre la muñeca al papel, se probó un sistema de calibración basado en los valores mostrados en las tablas 5 a 8. En esas tablas sí parecen mostrar unos valores constantes en cada posición del reloj. La idea era ver si interpolando entre los valores de cada posición (reloj girado 90◦), se podrían calcular los ángulos intermedios. Para ello el reloj se fue girando en ángulos de 30◦y midiendo los valores de aceleración correspondientes. Esto se muestra en la tabla 13. Los resultados no muestran un patrón claro. Por ejemplo, los valores de Y entre 0◦y 90◦sí parecen mostrar una progresión, pero si ahora miramos los mismos valores entre 90◦y 180◦, esa progresión no existe. Lo mismo pasa con X. Por otro lado, tampoco se ve forma de obtener el cuadrante, ya que, por ejemplo, los valores de X son similares en el 0◦-90◦y en el 270◦-360◦, igual pasa con los valores de Y, que en distintos cuadrantes tenemos valores similares. Se podrían usar los dos de manera conjunta para el cálculo del cuadrante. Con esa opción, se intentó, mediante interpolación, calcular al menos el ángulo en valor absoluto, con muy malos resultados, por lo que no son mostrados en la tabla. Tabla 13: Aceleraciones obtenidas cuando el reloj rota sobre αcon unos ejes estáticos y con unos ángulos conocidos. Grados [◦]Aceleración en X m/s2(ax)Aceleración en Y m/s2(ay) 0 0,053526941440449 0,126294265925188 30 0,0630006075682 0,095069363373499 45 0,057573823367848 0,085302689496209 60 0,045054079012106 0,074217294008677 90 0,023159680065808 0,070123964601809 120 0,000692834387292 0,077745237550535 135 -0,013085181559991 0,065138020646682 150 -0,024036325610247 0,068411962157155 180 -0,033207028411156 0,097585338030675 210 -0,036196568968949 0,127656584332703 225 -0,033753973413184 0,138619786764244 240 -0,027088658090984 0,153981405011775 270 0,001560444734534 0,164886536890147 300 0,030830736513491 0,162731806437174 315 0,03421905000331 0,130367266121557 330 0,045114121995531 0,138781848254505 Trabajo Fin de Grado Capitulo 9 Manual de instalación 103 de 109 (a) Selección del instalador. (b) Primer mensaje emergente. (c) Segundo mensaje emergente. (d) Tercero mensaje emergente. (e) Cuar- to mensaje emergente. (f) Instalación finalizada. Figura A.1: Instalación de la aplicación móvil. Trabajo Fin de Grado Manual de instalación Manual de instalación 104 de 109 A.2. Aplicación del wearable: 1. Descargar la aplicación Wear Installer: es necesario para poder hacer la instalación del archivo APK, tener esta aplicación descargada tanto en el reloj como en el móvil. Primero la descargamos en el móvil figura A.2 (a). Justo después hay que introducir la dirección IP del reloj en la aplicación, se observa en la figura A.2 (b) en la parte inferior de la imagen. 2. Descargar la aplicación Wear Installer en el reloj: hay que entrar en Play Store y elegir Aplicaciones del teléfono y dentro del menú la aplicación Wear Installer. Figuras A.2 (c), (d), (e) y (f). 3. Instalar la aplicación: desde el móvil se abre la aplicación Wear Installer, se accede a la pestaña de descargas y se pulsa sobre el instalador (se descarga como se ha comentado antes en el paso 1 del anterior instalador pero el nombre de la carpeta es “instaladorAplicacionWearable”). Comienza una petición hacia el reloj para aceptar el envío de datos. Figuras A.2 (g) y (h). 4. Aceptación de la petición de instalación: una vez se hace la petición en el móvil y llega el mensaje al reloj, se acepta y se establece la conexión entre el reloj y la aplicación. Figura A.3 (a). 5. Instalación de la aplicación: cuando se ha establecido la conexión entre el reloj y el móvil se puede iniciar la instalación desde el móvil en la pantalla de la aplicación Wear Installer. En las figuras A.3 (b), (c) y (d), se observan las imágenes antes de instalar, instalando la aplicación y cuando ya está instalada. Trabajo Fin de Grado Manual de instalación Manual de instalación 105 de 109 (a) Descargar Wear Installer. (b) Wear Installer primera pantalla. (c) PlayStore en el reloj. (d) PlayStore en el reloj - aplicaciones del teléfono. (e) Wear Installer en el reloj. (f) Wear Installer en el reloj(2). (g) Wear Installer listo para transferir el archivo APK. (h) Wear Installer mensaje avisando de aceptar la instalación. Figura A.2: Instalación de la aplicación móvil. Trabajo Fin de Grado Manual de instalación Manual de instalación 106 de 109 (a) Notificación del envío en el reloj. (b) Wear Installer en el móvil permite instalar la aplicación. (c) Wear Installer en el móvil instalando la aplicación. (d) Wear Installer en el móvil la aplicación se ha instalado. Figura A.3: Instalación de la aplicación móvil. Trabajo Fin de Grado Manual de instalación Manual de usuario 107 de 109 Apéndice B. Manual de usuario Para comprender cómo se usa la aplicación móvil se indica una guía de pasos sobre cómo recoger datos para realizar un experimento: 1. Iniciar sesión: lo primero que se debe hacer es identificarse ante el sistema. De esta manera se sabe qué usuario es el que está realizando el experimento y así quedará reflejado en la base de datos. Para identificar a un usuario es necesario conocer: nombre de usuario y mano dominante. Una vez se han elegido los campos anteriormente mencionados se pulsa el botón COMENZAR para almacenar estos datos y pasar a la siguiente pantalla. (a) Pantalla inicial. (b) Elección de la mano derecha. (c) Elección de la mano izquierda. (d) Elección del nombre de usuario. Figura B.1: Selección de mano dominante y nombre de usuario. 2. Comenzar la toma de datos: la segunda pantalla que aparece es donde se indicará el nombre del dibujo que se va a realizar, el nombre del dispositivo Bluetooth que se va a elegir para hacer la toma de datos, cuándo se comienza y termina la toma de datos. El primer paso es pulsar el botón INICIAR RECOGIDA. Cuando se pulsa, se muestra una petición de permiso para activar el Bluetooth en caso de que esté desactivado, o para hacer visible el teléfono en el caso de que el Bluetooth esté activado pero el teléfono no sea visible. En el caso de que ambos estén activados no se muestra ninguna petición. Lo siguiente que aparece es una entrada de texto en la que se indica el nombre del dibujo que se va a realizar. Cuando se haya elegido el nombre, se pulsa el botón HECHO!. Provocará que desaparezca la Trabajo Fin de Grado Manual de usuario Manual de usuario 108 de 109 entrada de texto para indicar el nombre del dibujo y se muestre una lista de los dispositivos Bluetooth. (a) Segunda pantalla. (b) Permiso para encender el dipositivo Bluetooth y hacer visisble el teléfono. (c) Permiso para hacer visible al teléfono. (d) Fragmento para elegir el nombre del dibujo. (e) Elección del nombre de dibujo. Figura B.2: Activación del Bluetooth, hacer visible el dispositivo móvil durante 300 segundos, elección del nombre del dibujo. Trabajo Fin de Grado Manual de usuario Manual de usuario 109 de 109 3. Elección del dispositivo Bluetooth: para conectar con el reloj se tendrá que elegir en una lista de dispositivos Bluetooth conocidos por el teléfono, uno de los elementos. Cuando se pulsa sobre el nombre del dispositivo se ilumina de un color diferente. Si está en rango y tiene la aplicación del reloj abierta, logrará realizar una conexión. En el caso de que la conexión sea satisfactoria desaparecerá la lista de los dispositivos Bluetooth y aparecerá el botón FINALIZAR RECOGIDA e instantáneamente comenzará a tomar datos. El primer segundo se usa como calibración de la posición inicial de la muñeca. Por ello, durante este primer segundo no hay que realizar ningún tipo de movimiento. La aplicación avisa al usuario de cuándo tiene que empezar a moverse emitiendo un pitido. Este será emitido cuando el segundo de calibración termine. Cuando el usuario desee parar la toma de datos, tendrá que apretar el botón FINALIZAR RECOGIDA. Entonces, la recogida para y la aplicación se cierra. (a) Lista de dispositivos Bluetooth. (b) Elección del dispositivo sobre el que se tratará de hacer la conexión. (c) Botón FINALIZAR RECOGIDA. Figura B.3: Elección del dispositivo Bluetooth con el que se va a conectar Trabajo Fin de Grado Capitulo 10