GIVEDA: Generador de tableros de vehículos en dispositivos Android
Transcripción
GIVEDA: Generador de tableros de vehículos en dispositivos Android
Mayo 2016 Trabajo final por el grado de Ingeniería de Sistemas GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android Aplicado al instrumental básico de un avión Desarrollo de una aplicación para la generación de instrumentos de vehículos, aplicado en el instrumental básico de un avión Autor: Lucas Omar Salvatori Director: Dr. Nelson Acosta Co-director: Dr. Juan Toloza GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Índice ÍNDICE .................................................................................................................................................................... 2 ÍNDICE DE FIGURAS ................................................................................................................................................ 6 ÍNDICE DE TABLAS .................................................................................................................................................. 9 DEDICATORIA ....................................................................................................................................................... 10 AGRADECIMIENTOS ............................................................................................................................................. 11 RESUMEN ............................................................................................................................................................. 12 CAPÍTULO I ........................................................................................................................................................... 13 INTRODUCCIÓN ............................................................................................................................................................ 13 Origen de la idea ................................................................................................................................................. 13 Objetivo ............................................................................................................................................................... 14 Análisis de aplicaciones ....................................................................................................................................... 15 Organización del documento............................................................................................................................... 21 CAPÍTULO II .......................................................................................................................................................... 23 ESTUDIO DE INSTRUMENTALES ........................................................................................................................................ 23 Instrumentales analógicos .................................................................................................................................. 23 Instrumental de automóviles .......................................................................................................................... 23 Instrumental de motocicletas ......................................................................................................................... 25 Instrumentos de navegación Roadbook ..................................................................................................... 26 Como leer un Roadbook ............................................................................................................................. 27 Instrumental de aviones ................................................................................................................................. 31 Clasificación: ............................................................................................................................................... 31 1. Instrumentos de pilotaje ............................................................................................................... 31 1.1. Anemómetro ............................................................................................................................ 31 1.2. Altímetro .................................................................................................................................. 32 1.3. Indicador de velocidad vertical o variómetro .......................................................................... 33 1.4. Inclinómetro y coordinador de giro ......................................................................................... 34 1.5. Horizonte artificial .................................................................................................................... 35 2. Instrumentos de control de motor ................................................................................................ 36 2.1. Indicadores de potencia ........................................................................................................... 36 2.2. Indicadores de estado de funcionamiento de motor .............................................................. 36 3. Instrumentos de navegación ......................................................................................................... 37 3.1. Brújula ...................................................................................................................................... 37 3.2. Indicador de rumbo o HI (heading indicator) .......................................................................... 38 3.3. ADF (Automatic Direction Finder) ........................................................................................... 38 3.4. DME (Distance measuring equipment).................................................................................... 39 3.5. CDI (Course Deviation Indicator) ............................................................................................. 39 3.6. ILS (Instrumental Landing System) .......................................................................................... 40 2 2 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Instrumentales digitales ...................................................................................................................................... 41 Instrumental digital en automóviles ............................................................................................................... 41 Instrumental digital en motocicletas .............................................................................................................. 47 Instrumental digital de navegación................................................................................................................. 49 Instrumental digital en aviones ...................................................................................................................... 51 Instrumental Virtual ............................................................................................................................................ 57 Instrumentos tradicionales Vs. Instrumentos virtuales .................................................................................. 57 CAPÍTULO III ......................................................................................................................................................... 59 INTRODUCCIÓN AL INSTRUMENTAL DE VUELO ..................................................................................................................... 59 Instrumentos de vuelo. La T básica ..................................................................................................................... 59 Principios de la operación instrumental .............................................................................................................. 62 Legibilidad ....................................................................................................................................................... 62 Funcionalidad .................................................................................................................................................. 64 Precisión .......................................................................................................................................................... 65 CAPÍTULO IV ......................................................................................................................................................... 67 PROPUESTA DE TRABAJO ................................................................................................................................................ 67 Visión ................................................................................................................................................................... 67 Consideraciones ................................................................................................................................................... 69 CAPÍTULO V .......................................................................................................................................................... 74 INTRODUCCIÓN AL SISTEMA ............................................................................................................................................ 74 Introducción al trabajo ........................................................................................................................................ 74 Android ........................................................................................................................................................... 74 Alcance ................................................................................................................................................................ 75 Alcance del proyecto ....................................................................................................................................... 75 Alcance del sistema .................................................................................................................................... 75 Descripción de módulos ....................................................................................................................................... 76 Interacción de componentes .......................................................................................................................... 76 Conexión entre Cliente y Servidor .................................................................................................................. 76 El Mensaje ....................................................................................................................................................... 77 Servidor ........................................................................................................................................................... 78 Cliente ............................................................................................................................................................. 78 CAPÍTULO VI ......................................................................................................................................................... 81 DISEÑO Y ARQUITECTURA DEL SISTEMA ............................................................................................................................. 81 Resumen .............................................................................................................................................................. 81 Descripción general ............................................................................................................................................. 81 Arquitectura del sistema ..................................................................................................................................... 81 Arquitectura del hardware.............................................................................................................................. 81 Arquitectura del software ............................................................................................................................... 82 Diseño de datos .............................................................................................................................................. 82 Vinculación al Simulador ................................................................................................................................. 82 Descripción detallada del sistema ....................................................................................................................... 83 Composición del sistema ................................................................................................................................ 84 3 3 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Restricciones del sistema ................................................................................................................................ 86 Requerimientos de entrada ............................................................................................................................ 86 Servidor ...................................................................................................................................................... 87 Componentes del servidor ..................................................................................................................... 87 1. ServerExecutor .......................................................................................................................... 89 2. ConnectionToSimulator ............................................................................................................ 89 3. DeviceList .................................................................................................................................. 89 4. Device ........................................................................................................................................ 89 5. ConnectionToClient ................................................................................................................... 90 6. ServerThread ............................................................................................................................. 90 7. Instrument ................................................................................................................................ 90 8. ServerBoard............................................................................................................................... 91 Cliente ......................................................................................................................................................... 92 Componentes del Cliente ....................................................................................................................... 92 1. PlaneInstrumentalActivity ......................................................................................................... 92 2. TCP Client .................................................................................................................................. 93 3. IndicatorElement ....................................................................................................................... 93 4. Indicators .................................................................................................................................. 94 4.1. Altimeter (altímetro) ........................................................................................................... 94 4.2. Attitude (horizonte artificial) .............................................................................................. 95 4.3. Compass (brújula) ............................................................................................................... 96 4.4. Speedometer (velocímetro) ................................................................................................ 96 4.5. Varometer (velocidad vertical) ............................................................................................ 97 4.6. Estability (inclinómetro y coordinador de giro) .................................................................. 97 4.7. Interaction ........................................................................................................................... 98 4.7.1. Button (botón) ........................................................................................................... 98 4.7.2. Slidebar (barra deslizable) .......................................................................................... 99 4.7.3. Koob (perilla circular) ................................................................................................. 99 Mensajes ....................................................................................................................................................... 100 Vinculación con simulador ............................................................................................................................ 102 Librería jSimConnect ..................................................................................................................................... 102 MODELADO DEL SISTEMA ............................................................................................................................................. 113 Modelo estructural ............................................................................................................................................ 113 Diagrama de Objetos .................................................................................................................................... 113 Modelo de comportamiento .............................................................................................................................. 114 Casos de Uso ................................................................................................................................................. 114 Actores intervinientes en el sistema ........................................................................................................ 114 Descripción de los casos de uso ............................................................................................................... 114 Modelo dinámico ............................................................................................................................................... 122 Diagramas de Secuencia ............................................................................................................................... 122 CAPÍTULO VII .......................................................................................................................................................125 UTILIZACIÓN DEL SISTEMA ............................................................................................................................................ 125 CAPÍTULO VIII ......................................................................................................................................................130 CASOS DE PRUEBAS ..................................................................................................................................................... 130 4 4 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Caso de prueba 1: inicio. ................................................................................................................................... 132 Caso de prueba 2: despegue.............................................................................................................................. 141 Caso de prueba 3: aterrizaje. ............................................................................................................................. 143 Caso de prueba 4: giro a derecha. ..................................................................................................................... 145 Caso de prueba 5: giro a izquierda. ................................................................................................................... 148 CAPÍTULO IX ........................................................................................................................................................150 CONCLUSIONES Y TRABAJOS FUTUROS ............................................................................................................................ 150 Conclusiones del trabajo.................................................................................................................................... 150 Trabajos futuros ................................................................................................................................................ 151 GLOSARIO DE TÉRMINOS ....................................................................................................................................154 BIBLIOGRAFÍA .....................................................................................................................................................156 ÍNDICE DE ACRÓNIMOS .......................................................................................................................................160 APÉNDICE A .........................................................................................................................................................162 COMPARACIÓN CABINA CONVENCIONAL Y DIGITAL ........................................................................................................... 162 APÉNDICE B .........................................................................................................................................................164 CONFIGURACIÓN DE FSX.............................................................................................................................................. 164 Configuración de red con SimConnect ............................................................................................................... 164 Configuración de simulación en red ............................................................................................................. 164 Compartir carpetas ....................................................................................................................................... 164 Requisitos importantes para la configuración de red ................................................................................... 166 Paso 1: Verifique los requisitos ..................................................................................................................... 166 Paso 2: Configurar SERVIDOR ....................................................................................................................... 167 Paso 3: Instalación de cliente SimConnect el CLIENTE(s) .............................................................................. 169 Paso 4: Configurar CLIENTE(s) ....................................................................................................................... 169 Paso 5: Probar la configuración .................................................................................................................... 170 Paso 6: Configuración de Active Sky ............................................................................................................. 171 Paso 7: Configuración de X Gauge ................................................................................................................ 172 5 5 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Índice de figuras FIGURA 1: TABLERO DEL AUTO FANTÁSTICO FIGURA 2: AIR NAVIGATION PRO FIGURA 3: AIRCRAFT COCKPIT FIGURA 4: GLASSCOCKPIT 1000 FIGURA 5: XPLANEREMOTE PANEL PLUS FIGURA 6: SIMULADOR GUARANÍ FIGURA 7: CUADRO DE INSTRUMENTOS DE UN BMW E46 (4ª SERIE 3) FIGURA 8: INDICADORES DE COMBUSTIBLE, CON EL TESTIGO DE RESERVA, Y TEMPERATURA DE REFRIGERANTE, DE UN HONDA CIVIC. FIGURA 9: TESTIGO DE ILUMINACIÓN. FIGURA 10: TABLERO DE MOTOCICLETA COMPLETAMENTE ANALÓGICO FIGURA 11: TABLERO DE UNA MOTOCICLETA COMBINANDO INSTRUMENTAL ANALÓGICO Y DIGITAL FIGURA 12: ROADBOOK DE HOJA DE PAPEL CON DOS RODILLOS PARA IR DESPLAZÁNDOLO FIGURA 13: UN EJEMPLO DE LAS HOJAS Nº 6 Y 7 DEL “ROADBOOK” DE UN DAKAR YA CORRIDO 14 16 17 18 19 20 23 24 24 25 25 27 ANTERIORMENTE 28 FIGURA 14: OTRA POSIBLE HOJA DE RUTA CON REFERENCIAS 29 FIGURA 15: INDICADOR DE VELOCIDAD AERODINÁMICA. EN VERDE VELOCIDADES NORMALES DE OPERACIÓN, EN AMARILLO VELOCIDADES ALTAS Y EN ROJO MÁXIMA VELOCIDAD. 32 FIGURA 16: ALTÍMETRO DE UN AVIÓN. EL DE LA IMAGEN MUESTRA UNA ALTITUD DE 3700 PIES, UNOS 1125 METROS. 33 FIGURA 17: VARIÓMETRO MOSTRANDO LA INDICACIÓN DE UN VUELO SIN VARIACIONES DE ALTURA O REPOSO EN TIERRA. 33 FIGURA 18: INDICADOR DE VIRAJE, CONOCIDO POR TURN AND BANK. 34 FIGURA 19: COORDINADOR DE GIRO. 34 FIGURA 20: HORIZONTE ARTIFICIAL INDICANDO UN GIRO A LA DERECHA EN DESCENSO. 35 FIGURA 21: CUENTA VUELTAS O TACÓMETRO. 36 FIGURA 22: MEDIDOR DE TEMPERATURA DE GASES DE ESCAPE (EGT). 37 FIGURA 23: MEDIDOR DE PRESIÓN DE COLECTOR O MAP. 37 FIGURA 24: BRÚJULA AERONÁUTICA. 37 FIGURA 25: INDICADOR DE RUMBOS DE UNA AVIONETA CESSNA 172. 38 FIGURA 26: INDICADOR DEL ADF, EN LA PARTE INFERIOR LA FRECUENCIA ACTIVA DE UNA NDB Y LA FRECUENCIA EN ESPERA, O STANDBY. 39 FIGURA 27: RECEPTOR DME (SUPERIOR) JUNTO CON UN RECEPTOR ADF (INFERIOR). 39 FIGURA 28: PANTALLA DEL CDI, MOSTRANDO UN POSICIONAMIENTO DEL AVIÓN A LA DERECHA (TRIÁNGULO AMARILLO) Y HACIA EL RUMBO 360º, COINCIDENTE CON LA SIGUIENTE ESTACIÓN (INDICACIÓN SOBRE EL TRIÁNGULO DE «TO», ES EL CÓDIGO DE LA SIGUIENTE ESTACIÓN VOR). 40 FIGURA 29: FUNCIONAMIENTO DEL ILS: EN LA IMAGEN IZQUIERDA LA AERONAVE POSEE UNA SENDA DE APROXIMACIÓN CON ALTURA ESCASA Y DESVIADA A LA IZQUIERDA DEL EJE DE LA PISTA; EN LA DERECHA SE MUESTRA UNA SENDA CENTRADA Y CON LA ALTURA ADECUADA. 40 FIGURA 30: DISEÑO DEL BLOQUE DE DIAGRAMA DEL INSTRUMENT CLÚSTER LÍNEA BÁSICA DE FREESCALE 42 6 6 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas FIGURA 31: DISEÑO DEL BLOQUE DE DIAGRAMA DEL INSTRUMENT CLÚSTER LÍNEA MEDIANA O ALTA DE FREESCALE 43 FIGURA 32: DISEÑO DEL BLOQUE DE DIAGRAMA DEL INSTRUMENT CLÚSTER LÍNEA PREMIUM DE FREESCALE 44 FIGURA 33: PANEL LCD DE 12.3 PULGADAS DE LAND ROVER 44 FIGURA 34: GRUPO DE INSTRUMENTOS RECONFIGURABLES DE VISTEON, ES UNA PANTALLA FLEXIBLE Y COMPLETAMENTE DIGITAL 45 FIGURA 35: LA INTERFAZ DEL AUDI A1 COMBINA LA INFORMACIÓN DEL AUTO CON LA NAVEGACIÓN Y EL ENTRETENIMIENTO. 45 FIGURA 36: INSTRUMENTAL DIGITAL DE MOTOCICLETA 47 FIGURA 37: ROADBOOK DIGITAL RHEX COPILOT 49 FIGURA 38: DIGITAL ROADBOOK TRIPY II 50 FIGURA 39: OFFROADNAVI ROADBOOK MODELO NAVI X710 51 FIGURA 40: CABINA DE CRISTAL DE UN AIRBUS 380 53 FIGURA 41: INSTRUMENTAL DEL CIRRUS SR20 54 FIGURA 42: PIPER SENECA V 55 FIGURA 43: CABINA DEL PIPER AIRCRAFT SENECA V QUE IMPLEMENTA EL G1000 DE GARMIN 55 FIGURA 44: VISIÓN DEL CIELO DE DOS PANTALLAS DE DYNON EN UN LSA. 56 FIGURA 45: CONFIGURACIÓN AVIÓN BEECHCRAFT 58 FIGURA 46: CONFIGURACIÓN AVIÓN CESSNA 58 FIGURA 47: COMBINACIÓN DE LAS CONFIGURACIONES 58 FIGURA 48: IMAGEN DE LA CONOCIDA COMO “T BÁSICA” 60 FIGURA 49: MODERNA PANTALLA DE CABINA DE VUELO 61 FIGURA 50: APROXIMACIÓN NOCTURNA EFECTUANDO PROCEDIMIENTO ILS CATEGORÍA I 63 FIGURA 51: PANEL DE INSTRUMENTOS DE UN CESSNA 172 64 FIGURA 52: FUNCIONAMIENTO DEL WAAS CONCEPT 65 FIGURA 53: DIAGRAMA DE CLASIFICACIÓN DE LOS INSTRUMENTOS 71 FIGURA 54: CONEXIÓN DEL SERVIDOR CON CLIENTES ANDROID 76 FIGURA 55: PARTES INTERVINIENTES EN EL SISTEMA 80 FIGURA 56: DIAGRAMA DE CLASES DEL COMPONENTE SERVIDOR 88 FIGURA 57: VENTANA DE COMANDOS PARA LA PROGRAMACIÓN DE INSTRUMENTOS 91 FIGURA 58: DIAGRAMA DE CLASES DEL MÓDULO DEL CLIENTE 93 FIGURA 59: INTERPRETACIÓN DEL HORIZONTE ARTIFICIAL 95 FIGURA 60: ILUSTRACIÓN DE LOS BOTONES PRESENTADOS EN EL SISTEMA 98 FIGURA 61: BARRA DESLIZABLE 99 FIGURA 62: PERILLA CIRCULAR PROGRESIVA 99 FIGURA 63: CLASES DE LOS MENSAJES CLIENTE Y SERVIDOR 101 FIGURA 64: CONEXIÓN DEL CLIENTE SIMCONNECT CON EL SERVIDOR DE MICROSOFT ESP 103 FIGURA 65: DIAGRAMA DE OBJETOS DEL SISTEMA 113 FIGURA 66: DIAGRAMA DE CASO DE USO - GENERAR UN INSTRUMENTO 116 FIGURA 67: DIAGRAMA DE CASO DE USO - CONECTAR DISPOSITIVO A SERVIDOR 117 FIGURA 68: DIAGRAMA DE CASO DE USO - GENERAR UN TABLERO PREDEFINIDO 119 FIGURA 69: DIAGRAMA DE CASO DE USO - ACCIONAR UN INSTRUMENTO DE INTERACCIÓN 120 FIGURA 70: DIAGRAMA DE CASO DE USO - OBTENER DATOS DE UN SIMULADOR 122 FIGURA 71: DIAGRAMA DE SECUENCIA - GENERAR NUEVO INSTRUMENTO 123 7 7 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas FIGURA 72: DIAGRAMA DE SECUENCIA - ACCIONAR UN INSTRUMENTO FIGURA 73: DIAGRAMA DE SECUENCIA - ACTUALIZAR INSTRUMENTO DESDE EL SIMULADOR FIGURA 74: INICIO DEL SERVIDOR DEL SISTEMA FIGURA 75: EJECUCIÓN DE LA ESPERA DE CONEXIÓN DE CLIENTES FIGURA 76: PANTALLA DE INICIO DE LA APLICACIÓN CLIENTE FIGURA 77: INICIO DEL SISTEMA, APLICACIÓN SERVIDOR Y CLIENTES FIGURA 78: APLICACIONES CLIENTE CONECTADAS AL SERVIDOR FIGURA 79: CONEXIONES DE CLIENTES ACEPTADAS POR EL SERVIDOR FIGURA 80: SIMULADOR EJECUTADO Y VINCULADO AL SERVIDOR FIGURA 81: SISTEMA CONECTADO CON EL INSTRUMENTAL DISTRIBUIDO EN LOS CLIENTES FIGURA 82: INICIO DEL VUELO EN EL SIMULADOR FIGURA 83: CLIENTES CONECTADOS Y CON SUS INSTRUMENTOS SINCRONIZADOS FIGURA 84: DESPEGUE DEL AVIÓN EN EL SIMULADOR FIGURA 85: INSTRUMENTOS SINCRONIZADOS AL SIMULADOR EN EL DESPEGUE FIGURA 86: DESCENSO DEL AVIÓN EN EL SIMULADOR FIGURA 87: INSTRUMENTAL DE LOS CLIENTES GRAFICANDO EL DESCENSO EN EL SIMULADOR FIGURA 88: VISTA DEL CONJUNTO DE TODO EL SISTEMA DURANTE EL ATERRIZAJE FIGURA 89: GIRO HACIA LA DERECHA DEL AVIÓN FIGURA 90: CLIENTES CON SUS INSTRUMENTOS SINCRONIZADOS DURANTE EL GIRO A DERECHA FIGURA 91: VISTA DEL CONJUNTO DE TODO EL SISTEMA DURANTE EL GIRO A DERECHA FIGURA 92: GIRO HACIA LA IZQUIERDA DEL AVIÓN FIGURA 93: CLIENTES CON SUS INSTRUMENTOS SINCRONIZADOS DURANTE EL GIRO A IZQUIERDA FIGURA 94: VISTA DEL CONJUNTO DE TODO EL SISTEMA DURANTE EL GIRO A IZQUIERDA FIGURA 95: PRIVATE PIPER PA-28-181 ARCHER III FIGURA 96: TABLERO AVIÓN PIPER PA-28-181 ARCHER III FIGURA 97: PIPER ARCHER PA-28-181 LX FIGURA 98: TABLERO PIPER ARCHER PA-28-181 LX 123 124 132 133 134 135 136 137 138 139 140 140 141 142 143 144 144 145 146 147 148 149 149 162 162 162 162 8 8 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Índice de tablas TABLA 1: VALOR DEVUELTO EN HRESULT POR LA FUNCIÓN SIMCONNECT_ADDTODATADEFINITION .......... 106 TABLA 2: VALOR DEVUELTO EN HRESULT POR LA FUNCIÓN SIMCONNECT_OPEN ........................................... 109 TABLA 3: VALOR DEVUELTO EN HRESULT POR LA FUNCIÓN SIMCONNECT_REQUESTDATAONSIMOBJECT .. 112 9 9 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Dedicatoria Este trabajo lo dedico a mis padres quienes me dieron la vida, criaron y educaron brindándome las herramientas para ser lo que soy hoy. Dedicaron su vida incondicionalmente para mi bienestar y felicidad; y lo siguen haciendo hoy en día. En la actualidad también soy padre y comprendí el amor desinteresado que sentimos hacia nuestros hijos, pero también he visto que no todos los padres son así. Por eso los considero padres ejemplares a los cuales amo y admiro. Este trabajo lleva parte de ellos por todo el esfuerzo y sacrificio que hicieron día a día para guiarme de la mejor manera y porque parte de sus enseñanzas se encuentran aplicadas aquí. 10 10 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Agradecimientos Este es uno de los trabajos más importantes que me ha tocado realizar, porque representa la finalización de una etapa muy especial en mi vida. En el transcurso de esta etapa conté con el apoyo incondicional de mis padres, quienes en este largo trayecto siempre estuvieron a mi lado apoyándome y aunque por momentos descreyeron que culminaría satisfactoriamente nunca dejaron de incentivarme. Otra persona presente en esta carrera fue mi tía Marta quien me nutrió con sus enseñanzas y consejos desde mi infancia. Es una persona la cual quiero y admiro mucho. También quiero dedicárselo a Carolina mi amor, esposa, madre de mis hijas y compañera de vida, quien siempre me apoya y ayuda en todo. Conocerla se lo debo a esta carrera, dado que si no hubiese estudiado esta profesión tal vez nunca nos hubiéramos conocido. A mis tíos y abuela que ya no están, pero me siguen acompañando desde algún lugar. Porque todos me brindaron enseñanzas y cariño. A todos ellos mi más sincero agradecimiento de corazón, porque cada uno aportó su granito de arena para que logre realizar este proyecto. 11 11 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Resumen En el presente proyecto se describen distintos instrumentos de vehículos como automóviles, motocicletas, tableros de navegación y aviones. Se comienza con sus versiones analógicas y luego se ven sus versiones digitales. Con esta introducción a los instrumentales de vehículos se construyen las bases de conocimiento para entender de manera más sencilla el sistema realizado en este proyecto. Luego se ve una introducción a los dispositivos Android, para posteriormente describir los estudios y análisis realizados para la construcción de un sistema que genera instrumentales digitales de vehículos en dispositivos Android. El sistema se conforma por dos módulos generales, donde uno es el servidor y el otro el cliente. El servidor a grandes rasgos se encarga, por un lado, de conectar y administrar dispositivos Android (clientes), junto al instrumental que se genera en cada uno de ellos y, por otro lado, de conectar con un simulador del cual obtiene valores para actualizar el instrumental en los dispositivos. Se detalla cómo se realiza la conexión del servidor del sistema a un simulador de vuelo donde se obtienen los valores que se trasmiten a los dispositivos Android en tiempo real. Finalmente, se describen casos de pruebas efectuados con el funcionamiento del sistema, y se obtienen conclusiones de los resultados obtenidos, sugiriéndose futuros trabajos que podrían efectuarse con las bases del presente proyecto. 12 12 1 de mayo de 2016 Salvatori Lucas GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android Capítulo I Introducción El propósito de este trabajo es estudiar sobre la generación de instrumentales digitales para distintos vehículos de conducción. Durante la era digital que se desarrolla en nuestra época, es interesante realizar una amplia investigación en el desarrollo de un sistema informático el cual sea capaz de generar instrumentales digitales para distintos tipos de vehículos. También que proporcione al usuario las herramientas necesarias para poder generar instrumentales personalizados, donde pueda elegir los instrumentos que serán mostrados y la ubicación que tendrán. Origen de la idea Basándose en la exitosa serie Knight Rider o más conocido como "El Auto Fantástico", que es una serie estadounidense de televisión de los años 80 que narraba las historias de Michael Knight y su auto en constante lucha contra el mal. KITT (Knight Industries Two Thousand) poseía la particularidad de poder hablar y de tomar decisiones por su propia cuenta. En aquel entonces, su computadora permitía a Michael escuchar música y ver vídeos mientras conducía, como también, activar el piloto automático para jugar algunos de los juegos cargados en la computadora del auto. 13 13 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Figura 1: Tablero del Auto Fantástico En la Figura 1 se observa el novedoso tablero del auto (para esa época), lo que motivó la idea de crear un sistema que genere instrumentos digitales. También se piensa que pueden aprovecharse los dispositivos móviles utilizados en la actualidad para implementar las pantallas donde se mostrará el instrumental y que podrían usarse sus pantallas táctiles para interactuar con el usuario. Objetivo Como objetivo de este trabajo se desea investigar y documentar los instrumentos analógicos y digitales más importantes de algunos vehículos, encontrados en la actualidad. Para luego desarrollar un sistema que permita generar instrumentos y/o tableros completos de vehículos de manera completamente digital. Este desarrollo se basa mayormente en el instrumental de aviones, generando un código para la visualización de este tipo de instrumentos. Estos 14 14 1 de mayo de 2016 Salvatori Lucas GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android instrumentos podrán distribuirse en tabletas o dispositivos móviles con sistema Android. Se vincula al sistema con un simulador de vuelo permitiendo así visualizar la actualización del instrumental en tiempo real. Análisis de aplicaciones Luego de búsquedas e investigaciones realizadas se han encontrado aplicaciones Android que generan instrumentos de aviones como los generados para este trabajo, entre ellos se pueden mencionar, la “Air Navigation Pro” (creado por Xample Sarl) [1], que es una aplicación de navegación de las aeronaves en tiempo real con planificación de vuelo integrado. Con el uso del GPS (integrado o externo) y acelerómetros de Android puede emular diferentes tipos de reglas de vuelo por instrumentos (IFR Instrument Flight Rules) reales o instrumentos de navegación de aeronaves bajo reglas de vuelo visual (VFR visual flight rules). Posee un editor de plan de navegación, con el cual se pueden preparar planes de navegación y utilizarlos en la cabina con el mapa en movimiento. La Figura 2 muestra la pantalla de la aplicación Air Navigation Pro, donde en la parte inferior izquierda puede verse una brújula indicando el sentido de dirección y del lado derecho un mapa indicando la trayectoria. 15 15 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Figura 2: Air Navigation Pro También puede encontrarse el “Aircraft Cockpit” creado por Borknet Software & Hardware Inc.) [2], esta aplicación es más completa que la anterior ya que emula varios instrumentos como velocímetro, brújula, indicador de fuerza G, etc.; pero lo hace obteniendo los valores desde los sensores del mismo dispositivo Android, básicamente el GPS, y no permite conectarlo a ningún simulador o vehículo. La Figura 3 muestra los seis instrumentos que emula la aplicación Aircraft Cockpit, donde en la parte superior está el velocímetro, el horizonte artificial y el altímetro; y en la parte inferior se encuentran el coordinador de giro, la brújula y el indicador de velocidad vertical. 16 16 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Figura 3: Aircraft Cockpit Otra aplicación un poco más interesante que puede encontrarse es GlassCockpit 1000, [3] que se trata de una pantalla principal de vuelo integrado basado en una cabina de cristal G1000 que grafica cabinas de cristal con instrumentos de vuelo de aviones y sensores en dispositivos adaptados para las tabletas y teléfonos inteligentes. La Figura 4 muestra una pantalla completamente digital, donde a simple vista pueden verse el indicador de horizonte artificial, abarcando casi toda la pantalla, dentro de este indicador, en su parte central se indican los nudos de velocidad a la izquierda y los pies de altitud a la derecha. En la parte central inferior se encuentra una brújula indicando los grados de dirección. En la parte izquierda de la pantalla puede verse un indicador de decibeles de sonido y otro de fuerza G. 17 17 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Figura 4: GlassCockpit 1000 Esta aplicación de vuelo incluye: horizonte artificial (pitch and roll), velocidad en relación al suelo, Altímetro, coordinador de giro, ángulo de giro, brújula, latitud y longitud, nivel de sonido, aceleración vertical (fuerza G), temperatura de la batería, carga de la batería (y alerta Low Batt), estado de la batería, hora local y fecha, entre otros instrumentos. El horizonte artificial utiliza giroscopios que no son afectados por las aceleraciones. Las unidades de velocidad pueden ser nudos, km/h, millas o m/s, las unidades de altitud pueden elegirse en pies o metros, las de temperatura en ºF o ºC y la de presión en hPa o inHg. Todas las unidades son seleccionables por el usuario en el menú inferior. 18 18 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Por último, en lo que respecta a aplicaciones en dispositivos Android, se puede mencionar al “XPlaneRemote Panel Plus” creado por [4], es el que más se asemeja a lo desarrollado en este trabajo, pero no ofrece la posibilidad de adaptarlo a diversos simuladores o sensores en vehículos reales y no contempla la posibilidad de botones o perillas digitales. Esta aplicación comercial fue creada para conectarse al simulador de vuelo civil X-Plane creado por Austin Meyer y poder mostrar parte del instrumental de un avión en el dispositivo Android, pero provee poca configurabilidad de los instrumentos y no otorga la posibilidad de distribuir el mismo en varios dispositivos. Figura 5: XPlaneRemote Panel Plus Como en la Figura 3, la Figura 5 muestra los mismos instrumentos básicos de un avión y en la misma distribución, cambiando únicamente su aspecto visual. 19 19 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Por otro lado en la búsqueda de investigaciones concernientes a instrumentales de simuladores de vuelos, se halla el proyecto “Simuladores Guaraní” desarrollado por la empresa Oro verde, [5], que consta de un simulador de software libre muy avanzado, el cual fue inspeccionado y homologado por parte de ANAC (Administración Nacional de Aviación Civil). Este proyecto desarrolla un completo simulador de vuelo, pero sobre pantallas de alta definición convencionales, imposibilitando interactuar de modo táctil y no permite la posibilidad de modificar el instrumental ni en su aspecto o ubicación. Figura 6: Simulador Guaraní La Figura 6 muestra al simulador Guaraní de la empresa Oro Verde siendo maniobrado por un piloto o usuario. Puede apreciarse claramente que el instrumental se visualiza sobre una pantalla convencional adicionándosele una estructura frontal para dividir y enmarcar los instrumentos. 20 20 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Organización del documento Para dar inicio a esta investigación, se presenta de manera sintetizada la estructura que lleva el actual trabajo final de grado y con lo que se pretende dar un mejor entendimiento de lo que en el cuerpo de la misma se presenta. Capítulo II: Estudio de Instrumentales. En este apartado se analiza el instrumental de automóviles, motos y aviones, tanto en su versión analógica como digital. Se describen las relaciones y semejanzas que poseen entre ellos, como es su funcionamiento y que es lo que indica cada uno. Capítulo III: Propuesta de Trabajo. Se plantea la idea de cómo se resuelve y ejecuta la generación de los instrumentos de un avión. Luego se genera una estructura y diseño que permita, mediante código de programación, la modificación y ampliación a otros instrumentos de manera rápida y sencilla. Se describe la composición de las partes como el cliente y el servidor, como se conectan y de qué manera realizan su comunicación. También se explica la conexión del servidor a un simulador de vuelo para la obtención de los valores del instrumental el cual se trasmite a los dispositivos conectados. Capítulo IV: Introducción al Sistema. Aquí se explica cómo se desarrolla el sistema que da lugar a la creación del instrumental digital de un avión. De qué manera se conectan los distintos dispositivos al servidor. Cómo se realiza el envío de mensajes entre servidor y el dispositivo cliente. De qué forma se conecta el servidor al simulador de vuelo y cómo se obtienen los valores del instrumental para ser enviados a los dispositivos. 21 21 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Capítulo V: Diseño y Arquitectura del Sistema. En este capítulo se describe el diseño y la arquitectura del sistema en profundidad, detallándose el funcionamiento de cada módulo, qué función cumple y con qué módulos se relaciona o transmite información. Se describen los diagramas del sistema y se detallan las clases desarrolladas tanto en el servidor como en el cliente; también se muestran las clases de los mensajes que se envían entre ellos. Por otra parte, se explica en detalle la vinculación del servidor con el simulador de vuelo y como se obtienen los parámetros necesarios para enviárselos a los clientes. Capítulo VI: Utilización del Sistema. Aquí se describe como se utiliza el sistema desarrollado, explicándose cómo es la utilización tanto del programador de tableros, quien es el encargado de generar los tableros, como el usuario quien utiliza el instrumental. Capítulo VII: Casos de Pruebas. Este capítulo muestra gráficos y tablas de valores obtenidos en las pruebas realizadas al sistema en ejecución en tiempo real vinculado al simulador de vuelo Flight Simulator X de Microsoft. Capítulo VIII: Conclusiones y Trabajos Futuros. En este último capítulo se comenta sobre el potencial de llevar a cabo la completa digitalización de un instrumental de un vehículo y las resoluciones finales a las que se llegaron con todo el estudio previamente desarrollado. Del mismo modo se harán recomendaciones personales de acuerdo a los resultados obtenidos tomando en cuenta también las observaciones y la información proporcionada a lo largo de los capítulos anteriores con ello dar pie a una puesta en marcha o no de dicho proyecto. 22 22 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Capítulo II Estudio de Instrumentales Instrumentales analógicos Se comienza con el estudio y análisis de los instrumentos más destacables de los tableros de algunos vehículos para adquirir conocimientos del funcionamiento que poseen cada uno de ellos y ver sus semejanzas. Instrumental de automóviles El panel de instrumentos de un automóvil se compone de un conjunto de instrumentos e indicadores que comprende el indicador de velocidad del vehículo, el tacómetro o cuentarrevoluciones, indicador de temperatura de refrigerante, indicador de combustible restante, en forma de relojes analógicos o digitales, o una combinación de ambos. Además de los relojes, se pueden encontrar una serie de testigos luminosos de simbología normalizada, como por ejemplo el testigo de presión de aceite, de carga de la batería, de indicadores de giros, entre otros. Véase como ejemplo la Figura 7. Figura 7: Cuadro de instrumentos de un BMW E46 (4ª serie 3) 23 23 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas En los indicadores inicialmente el desplazamiento de la aguja se hacía por medios electromecánicos (magnéticos), y actualmente por un motor paso a paso guiado por un circuito integrado (IC). En la Figura 8 puede verse un ejemplo de un indicador de combustible y temperatura. Los cuadros de instrumentos de última generación llevan incorporados microprocesadores capaces de mostrar gráficos en pantallas LCD, si bien se siguen utilizando instrumentos con agujas por ser más fáciles de visualizar. Figura 8: Indicadores de combustible, con el testigo de reserva, y temperatura de refrigerante, de un Honda Civic. Los testigos son lámparas integradas en el cuadro y agrupadas de manera racional y capaces de llamar la atención del conductor, para evitar problemas de seguridad o mecánicos graves; por ejemplo, el testigo de presión de aceite, de carga de la batería, de temperatura excesiva del refrigerante, de nivel de líquido de frenos, de calentador en los motores diésel, etc. Como ejemplo podemos ver en la Figura 9 los testigos de iluminación de luces de posición y luz baja de un automóvil. Figura 9: Testigo de iluminación. 24 24 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Instrumental de motocicletas Similarmente al tablero de los automóviles, los indicadores del panel de instrumentos de la motocicleta cumplen la función de advertir o informar las condiciones en las que trabajan los sistemas del motor, tales como; sistema de lubricación, refrigeración, combustible, etc. así como también monitorear la velocidad, número de giros del cigüeñal (rpm), con la intención de informar al usuario para que pueda tomar las precauciones necesarias durante la conducción. Figura 10: Tablero de motocicleta completamente analógico Figura 11: Tablero de una motocicleta combinando instrumental analógico y digital 25 25 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Del lado derecho de la Figura 10 se encuentra el velocímetro que indica la velocidad a la que transita la motocicleta. Al centro puede verse el medidor de combustible que marca la cantidad de combustible que le resta al tanque de la motocicleta y en la parte inferior de la Figura 10 se muestran cuatro indicadores, de los cuales, los que poseen forma de flecha indican la luz de giro que fue accionada, el que tiene la letra N indica que la motocicleta se encuentra en cambio neutro y el indicador restante informa la luz alta encendida. En la parte izquierda de la Figura 11 puede verse el tacómetro o cuenta vueltas, allí mismo en la parte superior puede apreciarse un cuenta kilómetros, que indica la cantidad de kilómetros recorridos por la motocicleta. En la Figura 11 puede verse como los instrumentos analógicos son duplicados por instrumentos digitales de modo que el conductor opte por el indicador que desee visualizar [6]. Instrumentos de navegación Roadbook En los vehículos terrestres como autos, motos, etc. en raras ocasiones pueden encontrarse instrumentos de navegación ya incorporados al conjunto de instrumental del vehículo, aunque actualmente comienzan a incluirse. Por lo que resulta interesante analizar el instrumento de navegación, como el utilizado en vehículos de carrera de Enduro Rally o Raids, que pueden encontrarse en competencias como Dakar. En estos vehículos además de utilizarse el instrumental propio del vehículo, los pilotos necesitan instrumental de navegación que los oriente en su recorrido. Dentro de este instrumental de navegación se encuentra el llamado Roadbook, que se traduce como hoja de ruta, el cual indica al piloto la dirección que debe tomar a una cierta distancia de la largada, o punto de control (waypoint). 26 26 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Figura 12: Roadbook de hoja de papel con dos rodillos para ir desplazándolo Desde sus inicios el roadbook es básicamente una hoja enrollada que el piloto del vehículo va desenrollando para ver parcialmente las indicaciones del trayecto a seguir (ver Figura 12). Como leer un Roadbook Como se puede apreciar en la Figura 13, en los recuadros de la parte izquierda de la hoja de ruta, hay unos números grandes que sobresalen del resto, en el ejemplo 187.06, ese es el kilometraje oficial de la etapa que se está corriendo y a su derecha hay marcada una curva, precisamente hacia la derecha. 27 27 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Figura 13: un ejemplo de las hojas Nº 6 y 7 del “Roadbook” de un Dakar ya corrido anteriormente Cada competidor antes de comenzar la etapa diaria debe poner su cuenta kilómetros parcial en cero “Trip – Master” y luego, ya en carrera, se irá guiando al comparar cuantos kilómetros van recorriendo con los que le marca el “Roadbook”. La organización de la carrera coloca en cada etapa, entre 10 a 20 “WayPoints” cuyas coordenadas están indicadas en el extremo derecho de la hoja de ruta y el piloto usando el GPS puede comprobar si está situado correctamente en la ruta de la carrera. La lectura de los “CAP” es otro punto importante de la hoja de ruta, estos, son direcciones de la brújula indicados digitalmente, por ejemplo: El norte es C 360 o C 0, el este es C 90, el sur es C 180 y el oeste es C 270. 28 28 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Figura 14: Otra posible hoja de ruta con referencias 29 29 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Referencias visualizadas en la Figura 14: AG: A gauche (A la izquierda) AG et Essence: A la izquierda hay nafta provista por su equipo de asistencia AD: A droite (A la derecha) TD: Tout Droite (Todo derecho) MVS: Mauvais (malo-peligro) DZ: Debut de Zone (Comienzo de Zona) FZ: Fin de Zone (Fin de Zona) 55: El número encerrado dentro de un círculo indica la velocidad máxima En el Dakar los GPS tienen una función limitada, generalmente sólo indican los CAP y no señalan ninguna flecha al respecto, por lo tanto, el piloto debe navegar usando sólo tres fuentes de información: El ICO para los kilómetros El GPS para ubicar los CAP Y el “Roadbook” para las instrucciones El ICO es un odómetro reseteable digital, la versión más conveniente para el Dakar es la que tiene iluminación trasera (back-lighting) y un interruptor en el manillar, posee sus propias baterías o puede usar alimentación eléctrica desde la misma moto o cuatriciclo, usualmente los pilotos llevan dos, en caso de que falle uno. [7]. 30 30 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Instrumental de aviones Se denominan instrumentos de vuelo al conjunto de mecanismos que equipan una aeronave y que permiten al piloto una operación de vuelo en condiciones seguras [8]. Los instrumentos básicos de vuelo son aquellos que nos informan de la altura y velocidad del avión, su altitud con respecto al suelo sin necesidad de tomar referencias, si está en ascenso, descenso o nivelado, y en qué dirección vuela. Estos instrumentos básicos, salvo la brújula, se suelen dividir en dos grupos: los que muestran información basándose en las propiedades del aire (anemómetro, altímetro, y variómetro) y los que se basan en propiedades giroscópicas (horizonte artificial, indicador de giro/viraje, e indicador de dirección). Clasificación: 1. Instrumentos de pilotaje Son los instrumentos más básicos y cuyo control ha de ser más frecuente por parte del piloto. Por su orden de relevancia para el vuelo seguro los más importantes son: 1.1. Anemómetro En aeronáutica el anemómetro es utilizado como velocímetro, como muestra la Figura 15. Es el indicador de la velocidad relativa con respecto al aire. 31 31 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Figura 15: Indicador de velocidad aerodinámica. En verde velocidades normales de operación, en amarillo velocidades altas y en rojo máxima velocidad. 1.2. Altímetro En la Figura 16 puede verse el altímetro. Este indica, en pies (ft, del inglés feet) o en metros, la lectura de la altitud relativa a un nivel de referencia dado al cual está volando el avión. En el altímetro hay dos agujas, ambas indicando: La pequeña los millares y la larga las centenas. Teniendo esto en cuenta, cuando la aguja pequeña se encuentre, por ejemplo, en los mil pies (1000 ft) y la larga en los 300 ft, se vuela a 1300 ft. Algunos aviones tienen una aguja más que indica las décimas, pero la mayoría de aviones ligeros tienen las dos agujas con forma de punta. Desde la introducción de la electrónica existen indicadores digitales, con numeración digital o simulando analógico con agujas. 32 32 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Figura 16: Altímetro de un avión. El de la imagen muestra una altitud de 3700 pies, unos 1125 metros. 1.3. Indicador de velocidad vertical o variómetro El indicador de velocidad vertical o variómetro, como el mostrado en Figura 17, abreviado VSI (Vertical Speed Indicator), indica si el avión está ascendiendo, descendiendo o va nivelado y la velocidad vertical a la que asciende o desciende generalmente en pies por minuto (ft/min), o bien metros por segundo (m/s). Figura 17: Variómetro mostrando la indicación de un vuelo sin variaciones de altura o reposo en tierra. 33 33 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas 1.4. Inclinómetro y coordinador de giro En la Figura 19 se ve el coordinador de giro y, su antecesor, el inclinómetro (también llamado turn and bank, bola y bastón o indicador de giro y bancada), visualizado en Figura 18:, son dos instrumentos de vuelo integrados en un mismo cuadrante. El inclinómetro presenta una aguja que se desvía de la vertical al ritmo en que el eje longitudinal del avión va variando su orientación o rumbo. Su funcionamiento se basa en un giróscopo, y cuanto más inclinado esté más rápido es el giro. Lleva unas marcas de referencia, normalmente si la aguja está encima de una de ellas el giro es de 2 minutos por cada 360º. Adicionalmente hay una bola que desliza en un canal curvo transparente, que se desplaza por inercia. Si la bola está en el centro durante el viraje, éste es llamado «coordinado». Si por el contrario la bola está a uno u otro lado, se dice, por ejemplo, que el viraje se hace «derrapando», es decir el morro del avión apunta hacia dentro del viraje, cuando la bola está hacia el exterior del mismo; y de la misma manera si la bola apunta hacia dentro del viraje, el viraje es «resbalado» es decir el morro del avión apunta hacia fuera del viraje. Figura 18: Indicador de viraje, conocido por turn and bank. Figura 19: Coordinador de giro. 34 34 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas En el coordinador de giro vemos en lugar del bastón una figura de un avión que nos indica el grado de inclinación de las alas. Debajo está el conducto curvo con la bola, formado por tres bloques, con la bola que se desliza por su interior en función del desplazamiento del eje longitudinal del avión. Si la bola se sitúa en el bloque del centro, el avión va girando «coordinado». Si la bola se pone en uno de los bloques 1 o 3, entonces el avión está en posición de «derrape», o bien con «deslizamiento». 1.5.Horizonte artificial Figura 20: Horizonte artificial indicando un giro a la derecha en descenso. El horizonte artificial o en inglés Attitude Indicator, como el presentado en la Figura 20, muestra la orientación longitudinal de la aeronave (la relación del eje longitudinal del avión con respecto al plano del suelo), es decir: si está girado, inclinado, con el morro levantado, bajado o todo a la vez. Sirve de gran ayuda en condiciones en que la visibilidad es poca o nula. El horizonte artificial tiene dos partes: el horizonte propiamente dicho, y el indicador de rumbo. El primero está compuesto por una región azul que representa el cielo, otra normalmente marrón que representa la superficie terrestre, una mira que representa el morro del avión, y varias marcas a su alrededor. Las marcas horizontales a ambos lados representan las alas, el plano de la aeronave, y su 35 35 1 de mayo de 2016 Salvatori Lucas GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android ángulo con el límite entre las regiones de cielo y superficie (el horizonte artificial), el ángulo de alabeo. 2. Instrumentos de control de motor 2.1. Indicadores de potencia Las aeronaves (aviones o helicópteros) pueden ir equipados con distintos tipos de motores según su tamaño y uso. Dependiendo del tipo de motor se eligen los instrumentos de potencia que se utilizan, por ejemplo en aeronaves de pequeño tamaño que utilizan motores de combustión interna el instrumento indicador de potencia por excelencia es el tacómetro (Figura 21), o cuentavueltas, combinado con el indicador de presión de admisión, el cual indica la carga motor. Figura 21: Cuenta vueltas o tacómetro. 2.2. Indicadores de estado de funcionamiento de motor Los más importantes son: Manómetro de presión de aceite; temperatura de culatas; termómetro de aceite; indicadores de autonomía; nivel de combustible; caudal de combustible. 36 36 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android Figura 22: Medidor de temperatura de gases de escape (EGT). 1 de mayo de 2016 Salvatori Lucas Figura 23: Medidor de presión de colector o MAP. En la Figura 22 puede verse un indicador de temperatura de gases de escape, el sensor mide la temperatura de los gases de salida, o lo que es lo mismo temperatura de los gases provenientes de la combustión del avión. Este indicador nos sirve para comprobar el estado de la mezcla del motor y poder realizar ajustes de la misma. En la Figura 23 se muestra el indicador de presión del colector, el cual suele estar instalado a la entrada del colector de admisión y señala en pulgadas de mercurio el valor de la presión absoluta. 3. Instrumentos de navegación Son los instrumentos esenciales para poder orientarse y seguir la ruta deseada por parte del piloto. 3.1. Brújula La brújula o compás (ver Figura 24) permite al piloto conocer el rumbo de la aeronave. En muchas ocasiones, la brújula se complementa con un giróscopo, cuyo movimiento es más estable y preciso que el del compás. Figura 24: Brújula aeronáutica. 37 37 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas 3.2. Indicador de rumbo o HI (heading indicator) El indicador de rumbo, o giroscopio direccional, como muestra la Figura 25, proporciona al piloto la dirección del avión en grados magnéticos. Antiguamente también se usaba la brújula, pero debido a que ésta se ve afectada por las variaciones magnéticas y si el viento es turbulento se vuelve aún menos precisa, por lo que ha quedado como un elemento obligatorio, pero de uso en caso de fallo de otros instrumentos o como complemento a otros. El indicador de rumbo es muy preciso y da al piloto una indicación mucho más fácil de interpretar, aunque puede sufrir de error giroscópico de vez en cuando debido a la rotación de la tierra, tomándose como referencia a la brújula para ajustar el giro direccional. Figura 25: Indicador de rumbos de una avioneta Cessna 172. 3.3. ADF (Automatic Direction Finder) Es el primero de los instrumentos de radionavegación (Figura 26), se basa en captar la máxima intensidad de una señal de baja frecuencia y de gran alcance de una emisora NDB (Non-Directional Beacon) en tierra, su aguja indicará la dirección a dicha estación. Al captar la siguiente frecuencia señalará la dirección de esta otra. Por triangulación sobre un mapa en el que figuran las emisoras NDB se puede conocer la posición en ese instante. 38 38 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Figura 26: Indicador del ADF, en la parte inferior la frecuencia activa de una NDB y la frecuencia en espera, o standby. 3.4. DME (Distance measuring equipment) El equipo medidor de distancia (ver Figura 27), basado en el fundamento del tiempo de respuesta de la señal de radar, aporta la gran ventaja que proporciona la distancia a la emisora cuya frecuencia se halla seleccionada, mediante el cálculo de la diferencia de las señales pulsatorias de alta frecuencia. Figura 27: Receptor DME (superior) junto con un receptor ADF (inferior). 3.5. CDI (Course Deviation Indicator) Este dispositivo como el mostrado en Figura 28, basado en señales de muy alta frecuencia (VHF), y por tanto de alcance menor, se apoya para su funcionamiento en las antenas VOR (VHF Omnidirectional Range). Aporta sobre los anteriores la particularidad de que permite saber al piloto si se encuentra a la derecha, a la izquierda o centrado sobre el radial (rumbo a o desde la emisora VOR). 39 39 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Figura 28: Pantalla del CDI, mostrando un posicionamiento del avión a la derecha (triángulo amarillo) y hacia el rumbo 360º, coincidente con la siguiente estación (indicación sobre el triángulo de «TO», es el código de la siguiente estación VOR). 3.6. ILS (Instrumental Landing System) El sistema de aterrizaje instrumental (en inglés Instrumental Landing System), como el mostrado en la Figura 29, es un sistema fundamental para las fases de aproximación y aterrizaje en condiciones de vuelo instrumental (IFR), especialmente de baja visibilidad (niebla, noche, problemas de visibilidad en cabina, etc.), ya que a diferencia de los anteriores dispositivos, que sólo indican rumbos, éste nos indica el ángulo de descenso correcto además de la alineación con el eje de la pista [8]. Figura 29: Funcionamiento del ILS: en la imagen izquierda la aeronave posee una senda de aproximación con altura escasa y desviada a la izquierda del eje de la pista; en la derecha se muestra una senda centrada y con la altura adecuada. Fuentes: [9], [10], [11]. 40 40 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Instrumentales digitales Habiéndose detallado algunos de los instrumentos que pueden hallarse en los diferentes vehículos y la función que cumplen. Se analizan los instrumentales digitales que se encuentran actualmente. Instrumental digital en automóviles En los automóviles modernos a los tableros digitales se los conoce como los “digital instrument cluster” o grupo de instrumentos digitales. Los grupos de instrumentos digitales son la principal fuente de datos para el conductor, la entrega de información sobre el estado del vehículo y el motor. Estos sistemas están evolucionando rápidamente con la adición de gráficos en color para transmitir información más compleja en una pantalla reconfigurable [11]. A fin de tener una idea más acabada de cómo funcionan los instrument clúster veremos tres diagramas de diseños realizados por Freescale. Línea básica o baja En la Figura 30 se muestra un procesador central (MCU), que recibe a través de un conmutador de interfaces de múltiples entradas (Signal Conditioning), señales analógicas o digitales de distintos sensores o componentes los cuales procesa y envía a cada dispositivo según corresponda. Este diseño en lo que refiere a instrumentos digitales soporta una pantalla LCD segmentada de pocas líneas. 41 41 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Figura 30: Diseño del bloque de diagrama del instrument clúster línea básica de Freescale Línea media o alta A diferencia de la línea anterior la Figura 31 incluye soporte para la visualización en pantallas Color TFT LCD, donde pueden mostrarse algún navegador GPS, cambio de marcha en que se encuentra el vehículo o alguna otra información. Además, soporta entradas de sensor de cámaras. 42 42 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Figura 31: Diseño del bloque de diagrama del instrument clúster línea mediana o alta de Freescale Línea Premium El incremento de información que se requiere mostrar al conductor, necesita soluciones de diseño de grupos de instrumentos que pueden ser reconfigurados dinámicamente para mostrar el contenido de forma segura. Como en el diseño del vehículo los grupos de instrumentos digitales empiezan rápidamente a reemplazar a los grupos de instrumentos mecánicos tradicionales, también se necesita proporcionar una mezcla de ambos diseños, moderno y medidores realistas tradicionales. En el diagrama de la Figura 32 se modifican algunos aspectos de la línea básica y media/alta, que no nos son de interés para nuestro estudio. Pero si podemos apreciar como mejora el diseño del instrument clúster de Freescale soportando la visualización de distintos indicadores y señales en pantallas color TFT LCD. 43 43 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Figura 32: Diseño del bloque de diagrama del instrument clúster línea Premium de Freescale Para dar una idea más acabada de a que se refiere esto, se muestran imágenes de algunas versiones recientes, que se ajustan al modelo de diagrama de la línea Premium de Freescale o alguno similar. Figura 33: panel LCD de 12.3 pulgadas de Land Rover 44 44 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas La Figura 33 muestra el tablero de un Land Rover donde puede verse a la derecha el velocímetro junto con el indicador de combustible del vehículo, a la izquierda un cuenta vueltas y en su parte central información adicional mostrada al usuario [12]. Figura 34: Grupo de instrumentos reconfigurables de Visteon, es una pantalla flexible y completamente digital En la Figura 34 puede verse un diseño de una pantalla, originado por la marca Visteon, completamente digital sobre una plataforma de grupo de instrumentos flexible que permite una máxima reutilización de software y también permite extender instrumentos personalizados [13]. Figura 35: La interfaz del Audi A1 combina la información del auto con la navegación y el entretenimiento. 45 45 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas En la Figura 35 puede apreciarse como en un instrumental digital de un automóvil Audi A1 se combina la información del vehículo (velocímetro, combustible, etc.), como también la del reproductor de música, al centro del instrumento (donde se muestra número de track, artista, nombre del tema musical, etc.). El instrumental también muestra la hora (parte inferior izquierda), la temperatura (parte superior derecha), entre otros datos [14]. En todos estos instrumentales de autos puede verse que son completamente digitales visualizando en una única pantalla varios relojes e indicadores de estados, los cuales informan al usuario el estado de diferentes aspectos del vehículo o dispositivos. 46 46 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Instrumental digital en motocicletas Figura 36: Instrumental digital de motocicleta Según se muestra en la Figura 36 a continuación se describe cada uno de los instrumentos enumerados en la misma. 1- Interruptor de ajuste: Permite ajustar alguna aplicación que porte la motocicleta por ejemplo el reloj. 2- Interruptor de selección: Permite seleccionar una determinada aplicación de luz tenue o luz fuerte en el tablero. 3- Velocímetro: Indica la velocidad de la motocicleta, en términos de distancia recorrida por un determinado tiempo ya sea en Millas o en Km/H. 4- Tacómetro: Indica cuantos giros está dando el cigüeñal por minuto (RPM), generalmente se multiplica por 1000. 47 47 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas 5- Cuenta kilómetros: Indica el kilometraje total recorrido de la motocicleta para tener en cuenta los mantenimientos preventivos y correctivos a fin de prolongar la vida útil de la misma. 6- Indicador de marcha o cambio: Indica en que marcha o cambio se encuentra la caja de velocidades de la motocicleta. 7- Luz de presión de aceite: Indica la presión hidráulica del aceite del motor ilustrado de color rojo el cual debe permanecer apagado en todo momento ya que de no hacerlo tendríamos un problema en el motor, cabe señalar que sólo enciende durante el arranque de la motocicleta. 8- Medidor de combustible: Indica el nivel de combustible con el que cuenta el depósito ilustrado de color amarillo. 9- Medidor de temperatura: Indica la temperatura en la que está trabajando el sistema de enfriamiento ilustrado de color rojo, el cual nos alerta de un sobrecalentamiento o de la temperatura que porta el motor. 10- Direccionales: Indica la posición de las direccionales (izquierda y derecha) ilustrado de color verde derecha. 11- Luz neutral: Indica la posición del selector de velocidades, en este caso la posición de neutral ilustrado de color verde. 12- Luz alta: Indica la posición de luces altas ilustrado de color azul. 48 48 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas 13- Indicador Check Engine: Indica una falla en algunos de los sistemas del motor, que va desde la falta de mantenimiento hasta la avería de un componente. En los cuadros de instrumentos de las motocicletas podemos encontrar una gran diversidad en cuanto a diseño y fabricación, esto depende principalmente del fabricante, así como el equipamiento que posee la motocicleta, pero el funcionamiento del instrumental básico de la motocicleta será el mismo [6]. Instrumental digital de navegación Con el avance de la tecnología y los dispositivos móviles ya es muy común que la navegación se realice a través de sistemas digitales (ver Figura 37). Figura 37: Roadbook digital RHEX Copilot 49 49 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Como se ilustra en la Figura 38, el Roadbook Digital TRIPY ll no es un GPS convencional; como su nombre indica se trata de un Roadbook electrónico basado en tecnología GPS. Este sistema no puede compararse con los tradicionales GPS. Su principal función es navegar como el método tradicional de navegación con libro de ruta (Roadbook), pero en formato digital [15]. Un Roadbook o Itinerario, utilizado para carreras de rally, es una lista de artículos con la distancia, la dirección, un icono gráfico de un cruce / vuelta y una descripción [16]. Figura 38: Digital Roadbook Tripy II 50 50 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Figura 39: OffRoadNAVI Roadbook modelo navi X710 Los datos en un Roadbook OffRoadNAVI están en el formato de imágenes (formato GIF es mejor) y se compone de páginas individuales (una página es un archivo de imagen. Todo el Roadbook (una etapa o un día) se almacena en un directorio. En la Figura 39 se muestra como se visualiza la pantalla del OffRoadNAVI Roadbook modelo navi X710. Instrumental digital en aviones En lo que respecta a los tableros de las cabinas de los aviones se está implementando la utilización de pantallas para la visualización del instrumental. A estas cabinas se las denomina "cabinas de cristal". En estas pantallas, al igual que las de los automóviles, pueden visualizarse tanto relojes, como otros indicadores que muestran el estado de componentes de la aeronave. 51 51 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Las modernas "cabinas de cristal" como las del Boeing 777, el F-117 caza furtivo y Shuttle Atlantis representan una revolución en la forma en que las cabinas de aeronaves y naves espaciales están diseñadas y construidas en la actualidad. Los primeros indicios de esta revolución aparecieron en la década de 1970 cuando las pantallas al vuelo digno de tubo de rayos catódicos (CRT) comenzaron a reemplazar algunas de las pantallas electromecánicas, medidores e instrumentos que habían servido tan bien durante tanto tiempo. Estos nuevos instrumentos "de cristal" dieron a la cabina un aspecto claramente diferente y sugiriendo el nombre de "cabina de cristal" [17]. La revolución en el diseño de la cabina nació de la oportunidad y necesidad. El aumento del número de elementos de la cabina estaba compitiendo por el espacio de cabina y la atención del piloto. Lo que se necesitaba, eran pantallas que podrían procesar la información del sistema de la aeronave y los datos de vuelo en una imagen integrada, de fácil comprensión de la situación de la aeronave, la posición y el progreso, no sólo en las dimensiones horizontal y vertical, sino también respecto al tiempo y la velocidad. Uno de los objetivos era encontrar el equilibrio adecuado entre lo que el sistema informático debe manejar y lo que el piloto debe gestionar. 52 52 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Figura 40: cabina de cristal de un Airbus 380 En la Figura 40 puede verse la cabina del Airbus 380 – un avión civil de pasajeros de la empresa Airbus, que tiene una capacidad máxima de 186 pasajeros. Esta aeronave, como la mayoría de los aviones modernos, tiene una cabina de cristal (en inglés: “glasscockpit”). Eso quiere decir que, en vez de muchísimos instrumentos clásicos con agujas, se usan pantallas de instrumentos electrónicos, mejorando la lectura por tener un montón de información concentrada en un sólo lugar y encima representada de manera tal, que su entendimiento no requiere ni de cálculos, ni de imaginación. Este avión tiene ocho pantallas – dos para el comandante, dos para el copiloto (que son idénticas a las primeras) y cuatro en la parte central del tablero. La primera pantalla representa la 'T' básica de instrumentos, pero en forma digital. La segunda tiene todo lo referente con navegación: muestra el avión moviéndose sobre la ruta dibujada en el mapa. Las otras cuatro pantallas muestran el resto: parámetros de los motores, advertencias y hasta recomendaciones en caso de fallas o anomalías. Como puede notarse también hay instrumentos convencionales. En un vuelo normal no se usan, pero se instalan por si acaso falla el sistema eléctrico y electrónico [10]. 53 53 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas . Otro sistema importante de cualquier avión civil es el piloto automático. Los controles del autopiloto están siempre en la parte central y superior del tablero. Como se puede ver, el panel tiene varias ventanillas donde el piloto selecciona parámetros de velocidad, altura y dirección. El autopiloto simplemente los mantiene. En el medio de la cabina, entre los asientos de los pilotos, puede verse el “pedestal”. Ahí se colocan los comandos de los motores, flaps, spoilers, las estaciones de radio y una pequeña computadora que se utiliza para insertar o corregir datos en el sistema electrónico del avión. Con este maravilloso dispositivo se programan rutas y otros parámetros de vuelo para el autopiloto, pero de una manera bastante más detallada que en el tablero anterior. Figura 41: Instrumental del Cirrus SR20 54 54 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Como muestra la Figura 41, el Cirrus SR20 emplea un panel de vidrio, que es un monitor de computadora que visualiza toda la información de vuelo. Los indicadores han sido sustituidos por dos pantallas, la pantalla principal de vuelo, y la pantalla multifunción. Estas pantallas muestran cosas como las alertas de vuelo, navegación, sistemas de información, de tráfico y de terreno utilizando el sistema anticolisión, información sobre el aeropuerto, y los planes de vuelo. Además, el panel de vidrio también está vinculado a un sistema de gestión de vuelo, similar al sistema utilizado por la mayoría de líneas aéreas. Este sistema permite a los pilotos ingresar información de vuelo rápidamente con un teclado QWERTY completo [18]. Figura 42: Piper Seneca V Figura 43: Cabina del Piper Aircraft Seneca V que implementa el G1000 de Garmin 55 55 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas La compañía de aviones Piper Aircraft ha implementado el G1000 de cristal diseñado por la empresa Garmin con el fin de digitalizar el tablero (Figura 43) de su aeronave Seneca V (Figura 42). En el G1000 se integra toda la información primaria de vuelo, datos de navegación, las comunicaciones, la conciencia del terreno, el tráfico, el tiempo, y los datos del motor en tres pantallas de 10,4 pulgadas, de alta resolución. Actitud confiable del G1000 y Rumbo Sistema de Referencia (AHRS) proporciona información precisa, salida digital y referencia de datos de altitud, velocidad, y aceleración de la aeronave. El G1000 también incorpora un gran mapa en movimiento [19]. Figura 44: Visión del cielo de dos pantallas de Dynon en un LSA. Viendo algunos de los desarrollos que se encuentran en el mercado podemos encontrar a Dynon con la aplicación Visión del cielo, que ofrece a los pilotos y a los fabricantes de aviones un alto grado de personalización y flexibilidad en la tecnología de pantalla. En la Figura 44 puede verse el modelo de dos pantallas utilizado en un LSA. Con las pantallas se puede acceder a algún menú de configuración de un vuelo, cambiar qué y dónde se muestran la mayoría de los indicadores. La flexibilidad ofrece a los usuarios la capacidad de adaptarse a casi cualquier motor, velocidad, sensor o entrada y de visualización (o no mostrar) esa información para el piloto [20]. 56 56 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Instrumental Virtual Instrumentos tradicionales Vs. Instrumentos virtuales En la instrumentación tradicional cada instrumento actúa totalmente aislado, con capacidades predefinidas por el fabricante; se conforma por un conjunto de instrumentos fijos, interfaz con el usuario basada en botones, perillas, led y display que permiten controlar o cambiar algunas de las características del instrumento que en el fondo es un dispositivo electrónico, es por esto que el instrumento tradicional representa una arquitectura cerrada, impidiendo realizar algún cambio en su funcionalidad, debido a que necesariamente cualquier modificación pasa por realizar cambios en la circuitería interna del equipo, lo que evidentemente es muy poco factible. La instrumentación virtual o digital por otra parte aprovecha el bajo costo de computadoras y su alto grado de rendimiento en procesos de análisis para implementar hardware y software que permiten al usuario incrementar la funcionalidad del instrumento tradicional. Sin embargo, la importancia fundamental de esta herramienta, es que permite al usuario establecer las características del instrumento y de esta forma sus potencialidades y limitaciones. Por medio de los instrumentos virtuales se pueden emular una gran cantidad de tableros para diferentes vehículos. Tal vez el principal inconveniente es la inversión inicial que involucra adquirir software y hardware, pero debido a que estos son completamente reutilizables se traduce en beneficios a mediano y largo plazo. Además, un tablero digital permite visualizar en un mismo espacio diferentes instrumentos según las necesidades, optimizando el tamaño de la pantalla del tablero de instrumentos, ya que varios instrumentos pueden compartir un lugar en la pantalla en distintos momentos. 57 57 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Otra característica que aportan los instrumentos virtuales es la capacidad de poder generar un mismo tablero con sus instrumentos de diferentes formas, un ejemplo de ello puede verse en la Figura 47 donde se muestra una combinación entre el instrumental de la Figura 45 que corresponde a un avión Beechcraft y el instrumental de la Figura 46 correspondiente a un avión Cessna. Figura 45: Configuración avión Beechcraft Figura 46: Configuración avión Cessna Figura 47: Combinación de las configuraciones Si esta combinación se hiciera con instrumentos tradicionales se debería desarmar todo el tablero e insertar físicamente cada instrumento que se desee cambiar o modificar. En cambio, con instrumentaciones virtuales esto se reduce a indicar mediante software cual será el instrumento que deberá modificarse y por cual se hará. En el Apéndice A puede verse como varia el instrumental de una cabina convencional de una digital. 58 58 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Capítulo III Introducción al instrumental de vuelo Instrumentos de vuelo. La T básica Uno de los mayores expertos a nivel internacional en materia de CRM, Seguridad en Vuelo e Investigador de Accidentes de IFALPA, el Primer Oficial Juan Carlos Lozano, Piloto de A-340/A-330 nos introduce en los orígenes de la distribución de los primeros instrumentos de vuelo en cabina: “Corría el año 1955 cuando, a resultas de la investigación de un accidente, un grupo de pilotos comenzó a estudiar una forma de estandarizar la colocación de los instrumentos dentro de la cabina de pilotaje de los aviones. Era evidente que, cuando un piloto cambiaba de modelo de avión, y este tenía los instrumentos colocados en distinta posición, ello podía tener consecuencias nefastas en momentos de alta carga de trabajo y desorientación. Resultaba imprescindible que los instrumentos de las cabinas estuviesen colocados en una disposición similar independientemente de quién fuera el fabricante. Y así fue como, años después, la Organización Internacional de Aviación Civil (OACI) estableció un estándar que ha llegado hasta nuestros días: la “T Básica”. La “T Básica”, como muestra la Figura 48, se encuentra prácticamente en todos los aviones de escuela de manera que los pilotos adquieren sus habilidades de pilotaje en un formato común, sea cual sea el modelo de avión que utilicen. 59 59 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas En la actualidad la “T Básica” ha sido reemplazada en los modernos aviones de línea aérea por pantallas que integran la información esencial para el piloto (actitud, velocidad, altura y posición). Sin embargo, la distribución de la información que se presenta en dichas pantallas sigue el mismo criterio que la “T Básica” para facilidad de los pilotos. Figura 48: Imagen de la conocida como “T básica” Hoy en día, la antigua presentación y distribución de la instrumentación de cabina (T básica), ha quedado obsoleta en los aviones de última generación. En su lugar se han ido introduciendo grandes pantallas de cristal líquido o LCD (ver Figura 49), llamadas PFD o Primary Flight Display, que muestran al piloto de manera eficiente y en condiciones de mala o baja visibilidad los principales parámetros para la conducción del vuelo (velocidad, indicación de situación horizontal, altitud y rumbo) siguiendo unos patrones de ergonomía. 60 60 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Figura 49: Moderna pantalla de cabina de vuelo (Nótese que la distribución de la información sigue el criterio de la T Básica) Fuente: [21]. Como puede verse existen disposiciones estándar de los instrumentos. La configuración básica, para facilitar su lectura en vuelo instrumental (sin visibilidad al exterior del avión) es en forma de "T" según este detalle: primera fila: izquierda ASI (air speed Indicator) - Centro ADI (Attitude Indicator o en castellano Horizonte artificial) - Derecha (Altímetro) - Extremo derecho VOR segunda fila: centro, debajo del ADI va el DG (Directional Gyro o brújula giroscópica) - Derecha VSI (Vertical speed Indicator o varíometro) [22]. 61 61 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas En cuanto a los tamaños hay sólo dos estándares: 3 pulgadas de diámetro y 2 pulgadas de diámetro. Por lo general se usan de 3 pulgadas siendo los de 2 pulgadas los de backup y/o instrumentos de motor (presión y temp. de aceite, EGT, CHT, etc) [23]. Los instrumentos básicos de vuelo requeridos para operaciones bajo reglas de vuelo visual (VFR visual flight rules) son un indicador de velocidad, un altímetro y un indicador de dirección magnética. Además de éstos, la operación bajo reglas de vuelo por instrumentos (IFR instrument flight rules) requiere un indicador de giróscopo de velocidad de giro, un indicador de resbalamiento-deslizante, un altímetro ajustable para la presión barométrica, un reloj que muestra las horas, minutos y segundos, con una visual analógica o una presentación digital, un indicador giroscópico (horizonte artificial), y un indicador de dirección giroscópico (giroscopio direccional o equivalente) [10]. Principios de la operación instrumental Legibilidad La legibilidad es uno de los principios fundamentales en los que se basa la instrumentación de vuelo. Todos los parámetros han de ser de fácil lectura por el piloto bajo cualquier condición de la envolvente de vuelo, ya sea durante maniobras de combate de máximo rendimiento, vuelo diurno o vuelo nocturno, etc. Un ejemplo de buena visibilidad puede apreciarse en la Figura 50. 62 62 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Figura 50: Aproximación nocturna efectuando procedimiento ILS Categoría I 63 63 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Funcionalidad Cada instrumento de vuelo en la cabina de mando, ya sea analógico o digital, mide un parámetro para que la conducción del vuelo sea lo más eficiente y segura posible. El indicador de rumbo, el anemómetro, el altímetro y el indicador de situación horizontal son claves en el desarrollo del vuelo. La pérdida de uno de ellos puede poner en peligro la seguridad del avión, del piloto y, por ende, el éxito de la misión o, por el contrario, la cancelación o el retraso de un vuelo comercial. En la Figura 51 puede verse el instrumental de un Cessna 172 como ejemplo de su instrumental. Figura 51: Panel de instrumentos de un Cessna 172 64 64 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Precisión Quizás el más importante de los principios de la Aviación sea la precisión. Ninguna otra actividad o campo, como la Aviación, exige tanta precisión en sus equipos. Los sistemas de navegación (GPS, INS, etc.), de medición de altitud, medición de velocidad, etc., de las aeronaves actuales, junto con el reloj que mide la hora exacta y precisa a bordo, son parámetros que no admiten desviaciones cuando hablamos de las operaciones aéreas (El error actual de un sistema GPS asociado a una instalación WAAS o Wide Area Augmentation System, es de apenas 1 ó 2 metros en horizontal y 2 ó 3 metros en vertical). En la Figura 52 se muestra el funcionamiento de la Wide Area Augmentation System. Figura 52: funcionamiento del WAAS Concept 65 65 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas En el campo militar, quizás el instrumento-sistema más importante de la aviónica en un caza durante una misión de combate sea el radar. Hoy en día los sistemas de radar sobre todo en el combate a larga distancia, son decisivos y han evolucionado hasta incorporar la capacidad de comunicarse entre radares de un mismo paquete atacante de aviones para intercambiar la información de los posibles blancos o “targets” (Sistema MIDS, Multifunctional Information Distribution System) [21]. En este trabajo no se utilizan estándares en los tamaños de los instrumentos, como puede verse en el Capítulo VIII de casos de uso, lo único que se respeta, en las pruebas realizadas, es la ubicación estándar del instrumental, por estar simulando la cabina de un Cessna 172. Pero es oportuno aclarar que el sistema presentado para este trabajo permite cambiar la distribución de los instrumentos como se desee y modificar el tamaño de cada uno independientemente. 66 66 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Capítulo IV Propuesta de Trabajo Visión Como se ha descripto en el capítulo II existen varios trabajos en el campo de los instrumentales digitales de vehículos que logran obtener buenos resultados, pero generalmente no se enfocan en tableros completamente digitales y/o no proveen versatilidad en generación de instrumentos para varios vehículos en un mismo dispositivo o no introducen el concepto de pantallas táctiles en el instrumental. En el presente proyecto se intentará contribuir al campo de la creación de instrumentos de vehículos, con el desarrollo de un software experimental el cual otorgará las bases para la creación de diversos instrumentales digitales, a fin de generar distintos tableros de vehículos. Estos instrumentales poseerán la característica de ser totalmente digitales, agregando el concepto de instrumentos interactivos sobre pantallas táctiles, permitiendo confeccionar cabinas o grupos de instrumentos totalmente digitales, incluyendo botones, palancas, potenciómetros y barras de desplazamientos, lo cual favorece la adaptabilidad y modificabilidad de los tableros o cabinas diseñadas. El sistema principal correrá en un servidor y los dispositivos encargados de visualizar los instrumentos funcionarán bajo sistema operativo Android, permitiendo que el instrumental sea distribuido en distintos dispositivos con distintas formas y características. 67 67 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas El sistema proporcionará las bases para el desarrollo de un diseño general en la visualización digital del instrumental de distintos vehículos, para que puedan implementarse en un mismo dispositivo o conjunto de ellos con las menores modificaciones posibles de programación. Siendo lo suficientemente flexible como para utilizarse como una herramienta para el testeo de las ubicaciones de los instrumentos en un determinado tablero, y generar distintos diseños de tableros, ya que permite colocar los instrumentos en distintas posiciones. Con el objeto de mostrar en tiempo real la actualización del instrumental, el servidor del sistema se vinculará a un simulador de vuelo donde se obtendrán los datos necesarios y se enviarán a los distintos dispositivos para su actualización. El instrumental de aviones permitirá que un simulador se adapte a diversas cabinas de aviones, pudiendo emular las cabinas de distintos modelos. También podría utilizarse para el desarrollo de prototipos de nuevas cabinas donde podrán configurarse nuevos instrumentos y diversas ubicaciones hasta lograr la deseada. En el caso de las cabinas de aviones, permitirá reducir el periodo de entrenamiento y transición entre diferentes aviones, ya que en prácticas en un nuevo modelo de avión se puede mantener el instrumental del modelo anterior e ir modificando sus instrumentos progresivamente a medida que el piloto va aprendiendo. Otro uso que puede darse es que los diseñadores de aviones modifiquen la apariencia de los instrumentos sólo cambiando configuraciones e imágenes, actualizando cabinas de aviones con muy poco esfuerzo. De esta manera, por ejemplo, se podría modificar instrumentos de versiones analógicas a sus versiones digitales. 68 68 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Consideraciones Las investigaciones actuales apuntan a diseñar sistemas particulares para los instrumentos de vehículos específicos, perdiendo de esta manera la adaptabilidad para realizar diversos instrumentos cuya funcionalidad es análoga entre ellos. En este proyecto se pretende llevar la idea más allá, pensándose en un sistema que pueda adaptarse a la simulación de distintos tableros de instrumentos para varios vehículos como pueden ser autos, aviones, motos, trenes, etc. y viendo que las prácticas se están enfocando más en automóviles, se considera que para este trabajo final de grado sería más oportuno implementarlo sobre el instrumental de un avión y además porque éste presenta un instrumental muy completo. El instrumental se visualizará dividido en distintos dispositivos con sistema operativo Android, los cuales mostrarán algunos instrumentos del vehículo. Cada instrumento será dibujado en tamaño real, pero podría modificarse a un tamaño determinado de así desearse. El objetivo de la generación de instrumentales digitales es incrementar la realización de instrumentos brindando mayor flexibilidad y usabilidad como también así favorecer la reutilización y mantenimiento de las aplicaciones. La aplicación que desarrolla este trabajo no se presenta sólo como un producto, su interés es aportar un marco de exploración extensible basándose en el principio de funcionamiento del sistema. 69 69 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Como mencionamos anteriormente en este proyecto se pretende realizar una estructura que permita generar en tamaño real el instrumental de vehículos, los cuales podrían ser por ejemplo autos, aviones, motos, trenes, etc. La generación se llevará a cabo mostrando el tablero del vehículo distribuido en varios dispositivos con sistema operativo Android, donde cada dispositivo Android mostrará un conjunto de instrumentos correspondientes al tablero según el tamaño de cada instrumento. Como se ejemplifica en la Figura 53 los instrumentos se clasifican en dos grandes grupos denominados instrumentos indicativos e instrumentos de interactivos. El primer grupo incluye aquel instrumental que muestra al usuario el estado de alguna cualidad del vehículo como pueden ser los velocímetros, cuenta vueltas, medidor de combustible, medidor de temperatura, altímetros, brújulas, etc. y cualquier instrumento que visualice al usuario alguna característica particular del vehículo; este tipo de instrumentos serán modificados por el sistema y no podrán ser modificados por el usuario. El segundo grupo abarcará todo aquel instrumental por el cual el usuario puede indicarle al vehículo el cambio de algún estado como puede ser el encendido o apagado de luces, del limpia parabrisas, etc. Este tipo de instrumental será visualizado mediante botones, interruptores, palancas, perillas, etc. 70 70 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Figura 53: Diagrama de clasificación de los instrumentos El instrumental será comandado por un servidor encargado de obtener los valores de sensores, los cuales miden aspectos del vehículo, y transmitírselo al dispositivo Android asociado para que actualice el instrumento correspondiente para mostrárselo al usuario. Asimismo, cada dispositivo Android envía información al servidor cuando el usuario acciona algún instrumento interactivo, de manera que el servidor actualice el estado del dispositivo del vehículo. El servidor y los dispositivos Android se comunicarán mediante una conexión de red inalámbrica (WiFi). A fin de optimizar el tráfico en la conexión de red, cada dispositivo Android contendrá la información necesaria del instrumental que deberá mostrar, recibiendo del servidor sólo mensajes que le indiquen que instrumentos se deberán mostrar, en que ubicación dentro de la pantalla y que valor indicar. 71 71 1 de mayo de 2016 Salvatori Lucas GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android En la generación de instrumental de distintos vehículos se deberá ejecutar la aplicación Android correspondiente a cada vehículo, es decir, si se desea simular el instrumental de un auto de fórmula uno se ejecutará la aplicación que haga correr el instrumental de este tipo de auto y en caso de querer simularse un avión Boeing 747 deberá ejecutarse la aplicación correspondiente a esta, y así con cada vehículo que se desee simular. Por lo tanto, se deberán tener diseñadas tantas aplicaciones como vehículos se desee simular. Esto se debe a que como cada dispositivo tendrá los instrumentos que posiblemente deba mostrar, se haría muy pesada para un dispositivo móvil ejecutar una aplicación que contenga la información de los tableros de todos los vehículos diseñados en el sistema. Dado que el proyecto que se propone puede aplicarse a numerosos tableros de vehículos se decide que a modo de ejemplo se generará el código en base al instrumental básico de un avión. Con el cual se obtendrán las bases principales de la estructura general para la programación de otros vehículos. Se decide realizar la aplicación con el instrumental de un avión, porque a diferencia de otros vehículos posee un instrumental muy completo, combinando el instrumental común con otros vehículos y el instrumental de navegación. Se propone utilizar dispositivos con sistema operativo Android porque entre sus cualidades permite funcionalidad táctil. Y en la actualidad este sistema operativo es utilizado por la mayoría de las empresas desarrolladoras de dispositivos móviles dando la posibilidad de elegir el dispositivo que mejor se adapte a las necesidades. A su vez este sistema marca una tendencia de crecimiento muy prometedora y un bajo costo. 72 72 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Otra cualidad que se pretende adicionar al sistema es la vinculación a un simulador de vuelo de donde se obtengan los valores en tiempo real del instrumental del avión, para actualizar el instrumental visualizado en los dispositivos Android. Concretando estas consideraciones podremos presentar en esta investigación un sistema básico que ejecuta en tiempo real el instrumental básico de un avión distribuido en varios dispositivos con sistema operativo Android obteniendo los valores de los instrumentos de un simulador de vuelo, el cual se encontrará corriendo en simultáneo con el sistema. 73 73 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Capítulo V Introducción al Sistema Introducción al trabajo Se diseña un sistema para la creación de instrumental digital de tableros de vehículos en dispositivos con sistemas operativo Android. El software presentado en el presente trabajo fue acotado al instrumental de un avión, pero es fácilmente adaptable para la programación del instrumental de diversos vehículos, proporcionando así una flexibilidad para el instrumental de múltiples vehículos. Android Android es un sistema operativo basado en el kernel de Linux. Fue diseñado principalmente para dispositivos móviles con pantalla táctil, como teléfonos inteligentes o tablets; y también para relojes inteligentes, televisores y automóviles. Por este motivo se elige el sistema Android dada su versatilidad y amplia aplicación en dispositivos móviles táctiles, además de las explicadas en la propuesta del trabajo. 74 74 1 de mayo de 2016 Salvatori Lucas GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android Alcance Alcance del proyecto En el presente proyecto se desarrolló una fase inicial de análisis, donde se estudió el instrumental básico de algunos vehículos tanto en su forma analógica como digital, pudiendo de esta manera adquirir los conocimientos necesarios para la realización del instrumental deseado y la aplicabilidad en dispositivos con sistema Android. También se analizaron algunas tecnologías de instrumentación digital de vehículos que se están desarrollando actualmente, notando que la propuesta expresada en este trabajo posee características innovadoras. En este proyecto se brindan las bases para el diseño y programación de tableros de diversos vehículos; y se otorga el código de un sistema para la generación del instrumental básico de un avión Cessna 172 el cual sirve de modelo para la confección y programación de los demás vehículos que se deseen diseñar. Alcance del sistema Abarca desde la programación de un servidor el cual debe correr en una PC portátil o de escritorio hasta los clientes que se ejecutan en dispositivos Android mostrando interfaces (pantallas) con instrumentos de un avión básico. La codificación se va a realizar en lenguaje de programación Java para el lado del servidor y lenguaje Android para el lado del cliente. La portabilidad está dada por un sistema que puede mostrar el instrumental de un avión en cualquier dispositivo con sistema Android, pudiéndose adaptar a distintos tamaños y versiones. Asimismo, el servidor, al estar diseñado en Java, otorga la flexibilidad multiplataforma, lo que significa que puede ser corrido en computadoras con distintos sistemas operativos. 75 75 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Descripción de módulos Interacción de componentes El sistema está diseñado siguiendo un patrón cliente-servidor donde una computadora central (servidor) envía mensajes a los distintos dispositivos Android (clientes) indicándoles que instrumentos debe mostrar, en que ubicación y que valor debe indicar. También es el encargado de recibir desde los distintos sensores la información que luego procesa para ser mostrada en los instrumentos correspondientes. El cliente además de recibir la información que muestra en pantalla, envía mensajes al servidor indicando que se interactuó con algún botón, interruptor o perilla del instrumental. Conexión entre Cliente y Servidor El servidor se conecta a los dispositivos mediante una conexión TCP/IP inalámbrica formando un vínculo bidireccional individualmente con cada Cliente a través de un tubo (pipeline), por el cual le transmite las instrucciones e información necesaria, permitiendo al Cliente comunicarse con él mediante este mismo medio. Figura 54: Conexión del servidor con clientes Android 76 76 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas La Figura 54 muestra una ejemplificación de la conexión entre un servidor y cuatro (clientes) dispositivos con sistema Android. El Mensaje El mensaje enviado por el servidor es distinto al enviado por el cliente, dado que la información que deben transmitir es diferente. Ambas partes interpretan los mensajes que reciben. El mensaje del cliente es mucho más simple ya que sólo transmite al servidor sobre los instrumentos interactivos, cuando el usuario acciona algunos de ellos se informa al servidor sobre el cambio de estado del instrumento para que este pueda indicar al aparato asociado la tarea a cumplir. Por ejemplo, si el usuario acciona el botón de encendido y apagado de luces, el cliente enviará un mensaje al servidor indicándole que botón se accionó y que estado posee. Con esta información el servidor indicará al dispositivo que controla las luces del vehículo si debe encenderlas o apagarlas. El mensaje que envía el servidor al cliente contiene la información del instrumento que el cliente debe mostrar, en que ubicación y el valor que visualizará el instrumento. Para confeccionar un tablero completo se deberá enviar un mensaje por cada instrumento que quiere crearse o actualizarse. 77 77 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Servidor Este componente es el cerebro del sistema. Se encarga de procesar la información y de la interacción tanto con el programador de tableros como con los clientes conectados a él. Es el encargado de recibir los datos de los sensores, procesarlos y enviarlos al dispositivo Android que posee el instrumento vinculado al sensor correspondiente, para que éste pueda mostrar su estado. Asimismo, recibirá solicitudes desde los clientes para establecer la conexión al servidor y en caso de que el dispositivo ya esté conectado, recibirá los mensajes que le indican la interacción sobre algún instrumento. El Servidor diagrama la estructura completa de los instrumentos que se mostrarán y como estarán distribuidos. Indicará a cada dispositivo que debe mostrar y en que ubicación debe hacerlo. En el caso que el programador de tableros elija la opción de tableros predefinidos el servidor inicialmente creará los instrumentos con valores por defecto y luego los actualizará según corresponda. En caso de elegir la opción personalizada los instrumentos se crearán según lo vaya indicando el programador de tableros. A su vez crea y administra una ventana donde el programador de tableros puede elegir generar un tablero predefinido o crear uno personalizado instrumento por instrumento. Cliente Este componente posee la información que debe mostrar en su pantalla, al recibir el mensaje por parte del servidor sabe que debe mostrar, donde y qué valor tiene. 78 78 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Una de sus funciones es interactuar directamente con el usuario al cual le muestra el instrumental con los valores actualizados y le permite pulsar el instrumental de interacción sobre su pantalla táctil. Cuando el usuario pulsa sobre un instrumento de interacción el dispositivo Android modifica el estado del instrumento y genera un mensaje para avisarle al servidor sobre la acción realizada. La Figura 55 ejemplifica como el configurador de tablero indica al servidor los instrumentos que deben visualizarse en el tablero de instrumentos compuesto en este caso por cinco tabletas, relacionándose también al usuario en su utilización con el tablero y al simulador que se encuentra ejecutando. El programador de tableros puede indicarle al servidor los instrumentos que debe mostrar de dos maneras diferentes, por un lado, que el servidor distribuya los instrumentos de forma predefinida según formatos ya configurados o indicando uno por uno los valores de cada instrumento. 79 79 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Figura 55: Partes intervinientes en el sistema Por último, el programador de tableros indica, si así lo desea, que el servidor se vincule al simulador para obtener los valores de los instrumentos y mostrarlos en los dispositivos en tiempo real. 80 80 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Capítulo VI Diseño y Arquitectura del Sistema Resumen En este capítulo se explica el diseño y arquitectura del sistema propuesto para este proyecto de trabajo final de grado. Se hace una breve explicación del propósito del sistema, la plataforma planteada, las partes que componen al sistema, así como las diversas etapas que desarrolla cada componente para procesar los datos requeridos. Descripción general El objetivo del software desarrollado es, dadas las configuraciones realizadas por el programador de tableros generar el instrumental de un tablero de un vehículo en particular. Arquitectura del sistema Arquitectura del hardware El servidor del sistema se encuentra implementado sobre un procesador dual core de arquitectura x86 con 2 gigabyte de memoria RAM, bajo un sistema operativo Windows 7. 81 81 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Los clientes se implementaron en dispositivos tipo tabletas con diversos tamaños de pantalla, que poseen instalado sistema operativo Android versión 2.2 o superior, con al menos 512 Mb. de memoria RAM y procesador de 1 Ghz. Arquitectura del software El servidor fue codificado en Eclipse Luna (lenguaje Java) pudiendo ser ejecutado en la mayoría de las computadoras actuales dado que no requiere de muchos recursos. La plataforma utilizada para desarrollar el cliente y la interfaz de usuario del mismo es Java Android, utilizando el plugin correspondiente para Eclipse Luna, una plataforma ampliamente disponible en dispositivos móviles y que puede manejar un gran número de características de las terminales móviles a través de varias especificaciones opcionales. Diseño de datos Los datos enviados entre el servidor y el cliente son encapsulados en un mensaje el cual contiene la información que describe las características que tendrá el instrumento que se debe generar. Vinculación al Simulador El servidor se conecta al simulador Flight Simulator X de Microsoft mediante jSimConnect que es una implementación en java de un cliente de la librería Simconnect SDK (soportada solamente en lenguajes de compilación C/C++ y CLI) provista por la empresa Microsoft. SimConnect es una arquitectura cliente/servidor que permite a los desarrolladores agregar complementos y comunicarse con un simulador corriendo de Microsoft Flight Simulator X. 82 82 1 de mayo de 2016 Salvatori Lucas GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android Descripción detallada del sistema Los componentes básicos del sistema son: Cliente: El dispositivo móvil que muestra al usuario un grupo de instrumentos y envía un mensaje al servidor en caso que el usuario accione algún instrumento interactivo como botones, perillas, etc. Servidor: mediante una ventana de configuración recibe los parámetros ingresados por el programador de tableros (en el modo personalizado), o los genera automáticamente (en alguno de los modos predefinidos), y envía esa información al cliente para que genere el instrumento deseado. Mensajes: Existen dos tipos distintos, los enviados por el servidor y los enviados por el cliente. El primero contiene la información necesaria que indicará al cliente que instrumento mostrar y su ubicación. El segundo contendrá los datos del instrumento que se interactuó y el estado que posee. A continuación, se describe el funcionamiento detallado del sistema: El programador de tableros inicia la fase de conexión iniciando el servidor y los dispositivos Android, indicándoles a estos últimos la dirección IP del servidor para que se conecten. Una vez iniciado todo, el programador de tableros, mediante la pantalla de configuración del servidor, indica que modo de configuración desea utilizar, en el caso del modo personalizado ingresa la información necesaria para la creación de cada instrumento. Esta información consta de: el identificador del dispositivo, el identificador del tipo de instrumento y los datos de posición que se componen por la distancia desde la izquierda y la distancia de la parte superior de la pantalla. 83 83 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Una vez cargada la información, el programador de tableros debe enviarla por medio del botón “enviar” de la pantalla de configuración, lo que provoca que el servidor genere un mensaje y lo envíe al dispositivo. Cuando el dispositivo recibe el mensaje lo decodifica y comienza el proceso de generación del instrumento. Esta acción debe realizarse con cada instrumento que se desee crear o actualizar. El programador de tableros, mediante la pantalla de configuración, puede elegir si desea crear un nuevo instrumento o actualizar uno ya existente. A su vez tiene la opción de generar cabinas de aviones predefinidos por el sistema, generándose automáticamente el instrumental según el tablero especificado; y por último el programador de tableros puede indicar al servidor que se conecte al simulador para obtener los valores en tiempo real de una simulación de vuelo (previamente de haber iniciado el simulador). Al finalizar el proceso de creación y configuración de la cabina del avión el usuario podrá utilizar y visualizar su instrumental. Composición del sistema El sistema implementa el patrón de diseño cliente-servidor teniendo por un lado al servidor que espera la conexión de clientes y se encarga de administrar los clientes conectados. A medida que los clientes se conectan el servidor, éste último almacena a los clientes en una lista, a su vez indica a los clientes conectados los instrumentos que deben mostrar y donde deben hacerlo. La comunicación con los clientes la realiza a través de mensajes. 84 84 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas A su vez el servidor posee una ventana (vista) que permite al programador de tableros crear o actualizar instrumentos individualmente u optar por ejecutar la opción de generación de tableros predefinidos. Para esta última opción deberá tenerse en cuenta que todos los clientes necesarios para la creación del tablero deben estar conectados. Una vez que todos los clientes se han conectado (a esto llamaremos fase de conexión), se debe ejecutar la opción de tablero predefinido deseado para que el servidor envíe en forma consecutiva los mensajes a los clientes para la creación de cada instrumento. Se envía un mensaje por cada instrumento. Por otro lado, están los clientes, que son los dispositivos Android, que una vez iniciados solicitan conexión al servidor y esperan los mensajes del servidor que le indican que hacer o que instrumentos mostrar. Los clientes llevan un control de los instrumentos que visualizan actualmente, almacenándolos en una lista. En caso que el cliente posea un instrumento de interacción, como un botón, éste enviará un mensaje al servidor cuando el instrumento sea pulsado o en el caso de las perillas deslizables y las circulares enviarán un mensaje por cada valor indicado. 85 85 1 de mayo de 2016 Salvatori Lucas GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android Restricciones del sistema El sistema fue diseñado considerando las siguientes restricciones para su correcto funcionamiento: El número de cada dispositivo está dado por el orden de conexión de los mismos. El servidor acepta la conexión de un máximo de 10 clientes. Al accionar la generación de código predefinido debe conocerse la cantidad necesaria de dispositivos para la generación de ese tablero y conectarlos en el orden correcto según la ubicación del instrumental. Los dispositivos no deben rotarse físicamente una vez conectados al servidor, dado que se produce una reconexión modificando el número de dispositivo y se perderán los instrumentos dibujados. Requerimientos de entrada Al momento de actualizar un instrumento el programador de tableros debe conocer los valores válidos que pueden ingresarse. En caso de generarse el tablero de modo personalizado el programador de tableros debe conocer la cantidad de dispositivos conectados y los números con los que se registraron al servidor. También debe conocer el identificador del instrumento que desee generar y los valores correctos que debe darle respecto a su ubicación. 86 86 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Servidor Este módulo es el procesador central del sistema, donde se codifican o decodifican y donde se procesan los mensajes que se envían y reciben de los clientes. Este módulo también se encarga de conectar con un simulador de vuelo y obtener la información de los sensores del avión simulado, para luego transferirla a los distintos clientes conectados. Componentes del servidor En cuanto al diseño del módulo se describe cada uno de sus componentes los cuales pueden visualizarse en la Figura 56 para una mejor comprensión. 87 87 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Figura 56: Diagrama de clases del componente servidor 88 88 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas 1. ServerExecutor Es la clase principal del servidor. Posee una funcionalidad sencilla pero muy importante. Crea y administra una ventana que permite al usuario la interacción con el sistema, crea y controla una lista de los clientes que se conectan con el servidor y crea por cada cliente que se conecta un hilo de ejecución independiente a través de la clase Server Thread generando un canal abierto, a través de un socket, que permite la transferencia de mensajes entre el cliente y el servidor. A medida que los clientes se conectan al servidor este componente los va almacenando en una lista de clientes conectados asignándoles un identificador de cliente. También se encarga de vincular al servidor con el simulador Flight Simulator X. 2. ConnectionToSimulator Esta clase se encarga de realizar la conexión con el simulador Flight Simulator X y solicitarle los datos de los instrumentos básicos del avión Cessna 172, para poder actualizar el instrumental presentado en los dispositivos. 3. DeviceList Es básicamente una clase que administra la lista de los clientes conectados al servidor. Permitiendo agregar y eliminar clientes según sea necesario. Esta es la lista utilizada por el Server Excecutor. 4. Device Es un elemento de DeviceList que representa a un dispositivo conectado al servidor. Tiene una lista de los instrumentos que posee, con acciones de agregado, eliminación y verificación de existencia. También almacena el socket de conexión, con acciones para almacenarlo y obtenerlo. 89 89 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas 5. ConnectionToClient Una vez que ServerExecutor realiza la conexión, se encarga de armar y enviar los mensajes a los clientes (dispositivos Android). Obteniendo la información que necesita de la vista donde el usuario configura los datos a enviar. A su vez como es una clase que implementa la interface Runnable1, debe implementar el método run(), el cual al ser ejecutado genera hilos de ejecución esperando por mensajes de conexión enviados desde los clientes. Esta clase genera un socket de conexión entre el servidor y el cliente a través de un mismo número de puerto mediante un protocolo de comunicación TCP/IP. Donde cada cliente puede conectarse al servidor indicando el número de puerto y la dirección IP del servidor al que se quiere conectar. 6. ServerThread Esta es una clase extendida de la clase Thread que al ejecutarse a través del método run() abre un socket de comunicación esperando que los clientes (dispositivos Android) se conecten para recibir la información. Al recibir la conexión de un cliente esta clase almacena los datos del cliente en una lista de clientes perteneciente a la clase ServerExecutor y continúa esperando por conexiones de otros clientes. 7. Instrument Esta clase contiene los datos de un instrumento que está asignado a un dispositivo cliente. De esta manera el servidor puede saber los instrumentos que posee cada dispositivo cliente sin recurrir a que el dispositivo 1 La interface runnable se implementa en una clase para crear hilos de ejecución 90 90 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas se lo informe, evitando el envío de mensajes que ocupen la red. 8. ServerBoard Es la vista donde el programador de tableros indica al servidor la información que será enviada a un dispositivo (cliente) en particular. Permite mediante campos específicos configurar los valores que son enviados por el servidor para la creación o modificación de un instrumento en un dispositivo en particular. Si se elige la opción de predefinido en el tipo de configuración el servidor envía una serie de mensajes a determinados dispositivos Android especificando el instrumental que debe mostrar, su ubicación y valor por defecto sin que deba hacerlo expresamente el programador de tableros. En la Figura 57 se muestra la primer vista que se ejecuta al iniciar el sistema. Figura 57: Ventana de comandos para la programación de instrumentos 91 91 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Cliente Este módulo actúa como un intermediario entre el Sistema y el Usuario, donde el Servidor puede mostrar información al usuario y este último puede interactuar con el sistema mediante botones, interruptores o palancas. Cada Cliente posee los objetos necesarios que debe utilizar, debiendo recibir del Servidor sólo las indicaciones de que objetos mostrar, que ubicación darle y el valor que debe indicar el instrumento. Cada dispositivo permitirá visualizar un grupo de instrumentos del tablero del vehículo. En la Figura 58 puede verse mediante un diagrama de clases como se vinculan las clases del cliente. Componentes del Cliente 1. PlaneInstrumentalActivity Es una Activity de Android encargada de interpretar la información enviada por el servidor y dibujar correctamente el componente correspondiente y sus respectivos valores, es decir dibuja en pantalla los instrumentales que le son indicados. Para ello interpreta la información enviada desde el servidor a través de mensajes y confecciona el instrumento en pantalla. También controla que los instrumentos no se superpongan, eliminando el instrumento anterior en caso de superposición con el nuevo a ser mostrado y notifica al servidor del instrumento eliminado. 92 92 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas 2. TCP Client TCP Client se encarga de la conexión con el servidor, la realiza mediante un socket de conexión bidireccional, esta clase se encarga de enviar los paquetes de mensajes al servidor y de recibir la información que se le envíe para poder graficar el instrumental que se requiera. Figura 58: Diagrama de clases del módulo del cliente 3. IndicatorElement Contiene los datos de un instrumento del tablero, este puede ser un botón, perilla, un indicador tipo reloj, etc. Englobando todo aquel instrumento que puede mostrarse en un instrumental. 93 93 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas 4. Indicators Es una abstracción que engloba los distintos instrumentos y posee funciones que permiten escalar y rotar los instrumentos para encajarlos en la vista del dispositivo. El instrumental posee dos tipos de instrumentos, por un lado, están los que indican cosas al usuario mediante relojes o indicadores y, por otro lado, una ampliación de estos que permiten al usuario interactuar con el servidor e indicarle ciertas acciones para realizar, como el encendido o apagado de funciones. Para este trabajo se desarrollan siete instrumentos de este tipo que corresponden a los instrumentos básicos de un avión estándar los cuales son: indicador de velocidad, indicador de dirección (brújula), indicador de viraje e indicador de coordinación, altímetro, horizonte artificial, barómetro, indicador velocidad vertical. 4.1.Altimeter (altímetro) Este objeto se encarga de crear un instrumento de altímetro de un avión, el cual se utiliza para indicar la altura en la que se encuentra el avión. Esto lo hace mediante dos agujas una más grande que la otra, donde el movimiento de la más pequeña se produce por cada vuelta entera de la más grande, similarmente al funcionamiento de las agujas de un reloj de hora. Este instrumento posee dos agujas que interactúan una con la otra, de manera que la más pequeña indica una unidad por cada vuelta completa de la más grande. Por lo que se necesita sólo un valor de entrada para actualizar este instrumento. Los valores aceptados por el parámetro van desde 0 a 129600, valor representado por los 360 valores que acepta la aguja grande en un giro por 94 94 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas los 360 valores indicados por la aguja pequeña cada una vuelta completa de la aguja grande 4.2. Attitude (horizonte artificial) Este es uno de los instrumentos más complejos, ya que debe sincronizarse la rotación y traslación de varias figuras móviles al mismo tiempo, entre las más importantes tenemos por un lado la imagen que representa al cielo y por otro a la tierra las cuales permiten orientar al usuario si el avión está en dirección ascendente o descendente y que inclinación tiene respecto su horizontal. La Figura 59 muestra algunas de las variantes que se pueden producir en el instrumento según los virajes realizados, donde puede verse en la parte superior de la figura la posición del avión y en la parte inferior como se visualiza en el instrumento. Figura 59: Interpretación del horizonte artificial Este instrumento requiere de dos parámetros de valores para ser actualizados, uno de estos parámetros que deben recibirse indicará el ángulo de rotación del avión, siendo su valor entre 0 y 360 referentes al ángulo de rotación de las partes móviles del instrumento y el otro la altura que deben 95 95 1 de mayo de 2016 Salvatori Lucas GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android desplazarse las partes móviles respecto del centro del instrumento, visualizando el ascenso o descenso del avión, este último valor deberá estar entre 0 y el tamaño en altura que posee el instrumento, siendo el cero el valor cuando la línea se encuentra en la parte inferior del instrumento. 4.3. Compass (brújula) Este componente representa a la brújula, su funcionamiento es sencillo porque sólo debe indicar hacia donde se dirige el avión respecto a la orientación de los puntos cardinales. Para la actualización de este instrumento sólo se requiere de un valor, el cual indica el ángulo de giro que posee el avión. Este valor debe ser de 0 a 360, indicando los grados de giro que debe rotarse la parte móvil del instrumento. Siendo el valor 0 el correspondiente al Norte. 4.4. Speedometer (velocímetro) Indica la velocidad a la que se dirige el avión. Este componente puede ser reutilizado en varios vehículos ya que la gran mayoría de ellos indican al usuario la velocidad a la que circulan. Al igual que la brújula, este instrumento sólo requiere de un parámetro que actualiza la aguja que indica la velocidad del avión. Este parámetro contiene valores de 0 a 360 los cuales indican los grados de rotación de la aguja. 96 96 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas 4.5. Varometer (velocidad vertical) Este es un componente muy sencillo porque posee una sola aguja, la cual indica la velocidad a la que el avión asciende o desciende. Su funcionamiento es muy similar al del velocímetro. Por tal motivo el valor del parámetro que recibe va de 0 a 360 indicando los grados de rotación de la aguja. 4.6. Estability (inclinómetro y coordinador de giro) Este componente está compuesto por dos instrumentos, uno de ellos es el coordinador de giro el cual indica el grado de inclinación de las alas del avión y en qué dirección ocurre y el otro corresponde a una bola en un tubo transparente que se desliza por su interior en función del desplazamiento del eje longitudinal del avión. Para este componente se requieren dos valores uno para indicar los grados de inclinación que van desde 0 a 360 grados y otro que va desde -3 a 3 que indica el desplazamiento longitudinal del avión. 97 97 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas 4.7. Interaction Este es otro tipo de clasificación de componentes de los cuales se desprenden dos subtipos los del tipo botón y barras deslizables. Aquí se encuentran los componentes donde el usuario puede interactuar con el servidor indicándole mediante botones, perillas o barras diferentes acciones que quiere que el vehículo realice. Como la función de este tipo de instrumentos es que el usuario indique acciones que desea que sean realizadas por el avión, no requieren de la introducción de valores con parámetros de ingreso, sino que los valores son enviados al servidor según lo indique el usuario a través del instrumento. 4.7.1. Button (botón) Este tipo de componente puede ser utilizado para otorgarle acciones a distintos botones que quieran agregarse al tablero de instrumentos. Su funcionamiento consiste en informar al servidor su cambio de estado en caso de ser accionado por el usuario. En este trabajo se presentan tres modelos de botones en sus dos estados posibles (encendido / apagado). Los mismos están ilustrados en la Figura 60. Figura 60: Ilustración de los botones presentados en el sistema Este instrumento envía al servidor valores que indican que el botón fue accionado o no utilizándose verdadero o falso. 98 98 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas 4.7.2. Slidebar (barra deslizable) Las barras de desplazamiento pueden ser utilizadas para que el usuario indique acciones de tipo incrementar o disminuir, como dar potencia a un motor o disminuirla paulatinamente. Un ejemplo de una posible barra deslizable se muestra en la Figura 61. Figura 61: barra deslizable Esta barra deslizable permite al usuario indicar valores de 0 a 100 los cuales son enviados al servidor. 4.7.3. Koob (perilla circular) Este instrumento consta de una perilla en forma circular utilizada por el usuario para indicar al servidor el incremento o disminución paulatinamente de valores. Su funcionamiento puede verse similar al de los slidebar pero con un movimiento circular en vez de lineal. Figura 62: perilla circular progresiva La Figura 62 muestra un ejemplo de la perilla circular. Esta perilla permite al usuario indicar valores de 0 a 360 según sea rotada, enviándose esta información al servidor. 99 99 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Mensajes Como se mencionó anteriormente el cliente y el servidor se conectan mediante un canal llamado socket por el cual se envían mensajes. Tanto el cliente como el servidor envían mensajes con distinto formato, es decir, el servidor envía mensajes de un cierto formato, al que llamaremos mensajes del servidor y el cliente envía mensajes con un formato particular al que llamaremos mensajes del cliente. Demás está decir que el cliente sabe interpretar los mensajes enviados por el servidor y viceversa. Los mensajes enviados por el servidor, llamados mensajes del servidor (ServerMessage.java), contienen información del instrumento al que se hace referencia y que se desea hacer con dicho instrumento, es decir si se desea crearlo o modificar su estado o valor. En caso de querer modificar su estado o valor se indica el o los valores a modificar y en caso de tratarse de la creación de un instrumento se envían los valores de ubicación, su alto, su ancho y el valor inicial que debe mostrar. Los mensajes enviados por el cliente, llamados mensajes del cliente (ClientMessage.java), contienen la información que indica al servidor cuando un instrumento de interacción es accionado por el usuario, este mensaje almacena cual es el instrumento y el estado en que se encuentra. Ambos tipos de mensajes se sincronizan implementando la interfaz serializable de java la cual serializa al objeto del mensaje. El envío de mensajes se realiza de manera asíncrona donde el transmisor envía datos sin previo aviso y el receptor debe estar preparado para aceptar datos en cualquier momento. 100 10 0 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas La serialización de un objeto consiste en obtener una secuencia de bytes que represente el estado de dicho objeto. Esta secuencia puede utilizarse de varias maneras (puede enviarse a través de la red, guardarse en un fichero para su uso posterior, utilizarse para recomponer el objeto original, etc.). Figura 63: Clases de los mensajes cliente y servidor 101 10 1 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas La Figura 63 muestra cómo están diagramadas las clases de los mensajes que envía el cliente y los mensajes que envía el servidor. Vinculación con simulador Como se indicó anteriormente el sistema se puede vincular a un simulador de vuelo, en este caso se conecta al FSX, de donde se obtendrán los valores de los instrumentos de manera de actualizar el instrumental de los dispositivos Android en tiempo real. Para el caso de FSX, la vinculación se realiza mediante una implementación en Java de la API SimConnect proporcionada por Microsoft en su página oficial [24]. Librería jSimConnect Introducción jSimConnect es una implementación Java de una librería cliente SimConnect. SimConnect es una arquitectura cliente / servidor que permite a los desarrolladores de complementos comunicarse con una instancia en ejecución de FSX. La librería original cliente SimConnect incluida con la edición de lujo de FSX sólo es compatible con C / C ++ y lenguas CLI compatibles. Esta biblioteca es un intento de proporcionar el mismo conjunto de funcionalidades para desarrolladores de lenguaje Java. jSimConnect se distribuye bajo los términos de la licencia LGPL. 102 10 2 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Arquitectura jSimConnect no es una interfaz nativa de la librería Microsoft original, es una nueva implementación completa del cliente, que cumple parcialmente la versión 4 del protocolo SimConnect (correspondiente a las características de FSX, SP1 y SP2). Por tanto, es totalmente portátil en todas las arquitecturas soportadas por JVM (versión 5.0). Se puede utilizar en la misma máquina que FSX u otra máquina a través de una red TCP/IP. [25]. Figura 64: Conexión del cliente SimConnect con el servidor de Microsoft ESP En la Figura 64 se ilustra la comunicación a través de la librería SimConnect para acceder a los datos de la simulación ejecutada en FSX. 103 10 3 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas El SDK de Microsoft ESP es el componente principal del producto ESP. ESP es un conjunto de herramientas que permite la simulación de los objetos del mundo real. El objetivo principal de esta primera versión es la aviación. A continuación, detallaremos las funciones de SimConnect utilizadas en este proyecto: SimConnect_AddToDataDefinition Las variables de simulación son referenciadas desde clientes SimConnect con la llamada a la función SimConnect_AddToDataDefinition. Esta función se utiliza para agregar un nombre de variable de simulación ESP a una definición de objetos de cliente definido. Sintaxis HRESULT SimConnect_AddToDataDefinition( HANDLE hSimConnect, SIMCONNECT_DATA_DEFINITION_ID DefineID, const char* DatumName, const char* UnitsName, SIMCONNECT_DATATYPE DatumType = SIMCONNECT_DATATYPE_FLOAT64, float fEpsilon = 0, DWORD DatumID = SIMCONNECT_UNUSED ); Parámetros hSimConnect [in] El Handle para un SimConnect. DefineID [in] Especifica el ID de la definición de datos cliente definido. 104 10 4 1 de mayo de 2016 Salvatori Lucas GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android DatumName [in] Especifica el nombre de la variable de simulación ESP. Este listado de variables se encuentra en el documento “Simulation Variables” en una tabla de nombres de variables. Si se requiere un índice, entonces debe ser añadido al nombre de variable seguido de dos puntos, véase el ejemplo para DEFINITION_2 continuación. Los índices se numeran desde 1 (no cero). Los nombres de variables de simulación no distinguen entre mayúsculas y minúsculas (por lo que se pueden introducir en mayúsculas o minúsculas). UnitsName [in] Especifica las unidades de la variable. Ver el documento “Simulation Variables” para una tabla de nombres de las unidades aceptadas. Es posible especificar diferentes unidades para recibir los datos especificados en el documento de variables de simulación. Ver DEFINITION_2 abajo para un ejemplo. Las unidades alternativas deben venir en la misma partida (como velocidad angular, o volumen, según se especifica en la sección del documento Variables Simulación Unidades de medida). Para cadenas y estructuras introduzca "NULL" para este parámetro. DatumType [in, optional] Un miembro del tipo de enumeración SIMCONNECT_DATATYPE. Este parámetro se utiliza para determinar qué tipo de datos se debe utilizar para devolver los datos. El valor predeterminado es SIMCONNECT_DATATYPE_FLOAT64. Los tipos de datos de estructura son parámetros específicos. 105 10 5 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas fEpsilon [in, optional] El dato es devuelto sólo cuando cambia (ver el parámetro flags de SimConnect_RequestDataOnSimObject), un cambio se reportará si es mayor que el valor del parámetro (no mayor o igual a). El valor por defecto es cero, por lo que incluso el cambio más pequeño iniciará la transmisión de datos. Este valor debe establecerse apropiadamente para evitar que se trasmitan cambios insignificantes. Puede utilizarse con valores enteros, el valor de punto flotante fEpsilon primero se trunca a su componente de número entero antes de realizarse la comparación (por ejemplo, un valor fEpsilon de 2,9 se trunca a 2, por lo que un cambio de datos de 2 no desencadena una transmisión, y un cambio de 3 si lo hará). DatumID [in, optional] Especifica un cliente definido como ID de dato. El valor por defecto es cero. Esta opción se utiliza para identificar los datos recibidos si los datos se devuelven en formato etiquetado (ver el parámetro flags de SimConnect_RequestDataOnSimObject). No hay necesidad de especificar los ID de referencia si los datos no se devuelven en formato etiquetado. Valores devueltos La función retorna un HRESULT. Los valores posibles están en la Tabla 1. Return value Description S_OK La función tuvo éxito. E_FAIL falló la función. Tabla 1: valor devuelto en HRESULT por la función SimConnect_AddToDataDefinition 106 10 6 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Ejemplos hr = SimConnect_AddToDataDefinition(hSimConnect, "Kohlsman setting hg", "inHg"); hr = SimConnect_AddToDataDefinition(hSimConnect, "Indicated Altitude", "feet"); hr = SimConnect_AddToDataDefinition(hSimConnect, "Plane Latitude", "degrees"); hr = SimConnect_AddToDataDefinition(hSimConnect, "Plane Longitude", "degrees"); hr = SimConnect_AddToDataDefinition(hSimConnect, "GENERAL ENG RPM:1", "rpm"); hr = SimConnect_AddToDataDefinition(hSimConnect, "GENERAL ENG RPM:2", "revolutions per minute"); hr = SimConnect_AddToDataDefinition(hSimConnect, "GENERAL ENG RPM:3", "degrees per second"); hr = SimConnect_AddToDataDefinition(hSimConnect, "GENERAL ENG RPM:4", "minutes per round"); DEFINITION_1, DEFINITION_1, DEFINITION_1, DEFINITION_1, DEFINITION_2, DEFINITION_2, DEFINITION_2, DEFINITION_2, SimConnect_Open La función SimConnect_Open se utiliza para enviar una petición al servidor de ESP para abrir las comunicaciones con un nuevo cliente. Syntax HRESULT SimConnect_Open( HANDLE* phSimConnect, LPCSTR szName, HWND hWnd, DWORD UserEventWin32, HANDLE hEventHandle, DWORD ConfigIndex ); 107 10 7 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Parameters phSimConnect [in] Es un puntero a un identificador para un objeto SimConnect. szName [in] Es un puntero a una cadena terminada en cero que contiene un nombre apropiado para el programa cliente. La cadena vacía ("") es una entrada válida, NULL no es compatible. hWnd [in] Controla a un objeto de Windows. Este parámetro debe fijarse en NULL si no desea utilizarse. UserEventWin32 [in] Número de código que el cliente puede especificar. Debe colocarse en 0 si no será utilizado. hEventHandle [in] Es un manejador de eventos de Windows. Un cliente puede agregarse para responder a Eventos de Windows, en lugar de utilizar un sistema de polling y callback, que puede ser un proceso más eficiente si el cliente no tiene que responder con frecuencia a los cambios de datos en ESP. 108 10 8 1 de mayo de 2016 Salvatori Lucas GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android ConfigIndex [in] Es el índice de configuración. El archivo SimConnect.cfg puede contener un número de configuraciones, identificado en las secciones con el título [SimConnect] o [SimConnect.N]. Al establecer este índice de configuración indica cada ajuste de configuración que se utilizará para este cliente SimConnect. Esto es útil para aplicaciones que se comunican con diferentes computadoras que ejecutan ESP. El índice de configuración por defecto es cero (que coincide con una entrada [SimConnect] en un archivo SimConnect.cfg). Debe considerarse el valor de retorno E_INVALIDARG. Return Values La función retorna un HRESULT. Los valores posibles están en la Tabla 2. Return value Description S_OK La función tuvo éxito. E_FAIL falló la función. E_INVALIDARG Un SimConnect en el archivo Simconnect.cfg no contenía el índice de configuración solicitada en los parámetros. Tabla 2: valor devuelto en HRESULT por la función SimConnect_Open 109 10 9 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas SimConnect_RequestDataOnSimObject La función SimConnect_RequestDataOnSimObject se utiliza para solicitar cuando el cliente SimConnect está listo para recibir los valores de datos para un objeto específico. Syntax HRESULT SimConnect_RequestDataOnSimObject( HANDLE hSimConnect, SIMCONNECT_DATA_REQUEST_ID RequestID, SIMCONNECT_DATA_DEFINITION_ID DefineID, SIMCONNECT_OBJECT_ID ObjectID, SIMCONNECT_PERIOD Period, SIMCONNECT_DATA_REQUEST_FLAG Flags = 0, DWORD origin = 0, DWORD interval = 0, DWORD limit = 0 ); Parameters hSimConnect [in] Manejador (Handle) para un objeto SimConnect. RequestID [in] Especifica el ID de la solicitud del cliente definido. Esto se utiliza más tarde por el cliente para identificar qué datos han sido recibidos. Este valor debe ser único para cada solicitud, la reutilización de un RequestID se sobrepone a cualquier solicitud anterior utilizando el mismo ID. DefineID [in] Especifica el ID del cliente definido en data definition. 110 11 0 1 de mayo de 2016 Salvatori Lucas GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android ObjectID [in] Especifica el ID del objeto ESP al que debe asociarse. Este ID puede ser SIMCONNECT_OBJECT_ID_USER (para especificar los aviones del usuario) o se obtiene a partir de SIMCONNECT_RECV_SIMOBJECT_DATA_BYTYPE después una de estructura llamar a la función SimConnect_RequestDataOnSimObjectType. Period [in] Un miembro del tipo de enumeración del SIMCONNECT_PERIOD, especificando la frecuencia con la que los datos se enviarán por el servidor y recibirán por el cliente. Flags [in, optional] Un DWORD contiene uno o más de los valores 0, SIMCONNECT_DATA_REQUEST_FLAG_CHANGED, SIMCONNECT_DATA_REQUEST_FLAG_TAGGED Origin [in, optional] El número de “Period” eventos que transcurrirán antes de la transmisión de datos. El valor por defecto es cero, lo que significa que las transmisiones comenzarán inmediatamente. Interval [in, optional] El número de “Period” eventos que transcurren entre la transmisión de datos. El valor por defecto es cero, lo que significa que los datos se transmiten cada “Period”. Limit [in, optional] El número de veces que los datos deben ser transmitidos 111 11 1 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas antes que la comunicación termine. El valor por defecto es cero, lo que significa que los datos deben ser transmitidos infinitamente. Return Values La función retorna un HRESULT. Los valores posibles están en la Tabla 3. Return value Description S_OK La función tuvo éxito. E_FAIL falló la función. Tabla 3: valor devuelto en HRESULT por la función SimConnect_RequestDataOnSimObject 112 11 2 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Modelado del sistema Aquí se describe el sistema mediante algunos diagramas del lenguaje UML2, que es un estándar OMG3 diseñado para visualizar, especificar, construir y documentar software orientado a objetos. Modelo estructural Diagrama de Objetos Figura 65: Diagrama de objetos del sistema UML (Unified Modeling Language) es un lenguaje de modelado de sistemas de software. OMG (Object Management Group) es un consorcio dedicado al establecimiento de diversos estándares de tecnologías orientadas a objetos. 2 3 113 11 3 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas En la Figura 65 puede verse el diagrama de objetos del sistema, claramente se observa al objeto ServerConnectionStream en el módulo del servidor y al objeto TCPClient en el módulo del cliente, que son los encargados de conectar al servidor y al cliente y administrar el envío y recepción de mensajes entre los módulos. Modelo de comportamiento Casos de Uso Actores intervinientes en el sistema Nombre: Programador de tableros. Descripción: Representa al personal capacitado para la utilización del sistema y la generación de tableros de vehículos. Posee la capacitación y conocimientos necesarios del tablero del vehículo que se desea generar y de cómo hacerlo a través del sistema. Nombre: Usuario. Descripción: Representa al piloto, conductor o persona que utiliza el tablero generado. Tiene los conocimientos necesarios para la lectura y utilización del instrumental generado por medio del sistema. Descripción de los casos de uso Nombre: Generar un instrumento. (ver Figura 66) Descripción: Permite crear un nuevo instrumento. Actores: Programador de tableros / Usuario. Precondiciones: El servidor del sistema debe estar iniciado y los dispositivos requeridos deben estar conectados al servidor. 114 11 4 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Flujo de ejecución: 1. El sistema muestra la pantalla de ingreso de datos al programador de tareas. 2. El programador de tareas ingresa los datos del instrumento que desea crear en qué dispositivo y la ubicación dentro del mismo. 3. El programador de tableros pulsa sobre el botón para indicar al sistema que ya ingresó los datos 4. El sistema genera el mensaje que enviará al dispositivo. 5. El sistema obtiene el socket de comunicación con el dispositivo indicado. 6. El sistema envía el mensaje al dispositivo. 7. El dispositivo crea el instrumento según las especificaciones recibidas a través del mensaje. 8. El usuario visualiza el instrumento, pudiendo interactuar con él. 115 11 5 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Figura 66: Diagrama de caso de uso - Generar un instrumento Nombre: Conectar dispositivo al servidor. (ver Figura 67) Descripción: Conecta a un dispositivo dado con el servidor del sistema. Actores: Programador de tableros. Precondiciones: El servidor debe estar corriendo. 116 11 6 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Flujo de ejecución: 1. El programador de tableros inicia la aplicación en el dispositivo. 2. El programador de tableros ingresa el valor IP del servidor en el dispositivo y presiona el botón para conectar. 3. El dispositivo envía el mensaje de conexión al servidor a través del canal de comunicación. 4. El servidor acepta la conexión. 5. El servidor almacena los datos del dispositivo en una lista de dispositivos conectados. Figura 67: diagrama de caso de uso - Conectar dispositivo a servidor 117 11 7 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Nombre: Generar tablero predefinido. (ver Figura 68) Descripción: El sistema generará un tablero predefinido de un vehículo seleccionándolo dentro de un listado que posee el sistema. El sistema sabrá la ubicación de cada instrumento y en cual dispositivo será visualizado. Actores: Programador de tableros / Usuario. Precondiciones: El servidor del sistema debe estar iniciado y los dispositivos requeridos deben estar conectados al servidor. Flujo de ejecución: 1. El sistema muestra la pantalla de ingreso de datos al programador de tareas. 2. El programador de tareas selecciona de una lista el tablero predefinido que desea generar. 3. El programador de tableros pulsa sobre el botón para indicar al servidor la elección realizada. 4. El sistema genera los mensajes para cada instrumento y los envía a los distintos dispositivos según corresponda. 5. Cada dispositivo crea los instrumentos según las especificaciones recibidas a través de los mensajes. 6. El usuario visualiza el tablero del vehículo, pudiendo interactuar con él. 118 11 8 1 de mayo de 2016 Salvatori Lucas GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android Figura 68: Diagrama de caso de uso - Generar un tablero predefinido Nombre: Accionar un instrumento interactivo. (ver Figura 69) Descripción: El usuario acciona un instrumento interactivo pulsando sobre la pantalla del dispositivo o ingresando los valores requeridos. Luego el dispositivo envía esta información al servidor. Actores: Usuario. Precondiciones: El sistema debe estar funcionando con los dispositivos conectados y el tablero del vehículo debe estar generado o al menos debe estar creado el instrumento interactivo que el usuario desea accionar. 119 11 9 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Flujo de ejecución: 1. El usuario acciona el instrumento interactivo. 2. El dispositivo que posee el instrumento interactivo accionado genera un mensaje con la información del dispositivo, el instrumento y el estado o valor accionado. 3. El dispositivo envía el mensaje generado al servidor. 4. El servidor recibe el mensaje, lo procesa y le da tratamiento según corresponda. Figura 69: Diagrama de caso de uso - Accionar un instrumento de interacción Nombre: Obtener datos de un simulador. (ver Figura 70) Descripción: El programador de tableros indica al sistema que el servidor se conecte a un simulador dado, para obtener los valores de los instrumentos en tiempo real. 120 12 0 1 de mayo de 2016 Salvatori Lucas GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android Actores: Programador de tableros / Usuario. Precondiciones: El sistema debe estar funcionando con los dispositivos conectados y el tablero generado según el vehículo que se desea vincular a la simulación. Flujo de ejecución: 1. El programador de tableros presiona el botón indicando al sistema que se conecte al simulador. 2. El sistema envía la solicitud de conexión al simulador. 3. El simulador acepta la solicitud de conexión. 4. El sistema comienza a recibir datos del instrumental del simulador y los envía a los dispositivos. 5. Cada dispositivo actualiza sus instrumentos según las especificaciones recibidas a través de los mensajes. 6. El usuario visualiza el tablero del vehículo actualizándose periódicamente. 121 12 1 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Figura 70: Diagrama de caso de uso - Obtener datos de un simulador Modelo dinámico Diagramas de Secuencia Mediante estos diagramas se resalta el orden temporal de los mensajes enviados entre los objetos del sistema. Se ejemplifican algunos casos particulares. La Figura 71 detalla cómo se comunican los objetos cuando el programador de tableros indica al servidor, a través de la pantalla de ingreso de datos, el instrumento que desea crear. Al recibir esta información el servidor confecciona un mensaje el cual envía a través de su módulo de comunicación ServerConnection. Por su lado el cliente cuando recibe este mensaje, lo decodifica y crea el instrumento el cual muestra al usuario. 122 12 2 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Figura 71: Diagrama de Secuencia - generar nuevo instrumento La Figura 72 muestra la comunicación de ciertos objetos del sistema cuando un usuario acciona un instrumento de interacción visualizado en alguno de los dispositivos conectados al servidor. Provocando que el dispositivo actualice la vista del instrumento al usuario, luego de realizada la acción, y que a través del objeto TCPClient envíe un mensaje al servidor informando la acción realizada por el usuario al instrumento. Al recibir este mensaje, el servidor modifica los parámetros correspondientes. Figura 72: Diagrama de Secuencia - accionar un instrumento 123 12 3 1 de mayo de 2016 Salvatori Lucas GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android La Figura 73 muestra como el servidor obtiene la información, desde la API SimConnect del simulador, para actualizar el instrumento deseado. Una vez obtenida esta información el servidor la transfiere al cliente correspondiente para que actualice el instrumento luego de decodificar el mensaje recibido. Figura 73: Diagrama de Secuencia - actualizar instrumento desde el simulador 124 12 4 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Capítulo VII Utilización del Sistema Requisitos del sistema Para la utilización del sistema es necesaria una computadora donde correrá el servidor, este debe contar con un procesador dual core o superior y al menos 2 gb de memoria RAM y uno o varios dispositivos con sistema operativo Android de versión 2.2 o superior, dependiendo del tablero que se desea crear, donde se ejecutarán los clientes. Utilización por el programador de tableros Primero se deberá ejecutar el servidor y pulsar el botón “start” de la ventana principal para que quede a la espera de conexión de clientes. Luego se deben ejecutar una a una las aplicaciones de los dispositivos Android y colocarle la dirección IP del servidor para que se conecten y registren, a esta etapa la llamaremos fase de conexión. Una vez que todos los dispositivos están conectados al servidor podremos comenzar con la creación del tablero. A cada dispositivo se le asigna un número según el orden de conexión, es decir el primero que se conecte recibirá el 1, el siguiente el 2 y así sucesivamente. 125 12 5 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Para la creación del tablero se puede elegir el tipo de seteo predefinido donde se habilita desde el menú desplegable para la generación de un tablero en particular, en el ejemplo programado en este sistema el tablero corresponde al instrumental básico de una cabina de un avión Cessna 172. Una vez seleccionada esta opción, debe presionarse el botón “Send” para enviar la orden a los dispositivos, el sistema enviará los mensajes necesarios a los distintos dispositivos (los cuales deberán estar situados en las posiciones correctas) para crear el instrumental de la cabina. En caso de elegirse el tipo de seteo personalizado el programador de tableros tiene que indicar uno a uno cada instrumento que desee generar, en que dispositivo y la posición en la pantalla. Los instrumentos se encuentran enumerados de la siguiente manera: 1. Velocímetro 2. Inclinómetro y coordinador de giro 3. Horizonte artificial 4. Altímetro 5. Brújula 6. Barómetro 7. Botón 8. Interruptor 9. Palanca 10. Perilla lineal 11. Perilla circular El número de identificación del dispositivo en el servidor, se obtiene del orden de conexión, es decir si fue el primero en conectarse tiene el número 1, etc.; y la ubicación se indica con los valores de posición en altura y posición a izquierda, donde se especifica la distancia que se encontrará el instrumento de la parte superior y del lado izquierdo de la pantalla. 126 12 6 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Actualización de instrumentos Una vez creado el instrumento, éste puede modificarse cambiando el tipo de acción a “actualizar” en la ventana del servidor. Con esta acción se deberá indicar el número de dispositivo, el tipo de instrumento que se quiere modificar y completar los valores según corresponda al instrumento, es decir, en caso de instrumentos con una aguja se utiliza sólo el primer valor, en caso de dos agujas se utilizan el primer y segundo valor y por último, en caso de tres parámetros a configurar se utilizan los tres valores. Se debe tener en cuenta que los instrumentos no se superpongan, porque de ocurrir esto, el sistema elimina el instrumento anterior por el nuevo instrumento. A continuación, se detalla la cantidad de parámetros que deben indicarse a cada instrumento y el rango de valores válidos. Velocímetro Requiere un sólo parámetro cuyo valor válido debe estar entre 0 y 360. Inclinómetro y coordinador de giro Requiere dos parámetros de los cuales el primero indica el ángulo de inclinación del avión, cuyo valor válido debe estar entre 0, que indica que la posición del avión es paralela al suelo, y 90 que indica que el avión está perpendicular al suelo terrestre. El segundo parámetro indica el movimiento de la bolilla del coordinador de giro, cuyo valor válido está entre -30 y 30. Siendo los valores negativos los de la izquierda y los positivos los de la derecha. 127 12 7 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Horizonte artificial Requiere dos parámetros de los cuales el primero indica el ángulo de rotación, cuyo valor válido está comprendido entre 0 y 360. Y el segundo parámetro que indica la altura respecto al horizonte, cuyo valor válido se encuentra entre 0 y la altura del instrumento. Altímetro Requiere un sólo parámetro cuyo valor válido está entre 0 y 129600. Brújula Requiere un sólo parámetro cuyo valor válido está entre 0 y 360. Barómetro Requiere un sólo parámetro cuyo valor válido está entre 0 y 360. Los restantes instrumentos se encuentran dentro de los instrumentos de interacción y no requieren parámetros desde el servidor. Su función requiere enviar parámetros desde el cliente al servidor de manera inversa a los anteriores. Botón Este instrumento envía al servidor un único parámetro cuyo valor está comprendido entre verdadero y falso, indicando el encendido o apagado de funciones del avión. Interruptor Este instrumento actúa de manera muy similar al anterior enviando al servidor un único parámetro cuyo valor está comprendido entre verdadero y falso, indicando si se accionó o no alguna función del avión. 128 12 8 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Palanca Ídem a los dos instrumentos anteriores modificándose sólo su apariencia visual en forma de una palanca Perilla lineal Este instrumento envía al servidor un único parámetro cuyo valor está comprendido entre 0 y 100, permitiendo al usuario enviar al servidor valores gradualmente indicando el incremento o decremento en la funcionalidad de algún artefacto del avión. Perilla circular Ídem al anterior, pero que en lugar de accionarse desplazando una barra en forma lineal lo hace mediante una perilla circular. Sus valores válidos van desde 0 a 360. Utilización por el usuario Para la utilización del sistema el usuario o piloto sólo debe interpretar los valores indicados por los instrumentos, y accionar los botones o interruptores en el caso de instrumentos de interacción, para obtener las acciones deseadas. 129 12 9 1 de mayo de 2016 Salvatori Lucas GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android Capítulo VIII Casos de Pruebas En los capítulos anteriores se realizó un estudio de los instrumentos de algunos vehículos, profundizándose en el instrumental de vuelo y posteriormente se explicó detalladamente el sistema diseñado para la generación del instrumental básico de un avión. En este capítulo se presentan los casos de prueba realizados con el sistema GIVEDA, desarrollado para este trabajo final de grado. Para la ejecución de las pruebas realizadas con el sistema GIVEDA se utilizaron los siguientes componentes: Una tablet marca Okpad modelo A8i con pantalla de 8", procesador ARM Cortex A8 1GHz, sistema Operativo Android v2.2, memoria RAM DDR2 512 MB. Memoria interna 4 GB Flash. una tablet marca Asus Nexus modelo ME370T con pantalla de 7", procesador NVIDIA Tegra 3 quad-core 1.3GHz GPU ULP GeForce, sistema Operativo Android v4.1 Jelly Bean, memoria RAM DDR3 1 GB. Memoria interna 8 GB Flash. una tablet marca Philco modelo TB-PH03 con pantalla de 8", procesador BOXCHIP A10, CORTEX A8, 1.2GHz, sistema Operativo Android 4.0.4, memoria RAM DDR3 1 GB. Memoria interna 8 GB Flash. Un teléfono celular marca Sony modelo M4 aqua con pantalla de 5", procesador Qualcomm MSM8939 Snapdragon 615 octa-core 130 13 0 1 de mayo de 2016 Salvatori Lucas GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 64 bits (4 x 1.5GHz + 4 x 1GHz), GPU Adreno 405, sistema Operativo Android 5.0 Lollipop, memoria RAM DDR3 2 GB. Memoria interna 16 GB Flash. Una notebook marca Dell modelo Inspiron 1525 con procesador Intel Core 2 Duo T7250 de 2GHz, sistema Operativo Windows 7, memoria RAM 2GB. Las tablets fueron utilizadas para mostrar los instrumentos denominados tipo indicator, mientras que el celular al tener una pantalla más pequeña se utilizó para mostrar los instrumentos de tipo interaction. Ambos tipos de dispositivo (tablet y celular) ejecutaron la aplicación cliente para poder vincularse con el servidor y mostrar los instrumentos. La notebook ejecutó la aplicación servidor GIVEDA desarrollada y el simulador de vuelo Flight Simulator X al cual se conecta dicho servidor para obtener los datos de los instrumentos. Es necesario aclarar que la aplicación cliente puede ejecutarse en dispositivos con sistema operativo Android v2.2 o superior y la aplicación servidor puede correr en cualquier pc que soporte la ejecución del simulador Flight Simulator X. Se realizaron cinco casos de prueba que comprenden, inicio, despegue, aterrizaje, giro a derecha y giro a izquierda. 131 13 1 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Caso de prueba 1: inicio. En el inicio de cada prueba se comienza con la ejecución del servidor del sistema, la pantalla inicial del sistema se muestra en la Figura 74, donde el programador de tableros selecciona el tipo de instrumentos para un avión Cessna 172 distribuido en cuatro dispositivos cliente. Figura 74: Inicio del servidor del sistema En la Figura 75 puede verse que el programador de tableros presiona el botón “conectar”, indicando al servidor que quede a la escucha de clientes que deseen conectarse. 132 13 2 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Figura 75: Ejecución de la espera de conexión de clientes Por otro lado, el programador de tableros inicia la aplicación en cada dispositivo cliente visualizándose una primera pantalla donde se solicita se ingrese el número de IP correspondiente al servidor, en el caso de la prueba el servidor posee numero IP 172.16.0.109. Una vez ingresado el numero IP, el dispositivo cliente está listo para conectarse al servidor presionando el botón cargar IP. 133 13 3 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Figura 76: Pantalla de inicio de la aplicación cliente En la Figura 77 puede verse todo el conjunto del sistema listo para conectarse. Del lado izquierdo de la figura, se encentran los clientes ejecutándose en cada dispositivo con sistema operativo Android y del lado derecho se encuentra la computadora (notebook), donde se ejecuta el servidor y el simulador de vuelo. 134 13 4 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Figura 77: Inicio del sistema, aplicación servidor y clientes Una vez que el servidor está a la espera de conexiones de clientes y los dispositivos clientes están preparados para conectar, se comienza con la conexión de cada dispositivo presionando en el botón “cargar IP”. La conexión de cada dispositivo se realiza en el orden que se desea que el servidor reconozca a cada cliente, es decir que el primer dispositivo que se conecta es interpretado por el servidor como el dispositivo 1, el segundo como el dispositivo 2 y así sucesivamente. Es importante que se respete el orden de conexión según la ubicación de cada dispositivo, en este caso se hace de izquierda hacia derecha y de arriba hacia abajo. 135 13 5 1 de mayo de 2016 Salvatori Lucas GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android Debido que se seleccionó un tipo de instrumental predefinido de un Cessna 172 repartido en cuatro dispositivos, la distribución de los instrumentos está organizada de manera tal que en el dispositivo 1 se muestren el velocímetro y el indicador de giro, en el dispositivo 2 se muestren el horizonte artificial y la brújula, en el dispositivo 3 se muestren el altímetro y la velocidad vertical, y finalmente en el dispositivo 4 se muestren algunos botones de distintos tipos. Figura 78: Aplicaciones cliente conectadas al servidor Una vez conectados todos los dispositivos al servidor se obtendrá una pantalla en cada dispositivo, como la que se muestra en la Figura 78. Esta es una pantalla de color blanca con un rotulo del sistema, que queda a la espera de las instrucciones por parte del servidor para graficar el instrumental. 136 13 6 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Figura 79: Conexiones de clientes aceptadas por el servidor En la Figura 79, se muestra como del lado del servidor se listan los dispositivos a los cuales se aceptaron las conexiones. En este caso se ven cuatro dispositivos conectados. Una vez que los dispositivos clientes están conectados al servidor, se presiona el botón “enviar”, el cual da la orden para enviar los mensajes a los clientes para que dibujen los instrumentos correspondientes, esto se hace de forma automática porque se eligió el tipo de instrumento predefinido, de lo contrario debería hacerse manualmente. Hasta el momento se encuentran en ejecución todos los módulos del sistema, se han conectado los dispositivos clientes al servidor y estos muestran el instrumental correspondiente. Ahora se debe conectar al servidor con el simulador para recibir los valores reales de los instrumentos. 137 13 7 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Figura 80: Simulador ejecutado y vinculado al servidor Una vez conectado el simulador al servidor finalmente tenemos todo el sistema en funcionamiento. En la parte inferior izquierda de la Figura 80 puede verse la consola de eclipse donde se imprimen algunos de los valores recibidos en el servidor por parte del simulador. 138 13 8 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Figura 81: Sistema conectado con el instrumental distribuido en los clientes En la Figura 81 pueden verse todos los componentes del sistema funcionando y mostrando valores iniciales al vuelo a realizarse. La Figura 82 muestra más detalladamente el instrumental del simulador y la Figura 83 muestra los instrumentos en los dispositivos en un modo más detallado, de manera de poder compararse los valores que se visualizan tanto en la cabina del simulador como en los dispositivos. 139 13 9 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Figura 82: Inicio del vuelo en el simulador Figura 83: Clientes conectados y con sus instrumentos sincronizados 140 14 0 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Caso de prueba 2: despegue. Durante el despegue debe acelerarse la aeronave y llevar lentamente el timón hacia atrás a medida que va ganándose velocidad. Poco a poco el avión se eleva y como resultado en el instrumental se incrementa la velocidad, la altitud y el indicador de horizonte artificial muestra una gráfica que indica la elevación de la aeronave. En la Figura 84, se muestran las características referenciadas en el párrafo anterior. Figura 84: Despegue del avión en el simulador 141 14 1 1 de mayo de 2016 Salvatori Lucas GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android Figura 85: Instrumentos sincronizados al simulador en el despegue La Figura 85 muestra los instrumentos del simulador dibujados en los dispositivos clientes y puede notarse que los instrumentos indican exactamente los mismos valores. Si se presta atención puede notarse alguna alteración en la ubicación de la aguja de algún instrumento, pero esto se debe a la diferencia de escala en que se representa, siendo el valor que se muestra correcto. Como ejemplo puede verse la aguja del velocímetro que en la Figura 84 se ve inclinada a menos grados que en la Figura 85, pero si se presta atención ambos instrumentos indican una velocidad de un poco menos de 80 nudos. 142 14 2 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Caso de prueba 3: aterrizaje. Durante el aterrizaje deben seguirse los pasos inversos al despegue. Se debe reducir la altitud y la velocidad lentamente, logrando nivelar la aeronave cuando se está próximo al suelo. En la Figura 86 puede verse la cabina del simulador donde se aprecia que el velocímetro marca 140 nudos y el horizonte artificial visualiza un esquema indicando la posición en descenso del avión. Figura 86: Descenso del avión en el simulador Prestando atención a la Figura 87 los mismos valores son mostrados en los dispositivos clientes 143 14 3 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Figura 87: Instrumental de los clientes graficando el descenso en el simulador Figura 88: Vista del conjunto de todo el sistema durante el aterrizaje Por último, se observa en la Figura 88 el simulador y los dispositivos clientes mostrando la misma información. 144 14 4 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Caso de prueba 4: giro a derecha. Además de los instrumentos mencionados en el despegue y el aterrizaje, en los giros se utiliza el instrumento llamado coordinador de giro, el cual indica el grado de inclinación de las alas del avión. Además, posee una bolilla que se desplaza de derecha a izquierda indicando el derrape o desplazamiento. Durante el giro los instrumentos más relevantes a seguir serán el coordinador de giro el horizonte artificial, que brinda información similar al coordinador de giro y la brújula. Figura 89: Giro hacia la derecha del avión 145 14 5 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas En el giro hacia la derecha, realizado en este caso de prueba, la brújula muestra una dirección a unos 60 grados hacia el noreste, el horizonte artificial muestra un plano de tierra inclinado hacia la izquierda, como es razonable opuesto a la dirección a la cual se está girando. Respecto al coordinador de giro indica una correcta inclinación hacia la derecha de la aeronave y la bolilla indica un leve derrape en dirección hacia la derecha. Figura 90: Clientes con sus instrumentos sincronizados durante el giro a derecha Nuevamente aquí como en los casos de pruebas anteriores se muestra la cabina del simulador Figura 89 y los instrumentos dibujados en los dispositivos Figura 90, mostrándose en los instrumentos los mismos valores. 146 14 6 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Figura 91: Vista del conjunto de todo el sistema durante el giro a derecha A modo de demostrar que el simulador y el sistema muestran la misma información se provee la Figura 91 donde se visualizan ambos intervinientes juntos. 147 14 7 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Caso de prueba 5: giro a izquierda. Como en el caso de prueba anterior, éste también se trata de demostrar un giro, pero en este caso hacia la izquierda. Es de notar que los instrumentos a destacar son los mismos y que sus valores serán opuestos dado que se gira en sentido opuesto al caso de prueba anterior. Figura 92: Giro hacia la izquierda del avión Como muestra la Figura 92 se lee de los instrumentos que la brújula muestra una dirección a unos 65 grados hacia el noreste, el horizonte artificial muestra un plano de tierra inclinado hacia la derecha. Respecto al coordinador de giro indica una inclinación hacia la izquierda de la aeronave y la bolilla indica un derrape en dirección hacia la izquierda. 148 14 8 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Figura 93: Clientes con sus instrumentos sincronizados durante el giro a izquierda En la Figura 93 se encuentran los instrumentos indicando los mismos valores que los instrumentos del avión de la simulación y la Figura 94 muestra una visión general de todo el sistema funcionando durante el viraje. Figura 94: Vista del conjunto de todo el sistema durante el giro a izquierda 149 14 9 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Capítulo IX Conclusiones y Trabajos Futuros Conclusiones del trabajo Del presente trabajo se concluye que si bien existen varios proyectos y aplicaciones que se asemejan a la desarrollada en el presente trabajo final de grado, ninguna agrupa todas las características que ésta otorga, siendo interesante profundizar su investigación para lograr un producto único, completo y versátil. El trabajo desarrollado consta de una aplicación Servidor que se ejecuta en una computadora y otra aplicación Cliente que se ejecuta en uno o varios dispositivos Android. El Servidor distribuye los instrumentos básicos de una cabina de avión Cessna 172 entre los distintos dispositivos Android y se vincula con el simulador de vuelo Flight Simulator X para obtener los datos con los que actualiza en tiempo real el instrumental distribuido en los dispositivos. Con el simulador en ejecución, simulando un vuelo en un avión Cessna 172, el Servidor obtiene los datos del instrumental de la simulación y los envía a cada dispositivo según corresponda al instrumento que esté visualizando. El Servidor se conecta al simulador mediante una librería llamada Simconnect SDK y se conecta a los dispositivos a través de sockets de comunicación, usando el protocolo TCP/IP, por donde se trasmiten los mensajes con la información del instrumento. 150 15 0 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas El sistema genera los seis instrumentos básicos de un avión y los distribuye en tres tabletas con sistema operativo Android, los instrumentos pueden ser generados y distribuidos automáticamente o de manera manual. Una vez creados todos los instrumentos necesarios se conecta el Servidor al simulador para obtener los datos y actualizar los instrumentos. Si los instrumentos son generados manualmente, el sistema permite configurar en qué dispositivo se visualiza cada uno, cuál será su ubicación dentro del dispositivo y cuál será su tamaño. Si el servidor no se conecta al simulador se puede actualizar cada instrumento de forma manual indicándole el valor que se desea visualizar. Por el momento el sistema sólo realiza el instrumental básico de un avión de manera digital, emulando la versión analógica existente en un Cessna 172. Este instrumental básico es el que utilizan todos los aviones. Trabajos futuros Los trabajos que pueden realizarse a partir de las bases que aporta esta investigación son varios. A corto plazo pueden agregarse nuevos instrumentos de aviones al conjunto presentado en el sistema de este trabajo, dando así más versatilidad para la generación de distintos aviones y más complejos. Esta ampliación al sistema permitirá simular aviones completos. En un plazo medio puede pensarse en ampliar la funcionalidad del sistema en el cual se implementa el instrumental básico de un avión, de manera que la información que muestran los instrumentos se adquiera desde otros simuladores o desde sensores físicos, esto no será muy complicado debido que en este proyecto se obtienen valores de un simulador de vuelo, debiendo solamente re direccionar el origen de los valores obtenidos. Esta 151 15 1 1 de mayo de 2016 Salvatori Lucas GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android modificación permitirá utilizar a este sistema en la creación de simuladores de vuelos con instrumentales totalmente digitales, o lo que es aún mejor crear aviones con glass cockpit o cabina de cristal, diseñadas no sólo en pantallas LCD como las actualmente existentes, sino aplicadas a dispositivos táctiles con sistemas Android, permitiendo que programadores de este lenguaje codifiquen ampliaciones al sistema. En un plazo no tan cercano, podría ampliarse el sistema generando aplicaciones para los clientes que visualicen el tablero para otro tipo de vehículos como automóviles, trenes, barcos, motos etc. Pudiéndose ampliar progresivamente al tablero de cada tipo de vehículo o sólo al que se necesite generar. Esta ampliación tendrá un tiempo y costo de realización mucho menor al realizado en un principio, ya que se cuenta con las estructuras, bases gráficas y métodos reutilizables, diseñados y programados para el instrumental del avión del presente trabajo. También podría agregarse un instrumental de navegación que funcione con GPS como los utilizados en los actuales vehículos y/o un instrumento tipo Roadbook como el descripto en los instrumentos de navegación de la motocicleta. Realizadas todas estas propuestas de trabajos se obtendría un sistema integral de simulación de vehículos, donde mediante la ejecución de un sólo servidor se podrá confeccionar el tablero de diversos vehículos, sólo seleccionando en el cliente la aplicación correspondiente. Y finalmente en un plazo más largo, pensándolo a modo más futurista. Podría modificarse el sistema de manera que el usuario tenga la opción de cambiar la ubicación de los instrumentos, aprovechando aún más la ventaja ofrecida por los dispositivos táctiles. De esta manera, se puede dar más participación al usuario en la creación de nuevos tableros, orientando al 152 15 2 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas programador de tableros de cuáles pueden ser las ubicaciones más convenientes para su uso. Si se piensa de manera más ambiciosa, luego de obtener un sistema muy bien consolidado, puede verse la opción de integrarlo en vehículos reales, para visualizar el tablero en tiempo real. El mayor trabajo que se requerirá en esta ampliación serán los tiempos de respuesta que deben obtenerse en tiempo real, los cuales deberán ser rigurosamente testeados, para proporcionar la seguridad del usuario y evaluar una correcta conexión entre el servidor y los clientes en casos donde existan interferencias que puedan afectarla. 153 15 3 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Glosario de Términos Cabina: Refiere al conjunto de instrumentos de un avión. Cliente: es también llamado al dispositivo Android por ser éste el que actúa como cliente en el patrón Cliente-Servidor. Conjunto de instrumentos: son aquellos instrumentos que se agrupan por alguna función o característica. Device: es la unidad o dispositivo Android donde se ejecuta el cliente, es otra forma de referirse al Cliente. Digital instrument cluster: En español grupo de instrumentos digitales, se refiere a los nuevos tableros diseñados para automóviles modernos donde se cuentan con pantallas LCD las cuales muestran instrumentos e información al usuario. Dispositivo Android: dispositivo con sistema operativo Android, el cual puede ser una tableta, un Smartphone, etc. Fase de conexión: es el proceso en que cada dispositivo se conecta al servidor y espera los mensajes de instrucción para mostrar los instrumentos. FSX: abreviación de Flight Simulator X, simulador de vuelo diseñado por Microsoft en su versión número diez. Glass cockpit: En español cabina de cristal, se refiere a las nuevas cabinas de los aviones modernos donde gran parte del instrumental se visualiza en pantallas LCD. Instrumental: es un conjunto de instrumentos más pequeño que el tablero total. 154 15 4 1 de mayo de 2016 Salvatori Lucas GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android Instrumento: es un aparato que indica el valor de alguna característica que posee un vehículo, como por ejemplo el reloj del velocímetro que indica la velocidad a la que se desplaza el vehículo. LSA: Un avión conocido como aeronave deportiva ligera o LSA, es un avión pequeño que es fácil de volar y que cumple con ciertas normas establecidas por la autoridad aeronáutica nacional que restringen el peso y el rendimiento. Smartphone: son aquellos teléfonos celulares que poseen conectividad a internet y aplicaciones como navegadores web, reproductores de videos online, aplicaciones para el acceso a redes sociales, etc. Programador del tablero: es la persona capacitada en la utilización del sistema desarrollado en este trabajo final de grado para la generación de los tableros de vehículos. Tablero: En nuestro sistema llamaremos tablero al conjunto de instrumentos que conforman el instrumental de un vehículo en particular. Pudiendo ser tanto el tablero de un automóvil, una motocicleta o la cabina de cristal de un avión. Tableta: comúnmente conocido como Tablet, es un aparato con una pantalla táctil y con conectividad a internet y similares características a los Smartphones, pero generalmente poseen una pantalla más grande y carecen de la capacidad de llamadas telefónicas y envío de mensajes de textos. Usuario: es la persona que utiliza el tablero generado por el sistema, el cual podría ser un piloto o alguien capacitado en la conducción del vehículo. 155 15 5 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Bibliografía [1] X. Sarl, «Air Navigation Pro,» 02 07 2015. [En línea]. Available: https://play.google.com/store/apps/details?id=com.xample.airnavigati on. [Último acceso: 01 09 2015]. [2] B. S. &. H. Inc., «Aircraft Cockpit,» 28 10 2014. [En línea]. Available: https://play.google.com/store/apps/details?id=com.borknet.aircraftco ckpit. [Último acceso: 01 09 2015]. [3] P. Software, «GlassCockpit 1000,» 10 06 2014. [En línea]. Available: https://play.google.com/store/apps/details?id=com.peixsoft.glasscock pit1000. [Último acceso: 01 09 2015]. [4] L. Baltazar Studios, «XPlaneRemote Panel Plus,» 06 09 2012. [En línea]. Available: https://play.google.com/store/apps/details?id=org.baltazar.XPlaneRe motePlus. [Último acceso: 01 09 2015]. [5] Oro Verde, 01 11 2011. [En línea]. Available: http://simuladoresguarani.com.ar/. [Último acceso: 01 09 2015]. [6] Auto Body Magazine, «Auto Body Magazine,» [En línea]. Available: http://www.autobodymagazine.com.mx/abm_previo/2012/07/entendi endo-los-indicadores-del-panel-de-instrumentos-de-la-motocicleta4/. [Último acceso: 01 02 2015]. [7] Z. 4x4, «Zonda 4x4,» 2011. [En línea]. Available: http://zonda4x4.com.ar/index.php?option=com_content&view=article &id=335:como-leer-un-road-book-en-el-dakar-2011&catid=37:notasde-interes&Itemid=101. [Último acceso: 25 01 2015]. [8] J. G. d. l. Cuesta, Terminologia Aeronautica, Doña Juana I de Castilla, Madrid: Ediciones Diaz de Santos, S.A., 2003. 156 15 6 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android [9] 1 de mayo de 2016 Salvatori Lucas Wikipedia, «Wikipedia,» [En línea]. Available: https://es.wikipedia.org/wiki/Instrumentos_de_vuelo. [Último acceso: 02 02 2015]. [10] F. A. Administration, Instrument Flying Handbook - FAA-H-8083-15B, New York: United States Department of Transportation, 2013. [11] S. Nagabhushana y L. K. Sudha, Aircraft Instrumentation and Systems, New Delhi (India): I.K. International Publishing House Pvt. Ltd, 2010. [12] Freescale Semiconductor, Inc., «NXP,» 23 06 2010. [En línea]. Available: http://www.nxp.com/support/online-academy/freescalesolutions-for-instrument-cluster-and-driver-informationsystems:WBNR_FTF10_F0615?fsrch=1&sr=4&pageNum=1#. [Último acceso: 25 08 2015]. [13] B. Howard, «Extreme Tech,» 23 08 2012. [En línea]. Available: http://www.extremetech.com/extreme/131485-digital-dashboardwhy-your-cars-next-instrument-panel-will-be-one-big-lcd. [Último acceso: 13 06 2014]. [14] Visteon, «Visteon,» [En línea]. Available: http://www.visteon.com/products/electronics/reconfig_cluster.html. [Último acceso: 13 11 2014]. [15] W. Cunningham, «cnet,» 19 05 2009. [En línea]. Available: http://telematicsnews.info/2009/05/21/automotive-instrumentclusters-go-digital-3d/. [Último acceso: 14 06 2014]. [16] Tripy Iberica, «Tripy Iberica,» [En línea]. Available: http://www.tripyiberica.com/tripy-ll/. [Último acceso: 05 02 2015]. [17] OffRoadNAVI, «OffRoadNAVI,» [En línea]. Available: http://www.offroadnavi.com/en/maps-and-manuals/roadbook. [Último acceso: 05 02 2015]. [18] Nasa, «The Glass Cockpit,» 06 2000. [En línea]. Available: http://www.nasa.gov/centers/langley/news/factsheets/Glasscockpit.ht 157 15 7 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas ml. [Último acceso: 15 07 2014]. [19] T. Thinnes, «Western Michigan University College of Aviation's,» 26 06 2013. [En línea]. Available: http://hubspot.aviation.wmich.edu/WMUaviation/bid/300815/Learning -to-Fly-in-a-Cirrus-An-Aviation-Student-s-Perspective. [Último acceso: 16 11 2014]. [20] B. Bessette, Aircraft Glass Cockpit Operation & Maintenance: An Introduction Into Aircraft Glass Cockpit Systems, L. Bessette, Ed., CreateSpace Independent Publishing Platform, 2015. [21] F. D. USA, «Flight Design USA,» [En línea]. Available: http://flightdesignusa.com/aircraft/ctls/pricing-options/. [Último acceso: 27 11 2014]. [22] R. M. Herrera, «Hispaviacion 2.0,» 16 06 2015. [En línea]. Available: http://www.hispaviacion.es/instrumentacion-de-vuelo-requisitos-deoperacion/. [23] A. N. d. A. Civil, Parte 91 - Reglas de Vuelo y Operación General, Ciudad Autonoma de Buenos Aires - Argentina: Ministerio del Interior y Transporte, 2008. [24] J. P. -. P. -. A. Tandil, Interviewee, Resumen de instrumentos de vuelo. [Entrevista]. 15 11 2015. [25] M. Corporation, «Microsoft Flight Simulator,» 2009. [En línea]. Available: https://www.microsoft.com/Products/Games/FSInsider/developers/Pa ges/default.aspx. [Último acceso: 15 02 2015]. [26] Lc0277, «Lc0277,» 12 11 2006. [En línea]. Available: http://lc0277.gratisim.fr/jsimconnect.html. [Último acceso: 18 03 2015]. 158 15 8 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas 159 15 9 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Índice de acrónimos A ADI (Attitude Indicator u Horizonte artificial) ............................. 61 AHRS (Attitude and Heading Reference Systems) ....................... 56 ASI (Air Speed Indicator) ........................................................ 61 ANAC (Administración Nacional de Aviación Civil) ....................... 20 C CLI (Common Language Infrastructure) .............................. 82, 102 CRT (Cathode Ray Tube) ......................................................... 52 D DG (Directional Gyro) .............................................................. 61 F FSX (Flight Simulator X) .............................................................. .......5, 102, 103, 154, 163, 164, 165, 166, 167, 169, 170, 171, 172 G GPS (Global Positioning System)....... 15, 16, 28, 30, 42, 50, 65, 152 I IFR (Instrument Flight Rules) ....................................... 15, 40, 62 ILS (Instrumental Landing System) .......................... 2, 6, 7, 40, 63 IP (Internet Protocol) ................................................................. ................76, 83, 90, 103, 117, 125, 133, 135, 150, 165, 167, 169 L LCD (Liquid Crystal Display) ....... 7, 24, 41, 42, 43, 44, 60, 152, 154 LSA (Light Sport Aircraft) .............................................. 7, 56, 155 M MCU (Module Control Unit) ....................................................... 41 MIDS (Multifunctional Information Distribution System) .............. 66 O OACI (Organización Internacional de Aviación Civil) ................... 59 OMG (Object Management Group) .......................................... 113 P PFD (Primary Flight Display) .................................................... 60 160 16 0 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas R RAM (Ramdon Access Memory) ..................... 81, 82, 125, 130, 131 RPM (Revoluciones por Minuto) ......................................... 47, 107 S SDK (Software Development Kit) .. 82, 104, 150, 165, 166, 168, 169 T TCP (Transmission Control Protocol) .................76, 90, 93, 103, 150 TFT (Thin Film Transistor) ................................................... 42, 43 U UML (Unified Modeling Language) ........................................... 113 V VFR (visual flight rules) ...................................................... 15, 62 VSI (Vertical Speed Indicator) ............................................. 33, 61 161 16 1 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Apéndice A Comparación Cabina Convencional y Digital Figura 95: Private Piper PA-28-181 Archer III Figura 96: Tablero Avión Piper PA28-181 Archer III Figura 97: Piper Archer PA-28-181 LX Figura 98: Tablero Piper Archer PA28-181 LX 162 16 2 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Aquí se comparan dos modelos de un mismo avión (Piper Archer) donde puede verse los cambios de una cabina convencional a una cabina digital moderna. En la Figura 95 se muestra el aspecto exterior del avión Piper Archer III y en la Figura 96 puede observarse su cabina con un instrumental analógico. Asimismo, en la Figura 97 se muestra el aspecto exterior del avión Piper Archer LX predecesor del Piper Archer III y en la Figura 98 puede observarse su cabina actualizada a las modernas cabinas de cristal donde, a diferencia con su antecesor, su instrumental se combina con modelos analógicos y digitales proporcionando al piloto una mejor visualización del instrumental del avión. 163 16 3 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Apéndice B Configuración de FSX Configuración de red con SimConnect La configuración en red requiere varios pasos para configurar rutas a través de SimConnect y compartidas correctamente. Configuración de simulación en red Active Sky puede ser utilizado en una configuración en red, donde FSX se ejecuta en un equipo diferente (se requiere la versión FSX Deluxe). Para FS9, se requiere FSUIPC y WideFS (Por favor, consulte la documentación de esos productos). Esta guía se centra en SimConnect y FSX. Para permitir que esto funcione se requiere de redes adecuadas y la configuración de seguridad en ambos equipos. SimConnect es utilizado en modo cliente/servidor en red para facilitar las funciones de comunicaciones. Los accesos a archivos en red se utilizan para pasar datos entre las bases de datos de la estación de Sky, XGauge y FSX activos. Compartir carpetas Para utilizar correctamente Active Sky en una configuración en red, debe tener tres carpetas compartidas en su computadora FSX. Si no está familiarizado con la forma de compartir carpetas busque en Internet, ya que hay muchos recursos útiles. 164 16 4 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Carpetas para compartir: C:\Archivos de programa\Microsoft Games\Flight Simulator X (o la carpeta de instalación FSX) C:\Documents and Settings\[nombre de usuario]\Datos de programa\Microsoft\FSX (o si en Vista / 7, C:\Users\[nombre de usuario]\AppData\Roaming\Microsoft\FSX) C:\Documents and Settings\[nombre de usuario]\Mis documentos\Flight Simulator X Files (o si en Vista/7, C:\Users\[nombre de usuario]\Documentos\Flight Simulator X Files). Estas carpetas deben ser compartidas con permisos de escritura (Permitir que los usuarios de red cambien mis archivos). Si no puede encontrar estas carpetas, puede que tenga que habilitar "Mostrar archivos ocultos y de sistema" en las opciones de vista dentro de Explorador de Windows. Recomendamos el uso de los nombres de recursos compartidos por defecto para la simplicidad. Para confirmar que ha configurado correctamente las carpetas que se deben compartir, intente acceder a ellas desde la computadora remota/cliente. Debe ser capaz de ver el contenido de estas carpetas a través del Explorador de Windows (a través de la Red /[computadora]/[sharename] path). 165 16 5 1 de mayo de 2016 Salvatori Lucas GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android Requisitos importantes para la configuración de red La versión Deluxe FSX SOLAMENTE (la versión estándar no incluye el SDK o archivos de instalación de clientes SimConnect que se requieren). La actualización aplicada del servicio FSX Pack 1 (o posterior) (http://www.fsinsider.com). FSX SDK instalada de FSX Deluxe Disco 1 (\carpeta SDK setup.exe). La actualización aplicada del FSX SDK SP1A (o posterior) (http://www.fsinsider.com). El equipo donde funciona FSX (en adelante llamado SERVIDOR) y el/los equipo(s) para ejecutar SimConnect (en adelante llamado CLIENTE(s)) se debe configurar adecuadamente para redes IP normales. El software de firewall debe estar configurado para permitir las comunicaciones SimConnect en el puerto que se establece (sugerimos puerto 500) - Esto se incluye en ventanas cortafuegos - y se aplica a todos los equipos, tanto de servidor y cliente (s) Las carpetas compartidas deben estar configuradas correctamente. Paso 1: Verifique los requisitos Verifique los requisitos anteriores y asegurarse de que todo está configurado correctamente, que la instalación del FSX SDK y las actualizaciones han sido realizadas. 166 16 6 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Paso 2: Configurar SERVIDOR Hay dos archivos que deben ser configurados en el servidor. Ellos son: [ApplicationDataFolder]\Microsoft\FSX\SimConnect.xml [MyDocumentsFolder]\Flight Simulator X Files\SimConnect.ini ApplicationDataFolder Para Windows XP: C:\Documents and Settings\[nombre de usuario]\Datos de programa\ Para Vista/7: C:\Users\[nombre de usuario]\AppData\Roaming\ MyDocumentsFolder Para Windows XP: C:\Documents and Settings\[nombre de usuario]\Mis documentos\ Para Vista/7: C:\Users\[nombre de usuario]\Documentos\. Hay archivos de ejemplo ubicados en la carpeta de instalación FSX SDK (normalmente C:\Archivos de programa\Microsoft\Games\Flight Simulator X SDK\SDK\Core Utilities\SimConnect SDK\config). Se sugiere copiar estos archivos a los lugares apropiados y luego modificar de la siguiente manera: 167 16 7 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas SimConnect.xml Los valores de protocolo, dirección y puerto deben ser modificados. Los otros valores se deben dejar por defecto. Para Protocolo, IPv4 debe ser utilizado. Ejemplo: <Protocolo> IPv4 </ Protocolo> Para Dirección, utilizar el nombre de equipo o la dirección IP física de este servidor. Ejemplo: <Dirección> 192.168.1.102 </ Dirección> En Puerto, utilizar cualquier puerto que desea habilitar para las comunicaciones SimConnect. Se sugiere el puerto 500. Este puerto tiene que ser activado en cualquier programa de firewall que se está ejecutando (incluyendo ventanas cortafuegos). Ejemplo: <Puerto> 500 </ Puerto> Nota: Si está utilizando v4 FSUIPC con FSX, puede que tenga que realizar los siguientes pasos para el funcionamiento en red adecuada: 1. En primer lugar, establecer el SimConnect.xml como se describe anteriormente. 2. Lo siguiente es establecer el <Alcance> variable global en vez de local (<Alcance> mundial </ Ámbito de aplicación>). 3. Ejecutar FSUIPC instalar (de nuevo si ya está instalado). El SimConnect.xml entonces será configurado correctamente. 168 16 8 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas SimConnect.ini Aquí los valores de configuración son menos importantes, sin embargo, es muy útil tener la consola de depuración activada (console = 1) para ser capaz de ver cuando SimConnect está haciendo una conexión apropiada y hablando con las aplicaciones cliente. Se sugieren los valores por defecto: Cambio de la consola a 0 (console = 0) para desactivar la consola de depuración. Paso 3: Instalación de cliente SimConnect el CLIENTE(s) Hay un archivo de instalación simconnect.msi ubicado en la carpeta de instalación del SDK\SDK\Core Utilidades Kit\SimConnect SDK\lib. Este archivo debe copiarse en cada computadora cliente y correr con el fin de instalar los archivos de cliente apropiados SimConnect. Se debe actualizar el SDK para SP1A (o último) antes de hacer esto. Paso 4: Configurar CLIENTE(s) Hay un único archivo de configuración necesario en todos los clientes: [MyDocumentsFolder] \ SimConnect.cfg MyDocumentsFolder es: Para Windows XP: C:\Documents and Settings\[nombre de usuario]\Mis documentos\. Para Vista/7: C:\Users\[nombre de usuario]\Documentos\. 169 16 9 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Este archivo se encuentra en la carpeta de instalación FSX SDK (normalmente C:\Archivos de programa\Microsoft\Games\Flight Simulator X SDK\SDK\Core Utilities\SimConnect SDK\config). Se sugiere copiar este archivo a la ubicación adecuada y luego modificar de la siguiente manera: Los valores de protocolo, dirección y puerto deben configurarse exactamente igual al que se ha configurado para el archivo SimConnect.xml del servidor. Los otros valores dejarse por defecto. A continuación, se muestra un ejemplo del archivo SimConnect.cfg: [SimConnect] Protocolo IPv4 = Dirección = 192.168.1.102 Puerto = 500 MaxReceiveSize = 4096 DisableNagle = 0 El archivo SimConnect.cfg se debe establecer para todas las computadoras cliente que se ejecutan y necesitan conectarse a FSX en el servidor. Paso 5: Probar la configuración Usando las muestras proporcionadas en el SDK, se puede probar fácilmente la configuración SimConnect de red adecuada. El programa de ejemplo AI Traffic.exe (ubicado en la carpeta de instalación del SDK \SDK\Core Utilidades Kit\SimConnect SDK\Samples\AI Traffic) se debe ejecutar después que el SERVIDOR FSX se ha iniciado. Si tiene éxito, el programa AI Traffic, abre una ventana de la consola que indica "Conectado a Flight Simulator". Si no tiene éxito, el programa se ejecutará y terminará inmediatamente sin mostrar ningún mensaje de "Conectado". Si tiene la consola de depuración habilitada en el servidor (console = 1 en el archivo SimConnect.ini), entonces puede ver algunos de los mensajes que indican la conexión y comunicación con el cliente. 170 17 0 1 de mayo de 2016 Salvatori Lucas GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android Paso 6: Configuración de Active Sky Una vez que tenga las acciones y la configuración SimConnect completa, puede configurar Active Sky para que funcione correctamente en la configuración de red. Active Sky se necesita para conocer la ubicación de la ruta principal de la instalación de Flight Simulator X, así como la ruta de FSX Appdata. Además, es posible que desee cargar los planes de vuelo de FSX en la computadora en el cliente Active Sky. Debido a que sus acciones ya están configuradas sólo hay que apuntar Active Sky a estos lugares. Para ello, sólo tiene que ejecutar Active Sky. Active Sky identificará que FSX no está instalado en la computadora del cliente y automáticamente pedirá y guardará las ubicaciones correctas mediante acciones en la red. Para especificar manualmente estos lugares, se pueden editar los valores de clave de registro (en la computadora cliente) de la siguiente manera: HKEY_CURRENT_USER\Software\HiFi\[AS VERSION]\FSXMyDocsPath: Establezca este a su carpeta de plan de vuelo deseada, que debe ser compartida en el ordenador FSX como \\fsxcomputername\Flight Simulator X Files HKEY_CURRENT_USER\Software\HiFi\[AS VERSION]\FSXPath: Establezca esto a su ruta de instalación de Flight Simulator X deseada, que debe ser compartida en el ordenador FSX como \\fsxcomputername\Flight Simulator X HKEY_CURRENT_USER\Software\HiFi\[AS VERSION]\FSXAppDataPath: Ponga esto a su Camino FSX AppData deseado, que debe ser compartida en el ordenador FSX como \\fsxcomputername\FSX 171 17 1 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas Paso 7: Configuración de X Gauge XGauge necesita ser instalado en el destino de la instalación de FSX. Para ello, puede ejecutar el Asistente de instalación XGauge e indicar los lugares comunes apropiados. Como alternativa, puede copiar toda la carpeta XGaugeWizard (ubicado en su instalación Active Sky carpeta es decir, C:\Archivos de programa\HiFi\[AS VERSION]\XGaugeWizard) a la computadora de FSX (cualquier lugar) y ejecutar el archivo XGaugeWizard.exe. Los archivos se copian adecuadamente en FSX y el indicador se instalará en la aeronave. Active Sky, cuando se ejecuta, se actualizará automáticamente la imagen a lo solicitado por XGauge, incluso cuando se ejecute en el otro equipo. Si utiliza WideFS o SimConnect a través de una red con Active Sky instalado como cliente y también tiene una instancia de FSX instalado en la computadora del cliente (que no tiene intención de usar) debe asegurarse de que la ruta de acceso en el ajuste del registro de Active Sky para FSX apunte a su versión del servidor, no a la versión del cliente. Esto no afecta a la mayoría de los usuarios. 172 17 2 GIVEDA Generador de Instrumental de Vehículos en Dispositivos Android 1 de mayo de 2016 Salvatori Lucas La configuración de registro que se debe agregar si se tiene algún problema con Active Sky para localizar la versión del servidor son: HKEY_CURRENT_USER\Software\HiFi\[AS VERSION]\FSXPath HKEY_CURRENT_USER\Software\HiFi\[AS VERSION]\FSXAppDataPath Estas rutas deben apuntar a sus versiones de servidor, es decir, (solamente ejemplos, deben introducirse las rutas correctas no los valores más adelante). \\VISTA-DESKTOP\Flight Simulator X\ para la ruta de instalación FSX \\Vista-escritorio\FSX\ruta para el FSX appdata Acotación: Para que la conexión funcione debe instalarse los SP1 y SP2 de FXS de otra manera se obtendrá un error de conexión similar a: > 1371.49181 [63, 1] < 1371.49207 [63] >>>>> EXCEPTION=5, SendID=0, Index=4 <<<<<Version Mismatch: (0x4). Fuente: [24] 173 17 3