Diseño de un Instrumento Inteligente Multisensorial basado en JDL y HRT-HOOD. Multisensors Intelligent Instrument Design based in JDL and HRT-HOOD. Margarita Heraoui[1] y Luis Parraguez[2] [1]
[email protected] /
[2]
[email protected]
Universidad de Oriente. Núcleo Anzoátegui. Postgrado en Ing. Eléctrica. Resumen
En este trabajo se diseña un Instrumento Inteligente Multisensorial, basado en una aplicación parcial del Modelo JDL, fusión Bayesiana de Datos y metodología orientada a objetos de Tiempo Real Crítico (HRT-H (HRT-HOOD OOD). ). A partir partir de una descri descripció pción n del Modelo Modelo JDL para para Fusión usión de Datos, Datos, una estruc estructur tura a bayesiana para la integración y fusión de sensores, una arquitectura HRT-HOOD para el desarrollo de los aspectos computacionales, y un grupo de elementos de electrónica digital y analógica (microcontrolador, amplificadores operacionales, etc.) se construye un instrumento inteligente de altas prestaciones y de bajo costo, capaz de comunicarse con otros dispositivos digitales (PC, micros, etc.) para el intercambio de información e interacción con niveles de orden superior, como por ejemplo los descritos en la pirámide de automatización de procesos. Palabras Claves: Instrumentación Inteligente, Sensores, Teorema de Bayes, Fusión de Datos, Modelo JDL, HRT-HOOD, Sistemas de Tiempo Real, Microcontroladores. Abstract
In this paper we design an Mutisensor Intelligent Instrument, based on a partial aplication of JDL Model, Bayesian data fusion and a methodology, oriented to critical Hard Real Time Objects (HRT-HOOD). From an description of the Data Fusion JDL Model, an Bayesian structure for the sensors integration integration and fusion, an HRT-HOOD architecture for development development of computational aspects, and an elements group of digital and analogical electronics (microcontroller, Operational Amplifiers, etc.) we constructs an low cost and high performance intelligent instrument, able to communicate with other digital devices (PC, micro’s, etc.) to information interchange and interaction with high order levels, eg. those described in process automation pyramid. Key Words: Words: Intell Intelligen igentt Instrumen Instrumentati tation, on, Sensors, Sensors, Bayes Bayes Theorem, Theorem, Data Fusion, usion, JDL Model, HRT-HOOD, Real-Time Systems, Microcontrollers.
Introducción.
nuevas tecnologías de información y comunicaciones (TIC’s ), ), partic particula ularme rment ntee para para nuest nuestro ro caso caso en la fabric fabricaci ación ón de sensor sensores es y microc microcon ontro trolad ladore ores, s, ha permiti permitido do evolu evolucio cionar nar hacia hacia la incorpo incorporac ración ión de algoritmos complejos y de grandes prestaciones en circuitos digitales pequeños y de costo bajo, los que consti constituy tuyen en la base base de much muchas as de las apliac apliacion iones es modernas, incluyendo la instrumentación.
El área rea de conoc onociimien miento toss cono conoccida ida como omo 5] es de vieja data, Integración y Fusión de Datos [5] es y por la natu natura rale leza za de sus sus prim primer eros os campo camposs de aplicación (militar) ha estado circunscrita a contextos tecnológicos que demandan equipos considerados de altas prestaciones computacionales. Sin embargo, la disminución en los costos para la producción de la
En la última década, independientemente del tipo 1
de aplicación (Militar, Diagnóstico Médico, Robótica, Monitoreo Ambiental, Control y Mantenimiento Industrial, Domótica) el instrumento ha dejado de ser simplemente el "aparato encargado de obtener una medida" de las variables bajo estudio y/o control, para evolucionar hacia constituirse en el sistema de control por sí mismo o en un medio del cual podemos obtener información más allá de los "datos crudos", lo que conocemos hoy como " Intrumentación Inteligente ". Esta tendencia ha demandado de un enfoque metodológico preciso ante el volumen creciente de dispositivos e información que constituyen este tipo de sistemas. El modelo JDL , entre otros, proporciona este marco, aunque no excento de ser sometido a cambios como ha ocurrido en la última década ( [8] y [13]). El objetivo específico lo podemos resumir de manera gráfica como se muestra en la figura 1, donde se destacan las partes, etapas y procesos que deben cumplirse. La Fusión y comunicaciones son realizadas por un Microcontrolador , para el diseño y construcción del "Instrumento Inteligente" .
para el procesamiento y el control. En la operación de las funciones de integración, la modularidad permite que gran parte del proceso sea distribuido a lo ancho del sistema. La programación orientada a objetos y la estructura de control tipo pizarra, son dos de las construcciones que son útiles en el fomento de la modularidad para la integración multisensorial. Igualmente, el uso de redes neuronales e inteligencia artificial permiten la incorporación de técnicas de integración adaptativa que pueden manejar el problema del error y la incertidumbre inherente en la integración multisensorial. La figura 2 muestra un sistema típico de integración multisensorial con n sensores que proveen de datos al proceso. ´ INTEGRACION MULTISENSORIAL
Modelo Entorno
Procesamiento Sensorial Fusi´on Nivel de S´ımbolos Nivel Carac ter´ısticas Nivel de pixel
Operaci´on Independiente
Integraci´on
s1
´ Fusion
Enrutamiento
Selecci´on Sensores
Computador
Datos y Medidas
Datos
Nivel de se ˜ nal
Registro de Sensores Adquisici´on
r o d a a l m o e r t t s n i o S C
s2
Modelo Sensorial
Modelo Sensorial
Modelo Sensorial
Sensor 1
Sensor 2
Sensor n
r o d s e a r l o o r s n t e n S o C
Medida
Variables F´ısicas
Comunicaciones s3
Figura 2: Diagrama funcional de sistema de Fusión e Integración multisensorial.
s4
Sensores
Esquemas Acondicionadores Filtrado, etc.
Algoritmos
Base de Datos, Graficaci´on, etc.
Instrumento
Para que los sensores puedan ser usados en la integración, deben antes ser modelados. Un modelo de sensor representa la incertidumbre y el error en los datos suministrados, al tiempo que provee de una medida de su calidad para ser usada en las subsiguientes funciones del proceso de integración. El registro de sensores se refiere a cualquiera de los mecanismos usados para lograr que los datos de cada sensor se correspondan tanto en espacio como en tiempo.El proceso de enrutamiento se refiere a la situación donde los datos provenientes de un sensor son usados para guiar o dar entrada a la operación de otros sensores. Los resultados de la función de procesamiento sensorial sirven como entradas al modelo del entorno, el cual se usa para almacenar la información concerniente a cualquier posible estado del ambiente donde se espera que el sistema opere. Un modelo de entorno puede incluir tanta información a priori como información sensorial reciente, y puede ser usado por procesos de alto nivel de razonamiento para hacer
Figura 1: Formulación del problema.
Integración y Fusión. La integración multisensorial es el uso sinérgico de la información provista por múltiples elementos sensores a fin de asistir al sistema en la realización de una tarea; mientras que la fusión multisensorial se refiere a cualquier estado dentro del proceso de integración donde exista una combinación propiamente dicha de diferentes fuentes de información sensorial en un formato que las represente. Integración Multisensorial.
Las estructuras jerárquicas son de utilidad al permitir la eficiente representación de diferentes formas, niveles y resoluciones de la información usada 2
inferencias que puedan ser usadas directamente en el subsiguiente procesado de la información y operación del controlador del sistema. La selección de sensores se refiere al mecanismo usado para elegir la configuración de sensores mas apropiada dentro de las disponibilidades en el sistema. Con la finalidad de realizar esta selección, se establecen algunos criterios de desempeño, como funciones de costo. Se pueden distinguir dos metodologías para la selección del tipo, número y configuración de sensores: " Preselección " durante el diseño o inicialización, y " Selección en Tiempo Real " en respuesta a los cambios del entorno o a las condiciones del sistema.
S. C. Thomopoulos [14] propuso una arquitectura general y un marco de análisis para enfocar los problemas de fusión sensorial a tres niveles diferentes: el nivel de señal, el nivel de evidencia y el nivel de dinámica. En este caso, el grado de confianza está representado por probabilidades (a priori, condicional y a posteriori). Las decisiones son usualmente tomadas a partir de una probabilidad a posteriori. Si E el evento a ser evaluado, y x1 , x2 la información proveniente de dos sensores distintos, cada uno asigna una probabilidad al evento E dada la medida x i . Así, dada x 1 , la misma es convertida a la función de densidad de probabilidad p (E | x1 ) como la mostrada en la figura 3 y que se conoce como el modelo inverso del sensor. Operador Bayesiano
Fusión Multisensorial.
La fusión de información o de datos provenientes de múltiples sensores o de un sólo sensor a través del tiempo, puede tener lugar a diferentes niveles de representación. Una clasificación útil, por ejemplo en el campo del reconocimiento o levantamiento de mapas de entorno, es la que considera la fusión a nivel de señal, de píxel, de características, y de símbolos. Cada uno de estos niveles puede ser usado para proveer información al sistema, que a su vez lo utiliza para diferentes propósitos.Uno de los principales objetivos de la fusión de datos es combinar la información obtenida a través de las diferentes fuentes para tomar una mejor decisión, realizando para ello una reducción de la imprecisión Figura 3: Ejemplo de función de densidad de e incertidumbre e incrementando la robustez [2]. probabilidad. El modelo anterior se relaciona con las Algoritmos de Fusión e Integración propiedades del sensor mediante la regla de Bayes: Multisensorial. p (E | x1 ) =
Métodos de Inferencia.
De los diferentes algoritmos de fusión multisensorial, los métodos de inferencia pueden ser usados con efectividad para fusión sensorial a nivel de símbolos debido a su capacidad de razonamiento evidencial. Entre estus últimos, la inferencia bayesiana permite que la información multisensorial sea combinada según las leyes de la teoría de probabilidad. La fórmula de Bayes proporciona una relación entre la probabilidad a posteriori de cierta hipótesis, dada la probabilidad a priori de la misma y la probabilidad condicional de observación de un evento en particular dentro de la hipótesis. De aquí que la inferencia bayesiana actualice la probabilidad de hipótesis alternativas basándose en la observación de la evidencia. La nueva información se usa para actualizar la probabilidad a priori de la hipótesis.
p(x1 | E ) p(x1 )
p (E )
(1)
De la misma forma el modelo inverso del sensor 2 estaría relacionado con el evento E a través de la ecuación: p (E | x2 ) =
p(x2 | E ) p(x2 )
p (E )
(2)
La probabilidad de observación del evento E dado las mediciones x1 y x2 , se puede derivar de la regla del producto, p (E | x1 , x2 ) =
p(x1 | E,x 2 ) p(x1 | x2 )
p (E | x2 )
(3)
Asumiendo la independencia de las mediciones x 1 y x 2 , entonces p (x1 | E, x2 ) y p (x1 | x2 ) corresponden a p (x1 | E ) y p (x1 ) respectivamente, transformando la probabilidad conjunta anterior en p (E | x1 , x2 ) =
3
p(x1 | E ) p(x1 )
p (E | x2 )
(4)
Aplicando nuevamente la regla de Bayes a la de obtener la probabilidad de que la temperatura probabilidad condicional p (x1 | E ), se obtiene la se encuentre dentro de un rango pre-establecido densidad de probabilidad conjunta: [ p (T | s31 )]. Así, el espacio muestreal quedará definido según la siguiente partición: T (s1 ) = {s11 , s12 } = ) p(E | x ) p (E | x1 , x2 ) = p(x | E (5) {En rango, Fuera de Rango }. Como inicialmente no p(E ) disponemos de información, cualquiera de las dos La función anterior representa los estimados y situaciones son igualmente probables: s11 = s12 = los valores de certidumbre del evento E a partir de 0,5. La figura 5 muestra el resultado del proceso. la fusión de las medidas x1 y x2 de dos sensores diferentes. La principal ventaja de la técnica de Bayes para la fusión de datos es que posee un formalismo bien desarrollado, donde la evidencia es tratada como una función de probabilidad. Así usando esta técnica, se pueden expresar conocimientos a priori de forma estocástica para obtener el estado más probable del sistema. Desde el punto de vista de la aplicación, se necesita una fuerte estimación de las funciones de probabilidad ( p (xi | E ) ), y de las de probabilidad a priori p (E ) que modelan el conocimiento aportado por cada una de las fuentes, incluso en caso de total ignorancia. La práctica común es definir p (E ) como uniforme p (E i = 1/r), hecho que no aporta mayor conocimiento, y estimar ( p (xi | E ) ) en función de la credibilidad que tenga cada una de las medidas Figura 5: Ejemplo Teorema de Bayes tomada por los diferentes sensores, usando para ello métodos estadísticos de aprendizaje. Para el caso de los dos sensores de luminancia La fusión de datos de múltiples fuentes aparece replicados, el problema que nos planteamos es como respuesta a la posibilidad de aumentar el número de sensores, y así mejorar el resultado encontrar la probabilidad [ p (L |s11 , s21 )] que la de problemas complejos, como la restitución de luminosidad se encuentre en el rango [9,0, 11,5] lux. imágenes, la detección de la congestión de carreteras, (figura 6). reconocimiento de objetos. En la figura 4 se presenta el proceso de fusión con la Técnica de Bayes. 1
Fuente 1
X 1
2
p (x1 |E )
Formula combiantoria de Bayes Fuente 2
X 2
p (x2 |E ) p (E i |xi , · · · , xn ) para i = 1 · · · r
Fuente n
X n
L´ogica de Decisi´ on
Resultado de Fusi´on
p (xn |E )
Figura 4: Proceso de fusión con la técnica de Bayes. Inferencia bayesiano
estadística
según
el
Figura 6: Respuesta a la fusión bisensorial replicada. Muestra Ampliada
modelo
La inferencia estadística bayesiana, aplicada sobre un sensor de temperatura, nos De ahora en adelante, la icorporación de permite fusionar la información con el objetivo cualquier cantidad de sensores se reduce a 4
múltiples tratamientos bi-sensoriales. Por ejemplo, para el caso de 4 sensores, se incorpora un dos sensores de temperatura. Ahora, el objetivo es encontrar la función de probabilidad cuando los sensores de luminosidad y los de temperatura se intersecten en sus respectivos rangos [ p (F | E |L |s11 , s21 , p (T | s31 ) , p (T | s41 ) )] (figura 7).
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 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 [9]. 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 [9]. 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 [7], 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, toma de datos de sensores remotos, 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. [12]. En cuanto a las aplicaciones civiles, algunas 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, diagnóstico médico y al diseño de sistemas robóticos [6] y [3].
Figura 7: Respuesta a la fusión multisensorial (4 sensores). El modelo JDL. Arquitectura de Fusión Multisensor.
El proceso de combinar datos o información para estimar o predecir el estado de las entidades es conocido como “fusión de datos” [12]. El objetivo de la fusión multisensor es armonizar datos de múltiples fuentes para conseguir precisiones mejoradas y estimaciones más fiables que las que pueden obtenerse de un único sensor [9], 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 [9], 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" [3]. De esta forma, las máquinas tratan de imitar
Entre los modelos de fusión, uno de los más conocidos es el propuesto en 1985 por el American Joint Directors of Laboratories Data Fusion Subpanel . En palabras de sus autores [9], “ el Modelo JDL
modelo de Proceso de Fusión de Datos JDL es un modelo conceptual que identifica procesos, funciones, categorías de técnicas y técnicas particulares aplicables a la fusión de datos ”.
Elmenreich [4] lo clasifica como una arquitectura genérica (ni abstracta ni rígida, según el autor), sino una propuesta en la que se definen unas líneas de 5
implementación sin entrar a particularizar aspectos de diseño. El modelo JDL original estaba formado por cuatro niveles de fusión: “evaluación” de la señal, del objeto, de la situación y del impacto, a los que se añadían funciones de gestión complementarias. El modelo se revisó posteriormente [12], momento en el cuál se incorporó una nueva capa de procesado denominada “de evaluación del proceso”. Además, se intentó generalizar su enfoque de aplicación más allá de lo militar e integró el modelo de Arquitectura de Árbol de Fusión de Datos (Data Fusion Tree Architecture) para describir, diseñar e implementar el sistema de fusión. Asimismo, se sugirió la inclusión de otra capa ulterior que permita la posibilidad de que el usuario pueda colaborar, como último filtro, en el proceso de fusión (Blasch, 2002). Las extensiones más recientes [8] y [13] están dirigidas a incorporar aspectos de control de calidad, fiabilidad y consistencia en el proceso de fusión de datos. También en esta última actualización se reflexiona sobre la fusión basada en ontologías y sobre los aspectos que condicionan las arquitecturas de fusión distribuidas (Distributed Data Fusion). Steinberg et al. [12] y Smith y Singh [11], por ejemplo, hacen un repaso a los diferentes niveles del modelo de fusión JDL, comentando las misiones de cada uno de los niveles jerárquicos y las técnicas que se pueden emplear en cada una de las fases (ver figura 8).
obtener la representatividad individual de los objetos. Se combinan los datos de los sensores para obtener atributos y características de la entidad. Nivel 2: Se trata de desarrollar una descripción contextual de la relación entre los objetos y los eventos observados. Este procesamiento incorpora la información del entorno (un conocimiento a priori) y las observaciones. En nuestro caso se relaciona con la información suministrada por los resultados de los algoritmos de fusión. Nivel 3: Proyección de futuro de la entidad analizada a partir de la situación actual. Los modelos utilizados para este nivel son la inteligencia artificial, los modelos predictivos, el razonamiento automático y la estimación estadística. Nivel 4: Monitoriza todo el proceso de fusión de datos para mejorar el rendimiento del proceso en tiempo real, mediante la optimización de la utilización de recursos, la modelización sensorial y la computación de medidas de perfeccionamiento. Nivel 5: Mejora del sistema de fusión a partir de la relación Sensor-Procesamiento-Persona. Proyectando modelos en los que la representación de los resultados (ya sean intermedios o finales) permitan al operador identificar posibles errores en el procesamiento, y que este previamente haya podido detectar errores en los datos suministrados por los sensores. La gestión de la base de datos: Es un punto clave dada la gran cantidad de datos que se manejan durante el proceso. Es la mayor función auxiliar requerida en el proceso de fusión y esto es debido a factores como la cantidad y variedad de datos manejados, la necesidad de almacenamiento y recuperación de datos, la compresión, las colas relacionales y la protección de datos. Para desarrollar esta función será necesario un considerable esfuerzo computacional.
Figura 8: Arquitectura JDL. Modelo funcional. Nivel 0: Los datos de las fuentes son habitualmente pre-procesados para una fusión posterior, filtrando los datos o alineándolos temporalmente, es a este nivel donde cada uno de los sensores aporta sus datos obtenidos de forma independiente del resto.
Interacción Hombre-Máquina: Este elemento, considerado externo a la fusión, es importante en el proceso de fusión. Ya que una correcta interfaz del sistema, será clave para el refinamiento cognitivo. Además de proveer de un mecanismo para los comandos humanos y
Nivel 1: El procesamiento al nivel 1 combina la información de localización, y la identidad, para 6
para la comunicación a operadores y usuarios de los resultados del proceso de fusión, la interfase Hombre-Computador incluye métodos de ayuda a la interpretación de resultados y a la operación del sistema. Los niveles de fusión no pretenden guiar la implementación del diseño del sistema, sino servir para su análisis funcional. Los requisitos del sistema determinarán cómo implementar las distintas funciones.
Figura 10: Arquitectura JDL. Adquisición (Nivel 0)
Cada sensor se adapta de manera particular para aprovechar al máximo la entrada del convertidor A/D del microcontrolador.
Arquitectura del sistema de fusión de datos
En este trabajo se desarrolla un sistema de fusión de datos (ver figura 9) que parte del Nivel 0 La salida del microcontrolador se escala y (Pre-Procesamiento) y alcanza el Nivel 2 (Evaluación convierte adecuadamente para cumplir con los de Situación). requerimeintos de los algoritmos de fusión y con las En el sistema de gestión de bases de datos se comunicaciones RS232 . realiza específicamente la generación de archivos de datos y en lo concerniente al servicio distribuido desarrollamos lo relativo a las comunicaciones entre el microcontrolador y el PC . Se trabaja en la interfaz Hombre/Máquina en dos aspectos: graficación de la información y control de la maqueta para cambiar el contexto en los cuales trabajan los sensores del instrumento. Nivel 0 — Pre-Procesamiento
Figura 11: Arquitectura JDL. Adaptación (Nivel 0)
Valor
Nivel 1 — Evaluaci´on de Objetos
Nivel 2 — Evaluaci´on de Situaci´on
Nivel 5 Refinamiento de Usuario Prioridad
Contexto
Nivel 1: Integración de los cuatros sensores (ver figura 12). Se usó una estructura tipo árbol donde Nivel 3 — Evaluaci´on de Impacto los sensores s1 y s2 de luminosidad están integrados Rendimiento m´etricas/confiabil idad Utilidades de Refinamiento de forma competitiva a nivel del primer nodo hoja Sistema de Gesti´on Servicios Nivel 4 dando una característica, en el caso nuestro un de Base de Datos Distribuidos Refinamiento de Informaci´on de Procesos rango de luminosidad. La integración competitiva Base de Base de Datos de Datos de requiere lecturas replicadas de sensores que son Soporte Fusi´on idealmente idénticos pero que en realidad, están Figura 9: Arquitectura JDL del Sistema de Fusión de sujetos a variaciones estadísticas y a perturbaciones por el ruido. El sensor número 3 de temperatura datos. LM35 se integra independientemente (los sensores proporcionan información no correlada) a nivel de un Nivel 0: Adquisición de los datos. Empleamos nodo intermedio con las características del sensor de dos sensores replicados de luminosidad, fotoceldas, luminosidad para producir una salida de fusión 2 . dos sensores de temperatura de distintos tipos La salida de fusión 2 se emplea junto con los datos LM35 y LM335 . Utilizamos el microcontrolador ATMega328p de ATMEL colocado sobre una placa suministrados por el sensor número 4 (LM335 ) en el de desarrollo (ARDUINO ). En la adaptación de las nodo raíz en una integración tipo cooperativa (cada señales suministradas por los sensores se empleo un sensor proporciona información parcial) para dar el Ampificador Operacional LM324. resultado o característica final del nivel de fusión. Fuentes de Datos
Intenci´on
Interacci´on Hombre/ M´aquina
7
Datos
Luminosidad
La metodología de HOOD se concentra en el diseño funcional del sistema. No se tiene en cuenta el análisis de los aspectos temporales ni de las prestaciones.
L1
s1
Integraci´on Competitiva
L2
s2
F 1 C a r a ct e r ´ı s ti ca
Nodo Hoja
Integraci´on Independiente
T 1
o s D a t
s3
Nodo Intermedio
Temperatura
F 2 C a r a ct e r ´ı s ti ca
F 3
Integraci´on Cooperativa
T 2
HRT-HOOD.
s D a t o
s4
Nodo Ra´ız
HRT-HOOD (Hard Real-Time Hierarchical de Object-Oriented Design ) , es un método de diseño
Figura 12: Arquitectura JDL. Integración Sensores. Organización en estructura de árbol. (Nivel estructurado, basado en objetos, para sistemas de tiempo real estricto, derivado de HOOD . 1) Esta metodología tiene en cuenta las necesidades de los sistemas de tiempo real. En ésta el proceso Nivel 2: La estructura de integración recién vista de diseño se ve como una progresión creciente de la hemos hecho coincidir con una red bayesiana (ver compromisos específicos. Los compromisos definen las figura 13) empleada para la fusión de los datos. propiedades que se deben ir cumpliendo en el diseño Hemos supuesto que todos los sensores presentan una del sistema y que el diseñador no puede modificar en distribución estadística Gaussiana de sus medidas. niveles de mayor detalle. Se producirá una señal estadísticamente alta si se Aquellos aspectos del diseño que no suponen un cumplen los rangos establecidos para cada uno de los compromiso en un determinado nivel se deben asumir sensores. como obligaciones en los niveles inferiores (mayor detalle) del sistema. Las obligaciones en el nivel superior corresponden s s , , a las propiedades que aparecen en las especificaciones. , s s E , s s p s , s , E Los compromisos son las concreciones que se hacen s p E E p p E en el diseño que hacen que se cumplan las propiedades p E p correspondientes a las obligaciones. El proceso de refinamiento del diseño consiste en ir transformando las obligaciones en compromisos. Este proceso está sujeto a restricciones impuestas principalmente por el entorno de ejecución. El entorno Figura 13: Arquitectura JDL. Fusión Bayesiana de ejecución es un conjunto de componentes software y hardware sobre los que se construye el sistema. (Nivel 2). En HRT-HOOD se definen dos tipos de actividades en el diseño de la arquitectura: −
e
s1
0.5( x1−µ1 )2 σ2 1
) 2
| 1
Luminosidad
Fusi´on 1
−
e
(
] ) 2
( [ |
Fusi´on 2
s2
e
) 3
| 1
0.5( x2−µ2 )2 σ2 2
−
] ) 2
0.5( y1−µ3)2 σ2 3
} ) 3
) 4
| 1
( [ |
(
( { |
(
Fusi´on 3
Accio´ n Final
s3
Temperatura
−
e
0.5( z 1−µ4 )2 σ2 4
s4
La Arquitectura HRT-HOOD.
Diseño de la arquitectura lógica.
HOOD.
Diseño de la arquitectura física.
HOOD significa Diseño Jerárquico Orientado a La arquitectura lógica se ocupa de los compromisos Objetos . Está basado en el uso intensivo del modelo que se pueden hacer con independencia de las restricciones impuestas por el entorno de de objetos, organizados como: ejecución. Supone principalmente los requerimientos Jerarquía: descomposición de objetos en otros funcionales. La arquitectura física tiene en cuenta los objetos que pueden ser vistos como "hijos" de requerimientos funcionales y, además, las restricciones éste. del entorno. Abarca además los requerimientos no Control: el flujo de control permite la activación funcionales. En la arquitectura física es donde se de las operaciones. Pueden coexistir varias flujos tienen en cuenta las restricciones temporales. de control o hilos de ejecución (threads ) Aunque la arquitectura física es un refinamiento de la lógica, ambas se desarrollan y modifican a simultáneamente en el interior de un objeto. la vez. Las técnicas de análisis concretadas en la Actividad: existen dos tipos de objetos: activos arquitectura física se deben aplicar lo antes posible. y pasivos dependiendo donde se genera el flujo Estas afectaran a los recursos iniciales previstos, de control. que deberán revisarse y modificarse según se vaya 8
refinando la arquitectura lógica (sin esperar a concluir ésta para empezar con la arquitectura física, de lo contrario se podría invalidar demasiado tarde los recursos asumidos en la primera). En este proyecto se desarrolla sólo la arquitectura lógica.
3. Subsistema PC : Este Subsistema se encarga de comunicar el Instrumento vía RS232 con un PC para el almacenamiento y visualización en tiempo real de la información suministrada por el instrumento. Se trabaja con la graficación de la información y el
Diseño del Instrumento Inteligente control de la maqueta para cambiar el contexto en los con la Metodología HRT-HOOD . cuales trabajan los sensores del instrumento. A
Especificaciones de Requisitos.
Se requiere desarrollar un instrumento inteligente con 4 sensores que midan variables físicas, para nuestro caso luminosidad y temperatura, con Modelo de integración y de fusión de datos que lo realice la programación incorporada dentro de un microcontrolador. El instrumento deberá tener comunicación serial con un PC en el cual se almacenarán y visualizarán en tiempo real la información suministrada por el instrumento. Se usarán cuatro sensores, s1 y s2 son replicados, s3 y s4 son dispersos. Para realizar la fusión de los datos se deben aplicar técnicas probabilísticas basadas en el teorema de Bayes a fin de inferir la medida correcta (ver figura 13).
Monitoreo de Sensores
Datos Crudos
A
Microprocesador
Escalamiento Fusi´ on Comunicaci´ on
Lectura de sensores Se˜ nal de Control de sensores
A
Resultados de Lecturas y Fusiones
PC
Comunicaci´ on Base de Datos Graficaci´ on Control de Maqueta
Figura 14: Diseño de Primer nivel. Diseño de la Arquitectura lógica.
Cada objeto del primer nivel se descompone en sub-niveles, siguiendo la misma metodología, hasta alcanzar un punto de detalles suficientemente sencillo como para ser directamente codificado, en algún lenguaje computacional (Detalles de este procedimiento pueden encontrarse en el trabajo en extenso).
La arquitectura lógica trata los requisitos funcionales. Estos son independientes de las restricciones físicas impuestas por el entorno de ejecución (velocidad del procesador, etc.) El primer paso es identificar las clases de objetos adecuados a partir de los cuales se va a construir el sistema. Los requisitos funcionales del sistema (descritos en la sección anterior) sugieren tres subsistemas (ver figura 14):
Variables físicas, 1. Subsistema Monitoreo de sensores: Se encarga electrónica.
sensores
y
de monitorear todos los datos de los sensores acondicionados los cuales serán almacenados en Nuestro instrumento mide dos variables físicas: una base de datos. luminosidad y temperatura, con cuatro sensores. La luminosidad es medida con dos fotoceldas ( s1 2. Subsistema Microcontrolador: Este subsistema y s2 ) de bajo costo, semejantes a las encontradas realiza las siguientes tareas: en las calculadoras comunes. El sensor 1 cubrirá el a ) Para cada sensor: lectura, escalamiento, rango [6,5, 11,0] lux y el sensor 2 [9, 16] lux. Para conversión a valores reales, determinación cada sensor se asumirá una distribución Gaussiana de la verosimilitud, envío al PC de datos normalizada, centrada en la mitad del rango de operación, y con una desviación estándar de reales. b ) Para cada nivel de fusión: cálculo de la rango/2 .De esta manera el Espacio Muestreal de los Fusión Bayesiana y envío al PC de datos sensores queda definido por: de la fusión. E (si ) = {emi1 , emi2 } = {En rango, Fuera de Rango } c ) Está conformado por 3 operaciones. (6) 9
10k Ω 15kΩ Un sensor de temperatura ( s3 ), LM35 , calibrado o en grados centígrados, cubrirá el rango [28,0, 34,5] C . Rf Rf Un cuarto sensor de temperatura (s4 ), LM335 , 9 EA calibrado en grados Kelvin y adaptado a grados 8 o 10 LM 324 Arduino centígrados, cubrirá el rango [32, 36] C . Para ambos, + se asumirán distribuciones Gaussianas normalizadas, F C Rf 1.1M Ω centradas en la mitad del rango de operación y con una desviación estándar de rango/2 .De esta manera el Espacio Muestreal de los sensores quedan definidos exactamente como se indica por la ecuación 6. Figura 16: Circuito acondicionador de señal para Resumiendo, para todos los sensores, desde un sensores de Luminosidad. punto de vista funcional, hemos supuesto que se han realizado múltiples pruebas de laboratorio y que las medidas arrojadas presentan una distribución 18kΩ 180kΩ estadística normalmente distribuida . La media se R R ubica en la mitad del rango para cada sensor y las V cc desviaciones estándar se han fijado en el cuadro 1. 9 1
2
1
1
3
1
2
LM 35
EA 3
8
10 LM 324 +
Arduino
Cuadro 1: Parámetros estadísticos para sensores. µ σ
s1 (lux)
s2 (lux)
s3 (o C )
s4 (o C )
8.75 4.375
12.5 6.25
31.25 15.625
34 17
Acondicionamiento de las señales.
Para acoplar la salida del sensor al convertidor A/D del microcontrolador se utiliza un circuito acondicionador de señal (ver figura 15). 0Lux 20Lux
Fotocelda 1
0V 3V
CAS 1
0V 4.5V
Figura 17: Circuito acondicionador de señal para sensor LM35. Para el sensor de temperatura LM335 el acondicionamiento se hace con un amplificador de diferencia, para poder compensar la transformación desde o K a o C (ver figura 18). V cc
5k Ω
Microcont. R1
0Lux 20Lux
Fotocelda 2
0V 3V
CAS 2
0V 4.5V
R7
V cc
2.73V
18k Ω
180k Ω
R6
R5
2
5.6k Ω R3
Microcont.
-
3 LM 324 +
1
EA 4 Arduino
18k Ω 0 C o
50 C o
o 0 C
50 C o
LM335
LM35
2.73V 3.23V
0V 0.5V
CAS 3
CAS 4
0V 5V
0V 5V
LM 335
Microcont.
Microcont.
100k Ω
R2
180k Ω
R4
Figura 18: Circuito acondicionador de señal para sensor LM335 .
Figura 15: Acondicionamiento de la señal (CAS) de salida del sensor al convertidor A/D del microcontrolador. La
Plataforma instrumento.
básica
del
Las señales provenientes de las fotoceldas y del sensor de temperatura LM35 se acondicionan Como mencionamos en la sección , utilizamos el mediante Amplificadores Operacionales en microcontrolador ATMega328p de ATMEL colocado configuración no inversora, como se indica en las sobre una placa de desarrollo de prototipos conocida figuras 16 y 17. como ARDUINO (ver figura 19). 10
Figura 19: Módulo Arduino.
Figura 21: Ensamblaje del prototipo. Entre las principales características destacan [1] y [10]:
Arduino es una plataforma computacional y física de fuentes abiertas, basada en una tarjeta sencilla de entradas/salidas y un entorno de desarrollo que implementa el Procesamiento del Lenguaje . Arduino puede ser usado para desarrollar objetos interactivos autónomos o puede conectarse a aplicaciones en un computador. Diferentes módulos pueden ser ensamblados para formar una unidad de prestaciones más elevadas, de acuerdo a las exigencias de un diseño en particular. En nuestro caso, le hemos adaptado una Tabla de Montajes (figura 20), donde se disponen de los sensores y de la electrónica asociada a ellos, para finalmente constituir una estructura única, como se aprecia en la figura 21.
Es de fuentes abiertas, tanto para el hardware como para el software. Es un entorno multiplataforma: ejecutarse en Linux , Mac y Windows .
puede
Soporta programación mediante puertos USB y/o RS232 . Existe una comunidad de usuarios muy activa a nivel mundial, con la que se intercambian experiencias y desarrollos a través de Internet . Posee un entorno de desarrollo ( IDE ) de uso fácil.
Programación.
Figura 20: Módulo Arduino y placa de desarrollo.
Los aspectos de programación fueron dividimos en dos grandes bloques. El primero relativo al microcontrolador que engloba las tareas de adquisición, escalamiento, conversión, tratamiento bayesiano, integración y fusión de datos, y las comunicaciones del microcontrolador con el PC . El segundo bloque es el del PC , que consta básicamente de la parte encargada de las comunicaciones con el microcontrolador, del almacenamiento de la información y la graficación de la misma en tiempo real. La metodología empleada para el diseño del sistema es HRT-HOOD , como vimos en la figura 14 y que podemos replantear como se aprecia en la figura 22. 11
Microprocesador
encargado del inicio, preparación y coordinación de todas las actividades inherentes al PC :
PC
Aplicaci´ on Archivo de Datos
Fusi´ on
Comunic.
Gesti´ on
Comunic.
Define una tarea tiempo real para la coordinación de las operaciones.
Lectura
Prepara el puerto de Comunicaciones.
Gr´ aficas
Crea y/o prepara un archivo en disco para guardar la información proveniente desde el microcontrolador. Prepara el manejo de la pantalla. Opera en un ciclo infinito (a menos que se solicite una salida explicita por parte del operador):
RS232
Figura 22: Estructura Lógica de la Aplicación. El lado del Microcontrolador.
• Lee el puerto serial.
El programa que realiza las tareas asignadas al microcontrolador, codificado en lenguaje C , y su desarrollo está basado en la arquitectura HRT-HOOD y fue escrito, verificado y transferido al microcontrolador desde el ambiente de desarrollo Arduino, trabajando en una plataforma GNU-Linux Ubuntu 9.04 .
• Aplica formato y escala la información que
El lado del PC .
Las tareas asignadas al PC fueron desarrolladas fundamentalmente en Ada 2008 , con núcleo Marte de Tiempo Real . La etapa de comunicaciones con el microcontrolador fue escrita en C y para la parte de graficación tiempo real se empleó la aplicación de software libre, escrita en Java , LiveGraph 1.1.4. Los aspectos metodológicos los que podemos replantear, de manera resumida, en forma de mapa según se aprecia en la figura 23.
se recibe. • Escribe los datos al archivo en disco. • Actualiza la información en pantalla. • Interactúa
con el operador para efecto del control de la maqueta (activación/desactivación de sensores y leds para manejo de la intensidad luminosa).
Los cuerpos y estructuras de los subprogramas necesarios están desarrollados también en Ada , con la excepción del módulo de comunicaciones que se encuentra en C . Para el caso de no disponer de un puerto serial en el computador de trabajó, se desarrolló una versión que permitiera emplear un puerto USB junto a un convertidor serial ↔ U SB . El programa principal y los subprogramas, tanto en Ada como en C , son compilados junto al núcleo de tiempo real, mediante una guía de ejecución por lotes (batch script ). Una segunda guía de ejecución preparar el puerto serial , bajo control de Linux , y lanza la corrida del programa principal el entorno gráfico (LiveGraph ), mediante la creación de dos entornos independientes a partir de terminales hijos, los que se comunican a través del archivo de datos. Arduino Concurrentemente, la información escrita en el disco es mostrada gráficamente en pantalla por Figura 23: Mapa de la Aplicación en el PC . LiveGraph , tal como puede apreciarse en la figura 24, donde se muestra una pantalla de la ejecución de los Un programa principal, escrito en Ada , es el programas. Variables Globales variables.ads (Ada)
Programa Principal t3.adb (Ada) Tiempo Real
Teclado teclado.ads (Ada) teclado.adb (Ada)
Comunicaciones t3 lib c.ads (Ada)
Operaciones operaciones.ads (Ada) operaciones.adb (Ada) Actuali za Actualiza Pantalla Disco
RS232
Disco
LiveGraph
Funciones de Comunic. t3 lib c fun.c (C)
12
de Tiempo Real . La etapa de comunicaciones con el microcontrolador fue escrita en C y para la parte de graficación tiempo real se empleó la aplicación de software libre, escrita en Java , LiveGraph 1.1.4. Marte
Para el caso de no disponer de un puerto serial en el computador de trabajo, se desarrolló una versión que permitiera emplear un puerto USB junto a un convertidor Serial-USB . Mediante pruebas realizadas se visualizaron las gráficas en un PC correspondientes a la información suministrada por el instrumento en tiempo real. Las graficas que se obtuvieron realmente muestran la respuesta de cada sensor debido a la variación del fenómeno físico con respecto al tiempo.
Figura 24: Pantalla de la simulación en Ada y LiveGraph .
Conclusiones.
Se comprobó experimentalmente que existe fusión cuando se cumplen los rangos establecidos para cada uno de los sensores.
En este trabajo construimos, de forma exitosa, un instrumento inteligente multisensorial con 4 sensores que miden variables físicas, para nuestro caso luminosidad y temperatura, con Modelo de Integración y de Fusión de Datos que lo realiza la programación incorporada dentro del microcontrolador ATMega328p, con capacidad de comunicación con un PC para el intercambio de información.
Se validó el desarrollo del control de la maqueta a través de experimentos realizados cambiando el contexto en los cuales trabajaban los sensores del instrumento. Cumpliendo con el decreto 3.390, para la construcción del instrumento se utilizó hardware abierto ( microcontrolador ATMega328p colocado sobre la placa de desarrollo de prototipos ARDUINO ) y herramientas de software libre ( C , Ada y Java ), en un ambiente GNU-Linux .
La propuesta de arquitectura se basa en los modelos tradicionales de fusión (en concreto, JDL), y se adapta en conceptos y funciones específicas, a las necesidades de los sistemas contextuales.
Se ha obtenido toda la formulación necesaria para la fusión de datos basada en el Referencias Teorema de Bayes , dichos algoritmos han sido validados mediante un experimento realizado [1] Massimo Banzi. Getting started with arduino. e implementados en un programa escrito en O’Reilly Media, Inc., 2008. Matlab.
[2] I. Bloch. Information combination operators for data fusion: A comparative review with classification. IEEE Transactions on Systems, Man, and Cibernetics. A-26(1):52-67, 1996.
El diseño del software se hace con la metodología HOOD-HRT , que contempla un desarrollo iterativo entre sus fases. Se diseña sólo la arquitectura lógica del sistema, se establecieron tres subsistemas activos, que a su vez se descomponen en tareas.
[3] J. Crowley and Y. Demazeau. Principles and techniques for sensor data fusion. Signal Processing, Vol. 32, Is. 1-2, pp. 5-27, 1993.
El programa que realiza las tareas asignadas al microcontrolador fue escrito en lenguaje C y transferido al microcontrolador desde el ambiente de desarrollo Arduino, trabajando en una plataforma GNU-Linux Ubuntu 9.04 .
[4] W. Elmenreich. A review on system architectures for sensor fusion applications. SEUS 2007, Lecture Notes in Computer Science, Vol. 4761, pp. 547-559, 2007.
Las tareas asignadas al PC fueron desarrolladas fundamentalmente en Ada 2008 , con núcleo 13
[5] David Hall and James Llinas. An introduction to multisensor data fusion. Proceedings of the IEEE, Vol. 85, NÂ 1, pp. 6 - 23, 1997. o
[6] David Hall and James Llinas. Mutisensor data [11] D. Smith and S. Singh. Approaches to fusion. In Handbook of multisensor data fusion multisensor data fusion in target tracking: A survey. IEEE Transactions on Knowledge and : theory and practice. , pages 1–14. CRC Press., 2009. Data Engineering, Vol. 18, Is. 12, pp.:1696 - 1710, 2006. [7] Otto Kessler and Frank White. Data fusion perspectives and its role in information processing. In Handbook of multisensor data [12] A. Steinberg. Data fusion system engineering. Proc. of the 3rd Internacional Conference on fusion : theory and practice., pages 15–44. CRC Information Fusion, Vol. 1, MOD5/3- MOD510, Press., 2009. 2000. [8] J. Llinas, C. Bowman, G. Rogova, A. Steinberg, E. Waltz, and F. White. Revisiting the jdl data [13] Alan N. Steinberg and Christopher L. Bowman. fusion model ii, 2004. Revisions to the jdl data fusion model. In [9] J. Llinas and D. Hall. An introduction to Handbook of multisensor data fusion : theory and multi-sensor data fusion. Proc. of the IEEE, Vol. practice., pages 45–68. CRC Press., 2009. 85, Is. 1, pp. 6-23, 1998. [10] Joshua Noble. Programming interactivity. a [14] S. Thomopoulos. Sensor integration and designer’s guide to processing, arduino, and data fusion. Journal of Robotic Systems , openframeworks. O’Reilly Media, Inc., 2009. 7(3):337–372, 1990.
14