La Interfaz Común de Generador de Imágenes (CIGI) (pronunciada sig-ee) es un protocolo de datos que permite la comunicación entre un generador de imágenes y su simulador anfitrión. Esta interfaz está diseñada para promover una forma estandarizada de comunicación entre un dispositivo anfitrión y un generador de imágenes (IG) dentro de la industria.
CIGI permite la funcionalidad plug-and-play por parte de los proveedores de generadores de imágenes que cumplen con los estándares y reduce los costos de integración al actualizar los sistemas visuales.

Fondo
La mayoría de los simuladores de alta gama no ejecutan todo en una sola máquina como lo hacen actualmente los simuladores de vuelo domésticos más populares . El modelo del avión se ejecuta en una máquina, normalmente denominada host, y el programa de visualización de la escena o gráfico de escena se ejecuta en otra, generalmente denominada generador de imágenes (GI). [ 1 ] Con frecuencia se requieren varios GI para mostrar el entorno circundante creado por el host. CIGI es la interfaz entre el host y los GI.
El objetivo principal de CIGI es aprovechar las inversiones previas mediante el uso de una interfaz común . CIGI está diseñado para facilitar la integración, la reutilización de código y la reducción general de costos a los proveedores e integradores de sistemas IG.
Anteriormente, la mayoría de los generadores de imágenes ofrecían su propia interfaz propietaria; cada servidor debía implementarla, lo que convertía el cambio de generador en una tarea costosa. CIGI se creó para estandarizar la interfaz entre el servidor y el generador de imágenes, de modo que se requirieran pocas modificaciones al cambiar de generador. La iniciativa CIGI fue impulsada principalmente por Boeing a principios del siglo XXI.
La última versión de CIGI (CIGI 4.0) fue desarrollada por la Simulation Interoperability Standards Organization (SISO) en forma de SISO-STD-013-2014, Estándar para la Interfaz Común de Generador de Imágenes (CIGI), Versión 4.0, con fecha del 22 de agosto de 2014. SISO-STD-013-2014 está disponible gratuitamente en SISO. [ 2 ]
Definiciones
Generador de imágenes : en este contexto, un generador de imágenes consta de uno o más canales de renderizado que producen una imagen que se puede utilizar para visualizar una escena "afuera de la ventana", o imágenes producidas por diversas simulaciones de sensores como infrarrojos , televisión diurna, electroóptica y visión nocturna .
Simulación del sistema anfitrión : En este contexto, un "sistema anfitrión" es el sistema computacional que proporciona información sobre el dispositivo que se está simulando para que el generador de imágenes pueda mostrar el escenario correcto al usuario. Esta información se transmite al generador de imágenes a través de CIGI.
Maduración
CIGI 4 es la versión más reciente del estándar, aprobada por la Simulation Interoperability Standards Organization el 22 de agosto de 2014. CIGI se convirtió en un estándar internacional SISO conocido como SISO-STD-013-2014, que contiene el Documento de Control de Interfaz (ICD) de la versión 4.0 de CIGI. [ 3 ]
CIGI 4.0 es el estándar oficial, publicado por SISO . Las versiones anteriores de CIGI fueron impulsadas por Boeing , incluyendo CIGI v3.3, [ 4 ] en noviembre de 2008, v3.2 [ 5 ] abril de 2006, v3.1 [ 6 ] junio de 2004, v3 [ 7 ] noviembre de 2003, v2 [ 8 ] en marzo de 2002, y la original (v1) en marzo de 2001 [ 9 ].
dependencias de protocolo
Normalmente, CIGI utiliza UDP como protocolo de transporte, pero no requiere un mecanismo de transporte específico, solo la conformidad con la definición de paquetes. El tráfico CIGI no tiene un puerto bien definido ; sin embargo, el uso de los puertos 8004-8005 ha sido ampliamente adoptado por las implementaciones de los proveedores comerciales de generadores de imágenes. [ 10 ]
Herramientas de desarrollo
Emulador de host
El emulador de host puede utilizarse como sustituto para manipular la interfaz cuando no se dispone de un host de simulación. Se trata de una aplicación host generadora de imágenes basada en Windows, utilizada para desarrollar, integrar y probar generadores de imágenes que emplean el protocolo CIGI. Proporciona una interfaz gráfica de usuario (GUI) para la creación, modificación y eliminación de entidades; la manipulación de vistas; el control de atributos y fenómenos ambientales; y otras funciones del host.
El emulador de host cuenta con varias funciones útiles para la integración y las pruebas. El modo de vuelo libre permite el vuelo de aeronaves de ala fija y helicópteros , el movimiento a lo largo de los ejes de la entidad y la rotación libre mediante un joystick o un widget similar. Las funciones de scripting y grabación/reproducción facilitan las pruebas de regresión , las demostraciones y otras tareas que requieren la reproducción exacta de ciertas secuencias de eventos. Una función de análisis a nivel de paquete permite al usuario examinar el contenido de los mensajes CIGI, los tiempos de respuesta del generador de imágenes y las latencias.
Una ventana de monitorización de latidos muestra un historial gráfico de la velocidad de fotogramas de datos del generador de imágenes . Otras características incluyen la creación explícita de paquetes, el control de animaciones, la visualización de misiles y una ventana de visualización de la situación (solo para el emulador de host 3.x).
Visor multiusos
El Visor Multiusos (VMP) ofrece las funciones básicas propias de un Generador de Imágenes, como la carga y visualización de bases de datos de terreno, la representación de entidades, etc. El Visor Multiusos puede utilizarse como alternativa para manipular la interfaz cuando no se dispone de un Generador de Imágenes real. El VMP es compatible con los sistemas operativos Windows y Linux .
Biblioteca de clases de CIGI
La CCL es una interfaz de software orientada a objetos que gestiona automáticamente la composición y descomposición de mensajes (es decir, el empaquetado, desempaquetado e intercambio de bytes según la especificación ICD) tanto en el lado del host como en el del generador de imágenes. La CCL interpreta los mensajes del host o del generador de imágenes en función de parámetros de compilación . Además, gestiona los errores y realiza la traducción entre diferentes versiones de CIGI.
Cada tipo de paquete tiene su propia clase. Se accede a los miembros individuales del paquete mediante accesores de clase de paquete. Los mensajes salientes se construyen colocando cada paquete en el búfer de salida mediante un operador de flujo. Los mensajes entrantes se analizan mediante mecanismos de devolución de llamada o basados en eventos que proporcionan al programa usuario objetos de paquete completos.
Conjunto de herramientas actual
El Grupo de Soporte de Productos CIGI de SISO gestiona y mantiene un conjunto de herramientas de desarrollo CIGI. Los paquetes más recientes están disponibles en SourceForge .
Los comentarios y sugerencias sobre el paquete pueden dirigirse al foro de discusión de SISO en: https://discussions.sisostds.org/index.htm?A0=SAC-PSG-CIGI Archivado el 13 de septiembre de 2017 en Wayback Machine
Wireshark
Wireshark es un analizador de paquetes gratuito y de código abierto . Se utiliza para la resolución de problemas de red, el análisis, el desarrollo de software y protocolos de comunicación, y la formación. Wireshark proporciona un analizador para paquetes CIGI. A octubre de 2016, «El analizador CIGI es totalmente funcional para las versiones 2 y 3 de CIGI. La versión 1 aún no está implementada». [ 11 ]
Versiones anteriores de CIGI
El documento de control de interfaz (ICD) de CIGI y el conjunto de herramientas de desarrollo están disponibles en formato de código abierto. Las herramientas, el ICD y la documentación de usuario correspondiente se pueden encontrar y descargar desde el sitio web SourceForge de CIGI .
La versión de SourceForge del MPV tiene un soporte limitado para paquetes de datos CIGI y está diseñada para ampliarse según las necesidades. El MPV utiliza CIGI 3 como interfaz, pero es compatible con versiones anteriores de CIGI mediante el uso de CCL. Para renderizar una escena, el MPV utiliza la biblioteca Open Scene Graph . El grafo de escena se manipula según los comandos CIGI recibidos del host a través de CCL. El MPV es una capa de aplicación que consta de un pequeño núcleo que aprovecha al máximo una arquitectura de complementos para facilitar el mantenimiento y ofrecer flexibilidad.
Un desarrollador puede implementar la interfaz desde cero; sin embargo, dispone de un conjunto completo de herramientas de integración. Estas herramientas constan de tres elementos: el emulador de host (HE), el visor multipropósito (MPV) y la biblioteca de clases CIGI (CCL).
Referencias
- ↑ "Re: [ Flightgear-devel ] FW: Error en la entrega del correo: Devolviendo el mensaje al remitente" .
- ↑ "Organización de Estándares de Interoperabilidad de Simulación (SISO)" .
- ↑ "Normas SISO" .
- ↑ "CIGI : Especificación de interfaz" .
- ↑ "Documento de control de interfaz para la interfaz común del generador de imágenes (CIGI) - Versión 3.2" (PDF) . Archivado del original (PDF) el 9 de mayo de 2008.
- ↑ "Documento de control de interfaz para la interfaz común del generador de imágenes (CIGI) - Versión 3.1" (PDF) . Archivado del original (PDF) el 15 de octubre de 2006.
- ↑ "Documento de control de interfaz para la interfaz común del generador de imágenes (CIGI) - Versión 3.0" (PDF) . Archivado del original (PDF) el 20 de octubre de 2006.
- ↑ "Documento de control de interfaz para la interfaz común del generador de imágenes (CIGI) - Versión 2.0" (PDF) . Archivado del original (PDF) el 15 de mayo de 2008.
- ↑ "Documento de control de interfaz para la interfaz común del generador de imágenes (CIGI) - Versión 1" (PDF) . Archivado del original (PDF) el 15 de octubre de 2006.
- ↑ "CIGI" .
- ↑ "CIGI" .
Enlaces externos
- Sitio web de la Organización de Estándares de Interoperabilidad de Simulación
- Sitio web de Sourceforge
- AAcuity PC-IG (Generador de imágenes compatible con CIGI)
- Gráficos por computadora