Anda di halaman 1dari 14

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] [2]
heraouim@cantv.net / parraguezl@cantv.net

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-HOOD). A partir de una descripción del Modelo JDL para Fusión de Datos, una estructura
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 and fusion, an HRT-HOOD architecture for 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: Intelligent Instrumentation, Sensors, Bayes Theorem, Data Fusion, JDL Model,
HRT-HOOD, Real-Time Systems, Microcontrollers.

Introducción. nuevas tecnologías de información y comunicaciones


(TIC’s), particularmente para nuestro caso en la
fabricación de sensores y microcontroladores, ha
El área de conocimientos conocida como permitido evolucionar hacia la incorporación de
Integración y Fusión de Datos [5] es de vieja data, algoritmos complejos y de grandes prestaciones en
y por la naturaleza de sus primeros campos de circuitos digitales pequeños y de costo bajo, los que
aplicación (militar) ha estado circunscrita a contextos constituyen la base de muchas de las apliaciones
tecnológicos que demandan equipos considerados de modernas, incluyendo la instrumentación.
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, para el procesamiento y el control. En la operación de
Monitoreo Ambiental, Control y Mantenimiento las funciones de integración, la modularidad permite
Industrial, Domótica) el instrumento ha dejado de ser que gran parte del proceso sea distribuido a lo ancho
simplemente el "aparato encargado de obtener una del sistema. La programación orientada a objetos
medida" de las variables bajo estudio y/o control, y la estructura de control tipo pizarra, son dos de
para evolucionar hacia constituirse en el sistema las construcciones que son útiles en el fomento de
de control por sí mismo o en un medio del cual la modularidad para la integración multisensorial.
podemos obtener información más allá de los "datos Igualmente, el uso de redes neuronales e inteligencia
crudos", lo que conocemos hoy como "Intrumentación artificial permiten la incorporación de técnicas
Inteligente". de integración adaptativa que pueden manejar el
Esta tendencia ha demandado de un enfoque problema del error y la incertidumbre inherente en
metodológico preciso ante el volumen creciente de la integración multisensorial. La figura 2 muestra un
dispositivos e información que constituyen este tipo sistema típico de integración multisensorial con n
de sistemas. El modelo JDL, entre otros, proporciona sensores que proveen de datos al proceso.
este marco, aunque no excento de ser sometido a
cambios como ha ocurrido en la última década ( [8] y
INTEGRACIÓN Modelo Entorno

Controlador
[13]). MULTISENSORIAL

Sistema
El objetivo específico lo podemos resumir de
manera gráfica como se muestra en la figura 1, Procesamiento Sensorial
Fusión
donde se destacan las partes, etapas y procesos que Nivel de Sı́mbolos
Operación
Enrutamiento
deben cumplirse. La Fusión y comunicaciones son Nivel Caracterı́sticas
Nivel de pixel
Independiente

realizadas por un Microcontrolador, para el diseño y Nivel de señal

construcción del "Instrumento Inteligente".

Controlador
Sensores
Registro de Sensores Selección
Sensores
Adquisición Integración Fusión Computador

Modelo Modelo Modelo


s1 Datos y Sensorial Sensorial Sensorial
Datos Medidas

s2 Sensor 1 Sensor 2 Sensor n

Variables Medida
Fı́sicas Comunicaciones
s3

Figura 2: Diagrama funcional de sistema de Fusión e


