NIVERSIDAD DE ALLADOLID U V ELECOMUNICACIÓN E.T.S.I. T RABAJO IN DE RADO T F G GRADO EN INGENIERÍA EN TECNOLOGÍAS ESPECÍFICAS DE TELECOMUNICACIÓN MENCIÓN EN TELEMÁTICA Desarrollo de aplicaciones en LabVIEW y Android para sensores inalámbricos con giróscopo y comunicación con un simulador de conducción basado en Unity D. Manuel Álv arez Marbán Autor: D. David Gon zález Ortega Tutor: Valladolid, 30 de mayo de 2017 Desarrollo de aplicaciones en LabVIEW y Android para sensores inalámbricos TÍTULO: con giróscopo y comunicación con un simulador de conducción basado en Unity D. Manuel Álvarez Marbán D. David González Ortega AUTOR: Departamento de Teoría de la Señal y TUTOR: Comunicaciones e Ingeniería Telemática DEPARTAMENTO: TRIBUNAL Dña. Miriam Antón Rodríguez D. David González Ortega PRESIDENTE: D. Mario Martínez Zarzuela SECRETARIO: D. Francisco Javier Díaz Pernas VOCAL: D. José Fernando Díez Higuera SUPLENTE: SUPLENTE: 30 de mayo de 2017 FECHA: CALIFICACIÓN: Resumen de TFG Este Trabajo de Fin de Grado se enmarca en la monitorización fisiológica mediante sensores del conductor, para la detección de posibles estados de fatiga o baja atención del mismo. Los sensores empleados durante el mismo pertenecen a la empresa Shimmer. Este trabajo se centra principalmente en el uso de uno de estos sensores (giróscopo) para medir la velocidad angular de giro del volante del coche. Bajo este objetivo principal, se llevaron a cabo desarrollos de aplicaciones en diversas tecnologías: una aplicación Android y una aplicación LabVIEW. Con ellas, partiendo de funciones básicas de recepción de datos y sincronización con todos los sensores, implementamos una serie de procesados sobre la señal del giróscopo, tomando como referencia varios artículos científicos. Por otra parte, se ha desarrollado la comunicación y sincronización de la aplicación Android con un simulador de conducción desarrollado en Unity para la recogida de datos del conductor. Palabras clave Sensores fisiológicos, giróscopo, Shimmer, LABVIEW, Android, Unity, simulador Abstract This end-of-degree Project focuses on the driver’s physiological monitoring through sensors to detect possible states of fatigue or low attention. The used sensors belong to the Shimmer company. This work mainly focuses on the use on one of these sensors (gyroscope) to measure the angular speed of turn of the car’s steering wheel. Under this main aim, developments of applications of diverse technologies were carried out: an Android application and a LabVIEW application. With them, from basic functions of data reception and synchronization with all the sensors, a series of processing on the gyroscope signal was implemented similarly to several scientific papers. Moreover, the communication and synchronization of the Android application with a driving simulator developed with Unity have been fulfilled to store driving performance data. Keywords Physiological sensors, gyroscope, Shimmer, LABVIEW, Android, Unity, simulator Agradecimientos: A mi familia, a mis padres, por su apoyo incesable. A mi novia, por su apoyo y comprensión en época de exámenes. A mi tutor David, por su ayuda y siempre cercana atención. Y a todos los compañeros que me han ayudado durante estos años. ÍNDICE 1. INTRODUCCIÓN ........................................................................... 1 1.1 Motivación y objetivos ................................................................. 1 1.2 Fases del proyecto ...................................................................... 3 1.3 Medios y elementos empleados .................................................. 4 1.4 Estructura de la memoria ............................................................ 5 2. SEGURIDAD VIAL, SENSORES Y TECNOLOGÍA ........................ 7 2.1 Seguridad vial y accidentes ......................................................... 7 2.1.1 Fatiga y somnolencia al volante .......................................... 11 2.2 Introducción a los sensores ....................................................... 16 2.3 Tecnología y sensores en vehículos actuales ........................... 17 2.3.1 Sensores en el volante ........................................................ 19 2.3.2 Visión artificial: cámaras de reconocimiento facial .............. 20 2.3.3 Empresas y sistemas de monitorización actuales ............... 22 3. SENSORES SHIMMER ............................................................... 26 3.1 Introducción a los sensores fisiológicos .................................... 26 3.2 Sensores Shimmer .................................................................... 27 3.2.1 Hardware Shimmer.............................................................. 27 3.2.2 Software Shimmer ............................................................... 35 4. TECNOLOGÍAS QUE EMPLEAREMOS ...................................... 38 4.1 Introducción ............................................................................... 38 4.2 LABVIEW y la programación gráfica ......................................... 39 4.2.1 Introducción ......................................................................... 39 4.2.2 Conceptos básicos de LABVIEW ........................................ 40 4.2.3 Software LABVIEW necesario ............................................. 43 I 4.3 Android y sistemas operativos móviles...................................... 46 4.3.1 Introducción y comparativa con otros sistemas móviles ...... 46 4.3.2 Herramientas de desarrollo para Android ............................ 49 4.4 Unity y motores gráficos de videojuegos ................................... 51 4.4.1 Introducción y otros motores gráficos .................................. 51 5. LABVIEW ..................................................................................... 53 5.1 La aplicación base ..................................................................... 53 5.2 Nuestra aplicación LABVIEW .................................................... 57 5.2.1 Introducción ......................................................................... 57 5.2.2 Leds de izquierda y derecha ............................................... 59 5.2.3 Posición, número de vueltas, y reposo del volante ............. 60 5.2.4 Media y desviación .............................................................. 64 5.2.5 Rangos de variación de los giros ........................................ 68 5.2.6 Pasos por cero (Zero-Crossings) ........................................ 70 5.2.7 Valores máximos de los giros .............................................. 73 5.2.8 Media y Desviación típica sobre total de muestras ............. 76 5.2.9 Resumen de datos extraídos con LABVIEW ....................... 77 6. ANDROID .................................................................................... 79 6.1 La aplicación base ..................................................................... 79 6.2 Nuestra aplicación Android ........................................................ 81 6.2.1 Introducción ......................................................................... 81 6.2.2 Leds de izquierda y derecha y manejo de datos ................. 85 6.2.3 Posición y vueltas completas del volante ............................ 87 6.2.4 Media y desviación .............................................................. 88 6.2.5 Rangos de variación de los giros ........................................ 90 6.2.6 Valores máximos de los giros .............................................. 92 6.2.7 Pasos por cero (Zero-crossings) ......................................... 93 II 6.2.8 Resumen de datos extraídos con Android ........................... 95 7. UNITY .......................................................................................... 96 7.1 Introducción a nuestro desarrollo Unity ..................................... 96 7.2 Comunicación Unity-Android: primer acercamiento .................. 96 7.2.1 Primer Paso: Comunicación Unity-Unity .............................. 98 7.2.2 Segundo Paso: Comunicación Unity-Android .................... 108 7.3 Acercamiento definitivo a la comunicación Unity- Android: Sockets ............................................................................................ 116 7.3.1 Primer Paso: Comunicación Unity-Unity definitiva ............ 118 7.3.2 Segundo Paso: Comunicación Unity-Android definitiva, con Socket .......................................................................................... 122 7.4 Implementación de la conexión sobre simulador ..................... 138 8. PRESUPUESTO DEL PROYECTO ............................................ 148 9. CONCLUSIONES Y LÍNEAS FUTURAS .................................... 150 BIBLIOGRAFÍA .................................................................................... 156 ANEXO I .............................................................................................. 159 Proceso de emparejamiento ............................................................ 159 ANEXO II ............................................................................................. 161 Importar proyecto en Eclipse ............................................................ 161 III
Description: