4. Experimental Setup and Implementation
4.6 Porting the Model to GNU/Linux
El proceso de combinar datos o información para estimar o predecir el estado de las entidades es conocido como “fusión de datos” (conocida también como fusión de sensores, fusión de información o fusión de datos multisensor) (Steinberg, 1998). El objetivo de la fusión multisensor es armonizar datos de múltiples fuentes para conseguir precisiones mejoradas e estimaciones más fiables que las que pueden obtenerse de un único sensor (Llinas, 1998), ya que la información procedente de un sensor puede ser incompleta (habitualmente, un único sensor no puede capturar toda la información de su entorno), errónea (debido, por ejemplo, a que el hardware no opera en la práctica como se modela) y/o incierta (es necesario gestionar la incertidumbre asociada a las medidas que genera).
Como se comenta en Llinas (1998), el proceso de fusión de datos procedentes de diferentes fuentes no es nuevo: los animales y los humanos lo realizamos permanentemente, pues tenemos la capacidad de combinar la información recibida por nuestros sentidos para inferir nuestras propias conclusiones sobre una determinada situación. En este proceso de percepción, nos ocupamos de “mantener una descripción interna del entorno externo” (Crowley y Demazeau, 1993).
De esta forma, las máquinas tratan de imitar este proceso realizando un “modelado dinámico del mundo”, que les permite representar el entorno externo. El proceso natural de fusión se puede simular, gracias a los avances en procesado de señal y al
CAPÍTULO 4 • • •
92
perfeccionamiento de los sensores, a través de sistemas computacionales que tienen que extraer información sobre el estado de una situación. Para conseguir su propósito, las técnicas de fusión de datos combinan disciplinas tradicionales como el procesado digital de señal, la estimación estadística, la teoría de control, la inteligencia artificial o los métodos numéricos (Llinas, 1995).
Las aplicaciones de la fusión de datos son muy numerosas, tanto en el área militar como civil. Las aplicaciones militares C3I (command, control, communication and intelligence) incentivaron notablemente el desarrollo de las técnicas de fusión desde finales de los años 70 (Llinas, 1990). Por su creciente interés, el Laboratorio del Joint Directors of U.S. Department of Defense (JDL-DoD) convocó a un panel de expertos en fusión de datos para desarrollar modelos y terminología común para las diferentes áreas de investigación, desarrollo y operación. Como se comentará posteriormente, este grupo concibió uno de los modelos de fusión de datos más referenciados en la literatura, el modelo JDL.
En el mundo militar, la fusión de datos se utiliza, por ejemplo, para reconocimiento automático de blancos, guiado de vehículos autónomos, recogida remota de datos de sensores, supervisión del campo de batalla o reconocimiento automático de amenazas (identification-friend-foe-neutral, IFFN). En este tipo de aplicaciones, el objetivo de la fusión es reconocer, estimar o predecir el estado de tipos específicos de entidades en el entorno: blancos, amenazas, formaciones militares, etc. (Steinberg, 2000). En cuanto a las aplicaciones civiles, algunas de las aplicaciones de la fusión multisensor están ligadas a la supervisión de sistemas de fabricación, al mantenimiento de maquinaria compleja, a la predicción de terremotos, al desarrollo de sistemas de supervisión de tráfico y de diagnóstico médico y, por supuesto, al diseño de sistemas robóticos (Crowley y Demazeau, 1993).
Retornando, de nuevo, al problema del desarrollo de infraestructuras que faciliten la provisión de servicios contextuales, señalaremos aquí que el correcto funcionamiento de este tipo de sistemas depende de su capacidad para construir una representación del contexto (de un usuario, de un activo móvil o de un grupo) de calidad suficiente para cubrir las necesidades operativas de los servicios y aplicaciones que lo soportan. Estructural y funcionalmente, el proceso de adquisición, procesado y razonamiento sobre la información de contexto puede entenderse y asimilarse a un problema de fusión:
• La información de contexto puede obtenerse a través de diferentes tipos de sensores (Indulska y Sutton, 2003): por ejemplo, la posición de un usuario objetivo puede calcularse directamente a través de medidas obtenidas de sensores físicos (medidas de potencia de señal recibida en una interfaz física WiFi o Bluetooth o identificadores de puntos de acceso, por ejemplo), pero también puede extraerse indirectamente a partir de sensores virtuales (por ejemplo, un calendario on-line que indexa la actividad del usuario) o de sensores lógicos (como los logs en un sistema que se conecta a la red). Así, la fusión de la información procedente de varios sensores, homogéneos o heterogéneos, permite inferir con precisión y calidad variable la información de contexto necesaria para que un sistema, servicio o aplicación pueda funcionar según lo previsto.
• • • ARQUITECTURA DE FUSIÓN MULTISENSOR PARA LA PROVISIÓN DE SERVICIOS CONTEXTUALES
Esta aproximación multitecnológica de la adquisición de la información contextual cobra especial sentido en un momento en el que crece el número de tecnologías que están integradas en los terminales móviles y que se están desplegando en modo infraestructura en entornos habituales (celular, WiFi, Bluetooth y su versión de bajo consumo ULP BT –antiguo WiBree-, GPS, ZigBee, RFID, sistemas inerciales, UWB, infrarrojos, cámaras de alta resolución, etc.). Las aplicaciones móviles basadas en contexto se emplean en entornos altamente variables, en los que la configuración del conjunto de sensores disponibles es inestable, al igual que el entorno electromagnético. Debido a esto, tiene sentido plantear sistemas que fusionen información redundante procedente de diferentes sensores de forma adaptativa: varios sensores (que individualmente pueden fusionar la información que reciben en el tiempo) pueden medir la misma información para reducir errores e incertidumbre y para resolver los problemas de incompletitud de la información. • La fusión de información se utiliza con diversos fines y a diferentes niveles de
datos para apoyar la toma de decisiones (Dasarathy, 1997). En el ámbito de la provisión de servicios contextuales, el objetivo de la fusión puede ser identificar o categorizar los blancos (usuarios u objetos móviles), corroborar una cierta condición ambiental, estimar o predecir el estado físico de entidades (atributos, actividad, posición y movimiento) o sus estados de percepción o intencionalidad. De esta forma, la fusión de datos/información opera en el proceso de construcción de la “imagen de contexto” desde el nivel más bajo de combinación de señales para obtener un estimador determinado, hasta los niveles de razonamiento superiores, en los que se trata de inferir un “estado” que permita a la aplicación tomar una decisión de actuación. Los algoritmos de inferencia que se emplean (que habitualmente van más allá de la combinación estadística tradicional) se implementan sobre diferentes niveles de abstracción.
Este Capítulo profundiza en la aplicación de la fusión de sensores para apoyar el proceso de adquisición y gestión de la información de contexto. El Capítulo recoge una de las contribuciones centrales de esta Tesis: la propuesta de una arquitectura de fusión para el diseño de sistemas de provisión de servicios contextuales. Hasta donde sabemos, en la actualidad no existe una metodología clara para facilitar el diseño de aplicaciones basadas en contexto ni las infraestructuras que las soportan. Es decir, no existe una proceso metodológico para determinar qué sensores hacen falta y cómo se pueden combinar los datos procedentes de ellos, para cumplir los requisitos de información de la aplicación que se desea desarrollar y en el entorno en el que se pretende hacerlo. La arquitectura propuesta maneja el objetivo de construir, en tiempo de operación, una “imagen de contexto” completa y fiel a la realidad, de tal forma que la aplicación contextual pueda razonar exitosamente sobre ella. La “imagen de contexto” será diferente dependiendo de la aplicación, y el sistema contextual tendrá que disponer de los medios para formarla consumiendo los mínimos recursos. La arquitectura analiza funcionalmente este problema de construcción de la “imagen de contexto”, pero satisfaciendo determinados criterios de “calidad” impuestos por la aplicación. La consideración de la “calidad de contexto” es un elemento diferencial de la arquitectura, ya que en la literatura no se considera su control, que por otra parte, puede resultar un factor crítico cuando sean varias las aplicaciones contextuales que tienen que funcionar simultáneamente. Cada aplicación impondrá sus requisitos de calidad, y el mismo
CAPÍTULO 4 • • •
94
sistema de provisión de servicios podrá proceder a su evaluación y utilizar el resultado como entrada de regulación de funcionamiento del sistema.
La arquitectura propuesta, multicapa e inspirada en el modelo JDL, consta de tres sistemas funcionales (a saber: de “adquisición del contexto”, de “instanciación de la imagen de contexto” y de “razonamiento y decisión”). Cada uno de estos sistemas se divide en bloques funcionales, conectados entre sí en un flujo de datos no lineal, que incluyen las operaciones necesarias para producir una salida utilizable por el siguiente bloque de procesado. Por supuesto, no todos los sistemas contextuales requerirán la implementación de todas las funcionalidades, y habrá plataformas que proporcionen o faciliten muchas de las identificadas (como se comprobará en el Capítulo 7).
Las dos siguientes Secciones de este Capítulo recogen una revisión del estado del arte que muestra cómo se ha integrado el concepto de fusión en las plataformas y sistemas hoy en día operativos. En primer lugar, se introduce brevemente algunos modelos/arquitecturas tradicionales de fusión, entre ellos el modelo JDL (Sección 4.2). A continuación, en la Sección 4.3 se analiza de qué manera se ha utilizado la fusión en el diseño de sistemas contextuales, o en partes de los mismos, como soporte a tareas básicas de operación (por ejemplo, para calcular la posición).
El lector interesado en la arquitectura puede ir directamente a la Sección 4.4, que describe sus fundamentos y detalla la propuesta funcional. La arquitectura se particularizará en el Capítulo 5 para diseñar un modelo de fusión dirigido a la gestión del cálculo de la posición en interiores (como veremos, éste es un problema que puede caracterizarse como uno de fusión multisensor). Posteriormente se aplicará para el diseño de una plataforma que simplifique el proceso de adquisición y fusión de la información de contexto (Capítulo 6).