s4
Integración multisensorial.
Esquemas Algoritmos Base de Datos,
Acondicionadores Graficación, etc.
Sensores Filtrado, etc.
Instrumento
Para que los sensores puedan ser usados en la
Figura 1: Formulación del problema. 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
Integración y Fusión. una medida de su calidad para ser usada en las
subsiguientes funciones del proceso de integración.
La integración multisensorial es el uso sinérgico El registro de sensores se refiere a cualquiera de
de la información provista por múltiples elementos los mecanismos usados para lograr que los datos de
sensores a fin de asistir al sistema en la cada sensor se correspondan tanto en espacio como
realización de una tarea; mientras que la fusión en tiempo.El proceso de enrutamiento se refiere a la
multisensorial se refiere a cualquier estado dentro situación donde los datos provenientes de un sensor
del proceso de integración donde exista una son usados para guiar o dar entrada a la operación de
combinación propiamente dicha de diferentes fuentes otros sensores.
de información sensorial en un formato que las Los resultados de la función de procesamiento
represente. sensorial sirven como entradas al modelo del entorno,
el cual se usa para almacenar la información
Integración Multisensorial. concerniente a cualquier posible estado del ambiente
donde se espera que el sistema opere. Un modelo de
Las estructuras jerárquicas son de utilidad al entorno puede incluir tanta información a priori como
permitir la eficiente representación de diferentes información sensorial reciente, y puede ser usado por
formas, niveles y resoluciones de la información usada procesos de alto nivel de razonamiento para hacer

2
inferencias que puedan ser usadas directamente en el S. C. Thomopoulos [14] propuso una arquitectura
subsiguiente procesado de la información y operación general y un marco de análisis para enfocar los
del controlador del sistema. problemas de fusión sensorial a tres niveles diferentes:
La selección de sensores se refiere al mecanismo el nivel de señal, el nivel de evidencia y el nivel de
usado para elegir la configuración de sensores mas dinámica.
apropiada dentro de las disponibilidades en el
sistema. Con la finalidad de realizar esta selección, Operador Bayesiano En este caso, el grado de
se establecen algunos criterios de desempeño, como confianza está representado por probabilidades (a
funciones de costo. Se pueden distinguir dos priori, condicional y a posteriori). Las decisiones son
metodologías para la selección del tipo, número y usualmente tomadas a partir de una probabilidad a
configuración de sensores: "Preselección" durante el posteriori. Si E el evento a ser evaluado, y x1 , x2
diseño o inicialización, y "Selección en Tiempo Real " la información proveniente de dos sensores distintos,
en respuesta a los cambios del entorno o a las cada uno asigna una probabilidad al evento E dada la
condiciones del sistema. medida xi . Así, dada x1 , la misma es convertida a la
función de densidad de probabilidad p (E | x1 ) como
Fusión Multisensorial. la mostrada en la figura 3 y que se conoce como el
modelo inverso del sensor.
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.

Algoritmos de Fusión e Integración El modelo anterior se relaciona con las


Multisensorial. propiedades del sensor mediante la regla de Bayes:
p(x1 | E )
Métodos de Inferencia. p (E | x1 ) = p(x1 ) p (E) (1)
De los diferentes algoritmos de fusión De la misma forma el modelo inverso del sensor
multisensorial, los métodos de inferencia pueden 2 estaría relacionado con el evento E a través de la
ser usados con efectividad para fusión sensorial ecuación:
a nivel de símbolos debido a su capacidad de
p(x2 | E )
razonamiento evidencial. Entre estus últimos, la p (E | x2 ) = p(x2 ) p (E) (2)
inferencia bayesiana permite que la información
multisensorial sea combinada según las leyes de La probabilidad de observación del evento E dado
la teoría de probabilidad. La fórmula de Bayes las mediciones x1 y x2 , se puede derivar de la regla
proporciona una relación entre la probabilidad a del producto,
posteriori de cierta hipótesis, dada la probabilidad p(x1 | E,x2 )
p (E | x1 , x2 ) = p(x1 | x2 ) p (E | x2 ) (3)
a priori de la misma y la probabilidad condicional
de observación de un evento en particular dentro Asumiendo la independencia de las mediciones x1
de la hipótesis. De aquí que la inferencia bayesiana y x2 , entonces p (x1 | E, x2 ) y p (x1 | x2 ) corresponden
actualice la probabilidad de hipótesis alternativas a p (x1 | E ) y p (x1 ) respectivamente, transformando
basándose en la observación de la evidencia. La nueva la probabilidad conjunta anterior en
información se usa para actualizar la probabilidad a
p(x1 | E )
priori de la hipótesis. p (E | x1 , x2 ) = p(x1 ) p (E | x2 ) (4)

