Documente Academic
Documente Profesional
Documente Cultură
JDL y HRT-HOOD.
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
Key Words: Intelligent Instrumentation, Sensors, Bayes Theorem, Data Fusion, JDL Model,
HRT-HOOD, Real-Time Systems, Microcontrollers.
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
Controlador
Sensores
Registro de Sensores Selección
Sensores
Adquisición Integración Fusión Computador
Variables Medida
Fı́sicas Comunicaciones
s3
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.
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 )
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.
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.
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
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
s4
)
,s
s3
,
)}
1
],
|s
2)
s3
E
Luminosidad Fusión 1
,s
],
p(
,s
−
1
|s
σ22
|[p
e
(E
s2
|[p
Fusión 2
p(
E
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 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.
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 +
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.
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 :
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