3
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 | x1 , x2 ) = p(x1 | Ep(E)
)p(E| x2 )
(5) {En rango, Fuera de Rango}. Como inicialmente no
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 (Ei = 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
encontrar la probabilidad [p (L |s11 , s21 )] que la
número de sensores, y así mejorar el resultado
luminosidad se encuentre en el rango [9,0, 11,5] lux.
de problemas complejos, como la restitución de
(figura 6).
imágenes, la detección de la congestión de carreteras,
reconocimiento de objetos.
En la figura 4 se presenta el proceso de fusión con
la Técnica de Bayes.

X1
Fuente 1 p (x1 |E )
Formula
combiantoria de
Bayes
X2
Fuente 2 p (x2 |E )
Lógica Resultado
p (Ei |xi , · · · , xn ) de de
para i = 1 · · · r Decisión Fusión

Xn
Fuente n p (xn |E )

Figura 4: Proceso de fusión con la técnica de Bayes.


Figura 6: Respuesta a la fusión bisensorial replicada.
Inferencia estadística según el modelo Muestra Ampliada
bayesiano 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, este proceso realizando un "modelado dinámico del
para el caso de 4 sensores, se incorpora mundo", que les permite representar el entorno
un dos sensores de temperatura. Ahora, el externo. El proceso natural de fusión se puede
objetivo es encontrar la función de probabilidad simular, gracias a los avances en procesado de señal
cuando los sensores de luminosidad y los de y al perfeccionamiento de los sensores, a través
temperatura se intersecten en sus respectivos rangos de sistemas computacionales que tienen que extraer
[p (F |E |L |s11 , s21 , p (T |s31 ) , p (T |s41 ) )] (figura 7). 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
Figura 7: Respuesta a la fusión multisensorial (4 de los modelos de fusión de datos más referenciados
sensores). en la literatura [7], el modelo JDL.
En el mundo militar, la fusión de datos se utiliza,
El modelo JDL. por ejemplo, para reconocimiento automático de
blancos, guiado de vehículos autónomos, toma de
Arquitectura de Fusión Multisensor. datos de sensores remotos, supervisión del campo
El proceso de combinar datos o información de batalla o reconocimiento automático de amenazas
para estimar o predecir el estado de las entidades (Identification Friend Foe Neutral, IFFN). En este
es conocido como “fusión de datos” [12]. El tipo de aplicaciones, el objetivo de la fusión es
objetivo de la fusión multisensor es armonizar reconocer, estimar o predecir el estado de tipos
datos de múltiples fuentes para conseguir precisiones específicos de entidades en el entorno: blancos,
mejoradas y estimaciones más fiables que las que amenazas, formaciones militares, etc. [12]. En
pueden obtenerse de un único sensor [9], ya que cuanto a las aplicaciones civiles, algunas están
la información procedente de un sensor puede ser ligadas a la supervisión de sistemas de fabricación,
incompleta (habitualmente, un único sensor no puede al mantenimiento de maquinaria compleja, a la
capturar toda la información de su entorno), errónea predicción de terremotos, al desarrollo de sistemas de
(debido, por ejemplo, a que el hardware no opera en supervisión de tráfico, diagnóstico médico y al diseño
la práctica como se modela) y/o incierta (es necesario de sistemas robóticos [6] y [3].
gestionar la incertidumbre asociada a las medidas que
genera). Modelo JDL Entre los modelos de fusión, uno
Como se comenta en [9], el proceso de fusión de los más conocidos es el propuesto en 1985 por
de datos procedentes de diferentes fuentes no es el American Joint Directors of Laboratories Data
nuevo: los animales y los humanos lo realizamos Fusion Subpanel. En palabras de sus autores [9], “el
permanentemente, pues tenemos la capacidad de modelo de Proceso de Fusión de Datos JDL es un
combinar la información recibida por nuestros modelo conceptual que identifica procesos, funciones,
sentidos para inferir nuestras propias conclusiones categorías de técnicas y técnicas particulares
sobre una determinada situación. En este proceso aplicables a la fusión de datos”.
de percepción, nos ocupamos de "mantener una Elmenreich [4] lo clasifica como una arquitectura
descripción interna del entorno externo" [3]. genérica (ni abstracta ni rígida, según el autor), sino
De esta forma, las máquinas tratan de imitar una propuesta en la que se definen unas líneas de

5
implementación sin entrar a particularizar aspectos obtener la representatividad individual de los
de diseño. objetos. Se combinan los datos de los sensores
El modelo JDL original estaba formado por cuatro para obtener atributos y características de la
niveles de fusión: “evaluación” de la señal, del objeto, entidad.
de la situación y del impacto, a los que se añadían
funciones de gestión complementarias. El modelo se Nivel 2: Se trata de desarrollar una descripción
revisó posteriormente [12], momento en el cuál se contextual de la relación entre los objetos y
incorporó una nueva capa de procesado denominada los eventos observados. Este procesamiento
“de evaluación del proceso”. Además, se intentó incorpora la información del entorno (un
generalizar su enfoque de aplicación más allá de lo conocimiento a priori) y las observaciones. En
militar e integró el modelo de Arquitectura de Árbol nuestro caso se relaciona con la información
de Fusión de Datos (Data Fusion Tree Architecture) suministrada por los resultados de los
para describir, diseñar e implementar el sistema de algoritmos de fusión.
fusión.
Nivel 3: Proyección de futuro de la entidad
Asimismo, se sugirió la inclusión de otra capa
analizada a partir de la situación actual.
ulterior que permita la posibilidad de que el usuario
Los modelos utilizados para este nivel son la
pueda colaborar, como último filtro, en el proceso de
inteligencia artificial, los modelos predictivos,
fusión (Blasch, 2002).
el razonamiento automático y la estimación
Las extensiones más recientes [8] y [13] están
estadística.
dirigidas a incorporar aspectos de control de calidad,
fiabilidad y consistencia en el proceso de fusión Nivel 4: Monitoriza todo el proceso de fusión de
de datos. También en esta última actualización se datos para mejorar el rendimiento del proceso
reflexiona sobre la fusión basada en ontologías y sobre en tiempo real, mediante la optimización de
los aspectos que condicionan las arquitecturas de la utilización de recursos, la modelización
fusión distribuidas (Distributed Data Fusion). sensorial y la computación de medidas de
Steinberg et al. [12] y Smith y Singh [11], por perfeccionamiento.
ejemplo, hacen un repaso a los diferentes niveles del
modelo de fusión JDL, comentando las misiones de Nivel 5: Mejora del sistema de fusión a partir
cada uno de los niveles jerárquicos y las técnicas que de la relación Sensor-Procesamiento-Persona.
se pueden emplear en cada una de las fases (ver figura Proyectando modelos en los que la
8). 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
Figura 8: Arquitectura JDL. Modelo funcional. datos, la compresión, las colas relacionales y
la protección de datos. Para desarrollar esta
Nivel 0: Los datos de las fuentes son función será necesario un considerable esfuerzo
habitualmente pre-procesados para una fusión computacional.
posterior, filtrando los datos o alineándolos
Interacción Hombre-Máquina: Este elemento,
temporalmente, es a este nivel donde cada uno
considerado externo a la fusión, es importante
de los sensores aporta sus datos obtenidos de
en el proceso de fusión. Ya que una correcta
forma independiente del resto.
interfaz del sistema, será clave para el
Nivel 1: El procesamiento al nivel 1 combina la refinamiento cognitivo. Además de proveer de
información de localización, y la identidad, para un mecanismo para los comandos humanos y

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
Figura 10: Arquitectura JDL. Adquisición (Nivel 0)
para su análisis funcional. Los requisitos del
sistema determinarán cómo implementar las distintas
funciones.

Cada sensor se adapta de manera particular para


Arquitectura del sistema de fusión de datos aprovechar al máximo la entrada del convertidor A/D
del microcontrolador.
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.

Valor
Figura 11: Arquitectura JDL. Adaptación (Nivel 0)
Nivel 0 — Pre-Procesamiento Nivel 5
Refinamiento
de Usuario
Prioridad
Nivel 1 — Evaluación de Objetos

Contexto
Nivel 2 — Evaluación de Situación
Fuentes
de Interacción
Nivel 1: Integración de los cuatros sensores (ver
Datos Hombre/
Nivel 3 — Evaluación de Impacto
Intención
Máquina figura 12). Se usó una estructura tipo árbol donde
Rendimiento métricas/confiabilidad
los sensores s1 y s2 de luminosidad están integrados
Utilidades de
Refinamiento de forma competitiva a nivel del primer nodo hoja
Sistema de Gestión
de Base de Datos
Servicios
Distribuidos
Nivel 4
Refinamiento
dando una característica, en el caso nuestro un
de Información de Procesos
Base de Base de
rango de luminosidad. La integración competitiva
Datos de Datos de requiere lecturas replicadas de sensores que son
Soporte Fusión

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
datos. por el ruido. El sensor número 3 de temperatura
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
LM35 y LM335. Utilizamos el microcontrolador La salida de fusión 2 se emplea junto con los datos
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.

7
Integración de Sensores
Organización en Estructura de Árbol

s1
L1 La metodología de HOOD se concentra en el diseño
Luminosidad Datos Integración
Competitiva F1
funcional del sistema. No se tiene en cuenta el análisis
L2 Cara
s2 cterı́s
tica
Integración
de los aspectos temporales ni de las prestaciones.
Nodo Independiente F2
Hoja T1 Carac
terı́st
atos ica
D Integración F3
s3 Nodo Cooperativa

Temperatura
Intermedio
Dato
T2
s HRT-HOOD.
s4 Nodo
Raı́z

HRT-HOOD (Hard Real-Time Hierarchical


Figura 12: Arquitectura JDL. Integración de Object-Oriented Design), es un método de diseño
Sensores. Organización en estructura de árbol. (Nivel estructurado, basado en objetos, para sistemas de
1) tiempo real estricto, derivado de HOOD.
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
Fusión Bayesiana detalle) del sistema.
s1 e

0.5 (x1 −µ1 )2
σ12
Las obligaciones en el nivel superior corresponden
)

a las propiedades que aparecen en las especificaciones.


2)

s4
)
,s

s3

,
)}
1

],
|s

2)

s3
E

Luminosidad Fusión 1
,s

],
p(

Los compromisos son las concreciones que se hacen


2)
1
|s

,s

0.5 (x2 −µ2 )2


(E


1
|s

σ22
|[p

e
(E

en el diseño que hacen que se cumplan las propiedades


E

s2
|[p

Fusión 2
p(

E
p(
|{

correspondientes a las obligaciones.


E

0.5 (y1 −µ3 )2


p(


e σ32 Fusión 3 Acción Final
s3
El proceso de refinamiento del diseño consiste en
Temperatura

0.5 (z1 −µ4 )2
σ42
ir transformando las obligaciones en compromisos.
e
s4 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
(Nivel 2). y hardware sobre los que se construye el sistema.
En HRT-HOOD se definen dos tipos de
actividades en el diseño de la arquitectura:
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
de objetos, organizados como: las restricciones impuestas por el entorno de
ejecución. Supone principalmente los requerimientos
Jerarquía: descomposición de objetos en otros funcionales.
objetos que pueden ser vistos como "hijos" de La arquitectura física tiene en cuenta los
éste. requerimientos funcionales y, además, las restricciones
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
simultáneamente en el interior de un objeto. de la lógica, ambas se desarrollan y modifican a
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 3. Subsistema PC : Este Subsistema se encarga de
ésta para empezar con la arquitectura física, de lo comunicar el Instrumento vía RS232 con un
contrario se podría invalidar demasiado tarde los PC para el almacenamiento y visualización en
recursos asumidos en la primera). En este proyecto tiempo real de la información suministrada por
se desarrolla sólo la arquitectura lógica. 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
cuales trabajan los sensores del instrumento.
con la Metodología HRT-HOOD.
A Monitoreo de Sensores A Microprocesador
Especificaciones de Requisitos.
Se requiere desarrollar un instrumento inteligente Datos Crudos
Escalamiento
Fusión
con 4 sensores que midan variables físicas, para Comunicación

nuestro caso luminosidad y temperatura, con Modelo


de integración y de fusión de datos que lo Lectura
de sensores
realice la programación incorporada dentro de
Señal de Resultados de
un microcontrolador. El instrumento deberá tener Control de sensores Lecturas y Fusiones
comunicación serial con un PC en el cual se
almacenarán y visualizarán en tiempo real la A PC

información suministrada por el instrumento. Se


usarán cuatro sensores, s1 y s2 son replicados, s3 y Comunicación
Base de Datos
s4 son dispersos. Para realizar la fusión de los datos Graficación
Control de Maqueta
se deben aplicar técnicas probabilísticas basadas en el
teorema de Bayes a fin de inferir la medida correcta
(ver figura 13).
Figura 14: Diseño de Primer nivel.
Diseño de la Arquitectura lógica.
Cada objeto del primer nivel se descompone
La arquitectura lógica trata los requisitos
en sub-niveles, siguiendo la misma metodología,
funcionales. Estos son independientes de las
hasta alcanzar un punto de detalles suficientemente
restricciones físicas impuestas por el entorno de
sencillo como para ser directamente codificado, en
ejecución (velocidad del procesador, etc.)
algún lenguaje computacional (Detalles de este
El primer paso es identificar las clases de objetos
procedimiento pueden encontrarse en el trabajo en
adecuados a partir de los cuales se va a construir
extenso).
el sistema. Los requisitos funcionales del sistema
(descritos en la sección anterior) sugieren tres
subsistemas (ver figura 14):
Variables físicas, sensores y
1. Subsistema Monitoreo de sensores: Se encarga
de monitorear todos los datos de los sensores
electrónica.
acondicionados los cuales serán almacenados en Nuestro instrumento mide dos variables físicas:
una base de datos. luminosidad y temperatura, con cuatro sensores.
2. Subsistema Microcontrolador: Este subsistema La luminosidad es medida con dos fotoceldas (s1
realiza las siguientes tareas: y s2 ) de bajo costo, semejantes a las encontradas
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
reales. de operación, y con una desviación estándar de
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
Un sensor de temperatura (s3 ), LM35, calibrado 10kΩ 15kΩ
o
en grados centígrados, cubrirá el rango [28,0, 34,5] C. Rf 1 Rf 2
Un cuarto sensor de temperatura (s4 ), LM335, 9
-
calibrado en grados Kelvin y adaptado a grados 8 EA1
o 10 LM 324
centígrados, cubrirá el rango [32, 36] C. Para ambos, + Arduino
se asumirán distribuciones Gaussianas normalizadas,
centradas en la mitad del rango de operación y con F C1 Rf 3 1.1M Ω
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
ubica en la mitad del rango para cada sensor y las R1 R2
V cc
desviaciones estándar se han fijado en el cuadro 1. 9
-
8 EA3
10 LM 324 Arduino
LM 35 +

Cuadro 1: Parámetros estadísticos para sensores.


s1 (lux) s2 (lux) s3 (o C) s4 (o C)
µ 8.75 12.5 31.25 34 Figura 17: Circuito acondicionador de señal para
σ 4.375 6.25 15.625 17 sensor LM35.

Para el sensor de temperatura LM335 el


Acondicionamiento de las señales. acondicionamiento se hace con un amplificador de
diferencia, para poder compensar la transformación
Para acoplar la salida del sensor al convertidor desde o K a o C (ver figura 18).
A/D del microcontrolador se utiliza un circuito
acondicionador de señal (ver figura 15). V cc

V cc R7 18kΩ 180kΩ
0Lux 0V 0V 5kΩ
Fotocelda 1 CAS 1 Microcont. 2.73V R6 R5
20Lux 3V 4.5V
R1 5.6kΩ 2
-
0Lux 0V 0V 1 EA4
Fotocelda 2 CAS 2 Microcont. R3 3 LM 324
20Lux 3V 4.5V + Arduino
18kΩ
100kΩ
0o C 2.73V 0V LM 335 R2 180kΩ R4
LM335 CAS 3 Microcont.
50o C 3.23V 5V

0o C 0V 0V
LM35 CAS 4 Microcont.
50o C 0.5V 5V 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 básica del
instrumento.
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 Es de fuentes abiertas, tanto para el hardware
de fuentes abiertas, basada en una tarjeta sencilla como para el software.
de entradas/salidas y un entorno de desarrollo que
implementa el Procesamiento del Lenguaje. Arduino Es un entorno multiplataforma: puede
puede ser usado para desarrollar objetos interactivos ejecutarse en Linux, Mac y Windows.
autónomos o puede conectarse a aplicaciones en
un computador. Diferentes módulos pueden ser Soporta programación mediante puertos USB
ensamblados para formar una unidad de prestaciones y/o RS232.
más elevadas, de acuerdo a las exigencias de un diseño
en particular. En nuestro caso, le hemos adaptado una Existe una comunidad de usuarios muy activa
Tabla de Montajes (figura 20), donde se disponen de a nivel mundial, con la que se intercambian
los sensores y de la electrónica asociada a ellos, para experiencias y desarrollos a través de Internet.
finalmente constituir una estructura única, como se
aprecia en la figura 21.
Posee un entorno de desarrollo (IDE ) de uso
fácil.

Programación.
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
Figura 20: Módulo Arduino y placa de desarrollo. 22.

11
Microprocesador PC encargado del inicio, preparación y coordinación de
Aplicación todas las actividades inherentes al PC :

Archivo de Datos Define una tarea tiempo real para la


coordinación de las operaciones.

Fusión Gestión Lectura Prepara el puerto de Comunicaciones.

Crea y/o prepara un archivo en disco para


guardar la información proveniente desde el
Comunic. Comunic. Gráficas microcontrolador.

Prepara el manejo de la pantalla.

RS232 Opera en un ciclo infinito (a menos que se


solicite una salida explicita por parte del
Figura 22: Estructura Lógica de la Aplicación. operador):

El lado del Microcontrolador. • Lee el puerto serial.

El programa que realiza las tareas asignadas • Aplica formato y escala la información que
al microcontrolador, codificado en lenguaje C, se recibe.
y su desarrollo está basado en la arquitectura
• Escribe los datos al archivo en disco.
HRT-HOOD y fue escrito, verificado y transferido
al microcontrolador desde el ambiente de desarrollo • Actualiza la información en pantalla.
Arduino, trabajando en una plataforma GNU-Linux
Ubuntu 9.04. • Interactúa con el operador para
efecto del control de la maqueta
(activación/desactivación de sensores
El lado del PC. y leds para manejo de la intensidad
Las tareas asignadas al PC fueron desarrolladas luminosa).
fundamentalmente en Ada 2008, con núcleo Marte
de Tiempo Real. La etapa de comunicaciones con el Los cuerpos y estructuras de los subprogramas
microcontrolador fue escrita en C y para la parte necesarios están desarrollados también en Ada, con
de graficación tiempo real se empleó la aplicación de la excepción del módulo de comunicaciones que se
software libre, escrita en Java, LiveGraph 1.1.4. encuentra en C. Para el caso de no disponer de
Los aspectos metodológicos los que podemos un puerto serial en el computador de trabajó, se
replantear, de manera resumida, en forma de mapa desarrolló una versión que permitiera emplear un
según se aprecia en la figura 23. puerto USB junto a un convertidor serial ↔ U SB.
El programa principal y los subprogramas, tanto
Variables Globales
variables.ads (Ada) en Ada como en C, son compilados junto al núcleo
de tiempo real, mediante una guía de ejecución por
Programa Principal Teclado
t3.adb (Ada) teclado.ads (Ada) lotes (batch script). Una segunda guía de ejecución
Tiempo Real teclado.adb (Ada)
preparar el puerto serial, bajo control de Linux, y
Comunicaciones
Operaciones
operaciones.ads (Ada)
lanza la corrida del programa principal el entorno
t3 lib c.ads (Ada) operaciones.adb (Ada)
gráfico (LiveGraph), mediante la creación de dos
Actualiza Actualiza
Pantalla Disco Disco LiveGraph
entornos independientes a partir de terminales hijos,
RS232 Funciones de Comunic. los que se comunican a través del archivo de datos.
Arduino t3 lib c fun.c (C)
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.

12
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.
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
Figura 24: Pantalla de la simulación en Ada y información suministrada por el instrumento
LiveGraph. 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
Conclusiones. respecto al tiempo.
En este trabajo construimos, de forma exitosa, Se comprobó experimentalmente que existe
un instrumento inteligente multisensorial con fusión cuando se cumplen los rangos
4 sensores que miden variables físicas, para establecidos para cada uno de los sensores.
nuestro caso luminosidad y temperatura, con
Se validó el desarrollo del control de la maqueta
Modelo de Integración y de Fusión de Datos
a través de experimentos realizados cambiando
que lo realiza la programación incorporada
el contexto en los cuales trabajaban los sensores
dentro del microcontrolador ATMega328p, con
del instrumento.
capacidad de comunicación con un PC para el
intercambio de información. Cumpliendo con el decreto 3.390, para
la construcción del instrumento se utilizó
La propuesta de arquitectura se basa en los hardware abierto ( microcontrolador
modelos tradicionales de fusión (en concreto, ATMega328p colocado sobre la placa de
JDL), y se adapta en conceptos y funciones desarrollo de prototipos ARDUINO) y
específicas, a las necesidades de los sistemas herramientas de software libre (C, Ada y Java),
contextuales. en un ambiente GNU-Linux.
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
El diseño del software se hace con la for data fusion: A comparative review with
metodología HOOD-HRT, que contempla un classification. IEEE Transactions on Systems,
desarrollo iterativo entre sus fases. Se diseña Man, and Cibernetics. A-26(1):52-67, 1996.
sólo la arquitectura lógica del sistema, se
[3] J. Crowley and Y. Demazeau. Principles
establecieron tres subsistemas activos, que a su
and techniques for sensor data fusion. Signal
vez se descomponen en tareas.
Processing, Vol. 32, Is. 1-2, pp. 5-27, 1993.
El programa que realiza las tareas asignadas [4] W. Elmenreich. A review on system architectures
al microcontrolador fue escrito en lenguaje for sensor fusion applications. SEUS 2007,
C y transferido al microcontrolador desde el Lecture Notes in Computer Science, Vol. 4761,
ambiente de desarrollo Arduino, trabajando en pp. 547-559, 2007.
una plataforma GNU-Linux Ubuntu 9.04.
[5] David Hall and James Llinas. An introduction
Las tareas asignadas al PC fueron desarrolladas to multisensor data fusion. Proceedings of the
fundamentalmente en Ada 2008, con núcleo IEEE, Vol. 85, NÂo 1, pp. 6 - 23, 1997.

13
[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
: theory and practice., pages 1–14. CRC Press., survey. IEEE Transactions on Knowledge and
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.
fusion : theory and practice., pages 15–44. CRC Proc. of the 3rd Internacional Conference on
Press., 2009. Information Fusion, Vol. 1, MOD5/3- MOD510,
2000.
[8] J. Llinas, C. Bowman, G. Rogova, A. Steinberg,
E. Waltz, and F. White. Revisiting the jdl data
fusion model ii, 2004. [13] Alan N. Steinberg and Christopher L. Bowman.
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