You are on page 1of 370

I ~

UNIVERSIDAD COMPLUTENSE

UNIVERSIDAD COMPLUTENSE DE MADRID


Departamento de Arquitectura de Computadores y Automtica
Madrid ESPAA
-

Integracin y fusin multisensorial


en
Robots mviles autnomos

Memoria para optar al grado de doctor


presentada por

Jos Antonio Lpez Orozco

Madrid 1998

COMPLUTENSE DE MARID
FACULTAD DE CLrj :i~ FISI:as
REGISTRo ~E

N.o RECSTRO ? -
~. ~5O 5e950

u
u
u

u
u
u
u
u
u
u
u
u
u
1
1
u
u
_u ___
J
J
J
J
ndice

INTRODUCCION 1

PLANTEAMIENTO GENERAL DEL PROBLEMA 1


OBJETIVOS DE LA TESIS 4
ORGANIZACIN DE LA MEMORIA 6

CAPTULO 1

ASPECTOS GENERALES 9

1.1. ASPECTOS GENERALES DELAINTEGRACIONYFUSINMULTISBNSORIAL 10


Fusin frente a integracin 11
Fusin multisensorial 11
1.1.1. Clasificacin de los procesos de fusin 13

1.1.1.1 A nivel funcional 15


NivelE 15
Nivel II: 16
Nivellil: 16
Nivel IV: 17
1.1.1.2 A nivel de representacin 17
Nivel de seal 18
Nivel de pixel 18
Nivel de caractersticas 19
Nivel simblico 19
1.1.2 Arquitecturas de fusin 20

y
J
vi Indice
1.1.2.1. Arquitectura de fusin centralizada 21

1.1.2.2. Arquitectura de fusin autnoma 22


1.1.2.3. Arquitectura de fusin hbrida 23
1.1.3. Algoritnos de fusin de datos 24

1.1.3.1. Algoritmos de fusin de datos de posicin 28


1.1.3.2. Algoritmos de fusin de identidad 29
1.1.3.3. Algoritmos de soporte auxiliar 31
1.2. APLIcACIONES QUE REALIZAN FUSIN E INTEGRACIN MULTISENSORIAL 33
1.2.1 Industriales 33
1.2.2. Militares 35
1.2.3. Espaciales 35
1.2.4. Otras 36
1.3. INTEGRACIN MULTISENSORIAL EN ROBOTS MOVILES 38

CAPTULO 2

MODELO SENSORIAL 43

2.1. INTRODUCCION 44

2.2. SENSORES EN UN ROBOT MVIl 47

2.2.1. Sensores de estado 48


2.2.1.1. Sensores increnentales 51
Sensores odomtricos 51
Sensores inerciales.. 52
2.2.1.2. Sensores de orientacin 53
Girscopos 53
Sensores geomagnticos 54
2.2.1.3. Balizas activas 54
CPS 55
Otras balizas 56
2.2.2. Sensores de entorno 56
2.2.2.1. Base de datos 57
2.2.2.2 Emisores de ondas 58
2.2.2.3 Visin artificial 60
2.3. INFORMACIN SENSORIAL EN UN ROBOT MOVIL 62
2.3.1. Datos proporcionados por los sensores 62

2.3.2. Funciones para utilizacin de los sensores 64


E
Indice Funciones de peticin de informacin~ 65

U Funciones de mantenimiento: 64

3 2.4. SENSOR GENERAL PROPUESTO 66


2.4.1. Sensor lgico 66
2.4.2. Desarrollo orientado a objetos del sensor lgico 67
2.4.3. Caso de utilizacin <escenario) 71
2.5. RESULTADOS DEL CAPITULO 75

CAPTULO 3

FUSIN MULTISENSORIAL DE MEDIDAS DE POSICION 77

U 3.1 INTRODUCCIN 78
3.2 ALGORITMOS DE FUSIN POSICIONAL 80
U 3.2.1 Asociacin de datos 80
3.2.2 Estimacin de estado 82

3 3.2.2.1 El modelo del sistema 83


3.2.2.2 El criterio de optimizacin 84
3.2.2.3 Mtodo de optimizacin 85
3.2.2.4 Mtodo de procesamielito 85
3.3 FUsIN DE MEDIDAS DE POSICIN MEDIANTE UN FILTRO DE KALMAN 87
3.3.1 Filtro de Kaiman extendido centralizado 87
3 3.3.1.1 Modelo del mvil 88
3.3.1.2 Ecuaciones del filtro 90

u 3.3.2 Filtro de Kalman distribuido


3.3.2.1 Ecuaciones del filtro y de asimilacin
91
93

3 3.3.2.2 Validacin de datos externos 96


3.3.3 Nueva validacin de datos externos 98

u 3.4 FUNCIONAMIENTO ASINCRONO

3.5
3.4.1 Ecuaciones de asimilacin asncrona
RESULTADOS EXPERIMENTALES
102

104
108
U 3.5.1 Modelo del sistema y de los sensores 108

3 3.5.2 Simulaciones
Caso 1: Funcionamiento sin fallos de los sensores
Caso 2 Fallo en el funcionamiento de un sensor
110
112
117

3 3.5.3 Decisin de la estima mejor 122

u
u
viii Indice

3.6 RESULTADOS DEL CAPITULO 127

CAPTULO 4

FUSIN MULTISENSORIAL DE MEDIDAS DE ENTORNO 129 J


4.1 131
J
INTRODUccIN

4.2 ALGORITMOS DE FUSIN DE IDENTIDAD 133


4.2.1 Inferencia clsica y modelo probabilstico 133

4.2.2 Inferencia bayesiana 136 J


4.2.2.1 Factores de certeza 139

4.2.2.2 Redes bayesianas 140 J


4.2.3 Teora de Dernpster-Shafer 141
4.2.4 Teora generalizada de Thomopoulos 143
4.2.5 Mtodos heursticos 144
4.2.5.1 Lgica difusa 144
4.2.5.2 Redes neuronales artificiales 145
4.3 FUSIN DE MEDIDAS DE ENTORNO MEDIANTE REDES BAYFSIANAS 147
4.3.1. Funcionamiento de las redes bayesiauas 147
4.3.1.1. Base de conocimiento 147
Red
Matrices bayesiains.
148
148
J
4.3.1.2. Motor de inferencia 149 J
4.3.2. Implementacin de las redes bayesianas 150
4.4. UTILIZACIN DE LA RED BAVESIANA EN EJEMPLOS CLSICOS 153 J
4.4.1. Comparacin de las red bayesiana con el Mapa de certeza de Elfes 154
4.4.2. Comparacin de las redes bayesiauas con el 1-listograma de campo 159

4.4.3. Modelo de los sensores ei redes bayesianas 161 J


4.5. RED BAYFSIANA DE FUSIN MULTISENSORIAL EN NUESTRO ROBOT 164

4.5.1. Modelo de fusin sensorial mediante redes bayesianas 164 J


4.5.2. Sistema de fusii para un robot mvil 166
4.5.3. Ejemplo del comportamiento del sistema de fusin 170 J
Caso 1: Fusin de medidas sensoriales procedentes de un nico sensor 171

Caso II: Fusin de medidas de ambos sensores 172 J


Caso III: Fusin de medidas contradictorias 173
Caso IV: Fusin de medidas a lo largo del tiempo 175 J

4
Indice ix

4.6. FUNCIONAMIENTO TEMPORAL 178


4.6.1. Ejemplos de funcionamiento tenporal 182

4.6.1.2 Factor de olvido en la informacin a priori 183


4.6.1.2. Factor de olvido en las medidas sensoriales 188
4.7 RESULTADOS EXPERIMENTALES 191
4.7.1. Modelo sensorial y entorno utilizados 191

4.7.2. Fusin de medidas reales de ultrasonidos 193


4.7.3. Fusin de medidas de ultrasonidos y visin simuladas 196
4.8 RESULTADOS DEL CAPITULO 200

CAPTULO 5

IMPLEMENTACIN DEL SISTEMA DE FUSION 201

INTRODUCCIN 202
5.1. ARQUITECTURA DE CONTROL PROPUESTA 204
5.1.1. Tareas necesarias en un robot mvil autnomo 206

5.1.2. Esquema general 210


5.1.3. Modelo propuesto 213
Posicionadores 214
Posicionador 1 214
Posicionador 2 215
Posicionador 3 216
Posicionador 4 216
Navegantes 217
Navegante 1 217
Navegante 2 217
Navegante 3 217
5.2 SISTEMA DE CONTROL ORIENTADO A OBJETOS EN TIEMPO REAL 219

5.2.1. Niveles de integracin 221


5.2.2. Tareas del robot y modelo ROOM 223
5.3. TAREAS EN EL CONTROL DEL ROBOT MVIL AUTNOMO 227
5.3.1. Sistema sensorial 227
5.3.1.1. Sensores de estado 227

5.3.1.2. Sensores de entorno 231

5.3.2. Control de los motores 235


5.3.2.1 Generacin de la trayectoria 236
x Indice

5.3.2.2. Control de trayectoria 237

5.3.2.3. Modelo BOOM 239


5.3.3. Planificador de caminos 241
5.3.3.1. Representacin local del entorno 242
5.3.3.2. Creacin del mapa de carreteras y trayectoria ptima 245
5.3.3.3. Actualizacin del entorno y esquiva de objetos 249
5.3.3.4. Modelo BOOM 250
5.3.4. El navegante 253
5.3.4.1. Modelo BOOM 254
5.4. SIMULACIN DEL FUNCIONAMIENTO DE LOS ACTORES 256
5.4.1. Fallo de distintos sensores 257
5.4.1.1. Simulacin de sensores de estado 258
5.4.1.2. Simulacin de sensores de entorno 262
5.4.2. Simulacin del sistema de control del robot 264
5.5. RESULTADOS DEL CAPITULO 266

CAPTULO 6

RESULTADOS EXPERIMENTALES 267

6.1. INTRODUCCION 268


6.2. SIMULACIN DEL SISTEMA IMPLEMENTADO 270

6.2.1. Utilizacin del robot para exploracin y construccin de mapas 270


6.2.2 Navegacin reactiva 272

6.2.2.1. Esquiva de objetos 273


6.2.2.2. Deteccin de objetos en movimiento 275
6.3. RESULTADOS EN PRUEBAS REALES 277

6.3.1. Adaptacin de un sistema real 277


6.3.2. Movimiento en un entorno conocido 284
6.3.2.1 Funcionamieito de los sensores 285
6.3.2.2. Robustez frente a fallos de los sensores 286

6.3.3. Movimiento en un entorno desconocido 287


6.3.3.1. Funcionamieito de los sensores de entorno 287
6.3.3.2. Utilizacin del robot en construccin de napas 289
6.4. RESULTADOS DEL CAPITULO 292
u
Indice xi

1 CONCLUSIONES 293

3 CONCLUSIONES Y RESULTADOS 293


1.- Sistema de integracin y fusin multisensorial 294

u3 2.- Arquitectura de control en tiempo real

VALORACIN DE LOS RESULTADOS Y POSIBLES TRABAJOS FUTUROS


PUBLICACIONES REALIZADAS
296

299
301

u BIBLIOGRAFA 303

APNDICE A 325

U CLCULO DE LA CREDIBILIDAD EN REDES BAYESIANAS 325

Definiciones 325
U Hiptesis de independencia condicional 325
Separacin direccional 326
3 Algoritmo para propagacin de la evidencia 328
Implementacin distribuida 332
3 Herramientas software 334

APNDICE B 337

METODOLOGA ROOM 337


Actores 338
Interfaz entre actores 338

Notacin grfica 339


Mensajes y protocolos 339

Composicin de los actores 340


Puertos 341
Rplicas o Reproducciones (Replicatives) 342
Estructuras dinmicas 343

Actores dinmicos 343

u Relaciones dinmicas de actores

Descomposicin en capas
344

345

Diagramas de ROOM 346

xn ndice

Transiciones 347

Acciones de entrada y acciolies de salida del estado 348

APNDICE C 349

SISTEMA SENSORIAL DEL ROBOT 349


Sensores de estado: 349
Sensores de entorno: 350

APNDICE D 353

MATRICES DEL MODELO DEL SISTEMA Y DE LOS SENSORES 353


Filtro de Kalman centralizado y distribuido 353
Filtro de Kalman completamente distribuido 355

J
J
J
Introduccin

Planteamiento general del problema


La teora y aplicacin de sistemas multisensor en diversas aplicaciones y la
gran mejora observada al utilizarlos en problemas tales como el procesamiento de
imgenes, aplicaciones militares, reconocimiento de entorno, ayuda al diagnstico
mdico, etc., ha provocado un creciente inters en multitud de investigadores. La
gran variedad de aplicaciones en las que se puede utilizar y la mejora que produce
su utilizacin ha captado el inters de diversas reas de conocimiento (estadstica,
inteligencia artificial, robtica, etc.) y ha propiciado el desarrollo de nuevas
tcnicas <redes bayesianas, lgica difusa, redes neuronales artificiales, etc.).
Aplicaciones clsicas y nuevas conducen a distintas apro~dmaciones en el
tratamiento de la informacin obtenida y en el tratamiento de los distintos aspectos
de la fusin de datos, como son: tcnicas de inteligencia artificial y uso de bases de
conocimiento, tcnicas de procesamiento de seal y teora de la estimacin,
tcnicas estadsticas o probabilsticas (teora bayesiana, Dempster-Shafer, ...),
tcnicas heursticas, lgica fuzzy, redes neuronales, etc.

La amplia literatura e inters mostrado sobre integracin y fusin


multisensorial desde mediados de 1980 muestra su gran desarrollo, creciente
inters e importancia en mltiples aplicaciones. A su vez surgen nuevos problemas
a resolver y nuevas reas de aplicacin. Ejemplos de este desarrollo son los

1
J
J
Planteamiento general del problema 2

numerosos de artculos sobre integracin y fusin multisensorial publicados en


revistas como International Joarnal Roboties Research, IFEE System, Man, rnd

Cyberuetics, Trans. on Robotics and Automation, Pattern.s Eccoguition and


J
Machine Intelligence, etc.; los numerosos encuentros o monografas relacionados
con el tema como FUSION59, Proceedings of the JEFE de enero de 1997,
Froceedings of International Society for Optical Engineering (SPIE) sobre Sensor
Fusin, Remote Sensing y libros sobre fusin de datos y aplicaciones como J
[Durrant-Whyte 88], [Hager 90], [Waltz 90], [Hall 92], [Abidi 92], [Manyika 94],
[Varshney 96], etc.

De estos trabajos se infiere la necesidad de mejorar la calidad de la


informacin externa utilizada por cualquier aplicacin. En lugar de utilizar un J
nico sensor, aunque sea un sensor de alta precisin, es preferible el uso de varios
(aunque sean de menor precisin) que sean complementarios o
redundantes. Esto permite disponer de diversas medidas que aseguran la fiabilidad
de los datos, evitan errores, mejoran el tiempo de respuesta y ayudan a una mejor
interpretacin de lo que est siendo observado. ste ser el cometido del sistema
de fusin e integracin multisensorial.

El sistema ms intuitivo que realiza integracin y fusin multisensorial es el


ser humano, que hace uso de sus cinco sentidos para interpretar el entorno que le
rodea. Siguiendo con este ejemplo, un sistema de integracin y fusin
multisensorial se ocupa de generar el estmulo sensorial que represente a un
conjunto de medidas de diversos sensores. Posteriormente este estmulo es J
analizado para encontrar qu estado del mundo se cofresponde con un estmulo
semejante. No se debe olvidar que la fusin o integracin de medidas produce una J
medida mejorada del entorno observado, es decir, una medida ms clara o precisa
que cada uno de sus componentes, pero que su cometido no es interpretar dicha

informacin.
J
Tengamos en cuenta que la percepcin de cualquier agente inteligente, y en
concreto de un robot mvil, est muy relacionada con el tipo de fuente de
informacin disponible, es decir, con los sensores utilizados Esto implica que
cualquier aplicacin que necesite diVersos sensores deba utilizar alguna tcnica de
fusin o integracin sensorial, pero su eleccin est muy condicionada por los
J
sensores empleados. Adems, stos pueden ser muy diversos y la forma de tratar su J
informacin muy variable por lo que el sistema de fusin implementado (mtodo

J
Introduccin 3

de fusin de las medidas disponibles) suele ser particular de cada problema


concreto y no puede ser adaptable a otro tipo de problemas.

Esto provoca que los distintos algoritmos desarrollados slo puedan ser
utilizados en un conjunto muy restringido de aplicaciones y en muchos casos
incluso slo en el problema tratado. Por tanto, sera conveniente desarrollar un
sistema de integracin y fusin multisensorial que pueda ser utilizable por distintas
aplicaciones y distintos sensores.

Para realizarlo se debe procurar que el sistema de integracin abstraiga al


sensor fsico en la medida de lo posible, puesto que la dependencia con el tipo de
sensor evita la generalidad. Sin embargo, la abstraccin del sensor requiere un
procesamiento de la informacin antes de ser introducido en el sistema de fusin y
por tanto, como siempre que se generaliza, a una prdida de la calidad de la
informacin obtenida. Sin embargo, esta prdida es suplida con la mejora que
significa la fusin multisensorial.
Adems de una abstraccin de los sensores utilizados, si se desea que el
sistema sea verstil, debe ser restringido a un subconjunto concreto de aplicaciones
puesto que ser imposible realizar un sistema de fusin general para cualquier tipo
de aplicacin. El tipo de problema escogido son los robots mviles autnomos
terrestres porque en ellos la integracin y fusin sensorial representa un papel
crucial en el correcto funcionamiento del robot. Adems, los robots mviles
autnomos utilizan una gran cantidad de sensores que representan la mayora de
los sensores disponibles, lo que permite utilizar unas tcnicas que podran ser
extensibles a otros problemas y aplicaciones.
Por ltimo, en muchas aplicaciones no existe una nica solucin sino que
depende del modelo del mundo utilizado y de la interpretacin que se desee
realizar de ste, por lo tanto su diseo debe ser claro y sencillo de forma que
permita una fcil adaptacin, no slo de los sensores disponibles, sino que tambin
permita modificar el modelo del entorno o cualquier otro algoritmo que sea
necesario. Adems, las restricciones de tiempo intrnsecas a los robots mviles
implican la utilizacin de mtodos de tiempo real y la utilizacin de algoritmos
rpidos o que tengan la posibilidad de paralelizarse de forma sencilla.

Todo este conjunto de restricciones y necesidades llevar a la eleccin de


una serie de herramientas y algoritmos determinados que conducirn al diseo e
implementacin del sistema de integracin y fusin multisensorial de esta Tesis.
J
Objetivos de la Tesis 4

Objetivos de la Tesis J
El diseo de un sistema de fusin de datos procedentes de distintos sensores,
sistema de integracin multisensorial, tiene muy en cuenta hacia qu tipo de
aplicacin se dirige. Incluso dentro de una misma aplicacin las opciones escogidas
en su implementacin estn condicionadas por el tipo y nmero de los sensores

disponibles. En muchas ocasiones esta especificidad conduce a que el


J
aprovechamiento o adaptacin de una arquitectura ya desarrollada, bien para
utilizarla en otras aplicaciones bien para probar nuevos algoritmos, sea ms costosa
que el desarrollo de una nueva. Por este motivo, en esta Tesis, no se intenta
encontrar el mtodo ideal para realizar la integracin multisensorial, sino que se J
busca un mtodo de integracin y fusin de medidas que sea sencillo de utilizar,
paralelizable y que permita probar y desarrollar distintos algoritmos sin necesidad
de grandes modificaciones. Dentro de las mltiples aplicaciones en las que es
posible realizar integracin multisensorial nos centraremos en los robot mviles
terrestres autnomos.

Durante el desarrollo de la presente Tesis se ha construido un sistema de


control y sensorizacin para robots mviles autnomos terrestres que permite
utilizar distintos sensores, o sistemas sensoriales, conectndolos al mismo como si
fuese una caja negra. De este modo se pone a disposicin del usuario un mtodo J
de integracin mutisensorial para realizar pruebas sobre la utilizacin conjunta de
distintos grupos de sensores (complementarios o/y redundantes) que evita la
necesidad de crear una estructura que soporte todo el sistema sensorial. Es decir,
se permite que se puedan cambiar los sensores disponibles de forma sencilla y se
proporciona una estructura de control clara, sencilla y abierta que facilita la
modificacin de las tareas existentes y la construccin o adicin de capas que le
doten de nuevas funcionalidades. El estudio, por tanto, se ha enfocado de la
signiente manera: J
1.- Construccin de un sistema de integracin y fusin multisensorial. Se
disea un sistema de sensorizacin que sea independiente del tipo y nmero de

sensores que utilice. Para ello se realiza,


J
- El estudio de las tcnicas ms usuales de fusin de datos, buscando
aquellas tcnicas que permiten su utilizacin paralela y asncrona.
Introduccin 5
- La preparacin de los mtodos de fusin utilizados para que sean
fcilmente adaptables y reconfigurables por el usuario, es decir,
que se pueda aadir o suprimir un sensor sin modificar por
completo el sistema diseado.

- El anlisis y clasificacin de los distintos tipos de sensores utilizados


en los robot mviles autnomos terrestres, para comprobar que las
tcnicas escogidas permiten la correcta fusin de sus datos.

- El diseo de un sensor lgico que englobe las caractersticas de los


sensores de un robot mvil y abstraiga al sensor fsico del sistema de
fusin multisensorial.

- El diseo de un mtodo de fusin de medidas que sea verstil,


distribuido, asncrono, robusto frente a fallos y fcilmente
paralelizable.
2.- Implementacin de una arquitectura de control del robot que permita
mostrar el uso de este sistema sensonal. Esta arquitectura, permite probar distintas
configuraciones sensoriales y diversos algoritmos sin necesidad de modificar el
diseo realizado. En este caso se realiza,

- El estudio de las distintas tareas necesarias en todo robot mvil y de


su organizacin. Las tareas que componen nuestro sistema pueden
trabajar en paralelo y se comunican por paso de mensajes. Se realiza
un diseo utilizando metodologa orientada a objetos, especificando
claramente su funcionamiento interno y el protocolo entre tareas.

- El diseo de una arquitectura abierta con un diseo claro y verstil


permite que cualquier diseador pueda hacer uso de algoritmos
propios sobre la misma, sin el coste que implicara el desarrollo de
una arquitectura completa.

- La imp lementacin en tiempo real de la arquitectura desarrollada


para satisfacer, dentro de lo posible, las restricciones de tiempo
tfpicas de los robots mviles.
J
Organizacin de la Memoria 6

Organizacin de la Memoria
La Memoria se ha dividido en dos partes: la i~itegracin multisensorial y la
arquitectura de control de robots mviles terrestres.

La integracin multisensorial se recoge principalmente en los captulos 1 a 4,


donde se describen los sensores y sistemas sensoriales de los robots mviles y cmo
integrar las medidas que pueden ofrecernos de modo que sea independiente del J
tipo de sensores utilizados. Los mtodos de integracin escogidos pretenden que el
sistema final sea asncrono, paralelizable y fcil de adaptar a cualquier
configuracin sensorial.
La implementacin del sistema de fusin definido, la arquitectura de control J
diseada y ejemplos de su utilizacin, se tratan en los captulos 5 y 6. En ellos se
muestran las tareas necesarias en el control de un robot mvil, las arquitecturas
existentes y su relacin con el sistema sensorial. Se propone una arquitectura de
control que permita utilizar el sistema sensorial diseado y que sea fcilmente
adaptable a las necesidades de cada usuario. Esta arquitectura de control ser J
diseada con restricciones de tiempo real y utilizando la metodologa orientada a
~objetos. J
Con esta divisin, la organizacin lgica de los captulos es la siguiente:

En l captulo 1 se describe la difereiicia entre fusin e integracin


multisensorial, la clasificacin de los procesos de fusin, sus arquitecturas y los
algoritmos utilizados. Adems se mustran distintos ejemplos de sistemas
sensoriales existentes en robots mviles autnomos destacando la diversidad de
sensores disponibles y las diferentes configuraciones que pueden darse. J
A continuacin, en e captulo 2, se describen distintos sensores disponibles
para robot mviles, la relacin entre ellos y qu tipo de informacin pueden
proporcionar a un robot mvil terrestre. Se reali~a una clasificacin de los sensores
y mtodos de integracin en dos grandes grupos: de estado y de entorno. En estos J
dos grupos se incluyen todos los sensores que se utilizan en un robot mvil y a
partir de esta clasificacin se definir un tipo de sensor lgico que sea compatible
con las especificaciones requeridas para nuestro sistema. Para su descripcin se
utiliza la metodologa orientada a objetos como forma ms clara de representacin
de una organizacin compleja. J
Para realizar la fusin de datos de estado, en concreto de posicin, se revisan
2
los mtodos ms utilizados, destacando la forma de tratar la incertidumbre de los

J
Introduccin 7

sensores, su funcionamiento distribuido, paralelizacin, asincronismo y su


posibilidad de adaptacin dinmica a los distintos tipos de sensores. De ellos se
concluye que un mtodo adecuado para realizar la fusin buscada es mediante un
filtro de Kalman extendido, distribuido y asncrono. Todo esto se realiza en el
Captulo 3, donde adems se desarrollan las ecuaciones del filtro para su correcto
funcionamiento y se muestra con un ejemplo de eficacia, destacando la robustez
ante fallos de los sensores.
La fusin de medidas de entorno es diferente a la fusin de medidas de
estado y requiere otro tipo de algoritmos. Son necesarias tcnicas probabilsticas o
tcnicas prximas a la inteligencia artificial. En el Captulo 4 se describen algunas
de las tcnicas existentes haciendo hincapi en la forma de tratar la incertidumbre
de los sensores, y, al igual que en el caso anterior, su funcionamiento distribuido,
paralelizable, asncrono y su posibilidad de adaptacin dinmica a distintos tipos de
sensores. Se escogen las redes bayesianas como tcnica de fusin multisensorial
ms adecuada para conseguir las caractersticas buscadas y se desarrolla un mtodo
asncrono, dinmico y paralelizable.
En este momento se dispondr de un sistema sensorial paralelizable,
distribuido, asncrono y verstil, pero para mostrar su funcionamiento es necesario
dotarle de una arquitectura de control que permita su utilizacin de forma sencilla
y directa, ya sea como una caja negra o como una plataforma para sustituir o probar
nuevos algoritmos. As, en el captulo 5 se desarrolla una arquitectura de control
adecuada para la utilizacin del sistema sensorial propuesto y se describe cmo se
acopla con nuestro sistema de integracin multisensorial. Por ltimo se desarrolla
un sistema de tiempo real de forma clara y sencilla a partir de la arquitectura y
sistema sensorial propuestos. Para ello se escoge una metodologa orientada a
objetos en tiempo real.
Finalmente, en el captulo 6, se realiza la implementacin del sistema
desarrollado. Primero se realizan distintas simulaciones para mostrar la adecuacin
del diseo a todas las necesidades propuestas, destacando la posibilidad de variar el
tipo o nmero de sensores utilizados, la utilizacin de distintos robots para diversas
aplicaciones o el cambio de algoritmos para probar nuevas tcnicas. A
continuacin, se aplica el sistema de fusin y la arquitectura de control propuestos
sobre un robot real. En este caso se muestra la adaptacin del sistema a los
requerimientos sensoriales de un robot real para destacar su versatilidad y facilidad
de uso, as cono su respuesta en tiempo real.
2
Organizacin de la Memoria 8

2
2

2
Capitulo 1. Aspectos generales 9

Captulo 1

Aspectos generales

En este captulo se muestran los aspectos ms destacables de la fusin e


integracin multisensorial y los problemas que conleva. Se sealan muchas de las
tcnicas de fusin existentes, normalmente dependientes de los sensores
involucrados, y se muestra que no existe un mtodo ideal para realizar fusin de
datos. Todo ello nos ayudar a comprender la amplia variedad de aplicaciones
existentes, diseadas explcitamente para una gran variedad de situaciones
distintas. Las aplicaciones ms importantes en fusin de datos son las militares, que
van desde sistemas empotrados basados en microprocesadores de tiempo real en
armamento militar hasta sofisticados sistemas expertos de reconocimiento de
tropas y armamento enemigo [Waltz 86; Chellappa 97; Antony 97]. Sin embargo,
cada vez adquiere ms importancia la utilizacin de sistemas de fusin
multisensorial en aplicaciones civiles, entre las que se pueden destacar sistemas de
control remoto, sistemas de diagnstico mdico y robtica [Kam 97]. A pesar de la
dificultad en la eleccin de un sistema o mtodo concreto, en este captulo se
sealan una serie de orientaciones para la eleccin de la arquitectura, los
algoritmos y las tcnicas ms convenientes en cada caso.
En todo momento se exponen las tcnicas usuales o significativas en
aplicaciones en general, y se destaca cual es la adaptacin o su utilidad en el caso
concreto de robots mviles autnomos terrestres.
2
2
10 1.1. Aspectos generales de la integracin yfusidn muItisensorial J
1.1. Aspectos generales de la integracin y fusin J
multisensorial
El mejor ejemplo de integracin multisensorial lo tenemos muy prximo, los 2
seres humanos somos capaces de integrar de forma natural la informacin de los
sentidos (vista, odo, gusto, tacto y olfato). La integracin multisensorial es
imprescindible para nuestra supervivencia y pueden mostrarse multitud de
ejemplos de integracin multisensorial realizada por el ser humano. Sin embargo
debe tenerse en cuenta que la integracin multisensorial no siempre es 2
beneficiosa, sino que depende de la integridad y fiabilidad de los sensores
utilizados e incluso su eficacia vara dependiendo de las situaciones en las que se J
aplique. Siguiendo con el ejemplo humano, un caso de integracin multisensorial
que nos lleva a una observacin equivocada es un ventrlocuo. Cuando observamos J
a un ventrlocuo y a su mueco, la informacin visual (movimiento de los labios del
mueco) y la informacin auditiva (la voz del ventrlocuo) son integradas dando la J
sensacin de que es el mueco e que habla. Otro ejemplo de integracin errnea
que involucra otros sentidos es la integracin del olfato y el gusto. Todos hemos
experimentado, en alguna ocasin, que si en el momento de saborear una sustancia
olemos algo repulsivo nos provocar arcadas. Una prueba sencilla es ofrecer un
vaso de agua (incolora, inodora e inspida) cuyo exterior se ha impregnado con J
gasolina (muy voltil y de olor desagradable) pero sin que est prximo al borde ni
contacte en ningn momento con el agua. El pobre conejillo de indias jurar que el J
agua sabe a gasolina.

A pesar de estos ejemplos las ventajas de la integracin multisensorial son j


muchas, lo que lleva a utilizarla siempre que nos sea posible, en huestros sistemas
inteligentes. Las ventajas son [Luo 89]: 2
(1) Redundancia, ayuda a mejorar la fiabilidad del sistema debido a que
reduce la incertidumbre de las medidas individuales al observarlas con j
distintos sensores de distintas precisiones.
(2) Complementariedad, permite observar ciertas caractersticas del entorno J
que son imposibles de observar con sensores individuales.

(3) Oportunidad, permite captar la informacin con el sensor que primero J


est disponible aumentando adems la velocidad del sistema sensorial.

2
2
2
Capitulo 1. Aspectos generales 11

(4) Coste de la informacin, normalmente la integracin de distintos


sensores permite que el coste del sistema sea menor que si se utilizase un
nico sensor que tuviese las mismas prestaciones.

Fusin frente a integracin

Debe distinguirse entre integracin y fusin de datos de mltiples sensores.


Integracin multisensorial se refiere al uso de la informacin que proporcionan
distintos dispositivos sensoriales para ayudar a la consecucin de una tarea del
sistema. Fusin multisensorial, por otra parte, se rflere a cualquier estado en el
proceso de integracin donde hay una combinacin (o fusin) de diferentes
fuentes de informacin sensorial en un cierto formato comn. Esta descripcin de
fusin multisensorial podra aplicarse a un nico dispositivo que ofreciese
informacin sensorial a lo largo del tiempo. De estas dos definiciones puede
deducirse que muchos sistemas que realizan integracin multisensorial utilizan la
informacin de los distintos sensores para guiar la operacin de otros o para
cooperar en la consecucin de una tarea comn pero sin que nunca lleguen a
fusionar la informacin de sus sensores. Por ejemplo, [Schneider 96] utiliza
sensores de ultrasonidos para la percepcin de entorno (esquiva de obstculos) y
visin para la bsqueda de balizas; o [Lallement 98] que utiliza radar laser para
localizar balizas y obtener su posicin con precisin y visin para la identificacin
de dicha baliza.
En este trabajo de investigacin se busca un sistema multisensorial para el
guiado de vehculos autnomos terrestres que permita la integracin y fusin de la
informacin de diferentes sensores de la forma ms conveniente posible. Esto
llevar a que en algunas ocasiones se utilicen dichos trminos indistintamente,
aunque nos centraremos principalmente en e problema de la fusin
multisensorial.

Fusin multisensorial

Como se seala en [Hall 92], la fusin multisensorial es un proceso. Este


proceso es sencillo en cuanto a su concepto se refire, pero enormemente
complejo en su implementacin. La esencia de la fusin es el manejo de la
incertidumbre asociada a los datos que se fusionan, pero teniendo en cuenta que
no es el nico factor a considerar en el desarrollo de sistemas de fusin de datos.
Por un lado, la aplicacin especfica determina el fenmeno observado y los tipos
2
2
12 1.1. Aspectos generales de la integracin yfusin multisensorial

de sensores utilizados. Por otro lado, cada aplicacin implica el tipo de


razonamiento que se debe realizar sobre lo medido. Este tipo de razonamiento nos J
conduce a la bsqueda y aplicacin de las tcnicas necesarias. Por ejemplo, los
sistemas de ayuda en la estimacin de la posicin, velocidad y atributos de un

objeto generalmente necesitarn tcnicas numricas como son los algoritmos de


2
asociacin y los algoritmos de estimacin, ya sea para la estima de la propia
posicin [Fung 83] o para el seguimiento de otros objetos [Berg 83]. Otras
aplicaciones pueden requerir razonamientos a ms alto nivel y precisar tcnicas
basadas en razonamiento o sistemas expertos, como las encargadas de inferir el 2
estado de la batalla en aplicaciones militares como VIDS, que utiliza un sistema
experto basado en reglas, o IPS, que utiliza guiones para representar el J
conocimiento (estas y otras aplicaciones de fusin de datos militares pueden
encontrarse en la revisin realizada en [Hall 92]); y otras aplicaciones no militares
como MYCIN, sistema mdico basado en factores de certeza [Shortliffe 75], o
PROSPECTOR, sistema experto bayesiano para prospeccin geolgica [Duda 79].

Otros factores que influyen en el desarrollo del sistema de fusin son las 4
decisiones a tomar en tiempo real, el nmero de inferencias que se realizan por
unidad de tiempo, la velocidad d llegada de los datos, el nmero y tipo de
sensores, etc. Estas restricciones, como ocurre en el control de un mvil en tiempo
2
real, nos inducen a utilizar ciertas tcnicas frente a otras que necesitan mayor
tiempo de procesamiento. Una evaluacin sistemtica del funcionamiento en
tiempo real de sistemas de integracin multisensorial en robtica puede
encontrarse en [Zheng 89].
Finalmente, la capacidad de los sensores, las restricciones en la comunicacin J
y el sistema de procesamiento o fusin tambin afectan a la eleccin de la
arquitectura escogida. En nuestro caso se persigue que los datos transmitidos entre
2
agentes sea el mnimo indispensable.
Todos los factores enumerados anteriormente, como diversidad de J
aplicaciones, necesidades de tiempo real, sensibilidad de los sensores, etc.,
implican un amplio abanico de estructuras de control para manejar esa disparidad
de fuentes de informacin; cada una aplica una tcnica distinta de integracin de 2
los datos sensados. Las arquitecturas que se utilizan poseen. muchos puntos en
comn, pero en la mayora de los casos no son reutilizadas para otras aplicaciones,
fundamentalmente debido a su fuerte dependencia de los sensores empleados.
2
2
2
Capitulo 1. Aspectos generales 18

Por tanto es conveniente revisar qu tipos de procesos de fusin podemos


distinguir, qu clase de informacin se puede fusionar, cmo puede ser tratada y
qu arquitectura de fusin y control puede utilizarse. As, en la seccin 1.1.1 se
describen dos clasificaciones de los procesos de fusin: a nivel del tratamiento y del
uso que se hace de la implementacin e inferencias obtenidas; y a nivel del tipo de
informacin fusionada o recibida. En la seccin 1.1.2 se describen las arquitecturas
que permiten tratar y fusionar los datos procedentes de los distintos sensores y los
distintos algoritmos utilizados para realizar fusin de datos.

A continuacin, en la seccin 1.2 se expone una pequea muestra de la gran


variedad de aplicaciones existentes, aplicaciones industriales, militares, espaciales,
etc. que utilizan integracin y/o fusin multisensorial. De esta forma se pone de
manifiesto la importancia del uso de distintos sensores en cualquier sistema que
deba interactuar con (o desenvolverse en) su entorno. Estas aplicaciones muestran
la cantidad de soluciones propuestas dependiendo de las necesidades de cada caso.
Por ltimo, la seccin 1.3 enumera distintos robot mviles terrestres y cmo
realizan la fusin e integracin multisensorial, que es el tema central de esta
Memoria. En la relacin de vehculos no se ha buscado una completa enumeracin
de todos los existentes, sino una muestra de la evolucin que se ha seguido, los
sistemas utilizados y las distintas configuraciones sensoriales elegidas.

1.1.1. Clasificacin de los procesos de fusin

La multitud de mtodos de fusin y la variedad de aplicaciones existentes


dan lugar a una gran riqueza de sistemas de fusin. stos se orientan segn la
aplicacin, los datos medidos o el tipo de tratamiento de los datos. As, para
comprender mejor qu es la fusin de datos y cmo puede ser aplicada en cada
caso es conveniente revisar qu tipos de procesos podemos distinguir y qu tipo de
informacin se puede fusionar.

Existen multitud de clasificaciones de los procesos de fusin dependiendo


del aspecto que se considere, en nuestro caso destacamos dos clasificaciones
diferentes de los procesos de fusin, vase figura 1-1: <1) a nivel del tratamiento y
uso que se hace de la implementacin e inferencias obtenidas; y (2) a nivel del tipo
de informacin fusionada o recibida.
Estas dos clasificaciones nos mostrarn aspectos importntes que sern
tratados en captulos posteriores.
14 1.1. Aspectos generales de la integracin yfusin multiserisorial

D
C1~

o
o

o
o

~1
oo
o
Cfl
a
C1~

o
o-
o
o-
o
Captulo 1. Aspectos generales 15

1.1.1.1 A nivel funcional


La divisin de los procesos de fusin desde el punto de vista de su
funcionalidad fue realizada por primera vez por la comisin Data Fusion de la Joint
Directors Laboratories (JDL). Esta comisin se constituy en 1986 e integraba a
los principales grupos de trabajo en fusin de datos. Su finalidad era unificar la
terminologa existente referente a fusin y proporcionar un marco de trabajo
comn [White 91]. Como resultado de este trabajo se obtuvieron dos modelos
diferentes, dependiendo desde qu punto de vista se estudiase: el primer modelo
[White 88] identificaba tres niveles de fusin segn los productos procesados. El
segundo modelo [Kessler 92] haca referencia a la arquitectura necesaria para
realizar la fusin de datos.

FUSION DE DATOS
Pre-procesamient

NIVEL II
Situacin
w NIVEL III
Intenciones
Interfaz
Computadora
humano

Figura 1-2. Modelo del proceso de fusin orientado a niveles.

El primer modelo, que distingue tres niveles segn el procesamiento


realizado sobre los datos, es ampliado por Hall [Hall, 97] con un cuarto nivel. Este
modelo, como puede verse en la figura 1-2, est orientado a la funcionalidad de los
procesos y adems de los cuatro niveles conviene destacar: un mdulo de entrada,
que representa los sensores del sistema; y otro mdulo de salida, el interfaz
computadora/humano encargado de comunicar los resultados del proceso (alarmas,
resultados, ...) y de recibir rdenes, informes de operadores humanos, inferencias
y probabilidades, etc. Los niveles funcionales del sistema son,

Nivel 1
Es el nivel encargado de aceptar los datos de los sensores y fusionar dichos
datos para obtener una estima de la localizacin e identidad de los objetos o

:
2
2
16 1.1. Aspectos generales de la integracin y fusin multisensorial J
entidades que afectan al sistema. Por ejemplo, en aplicaciones militares
representara una base de datos del estado de la batalla: localizacin, identificacin

y caractersticas de los objetos observados (tanques, barcos, radares, etc.). En


2
nuestro caso, un robot mvil, representara el mapa o una base de datos del
entorno que rodea al mvil: localizacin de los obstculos, identificacin y
localizacin de objetos como puertas, balizas naturales, etc. Este nivel realiza
cuatro funciones principales: j
<1) Transformacin de los datos del sensor en coordenadas y unidades
consistentes.

(2) Extensin de las estimas temporales de la posicin o atributos de un objeto. 2


(3) Aplicacin de tcnicas de estimacin estadsticas.

(4) Clasificacin o estimacin de la identidad de un objeto. J


En general, para cualquier aplicacin, este nivel se ocupa de la identificacin
y localizacin de los fenmenos de inters.

Nivel II
Acta sobre los resultados del Nivel 1 para realizar la evaluacin de la
situacin, desarrollando una descripcin de la relacin entre objetos y sucesos en el
propio entorno donde se encuentran. Lasinferencias obtenidas se basan en anlisis J
espaciales, temporales y posicionales del Nivel 1. Para poder interpretar
correctamente los datos, estos anlisis se realizan teniendo en cuenta el contexto en
el que se han recibido, de igual forma que lo hara un experto humano.

Nivel III
Este nivel se encuentra por encima de los anteriores y se ocupa de realizar un
anlisis del conjunto de la situacin y de realizar inferencias y predicciones sobre e
sistema y los objetos observados. En sistemas militares se ocupa de estudiar la
2
peligrosidad de la situacin, estimando la vlnerabilidad de amigos y enemigos, las 3
intenciones del enemigo, etc. Este nivel es bastante complejo puesto que no slo
trata con los datos que recibe de los niveles inferiores, sino que intenta predecir 3
futuros comportamientos, para lo cual necesita disponer de un cierto
conocimiento, normalmente adquirido mediante aprendizaje y contenido en
grandes bases de datos, como poltica de entorno, situacin actual, doctrina del 2
enemigo, etc. En este nivel son tiles las tcnicas correspondientes a la teora de
3
juegos. n aplicaciones no militares este nivel se ocupa de identificar potenciales

3
:
2
Captulo 1. Aspectos generales 17

fallos mecnicos de un sistema o, en nuestro caso, detectar intenciones de un


objeto en movimiento o realizar predicciones sobre el camino ms seguro en
funcin de hiptesis sobre las zonas que tendrn menos congestin en el futuro.

Nivel IV
Este nivel es considerado como un meta-proceso. Supervisa la actuacin de
los dems procesos y tiene las siguientes funciones:

Supervisar el proceso de fusin de datos para proporcionar informacin


sobre control en tiempo real y funcionamiento a largo pazo.
Determinar qu informacin es necesaria para mejorar el resultado de la
fusin en los mltiples niveles (identidades, posiciones, inferencias, ...).

Determinar las necesidades de cada sensor para obtener la mxima


informacin (tipo de sensor, base de datos, etc.).

Localizar y dirigir a los sensores adecuados para realizar cada misin


especfica.

Se debe entender que este modelo es genrico y que la clasificacin en los


Niveles 1-4 es artificial y fue desarrollada fundamentalmente para obtener un
lxico y una terminologa consistente sobre fusin de datos. El desarrollo de esta
tesis se basa en encontrar una arquitectura y mtodos de fusin aplicables al nivel
1, que corresponde al nivel bsico de un robot mvil autnomo terrestre. El diseo
ser lo ms verstil psible para que permita, en posibles ampliacioes del sistema,
la adicin de los niveles posteriores como capas superiores sobre l arquitectura
propuesta.

1.1.1.2 A nivel de representacin


Cuando se realiza fusin, los datos pueden provenir de distintos sensores en
un mismo instante de tiempo o de un nico sensor a lo largo de un cierto periodo.
La fusin realizada con estos datos puede clasificarse [Luo 92], segn el tipo de
informacin recibida, en cuatro niveles: de seal, de pixel, de caractersticas o
simblico.

Cada uno de estos niveles tambin se caracterizar por cmo es modelada la


informacin y por los mtodos de fusin que utiliza. La mayora de los sensores
proporcionan datos que pueden fusionarse en uno o ms de estos niveles. La clave

:
2
3
18 1.1. Aspectos generales de la integracin y fusin multsensorial 3
est en encontrar un mtodo que permita realizar d forma sencilla la fusin de
estos tipos de datos. 3
Nivel de seal
Se utiliza en aplicaciones en tiempo real y puede verse como un 3
superconjunto de las tcnicas de procesamiento de seales, que combinan las
seales de un grupo de sensores para proporcionar una seal del mismo tipo pero 3
ms precisa o de mejor calidad. Este tipo se seales deben estar sincronizadas o en
su defecto se debern estimar sus valores en algunos instantes determinados de 3
tiempo.

Los mtodos de fusin a nivel de seal requieren una serie de suposiciones. 3


Las ms comunes son la adicin de un trmino de mido gaussiano de media cero y
la independencia estadstica entre los errores en las medidas de cada sensor. Una

introduccin a los problemas de cualquier mtodo de fusin a nivel de seal


3
basado en estas suposiciones puede encontrarse en [Richardson
demuestra que, en la mayora de los casos, en los mtodos basados en estimacin
88], dond se

ptima la inclusin de informacin redundante mejora la estima final. En este nivel


3
se pueden destacar distintos mtodos de optimizacin, filtros de Kalman, etc. 3
Nivel =k
pixel
La fusin a este nivel permite mejorar tcnicas de procesado de imgenes
como segmentacin o. extraccin de caractersticas, dekido al aumento de la
informacin asociada a cada pixel al combinar multiples imgenes. La fusin puede
tener lugar en distintos niveles de representacin; fusin de seales en bruto de
3
multiples sensores antes de su correspondencia con un pixel especfico; la fusin 3
de los pixeles correspondientes en cada una de las imgenes obtenidas por los
sensores para formar una imagen fusionada; y, , el uso de lo$ pixeles 3
correspondientes en las distintas imgenes para realizar la segmentacin o la
extraccin de caractersticas. 3
La fusin a nivel de pixel es til en trminos de funcionamiento global del
sistema puesto que utiliza funciones que tienen unos requerimientos de calculo
muy fuertes que normalmente impide su uso en tiempo real. Para facilitar dicho
clculo se suelen utilizar imgenes de un nico sensor o de sensores que sean lo
3
ms semejantes posibles (ej. visin estereoscpica). Los mtodos utilizados para
fusin deben poseer facilidades para procesamiento paralelo <o al menos en grupos 3
3
3
Captulo 1. Aspectos generales 19

de pixeles locales) y adems e mtodo escogido debe ser fcilmente adaptable para
procesar una amplia variedad de imgenes de diferentes sensores.

Nivel de caractersticas
La fusin a nivel de caractersticas se utiliza para obtener una mayor certeza
de que la caracterstica extrada de la informacin del sensor corresponde a un
aspecto importante del entorno, o para crear nuevas caractersticas asociadas que
sern usadas por el sistema.
Caractersticas tpicas extradas de una imagen y fusionadas entre s son
esquinas y regiones de similar intensidad o profundidad; aspectos importantes son
su forma geomtrica, posicin, orientacin y tiempo. De esta forma caractersticas
que estn presentes repetidamente se fusionan y por ello su precisin aumenta, y
por el contrario aquellas que no son confirmadas nuevamente se consideran
errneas y son eliminadas. El ancho de banda de comunicacin que se requiere a
este nivel es mucho menor que el de los niveles anteriores.

Nivel simblico
Este nivel permite la fusin de informacin de alto nivel de abstraccin de
diferentes sensores. Se utiliza principalmente cuando se fusionan sensores muy
distintos o que se refieren a regiones diferentes del entorno. Para ello se utilizan
mtodos de razonamiento simblico que hacen uso de informacin a priori
procedente de un modelo propio del mundo o de fuentes externas al sistema. Las
caractersticas fusionadas normalmente tienen una medida de incertidumbre para
representar tanto el grado de concordancia como cualquier incertidumbre
inherente en la informacin proporcionada por los sensores. Esta incertidumbre se
utiliza para indicar el peso relativo que un dato particular tiene en el proceso de
fusin. En inferencia estadstica, la incertidumbre de los smbolos se representa
por probabilidades y su fusin se realiza como probabilidades condicionales, que
aumentarn o disminuirn mediante el proceso de fusin. El tiempo, en este nivel,
no es tan importante como en los niveles anteriores puesto que los smbolos
fusionados no suelen variar en funcin de ste.
Por supuesto, la frontera entre estos niveles no est tan clara en sistemas de
fusin reales. En esta memoria se desarrollar un mtodo de fusin a nivel de
seal/pixel para las medidas directas de los sensores y un mtodo de fusin a nivel
de caractersticas/simblico para aquellos sensores que realizan ciertos
preprocesamientos e inferencias propias.
2
3
20 1.1. Aspectos generales de la integracin yfusin muitisensorial

1.1.2 Arquitecturas de fusin


2
La eleccin correcta de la arquitectura de fusin es fundamental para el
desarrollo de cualquier sistema. La cuestin fundamental es dnde combinar los
2
datos procedentes de dos o ms sensores. Esta eleccin afectar a la calidad del
producto fusionado, a la naturaleza de los algoritmos, a las tcnicas utilizadas, a la
3
complejidad del procesamiento lgico y al ancho de banda de las comunicaciones
entre el sensor y el sistema de fusin. La eleccin de la arquitectura no es 3
arbitraria, depender tanto de la naturaleza de los sensores como de las inferencias
necesarias. 3
Un modelo que muestra la arquitectura de fusin de los tres niveles
anteriores puede verse en la figura 1-3 [Waltz 90]. La principal caracterstica que 2
podemos destacar, y que tambin se busca en nuestra arquitectura, es su
naturaleza puramente distribuida. Tambin se puede destacar: <1) la distincin en
la fusin de datos del nivel 1 entre sensores similares y distintos; (2) la importancia
3
que da a la utilizacin de bases de datos en todos los niveles; y (3), que los procesos
son multiivel, con realimentaciones entre niveles y pueden estar distribuidos
3
geogrficamente.
3
3
u
e

ti Representacin final
de la situacin

u
3
3
2
3
Figura 1-3. Modelo del proceso de fusin orientado a su arquitectura. 3
u
u
Captulo 1. Aspectos generales 21

Centrndonos en el Nivel 1 existen tres tipos de arquitecturas [Hall 97] que


se diferencian segn la informacin fusionada y las tcnicas de fusin aplicadas.
Dichos tipos son: centralizada, autnoma e hbrida.

1.1.2.1. Arquitectura de fusin centralizada


En este modelo se fusionan datos en bruto provenientes de mltiples
sensores para realizar una estima de la posicin, velocidad, atributos o identidad de
un objeto concreto, vase la figura 1-4. En este caso sensores similares observan la
misma entidad. Se entiende por sensores similares a sensores del mismo tipo,
como por ejemplo [Jain 95] donde se fusionan datos de diferentes cmaras que
observan la misma escena; o tambin a sensores cuyos datos en bruto pueden ser
directamente fusionados, por ejemplo [Shetty 96] donde la informacin de una
imagen de un radar 3-D y de una imagen visual se fusionan directamente para la
deteccin de maniobras en un sistema de seguimiento.

fr ____

Datos en FUSIOI
Asociacin bruto VECTOR DE ESTADOS
de datos ~.
Modelos fisicos Identidad
Reconoc. de patrones
1. Estimacin Posicin y velocidad
Atributos

Figura 1-4. Fusin centralizada

Este tipo de arquitectura tiene la ventaja de que existe una mnima perdida
de informacin, puesto que la fusin se realiza directamente a partir de los datos
observados por los sensores. Pero tambin tiene serios inconvenientes, el principal
es que slo es aplicable a sensores similares, lo cual es una seria restriccin en un
sistema general. Incluso aunque los sensores sean idnticos, en muchos casos se
presentan dificultades para su fusin cuando se encuentran separados
geogrficamente. Adems, en esta aproximacin es necesaria una gran cantidad de
comunicacin, fuertes necesidades de clculo y complejos modelos fsicos.
3
22 1.1. Aspectos generales de la integracin yfusin multisensorial

FUSION

Estimacin de
3
Extrac-
cin
de Asocia-
Vector de
cin zaracterIstica~
.......~.
estados
Filtros de Kaman
EstirnacinBatch
VECTOR DE
ESTADOS 3
caracte- de datos Identidad
rsticas Cias (ficacin
Plantillas
Redes neuronales
Posicin y velocidad

Atributos
3
T. Bayesianas

Figura 1-5. Fusin centralizada con vector de caractersticas . 3


Una alternativa, a esta arquitectura, es permitir que exista un 3
preprocesamiento en cada sensor, de forma que proporcione un vector de
caractersticas, figura 1-5. Estas son transmitidas a un sistema de fusin central,
donde se realiza la asociacin y la consiguiente fusin. Esta aproximacin implica 3
una prdida de informacin procedente de los sensores, puesto que los datos que

observa cada sensor slo vienen representados por un vector de caractersticas. Por
ejemplo [Jain 95] donde se fusionan medidas de diferentes cmaras que observan
3
la misma escena, y muestra que el error disminuye a medida que aumenta el 3
nmero de cmaras (o el nmero deframes).

El uso del vector de caractersticas simplifica el proceso de asociacin de 3


datos, reduce las necesidades de comunicacin entre los sensores y el proce~o de
fusin y, lo que ms nos interesa, permite que sensores que no son similares 3
puedan fusionar sus datos. Esto nos muestra la necesidad de que los sensores sean
capaces de realizar un preprocesamiento inicial de los datos antes de ser
3
fusionados.
1.1.2.2. Arquitectura de fusin autnoma 3
En esta arquitectura, vase la figura 1-6, los datos de los sensores vienen
representados por un vector de atributos o de caractersticas. Cada sensor realiza 3
un procesamiento sobre los datos para determinar un vector de estado o
determinar la identidad de un objeto. De este modo, la salida de cada sensor es
una decisin <una declaracin de identidad o la estima de un vector de estado).
3
Estas decisiones son la entrada a un proceso de fusin, el cual realiza la asociacin
3
y la fusin de identidad o la estima del estado global. Claro est que esta

3
3
Capitulo 1. Aspectos generales 23

arquitectura representa mayor prdida de informacin que la anterior, pero


permite que datos procedentes de sensores completamente distintos sean
fcilmente comparables. Es necesario tener en cuenta, como dificultad aadida en
este tipo de sistemas, que ahora los datos no son condibionalmente independientes.

FUSION
() Ciasficacin
Plantillas
Fila- Fusin de identidad
Bayes
VECTOR DE
IDENTIDAD
Redes neuronales 4 cin *
Denxpster-Shafer 4

Votacin
Extrac- T. Bayesianas de datos
etc.
cin
de vector de __________________

Li
caracte- caractersticas
risticas Fusin de posicin
F. Kalman

o-.
estados Asocia- Est. batch POsICIN
Filtros deKaman
Estimacin de + cin >~
__VECTOR
etc. DE

___ EstimacinBatch de datos ___

Figura 1-6. Fusin autnoma

1.1.2.3. Arquitectura de fusin hbrida


Combina la arquitectura centralizada y autnoma. En esta arquitectura, todo
tipo de datos (datos en bruto, vectores de caractersticas y datos de decisin) son
entradas para el proceso de fusin. En este caso, al englobar ambos mtodos, se
necesita una gran capacidad de clculo, mucho mayor que en los casos anteriores.
Esto es, clculo y procesamiento de datos en bruto y clculo y razonamientos sobre
estimas y vectores de caractersticas. En este sistema las necesidades de
comunicacin entre los sensores y el sistema de fusin se incrementa
enormemente. Sin embargo, al combinar tanto datos en bruto como vectores de
caractersticas se aprovecha de las ventajas de ambos obteniendo una fusin de
datos ptima.

Un sistema general que permite la utilizacin de cualquier tipo de sensor de


que disponga el usuario, lleva a disear una arquitectura hbrida, pero debido a
que los requerimientos en tiempo real son muy fuertes ser conveniente reducir en
lo posible los datos en bruto, por tanto en nuestro caso se tender a apraximarse
ms a una arquitectura defusin autnoma.
2
2
24 1.1. Aspectos generales de la integracin y fusin muItisensorial 2
1.1.3. Algoritmos de fusin de datos

La seleccin de algoritmos para la fusin de datos procedentes de sensores 2


similares o distintos se complica enormemente cuando se pretenden combinar
datos errneos o incompletos pertenecientes a un entorn complejo en tiempo 3
real. No existe ningun manual de anlisis de mtodos de fusin, aunque s
multitud de tcnicas que pueden aplicarse. Una revisin detallada de los mtodos 2
matemticos utilizados en fusin de datos puede encontrarse en [Hall 92].

La seleccin de las tcnicas de fusin de datos depende de la 3


implementacin especfica y del sistema donde es usada. Esto implica tener una
amplia perspectiva del sistema completo y la consideracin simultnea de distintos
puntos de vista: requerimientos del sistema, restricciones del usuario, algoritmo de 2
diseo; mtodos numricos y estadsticos, interfaz hombre/mquina, integridad del
sistema, ... Pero siempre se deben tener en cuenta los siguientes puntos: 2
1.-Mxima eficacia: los algoritmos escogidos deben ser capaces de
realizar correctas inferencias en presencia de datos errneos o con
incertidumbre. Estos algoritmos deben poder tratar la realidad
2
correctamente aunque la informacin a priori sobre las funciones de 3
densidad de probabilidad o la informacin estadstica de los datos no
estn disponibles. 2
2.-Restricciones operativas: la seleccin del algoritmo debe considerar
restricciones operativas tanto para e procesado automtico de datos 3
<necesidades de tiempo real, entorno de trabajo,...) como en las
herramientas para ayudar al anlisis de la fusin (p. e. un interfaz

adecuado con el usuario).


2
3.-Recursos eficientes: los algoritmos seleccionados necesitan minimizar 3
el uso de los recursos de la computadora, como por ejemplo el
tiempo de CPU y la entrada/salida. 2
4.-Flexibilidad operacional: en la evaluacin de los algoritmos es
interesante tener en cuenta su flexibilidad. Es decir, permitir

introducir modificaciones en el sistema tanto por parte del usuario


2
como por parte del diseador. Por ejemplo para adaptarlo a la
recepcin de otro tipo de datos, como en el caso de un sistema con
inferencias de orden superior, donde debera preverse que podra
2

3
Capitulo 1. Aspectos generales 25
ser necesario cambiar los datos a priori (por ejemplo en las
plantillas).

5.- Crecimiento funcional: El diseo del flujo de datos y la eleccin de


los algoritmos deben permitir el crecimiento de su funcionalidad a
medida que el sistema lo necesite. Por ejemplo, se disea un sistema
que fusiona datos para reconocer unos objetos determinados y en un
futuro se puede desear ampliar su capacidad de reconocimiento e
inferencia sobre ellos.

Algoritmos y tcnicas AIneacin Correlacin Estimacin Estimacin


datos datas/objetos posicin/velocidad identidad
E TUS RA P AE 1 OM CDI
Transf. De coordenadas X X X X X
Modelos sensores X
Modelos fisicos X X X X X
Medidas de asociacin X X X X X
Ecuaciones de movimiento X X X
Mtodos de optimizacin X X
Filtros de Kalmari X X
Error de covarianza X X
Inferencia bayesiana X XX
Dempster-Shafer X XX
Votacin X X
Reconocimiento patrones X X X X
Plantillas X X X X X
Sistemas expertos X X XX
Conjunto fuzzy X XX

Tabla 1.1. Tcnicas de fusin de datos y su aplicacin (extraida de [Hall 92])


E: Espaciales T: Temporales U: Unidades 5: Proyeccin R: Correlacin
A: Asignacin O: Comparacin P: Predecir observacin AE: Actualizar estados
3: Incertidumbres O: Manejo de objetos M: Medidas de identidad D: Declaracin identidad

Estos cinco puntos deben ser tenidos siempre en cuenta a la hora de


seleccionar algoritmos de fusin de datos, pero ms aun en el desarrollo de nuestro
sistema, puesto que se busca que permita el uso de distintas fuentes de informacin
<sensores), que sea aplicable a diversas situaciones y que su funcionalidad sea
ampliable por el usuario.

Debido a la amplia variedad de aplicaciones de fusin y de algoritmos


aplicables, es imposible proporcionar unas directrices sobre qu tcnicas son
2
2
26 1.1. Aspectos generales de la integracin yfusin multiSensorial 2
aplicables en la fusin especfica de unos datos. Aun as, en la tabla 1.1 <extrada de
[Hall 92]) se describen distintas tcnicas y se muestra su aplicacin. 2
Todos estos algoritmos y tcnicas de fusin de datos pueden utilizarse como
algoritmos de fusin multisensorial y pueden clasificarse dentro de una de estas 3
dos grandes teoras [Sorenson 70]: teora de la deteccin y teora de la estimacin.
A pesar de que estos algoritmos estn sujetos a un gran desarrollo matemtico,
cuando son aplicados a ejemplos concretos constituyen una solucin particular al 2
problema general de la fusin multisensorial. 2
Decisin o teora de la deteccin. En este caso las medidas
son comparadas con hiptesis alternativas para decidir cual de
ellas las describe mejor; por tanto nos indicar la situacin de
nuestro sistema. El mtodo de Bayes proporciona una forma de
2
actualizar el grado de creencia que se tiene (expresado como una 2
probabilidad) sobre una hiptesis basndose en el conocimiento a
priori y en las observaciones recientes. 3
La teora de la decisin, y en concreto la teora bayesiana, es
aplicable directamente al procesamiento de datos de mltiples
1w
2
sensores para realizar decisiones binarias (ej: en e problema de
deteccin, observar si una seal est presente o ausente) o

decisiones m-arias (ej: en el problema de clasificacin, identificar


2
en cual de las m clases de hiptesis encajan mejor las medids).

Pero pueden utilizarse otras tcnicas como la teora de Dempster-


2
Shafer, mxima verosimilitud, factores de certeza, etc.

Teora de la estimacin. Es una extensin al proceso de 2


decisin por el cual la estimacin de un parmetro se hace
utilizando mltiples medidas observadas de variables que pueden
estar directamente relacionadas con el parmetro en cuestin.
2
Como ejemplos de la teora de la estimacin se pueden 3
enumerar, los mnimos cuadrados de Gauss <1795), el mtodo de
mxima verosimilitud de Fisher <1912), la estimacin estadstica 3
de Kolmogorov y Weiner <de la dcada de los cuarenta) sobre
series de medidas en tiempo continuo y discreto o e estimador de
2
estados de Kalman <1960), entre otros.
En todos los casos se supone: 2
2
2
Capitulo 1. Aspectos generales 27

Que se puede desarrollar un modelo lineal que relacione las


medidas con el parmetro en cuestin,

que existe un conocimiento estadstico de los errores de las


medidas y, en algunos casos, de su comportamiento,

que se conoce la fuente de las medidas a priori.

Asociacin paramtrica

j
FUSIN Algoritmos estadisticos
1.- DE
POSICIN Tcnicas de estimacin
Velocidad,ngulo, elevacin,
coordenadas de objetos,

ALGORITMOS - Modelos fisicos


FUSIN Mtodos heuristicos
2.- DE * Inferencia sobre vectores
IDENTIDAD de caracteristicas

Emulacin del conocimiento humano Modelos basados en


para reconocer identidades. conocimiento
/ Libreria numricas
ALGORITMOS Funciones Alineamiento de datos
DE SOPORTE
AUXILIAR Procesamiento de datos

Herramientas de clculo, Manipulacin de bases de


grficas, estadisticas, etc.
datos
Interfaz humano-
computador

Figura 1-7. Categoras en la fusin multisensorial.

Estas dos teoras nos lleva a clasificar los algoritmos de fusin de datos en dos
grandes categoras: fusin de datos de posicin y fusin de datos identidad. En la
figura 1-7 se ha incluido una subcategora correspondiente a todas aquellas
herramientas auxiliares imprescindibles en la utilizacin de los algoritmos de fusin
como por ejemplo las libreras numricas o las herramientas para manejo de bases
3
2
28 1.1. Aspectos generales de la integracin y fusin multisensorial 2
de datos. Esta tasifitacin nos determinar la definicin de nuestro modelo de
sensor lgico que se expondr en el captulo 2. 2
1.3.3.1. Algoritmos de msin de datos de posicin
Los algoritmos de fusin de posicin, o estimacin de la posicin, son 3
conocidos desde antao y como se ha indicado anteriormente abarcan desde los
mnimos cuadrados de Gauss de finales del siglo XVIII hasta el filtro de Kalman. 2
Estas tcnicas de fusin de datos utilizan modelos fsicos y suposiciones
estadsticas sobre los ruidos de las observaciones para representar los datos 2
observados en un vector de estado. El algoritmo de fusin proporciona una estima
del vector de estado que mejor se ajusta (en cierto sentido matemtico) a los datos 2
observados. Para conseguir esta estima, estos algoritmos realizan correcciones o
refinamientos sucesivos del vector de estado por medio de la diferencia entre los

datos actuales <observados) y las observaciones predichas <basadas en el modelo, a


3
partir del estado y la observacin actuales). En mltiples sensores, puede utilizarse

un modelo fsico distinto para cada sensor.


3
En estos sistemas, los datos medidos por los sensores primero deben ser

alineados <transformacin de los datos a las unidades y al sistema de referencia


2
adecuados), y a continuacin se realizan otras dos operaciones sobre ellos:
. Asociacin paramtrica. Se encarga de asociar unas observaciones 2
con otras, de forma que indique si esa observacin es correcta, con
qu otros datos observados debe ser fusionada o qu elemento ya
reconocido anteriormente le corresponde. Para ello es necesario
definir una medida de asociacin que cuantiflque la proximidad 3
entre observaciones, aunque por supuesto no tiene por qu ser
mtrica. Las medidas de asociacin suelen incluir coeficientes de 2
correlacin, medidas de distancia, coeficientes de asociacin o
medidas probabilstics de semejanza [Hall, 92; cap. 3]. 3
e Estimacin del vector de estados. Una vez que la asociacin de
datos ha sido llevada a cabo <los datos se han agrupado segn

pertenecen a una entidad u objeto), se puede proceder a la


2
estimacin. Por estimacin se entiende la bsqueda del valor del
vector de estado <posicin, velocidad, parmetro o coeficientes del
modelo, ...) que mejor se ajuste, en un cierto sentido matemtico, a
2
los datos observados. En la prctica la asociacin y la estimacin 3
2
2
Captulo 1. Aspectos generales 29

~stn relacionadas para conseguir un mejor funcionamiento del


sistema. Ejemplos de problemas de estimacin pueden ser:

Uso de datos de posicin para determinar la localizacin de


un objeto estacionario <posicionamiento o localizacin).

Combinacin de datos de posicin de mltiples sensores


para determinar la posicin y velocidad de un objeto en
funcin del tiempo (seguimiento).

Estima de las caractersticas de una entidad <figura, forma,


etc.> a partir de los datos observados <identificacin).
Estima de los parmetros de un modelo, que representan o
describen los datos observados.
Una vez tomado un cierto vector de estado y todas las relaciones de ste con
las medidas y el sistema, es necesario elegir un cierto criterio de optimizacin con
respecto al cual estimar el mejor ajuste con los datos. Los criterios de optimizacin
ms utilizados estn basados en mnimos cuadrados, funciones de mxima
verosimilitud o formulaciones bayesianas. Para encontrar el vector de estados que
minmza la funcin escogida se siguen dos estrategias:
- Modo batch, se obtienen todos los datos simultneamente o se
espera hasta que se hallan obtenido todos los datos necesarios y
entonces se realiza la estimacin del estado del sistema. Un ejemplo
de estas tcnicas es el estimador de mnimos cuadrados [Lewis 86;
Bar-Shalom 93].
- Modo secuencial, la modificacin en la estima del vector de estado se
realiza con cada nueva observacin. Un ejemplo de este tipo de
tcnicas son los mnimos cuadrados recursivos, el filtro alfa-beta
[Kalata, 84] o el filtro de Kalman [Gelb 74; Anderson 79].

l uso de una u otra estrategia depender de la aplicacin escogida, de las


necesidades de tiempo y del nmero de datos de que se disponga en cada instante.

1.1.3.2. Algorifrnos de fusin de identidad


En este caso el problema consiste en combinar la declaracin de identidad de
datos de mltiples sensores para estimar con mayor certeza la identidad de un
objeto. La idea es obtener a partir de la combinacin de declaraciones de los
2
3
30 1.1. Aspectos generales de la integracin ~fusi4n multiSensorial 3
distintos sensores una estima ms precisa y clara que las de los sensores
individuales. 3
De los datos obtenidos por los sensores, infrarrojos, espectro visible,
imgenes, etc. se extrae un vector de caractersticas que represente los datos 3
observados. Ejemplos de transformaciones para extraer caractersticas son
algoritmos de procesamiento de imgenes, reconocimiento de patrones <por

ejemplo esquinas q patrones artificiales fijos), etc., aunque pueden existir sensores
3
que proporcionen directamente declaraciones de identidad.

Al igual que en la fusin de posicin, es necesario hacer un preprocesamento 2


de los datos y realizar una asociacin para clasificar las declaraciones de identidad
2
en grupos que representan observaciones del mismo objeto.
La fusin de identidad puede tener lugar a tres niveles: 2
1. A nivel de los datos en bruto (previo a la extraccin de
caractersticas). 2
2. A nivel del vector de caractersticas <previo a la declaracin de
identidad). 2
3. A nivel de decisin <despus de que cada sensor ha hecho una
declaracin independiente de identidad). 2
La eleccin de cundo se realiza la fusin depende de los tipos de datos
disponibles y del tipo de preprocesamiento realizado por los sensores. 2
En la prctica, la fusin de identidad se realiza simultneamente a la de
posicin, pero existen dificultades que impiden realizarlo de la misma forma: 2
Los modelos fsicos generales para declaraciones de identidad no
existen o son muy difciles de desarrollar. Cuando se encuentra un 3
modelo, este debe desarrollarse para cada objeto observado. La gran
carga computacional que se necesita para cada modelo y los cientos
de potenciales objetos que podemos encontrarnos implican la 2
imposibilidad de aplicarlos. 2
La fusin de identidad es jerrquica; en el nivel ms bajo de
inferencia los objetos se identifican como emisores individuales

(balizas, radio )
o como entidades fsicas <esquina, pared, ...). En
2
niveles altos se infieren relaciones entre distintos componentes o
2
deduccin de caractersticas ms intangibles como por ejemplo la

2
2
Captulo 1. Aspectos generales 31

intencin de ataque de un enemigo o la direccin ms probable que


seguir un mvil.

As, aunque el uso de modelos para estimar los datos observados por los
sensores y deducir su identidad (mediante la comparacin entre las observaciones
predichas por el modelo y los datos actuales mediante tcnicas de estimacin
clsica) es perfectamente factible, pueden ser, muy complejos y la estima de la
identidad muy costosa. Esto lleva a que se planteen otras formas de fusin de
caractersticas como son,

1.- Tcnicas de inferencia basadas en caractersticas: Estas tcnicas no


utilizan modelos fsicos, sino una correspondencia directa entre los datos
referentes a la identidad de los objetos y a la declaracin de identidad. Se
dividen en dos grandes categonas:

a.- Tcnicas paramtricas o estadsticas, que requieren suposiciones


a priori sobre las propiedades estadsticas <por ejemplo, la
funcin de distribucin> de los datos referentes a la identidad.
Son tcnicas como la inferencia clsica [Duda 79], inferencia
mediante redes bayesianas [Pearl 86], inferencia con Dempster-
Shafer [Dempster 67; Shafer 76], etc.

b.- Tcnicas no paramtricas, que no requieren informacin a priori.


Mtodos de este tipo son las plantillas, redes neuronales
artificiales [Minsky 69; Hopfleld 82], mtodos de entropa y de
votacin, etc.

2- Modelos basados en conocimiento: Estos mtodos intentan imitar el


proceso de inferencia del anlisis humano en el reconocimiento de la
identidad de un objeto. En este grupo se encuentran tcnicas como
plantillas lgicas, sistemas <expertos) basados en conocimiento y la teoria
fuzzy [Zadeh 75]. De un modo u otro, estos mtodos se basan en una
percepcin de cmo los humanos procesan la informacin para llegar a
unas conclusiones sobre la identidad de los objetos.

1.1.3.3. Algoritmos de soporte auxiliar


Por ltimo indicar que en los niveles descritos anteriormente se necesitan
gran nmero de funciones como libreras de mtodos numricos, algoritmos de
alineamiento de datos, preprocesamiento de datos, manipulacin de bases de
2
2
32 1.1. Aspectos generales de la integracin yfushin multisensorial 2
datos, rutinas de presentacin de datos y resultados, etc. En un sistema de fusin
de datos estas funciones pueden superar el 80 % del software utilizado [Waltz 90]. 2
Resaltar qu la funcin auxiliar ms compleja e imprescindible en todo
proceso de fusin de datos es la encargada de acceder a las bases de datos del 3
sistema. El control de una base de datos incluye funciones de acceso y
manipulacin de las. bases de datos, proteccin de datos, compresin, consultas
relacionales, etc. Este control es particularmente complejo debido a la gran 3
variedad de datos manejados <p. e. imgenes, vectores o datos individuales> y a las
altas velocidades necesarias tanto para acceso como para archivado de datos 2
procedentes de un cierto sensor. Aunque stas y otras funciones auxiliares son
imprescindibles en cualquier sistema y su utilidad es indiscutible no nos 2
detendremos ms en ellas.

2
2
2
2
3
2
3
2
2
2
3
2
2
Captulo 1. Aspectos generales 33

1.2. Aplicaciones que realizan fusi6n e integracin


multisensorial
Existen multitud de aplicaciones donde cada da se utilizan un mayor nmero
de sistemas robticos que trabajan de forma autnoma o semi-autnoma <con
ayuda de un operador humano). Pero cada vez hay ms aplicaciones (industria,
agricultura, exploraciones submarinas o espaciales, etc.) donde se requieren
sistemas completamente autnomos. Esto implica dotar a estos robots de cierta
inteligencia y capacidad para desenvolverse en entornos dinmicos y complejos. Es
decir, deben dotarse de capacidades esenciales como percepcin, conocimiento,
razonamiento, aprendizaje y accin. En [Azouaoui 98] puede encontrarse una
revisin de distintos sistemas robticos autnomos y cmo se hace hincapi en la
inteligencia y reactividad de estos sistemas.

El funcionamiento de los robots autnomos puede entenderse como agentes


inteligentes [Bussell 95], que perciben su entorno mediante sensores y responden
o actan sobre ese entorno mediante actuadores. La conexin entre sensorizacin y
actuacin puede ser un sencillo procesamiento de seal o puede involucrar toma
de decisiones complejas, interpretacin de metas u otros aspectos de razonamiento
complejos. Pero sea cual sea el tipo de razonamiento empleado, el sistema siempre
emprender aquellas acciones que favorezcan la obtencin del mximo
rendimiento, beneficio o consecucin de un objetivo basndose en las evidencias
aportadas por la percepcin realizada y por su conocimiento incorporado.
Por lo tanto, un mayor desarrollo de los sistemas sensoriales de los robots
utilizados en las distintas aplicaciones (dotndolos de mltiples sensores
redundantes o complementarios) llevar a un incremento en la autonoma,
seguridad, calidad y versatilidad de sus operaciones. Esto explica el mayor esfuerzo
realizado actualmente en la investigacin dirigida al desarrollo de mejores sistemas
de control y percepcin. A continuacin se enumeran distintas aplicaciones donde
los robot empleados utilizan mltiples sensores.

1.2.1 Industriales

En muchas aplicaciones industriales [Kafrissen 84; Groover 89] es necesario


dotar al robot de mltiples sensores para aumentar su capacidad sensorial,
dotndole de mayores prestaciones, para conseguir un funcionamiento ms seguro,
preciso y verstil. Los sensores ms ampliamente utilizados en robtica industrial
2
2
34 1.2. Aplicaciones que realizan fusin e integracin multisensonial 2
son sensores tctiles, de fuerza, de proximidad y alcance, de contacto, visin
artificial y sensores de medidas d ciertas variables de inters <temperatura, 2
presin, etc.). Ejemplo de aplicaciones industriales son:

- Manipulacin de materiales: Aqu podemos incluir los robot 3


autnomos mviles utilizados para carga, descarga y transporte de
materiales, piezas y herramientas, tanto en entorno cerrados como
robots elevadores en fbricas [Espinosa 98] o transporte en entornos 2
abiertos, como por ejemplo vehculos pesados en un puerto como
[Durrant-Whyte 96]. Otros robots distintos son los brazos 2
manipuladores o clulas robticas encargados de manejar piezas en
cintas transportadoras [Groover 89; cap. 11] y robots con manos y 2
dedos semejantes a las humanas (una revisin de algoritmos sobre
manos y dedos robticos puede encontrarse en [Shimoga 96]). 2
Fabricacin de componentes: donde los robot se utilizan para fabricar
2
-

~piezasoelementoscuyocostedefabricacinsilorealizasenoperarios
humanos sera mucho mayor. Por ejemplo, se pueden encontrar
robots realizando trabajos de soldadura [Hedenborn 94] o en el
3
-
pulido de piezas.
Inspeccin: aunque depende de la naturaleza de las piezas 2
inspeccionadas, cualquier tcnica de fusin e integracin
multisensorial puede ser aplicable. Esta puede ser: 2
- explcita, es decir, como una operacin separada durante o
despus del proceso de manufactura para coniprobar la
integridad de las piezas fabricadas y realizarun control de 2
calidad [Hedenborn 95], por ejemplo la inspeccin de la
calidad de las baldosas producidas [Fernndez 98] un
sistema multisensor de inspeccin de soldaduras [Lacey 93].
2
- implcita, cuando verifica la integridad de las piezas mientras 2
se manipulan. Los sensores ms utilizados son visin, por
ejemplo [Conners 97] para inspeccin de la calidad de los 2
tableros producidos en una industria maderera, sensores
tctiles [Shimoga 96] y ultrasonidos. 2
- Ensamblaje: esta es una de las aplicaciones ms complejas de la
robtica industrial, puesto que adems de las tpicas necesidades de

2
3
Captulo 1. Aspectos generales 35

reconocimiento de entorno, el ensamblaje requiere unos mtodos de


planificacin especiales al existir ciertas restricciones en los grados de
libertad debido a la disposicin de las piezas a ensamblar y a que en
muchas ocasiones requiere la colaboracin de varios robots. Un
ejemplo de fusin sensorial para ensamblaje puede encontrarse en
[Suarez 95].

1.2.2. Militares

La integracin y fusin multisensorial ha tenido siempre un gran inters y


desarrollo en aplicaciones militares, como demuestra el gran nmero de
aplicaciones existentes <vase [Waltz 92] o [Hall 92] para disti4tos ejemplos) y de
proyectos financiados con fondos militares como los proyectos DRPA o los
financiados por la NASA. Entre las aplicaciones militares existentes se pueden
destacar,
- Estado de la batalla: [Campos 98] utilizan normalmente sistemas expertos y
realizan complejos razonamientos sobre los datos obtenidos para indicar la
posicin del enemigo, la peligrosidad de la situacin, intenciones de tropas
enemigas, etc. Un ejemplo de anlisis de imgenes para reconocimiento de
objetos e interpretacin de escenas puede encontrarse en [Nandahkumar
97].

- Deteccin y seguimiento: Los sistemas de defensa area y ms generalmente


los sistemas de control y orden C2 <Command and Control) necesitan una
clara representacin de la situacin area para poder tomar decisiones con
seguridad. Para ello es necesario desarrollar sistemas de deteccin y
seguimiento de mltiples aeronaves que sean seguros y fiables. Existen
multitud de tcnicas probabilsticas y no probabilticas que pueden ser
aplicables, vase [Bar-Shalom 90] para una descripcin ms amplia. Estos
sistemas utilizan mltiples sensores para mejorar su resolucin como son,
radar, infarrojos, visin, etc.

1.2.3. Espaciales

En este grupo incluimos las aplicaciones referentqs a deteccin y


seguimiento de cuerpos en el espacio <astros) o el aire <aviones), sistemas que
navegan por el globo terrestre utilizando sistemas inerciales, localizacin mediante
satlites, GPS <Global Positioning System> u otros sensores, y tambin los sistemas
2
2
36 1.2. Aplicaciones que realizan fusin e integracin multisensorial J
desarrollados para la exploracin de otros planetas. La mayora de estos sistemas
podran incluirse en mayor o menor medida en la seccin anterior, pero se
2
describen a parte para poner de manifiesto su utilizacin no militar.
- Deteccin y seguimiento: estos sistemas de fusin de datos suelen ser 3
semejantes a las aplicaciones militares pero dedicadas a aplicaciones civiles
como por ejemplo la deteccin y seguimiento de aviones para e control del

trfico areo en aeropuertos [Yeddanapudi 97].


2
Navegacin inercial: los sistemas de navegacin inercial o INS <Inertial
2
-

Navigation Systems) aprovechan las propiedades inerciales de los sensores


montados sobre el vehculo (girscopos y acelermetros) para obtener de
forma autnoma, mediante la integracin de las medidas de fuerza y
velocidad angular, la posicin y velocidad del mvil [Britting 71]. La ventaja
2
de est sistema es que es autnomo y no necesita fuentes externas, pero 2
debe integrarse junto con otros sensores de posicin debido al crecimiento
de sus errores provocados por las integraciones realizadas. Existen multitud 2
de sistemas que utilizan INS junto con otros sensores como por ejemplo
[McMillan 88] donde se integra el INS con Transit, odmetros, brjula

magntica y altmetro; o [Pham 92] que usa INS y GPS conjuntamente.


2
- Exploracin planetaria: a primeros de 1970 se comenzaron a construir

prototipos de vehculos autnomos para exploracin planetaria equipados


2
con distintos sensores. El Mars ROVER [Thompson 77] es el prototipo del
PathFinder [Dubov 95], el primer vehculo que, en 1997 y por primera vez
2
en la historia, realiz tareas de recogida de muestras y exploracin de otro
planeta: Marte. Para poder trabajar sobre terrenos agrestes en lugar de 2
disear robots con medas <como el Pathfinder>, se han desarrollado robots
con patas como el AMBLER [Bares 89; Krotkov 96], de seis patas. 2
1.2.4. Otras 2
Existen muchas ms aplicaciones a parte de las enunciadas anteriormente
que aplican integracin y/o fusin multisensorial. Entre otras podemos destacar, J
Conduccin y guiado automtico: engloba a los sistemas de ayuda a
2
-

disminuidos fsicos como son sillas de ruedas autnomas [Bel 94; Yanco 98;
Pires 98] o perros lazarillos [Borestein 98] basados normalmente en
sensores de ultrasonidos o sonar. Tambin se incluyen aqu multitud de 2
2
2
Captulo 1. Aspectos generales 37

sistemas de conduccin de vehculos en carreteras, que se vienen


desarrollado desde los primeros tiempos de la robtica mvil [Thorpe 88].
Principalmente se basan en sistemas de visin [Salgian 98]. Actualmente se
estn realizando muchos esfuerzos en la automatizacin de vehculos en
autopistas [Bishop 97; Thorpe 97] como demuestra la aparicin de
proyectos de investigacin como el PATH de California o el proyecto
europeo PROMETHEUS.

- Exploracin e inspeccion: se han desarrollado distintos sistemas para


exploracin terrestre o acceso a zonas que es peligroso o complicado para
un ser humano como por ejemplo para inspeccin de altos hornos, para
limpieza de edificios [Zon~ 98], quillas de buques y otros lugares
inaccesibles [Balaguer 98], etc.

- Exploracin submarina: se han desarrollado muchos sistemas robticos


submarinos, puesto que a parte de los peligros que conleva la exploracin
submarina, es mucho ms factible, por ejemplo, dejar a un robot durante
semanas en el fondo del ocano tomando muestras, tarea que a un ser
humano le resultara prcticamente imposible. La demanda de robots
submarinos avanzados est creciendo enormemente en la actualidad, dando
lugar a un gran desarrollo de vehculos totalmente autnomos y
especializados. Una amplia revisin de sistemas autnomos submarinos
puede encontrarse en [Valavanis97].
- Sensorizacin remota: un caso especial es cuando dispdnemos de sensores
distribuidos geogrficamente, como en el caso de los de tipo pluvimetro
para estudio de precipitaciones, para prediccin del tiempo, medidas
ocenicas, estudios hidrogrficos, etc. [Daniel 97]

- Aplicaciones mdicas: se han desarrollado multitud de sistemas para ayuda


en aplicaciones mdicas. Podemos destacar dos vertientes: la ayuda al
diagnstico mediante sistemas expertos como MYCIN [Shortliffe 75]
DIAVAL [Diez 94]; y los sistemas robticos semiautnomos como
ayudantes en ciruga en operaciones de prstata o en operaciones con
lamparascpia en cavidades abdominales [Hurteau 94] o en microciruga
[Salcudean 94]. Otros ejemplos de sistemas de fusin de datos para
aplicaciones mdicas pueden encontrarse en [Assi98].
2
38 Integracin multisensorial en robots mviles 2
2
1.3.

1.3. Integracin multisensorial en robots mviles 2


En esta seccin no se pretende dar una descripcin exhaustiva de todos los
tipos de robots mviles existentes, sino una breve revisin histrica de stos 2
resaltando los ms significativos. Con ello se quiere destacar la utilizacin de
mltiples sensores y la variedad de implementaciones, arquitecturas y algoritmos 2
utilizados en fusin para robot mviles autnomos.

Uno de los primeros robot mviles fue SHAKEY, d9sarrollado por el 2


Stanford Besearch Institute <SRI) de la Universidad de Stanford desde 1966 hasta
1972 [Nilsson 69]. El principal objetivo de este proyecto fue estudiar procesos para
control en tiempo real de robots que interacten en entornos complejos. Constaba 2
de una cmara de vdeo, un radar ptico y varios sensores de contacto. Operaba en
un entorno muy artificial y con un mapa a priori del entorno. Aunque desarroll 2
nuevas tcnicas de resolucin de problemas y planificacin no dispona de un
modelo del mundo real ni se centr en la sensorizacin, lo que implicaba una 3
utilidad muy reducida.
HILARE [Qiralt 84], desarrollado por e Laboratoire dAutomatique et 2
dAnalyse des Systmes <CNRS) de Toulouse, fue un proyecto iniciado en 1977. Su
finalidad era desarrollar un robot experimental para investigur en percepcin y 3
planificacin de robots. Fue el primer robot mvil en crear un modelo del mundo
en un entorno desconocido usando informacin de mltiples sensores [Harmon

86]. Utilizaba sensotes de visin <visn estereoscpica), sonar, sensores de contacto


2
y radar lser para reconocimiento de entorno, y se elige un grupo u otro de
sensores dependiendo de las caractersticas y distancia del objeto. Para la estima de
posicin utilizaba tres mtodos: posicionamiento absoluto mediante balizas activas,
3
calculo de la trayectoria mediante integracin y posicionamiento relativo mediante 2
reconocimiento de balizas naturales. Cada uno de los mtodos era complementario
y se usaba para reducir el error de los dems. Su representacin del entorno era 2
mediante mapas expresados cobo grafos.

El robot de inspeccin terrestre (Cround Surveillance Robot) [Harmon 87] 3


era un vehculo autnomo diseado para viajar en terreno natural. Usaba sensores
acsticos y de visin para deteccin de obstculos, y cmaras y radar lser para 2
reconocimiento de objetos. La integracin de los distintos sensores se realizaba por
medio de una pizarra, donde a cada elemento del mundo detectado le

2
2
Captulo 1. Aspectos generales 39

corresponda una lista de propiedades en las que se inclua el tiempo y la medida


de la precisin y confianza de la estima.

El JPL Mars Rover [Thompson 77; Gat 90] estaba englobado en un proyecto
iniciado a primeros de los setenta, del Jet Propulsion Laboratory de la NASA para
desarrollar un prototipo de vehculo para exploracin planetaria. La suspensin del
proyecto en 1978 provoc un retraso en el desarrollo del prototipo que fue
retomado a primeros de 1990 para desarrollar un prototipo para una exploracin
de Marte. El vehculo constaba de cmaras de TV, radar lser y un brazo para
tomar muestras.
EL NAVLAB y Terregator [Thorpe 88; Herbert 88; Thorpe 91b] son dos
vehculos terrestres autnomos desarrollados por el Instituto de Robtica de la
Universidad Carnegie-Mellon (CMU). Su principal finalidad era la investigacin en
el desarrollo de una arquitectura capaz de soportar procesamiento paralelo y
desarrollar nuevas tcnicas de percepcin, fusin e integracin multisensorial y
navegacin [Torpe 91a]. Utilizaba sensores de visin <cmaras TV de color>, radar
lser y sonar. El sistema de control constaba de distintos mdulos ejecutndose
independientemente relacionados entre s a travs de una estructura denominada
pizarra-blanca, que difiere de la pizarra clsica en que cada mdulo continua su
ejecucin mientras se realizan las peticiones de lectura de datos y sincronizacion.
Otro interesante vehculo del CMU es Alvin que desarrolla VITS [Turk 88], un
nuevo mtodo para extraccin de bordes y segmentacin para circulacin en
carreteras que es robusto ante cambios en condiciones atmosfricas,
modificaciones en el sensor, en la navegacin, etc. Este vehculo dio lugar a
ALVINN (Autonomous Land Vehicle In A Neural Network> [Pormeleau 93;
Jochem 93] que utiliza un red neuronal Backk-Propagation pard analizar la imagen
de la carretera y obtener la direccin que debe mantener el vehculo para no
salirse de la carretera.
La serie HERMIES [Weisbin 89] (tlostile Enviroment Robotic Mac/Une
Intelligence Experimental Serves) son robots mviles desarrollados por la Oak
Ridge National Laboratory para investigar plataformas capaces de navegar y
manipular objetos autnomamente en entornos complejos con total seguridad,
tales como edificios de reactores nucleares. Utiliza un array sonar para detetar
obstculos y mltiples cmaras para buscar objetos conocidos en el entorno <como
paneles de control) para su manipulacin. El mundo es modelado a priori
mediante una estructura en forma de red <o grafo). Si un obstculo es detectado
3
40 1.3. Integracin multisensorial en robots mviles 22
bloqueando un enlace entre dos nodos se vuelve al ltimo nodo visitado y se
calcula un nuevo camino. Utiliza un sistema de reglas para planificacin de alto 2
nivel y toma de decisiones, incluyendo integracin y fusin.

Blanche [Nelson 88; Cox 89] es un robt experimental desarrollado por los 2
laboratorios AT&T Bel Labs diseado para operar autnomamente en entornos
estructurados, realizando sobre l pruebas de lenguajes de programacin de
robots, integracin de sensores y deteccin de errores. Como sistema sensorial 2
para el entorno utiliza un radar lser.
El ALV (Autonomous Latid Vehicle> [Payton 90; Payton 91] fue desarrollado
2
como parte del Programa de Computacin Estratgica de la Agencia de Proyectos
de Investigacin Avanzada de Defensa <DARPA) del Departamento de Defensa de
Estados Unidos. Fue diseado para probar distintas tcnicas existentes e investigar
2
en el estado del arte sobre vehculos autnomos. La finalidad inicial del proyecto 2
era el desarrollo de vehculos capaces de circular por una carretera de forma
autnoma. Posteriormente se utiliz tambin para desarrollar vehculos capaces de 3
navegar campo a travs y probar algoritmos de esquiva de obstculos [Olin 91].

En el departamento de Inteligencia Artificial del MIT <Massachusetts 2


Institute ofTechnology) y dirigido poi Brooks, se han desarrollado diversos robots
basados en una arquitectura de control basada en capas y totalmente reactiva 3
[Brooks 86]. Su investigacin se centra en e desar+ollo de mecanismos de control y
sensorizacin de bajo nivel robustos utilizando una arquitectura de control

puramente distribuida.
2
Otros robots histricos que se pueden mencionar, aunque no sea una lista
completa <por otra parte inmensa), de robots mviles terrestres son el MARS <o
2
Mobi) de Stanford [Kriegman 87; Kriegman 89], el robot KAMRO de la
universidad de Karlsruhe [Rembold 88], etc. 2
En la actualidad podramos mencionar muchos otros robots desarrollados en
multitud de universidades y centros de investigacin. Podemos destacar el
numeroso desarrollo e investigacin sobre robots de la Universidad de Michigan,
2
dirigido por Borenstein, en el estudio de tcnicas de localizacin de robots 2
[Borestein 95a], esquiva de obstculos [Borestein 95b] y nuevos robots mviles
como el OmniMate [Borestein 97], robot de mltiples grados de libertad capaz de 2
moverse en cualquier direccin y girar al mismo tiempo. Otros centros de
investigacin en robots mviles son el MIT, .ya indicado anteriormente, que
3
continua investigando en nuevas tecnologas como visin artificial y lenguaje
2
3
Captulo 1. Aspectos generales 41

natural y ha desarrollado software y hardware para robots de bajo coste [Ferrel 93]
y robots humanoides como Cog [Brooks 98]. El instituto de robtica Georgia Tech,
que investiga en comportamiento reactivo y comportamiento natural basado en
esquemas de comportamiento <Schemas) [Arkin 95; Arkin 97a; Arkn 97b],
tambin en percepcin, navegacin, etc.[Arkin 91; Arkin 93]. La Universidad de
Massachusetts <UMASS) que investiga en temas relacionados con ensamblaje,
navegacin, modelos biolgicos, etc.[Grupen 93; Gon~alves 98]; o el instituto
francs INRIA (Institut National de Recherche en Informatique et en
Automatique) con una amplia variedad de reas de investigacin de las que nos
interesan percepcin, visin artificial y robots mviles.

Tambin se pueden destacar centros espaoles como el departamento de


Ingeniera de Sistemas y Automtica de la universidad de Mlaga donde han
construido los robots RAM-1 y RAM-2 [Torres 93; Gonzlez 98] sobre los que
investigan en temas relacionados con robot mviles e integracin sensorial. El
departamento de Ingeniera de Sistemas, Automtica e Informtica Industrial de la
Universidad Politcnica de Catalua, en temas relacionados con integracin
multisensorial para robots manipuladores en trabajos de ensamblaje [Suarez 95].
El rea de Ingeniera de Sistemas y Automtica de la universidad Carlos III de
Madrid, trabajan con robots mviles en interiores y exteriores investigando en
localizacin y percepcin basada en marcas [Armingol 98]. La Divisin de
Ingeniera de Sistemas y Automtica del departamento de Ingeniera Electrnica e
Informtica Industrial de la E.T.S.I. Industriales de la Politcnica de Madrid
[Escalera 95]. El Centro Politcnico Superior de Ingenieros de la universidad de
Zaragoza, que investigan en temas relacionados con integracin multisensorial
[Tards 91; Castellanos 98]; y otros muchos departamentos y centros que son
imposible enumerar todos aqu. Los temas de investigacin de los grupos
enumerados son mucho ms variados que los sealados, slo se han resaltado
trabajos relacionados con esta Tesis, aunque en ciertos casos la investigacin actual
haya derivado hacia temas distintos a la percepcin, fusin multisensorial o robots
mviles.

Por ltimo destacar entidades como DARPA, del departmento de defensa


americano, la NASA, junto con el JLP, el DOD (Department of Defense) yel DOE
(Department of Energy) y proyectos europeos como PANORAMA (Perception and
Navigation Systemfor Mobile Applications) en el que se han desarrollado sistemas
de percepcin y navegacin para mltiples aplicaciones en entornes estructurados
o PROMETHEUS para vehculos que puedan circular autnomamente en
2
42 1.3. Integracin multisensorial en robots mviles 22
carreteras. Y tambin entidades espaolas como la CICYT o el Plan Nacional de
I+D del Ministerio de Educacin y Ciencia, que han financiado y continan 2
financiando multitud de proyectos de investigacin sobre robots mviles,
integracin y fusin multisensorial en robots, promoviendo programas especficos
en el desarrollo e investigacin de nuevas tcnicas sobre sistemas sensoriales,
percepcin, etc.
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
Captulo 2

Modelo sensorial

El desarrollo de un sistema de integracin y fusin multisensorial


implica el conocimiento del tipo de sensores que se van a utilizar y de la
aplicacin en la que se usan, en nuestro casQ robot autnomos
terrestres. Para este caso concreto los sensores se clasifican en dos
grandes grupos: sensores de estado y sensores de entorno, y se realiza
una breve descripcin de cada tipo de sensor.

A partir del estudio y clasificacin realizados se busca una estructura


para el sistema sensorial que permita obtener las caractersticas
buscadas en esta tesis: un sistema sensorial paralelizable, asncrono y
distribuido que sea independiente del nmero y tipo de sensores
utilizados. Para ello se aprovecha la metodologa orientada a objetos
para desarrollar un tipo de sensor abstracto adecuado: el sensor lgico.
Finalmente se muestra un ejemplo de su funcionamiento para. dos
sensores de entorno y dos de estado. Mediante un diagrarna de paso de
mensajes y una traza de mensajes se pone de manifiesto su
funcionamiento paralelo, distribuido e independencia del nmero de
sensores utilizados.

43
2
44 2.1. Introduccin 2
2.1. Introduccin 2
Los sensores son la parte ms importante de un robot mvil, representan sus 2
cinco sentidos y sin ellos no puede averiguar donde se encuentra, que le rodea, ni
por supuesto, moverse con seguridad. Por ello, antes de realizar un sistema de 3
integracin verstil, reconfigurable e independiente del tipo y nmero de sensores
utilizados, es imprescindible conocer los diferentes tipos de sensores que pueden

utilizarse en un vehculo autnomo. Este conocimiento es necesario para disear


2
un sensor lgico y un modelo sensorial general que permita conseguir los objetivos
propuestos.

Adems de un estudio de los sensores existentes es necesario tener en cuenta


varios aspectos relativos tanto a los sensores como a los procesos de fusin, por
2
ejemplo el tratamiento que se hace a las medidas observadas, si se utiliza un nico
sensor o un sistema con mltiples sensores, cual es la arquitectura de fusin 2
escogida y el tipo de las decisiones que pueden tomarse.

1.- Tratamiento de las medidas: las observaciones realizadas por un sensor 2


deben ser procesadas adecuadamente para llegar a deducir de ellas las variables
buscadas. El tratamiento aplicado sobre las observaciones puede ser muy diverso, 3
pero las funciones pueden clasificarse en deteccin y en estimacin. Un sensor
puede realizar una o ambas funciones a la vez y se definen como, 2
Estimacin. Es el proceso por el cual se determina el valor de las
variables consideradas (en algn sentido ptimo) a partir de la 2
observacin realizada. Es decir, es un proceso por el cual se transforma o
se realiza una correspondencia entre la observacin y una estima del
2

estado estudiado.
Deteccin. Es el proceso por el cual, establecida una hiptesis, determina 2
qu observacin se aproxima ms a sta (el espacio de observacin se
divide en regiones distintas de forma que cada una represente una

hiptesis). La deteccin puede ser:


2
binaria, cuando se realiza una decisin nica sobre una hiptesis de
2

forma que se confirme o se niege, por ejemplo la decisin sobre la


presencia o no de un objeto (Ho, objeto detectado; H1, objeto no

presente).
2
m-aria, cuando se aplican mltiples hiptesis sobre los datos
j

observados, de forma que cada hiptesis representa un grado de

2
3
Captulo 2. Modelo sensorial 45

creencia distinto, por ejemplo el uso de mltiples hiptesis para


detectar un objeto, donde representan un cierto grado de creencia en la
existencia de un objeto. Otra aplicacin de deteccin m-aria es la
clasificacin, donde la observacin, descrita por medio de vectores de
caractersticas, se compara con m hiptesis para comprobar en qu caso
se aproxima ms o menos a cada hiptesis <por ejemplo esquina, pared,
rincn, puerta o desconocido>.

2.- Fusin sensorial: tengamos en cuenta que en sensores simples el proceso


de deteccin y estimacin es parte integral del sensor, pero en un sistema
multisensor el proceso de deteccin y/o estimacin puede situarse fuera del sensor.
En este caso existir un nodo o procedimiento de fusin externo y cada sensor ser
un contribuyente individual al resultado final. Otra posibilidad es que cada sensor
realice la fusin de los datos. Para ello se debe dotar al sistema sensorial <y a cada
sensor individualmente> de herramientas para su funcionamiento distribuido y
encontrar cual es la informacin que es necesaria transmitir a los otros sensores
para que realicen la fusin. En este caso tambin existir un nodo externo de
fusin, pero actuar ms como registro del resultado obtenido e interfaz con el
robot mvil que como nodo de fusin propiamente dicho.
3.- Arquitectura del sistema de fusin: se pueden distinguir, como se indic
en el Captulo 1, dos estructuras de fusin distintas: centralizada y distribuida.
Recordemos que en la arquitectura de fusin centralizada todas las observaciones
de los sensores son pasadas a un nodo de fusin central que realiza una decisin
global a partir de un espacio de observacin global, mientras que en la distribuida
cada sensor puede tomar primero una decisin a partir de sus propias
observaciones y enva estas decisiones a un nodo de fusin <global) donde se realiza
la decisin final. La eleccin de la arquitectura ser determinante para la eleccin
del modelo sensorial.
4.- Tipo de decisiones realizadas: las decisiones que pued~ tomar un nodo de
fusin donde se realiza la deteccin o clasificacin pueden ser:

Duras son decisiones tomadas irrevocablemente, es decir, se


dispone de distintas hiptesis y cuando se escoge una como vlida
no se varia de opinin.

Blandas son decisiones en las que no est definida claramente una


opcin como correcta, sino que cada hiptesis tiene su grado de
2
3
46 2.1. Introduccin 2
certeza. En este caso nuevas medidas pueden provocar un cambio
en la hiptesis predominante. 2
Estos cuatro aspectos influyen directamente en el mtodo de fusin y en la
estructura del sistema sensorial escogido. Estos aspectos implican la divisin del 3
sistema de fusin y de los sensores, como veremos ms adelante y en captulos
posteriores, en dos clases: uno especializado en la estimacin del estado del robot y
con decisiones duras; y otro basado en la teora de la deteccin y con decisiones 3
blandas. En la medida de lo posible ambos mtodos sern distribuidos y con fusin

descentralizada.
2
As, en la seccin 2.2 se describen los sensores que pueden utilizarse en un 2
robot mvil terrestre autnomo, su aplicacin y ventajas e inconvenientes de su
utilizacin. A partir de esta descripcin, en la seccin 2.3 se obtiene una
clasificacin de los sensores que pueden utilizarse en nuestro sistema de 2
integracin y se realiza un estudio de qu informacin puede considerarse comn a
estos sensores y qu funciones son necesarias para su utilizacin. Estas 3
conclusiones son e punto de partida de la seccin 2.4, donde se define a partir de
la metodologa orientada a objetos un tipo abstracto de sensor, denominado sensor

lgico. A partir de este sensor lgico se disea el sistema de fusin general que
utiliza estos sensores y se muestra un ejemplo para clarificar su funcionamiento.
u

2
2
3
u
2
2
u
u
Captulo 2. Modelo sensorial 47

2.2. Sensores en un robot mvil


En el mercado existen infinidad de sensores distintos cuyo estudio detallado
es una ardua tarea y no es la finalidad de este trabajo. En la literatura existen
exhaustivas descripciones de distintos sensores utilizados en un robot mvil, como
por ejemplo [Borenstein 95; Borenstein 97] y [Everett 95]. Lo que se busca aqu es
realizar una clasificacin de los sensores desde el punto de vista de la informacin
que pueden proporcionar al robot y las inferencias que pueden realizarse sobre
ellos, para poder realizar una integracin de los sensores de la forma ms efectiva
posible. Informacin hace referencia tanto a las medidas tomadas como al tipo de
decisin que cada sensor puede realizar.
La clasificacin realizada, en la que se pueden incluir la mayora de los
sensores utilizados en un robot mvil, nos permitir extraer la informacin
necesana para crear un modelo comn de sensor. A partir de la cual se realiza una
integracin ms sencilla y directa de los datos que proporcionan los sensores y
obtener una informacin ms completa que la obtenida con cada sensor
independientemente. Adems, la informacin extrada puede ser realimentada a
stos para que, con las correcciones adecuadas, mejoren sus posteriores
observaciones.
En esta seccin se muestran distintos tipos de sensores utilizados en la
construccin de robots mviles y que pueden incorporarse en nuestro robot.
Nuestra clasificacin consta de dos tipos principales de sensores:

- Sensores de estado, que indican la posicin, velocidad, orientacin del


robot y cualquier otra medida del estado del robot. Estos sensores
permiten localizar al robot a partir de una serie de medidas <relativas o
absolutas) o proporcionan informacin sobre algn estado interno de
inters, pero en ningn momento proporcionan directamente datos sobre
el entorno que le rodea.
- Sensores de entorno: principalmente encargados de la localizacin de
obstculos y de la construccin de mapas. Permiten al robot tener
conciencia de lo que le rodea, interpretar su entorno, esquivar
obstculos y encontrar el mejor camino para conseguir el objetivo
propuesto.

Una clasificacin de los sensores puede verse en la figura 2-1, donde se ha


mostrado un sensor tpico de cada clase como representacin de su grupo.
2
3
Sensores en un robot mvil
2
48 2.2.

.1-- Encoder pticos


Odometricos=
- Incrementales 1 -

~- Potenciometros
3
Sistemas de Navegacion Inercial (Acelermetros)

Posicin (Altmetros)
4
Mecnicos

l.-ESTADO< Orientacin
Girscopos
L Opticos
-3
Absolutos
- Geomagnticos (Brjula magntica)
3
- Activas
{i
Emisores de radio (Loran)
(CPB)
2
- Balizas
[-Naturales (Estrellas)
Inactivas~
[- Artificiales (Marcas)
3
2.- ENTORNO
[- Base de datos (Mapas)

Emision de ondas
4- Sensores de tiempo de eco (Ultrasonidos)
de medida de fase (Laser)
u
{i U de modulacion de frecuencia (1?. Doppler) 2
Vision artificial (Cmaras color o blanco y negro)

Figura 2-1. Clasificacin de os sensores utilizados en un robot mvil.


2
2
2.2.1. Sensores de estado

Los sensores de estado del robot, son aquellos que permiten estimar el
3
estado actual del mvil. En este tipo de sensores se pueden incluir cualquier
estado del funcionamiento del robot. En nuestro caso nos centraremos 2
exclusivamente en sensores de posicin. Por posicin entendemos el estado de
movimiento del vehculo, es decir, sus coordenadas x, y. z, orientacin o cualquier
otra variable de inters que represente el estado del movimiento del mvil como
3
por ejemplo su velocidad, balanceo, etc. En nuestro caso se estimarn nicamente
x, y, y orientacin <al considerar vehculos terrestres no tendremos en cuenta la
2
altura). Por supuesto, no todos los sensores de posicin tienen por qu
2
3
3
Capitulo 2. Modelo sensorial 49

proporcionar informacin sobre todas las variables de posicin. Por ejemplo, una
brjula slo es capaz de tomar medidas sobre la orientacin del mvil.
Estos sensores permiten contestar a una de las preguntas claves en la
navegacin: Dnde estoy? [Borenstein 95]. La localizacin del robot dentro de su
entorno se realiza a partir de las medidas proporcionadas por esta clase de
sensores. Estas medidas pueden clasificarse en medidas de posicin incrementales
o relativas, que necesitan como referencia una posicin anterior del robot e
integraciones sucesivas para estimar la posicin actual, como por ejemplo la
odometra (dead-reckoning) y los sistemas de navegacin inercial (INS); y en
medidas de posicin absolutas, que permiten calcular la posicin actual del robot
con respecto a un cierto sistema de referencia fijo y sin tener en cuenta estados
anteriores. Sensores de este tipo son la brjula magntica, las balizas activas <por
ejemplo, los emisores de radio o el GPS ) o las balizas pasivas, tanto artificiales
como naturales. Las medidas absolutas son ms precisas que las primeras pero
tienen el inconveniente de que dependen de objetos o sistemas externos al robot y
no siempre estn disponibles. As, un buen procedimiento es la utilizacin de
ambos tipos de medidas, utilizando las medidas relativas en ausencia de referencias
absolutas.
Un esquema de estos sensores puede verse en la figura 2-2, donde los
sensores se clasifican en dos grandes grupos:

1.- Sensores de estima directa: son aquellos que no necesitan una


interpretacin del entorno del robot para estimar la posicin. Estos
sensores obtienen las estimas de posicin de forma directa o con un
tratamiento sencillo de los datos. Sus decisiones sobre las estimas sern
duras, indicando nicamente la medida estimada y su error asociado.
Estos pueden clasificarse en autnomos o en dependientes de fuentes
externas.
Los autnomos son aquellos que estiman la posicin del vehculo sin
necesidad de ninguna seal externa. Entre estos cabe destacar los
sensores geomagnticos, odomtricos e inerciales, como por ejemplo
girscopos, acelermetros, brjulas, etc.

Los sensores dependientes de fuentes externas, estiman la posicin del


vehculo a partir de una seal recibida por cierta fuente o fuentes
externas al vehculo. Estas seales externas tpicamente son seales
electromagnticas como seales de radio, luminosas, etc. Estos sensores
3
2
50 2.2. Sensores en un robot mvil

aunque son ms precisos, tienen el inconveniente de que pueden 2


provocar la deteccin del mvil o incluso la manipulacin o destruccin
de la seal de referencia <la fuente emisora) por parte de un enemigo, -3
lo que los hace pocos recomendables en aplicaciones militares en caso
de guerra. Entre estos cabe destacar emisores de radio (radiobalizas),
faros, GPS, etc.
-3
2.- Sensores basados en percepcin de entorno: necesitan observar e
interpretar los datos recibidos del entorno del robot y estiman la
-3
posicin relacionando el vector de caractersticas extrado con otro
almacenado en una base de datos. En este caso sus decisiones suelen
2
ser blandas, ofreciendo mltiples hiptesis sobre la interpretacin de
las medidas observadas. Utilizan balizas naturales o artificiales situadas 2
en el entorno, pero que no emiten ninguna seal, sino que deben ser
localizadas por el sensor, lo que implica la interpretacin del entorno -3
observado. En este apartado se encuentran emisores de ultrasonidos,
vision artificial, sonar, etc. 2
En la figura 2-2 se puede observar esta clasificacin y un ejemplo de
sensor de cada tipo. Con ellos tenemos una amplia representacin de
aquellos que pueden utilizarse para obtener la localizacin del robot
-3
mvil en todo instante. Una descripcin ms extensa de los distintos
que pueden utilizarse en un robot mvil para su localizacin
-3
se puede encontrar en [Everett 95], [Gonzalez 96] o [Borenstein 97].
3

-
r
E. directa Autonoma} Odometra
- j.
Geomgntbos
-
2
2
{
[-GPS
Emisorde radio
SENSORESDE POSICIN F. externa1 Balizasactivas{j
2
-

<rs

- Ultrasonidos
E. basadaen
percepcin
> Balizaspasivas
naturalesMrtificiales -

-
Sonar
Visin 3
- etc.
-3
Figura 2-2 Sensores de posicin
2
.

-3
2
Captulo 2. Modelo sensorial 51

Como ya se ha indicado anteriormente, cada uno de los sensores de posicin


deber realizar un preprocesamiento de las seales que observan. La estima de
posicin por medio de balizas pasivas no es tratada en este momento, sino que ser
estudiada junto con los sensores de entorno, puesto que se utiliza en muchas de las
tcnicas necesanas para deteccin de entorno.

Tipo de sensor Sensor Tipo de Referencia Notas


Informacin

Incremental Odmetro Posicin,


velocidad Local-
Global respecto al robot
ejes inercales Recomendable
peridico, reset
debido a su
INS Orientacin error acumulativo.

De
posicin Altmetro Posicin Local ejes geogrficos

Aconsejable ayuda de
Absoluto De Girscopo Local ejes del robot otros sensores.

orientacin Brjula Orientacin


Magntica Global N. Magntico

Balizas GPS Posicin, Local respecto de la Posibilidad de prdida


activas Emisin de velocidad posicin conocida del de la recepcin de la
ondas Orientacin emisor seal.
Tabla 2.1. Caractersticas de los sensores de posicin

2.2.1.1. Sensores incrementales


Los sensores incrementales, conocidos en la literatura cientfica como Dead
reclconing <derivado de la expresin inglesa deduced reckoning), son aquellos
sensores que calculan la posicin actual de un mvil a partir de una posicin previa
y de la integracin de su velocidad o aceleracin en un cierto intervalo de tiempo.

Entre estos sensores cabe destacar a los odmetros y a los sensores inerciales.
Caractersticas comunes a este tipo de sensores se encuentran recogidas en la tabla
2.1.

Sensores odomtricos
El odmetro es un dispositivo que se incorpora en el propio vehculo y se
encarga de medir el desplazamiento o velocidad de ste. Dependiendo del
mecanismo que utilicen <propio del mtodo fsico aplicado> pueden ser pticos,
magnticos, inductivos o capacitivos, potencimetros, etc.
3
-3
52 2.2. Sensores en un robot mvil 2
En los robots mviles, el sensor odomtrico ms popular es el dmetro
ptico. Bsicamente, su mecanismo es un foco de luz dirigida a un fotodetector 3
que es interrumpido por un disco rotante con un cierto patrn opaco/transparente
a dicha luz. La recepcin o no del haz luminoso debido a la rotacin del disco que
est unido al eje de inters, representa una relacin directa de la rotacin
<velocidad o posicin) de dicho eje.
3
Existen bsicamente dos tipos de encoders pticos: el incremental y el 3
absoluto. El encoder incremental mide la velocidad de rotacin de un eje y por
tailto puede inferir posicin relativa. El encoder absoluto mide directamente
posicin angular y por tanto puede inferir velocidad. Si la inestabilidad en la
-3
informacin de posicin no es tenida en cuenta (se corregir con otros elementos) 2
los encoders incrementales poseen un interfaz ms sencillo y proporcionan una
resolucin equivalente a los absolutos con un coste mucho menor [Everett 95]. 2
Debido a su sencillez y naturaleza digital, estos sensores representan un
sensor de bajo coste y buena inmunidad al ruido, lo que explica su amplia 4
utilizacin en todo tipo de robots mviles y su uso prcticamente obligado. Su
mayor problema es que utiliza el desplazamiento relativo de cada rueda para

encontrar mediante integracin la nueva posicin y orientacin del vehculo, lo que


-3
da lugar a que los pequeos errores aumenten con el tiempo. Otro riesgo
importante es la posible aparicin de errores debido a deslizamiento o patinados de
las ruedas, que pueden ser corregidos con ayuda de otros sensores.
-3
Sensores inerciales
Los sensores inerciales son sensores que se basan en las propiedades 2
inerciales de los cuerpos. Estos son girscopos y acelermetros que suelen
acoplarse en una plataforma de forma que los acelermetros miden la aceleracin
en cada uno de los ejes del vehculo y los girscopos miden la orientacin del
vehculo con respecto a unos ejes inerciales. As, mediante una doble integracin
3
de las medidas de los acelermetros <utilizando la orientacin indicada por los 3
girscopos para su transformacin a coordenadas inerciales) se obtiene la posicin
del mvil sin ninguna ayuda externa. A este procedimiento se le conoce como 2
Sistema de Navegacin Inercial, INS <Inertial Navegation System) [Britting 71].

La gran desventaja del INS es que, debido a la doble integracin de la 3


informacin obtenida de los sensores, los errores en el clculo de la posicin y
velocidad del mvil aumentan enormemente con el tiempo, siendo tpicamente de 2
-3
-3
Captulo 2. Modelo sensorial 53

1 milla nutica por hora. Por ello normalmente sus medidas se integran, mediante
un filtro de Kalman, con otras fuentes externas para conseguir altas precisiones
[Maybeck 79]. Uno de los sensores ms utilizados que mejor se complementa con
el INS es el GPS, que suelen integrarse juntos mediante un filtr de Kalman, un
ejemplo de simulacin de un sistema INS con ayuda de GPS puede encontrarse en
[Lpez-Orozco 95b]. Un ejemplo en un robot mvil terrestre en exteriores puede
encontrarse en [Barshan 95].
La principal dificultad en su utilizacin, es la correcta colocacin sobre el
vehculo para evitar errores, lo que implica diseos muy precisos y diversas pruebas
para deteccin de errores en la ortogonalidad de la disposicin de los elementos
utilizados, lo que se conoce como alineamiento. Tcnicas de alineamiento de
sistemas de navegacin ligados pueden encontrarse en [Aranda 89; Ruiprez 94].

2.2.1.2. Sensores de orientacin


Estos sensores son muy importantes en el posicionamiento de un robot,
puesto que ayudan a compensar uno de los mayores problemas de la odometra: su
error acumulativo. En caso de que el robot tenga alguna pequea desviacin lateral
de su trayectoria, por pequea que sea, al cabo un cierto tiempo ser importante,
ya que al basarse en integraciones iteradas el error crecer muy rpidamente con el
tiempo. Por esto cuanto mejor se conozca la orientacin mejor podremos dar la
posicin del robot y, por tanto, corregirla.
Los tipos ms comunes son los girscopos, basados en propiedades inerciales,
y las brjulas, basados en las propiedades geomagnticas. Este tipo de sensores,
independientemente de su principio fsico o construccin, proporcionan
bsicamente el mismo tipo de datos, vase la tabla 2.1.

Girscopos
Pueden ser clasificados en dos amplias categoras dependiendo del principio
fsico en el que se basan: girscopos mecnicos y girscopos pticos.

Girscopos mecnicos: Son sensores basados en las propiedades inerciales


del 5pm de un cuerno que gira sobre si mismo muy rpidamente, lo que da lugar a
una direccin claramente diferenciada y cualquier fuerza aplicada dar lugar a una
precesin del girscopo alrededor de su eje.
Girscopos pticos: Estos girscopos tiene ninguna o pocas partes mviles,
de modo que son insensibles a efectos gravitatorios y, por tanto, eliminan la
3
3
54 2.2. Sensores en un robot mvil 2
necesidad de crdanes, que es uno de los inconvenientes de los girscopos
mecamcos. El girscopo ptico se basa en patrones de interferencias formados al 2
colisionar dos rayos laser, lo que permite estimar velocidad y orientacin del
vehculo.

Un amplio tratamiento matemtico y una completa descripcin de girscopos 4


mecnicos y pticos utilizados en navegacin inercial, puede encontrars en

[Stieler 82].
-3
Sensores geomagnticos 3
El sensor ms conocido de este tipo es la brjula magntica, que se encarga
de marcar la direccin del flujo del campo magntico terrestre. 2
Este sensor presenta una serie de problemas: la no estabilidad del campo
magntico, debido a fluctuaciones en e tiempo y en el espacio; la diferencia de 3
localizacin de los poos magntico y geogrfico <el magntico est inclinado unos
110) que debe ser corregida; y la dificultad de su uso en interiores, ya que el campo
magntico se ve afectado por lneas elctricas o por estructuras metlicas.
4
Estos inconvenientes aconsejan que su uso sea complementado con medidas 3
de otros sensores, eliminando o reduciendo as las imprecisiones cometidas en el
clculo de la orientacin. Como proporcionan medidas absolutas de orientacin,
nicamente necesita realizar la traslacin de ngulos al sistema de referencia del -3
robot. 2
2.2.1.3. Balizas actiVas
En este apartado se enumeran sensores utilizados para el segimiento o la 2
recepcin de seales de fuentes externas (balizas). Las balizas se clasifican en
activas e inactivas. 3
Se entiende por balizas activas aquellas que emiten alguna clase de seal, ya
sea luz (espectro visible o no>, acstica, etc. Podemos distinguir aqu entre balizas
activas naturales, signos o seales utilizados como orientacin y localizacin pero
no expresamente diseadas para ello, como por ejemplo las estrellas, luces de una
casa, etc.; y las balizas activas artificiales, expresamente construidas por el hombre 2
para utilizarlas como seales de localizacin, por ejemplo transmisores de
ultrasonidos o de radio, GPS, fuentes de luz como faros, etc.
2
La estima de la posicin a partir de ellas no se basa en la interpretacin del
3
entorno, sino en el principio de triangulacin, bien a partir de medidas de ngulos,

-3
3
Captulo 2. Modelo sensorial 55

de distancias o de combinacin de ambas. El nmero mnimo de balizas requeridas


para estimar la posicin depender del tipo de sistema empleado, pero en la
prctica, para minimizar los errores cometidos en la estimacin y las prdidas de
seal, se suelen utilizar un nmero elevado de balizas simultneamente.
Las caractersticas comunes de estos sensores pueden observarse en la tabla
2.1 y entre otros podemos destacar:

GPS
GPS (Global Positioning System) o NAVSTAR <NAVigation Satellite Timing
And Ranging> [Parkinson 83, Bruin 87, Ellowitz 92] es un sistema de localizacin
por satlites que fue desarrollado en 1973 por el Departamento de Defensa de los
Estados Unidos. Como sucesor del sistema de posicionamiento TRANSIT
[Danchik 90], se dise para mejorar algunas de las deficiencias de ste, de forma
que fuese capaz de cubrir no slo las necesidades de navegacin y tiempo de la
poca, sino tambin las necesidades de futuros compromisos militares.
Posteriormente, en 1983, el sistema fue modificado para que pudiera ser utilizado
por cualquier usuario. As surgieron dos servicios: el PPS (Precise Positioning
Service), de muy alta precisin y uso restringido a aplicaciones militares de Estados
Unidos y otras autorizadas; y el SPS (Standard Positioning Service) cuya seal, al
estar degradada debido a la introduccin deliberada de un error en el reloj y en los
mensajes transmitidos por los satlites <SA, Selective Availability), slo permite
precisiones de aproximadamente 100 metros [Leick 90], aunque peden ser
mejorados hasta precisiones del orden de centmetros con el uso de GPS
diferenciales [Snyder 92].

Este sistema tambin proporciona medidas absolutas a partir de la seal


recibida por, al menos, tres satlites. El preprocesamiento en este caso consiste en
la eleccin de los satlites que proporcionen una mayor fiabilidad. Para calcular la
posicin del usuario, se mide la distancia aparente (pseudorango) a tres satlites
dispersos geomtricamente. Por pseudorango se entiende la solucin calculada por
el receptor, que tendr un error debido a la diferencia entre el tiempo real del
sistema GPS y el tiempo supuesto por el equipo del usuario. Un modelo para
clculo del pseudorango puede encontrarse en [Friess 88]. Una muestra del
funcionamiento del sistema GPS como una toolbox de Matlab puede encontrarse
en [Ldpez-Orozco 95a].
2
56 Sensores en un robot mvil 2
2
2.2.

Como podemos ver este tipo de balizas est orientado a la localizacin de


vehculos en entornos externos y vehculos que recorren grandes distancias. 2
Otras balizas
Otros emisores de seales diseados por e hombre para servir como 4
referencia al vehculo dependen del sistema utilizado para su deteccin. As
pueden ser balizas emisoras de ultrasonidos, infrarrojos, seales luminosas, etc. 3
La fiabilidad y precisin de este tipo de sensores depende del tipo de seal
utilizada <infrarrojos, lser, luz visible, etc.) del medio en el que se encuentra el 3
mvil <ms o menos ruidoso a l seal), de la distancia de las balizas al mvil y del
nmero de balizas utilizadas en la triangulacin en cada instante. Aunque es uno 3
de los mtodos de localizacin absoluta ms predisa, tambin tiene ciertos
inconvenientes como el situar las balizasen lugares determinados de forna que se
puedan observar simultneamente el mayor nihero posible en todo momento, o 3
evitar zonas con ruido o contaminacin acstica, electromagntica, etc.

Estos inconvenientes implican que estas tcnicas no sean utilizadas en 2


entornos que varen constantemente o en entornos no estructurados. 3
2.2.2. Sensores de entorno

Estos sensores proporcionan datos relativos sobre el entorno del robot. Estos 2
datos pueden ser utilizados de dos formas distintas: para la localizacin del mvil o

para la deteccin de obstculos o la construccin de mapas.


3
En el caso de utilizarlos para localizacin del mvil, la informacin

proporcionada por el sensor es contrastada con una base de datos o uh mapa del
2
inundo incorporado en el robot para, por medio una simple comparacin
<matching), estimar la posicin del robot en el entorno. Estos sensores se 3
denominan balizas inactivas y balizas activas naturales.
-3
2
2
3
-3
43
Captulo 2. Modelo sensorial 57

linformacin grfica: Mapas


- Base de datos~ Vectores de caractersticas

ultrasonidos
2.- MAPAS Y OBSTACULOS. Emisionde ondas- - laser
sonar, etc.
- Vision artificial

Figura 2-3. Sensores de entorno.

Otra utilizacin de estos sensores es para la construccin de un mapa <en


caso de que no existiese ninguno almacenado en el robot) o para completar uno
existente <indicando obstculos que no aparecan en el plano inicial), y a partir de
l planificar un conjunto de acciones que le lleven a la consecucin de su objetivo
final o trazar un camino seguro que le lleve al destino deseado. En este caso, los
sensores suelen utilizarse principalmente para evitar cualquier obstculo que
pueda aparecer en el camino del robot.

S ensor Tipo de Referencia Medidas Notas


Informacin

Base de Mapas - Mapas de bits Global ejes del Tratamiento de los


Fichas - Vector de
datos etc. caractersticas laboratorio Absolutas datos almacenados

Ultrasonidos Precisin lineal con


Emisor de Badar-laser - Distancia a Local ejes del la distancia.
ondas objetos robot Absolutas Numerosas fuentes
Sonar, etc. externas de error.
Grandes
1 cmara - Distancia a

Visin objetos Local ejes del necesidades de


2 cmaras caractersticas
- Vector de robot Absolutas clculo
procesoy tiempo de

Tabla 2-2. Caractersticas de los sensores de localizacin y construccin de mapas

Podemos distinguir, como puede verse en la figura 2-3 y en la tabla 2-2,


varias clases de sensores que se describen con ms detalle a continuacin.

2.2.2.1. Base de datos


Cualquier informacin del entorno que est almacenada o disponible para el
robot se tratar por extensin como un sensor. Este sensor estar dotado de un
3
58 2.2. Sensores en un robot mvil 22
sistema de recuperacin de la informacin almacenada y de un mtodo para e
tratamiento de sta que puede ser desde una simple transformacin de 2
coordenadas a un complejo anlisis inteligente de la base de datos en cuestin
[Fayyad 96]. 2
Las bases de datos son utilizadas principalmente como dos fuentes de
conocimiento: 3
- Conocimiento a priori del entorno del robot. En este caso se
conecta al sistema de fusin de entorno para actualizar e
-3
-
conocimiento sobre la informacin percibida.
Referencia en sistemas de localizacin. En este caso se utiliza como 3
referencia para los sensores de balizas naturales o artificiales. Estas
bases pueden conectarse directamente al sistema sensorial de las
balizas como conocimiento de la referencia o al sistema de fusin de
entorno y que el sensor de baliza pida a ste la informacin que
2
necesita. 3
2.2.2.2 Emisores de ondas 3
La mayora de los sensores utilizados para construir un mapa o detectar
obstculos miden distancias. Podemos distinguir tres formas diferentes de medir

distancias segn el tipo de onda emitida y su tratamiento:


2
1.- Sensores de tiempo de melo. Sensores que obtienen la distancia a
2
un objeto midiendo el tiempo que una onda emitida tarda en viajar al
objeto y volver reflejada al receptor. Son los ms utilizados. 2
2.- Sensores de desfase de onda. Sensores que miden el desfase entre
una onda continua emitida y la posteriormente recibida. 2
3.- Sensores de modulacin de frecuencia. Sensores basados en el radar
de frecuencia modulada <FM). Calculan la distancia del objeto

directamente a partir de la diferencia de frecuencias entre la onda


2
emitida y la reflejada.

Estos sensores suelen utilizar sonidos, ultrasonidos, laser o fuentes pticas.


2
Un parmetro importante que diferencia estos mtodos es la velocidad de los
pulsos de energa emitidos (para el sonido aproximadamente 0.3 m/ms y para la luz
0.3 m/ns) que da lugar a la resolucin y alcance propios de cada sensor.
22

3
2
Captulo 2. Modelo sensorial 59

A diferencia de los pulsos de corta duracin emitidos por los sensores de


tiempo de vuelo, los sensores de medida de desfase y de m9dulacin de frecuencia
emiten ondas continuas y permiten la obtencin de la direccin y velocidad de los
objetos observados.
Una d las ventajas de estos sistemas se debe a la propia naturaleza de las
seales utilizadas: la distancia absoluta a un objeto est directamente disponible sin
necesidad de anlisis complicados y sin necesidad de tener en cuenta propiedades
ni orientaciones de la superficie destino. Adems estos sensores mantienen una
precisin en la distancia de modo lineal siempre que pueda obtenerse el eco
mientras que en la triangulacin la precisin disminuye a medida que la distancia
al destino aumenta.
A pesar de sus ventajas, existen varias fuentes potenciales de error:

La velocidad de propagacin. En sistemas basados en ondas acsticas,


como el sonar o ultrasonidos, la velocidad del sonido se ve claramente
afectada por cambios en la temperatura y, en menor medida, por la
humedad, por lo que estos errores deben ser tenidos en cuenta y
corregidos.
Incertidumbres en la deteccin de las ondas. Se debe a variaciones en
rango de la energa de la seal recibida debido a variaciones de reflectividad
en el superficie del destino. As, en el caso de deteccin por umbral fijo
podra provocar que objetos muy reflectantes pareciesen ms cercanos.

Consideraciones temporales. Debido a la diferencia de velocidad entre la


luz y el sonido, al comparar ambos sistemas se puede ver que los primeros
requieren una circuitera muy compleja debido a los requerimiento de
respuestas muy rpidas, por lo que son claramente ms caros aunque tienen
una mayor precisin. Adems, debido a limitaciones fsicas estos sensores
presentan zonas muertas que deben ser tenidas en cuenta.

Interaccin con la superficie. Cuando las ondas golpean un objeto,


cualquier eco detectado representar una porcin muy pequea de la onda
original. La energa restante se refleja o puede absorberse por el objeto
dependiendo de las caractersticas de la superficie y del ngulo de
incidencia del rayo. As, en lugar de no recibir ninguna seal se recibirn
distintos rayos, especialmente en el uso de ultrasonidos. Adems si la fuente
de transmisin se encuentra en un ngulo o excede de un valor crtico, la
3
60 2.2. Serisores en un robot mvil 22
energa reflejada puede quedar fuera del umbral del receptor. Por ltimo,
las seales difundidas en todas direcciones pueden reflejarse en ms de un

objeto, devolviendo al receptor varias seales falsas o ruidos. Para


2
compensar estos errores las medidas se realizan repetidamente y se
promedian, llegando a niveles de ruido aceptables pero a expensas de un
cierto tiempo adicional.
3
Todos estos errores deben ser compensados en el preprocesamiento del 2
correspondiente. En caso de que no puedan ser compensados se deber
2
tener en cuenta en la incertidumbre de la medida obtenida.
2.2.2 3 Visin artificial 2
La visin artificial tiene como finalidad la reproduccin artificial del sentido
de la vista [Maraval 93] <para ello engloba distintos subsistemas informticos). Los

sistemas de visin suelen utilizar una cmara o dos. El uso de una nica cmara
2
est restringido a menudo a la bsqueda de balizas (naturales o artificiales) y al
reconocimiento de patrones para la localizacin del mvil. La aplicacin de dos
cmaras lleva a la visin estereoscpica que permite calcular la distancia de los
2
objetos observados y por tanto la construccin de mapas. 3
Las operaciones bsicas en un sensor de visin son: la adquisicin de

imgenes (digitalizar una seal continua de vdeo); el prprocesamiento


<conversin de los niveles de gris, transformaciones geomtricas, transformacin
2
del histograma y filtrados espacial y frecuencial>; y al anlisis automtico de 2
imgenes (segmentacin, extraccin de caractersticas y clasificacin).

2
Es el tratamiento de la seal de vdeo para resaltar los objetos buscados o
3
para destacar formas o caractersticas ocultas. Las operaciones ms comunes son,
- Conversin de los niveles de gris, que se basa en una transformacin 3
de los niveles de gris de la imagen para facilitar su tratamiento.

- Transformaciones geomtricas, como la correccin de la perspectiva y 2


la reconstruccin tridimensional de los objetos de una escena.

- Transformacin del histograma, manipulacin del histograma de la 2


imagen. Permite aumentar/disminuir el contraste de la imagen
permitiendo, en ciertas ocasiones, distinguir mejor diversos objetos. 3
-3
3
Captulo 2. Modelo sensorial 61

- Filtrado espacial y frecuencial, se utiliza para la extraccin de bordes,


aunque suelen se una operacin terriblemente costosa en tiempo y
memoria del computador.

Anlisis automtico de imgenes:


Una vez realizado el prepocesamiento de la imagen se debe proceder a su
anlisis. Corresponde a las etapas de anlisis automtico de una escena digital, y
son: segmentacin de la escena, extraccin de las caractersticas de los objetos y
reconocimiento de stos.

- Segmentacin: Se define como el proceso dirigido a dividir la imagen


digital en zonas disjuntas con significado propio. Este significado
depender de la imagen, as como de los objetos que se localicen para
su interpretacin. Existen dos tipos de segmentaciones: de regiones o
zonas y de objetos. La operacin es la misma, lo que las distingue es lo
que se desea segmentar.
Las tcnicas de segmentacin, independientemente de a qu estn
orientadas, se pueden dividir en tres grupos:

(1) Aplicacin de umbrales de nivel de gris; basado en el empleo


del histograma. Consiste en distinguir objetos distintos dentro
de una escena a partir de sus diferentes niveles de gris.
<2) Agrupacin por rasgos comunes; utilizada comnmente en el
reconocimiento de formas.

<3) Extraccin de bordes; la mayor cantidad de informacin de un


objeto se encuentra en sus bordes, de modo que la mayora de
los objetos pueden reconocerse a partir de su forma.

- Extraccin de caractersticas propias: Cada objeto tiene una serie de


parmetros caractersticos como permetro, grado de circularidad,
momentos de orden n, etc. Estos rasgos permiten distinguir al objeto
de otros de la misma escena.
- Reconocimiento de objetos: Corresponde con la clasificacin de los
objetos detectados. Existen multitud de tcnicas para reconocimiento
de objetos desde clsicas, basadas en discriminantes como medidas de
distancias, contrastes de hiptesis, etc.; o heursticas como redes
neuronales, lgica borrosa, etc.
2
2
62 2.3. Informacin sensorial en un robot mvil 2
2.3. Informacin sensorial en un robot mvil
A partir de la revisin de los distintos tipos de sensores que pueden utilizarse 2
en un robot mvil y que pueden emplearse en nuestro sistema sensorial, se
infieren dos tipos de informaciones claramente diferenciadas que es necesario 2
fusionar: informacin de estado e informacin de entorno. Ambas informaciones
sern tratadas por mdulos de fusin distintos. Uno de estos mdulos se encargar
2
de realizar la integracin de medidas numricas correspondientes al estado del
mvil <estima de la mejor posicin, velocidad, orientacin, etc.); y el otro mdulo 2
de fusin debe ocuparse de la integracin de las estimas obtenidas a partir de las
medidas del entorno.
A partir de los datos del entorno tambin podra derivarse informacin sobre 2
la posicin del mvil (comparando lo percibido con una base de datos de balizas o
con un mapa del entorno). Esto implica dejar abierta la posibilidad de interaccin 2
entre ambos, aunque este tipo de funcionamiento sera por peticin desde el
sistema de fusin de estado (encargado de la estima de posicin) al sistema de 3
fusin de entorno. Veamos, antes de realizar el sistema de fusin qu tipo de datos
vamos a integrar y qu informacin adicional es necesana. 2
Posicin Velocidad Orientacin Ocupacin de

celdas
Tipo

de objetos
2
INS

Odmetro
Acelermetros

(INS)
Torreta de

ultrasonidos
2-visin

Torreta de
1-2 visin

Mapa
2
CPS
Mapa/Balizas
1-2 visin

Odmetro
Girscopos

(INS>
ultra-sonidos
Ultrasonidos 2
2
pasivas y visin. GPS Brjula Lser

Balizas activas Ultrasonidos Mapa

Tabla 2-3. Datos ofrecidos por distintos sensores.


Por 1-2 visin se entiende la visin con una nica cmara (1 visin) y la visin con dos
2
cmaras o visin estereoscpica ( 2 visin), cuyas posibilidades son muy diferentes.

2
2.3.1. Datos proporcionados por los sensores
2
Entre la gran variedad de datos que pueden ofrecer los sensores, los ms
representativos pueden encontrarse en la tabla 2-3, nos ocuparemos 2
2
2
Captulo 2. Modelo sensorial 63

principalmente de medidas de posicin y de caractersticas del entorno. Los datos


mostrados en la tabla 2-3 corresponden a las dos categoras indicadas en la seccin
anterior. El sistema de fusin diseado a continuacin tiene como finalidad
integrar informacin de cada uno de estos tipos de sensores.

La informacin que es necesaria extraer de cada uno de los sensores


disponibles y que puede integrarse en una estima comn en nuestro sistema de
fusin puede agruparse en dos grandes grupos, vase en la figura 2-4:

a) Datos de LOCALIZACIN. Indican la posicin, velocidad y orientacin


del mvil. Junto con la informacin de la posicin del mvil estimada por
cada sensor es necesario indicar el error cometido en la estimacin
debido a la precisin de la medida, al modelo del sistema, a los ruidos del
entorno, etc.
b) Datos de ENTORNO. Indican la ocupacin del espacio que rodea al
mvil. La ocupacin se da en funcin del enrejado o divisiones que se
han hecho del espacio visible. Esta ocupacin se indica junto con un
grado de certeza (probabilidad de ocupado). Adems, segn el tipo de
sensor utilizado, puede ofrecer informacin sobre el tipo del objeto que
observa (siempre que se conozca> mediante un cdigo. Como
complemento al tipo de objeto se indica la distancia a la que se
encuentra y el error cometido en esa estimacion.

> Datos de LOCALIZACIN:


-Posicin, velocidad y orientacin
Error de estimacin
Datos de ENTORNO:
Ocupacin del espacio
-

Probabilidad de certeza
Tipo de objeto detectado
-

Distancia (posicin) + Error de estimacin


Probabilidad de certeza
Figura 2-4. Informacin de los sensores que se integra.
2
2
64 2.3. Informacin sensorial en un robot mvil 2
2.3.2. Funciones para utilizacin de los sensores

Adems de definir el tipo y estructura de los datos que va a manejar el sensor 2


del robot, es necesario definir una serie de funciones para utilizar dichos sensores.

Funciones de mantenimiento: 2
Son funciones ms propias de la configuracin inicial del sistema que del
momento de la navegacin. Aun as, estas funciones pueden utilizarse, y algunas se 2
utilizan, en la navegacin propiamente dicha. No manipulan los datos ofrecidos por

los sensores, sino su disposicin, existencia, sincronizacin, etc.


2
- Creacn/adiccin de un sensor del sistema. 2
Corresponde a la modificacin soflxvare de un archivo de definicin de
sensores, es decir, dar de alta a un sensor. Esto se realiza en la definicin del 2
sistema sensorial y tiene vigencia hasta que se modifique nuevamente. Cuando se
habla de adicin nos referimos a que el tipo de sensor ya existe y nicamente es 2
necesario indicar la existencia de otro sensor del mismo tipo. Pero si ese sensor es
la primera vez que se utilizar en el sistema, estamos hablando de creacin y en
este caso, adems de lo anterior, se debe introducir toda la informacin necesaria 2
para su uso, como por ejemplo el modelo <fsico y de probabilidades) del sensor, el
tipo, etc. 2
- Eliminacin/anulacin de un .sensor del sistema. 2
La anulacin y la eliminacin de un sensor tienen el mismo efecto: la no
utilizacin de los datos generados por ese sensor <si es que existen). La anulacin 2
equivale a la adicin, es la orden dada al sistema de ignorar los datos producidos
por ese sensor (esta anulacin puede ser temporal y dinmica, al igual que la
________

adicin). La eliminacin se realiza en la iicializacin y es la no utilizacin de un


2
sensor durante todo el proceso de navegacin. En este caso equivale a la
eliminacin fsica del sensor, sea real o no esta eliminacin. 2
- Sincronismo del sensor (Tiempo). 2
Corresponde a la peticin de tiempo por parte de cada sensor. Con esta
funcin se puede calcular e tiempo transcurrido, con referencia a un reloj 2
universal, es decir, comn a todos los procesadores que utilizan los sensores. Con
esto nos aseguramos la utilizacin de una misma referencia temporal sea cual sea el 2
-3
2
Captulo 2. Modelo sensorial 65

lugar donde se usa cada sensor. Recordemos que los sensores son tratados como
sistemas distribuidos donde es importante que todos tengan una misma referencia
de tiempo.

Funciones de peticin de informacion:


Son las funciones que tratan propiamente con la informacin obtenida por el
sensor. Ya sea con los datos medidos directamente o con la estima del estado o de
su entorno en la configuracin escogida. Estas funciones son menos generales que

las primeras y normalmente son propias de cada sensor utilizado.

Solicitud/Modificacin del estado del sensor (funcionamiento, tiempo,


- ...)

Es la peticin, al propio sensor, de su estado. En este caso se pide que


indique todos aquellos datos necesarios para conocer su funcionamiento, como son
su tiempo en el momento de la peticin, nivel de funcionamiento, etc. O tambin
se le pueden dar rdenes para modificar su funcionamiento, orientacin, etc.

- Solicitud de Informacin de estado


El sensor al recibir esta peticin, proporciona a su solicitante la estima de las
variables de estado en consideracin y que es capaz de calcular y su covarianza de
error. Un caso tpico en robots mviles es ofrecerla estima de la posicin actual del
robot junto con el instante de tiempo de la obtencin de dicha posicin. Esta
posicin ir adems acompaada por el error que se cree cometido en esa estima.
Si el sensor puede proporcionar datos de velocidad o de orientacin, los ofrecer al
igual que los de posicin, siendo el tiempo comn para todos.

- Solicitud de Entorno
El sensor al recibir esta peticin, proporciona datos sobre la ocupacin de las
celdas que han cambiado significativamente desde su ltima actualizacin; tambin
proporciona la distancia y tipo de objetos reconocidos recientemente o que han
modificado su tipo. Todos estos datos deben ir acompaados de su
correspondiente tiempo y probabilidad de certeza.
2
66 2.4. Sensor general propuesto 22
24. Sensor general propuesto
Para construir un sistema de fusin verstil, capaz de fusionar medidas de 2
sensores tan dispares es necesario encontrar un mtodo que permita al sistema de
fusin la abstraccin de los sensores utilizados. De esta forma se permite que el 2
sistema sea portable, que pueda sustituir o aadir ms sensores de forma sencilla y
que sea adaptable a distintos tipos de sensores. Por tanto, la idea bsica es definir

un tipo, o en su defecto varios tipos abstractos, de sensor.


2
2.4.1. Sensor lgico 2
La primera propuesta de abstraccin y generalizacin del funcionamiento de 2
un sensor fue dada por Henderson y Shilcrat [Henderson 84a]. A esta abstraccin
se la denomina sensores lgicos. Un sensor lgico contiene tanto una descripcin
del sensor como los procedimientos para controlarlo, y representa una definicin
abstracta de un sensor para proporcionar un marco de trabajo uniforme sobre el
2
que realizar la integracin multisensorial. Esto es, separa los detalles del sensor 2
fsico del sistema de fusin de manera similar a lo que ocurre con un tipo abstracto
de datos que separa los detalles algortmicos de la aplicacin que los utiliza. 3
Un ejemplo que muestra la utilizacin de sen~ores lgicos y su utilizacin en
un sistema de integracin multisensorial puede encontrarse en [Henderson 84b], 2
donde se define el MKS (Mulusensor Kernel System). Este sistma de integracin
multisensorial utiliza vectores de caractersticas obtenidos por dos sensores de bajo 2
nivel (cmaras para visin estereoscpica y un escaner laser) en una estructura
tridimensional denominada grafo de proximidad spacial. El sistema es capaz d
integrar y analizar datos de diferentes sensores, aunque slo utiliza sensores de 2
reconocimiento de entorno y no realiza un tratamiento de los errores en la
deteccin de datos. Otro ejemplo de sistema robtico que utiliza sensores lgicos
es el brazo manipulador de [Zeng 89]. En l se desarrolla un mtodo sistemtico
2
para realizar integracin multisensorial y se define una estructura jerrquica por 2
capas para el control de movimiento del robot y todos los sensores lgicos y
procesos de control son tratados como mdulos objeto bon paso de mensajes entre 2
Una extensin de los sensores lgicos son los comportamientos lgicos 2
[Henderson 90]. Estos sirven como marco uniforme para la integracin
multisensorial, incrementando la portabilidad de los sistemas de control del robot. 3
Para ello se definen sensores y actuadores lgicos de forma que las tareas

2
2
Captulo 2. Modelo sensorial 67

elementales del robot se describen como comportamientos lgicos que se


componen de sensores y actuadores lgicos.

2.4.2. Desarrollo orientado a objetos del sensor lgico

Una de las caractersticas de un sistema orientado a objetos es que tiende a


expresarse en trminos del problema tratado y representa una maquina virtual que
organiza nuestra abstraccin de las entidades clave del problema. Utilizando esta
metodologa, cambiar los detalles del hardware del sistema slo afecta a nuestra
abstraccin de las capas ms bajas del sistema.
Nuestro sensor lgico, al igual que el sistema de fusin que se va a disear, se
basa en el paradigma orientado a objetos. Los primeros ejemplos de utilizacin del
paradigma orientado a objetos aplicado a los sensores lgicos pueden encontrarse
en [Henderson 87; Men 87]. Otra aproximacin a la utilizacin de objetos como
sensores lgicos se encuentra tambin en [Zeng 89]. Un ejemplo actual de una
definicin orientada a objetos de sensores y actuadores <el LSA, Logical Sensor
Actuator) puede encontrarse en [Budenske 97].
El diseo orientado a objetos de nuestro sistema utiliza la notacin de Booch
[Booch 94]. Esta metodologa de diseo presenta una notacin unificada que
engloba y, en la medida de lo posible, elimina las diferencias estticas con otras
notaciones como la de Jacobson o la OMT (Object Modeling Technique) de
Rumbaugh [Rumbaugh 91]. En los ltimos aos, como consecuencia de la
necesidad de unificacin de las diversas notaciones existentes (Booch, Rumbaugh y
Jacobson) ha surgido la metodologa UML (Unified Modeling Language) [Douglass
98], enfocada a dar unas directivas generales al anlisis y al diseo orientado a
objetos. Sin embargo, se ha preferido utilizar la notacin de Booch ya que, como
una notacin clsica, se encuentra muy extendida y el anlisis y diseo orientado a
objetos con ella ser mucho ms familiar a cualquier diseador.
A partir de los conocimientos adqniridos en las secciones precedentes y
utilizando los beneficios que ofrece la metodologa orientada a objetos, es posible
disear un sistema sensorial y un sistema de fusin de forma general y verstil. Los
beneficios buscados de la definicin de nuestro sensor lgico mediante el
paradigma orientado a objetos son:

Abstraer los detalles de funcionamiento y los detalles del sensor fsico


del sistema de control de alto nivel.
2
2
68 2.4. Sensor general propuesto 2
Permitir una reconfiguracin ms fcil del sistema sensorial.

Proporcionar una mayor tolerancia a los fallos del sensor. 2


Capacitar la adicin y supresin de sensores de forma sencilla.
Inducir al desarrollo incremental o por capas del sistema sensorial.. 2
> 2
SensorLogico
_______________________________________________

A
~dato
4Vectinfo() 1

2
~EstadoFuncin(>/

- -


2
1
1 __
Timer SensorBajo j 2
2
<
7
tsetTmer() tLe Nivel
erdatoQ)

Figura 2-5. Clase abstracta SensorLgico. 2


El sensor lgico se representa como una clase abstracta, figura 2-5, cuyas 2
funciones se encargan del mantenimiento del sistema sensorial, de la adquisicin
de informacin y de la comunicacin con el sistema de fusin. Por tanto, la clase

abstracta SensorLgico proporciona:


2
-Interfaz con el sensor utilizado. Se encarga de recibir de <o pedir,

segn su funcionamiento) la clase SensorBajoNivel la informacin


2
correspondiente a los datos observados por cada sensor fsico

<funcin leer dato Q).


2
-Interfaz con el sistema de fusin. Transmite los datos de cada
sensor al sistema de fusin en el formato necesario para su correcta 2
interpretacin y fusin <funcin Vectjnfo()). Tambin puede
recibir informacin procedente del sistema de fusin dirigida al 2
sensor.
- Interprete de rdenes. Se encarga de traducir las rdenes o 2
peticiones de informacin del sistema de fusin a los sensores
lgicos correspondientes. Estas pueden ser rdenes de J

2
Captulo 2. Modelo sensorial 69

mantenimiento como la creacin, adicin, eliminacin o anulacin


de un sensor; o las encargadas de configurar su funcionamiento,
como son el periodo de muestreo requerido, centrar la atencin en
zonas determinadas, buscar informacin concreta, etc. Estas
rdenes pueden traducirse en un funcionamiento distinto del
sensor de bajo nivel <funcin EstadoFuncinO).

- Sincronismo. Utiliza un temporizador para sincronismo, adquisicin


del tiempo actual, pedir informacin a los sensores peridicamente,
etc. Para ello usa los servicios de una clase Timer (setTimerO).

Como se puede deducir de la revisin de los distintos tipos de sensores


utilizados en un robot mvil mostrada en secciones anteriores, podemos distinguir
entre dos tipos de informaciones claramente diferenciadas, como son la de
localizacin y la de entorno. Esto nos lleva a definir dos clases principales de sensor
a partir de la clase abstracta sensor lgico: la clase sensor de entorno (SenEntorno)
y la clase sensor de estado (SenEstado), mostradas en la figura 2-6.

- Sensor de entorno: Hereda las propiedades y funciones de un sensor


lgico, pero adems usa los servicios de un sensor de bajo nivel que
se encarga de utilizar el sensor fsico, procesa la informacin de
entorno recibida y ofrece su estima al sistema de fusin de entorno.
La informacin enviada al sistema de fusin consiste en un vector de
caractersticas con su probabilidad de estima <la funcin
VectEntornoQ, redefinicin de la funcin virtual Vect_infoO>. Este
vector es obtenido a partir de la correspondencia realizada entre los
datos obtenidos por la clase SensorBajoNivel y la base de
caractersticas que posee.

- Sensor de estado: Se encarga de medir las variables


correspondientes al estado del robot <posicin, velocidad,
orientacin, etc.). Al igual que el sensor de entorno, hereda las
funciones del sensor lgico y utiliza los servicios de un sensor de
bajo nivel. Pero el sensor de bajo nivel se centra en medir variables
cuyo preprocesamiento es mucho menor que en el sensor de
entorno. Este sensor no necesita una base de conocimiento, pero si
requiere el modelo del sistema y el modelo del entorno. Con l
puede predecir o estimar el estado del mvil (VectEstado<>) a partir
de las medidas tomadas.
3
2
70
2
2.4. Sensor general propuesto

Robot
%4odcranc(>
2
Nc pertenece el
sistema de fusin


Mapa
Ieerinfc(
%ctualiza


-,BaseEntorno

toorinfo(>

aciualizar(
1
2
2
-ocr

~-->1
FusinBro mo
BaseEntorno
infoFusirr(
Operacion( 1 FusinEstado
o: Modelo
tinfoFusin( 1
Opereoion(
-3

Ocr

-. SensorLogico

Vectnfo(
Estadourtcion
5,
2
SenEntorno

3
O..n
o Baseeeracteristices
VectEntomo<) - SenEstado
Modelo 1
4VectEatado<
o:

~~1.--~~ 2
tVelida< 1 _ _
Timar Sensor BaioNivel
setTimer< 1 1 leerdato< 1

Sdeto
Base
Caraclerislicas EvalEstado< 1

2
IeerMatrizl(>
teednfoo,

Figura 2-6. Diagrama de clases.


2
Como puede verse en la figura 2-6, la informacin de cada una de las clases
de sensor ser tratada por un mdulo de fusin distinto (podra utilizarse una nica 2
clase de fusin, pero es m~ natural la divisin del sistema de fusin en dos
mdulos diferenciados). As, el robot dispone de dos mecanismos de fusin de
datos dependiendo de si desea informacin sobre el estado del robot o sobre el
3
entorno donde se encuentra y permite la actualizacin de la informacin de cada
tipo con velocidades distintas. Los algoritmos de fusin utilizados en cada uno de
2
los mtodos sern estudiados en captulos posteriores, pero brevemente son:

1.- Sistema de fusin de medidas de estado (clase FusinEstado):


2 se

encarga de realizar la integracin de las medidas numricas


correspondientes al estado del mvil (estima de mejor posicin, 2
velocidad, etc.). Las variables de inters se agruparn en un vector
de estado y la integracin de los vectores de estado estimados por 2
cada uno de los sensores se integrarn en una estima mejor
mediante un filtro de Kalman, como se ver en el Capitulo 3. 2
2
-3
Capitulo 2. Modelo sensorial 71

2.- Sistema de fusin de medidas de entorno <clase FusinEntorno): se

ocupa de la integracin de las medidas procedente de los sensores


que perciben del entorno que rodea al robot. Los objetos detectados
o reconocidos por cada uno de los sensores se integran en una sola
estima mediante una red de Bayes. El procedimiento para ello se
estudia en detalle en el Capitulo 4.

2.4.3. Caso de utilizacin (escenario)

A continuacin se muestra un sencillo ejemplo con dos sensores de entorno y


dos de estado. Este ejemplo muestra la interaccin entre el sistema de fusin y el
sistema sensorial, haciendo hincapi en los sensores lgicos definidos.

Un diagrama de los objetos que componen el sistema de ejemplo puede


verse en la figura 2-7. En este diagrama, por simplicidad, slo se muestran los
objetos necesarios para entender el mecanismo de fusin, es decir, aquellos que
influyen directamente en el funcionamiento global del sistema. Como se puede ver
se han ocultado todos los objetos que se encuentran contenidos en otros, stos son:
la clase Modelo, la clase BaseCaractersticas y la clase haseEntorno. Se
sobreentiende que se estn utilizado normalmente, pero no se indica su uso
explcitamente para que el funcionamiento global pueda seguirse sin dificultad.
Tambin se han indicado nicamente el inicio de los mensajes que establecen un
canal de comunicacion o peticin de una tarea entre clases, pero no se muestra
ni la informacin devuelta ni los mensajes entre objetos para cada una de las
medidas tomadas por los sensores (al ser repetidos), sino que se supone que se
realizan las operaciones indicadas para cada lectura de los sensores.
El funcionamiento general de los sensores y del sistema de fusin es el
siguiente:
El robot indica al sistema de fusin que necesita informacin de
entorno y de posicin (estado). Puede indicar que sea peridica o
por peticin.
El sistema de fusin tiene dos objetos que, cuando adquieren nueva
informacin o es requerida por el robot segn su funcionamiento,
envan el dato fusionado al robot (fEstPos yfEntMapa). El sistema
de fusin lo componen como mnimo, estos dos objetos y otro ms
por cada sensor lgico utilizado.
2
72 2.4. Sensor general propuesto 2
Cada nodo de fusin pide datos a su correspondiente sensor lgico y
2
cuando los reciben, los tratan para obtener una estima mejor. El
mtodo de fusin es diferente segn sean datos de estado o de
2
entorno. 3
Si es un objeto de fusin de estado, primero se realiza una estima
local <que enva a los dems nodos de fusin) y a continuacin
mejora esta estima con las estimas recibidas procedentes de otros
nodos de fusin. Una vez tiene la estima mejorada la enva al objeto
2
de fusin superior para que se la ofrezca, si procede, al robot. 3
En los objetos de fusin de entorno, la prediccin local se realiza a
partir de la informacin recibida del sensor lgico y de la base de
entorno (similar a una memoria o base de conocimiento) que posee.
2
Una vez realizada la estima final, la comunica a los nodos de fusin 2
para que la utilicen para mejorar su propio conocimiento del
entorno. El objeto superior posee una base de entorno donde 2
almacena todo el conocimiento obtenido a partir de las estimas de
todos los nodos de fusin de entorno. Este conocimiento es enviado

al robot cuando lo solicita.


2
Como complemento al diagrama de clases puede observarse su
3
correspondiente diagrama de traza de mensajes, figura 2-8, donde pueden verse los
mensajes enviados entie cada objeto y su funcionamiento paralelo en el sistema. 2
3
3
2
2
2
2
2
3
Captulo 2. Modelo sensorial 73
o
4>
Ce
o
5-
o
o
o.
E
4>
4>
4>
o,
o
o.>
o
o
o
o)
~1
o->
o,
4>
it
o
E-.
2
74 2.5. Resultach$s del capitulo 2
a
-3
a
E
3
2
1
EE E
E

2
-2
E
-w
a
E-
E 2
1~1 22
E
2

<E I~.os E
E
<E
2
o,

(E
CC

2
o -3
-t
-s
o-
he AS---
E

4~

E
e.
2
2
C

lo

3
e
3
o.
a
3
-c - - - -

3
-3
-3
Capitulo 2. Modelo sensorial 75

2.5. Resultados del captulo


En este captulo se han mostrado los sensores utilizados comnmente en un
robot mvil terrestre. Se ha hecho hincapi en el tipo de informacin que pueden
ofrecer, clasificndola en dos tipos principales: de estado y de entorno. A partir de
esta clasificacin se ha diseado, utilizando el paradigma de la metodologa
orientada a objetos, un sensor lgico que engloba las propiedades comunes de
estos sensores. Finalmente, utilizando este sensor lgico, se ha diseado la
estructura de un sistema de fusin que permite fusionar la informacin procedente
de los distintos sensores del robot.
La estructura del sistema diseado permite que sea independiente del
nmero de sensores utilizados y que stos puedan trabajar en paralelo y en una
arquitectura distribuida. Los algoritmos de fusin necesarios para conseguir las
especificaciones indicadas en este captulo sern desarrollados en los captulos
siguientes.
76 2.5. Resultados del captulo

-3
2
2

2
2
2
2
3
2
3
3
3
3
-3
-3
3
Captulo 3

Fusin multisensorial de medidas de


posicin
En este Captulo se desarrolla un mtodo de fusin distribuido,
asncrono y robusto de vectores de estado. En concreto se esbdia la
fusin de medidas de posicin procedentes de uno o varios sensores.
Inicialmente se presenta una breve descripcin de los algoritmos
de fusin existentes que nos conduce a la descripcin del algoritmo
utilizado: el filtro de Kalman. Se utiliza un filtro extendido distribuido
que se basa en el filtro de Kalman distribuido diseado por Rao, pero al
que se le han realizado dos importantes modificaciones: (1) mejora del.
mtodo de validacin externa para adaptarlo a cualquier sensor y (2)
adaptacin del filtro para su funcionamiento asncrono.

Adems se ha hecho hincapi en su funcionamiento distribuido y


robusto, mostrando que el sistema puede funcionar y evolucionar
correctamente aunque se produzca un fallo en alguno de los sensores
disponibles. Para ello se supone un robot mvil con tres
tpicos (odmetro, brjula magntica y captadores de balizas
artificiales). Con este ejemplo, representativo de cualquier robot, se
realizan distintas simulaciones para poner de manifiesto el
funcionamiento y la eficacia de los algoritmos desarrollados frente a
diversas situaciones. Por ejemplo ante el fallo en la adquisicin de
medidas o errores en la comunicacin e.ntre sensores.

77
Introduccin 3.1 Introduccin

En este Captulo se presenta un algoritmo o sistema distribuido y asncrono


para la fusin de las medidas de posicin procedentes de distintos sensores de un
robot mvil. Como ya se ha indicado en el Captulo 2, existen multitud de sensores j
que proporcionan informacin referente a la localizacin del robot, vase por
ejemplo [Everett 95], [Gonzalez 96] o [Borenstein 97]. Estos sensores pueden j
situarse sobre el vehculo o distribuirse geogrficamente, pudindose cambiar por
otros sensores de posicin con una sencilla modificacin y tratarse como un sensor
lgico descrito en el captulo anterior sin prejuicio para el sistema implementado. j
Pero adems de la flexibilidad en la eleccin de los sensores se persigue que este
mtodo de fusin sea robusto ante fallos o ante la eliminacin de un sensor. Por J
ello, un funcionamiento distribuido y asncrono del sistema de fusin es el ms
indicado porque permite que el sistema acte correctamente ante distintas
anomalas y con independencia del nmero y tipo de los sensores utilizados.
El sistema de fusin de medidas de posicin que se presenta se basa en la
teora de la estimacin y utiliza el filtro de Kalman distribuido diseado pqr Rao,
pero con unas modificaciones motivadas bsicamente por dos causas: j
1.- Generalizar su aplicacin a cualquier sensor o tipo de sensor; para
ello se utilizar un filtro de Kalman extendido y se modifica la
validacin externa para adaptarla a cualquier modelo de sensor
deseado. j
2.- Convertirlo en un sistema de fusin distribuido totalmente asncrono;
para ello se adaptarn las ecuaciones desarrolladas de forma que se
tenga en cuenta el retardo en la transmisin de la informacin entre
sensores.
La organizacin de este captulo es la siguiente. En la seccin 3.2 se revisan
los algoritmos mas utilizados para realizar fusin de medidas de posicin. Se

destaca la asociacin de datos como e preprocesamiento imprescindible para


j
garantizar una correcta fusin y se estudia la fusin de medidas de posicin como
un caso particular de estimacin de vectores de estado. En la seccin 3.3 se j
muestra el mtodo escogido para realizar la fusin (un filtro de Kalman) y cmo se
adapta para su funcionamiento distribuido, desarrollando una nueva forma de j
clculo para validar datos procedentes de otros sensores de una forma general. En
la seccin 3.4 se modifica e algoritmo de Kalman distribuido para que funcione de

j
Captulo 3. Integracin multisensorial de medidas & posicin 79

forma asncrona. Finalmente, en la seccin 3.5 se realizan distintas simulaciones


del sistema para mostrar la efectividad de los algoritmos utilizados. En ellas se
compara nuestro filtro con el filtro de Kalman centralizado mostrando su
funcionamiento frente a un filtro ptimo y destacmdo la robustez de nuestro
sistema frente a fallos y a la supresin de alguno de los sensores.
80 3.2 Algoritmos de fusin posicional J
3.2 Algoritmos de fusin posicional j
El clculo de la posicin, cinemtica o estado de un mvil a partir de nueva
informacin se conoce como estimacin de estado, y es la base de la fusin de
mltiples medidas referentes al estado de un objeto. Las medidas a fusionar
pueden provenir de un nico sensor o de mltiples sensores y ofrecer informacin,
independiente o no, sobre la dinmica de un mismo objeto o sobre distintos
objetos dinmicos.
En el caso de mltiples sensores, estos pueden encontrarse incluidos en una
misma plataforma o distribuidos geogrficamente. Esto conduce a diferentes

filosofias en cuanto a recursos computacionales y de comunicacin. Un sistema


j
sensorial distribuido inducir a un procesamiento y fusin local de los datos y a un
funcionamiento autnomo de los sensores.

Este captulo se centra en el caso de mltiples sensores, distribuidos o no


geogrficamente, observando un nico estado, en concreto el estado del robot
mvil. No se estudia la problemtica de seguir mltiples objetos [Bar-Shalom 90],
aunque este mtodo podra ser utilizado para ello. En el seguimiento de objetos el J
planteamiento es diferente al de este trabajo, centrndose principalmente en el
problema de asociacin de datos y en objetos con una alta dinmica y cambios
bruscos de trayectoria. Esta problemtica, de gran inters cientfico, es utilizada
ampliamente en aplicaciones militares como por ejemplo [Libby 96; Shetty 96
Yeddanapudi 97].
Los procesos que se encuentran directamente relacionados con la obtencin
(y fusin) de informacin de posicin o cinemtica son: la asociacin de datos y la J
estimacin de estados.

3.2.1 Asociacin de datos

La asociacin de datos se encarga de encontrar la correspondencia entre


observaciones de mltiples sensores (o de un nico sensor tomando datos a lo largo
del tiempo) y los individuos u objetos identificados. As, la asociacin permite j
encontrar correspondencias:
- entre observaciones, J
- entre observaciones y objetos ya detectados, o J

j
Capfrua 3. Integracin multisensorial de medidos de posicin 81

- entre distintos objetos.


Las dos ltimas correspondencias son propias de sistemas de seguimiento o
vigilancia y se centran ms en el reconocimiento de objetos. La primera es la que
nos interesa en este momento y es aplicable tanto a seguimiento como a estimacin
de estados.
Los mtodos de decisin aplicables en la asociacin de datos pueden
clasificarse en:
- Mtodos heursticos, basados en una simple regla o en alguna funcin de
clasificacin.
- Mtodos probabilsticos no bayesismos, basados en test de hiptesis o en
funciones de verosimilitud. En estos casos una vez que se toma la
decisin <sea o no correcta) no hay vuelta atrs, este tipo de decisiones se
conocen como duras.
- Mtodos probabilticos bayesianos, basados en probabilidades
(condicionales) a posteriori que son calculadas mediante la frmula de
Bayes a partir de probabilidades a priori. Estas decisiones son blandas,
puesto que su resultado se utiliza en decisiones posteriores y permite el
cambio de opinin.
La medida de asociacin determina la proximidad entre dos observaciones, es
decir, determina si dos observaciones pueden declararse como relativas a la misma
identidad fsica, esto es, si proceden de una fuente comn.

Las medidas de asociacin incluyen coeficientes de correlacin, medidas de


distancia, coeficientes de asociacin o medidas de similitud probabilstica, y
pueden ser utilizadas para asociar medidas referentes a vectores de estado o a
vectores de caractersticas.
Para la fusin de medidas de posicin utilizaremos un mtodo probabilistico
no bayesiano, en concreto utilizaremos un test de aceptacin. El test o contraste
utilizado para comprobar si la medida recibida es aceptada o rechazada ser un test
Chi-cuadrado. Se elige as porvarios motivos:
- Los test de hiptesis son muy apropiados cuando no existen
modelos fsicos y lo que necesitamos es determinar si las
observaciones satisfacen un cierto nivel de confianza.
J
82 3.2 Algoritmos defusin posicional J
- La distribucin Chi-cuadrado representa aquella distribucin
resultante de la suma de cuadrados de distribuciones gaussianas. j
Por ello, si se considera que el ruido de los sensores puede
modelarse como un mido gaussiano de media cero, y se realiza un
test sobre la norma de los residuos de las observaciones que
deseamos asociar, ser apropiado utilizar un test Chi-cuadrado
j
como contraste para la aceptacin o rechazo de las medidas.
- El test es muy sencillo de aplicar con unos requerimientos de
clculo muy bajos, lo que resulta muy conveniente para las altas
frecuencias de muestreo de los sensores de posicin de un robot
u
mvil.

Este ser el mtodo utilizado en nuestro sistema para realizar la


asociacin de datos de las medidas de posicin procedentes de los distintos
sensores de posicin utilizados en nuestro mvil. Puesto que este test se
utiliza para comprobar si una medida de posicin dbe ser utilizada en el
proceso de fusin lo denominamos test de validacin o simplemente
validacin. j
3.2.2 Estimacin de estado

Mediante la estimacin se busca el vector de estado que mejor se ajuste en


todo momento a los datos observados. En nuestro caso nos referimos a medidas
cuantitativas o relativas al estado del mvil (posicin, orientacin, velocidad,...).
Existen multitud de tcnicas de estimacin, pero siempre se debe tener en cuenta
cuatro aspectos importantes:

1.- El modelo del sistema. Se debe disear correctamente el modelo del


sistema, donde se incluyen las ecuaciones de observacin,
u
ecuaciones de movimient, la dinmica del sistema, las variables del
vector de estado, etc.
2.- El criterio de optimizacin. Se debe especificar cual es el mejor
ajuste de los datos al modelo y cmo se mide tal ajuste. Entre los
criterios existentes cabe destacar los mnimos cuadrados, los
u
mnimos cuadrados ponderados, el criterio de mxima verosimilitud
o restricciones bayesianas.
u
u
Capitulo 3. Integracin multisensorial de medidas de posicin 83

3.- Mtodo de optimizacin. Una vez definido el criterio de


optimizacin, se debe decidir cmo encontrar el vector de estado
desconocido que mejor se ajusta a los datos. Mtodos de
optimizacin son los directos, ya sean no derivativos (simulated
annealing, algoritmos genticos ) o derivativos (gradiente, quasi-
Newton, ...); y los mtodos indirectos como por ejemplo el mtodo
de Newton-Raphson (que es tambin derivativo).
4.- Mtodo de procesamiento. Tambin debe decidirse cmo sern
procesados los datos, es decir, se debe escoger entre procesamiento
batch (despus de obtener todos los datos) o procesamiento
secuencial (cada observacin se procesa segn es recibida,
actualizando el vector de estados).
A continuacin se describe qu tcnica se ha escogido en cada caso.

3.2.2.1 EJ modelo del sistema


La eleccin de qu estimar depende de la definicin de qu parmetros son
necesarios para determinar el estado futuro y de qu parmetros de nuestro
sistema pueden ser estimados a partir de los datos observados (observabilidad).

Para un sistema no lineal discreto, normalmente las ecuaciones de


movimiento de un robot mvil son no lineales, la prediccin del vector de estado y
de la observacin vendr dada por,

.ftk) = f(~(k l),u(k),k) + G(k) w(k)


. (3.1)

2(k) = hGZ(k),k) + v(k) (3.2)

La ecuacin (3.1> representa el modelo de transicin de estado del robot,


donde fi?) es el modelo no lineal del sistema, 0(k) el modelo del mido de los
estados y w<k) la entrada de ruido.
La ecuacin (3.2) representa el modelo de observacin de la medida, z(k), en
funcin del estado 4k). 14...) es el modelo no lineal de observacin del sensor y v(k)
el mido correspondiente a dicha observacin.
El modelo considerado para el carro ser un modelo sencillo,
correspondiente a un sistema de dos medas independientes. Este modelo puede
ser sustituido directamente por otros modelos ms complicados siempre que se
mantengan los estados utilizados: posicin en el plano (x,y) y orientacin (O). En
j

84 3.2 Algoritmos de fusin posicional

caso de utilizar otros estados la sustitucin del modelo requerir una manipulacin
ms compleja.

3.2.2.2 EJ criterio de optimizacin


El criterio de optimizacin trata de encontrar el valor del vector de estado
4k) que mejor se ajuste a los datos observados. Sea Ui el residuo o diferencia entre
el dato observado por el sensor i y la prediccin de los datos que medir dicho j
sensor:

u, =[y(k)zjk)] (3.3)
Para hacer que u~ sea mnimo se utilizan distintos criterios de optimizacin
[Gil 81; Fletcher 87] que se basan en encontrar el vector de estado, 4k), que
2
mimiza (o mxdmiza) una determinada funcin. As, segn la funcin a optimizar
tendremos mnimos cadrados, mnimos cuadrados ponderados (o con pesos),
funciones objetivo probabilisticas (criterios bayesianos) y funciones de mxima
verosimilitud.
Es conveniente destacar que el criterio de optimizacin escogido depender
del conocimiento a priori de los datos observados. En nuestro caso utilizaremos 4
para el tipo y mido de los datos, las siguientes condiciones (ampliamente utilizadas
enlaliteratura): 4
a) El error de medida (los residuos encontrados) tienen una
distribucin Gausiana de media cero,

E[w}k)] = E[v1(k)] = 0 (3.4)

b) Los errores y ruidos utilizados en el modelo son independientes en U


distintos instantes de muestreo,

Ejw, (k) . WT (j)] = Q, (k) . ~kj (3.5>

5kj
E[v, (k) . < (j)]
R1 (k) .
=

c) El mido de estado y el de observacin son independientes entre si,

E[w,(k).v[(j)] = 0 (3.6)

Bajo estas condiciones (y si el peso tomado en los mnimos cuadrados


ponderados es la inversa de la matriz de covarianza de x) tqdos los criterios de
optimizacin indicados anteriormente son equivalentes.
U

u
Capfrisio 3. Integracin multisensorial de medidos de posicin 85

El mtodo de optimizacin utilizado por nosotros est basado en el de


mnimos cuadrados ponderados (elfiltro de Kalman).

3.2.2.3 Mtodo de optimizacin


Pueden utilizarse distintas tcnicas para encontrar el valor del vector de
estado que hace ptimo alguno de los criterios anteriores. Existen multitud de
algoritmos, pero pueden clasificarse en dos grandes grupos: mtodos directos y
mtodos indirectos [Hall 92].

Los mtodos directos tratan el criterio de optimizacin sin modificarlo para


encontrar un valor de x que haga mnimo (o mximo> el criterio utilizado. Estos
mtodos se basan fundamentalmente en tcnicas hill-climbing.

Los mtodos indirectos tratan de resolver simultneamente las m ecuaciones


no lineales. Los mtodos indirectos necesitan que el criterio de optimizacin sea
explcitamente diferenciable con respecto a x, lo que en muchas ocasiones no es
factible.
Implementaciones de algunos de estos algoritmos que permiten probar
muchas de estas tcnicas pueden encontrarse en [Press 94].

3.2.2.4 Mtodo de procesamiento


Los datos tomados pueden procesarse de dos formas: por lotes o
secuencialmente. El procesamiento por lotes o procesamiento batch, parte de la
suposicin de que todos los datos estn disponibles en el momento de realizar la
estimacin con alguno de los mtodos vistos anteriormente. El ejemplo ms clsico
de estimacin por lotes es en problemas de mejor ajuste de curvas en el caso de la
modelizacin de sistemas o en la estimacin de parmetros [Goodwin 77; Astrom
80].
Por el contrario, el procesamiento secuencial se utiliza cuando no es posible
disponer de todos los datos en el instante de realizacin de la estimacin. En este
caso, la estima del vector de estado, x(k), se actualiza con cada llegada de una
nueva observacin. En la estima secuencial se tienen en cuenta las n+1
observaciones, pero no de forma conjunta como en el proceso por lotes, sino que
se tienen en cuenta por medio de la influencia de x(k), que ya tuvo en cuenta las u
observaciones anteriores, y la nueva observacin y(k+1).
Los principales inconvenientes de la estimacin secuencial son sus problemas
en la asociacin de datos, la divergencia (en la cual el estimador ignora nuevos
2
86 3.2 Algoritmos defusin posicional

datos> y la inicializaciii. A pesar de ello, los estimadores seduenciales son muy


utilizados en seguimiento de objetos y estimacin de la posicin. J
El ejemplo ms clsico de estimacin secuencial es el filtro de Kalman [Gelb
74; Anderson 79; Grewal 93]. Con ciertas modificaciones con respecto a su
funcionamiento clsico, es el algoritmo utilizado en esta tesis para desarrollar el
sistema de fusin de medidas de estado y ser descrito a continuacin.

2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
Capitulo 3. Integracin multisensorial de medidos de posicin 87

3.3 Fusin de medidas de posicin mediante un filtro de


Kalman
Una vez que cada uno de los distintos sensores disponibles obtiene la
informacin referente a la posicin del mvil, es necesario integrar estas medidas
en una nica posicin. Para ello utilizamos un filtro de Kalman. Tenemos dos
posibilidades de fusin: podemos proporcionar los datos a un sistema central que
calcule la mejor estima posible y despus devolver a cada uno de los sensores esta
estima (filtro de Kalman centralizado> o podemos hacer que cada uno calcule la
estima global a partir de los datos calculados por todos sin necesidad del
procesador central (filtro de Kalman distribuido>.

En concreto nos centraremos en una arquitectura totalmente descentralizada


para la fusin de datos procedentes de mltiples sensores. El punto de inicio de
nuestro sistema es un filtro de Kalman centralizado extendido, ampliamente
difundido en la literatura [Gelb 74; Anderson 79; Grewal 93], a partir del cual se
obtienen las ecuaciones necesarias para obtener un filtro de Kalman distribuido
[Hasemipour 88; Durrant-Whyte 90; Rao 93].

Con el filtro de Kalman distribuido conseguiremos reducir la cantidad de


informacin transmitida en el sistema, permitiremos que cada uno calcule una
estima global independientemente y evitaremos ese nodo de fusin global que
podra fallar y hacer que todo el sistema fallase.

Adems la comunicacin ser asncrona para permitir que si un sensor falla el


sistema pueda seguir evolucionando y los dems no se vean afectados por el error
de ste. De esta forma conseguimos los dos objetivos que consideramos
primordiales: que el sistema de fusin sea robusto frente a fallos de los sensores; y
que el sistema sensorial sea independiente del nmero de sensores utilizados.

Pero antes de describir este filtro, revisamos brevemente las ecuaciones de


un filtro de Kalman centralizado, como introduccin a la nomenclatura utilizada.

3.3.1 Filtro de Calman extendido centralizado

El filtro de Kalman es una de las herramientas ms utilizadas en la literatura


para fusin sensorial en robots mviles. El filtro de Kalman clsico utiliza un
modelo lineal del sistema, pero en aquellos casos en los que el sistema no puede
ser representado de forma adecuada con un modelo lineal, como tpicamente
2
2
88 3.3 Fusin de medidas de posicin mediante un filtro de Kalman j
ocurre en el modelo de movimiento de un robot (que es nuestro caso), se emplean
filtros de Kalman modificados. La mdificacin ms utilizada es una linealizacin 2
de primer orden de las ecuaciones no lineales del modelo, que se conoce como
filtro de Kalman extendido (EKF). J
En un sentido general, el filtro de Kalman puede consderarse como un
estimador de estados, es decir, calcula la estima o valor esperado del estado 2(k) y

su error cuadrtico medio en el instante k a partir:


2
a) del estado en el instante k-1, calculado a partir de todas las

observaciones tomadas hasta el instante k-1,


2
b> de la nueva observacin en el instante k, y, j
c> de la prediccin del estado 2(k), correspondiente al modelo del
sistema considerado.

Lo que se persigue es encontrar la forma de calcular, para todo instantek=j,


la estima o valor esperado del estado 2(k) en el instante k a partir de todas las j
observaciones tomadas hasta el instante j, y adems calcular el error cuadrtico
medio de esta estima. Esto es,

j) E[x(/c) z(l), z(2),..., z(j)] (3.7)

P(k j) E[(x(k) (k j)) (x(k) (k


j)) z(l), z(2),..., z(j)]
~ (3.8)

Por tanto, el filtro de Kalman encuentra una descripcin matemtica de las


expresiones anteriores en funcin del modelo del sistema y del modelo de las
2
observaciones. Es decir, encuentra una solucin recursiva a la estima del estado
4k), llamada (k k), en termnos de la estima en un instante anterior, j
II k 1), y de la nueva observacin tomada, z(k).

3.3.1.1 Modelo del mvil 2


Se utilizar para el modelo de movimiento del robot de nuestro sistema un
sencillo modelo no lineal en e que el vector de estado utilizado representa su 2
posicin y orientacin,

2(t) = (x(t, ), y(t, ), 9(t)) (3.9>

El modelo de estado del mvil puede ser distinto para cada sensor; depende J
de la dinmica del robot, e tipo de ruedas motrices utilizadas, la seal de control
necesaria, etc. Por ejemplo pueden utilizarse modelos como los utilizados por
2
[Nelson 88] o [Kam 97] donde la seal de control es u = [y,7] (y, s la velocidad

2
u
Captulo 3. Integracin multisensorial de medidas de posicin 89

lineal del mvil y yel giro demandado. Otros modelos como el utilizado en [Hongo
87; Feng 93 o Manyika 94] utilizan las velocidades de cada una de las ruedas
independientemente u = [~z~,~der]~ Este esel modelo continuo utilizado:
izq <Ser
Q)= ~ . cos.9(t)
2
~iz~ +v~~er

t(t) = sen .9(t) (3.10)


2
izq <Ser
v
1
donde v~< y y <Ser son las seales de control al mvil y corresponden con las
velocidades demandadas para la rueda izquierda y la rueda derecha. Este modelo,
que ser tratado con ms detalle en la seccin 3.5.1, viene dado por las ecuaciones
discretas:

x(k + 1) = f(k, x(k), u(k)) (3.11)


Fx(k) + T(k) cos9(k)1 .

f(k, x(k), u(k)) = x(k) + T(k) . cos 9(k) (3.12)


L 9(k) + 9(k) j
El modelo de observacin depender de cada sensor utilizado y podr ser
lineal o no. Ms adelante se mostrar el modelo de observacin utilizado para los
empleados en nuestro robot.

Considerando las ecuaciones no lineales del sistema y de observacin de un


modo general, como las indicadas en (3.1> y (3.2), las ecuaciones del filtro de
Kalman son bsicamente las mismas que en un sistema lineal y slo se modifican
ligeramente: se realiza una linealizacin de primer orden del sistema cuando es
necesario, manteniendo bsicamente las mismas ecuaciones. As, la linealizacin de
las ecuaciones (3.1> y (3.2), donde el modelo de transicin de estado
correspondiente ser el presentado en la ecuacin (3.12>, seran:

5f(x,u,kl
(3.13>
9x x=i,(klk1)

6h(x,k1) (3.14)
tx x=Z (kk-I)

)
2
2
90 3.3 Fusin de medidas de posicin mediante un filtro de Calman

3.3.1.2 Ecuadones del filtro


Los pasos en el clculo de un filtro extendido y centralizado son:

a) Prediccin:
Se utiliza la estima del estado conocida para, a partir del modelo del sistema y 2
de medida, predecir cual debera ser el estado y la medida en el instante
actual. J
i(kkl)=f(k(klk1),u(k1),k) (3.15>

4kkl)=/i(k(kkl),k) (3.16>

Tambin se calcula, a partir de la linelizacin, la estima del error cuadrtico J


medio cometido en dicha prediccin:

P(kk.~1)=F1(k).P(k~lk~1).F1T (k)+G(k).Q(k).67(k) (3.17> J


a) Observacin:

Una vez realizada la prediccin se toman nuevas medidas (observaciones>.


Cualquier sensor tendr incertidumbre en sus medidas, lo que viene
modelado por v(k) en la ecuacin (3.2). A pesar de ello, las nuevas medidas, 2
si son vlidas, permitirn realizar una estima del estado mucho ms precisa
que la realizada con la ecuacin (3.15). Estas observaciones son
denominadas, z,(k)
2
b) Validacin: 2
Adems del modelo de error de los sensores pueden ocurrir otros errores o
imprecisiones que pueden dar lugar a medidas errneas. Por ello, es
necesario comprobar cada observacin tomada para asegurarnos de que es
2
vlida, es decir, est dentro de un cierto margen de error. Para realizar la J
validacin utilizaremos,

rT(k).S<(k).r(k)=y (3.18) 2
r(k)=z
1(k)2(k~k1) (3.19) J
8(k) = R(k) + H (k)P(k k l)H (k) (3.20)

donde r<k) es conocido como innovacin y S<k) su covarianza. 2


La ecuacin (3.18) es un contraste estadstico t para contrastar una cierta
hiptesis H0, en nuestro caso nos preguntamos s es cierto que 2
2
$2
Capitulo 3. ntegracin multisensorial de medidos de posicin 91

z, (k) = 2(k k 1). Esto normalmente es interpretado como la definicin de


una cierta regin de validacin centrada en el estado de prediccin, de forma
que cualquier observacin que caiga dentro de dicha regin ser aceptada
como vlida. La potencia del contraste (el tamao de la regin de validacin)
vendr dada por y y escogido a partir de la tabla de ~ una vez que se ha
escogido el intervalo de confianza, normalmente de forma emprica [Bendat
71; Lpez-Cachero 88].
c) Actualizacin:

Una vez que se ha comprobado que las medidas son vlidas, sino seran
descartadas, se realizar el ltimo paso: se actualiza el filtro con la medidas
nuevas a fin de obtener una estima del estado actual lo ms precisa posible.
Estas ecuaciones son,
x(k 1k) = Q(k kI) + K(k) [z, (k) i(k 1k 1)]
(3.21)

K(k) = P(k 1k). HIT(k) . R1(k) (3.23)

donde la ecuacin (3.23) representa la matriz de ganancia del filtro de


Kalman.

3.3.2 Filtro de Calman distribuido

Para entender el funcionamiento de este sistema supongamos que


disponemos de varios sensores, vase la figura 3-1, que pueden estimar el vector de
estados del mvil a partir del modelo que poseen y de las observaciones que
realizan.
2
2
92 3.3 Fusin de medidas de posicin mediante un filtro de Kalman

Control

2
2
2
Figura 3-1 . Sensores distribuidos y control
2
Cada sensor lgico de posicin realiza una inicializacin, en la que toma el 2
modelo del sistema, de observacin y cualquier otro valor que necesite para iniciar
su funcionamiento. A partir de aqu el funcionamiento, mostrado en la figura 3-1,
sera el siguiente:
2
1.- El sensor fisico realiza una medida de la posicin del mvil. Esta 2
medida, despus de ser procesada de forma conveniente
(preprocesamiento, alineamiento, etc.) es recibida por el sensor J
lgico de posicin correspondiente (vase la figura 3-1).

2.- El sensor lgico de posicin, elemento del sistema de fusin J


dstribuido, cmprueba que la medida obtenida puede ser utilizada
para mejorar la estima que tiene de la posicin. En esta validacin se J
utiliza la prediccin que cada sensor lgico ha realizado
previamente. En la prediccin, si su modelo lo necesita, debe J
incorporar la seal de control que se ha solicitado a los motores y por
tanto debe recibir las seales de control que se van enviando a los

actuadores de los motores.


2
3.- Se realiza la estima de la posicin del mvil, esta estima es local a
2
cada uno de los sensores.
4.- Cada sensor lgico ewa a todos los dems (a todos los que estn a J
la escucha) datos sobre el estado del robot que ha estimado en ese
momento. 2
2
2
Captulo 3. Integracin multisensorial de medidas de posicin 93

5.- Cada sensor lgico recibe la posicin que han estimado los dems
sensores y a partir de esta informacin y, siempre que compmebe
que esta informacin es correcta, la utilizar para actualizar y
mejorar su propia estima.

6.- Una vez que se confirma qu datos son vlidos, estos deben ser
fusionados para obtener una estima mejor del estado global.

No hay

Figura 3-2. Ciclo de fusin.

En todo este proceso debe tenerse en cuenta que los sensores funcionan de
forma asncrona y, por tanto, deben realizarse las correcciones pertinentes para
que todos los sensores obtengan la estima correcta. A continuacin se muestran las
ecuaciones necesarias para realizar cada uno de los pasos indicados.

3.3.2.1 Ecuaciones del filtro y de asimilacin


Las ecuaciones del filtro de Kalman distribuido, tienen su base en la
descomposicin de las ecuaciones centralizadas en m subvectores de diferentes
dimensiones m~ correspondientes a las observaciones hechas por cada sensor
2
2
94 3.3 Fusin de medidas de posicin mediante un filtro de I<alman 2
individual [Hasemipour 88]. Posteriormente esta descomposicin es utilizada para
conseguir una arquitectura totalmente descentralizada para fusin multisensorial J
[Durrant-Whyte 90], pero con comunicacin sncrona y sin ninguna validacin de
los datos filtrados. Finalmente, [Rao 93] modific las ecuaciones distribuidas
anteriores para realizar una comunicacin sncrona, donde se realiza una validacin 2
de los datos locales y tambin una validacin de los datos recibidos de otros
(que denominaremos validacin externa). Las ecuaciones para un sistema 2
no lineal discreto, semejantes a las del filtro de Kalman centralizado, son:

a) Ecuaciones de prediccin: 2
}k!k1)=f,(&1(k1kl),u(k),k) (3.24>

i~ (k 1k 1) = Ji, (2, (k 1k 1), k) (3.25>

Obsrvese que en este caso las ecuaciones (3.24> y (3.25) difieren de las 2
ecuaciones (3.15) y (3.16) en el subndice i. Esto indica que estas ecuaciones son
locales y son realizadas en el sensor i. Esto ocurre tambin en las siguientes 2
ecuaciones.
Utilizando las ecuaciones (3.13) y (3.14) para realizar la correspondiente 2
linealizacin del modelo, obtenemos la matriz de covananza de la estima que viene
dada por, 2
P}kjk 1)=F, (k)Pjk lJk l)FJ (k) G,Qc)Q(k)G[(k) (3.26>

b) Validacin local: 2
La validacin local o interna hace referencia a la comprobacin de que el
dato observado es coherente con el estado del mvil. Para ello, al igual que en las
ecuaciones (3.18)-(3.20) se realizar el contraste de hiptesis de una x
2 sobre el
u2
residuo obtenido de la comparacin entre la medida observada y la predicha. Esto
es,
rj(k).S;(k).r,(k)=r (3.27) 2
r,(k)=z(k)2(k!k1) (3.28) J
8, (k) = R (k) + H;(k)P, (k k 1)H (k) (3.29)

Podemos ver que la incertidumbre o covarianza del residuo se compone de la 2


incertidumbre en la observacin y la incertidumbre transmitida por el estado en la
prediccin. j
2
u
Capitulo 3. Integracin multisensorial de medidas de posicin 95

c> Ecuaciones de actualizacin:

Pj(kk)=PJ(kkl)+H,T (k).R7(k).H~(k) (3.31>

K,(k)=P}klk).H!T(k).J?jkk) (3.32)

Si el test se supera positivamente se acepta la nueva observacin y se corrige


la prediccin del estado con la nueva medida obteniendo un estima mejor y
reduciendo su covarianza. En caso de rechazar la medida ya no se realizar la
actualizacin, ecuaciones (3.30> y (3.31>, sino que se utiliza como estima y varianza
del estado las prediciones realizadas anteriormente, ecuaciones (3.24) y (3.26>.
Finalmente es necesario comunicar la informacin local obtenida en cada
nodo local a los dems sensores. Esta informacin se enva siempre y cuando se
haya validado la medida obtenida por el sensor, puesto que la informacin
relevante que es necesario transmitir es la obtenida debido a las medidas y no las
predicciones que realiza ese sensor y que no aporta nada nuevo.
Para determinar qu informacin debe ser transmitida se descomponen las
ecuaciones centralizadas del filtro de Kalman en suma de las distintas
contribuciones de los diversos sensores que se poseen y se obtienen las siguientes
ecuaciones para la adaptacin de la varianza y el estado, una demostracin puede
encontrarse en [Durrant-Whyte 90]:

1k) = P}k 1k). [PV(k 1k 1YQ,(k 1k 1) +

+ ~{Pj(k k)%~ (k 1k) -l (k 1k 1)~ (k 1k 1) (3.33>

P(kk) = Pj (kk 1) +{P;l(klk) <(klk )} (3.34>


~1=1

En estas ecuaciones podemos ver que lo nico que es necesario transmitir de


un nodo a otro es la parte del sumatorio, puesto que corresponde a una
informacin calculada en otro sensor (el sensorj) y por tanto no est disponible en
el sensor i. En la ecuacin (3.33> el termino del sumatorio correspondiente a cada
sensorj se denomina informacin del error de estado y al termino de la ecuacin
(3.34> informacin del error de la varianza. Tanto uno como otro deben ser
transmitidos a todos los otros sensores a fin de que todos puedan calcular la misma
estima global.
2
2
96 3.3 Fusin de medidas de posicin mediante un filtro de Calman 2
Estas ecuaciones fueron utilizadas en [Durrant-Whyte 90], pero no tienen en
cuenta el problema del asincronismo entre medidas. Para obtener un modelo
viable en problemas asincronos debemos adaptarlas convenientemente. Para ello
se parte del modelo de observacin y llegamos a las siguientes ecuaciones [Bao 93]: 2
H(k). R(k).H(k)=H/(k).R:(k).H?(k)
=1
(3.35)
2
Hj(k).R(k).H(k)=P(klk)Pj(klk--l) (3.36)

H,T (k).R(k).z(k)=P(kIk).&(kfk)P(klkl).2(klkl) (3.37> 2


Con estas las ecuaciones y modificando (3.33> y (3.34) obtenemos, 2
1k) = P}k 1k). [iV (k 1k 1). ,(k k1) +

(3.38) 2
PV1 (kk) =P~1(kIk1)+{FJ1T(k)R;(k)HI(k) (&39) 2
Estas ecuaciones, equivalentes a (3.33> y (3.34) respectivamente, permitirn J
que la comunicacin asncrona sea mucho ms sencilla de realizar que si se
2
utilizasen las anteriores.
3.3.2.2 Validacin de datos externos J
La informacin procedente de otros nodos debe ser validada en el nodo
receptor antes de ser utilizada. Esto es necesario porque, J
1.- Permite al nodo receptor detectar que un nodo est funcionando
incorrectamente y por tanto no se realizar la asimilacin de la 2
informacin que procede de l.
2.- Impide que medidas procedentes de otros nodos sean asociadas 2
con medidas que no le corresponden en el nodo receptor (uno de
los principales problemas en el seguimiento de mltiples objetos). 2
3.- Detecta errores en la transmisin de la informacin, de forma
que no utilizar datos que se hayan corrompido durante la J
transmsion.

2
2
2
Capitulo 3. Integracin multisensorial de medidos de posicin 97

La validacin en este caso no es tan sencilla como la validacin interna,


ecuaciones (3.27>, debido a que para realizarla slo se dispone de la informacin
local propia y de la informacin que recibe de los otros nodos, ecuaciones (3.33> y
(3.34) o ecuaciones (3.38) y (3.39>.

Supongamos un sensor i que recibe datos procedentes de otro sensorj para


su asimilacin. La informacin que recibe dej ser el error de estado, X~ (k), y de
covarianza, 1(k). Por ejemplo,

Y~(k) H}T(k).R(k).H(k) (3.41)

La validacin en este caso no es tan sencilla como la validacin interna


debido a que para realizarla slo se dispone de la informacin local propia y de la
informacin que recibe de los otros nodos. [Bao 93] propone lo siguiente:

Para la validacin externa se realizar un test sobre las medidas


observadas por ambos sensores de igual forma que se realizaba en la
validacin interna:

vJ(k).SJ(k).v~}k) =y (3.42)

v~(k) = z/k)ft,(k 1k 1) (3.43)

Donde, y
4 (k) es el error entre la medida observada por el sensor
z/k>, y la prediccin de la medida que observara el sensorj hecha por
el sensor 1,
~z}k 1k 1) = h~(~1(k 1k 1),k) (3.44)

Esto se hace as, debido a que cada sensor puede observar medidas
referentes a subespacios de estado distintos y, por tanto, no tienen por
qu ser comparables. Lo nico que puede ser utilizado en el contraste
es la parte del estado 4k) que es observado tanto por el sensorj omo
por el sensor 1.

Bao, para realizar dicho contraste, calcula el residuo de la observacin


proyectado en el espacio de estado. En nuestro caso, mediante la
linealizacin adecuada, se obtiene:

v0(k) Hj(k)[Z~(k)1ik 1 k1)] (3.45)


2
2
98 3.3 Fusin de medidos de posicin mediante un filtro de Kalman 2
S~(k) = E{v4 v, T (k4R
}= JI} 1 (k) + Hk)P (k k 1)H (k)]H:. (k) (3.46)

vj,(k).S;(k).v11(k)=y (3.47) 2
Tngase en cuenta que los trminos zjk) y F/k) no son comunicados
directamente al nodo i, pero pueden ser obtenidos a partir de la 2
informacin que recibe el sensor 1 del sensor): LXXk), Yk) y H/k)}. De
2
esta forma las ecuaciones anteriores quedan,
v~(k)=Y;(k).X~(k)HY(k).H1(k).}klk1) (348) 2
S0 (k) H}
7 (k). (k)Yj,. (k)HJ (k)} + H} (k)P, (k 1k 1)H}T (k)]. H}(k) (3.49) 2
donde,

Y;(k) H}T(k). {H(k). J(k). HT(k)} H~k) (3.50>

3.3.3 Nueva validacin de datos externos 2


Las ecuaciones (3.48) y (3.49) son las ecuaciones utilizadas por Rao [Rao 93] J
para calcular la validacin de los datos externos procedentes de otros nodos
sensoriales. A continuacin obtendremos nuevas ecuaciones para el clculo del test
2
que nos permite aceptar los datos recibidos como vlidos.
La primera simplificacin sobre las ecuaciones propuestas por Rao es la J
simplificacin de la ecuacin (3.49), de forma que se reduce el nmero de
operaciones matriciales realizadas. As, operando sobre (3.41) y (3.50) se obtiene,

8
4(k)=H(k).H:. (k)~Y~ (k). +P, (k 1k 1)]. H(k) <~ QQ (3.51)

De esta forma se evita el clculo de una inversa y se ahorran varios productos 2


de matrices. La ecuacin (3.51) obtenida es equivalente a (3.49) y servir para
compararla con las nuevas ecuaciones que obtendremos a continuacin para el J
clculo de la covarianza del residuo. El motivo de buscar una nueva ecuacin para
calcular la covarianza de (3.48), necesaria en la validacin externa, se debe a que 2
sta no es vlida en un caso general debido a dos razones:

a> La reconstruccin del estado a partir de las medidas observadas por 2


ambos sensores no es ptima utilizando HT(k).

2
2
2
Capitulo 3. Integracin multisensorial de medidns de posicin 99

b) La matriz de covarianza S~ puede ser singular. Esto ocurrir cuando los


sensores posean un modelo de medida en el cual no todos los estados
sean observables o en el caso de que H(k) tenga ms columnas que filas.
Por ejemplo, un sensor que con su medida slo detecta un estado (por
ejemplo xl> tiene H=[1 O O].
Para evitar estos dos inconvenientes se proponen dos modificaciones
posibles:
a) Reconstruccin ptima del estado:
La reconstmccin ptima del estado se realizar a partir de la
pseudoinversa de H, denominada HL Esto se hace as porque normalmente H
no ser cuadrada y no tiene inversa. Se puede calcular de diversas formas
[Golub 89] de las que destacamos dos. A partir de la factorizacin QR,
H (k) = R (k) . Q(k)[, donde II es una matriz triangular superior no singular
y Q corresponde a la base ortonormal para el espacio de las columnas de H.
Otra forma de calcularla es utilizando la ecuacin correspondiente. a la
pseudoinversa por la derecha (normalmente se tendrn ms estados que
observaciones>.

H;(k)HT(k). LHyk).H;&k41 (3.52)

Este clculo de la pseudoinversa de H permite obtener la solucin de la


ecuacin del modelo de medida para que la reconstmccin del residuo del
estado, a partir del error entre la observacin y la estima, sea optima [Gill 81].
Utilizando la ecuacin (3.52> para la realizar la reconstmccin de la
observacin, ecuacin (3.44>, se obtiene el residuo siguiente (que se utilizar
para realizare1 correspondiente test de validacin):

vjk) = 1 k 1)]
H}k) . [z~(k)J(k (3.53>

Operando sobre (3.53> y teniendo en cuenta que el sensor i slo dispone


explcitamente de
1X4k), Y(k) y LI/k), las ecuaciones (3.40> y (3.41>, obtenemos
las siguientes ecuaciones para el residuo y su covarianza, semejantes a (3.48) y
(3.51).

SJk)=H;(k).H(k).[YIk)+P,(k)iH(kHYk) (3.55>
2
2
100 3.3 Fusin de medidw de posicin mediante un filtro de Kalman J
Esto es vlido siempre que exista la inversa de S~(k). Pr cuando II tiene ms
columnas 4ue filas, como ocurre usualmente, no se puede calcular la inversa de J
Sq(k).
Esta reconstruccin, aunque nos asegura la reconstruccin optima del J
estado, tampoco nos es vlida, como ocurra en el planteamiento de Rao, puesto
que de nuevo no se puede calcular la inversa de Sq(k). Ser vlida en los casos
2
en los que es vlido el mtodo de Rao [Rao 93], pero para un caso general.
b) Mocftficacin del residuo utilizado: J
Para mejorar el caso anterior y utilizarlo con cualquier modelo se necesita
reconstruir el estado del sensor) en el sensor i. Para hacerlo hay que transmitir

entre los nodos demasiada informacin adicional, pero la transmi~in de poca


2
informacin es uno de los objetivos de los sistemas distribuidos. La solucin es
reconstruIr solamente los estados que son visibles por el sensor) en e sensor i,
en lugar de estimarlos todos. Para realizar esto, utilizamos para el test de
2
validacin el residuo de las observaciones, como se realiza en la validacin J
interna.
vq (k) = z~ (k)), (k 1k 1) (3.56) 2
Operando nuevamente sobre (3.56> y utilizando (3.40) y (3.41>
obtendremos las siguientes ecuaciones para el residuo y su covarianza. 2
v~ (k) = H~ (k)[Y (k). X1 (k) ~ (k 1k 1)]
(3.57) J
~ (k) = H1 (k4Y; (k) + J~ (k)]HJ(k) (3.58)
Con ellas se comparan la observacin del nodo j con lo que habra 2
observado el nodo i si observase el mismo subespacio de estado que el nodo).
Las ecuaciones (3.57> y (3.58) son siempre calculables y Sq(k) siempre tiene
inversa.
2
Las ventajas de este test frente al de Rao, o al caso a), es que es genrico 2
e independiente de la forma de la matriz del modelo de los sensores, H.
Adems, el nmero de operaciones que requiere es menor, puesto que la nica 2
inversa que hay que realizar corresponde al clculo de la pseudoinversa de Y
que ya se realizaba en [Rao 93]. Recordemos que en todos los casos es 2
necesario comunicar a los otros sensores el modelo de observacin 1-1, pero si el
modelo de observacin del sensor) es invariante en el tiempo, lo cual ocurre 2
2
2
Captulo 3. Integracin multisensorial de medidas de posicin 101

con bastante frecuencia, slo ser necesario enviar esta matriz en la


inicializacin, con lo que la comunicacin entre nodos ser nicamente de X(k)
eY(k).
Por lo tanto sta ser la validacin entre sensores utilizada en nuestro
sistema. En el caso de que no se supere el test, no se considera la informacin
procedente del sensor para el clculo de la estima del estado.

Por supuesto el filtro obtenido es subptimo, ya que los sensores no


utilizarn los mismos datos que en el caso centralizado. Tampoco todos los
dispondrn de la misma informacin de posicin, sino que tendrn ciertas
diferencias debido a que no utilizarn los mismos datos en sus estimas. Sin
embargo, el vector de estado de todos los sensores sern muy prximos entre s, y
sus errores siempre sern menores que si utilizasen slo su propia medida.
102 3.4 Funcionamiento asincrono 2
2
3.4 Funcionamiento asncrono
El funcionamiento asncrono tratado en Rao supone ciertas simplificaciones:

- Que no hay retardo en la comunicacin entre nodos. j


Que no hay retraso en el procesamiento de la observacin
2
-

realizada en cada nodo o sensorj.


Esto lleva a suponer que el instante de tiempo t, en el que el sensor

recibe la informacin procedente del sensor j, es el instante de 2


tiempo en el que este ltimo obtuvo dicha observacin, es decir,
t =tj. 2
Estas dos suposiciones son difciles de justificar puesto que no puede
garantizarse en un sistema distribuido general que el retraso en la comunicacin
2
sea despreciable. Ni siquiera puede utilizarse la simplificacin de que el retraso en
la comunicacin o el tratamiento de los datos observados sea constante. Por ello, es 2
ms realista la insercin del tiempo junto con el envo de informacin a otros
sensores. Tengamos en cuenta que en cualquier sistema distribuido siempre debe J
existir un sistema de sincronizacin y una misma referencia de tiempo entre os
procesos, por lo que la inclusin del instante de medida en los datos enviados no
supondr ningn esfuerzo adicional. Adems, el incremento de informacin
tampoco es excesivo, puesto que slo se trata de una variable simple, y no matrices
2
o vectores como los dems datos. J
Con esta suposicin y partiendo de las mismas ecuaciones de validacin
tendremos varios casos, que anteriormente no se contemplaban. 2
Sean m sensores y cada uno de ellos puede observar una medida sobre el
estado del mvil en cualquier instante, es decir, sern sensores asincronos. 2
Sean {4< 4<,..., 4<,..., t~ } los instantes en los que cada sensor toma una
medida y {z~ (4<), z2 (4<),..., z, (4<),..., (~: )} las medidas observadas por cada
Zm
2
El superndice k corresponde al k-simo instante de muestreo del estado
global, realizado en el instante 1<, por parte del robot. As, con respecto al instante
de medida del sensor i, los instantes de medida de cada sensor sern,
2
{t, +)7fl~t ~7i2 4<. 4< +lflm} (3.59) 2
2
2
JA
CapfrisIo 3. Integracin multisensorial de medidas de posicin 103

donde ~ representa la diferencia de tiempo entre la k-sima observacin


del sensor i y del sensorj.
Adems, cada sensor i, en los instantes 4< ~{4<.4< ,..., t } enviar los datos:

{4< , X, (4<), Y, (4<), H, (4< )} (3.60>

A continuacin tomemos el sensor i para mostrar cmo un sensor concreto


realizar la asimilacin de la informacin recibida de los dems sensores. Sea
+ ~, el instante de la ltima actualizacin (medida de un dato o asimilacin)

del sensor i. Recordemos que siempre que se observa una medida, y es vlida, se
realiza una prediccin y una actualizacin.

Observaciones
SENSOR

t
k- 1
4
t
k t k+ 1

1
t k4t 41t, 1
1-

ltima actualizacin
k k
1 Intervalo
datos obsoletos
Intervalo de
asimilacin
><><- --->

Intervalo de
prediccin y asimilacin Actualizacin:
tiempo

Ordenar por tiempo recibido


Actualizar el estado
k-i k-I
ji (
liii ~ EIem.

Figura 3-3. Esquema de tiempos de la comunicacin entre sensores.

Cualquier sensor recibe datos procedentes de los dems sensores durante un


cierto tiempo desde su observacin, AS,, pasado ste debe asimilar la informacin
recibida junto con su estima. Por ejemplo, en la asimilacin en la k-sima
observacin del sensor i, vase la figura 3-3, pueden darse tres casos:
1.- Intervalo de datos obsoletos.

Vt] e{4<,4<,...,t~}
.3*1
4< <(4<e) (3.61>

Si la ltima actualizacin es posterior a la informacin recibida de


otro sensor, es despreciada por ser obsoleta. e representa un intervalo
104 3.4 Funcionamiento asincrono 2
2
de tiempo en el que se considera que el retraso es despreciable y
pueden asimilarse ambos datos. 2
2.- Intervalci de asimilacin.

V< e{4<,4< t,~} (4<e) =tk <(0 +e) (3.62)


.3 ~,

En caso de que tt coincida con t o que la diferencia de tiempos entre


ambos pueda considerarse despreciable (menor que e>, se realiza la 2
asimilacin de los datos con la del sensor que los recibe.

3.- Intervalo de prediccin y asimilacion.


2
yO e{4<,t~j..,t} 1 (4< +c) <4<
.3
(3.63>
2
El sensor receptor realiza una prediccin del estado del mvil al
instanteEndeeste
datos. tiempo
caso recibido
el procedimiento
y entoncesa realiza
seguir la
porasimilacin
el nodo receptor.
de esos 2
a.- Ordenar los mensajes recibidos en orden creciente de tiempos.
b.- Predecir hasta el instante del primer mensaje de la lista. 2
Despus de la prediccin se realiza la asimilacin en ese
instante de todos los datos que estn en un cierto rango
prximos a ese tiempo (si son vlidos). Establecer la ltima
2
actualizacin del sensor i en ese tiempo de asimilacion. 2
c.- Volver a predecir desde ese ltimo instante al siguiente
posterior de la lista y volver a realizar el mismo procedimiento J
de asimilacin. As se continua hasta el final de los datos
recibidos. 2
Recordemos que e se elige dependiendo de la aplicacin concreta, es decir,
de forma que esa variacin de tiempo se pueda considerar despreciable y por tanto j
t. (0 + e). En muchos casos e puede ser variable dependiendo de en qu estado
2
.5

se encuentre el mvil.

3.4.1 Ecuaciones de asimilacin asncrona

Por simplicidad utilizaremos dos sensores para mostrar las ecuaciones


necesanas en cada uno de los casos mostrados anteriormente. El sensor i recibe J
2
si
CapQuo 3. Integracin multisensorial de medidas de posicin 105

datos en el instante 4< y el sensor j observ los datos en el instante 4<. Las
ecuaciones para esos tres casos seran,
1.- Intervalo de datos obsoletos: t <(4< e)
En este caso el sensor i ignora el dato recibido por ser obsoleto.
2.- Intervalo de asimilacin: (4< e) =0
1 =(tk+e)
k 5
El dato recibido se asimila directamente, ti

Sea 471 = (1 + (fl)uft Ejem, el instante correspondiente a la ltima


actualizacin u observacin vlida anterior, donde tt es el instante de la ltima
observacin del sensor i y o~, es la diferencia de tiempos entre (1 y la observacin
del sensor 1 cuyo tiempo ha sido el ltimo aceptado. Sea 4< el instante de tiempo
de una nueva observacin z, (4<) por parte del sensor i. Si es vlida, deber
utilizarse para actualizar su estado antes de asimilar cualquier informacin
procedente de otro

El estado estimado por el sensor i hasta la recepcin del dato procedente del
sensorj sera:

Prediccin en el sensor i:

1471) = F,(St,) .2,(47~ 1471) (3.64)

21(4< 147) = H, (St~). 2, (4< 147) (3.65)

P, (4< 1 47) = F, (8 t~) P, (471 47) . EJ (8 t,) + G~(S t,) Q, (4<) G[ (3 t,) (3.66)

donde 3 t, =4< 47
Actualizacin de la medida observada por el sensor i:

2,(4< 4<)=2,(4< 147)+K}4<).[z,(4<) H,(4<)<%(4< 47)] (3.67>

PV (4< 4<)=PV(4< I47)+H~T(4<). RI(4<) .HQk) (3.68>

K,(4<) = P,(4< I4<).H[(4<).Rj(4<) (3.69>

Calcular la informacin a enviar a los dems (y transmitirla>:

XJ4<) = H[(4<).R(4<).z}4<) (3.70>

((4<) = H[(4<).R(4<).H,(4<) (3.71>


2
106 3.4 Funcionamiento asincrono 22
donde, &, (4< 1 4<) es el estado del mvil estimado por el sensor i hasta que se
produzca una nueva observacin o se reciba informacin procedente de otros 2
sensores. En caso de recibir informacin externa, se realizara la siguiente
actualizacin de la estima local en el sensor .
2
14<) = P,(4< 1 4<)JPV(4< 1 47p&,(4< 1 47bx14<)+x~(4<)] (3.72)

3.- Intervalo de prediccin y asimilacin: (4< + e) <4< 2


La diferencia entre 4< y 4< es apreciable y por tanto es necesaria una
prediccin del estado del sensor i hasta el tiempo tj< antes de realizar la asimilacin j
de la informacin recibida.

Prediccion: 2
14<) = F}St4i,(4< 4<) (3.74)
21Q 4<)=HQYt$/).&,(4< [4<) (3.75) 2
P,(4< 4<) =F,Q5t~) .p(tk ).FT(dt) G,(3t
4).Q(4<) .G[(St~) (3.76> j
donde 8 t~ = y~. =4<4<
Asimilacion:

~(4< 4<) =P(t7 14<). [p( 4<) .~ 4<) + Xjtfl] (3.77) 2


<(4< 4<)=<(4< I4<)+flQ~) (3.78> 2
y se considera como ltimo instante de actualizacin de la estima 4< = t~.

Por ltimo, se debe sealar que en un sistema completamente asncrono, las j


senales de control al robot y los periodos de medida de cada uno de los sensores
son distintos. Adems la frecuencia con la que realiza las medidas el sensor fisico 2
no tienen porqu coincidir con el del sensor lgico. Todo esto lleva a situaciones
ms complejas que la mostrada en la figura 3-4. 2
Por ejemplo, en la figura 3-4, se muestra cmo el periodo de control es
mayor que la frecuencia de medida del sensor i, por lo que recibe distintas seales

de control dentro de un mismo periodo de observacin. En este caso se realizan


2
una serie de predicciones y asimilaciones para cada seal de control u, con el fin de
2
tener en todo instante la estima ms precisa.

2
si
Capitulo 3. Integracin multisensorial de medidas de posicin 107

Seales de
control
Medida y Medida

u U U U taceptal tiempo

~ tE>
A
Prediccin> prediccin
At

asimilacin
Pred,ccxon

caso 1: Rechazo la medida ______

caso U: Medida anterior

1~>

caso III: Medida posterior -n

Figura 3-4. Asincronismo entre seales de control, de medida y observaciones.

El asincronismo existente entre la observacin del sensor fsico y la


observacin del sensor lgico lleva a que ocurran tres casos diferentes, obsrvese la
figura 3-4:

Caso 1: rechazo de la medida si el tiempo de la observacin correspondiente


supera el tiempo que considera el usuario que es el retraso es permisible o
despreciable, denominado tacepta.

Caso II: si la observacin es anterior a la solicitud de la medida, pero se


encuentra dentro del intervalo de tiempo desprecible, tacepta, se considera que la
observacin tiene el mismo tiempo que el instante de medida, y se predice hasta
ese punto, para posteriormente actuar como ya se ha indicado.
Caso III: si la es realizada en un instante de tiempo posterior a la solicitud de
la medida se acta como ya se ha indicado.

Como podemos ver, de esta forma conseguimos tratar de forma sncrona,


desde un control de alto nivel, a un sistema que trabaja con sensores totalmente
asncronos en su bajo nivel. Aunque el control y el tratamiento de alto nivel se
realice a partir de observaciones sncronas, stas han sido obtenida a partir de la
mejor estima posible en cada momento por parte de sensores totalmente
asncronos.
u
2
108 3.5 Resultados experimentales
u
3.5 Resultados experimentales
Para ilustrar el funcionamiento asncrono de nuestro sistema de fusin de
2
medidas de posicin estimaremos la posicin de un robot mvil que realiza un
movimiento en dos dimensiones. El vector de estado utilizado es aIx,y, 9, donde
u.
x e y son las coordenadas del mvil en un sistema de referencia fijo determinado y
9 representa su orientacin respecto al eje X. El modelo del carro es similar al si
utilizado en [Kam 97].
Los sensores utilizados para estimar la posicin del mvil son, vase la figura 2
3-5: unos odmetros (51), una brjula magntica (52) y un receptor de radio (S3>.
En este ejemplo se ha buscado mostrar la integracin de medidas de posicin de 2
sensores relativos (51) y absolutos (S2 y S3). Cada uno de ellos representa un
sensor de posicin de los tipos indicados en el capitulo 2, como son sensores
odomtricos (Si>, sensores de orientacin (S2) y balizas artificiales (S3).
2
2
Conductor
2
4 u
2
si
Figura 3-5. Sensores distribuidos. 4 (U, Xt=>,Y(>, H(t,k>} u
3.5.1 Modelo del sistema y de los sensores
si
El modelo de estado del mvil para cada sensor, donde el vector de estado
del mvil representa su posicin y orientacin, ~,(t) = (x(t),y(t),.9(t)), es el
2
mostrado en (3.10).
2
u
si
Capfrisio 3. Integracin multisensorial de medidos de posicin 109
iz
Si se define V(t) = ~ ~(velocidad solicitada) y y(t) = (giro

2 b
demandado, b es la separacin entre las dos medas) como las seales de control al
mvil u(t) = [V(t),y(t)] se obtiene el siguiente modelo no lineal:

*~(t)=V.cos,9}t)
1>1 (t) = V . sen.9, (t) (3.79>
= y

O, en forma discreta es:


(k + 1) = x(k + 1) + D(k) . cos9}k)
y,(k+1)=y(k+l)+D(k).sen.9,(k) (3.80)
9,(k+l)=9(k)+A.9(k)
~izq T + vder . T ~ + d<Ser d~q

donde D(k)= 2 2 y A.9(k)=y.T= y


la seal de control queda u(k) = [D(k),A.9(k)].

Modelo de medida de los sensores:


El modelo de observacin de cada sensor se considera lineal para simplificar
el ejemplo y son:

a) Brjula magntica:
La brjula magntica puede considerarse como un sistema de primer
orden con una constante de tiempo t de 4 seg.

v..9~(t) = t9~(t)+.9~(t) (3.81)

b> Receptores de balizas:

Las balizas artificiales utilizadas proporcionan la posicin absoluta del


mvil directamente. As, puede modelarse aadiendo mido blanco al
estado del mvil y no necesita utilizar ningn estado adicional.

c> Odmetro:
El modelo de los odmetros vienen dados por la adicin de un random
walk a la lectura de la variacin de posicin estimada.

Xe(t) = (1) (3.82)

A partir de los modelos anteriores, se tienen dos opciones:


4
si
110 3.5 Resultados experimentales 4
(1) Se utilizan como estados los tres indicados anteriormente que
representan las variables de inters en el robot mvil y se realiza un

aumento de estados debido a los e~tados adicionales de la brjula y


2
el encoder. En este caso tendremos un vector final de estados
como, 4
Este vector de estados y e modelo de transicin de estados
correspondiente (una matriz de tamao 6x6) puede utilizarse tanto 2
de forma distribuida como centralizada.
Esto tiene la ventaja de que los resultados del filtro distribuido son 2
directamente comparables con los resultados del filtro centralizado.
Sin embargo, tambin existen serios inconvenientes como son que

el tamao de las matrices utilizadas es muy grande; y que si se


2
desea incluir un nuevo sensor o suprimir uno ya existente es
necesario
las modificar
matrices el vector
del sistema de uno
en cada estados y por
de los tanto cambiar
sensores. todas
Las matrices si
utilizadas en este caso en el filtro de Kalman se pueden encontrar
en el Apndice D.
4
(2> Se utiliza un modelo distinto para cada sensor. Cada sensor tendr 4
en cuenta las variables de estado de inters que deben comunicarse
entre s y aquellas necesarias debido al modelo del propio sensor.
Aunque el vector de estado interno del sensor tenga ms estados la
2
nica informacin que se transmite a otros sensores es el vector de
si
estados comn, , (t)
asociada.
= (x(t), yQ), .9(t)), y su matriz de covarianzas
2
Esto reduce el tamao de las matrices utilizadas y permite que
cada sensor sea independiente de los dems. Las matrices
si
necesarias en el filtro de Kalman se encuentran descritas en el
Apndice D. si
3.5.2 Simulaciones

Se realizarn distintas simulaciones sobre una misma trayectoria para poder si


compararlas entre si. Esta trayectoria consta de movimientos con velocidades entre
1 mis y 0.5 mis, vase la figura 3-6, donde se mantiene movimientos rectilneos y se 4
si
si
Cap Quo 3. Integracin multisensorial de medidas de posicin 111

realiza una curva de 180 grados. De esta forma se puede observar el efecto del
filtro en el momento ms comprometido, cuando se realiza una curva con
velocidad mxima. Las simulaciones distinguen dos casos claramente diferenciados:
La primera simulacin muestra el funcionamiento del sistema de fusin
cuando todos los sensores funcionan correctamente. En esta simulacin se pone de
manifiesto el comportamiento del filtro subptimo diseado.
La segunda simulacin presenta el comportamiento del sistema ante distintos
fallos de los sensores, de forma que se pueda observar la evolucin y
comportamiento del sistema de fusin ante distintos fallos. Se han estudiados dos
tipos de fallos: cuando un nodo del filtro deja de funcionar debido a que no puede
utilizar su sensor y cuando falla su comunicacin con los dems sensores y por
tanto slo puede utilizar su propia estima.

Trayectoria real
40 4
1 m/s Y%Q).5 m/s

met
ros 20
0.5 ns
1 m/s

o
o 5 10 15 20 25
Angulo de giro
200

gra
dosioo

o
o 5 10 15 20 25 30
metros

Figura 3-6. Datos de la trayectoria sin ruidos

En la figura 3-7 se muestran las medidas de los sensores en la trayectoria


seguida por el mvil para ambos casos. En la figura 3-7a se muestran las medidas
de posicin (x,y) observadas por la baliza y por los odmetros; y en la figura 3-7b se
presenta la orientacin obtenida por los tres sensores. A la derecha de cada figura
se incluye una ampliacin de la figura para destacar el error que comete cada uno
si
112 3.5 Resultados experimentales

de los sensores. Puede observarse como el error de posicin de la odometra crece


si
con l tiempo, el error de rientacin de la brjula es del orden de uno o dos 2
grados de error y el error de orientacin de los receptores de baliza es muy grande,
y por tanto no debera utilizarse la orientacin indicada. j
43
42 si
ci
o
-
30
41
40

39
- 2
20 38

10
37
36
35
si
o.10 0 10 20 30
_______________________________________________________
2 4 6 8

N~TROS
a) Posicin medida por la bauza y os odmetros
NETROS 2
200 J
150

ti loo

MEmOS 20 25 30
II 12
METROS
13 14
2
b) Orientacin medida por cada sensor.

si
Figura 3-7. Posicin y orientacin medidos por cada sensor.
Con estas medidas se realizan los siguientes experimentos: 2
Caso 1: Funcionamiento sin fallos de los sensores 2
En este caso no se producir ninguna anomala en la informacin obtenida
por los sensores ni en la transmisin de esta informacin. Los nicos errores que

pueden aparecer en el clculo de la trayectoria correcta sern debido a uno de


si
estos efectos: (1) desviaciones de los sensores de la trayectoria real debido a su
error en la medida; (2) no validacin (interna o externa> de la=estimas de los
sensores; y (3), rechazo de estimas debido al asincronismo entre los nodos, es decir,
si
2
si
- 2
Capitulo 3. Integracin multisensorial de medidas de posicin 113

a la no aceptacin de una estima procedente de otro sensor cuando llegue


retrasada un tiempo mayor del considerado como permisible.

En la figura 3-8 puede observarse la trayectoria estimada por cada sensor a


partir de su propia observacin y de la informacin recibida de los otros sensores.
Esta trayectoria es comparada con la que calculara un filtro centralizado (ptimo>
en esas mismas condiciones y puede observarse como la estima distribuida
prcticamente no se aparta de la centralizada.

Conviene destacar que con este mtodo todos los sensores conocen el estado
completo del mvil, aunque por s solos nicamente pudiesen estimar parte de ese
estado. Por ejemplo, la brjula magntica slo observa la orientacin del mvil. Sin
embargo, gracias a la informacin recibida, es capaz de estimar el estado completo
del mvil, que puede utilizar en posteriores estimas. De esta forma se evita, como
buscbamos, el uso de un nodo de fusin central que realice la fusin de las
medidas de todos los sensores y el posterior envo del resultado de vuelta a todos
los sensores.

50

40

n30
o

~20

lo

o
-10 0 10 20 30
METROS
Figura 3-8 Trayectoria estimada
.

En la figura 3-Ya se compara la varianza de las estimas de orientacin del


mvil (estado 3) realizadas por la brjula, con la varianza de la observacin del
snsor y con la covarianza estimada en el caso sncrono centralizado. Aqu puede
verse cmo; cuando no ocurre ningn fallo en el sensor ni en la validacin de los
si
si
114 3.5 Resultados experimentales

datos estimados, la covarianza de la estima se encuentra por debajo de la varianza


si
propia del sensor pero ~or encima de la obtenida en el caso centralizado. Ser igual
a la del caso centralizado cuando todos los sensores validan sus medidas y las 2
recibidas por los otros.

En la figura 3-9b se muestra el mismo caso para los odmetros. Aunque el


filtro es subptimo y el filtro centralizado obtiene una estima ms precisa (estima
ptima), en esta figura se muestra tambin que la covarianza de la estima del filtro
distribuido asncrono es menor que la varianza de la medida y por tanto se
si
consigue mejorar la estima de un sensor aislado.
si
z
o
10
l
si
u
si
o
10
-2
2
N
si
10
-3

0 10 20 30 40 50 60
si
TIEMPO (seg)
Brjula magntica (SI> si
a
10
>
>

><
5
S
S2
S2
obsoleto
no recit/no val
obsoleto
no recib/no val
si
l

si
ji iL
10

o aa

lo -2 si
1 o 0
si
10 20 30 40 50 60
TIEMPO

Odmetros (SS)
(seg)
si
Figura 3-9. Varianza de la orientacin. Caso centralizado y distribuido.
2
si
si
CapQuo 3. Integracin multiserworfal de medidos de posicin 115

As podemos observar que cuando un sensor asimila toda la informacin


procedente de los otros sensores, las estimas de cada sensor sern las mismas entre
s, y muy prximas a la del filtro centralizado (estima ptima>. Pero cuando se
producen rechazos de la informacin que se recibe debido al asincronismo del
sistema se producen aumentos en la incertidumbre de la estima calculada. Estos
picos en la covarianza se pueden ver en las figuras Ya y 9b. Tambin se pueden
observar otros picos producidos por el rechazo de la observacin (validacin
interna) y el rechazo de la informacin recibida (validacin externa>.

Para comprender mejor los instantes en los que cada sensor rechaza las
medidas en una validacin de datos se representan en la figura 3-10 el lugar donde
se ha producido un fallo para la situacin mostrada en la figura 3-Ya.

50

40

cn3Q
o

~20

10

o
-10 0 10 20 30
METROS

Figura 3-10. Situacin de los fallos en el sensor brjula (Si).

En las tablas siguientes se muestra el nmero de validaciones y fallos


ocurridos en cada sensor para el ejemplo presentado anteriormente:
a.- La tabla 3-1 muestra el nmero de medidas realizadas y cuantas son
rechazadas por el sensor al realizar la validacin de sus propias observaciones
(validacin interna). Como puede verse son muy pocas las medidas rechazadas.

b.- La tabla 3-2, presenta las validaciones externas que realiza cada sensor, es
decir, el nmero de datos que acepta y rechaza procedente de otros sensores.
2
2
116 Resulta&s experimentales
si
3.5

c.- La tabla 3-3 es un complemento de la tabla 3-2 y muestra cuantos datos


de los no validados por los sensores son debidos a que han llegado tarde y se
consideran obsoletos, tengamos en cuenta que el nmero de datos obsoletos debe 2
ser pequeo en relacin con el nmero de medidas, lo contrario significara que el
sistema sensorial no est correctamente diseado. Por ejemplo en el caso mostrado
es aproximadamente de un 4%.
2
En e ejemplo mostrado todos los sensores realizan 599 medidas. Para si
comprender el conjunto de las tablas se va la siguiente interpretacin de las tablas
3-1, 3-2 y 3-3. La relacin del sensor 1 con respecto al sensor 2 es: Si no recibe de
52 5 estimas, 51 valida de S2 565 de las estimas recibidas, no valida 6 y considera
2
23 estimas procedente de S2 como obsoletas debido a retrasos en la comunicacin.
El total es, como es lgico, 599. Lo mismo es aplicable abs dems sensores.
si
2
2
2
Tabla 3-2: Validacin de datos externos
2
Total/no recibido Valida NO valida si
Si/ Sj-Sk S

51 599/50 5
52

565
S3

573
51

0
SS

-
SS

0
si
52
53
599/1O
599/15
570

572
-
565
567
-
0

0
-1
3 2
Tabla 3-3: Dato obsoleto
si
Si
Sl

2
52

23
53

26
si
52
SS
28

26
-

26
31
-
2
2
si
CapQuo 3. Integracin multisensorial de medidas de posicin 117

Caso 2 _ Fallo en el funcionamiento de un sensor


La ventaja del sistema distribuido es que en caso de malfuncin de un sensor,
el sistema podr continuar funcionando satisfactoriamente, siempre que existan
medidas redundarites claro est. Esto lleva a preferir este tipo de sistema frente a
los centralizados a pesar de que su precisin sea un poco menor. Para mostrar la
robustez del sistema frente a distintos fallos de los sensores se realizan dos
experimentos:
Experimento 1: Fallo en la medida del sensor

Uno de los sensores no puede obtener ninguna medida por parte de su


sensor fsico, de forma que no puede actualizar su estado. Por ejemplo,
supongamos que el receptor de las seales de la baliza (sensor 52) entra en una
zona de sombra y no puede recibir dichas seales. Como es lgico ser incapaz de
estimar su posicin por s solo.
En este caso, si funcionase slo sin tener en cuenta las medidas de los otros
sensores (ya sea porque no est trabajando dentro del filtro o porque no es capaz
de asimilar la informacin de los otros sensores) sera imposible que el sensor S2
pudiese estimar la posicin del mvil, vase la figura la. En este caso el sensor 82
slo puede estimar su posicin mediante el modelo del sistema que posee, por
tanto su incertidumbre aumenta indefinidamente con el paso del tiempo como
puede verse en la figura 3-lib.
En el momento que el sensor pueda recibir la informacin de sus emisores
de seal podr localizarse de nuevo.
si
2
118 3.5 Resultados experimentales

50

si
cn3O
o

~20
si
10 si
o
0 5 10 15 20 25 30
si
METROS

si
io2
2
10
si
10
o
2
10
1

.2
si
10

10
.3
2
0 10 20 30 40 50 60

Figura 3-11. Fallos en la adquisicin de medidas y en la recepcin en sensor Baliza (S2).


si
Sin embargo, gracias a la utilizacin del filtro de Kalman distribuido este caso
2
no afecta al funcionamiento del sistema, mostrando de esta manera su robustez
ante fallos del sensor o prdidas momentneas de seal. si
En la figura 3-12 puede verse que, aunque el sensor 82 deja de recibir
informacin de su emisor de baliza y no puede localizarse por s mismo, puede si
reconstruir perfectamente su posicin gracias a la informacin de los otros
sensores. si
si
si
Cap Quo 3. Integracin multisensorial de medidas de posicin 119

50

40

~n30
o
20

I0

O
-10 0 10 20 30
METROS
a> Posicin estimada por los seilsores
10

10

-2

10
iwW ~LLUJ
.3
10
0 10 20 30 40 50 60

b) Covarianza del sensor bauza

Figura 3-12 Fallo en la adquisicin de medidas del sensor Baliza (S2>.

En la figura 3-12b se muestra que la varianza del sensor S2 aumenta al no


disponer de una de las fuentes externas de informacin, pero su aumento est
acotado y la precisin de su estima se mantiene gracias a la estima que recibe de
los dems sensores.

Las tablas 3-4, 3-5 y 3-6 muestran el comportamiento de cada uno de los
sensores para el caso mostrado. Su interpretacin es la misma que en el caso 1,
pero destacar aqu que el sensor Si y el sensor 53 no reciben~un nmero alto de
medidas procedentes del sensor S2 (84 en concreto) debido a que son debidas a la
no validacin interna o a que el sensor propio no responde y por tanto no se tiene
informacin que enviar.
2
si
120 3.5 Resultados experimentales
2
Tabla 3-4: Validacin interna

Total Errores
si
Sensor 1
Sensor2
599
599
0
0
si
Sensor 3 599 0 si
Tabla 3-5: Validacin de datos externos si
Total/no recibido

Si/Sj-Sk Si
Valida

S2 SS S
NO valida

S2 SS
si
Sl
S2
599/840
599/1O
5

570
489
-
573
567
0

0
3
3
-
-
si
SS 599/184 572 491 - 0 3 -
2
Tabla 3-6: Dato obsoleto si
S 52 53

S 2 20 26 2
52 28 - 31

53 26 21 - si
Experimento 2: Fallo en la comunicacin entre sensores

En este ejemplo se produce un fallo en la comunicacin y el sensor 2, el


2
receptor de balizas artificiales, no es capaz de recibir informacin para mejorar su
propia estima. Sin embargo s puede estimar el estado del mvil gracias a la
2
informacin que obtiene de su propio sensor fsico.

En este caso se puede observar cmo la covarianza de los estados es mayor


2
que en el caso de asimilacin de datos externos, figura 3-13, puesto que al disponer
nicamente de sil propia observacin no existen medidas redundantes que
2
permitan mejorar su estima.
2
si
si
2
CapQuo 3. Integracin multisensorial de medidas de posicin 121

loI

7
o

2
lo
o
LLiL 1 k4LL..AJI 1432 lij Ji A
MtJdu
o

10 20 30 40 50 0 10 20 30 40 50 60

Figura 3-13. Fallo en comunicacin (Bauza>.

Las tablas 3-7, 3-8 y 3-9 muestran el funcionamiento de este ejemplo. En la


tabla 3-5 se puede observar que el sensor S2 n recibe informacin de ninguno de
los otros sensores pero aun as el sensor funciona correctamente.

Tabla 3-7: Validacin interna

Total Errores

Sensor 1 599 0
Sensor2 599 0
Sensor3 599 0

Tabla 3-8: Validacin de datos externos

Total/no recibido Valida NO valida

Si/Sj-Sk Si 52 53 - Si 52 53

Sl 599/70 4 569 579 0 9 -


52 599/8079 497 - 500 0 9 -
SS 599/17 556 553 - 0 9 -
2
122 3.5 Resultados experimentales
2
Tabla 3-9: Dato obsoleto

S S2 SS
2
S 2 19 20 2
52 22 - 14
S3 33 30 - 2
3.5.3 Decisin de la estima mejor
2
El ltimo paso en el sistema de fusin es la eleccin de la mejor estima de los
distintos sensores distribuidos. Cada estima de posicin calculada por un sensor es
si
enviada a un nodo central que se encarga de llevar el registro de la posicin del
mvil y ofrecer esta informacin a toda tarea que lo necesite. Este nodo no realiza
4
ningn tipo de fusin, sino que toma las medidas de posicin de los distintos
sensores y enva al robot aquella que considera mejor, es decir, la ms precisa. En 2
teora, todos los sensores deberan tener la misma estima, y con la misma precisin,
cuando no existe ningn rechazo en las medidas (validacin interna y validacin U
externa); es decir, el comportamiento del filtro distribuido es semejante al del
centralizado y por tanto no existe ningn problema en la eleccin de una medida,
cualquiera sera vlida al ser todas estimaciones similares. El problema surge
si
cuando alguna de las estimas del sensor es distinta a las dems (normalmente ser
peor que la que indique la mayora> debido a un error o fallo en la validacin o en
si
el sensor. Para evitar tomar una medida incorrecta se debe realizar un test que nos
indique qu estima final es conveniente escoger. 2
Existen multitud de tests de decisin, tests de hiptesis o distintos tipos de
medidas para escoger entre cierto nmero de elementos. Por ejemplo se dispone 2
de la regla de decisin bayesiana, la regla de decisin bayesiana de coste mnimo, el
test de Neyman-Pearson, el test Minimax, coeficientes de correlacin y medidas de si
concordancia, tcnicas de votado, plantillas, medidas de distancia, etc. Estos tipos
de tests estn orientados, por ejemplo, a la asociacin de datos [Hall 92], la
clasificacin o reconocimiento de patrones [Fukunaga 90; Fukunaga 93] o la
2
deteccin, distribuida o no, [Varshney 96].
Tengamos en cuenta que ya han sido evaluados los errores debido a
2
desviaciones de un sensor respecto a los otros y rechazadas aquellas medidas que
2
2
u
CapQuo 3. Integracin multisensorial de medidos de posicin 123

no se ajustan al modelo de medida ni a la prediccin del estado del mvil. Esto es


debido al uso del filtro de Kalman distribuido, donde ya se han realizado tests Chi-
cuadrado para eliminar tales errores, por lo tanto no es necesario realizar de nuevo
decisiones complejas.
Sin embargo, si se quieren eliminar errores en la comunicacin o en el
clculo de los nodos sensoriales debera realizarse algn tipo de test que tenga en
cuenta la mayora de las opiniones de los sensores. Por ejemplo, si un sensor
debido a una causa indeterminada, como por ejemplo un malfuncionamiento o un
error en la transmisin, enva al nodo central un estado muy distinto a la de los
otros sensores pero con una vananza menor que la de los dems ser escogido,
incluso en contra de la estima de los dems nodos incluso aunque la vlida sea otra.
Para eliminar este tipo de errores se debe escoger un test relativamente sencillo de
realizar para evitar una carga de clculo excesiva y redundante.
Para realizar el test de decisin slo se dispone de la estima y covarianza de
cada sensor. Teniendo en cuenta la escasa informacin disponible y la necesidad de
no realizar excesivos clculos se escoge un test de distancia entre las estimas y una
referencia de forma que se puede disear una clasificacin de las medidas y se
escoge la mejor. Para calcular la distancia necesitamos una referencia comn con
respecto a la cual comparar las medidas recibidas. Para ello se utiliza la mejor
estima posible de las medidas, en cierto sentido probabilstico, como es la media o
primer momento y la varianza o segundo momento de las estimas recibidas. As, la
estima ms prxima a la media ser la mejor estima posible.
El test de distancia realizado necesita utilizar una mtrica que tenga en
cuenta la proximidad a la media y la precisin de la medida (la covarianza). Entre
las mtricas disponibles, la Eucldea no es vlida puesto que no tiene en cuenta la
covarianza de las medidas. Tampoco lo ser la mtrica de Mahalanobis puesto que
aunque incluye la covarianza en el clculo de la distancia a la media, no comprueba
la semejanza de las covarianzas de la media y de las estimas. La distancia ms
indicada en este caso es la distancia de Chernoff, vase la tabla 3-7, que representa
una cota superior al error de Bayes, pero evita el gran esfuerzo de calculo que se
requiere para su clculo. A pesar de ser una cota superior puede ser directamente
utilizable puesto que se desea ordenar las medidas con respecto a su proximidad a
la medida ptima y, si todas tienen el mismo bias, el orden obtenido ser el mismo.

Sin embargo, el test escogido es la medida de distancia de Bhattacharyya


[Fukunaga 90]. Esta medida es un caso especial de la distancia de Chernoff (se
2
124 3.5 Resultados experimentalei
utiliza s=0.5, vase tabla 3-7) en el que la distancia es mucho ms sencilla de 2
calcular. Esta mtrica mide la diferencia entre dos distribuciones y consta de dos J
trminos: e primer trmino mide la separacin de cada medida de la media pero
ponderada por la varianza de la medida (es un trmino equivalente a la distancia de
Mahalanobis); el segundo trmino representa un incremento en la distancia de las
medidas debido a la diferencia entre sus covarianzas. Una comparacin de las
2
mtricas indicadas y mostradas en la tabla 3-7 puede encontrarse en [Fukunaga 2
93].

si
2
2
si
si
Tabla 3-7. Ejemplos de medidas de distancias.

Por lo tanto mediante la distancia de Bhattacharyya se calcula la proximidad


2
de cada una de las estimas a la media y se escoge la menor: aquella que es la ms si
prxima a la media (lo que opina la mayora) y la ms prxima a la varianza de la
media (menor error posible) J
Tngase en cuenta que la obtencin de esta distancia, aunque es un test que
necesita muy poco esfuerzo de clculo comparado con otros test, requiere un 2
calculo excesivo si tenemos en cuenta que ya se han realizado anteriormente
distintos test de error y, por lo tanto, las medidas no pueden diferir demasiado.

Adems, al provenir de un filtro de Kalman, las medidas que poseen menor


si
covarianza son aquellas que estn ms prximas a la medida correcta (salvo errores
que no tendremos en cuenta) por lo que sera suficiente con escoger aquella estima
que posea menor error, es decir, aquella que posee una varianza menor.
2
Para encontrar la estima de menor varianza se calcula el determinante de la 2
matriz de covarianzas de cada una de las medidas y se toma aquella que sea menor.
Se hace as ya que el determinante es proporcional al volumen del elipsoide de 2
2
2
CapQuo 3. Integracin multisensorial de medidas de posicin 125

error [Duda73] y por tanto un volumen menor indicar una mayor precisin de la
medida. Como se puede observar en la figura 3-14, ahora se ha reducido de forma
apreciable el clculo necesario para determinar la estima que se debe seleccionar.
En este caso slo es necesario calcular un determinante para cada estima recibida.

Media y

Varianza de la media

(M, Z~)

Distancia de Bhattacharyya Volumen del elipsoide de error


(X,,S1) S3~

Eleccin de la menor distancia


Eleccin de la menor distancia

a) Medida de semejanza con la media 1,) Clculo de error mnimo

Figura 3-14. Operaciones realizadas en los dos test seleccionados.

Por ejemplo, en la figura 3-14 se muestra la covarianza de cada uno de los


sensores junto con la covarianza de la medida considerada en cada momento (con
un trazo ms grueso>. Las grficas corresponden al Caso 1 mostrado en la seccin
3.5.2. En estas grficas se puede observar que la covarianza de las estimas
consideradas es casi siempre ms pequea que la de las estimas enviadas, y en el
instante que es mayor que la de alguna de las estimas enviadas es debido a que el
peso de la mayora ha sido mayor que la precisin considerada. Recordemos que
esto es vlido porque las estimas proceden de un filtro de Kalman, en caso
contrario no se puede utilizar un test tan simple.
El clculo del volumen del elipsoide de error requiere uh tiempo de clculo
muy pequeo debido a que slo necesita el calculo del determinante de cada una
de las matrices de covarianzas recibidas, lo que lo hace muy adecuado para
sistemas en tiempo real.
2
2
126 3.5 Resultados experimentales

10
2
lo 2
10
114
o- 10 o 2
lo1

10
i2LJ) 1 hhut~i si
10
o 10 20 30 40 50 60
2
TIEMPO (seg)

a) 2

io 2
lo

o lo
tu
2
10o
2
U
10

102
t., liii 2
10
10 20 30 40 50

2
60
TIEMPO (seg>
o

loo
2
z
oiD
z
-1
2
114

o
tu
o
& 10
2
II~il~j ~Ij ~II

10 20 30 40 50
lo-3,
o 60
TIEMPO (seg)

b)
Figura 3-15. Varianza de la medida aceptada.
CapQuo 3. Integracin multisensortal de medidos de posicin 127

3.6 Resultados del captulo


Se han mostrado las ecuaciones necesarias para tratar los distintos casos que
aparecen en un sistema de fusin de medidas de posicin, debido a su
funcionamiento asncrono y distribuido. Se ha mostrado el funcionamiento de un
sistema distribuido asncrono para fusin multisensorial. Este sistema puede
funcionar de forma distribuida y asncrona con todos sus sensores trabajando en
paralelo. Estos sensores pueden estar distribuidos geogrficamente en caso de que
as se desee.

Como se ha mostrado con distintos ejemplos, este sistema es robusto a


cualquier variacin o fallo en el funcionamiento de los sensores. Incluso ser
prcticamente insensible al malfuncionamiento de un sensor siempre que existan
medidas redundantes, como se ha puesto de manifiesto en las simulaciones
realizadas.
Este sistema se ha utilizado para la fusin de informacin de posicin de un
robot mvil, pero de igual forma puede usarse para la estima de cualquier otro
vector de estado de un sistema o para el seguimiento de multiples objetos.
128 3.6 Resultados del captulo
Captulo 4

Fusin multisensorial de medidas de


entorno
La integracin y fusin de medidas de entorno en robots mviles es uno
de los campos sobre el que dirigen su atencin muchas de las tcnicas actuales
de inteligencia artificial. Existen multitud de mtodos distintos que
normalmente estn orientados a la resolucin de un problema concreto y con
unos sensores determinados. En este Captulo se describe un mtodo que
permite utilizar distintos sensores de entorno sin necesidad de cambios en el
sistema de fusin. Este mtodo obtiene, a partir de la estima local de los
distintos sensores, una nica estima ms precisa de las caractersticas de los
objetos detectados que rodean a un robot mvil.
Como ejemplo de su aplicacin se ha utilizado la fusin de las estimas de
la existencia o no de un objeto. El resultado de la fusin se usa en la
construccin de mapas de creencia o mapas de ocupacin, comparando su
funcionamiento con el de los mtodos clsicos, como los mapas de creencia o los
histogramas de campo.

La red bayesiana utilizada para la fusin multisensorial permite la


utilizacin asncrona de los sensores, pero se ha extendido su uso a una red
bayesiana dinmica para modificar su comportamiento temporal, lo que permite
la adaptacin dinmica del sistema al entorno. Como ejemplo del uso temporal
de la red se han introducido dos factores de olvido: sobre la informacin a priori

129
si
si
130 4.1 Introduccin 2
y sobre la informacin externa sensorial, que permiten ajustar de forma fina el
funcionamiento del sistema de fusin de entorno. si
2
2
2
si
2
2
si
2
si
si
2
2
si
si
si
2
2
CapQuo 4. Fusin multisensorial de medidos de entorno 131

4.1 Introduccin
Los diseadores de robot mviles suelen utilizar diferentes tipos de robots
debido a las ventajas y limitaciones que cada uno presenta e distintas aplicaciones,
entornos, situaciones, etc. Aunque existe la posibilidad de cambiar el robot, en
muchos casos ciertas limitaciones como la falta de resolucin en determinados
entornos, la velocidad de muestreo o restricciones econmicas o tcnicas, suelen
resolverse mediante el uso de nuevos o mejores sensores y actuadores, o la adicin
de sensores redundantes y complementarios. En este Captulo se desarrolla un
mtodo sencillo y eficaz que permite la fusin de medidas de entorno de diversos
sensores sin necesidad de grandes modificaciones o adaptaciones en el sistema de
fusin. De esta forma, un mismo sistema puede utilizar unos sensores
determinados y en cualquier momento suprimir, cambiar o aadir uno nuevo. As,
sin necesidad de realizar cambios importantes en el sistema de control del robot, se
puede hacer un estudio o desarrollo de distintos conjuntos de sistemas sensoriales
dependiendo de la disponibilidad de los sensores y del entorno o uso que tendr el
robot mvil, o configurar el sistema sensorial de forma que se obtenga el mximo
rendimiento posible de los sensores existentes.

Por supuesto, toda generalizacin requiere un mayor grado de abstraccin y


por tanto una prdida de la informacin observada, pero sta se suple mediante la
mejora producida al integrar informacin de distintas fuentes.

Existen varias arquitecturas utilizadas en fusin multisensorial de


informacin [Chong90; Viswanathan 97], entre ellas hemos escogido una red
distribuida de sensores, al igual que en la fusin de la informacin de estado, con
dos niveles distintos de abstraccion:
1.- Preprocesamiento y extraccin de caractersticas: El tratamiento de
las medidas de los sensores flsicos es realizada por parte del usuario
mediante cualquiera de las tcnicas utilizadas comnmente [Hall 92;
Linas 90; etc.] y el resultado de su observacin, el vector de
caractersticas que interese al diseador, ser proporcionado al
sistema de fusin para que sea fusinado con los resultados
obtenidos por otros sensores.
2.- Sistema de fusin: El sistema de fusin de identidad ser diseado
mediante una red bayesiana [Pearl 88; Neapolitan 90] donde se
2
132 4,1 Introduccin

integrarn las estimas de los sensores; permitindose que el sistema si


sea fcil de configurar y que pueda paralelizarse en caso necesano.

La informacin a fusinar, el modo de fusinarla y la informacin


2
que e sistema proporciona pueden ser elegidas y diseadas de

forma sencilla por e usuario.


si
A continuacin se muestrn distintos mtodos de fusin multisensorial de

medidas de identidad, sus ventajas y sus inconvenientes. Despus de esta revisin,


2
en la seccin 4.2, se describe el mtodo escogido (las redes bayesianas> para
desarrollar un nuevo mtodo de fusin y se describe cmo puede implementarse. J
En la seccin 4.3, se muestra cmo nuestro mtodo funciona igual que los mapas
de ocupacin [Elfes 86] y los histogramas de campo [Borestein 89] y cmo puede 2
adaptarse para trabajar con otros distintos tipos, y formas de actualizacin, de los
mapas de entorno. Una vez estudiado el funcionamiento de las redes bayesianas y 2
su utilizacin en fusin sensorial, en la seccin 4.5 se muestra un ejemplo de la
utilizacin del sistema desarrollado para la fusin de medidas de entorno de dos
sistemas de sensores: un cinturn de ultrasonidos y un sistema de visin si
estereoscpica. Una vez mostrada su capacidad para fusionar sensores distintos es
necesario dotar al sistema de un cierto comportamiento temporal y dinmico. Esto
se realiza en la seccin 4.6, donde por medio de redes bayesianas dinmicas se
si
adapta el sistema de fusin para que evolucione en el tiempo. Como ejemplo se 2
implementan distintos factores de olvido y se muestran distintos casos para resaltar
su comportamiento temporal y eficacia. Por ltimo, en la seccin 4.7 se realizan si
una serie simulaciones con datos reales y simulados para mostrar la eficacia y el
comportamiento del sistema ante errores y mido en las medidas. si
si
si
si
si
2
2
2
CapQuo 4. Fusin multisensorial de medidos de entorno 133

4.2 Algoritmos de fusin de identidad


En un caso general tendremos mltiples sensores de diferentes tipos que
observan una entidad fisica, objeto o suceso. Cada sensor realiza un
preprocesamiento que incluye la extraccin de caractersticas y la declaracin de
identidad de los objetos observados. La declaracin de identidad de cada sensor
debe ser procesada mediante un mecanismo de asociacin a fin de agrupar las
observaciones en conjuntos que representen el mismo objeto o entidad. Los
mtodos para fusinar estas declaraciones de los sensores se pueden clasificar en:
inferencia clsica, inferencia bayesiana, mtodo de Dempster-Shafer, teora
generalizada de Thomopoulos y otros mtodos directos como la lgica difusa o las
redes neuronales artificiales.

4.2.1 Inferencia clsica y modelo probabilstico

La probabilidad es el mtodo ms extendido para representar la


incertidumbre en la afirmacin de cierta hiptesis. En la inferencia probabilstica
existen cuatro interpretaciones distintas del trmino probabilidad [Papoulis 90]:
Axiomtica (definicin de la probabilidad de cada suceso), frecuentsta (emprica a
partir del nmero de sucesos observados), clsica (a partir del nmero de sucesos
posibles) y subjetiva (medida de creencia de un suceso>.

Los modelos probabilsticos ms utilizados para mostrar incertidumbre en la


toma de decisiones son el frecuentsta y el subjetivo. Un modelo probabilstico es
el mtodo que proporciona una conexin entre los datos observados y la poblacin
existente.
La inferencia frecuentsta tradicional presupone que la probabilidad de un
suceso A en un experimento dado se aproxima a su probabilidad verdadera cuando
el nmero de pruebas que se hacen es muy grande, por lo que podemos decir que
mide su repetibilidad. Sin embargo, en la interpretacin subjetiva el valor que se
asigna a un suceso A es una medida del estado de conocimiento o creencia en la
ocurrencia de ese suceso. As, cuando existe una total ignorancia en un conjunto n
de sucesos, la probabilidad de que ocurra uno de ellos ser igual para todos, es
decir un. Esta interpretacin es la que ser utilizada en este trabajo.
En ambas aproximaciones se asume que los datos observados corresponden a
uno de los N posibles objetos existentes (universo de discurso). Entonces surge la
si
si
134 4.2 Algoritmos de fusin de identidad 2
cuestin siguiente: podra encontrarse una correspondencia razonable entre los
datos observados y el objeto j?. Para contestar a esta pregunta se~supone que se J
dispone de un conjunto de hiptesis exhaustivas y mutuamente exclusivas que
pueden explicar los datos observados, y que se debe realizar algn tipo de test que
nos indique si los datos justifican la afirmacin sealada. Estos test se denominan
contrastes de hiptest~ y en ellos se procede de la siguiente forma: se asume que la
si
hiptesis 11<> es cierta y se realiza el contraste de esa hiptesis; si se supera el test, si
entonces las observaciones tienen una gran probabilidad de ser obtenidas si H0 es

cierta, es decir, los datos se toman como no contrarios a H0. Al contrastar una
hiptesis H0 podemos adoptar dos decisiones, aceptarla o rechazarla; y adems
2
dicha hiptesis puede ser cierta o falsa, yanse las distintas definiciones en la tabla si
4-1.

Verdadero positivo (sensibilidad): Acierto: SI hay objeto P(s+e)


2
Aceptar la hiptesis cuando es cierta
Falso negativo: Fallo: error de E P(-?sI+e)
2
Rechazar la hiptesis cuando es cierta especie (error tipo 1)
Falso positivo: Fallo: error de 2~ P(+se) si
Aceptar la hiptesis cuando es falsa especie (error tipo II>
Verdadero negativo (especificidad): Acierto: NO hay objeto P&5e) si
Rechazar la hiptesis cuando es falsa
Tabla 4-1. Distintas denominaciones de los errores y aciertos de un sensor s. si
Aunque los errores que pueden cometerse son iguales en cuanto a que son
aleatorios, pueden ser distintos en cuanto a sus repercusiones. Parece lgico
si
admitir que ser de fflayor alcance o gravedad el error de tipo 1 que el error de tipo
II, pues rechazar una hiptesis que resulta ser cierta posee, al menos en principio, si
mayor transcendencia que aceptar una hiptesis que resulta ser falsa, debido a que
se supone que en este ltimo caso podr ser rechazada en posteriores pruebas, 2
mientras que si se rechaza nunca ms volver a ser utilizada. Por ejemplo, en el
caso de sensores detectando obstculos, ser ms grave rechazar la existencia de un
obstculo cuando realmente existe (error 1) que suponer que existe un obstculo
si
cuando no hay nada (error II>.
Puesto que no pueden hacerse los dos errores a la vez tan pequeos como
si
queramos, es conveniente acotar el error de tipo 1 e intentar hacer lo ms pequeo 1]

2
2
CapQuo 4. Fusin multisensorial de medidas de entorno 135

posible el error de tipo II. Esto no es otra cosa que elaborar una regla que nos
permita dilucidar la aceptabilidad o no de la hiptesis considerada, es decir, un
contraste. Existen distintas reglas o contrastes para tomar dicha decisin [Duda73;
Hall 92], como son el mximo a posteriori, el de mxima verosimilitud, el test de
Neyman-Pearson, el minimax o un test bayesiano.

A pesar de su alta utilizacin en multidud de campos, la inferencia


probabilstica clsica tiene serios inconvenientes en su utilizacin para la fusin de
informacin sensorial, como son:

La inferencia clsica puede generalizarse para incluir datos


multidimensionales de diversos sensores, pero requiere un
conocimiento a priori y un clculo de funciones de probabilidad, lo
que no es factible en muchas situaciones reales.
Slo se pueden contrastar dos hiptesis al mismo tiempo (la
hiptesis nula H0 y la hiptesis alternativa H1>.

La complejidad aumenta enormemente con datos multivariables.


La inferencia clsica no tiene en cuenta la ventaja de un
conocimiento a priori, imprescindible cuando se trabaja con
informacin sensorial.
La probabilidad frecuentsta slo es definible para sucesos
repetibles. Esto conilleva ciertas limitaciones en las aplicaciones de
fusin de datos puesto que incluyen sucesos nicos o poco
repetibles.
No indica si una hiptesis es cierta o falsa, sino ms bien la
verosimilitud de que los datos sern observados si la hiptesis es
cierta, lo cual no es directamente aplicable al caso de fusin de
datos.
Los expertos, y en general los seres humanos, tienen dificultades a la
hora de asignar valores numricos a observaciones y juicios, la mayor
parte de ellos subjetivos. Para evitar obligar al experto a dar un
valor entre O y 1, algunos sistemas dan una escala numrica ms
amplia. Por ejemplo el sistema PROSPECTOR [Duda79] permita
al experto expresar su grado de confianza entre -5 y 5.
2
4.2 Algoritmos defusin de identidad
136

Las reglas de clculo de la teora de probabilidad (sumas y


2
productos> favorecen el aumento del er=oren la propagacin de

incertidumbre a lo-largo de una cadena de razonamiento.


2
Es necesario considerar un gran conjunto de alternativas exhaustivo J
y mutuamente exclusivo, lo cual es en general bastante difcil.
Todos estos inconvenientes en la utilizacin de modelos probabilsticos e 2
inferencia clsica han llevado a utilizar mtodos alternativos que salven estas
dificultades en su aplicacin en la fusin multisensorial. si
4.2.2 Inferencia bayesiana si
La inferencia bayesiana resuelve - algunas de las dificultades de la
probabilidad clsica. Puede utilizarse tanto con probabilidades clsicas como con
subjetivas (no son necesanas funciones de densidad de probabilidad>. Gracias al 2
teorema de Bayes, el concepto de probabilidad subjetiva, siempre que se utilice
con cuidado, puede ser muy til en el proceso de inferencia de lafusin de datos.
El concepto fundamental de las estadsticas bayesianas es el de probabilidad
si
condicional: si
P<HIE) (4.1>

La expresin anterior se puede leer como sigue: la probabilidad de la 2


hiptesis H dada la evidencia E. Supongamos EL, H0,... LA hiptesis mutuamente

exclusivas y exhaustivas que pueden explicar un suceso -E. Para calcular la


probabilidad (condicional) de una hiptesis H se utiliza el teorema de Bayes:
2
P(HJE)= P(E[H,).P(H,) 3P(H,)=1 (4.2) 2
Zn~EH~nH~

donde
P(H,E), la probabilidad de que la hiptesis i, EL, sea verdad dada la 2
evidencia E.
P(E II,), la probabilidad de que se observa la evidencia E dada la
hiptesis i como verdadera.
P(H,), la probabilidad a priori de que a hiptesis i sea cierta, 2
independientemente de cualquier evidencia especfica.
el nmero total de hiptesis posibles.

si
si
CapQuo 4. Fusin multisensorial de medidas de entorno 137

La formulacin bayesiana posee bsicamente dos ventajas sobre la


formulacin clsica:
- Proporciona una forma para determinar la probabilidad de que una
hiptesis sea verdadera dada la evidencia y no para calcular, como
ocurra en la clsica, la probabilidad de que una observacin pueda
ser debida a un objeto o suceso supuesta una hiptesis.
- Incluye la posibilidad de incorporar conocimiento a priori al
calcular la probabilidad de que la hiptesis sea cierta. Esta
propiedad permite su utilizacin en procesos de inferencia
multisensorial puesto que no se necesitan funciones de densidad de
probabilidad. Sin embargo, no se debe olvidar que la salida de tal
proceso de fusin ser tan bueno como sean los datos de entrada
(las probabilidades a priori).
La ecuacin (4.1> representa la probabilidad de H condicionada a la
evidencia E. Sin embargo, si existen otras evidencias, y stas no son
independientes, no pueden sumarse sus efectos: es necesario representar la
probabilidad condicionada que surge de su conjuncin. As, si aparece una nueva
evidencia e, es necesario realizar la siguiente operacin en la ecuacin (4.2),
obteniendo:

P(Ivfe,E)= P(h9e). P(Ee,H) (4.3>


P(Ee)

En la figura 4-1, se muestra el uso de la integracin de datos de identidad


mediante Bayes [Hall92]. En ella se muestra cmo mltiples sensores observan
datos paramtricos de un objeto cuya identidad es desconocida. Cada uno de los
sensores proporciona una hiptesis sobre la identidad del objeto. Para cada sensor,
un dato a priori proporciona una estima de la probabilidad de que el sensor declare
el objeto como de tipo i y que de hecho sea el objeto j, P(0declara t). Estas
declaraciones de los sensores se combinan mediante el teorema de Bayes para
obtener una probabilidad conjunta de la posibilidad de que sea el objetoj:

Siendo D la declaracin del sensor i. La declaracin conjunta es la eleccin


del valor ms alto de la ecuacin (4.4) denominndose regla de decisin de la
probabilidad mxima a postenon.
2
si
138 4.2 Algoritmos defusin de identidad 2
Cuando no existe informacin a priori relativa a la verosimilitud de fi, se
utiliza e principio de indiferencia que emplea el mismo valor de P<H~) para toda i. 2
A pesar de su amplia utilizacin, existen reservas en su aplicacin por parte
de los seguidores de la escuela estadstica frecuentsta debido a dos causas [Jefferys 1
92]: S

- Argumentan que si slo una hiptesis, 14 puede ser cierta no tiene si


sentido hablar de la probabilidad de EL. Esto es lgico desde el
punto de vista frecuentsta, pero no si se interpreta la probabilidad
2
-
como un grado de la confianza en una hiptesis.
No hay un modo universalmente aceptado de asignar las U
probabilidades a priori P(LLE), necesarias en el teorema de Bayes.
Adems, los mismos datos pueden llevar a conclusiones diferentes.
A pesar de ello, los defensores de la inferencia bayesiana sostienen
que no hay nada bsicamente errneo en la probabilidad subjetiva,
2
puesto que la estadstica frecuentsta no es mucho ms objetiva. J
Declaracin de los
sensoo~s a partir de
Matriz de
datos a priori
Fusin de la probabilidad
del objeto j
Seleccin del
valor mAs alto de
2
su observacin P(0
11D0) P(O~) j
[fjj. P(QD,)
Fusin bayesiana 2
D~i
[~ffj~] .......,.
PQZ~D10D20D~)
Decisin
lgica
Declaracin
deidtad
j=1 M si
EfE nj. P(OjDi) 2
Figura 4-1. Integracin de datos de identidad mediante Bayes. 2
Un ejemplo de un sistema experto donde se ha utilizado la formulacin de J
Bayes con xito es en el programa PROSPECTOR [Duda 79], aplicado en la
localizacin de yacimientos de minerales. 2
Desafortunadamente, debido a que el mundo es enormemente complejo, e
tamao del conjunto de probabilidades combinadas que es necesario tener en U
si
si
CapItulo 4. Fusin multisensorial de medidas de entorno 139

cuenta crece de forma 2~, donde n es el nmero de hiptesis a considerar. As, el


teorema de Bayes es inaplicable directamente porque:

Son necesarias demasiadas probabilidades. Adems las personas son


malas estimadoras de probabilidades condicionales.

El tiempo empleado en calcular las distintas probabilidades posibles


es demasiado grande para aplicaciones en tiempo real.
A pesar de todos estos problemas, la estadstica bayesiana proporciona un
interesante sistema para razonar bajo incertidumbre. Por ello se han desarrollado
distintos mecanismos que consiguen que el problema sea tratable, como son la
inclusin de factores de certeza a las reglas y las redes bayesanas.

4.2.2.1 Factores de certeza


>1
La forma ms intuitiva de expresar incertidumbre en una base de
conocimiento es introduciendo factores numricos de probabilidad de certeza en
cada premisa. Estos factores numricos, que estn basados en la lgica bivaluada y
en la teora de probabilidad, presentan graves limitaciones (algunas demostraciones
de ello pueden encontrarse en [Cuena86]>. El factor numerico/probabilstico ms
conocido son los factores de certeza.
Fueron definidos en el sistema MYCIN [Shortliffe 75; Buchanan 94]. Este
sistema es un sistema experto bayesiano puro utilizado para recomendar terapias
apropiadas en pacientes con infecciones bacterianas. Representa la mayor parte de
su conocimiento en forma de reglas, cada una de las cuales tiene asociado un factor
de certeza, que representa una medida sobre la evidencia que existe de que la
conclusin sea cierta cuando se verifica el antecedente.

Un factor de certeza, CF(H,E), toma sus valores entre -1 (completamente


falso> y 1(completamente cierto> y refleja un equilibrio entre la evidencia a favor
y la evidencia en contra. En el trabajo original [Shortliffe
75] se da una definicin
de cmo calcular GF<H,E) pero era incompatible con la visin bayesiana de la
probabilidad condicionada. Posteriormente, en [Heckerman86] se realizaron unas
pequeas modificaciones en su definicin para lograr que s fueran compatibles.

Una de las principales ventajas que proporciona la modularidad del sistema


de reglas de MYCIN es que permite considerar las relaciones individuales
antecedente/consecuente de forma independiente unas de otras, mientras que en
un sistema puramente bayesiano, si existe otra evidencia que es relevante para
st

2
140 4.2 Algoritmos defusin de identidad 4
deducir la hiptesis fi es necesario considerar la combinacin de probabilidades.
Esta modularidad de sus reglas provoca tambin su principal desventaja: siempre

existe el peligro de que las justificaciones de una creencia sean importantes para la
2
determinacin de sus consecuencias, provocando entonces deducciones cclicas.

Esto debe evitarse a toda costa. Por ejemplo, si una regla describe una relacin de
causalidad inversa, es decir, la evidencia se deriva de un indicio a partir de su causa
2
y otra regla describe la causa a partir de la observacin del indicio; se debe 4
procurar que la evidencia se derive de una forma que no se utilice de nuevo en
otra regla, para no volver a deducir la informacin inicial, que dara lugar a
deducciones errneas [Bici94].

4.2.2.2 Redes bayesianas 2


Este otro planteamiento conserva el formalismo del razonamiento bayesiano.
Para realizar la simplificacin que requiere la inferencia bayesiana pura se confla
en la modularidad del mundo. La idea principal es que la mayora de los sucesos
2
del mundo son condicionalmente independientes de los dems y por lo tanto no es si
necesario representar explcitamente las probabilidades existentes entre todos los
sucesos (muchas de ellas seran cero) sino slo la de los grupos que interaccionan. 4
La relacin o dependencia causa/efecto entre las variables se realiza en forma
de una red de restricciones. Se utiliza un grafo acclico dirigido donde los arcos j
representan las relaciones de causalidad entre las variables, mientras que los nodos
del grafo representan los conceptos (X, Y, Z, W,...) o variables correspondientes.

Para poder utilizarlo como base de razonamiento probabilstico es necesaria ms


st
iformacin: para cada valo? de un nodo padre (causa) necesitamos conocer qu
evidencia existe sobre los valores que pueden tomar los nodos hijos (efecto). Esta
informacin se sita fuera del grafo, en tablas de probabilidades condicionales.
2
2
x Y 2
(Causa) (Efecto)

Figura 4-2. Relacin causa - efecto st


Para que este sistema sea til en la resolucin de problemas, es necesario 2
proporcionar un mecanismo que calcule la influencia de un nodo arbitrario sobre
otro cualquiera. Para realizar esto es necesario que el grafo acclico dirigido se 2
u
si
CapQuo 4. Fusin multisensorial de medidas de entorno 141

convierta en un grafo acclico no dirigido y cuyas aristas se utilicen para transmitir


probabilidades en cualquier direccin dependiendo de dnde provenga la
evidencia, de forma que para el razonamiento sobre uno de los atributos se usar la
causa o el efecto segn convenga. El mtodo clsico para transmitir probabilidades
es mediante paso de mensajes it-A (vase el Apndice A> [Pearl 88]. En general, se
tendr informacin sobre los nodos de los bordes y se querr saber algo sobre los
nodos intermedios.

Una de las restricciones fuertes que deben existir sobre la estructura de la


red es que debe ser una red sin ciclos, es decir, se debe separar de cualquier
atributo aquello que es causa de lo que es efecto. Cuando se produce dicha
separacin pueden distinguirse distintas estructuras de red, como son las redes con
estructura en cadena, en rbol y en polirbol, que dan lugar a complejidades de
clculo cada vez mayores, vase el Apndice A.

4.2.3 Teora de Dempster-Shafer

Tambin conocida como teora de la evidencia, fue propuesta como una


alternativa a la teora bayesiana [Dempster
67; Shafer 76]. Aunque ambas teoras
producen idnticos resultados cuando todas las hiptesis consideradas son
mutuamente exclusivas y el conjunto de hiptesis es exhaustivo [Waltz90], su
forma de razonamiento es completamente diferente.

El mtodo de Dempster-Shafer, o razonamiento evidencial, modela la forma


que tienen los humanos de asignar evidencia a proposiciones hipotticas.
Dempster argumenta que los humanos no asignan evidencia (probabilidades> a un
conjunto de hiptesis mutuamente exclusivas y exhautivas, sino que asignan
estimas de creencia a combinaciones de hiptesis. As, en el~ razonamiento
evidencial, se distingue entre hiptesis y proposiciones (conjunto de hiptesis).
sta es la gran diferencia con las tcnicas bayesianas, que consideraban
proposiciones individuales, cada una con un grado de creencia. Sin embargo, la
teora de Dempster-Shafer considera conjuntos de proposiciones (universo
exhaustivo de hiptesis mtuamente excluyentes, conocido como marco de
discernimiento> y les asigna a cada uno de ellos un intervalo [Shafer
76] del tipo
[Creencia, Verosimilitud]. A cada marco se le asigna un peso conocido como
funcin de densidad de masa de forma que la suma de todos los subconjuntos sea
1.
st
2
142 4,2 Algoritmos defusin de identidad st
La Creencia (normalmente se denota por Bel, belief> representa la fuerza de
la evidencia en favor de un conjunto de proposiciones. El rango va de O (evidencia 2
nula) a 1 (certeza absoluta).

La Verosimilitud (PL, plausibility) se define como Pl(s) = 1 Bel(-ms>. Su


- si
rango tambin va desde O hasta 1 y representa el alcance con que la evidencia en
favor de s deja lugar a la creencia s. Por ejemplo, si se tiene evidencia cierta a
favor de ~s,entonces Bel%s) es 1 y Pl(ms> es 1. Esto indica tambin que Bel(s) es st
OyPl(s> esO.

Ejemplos de aplicaciones y el afianzamiento de la teora de la evidencia st


pueden encontrarse en la coleccin de artculos de [Yager94]. Distintas
modificaciones y adaptaciones de la teora han sido realizadas para resolver
distintos problemas como por ejemplo en diagnstico de fallos en sistemas fsicos
2
[Gerter 92], ejemplos de distintas aplicaciones para identificar objetos en un 2
sistema multisensor [Bogler 87], fusin multisensorial para reduccin de
ambigiiedades en el reconocimiento de objetos [Hutchinson 92], formalizaciones 2
para su razonamiento cualitativo [Wong90] o ampliaciones de la teora para toma
de decisiones [Yang94a; Yang 94b].
La amplia utilizacin de esta tcnica es debida a que el intervalo de creencia-
verosimilitud no slo mide el nivel de creencia sobre algunas proposiciones, sino

tambin la cantidad de informacin que se posee. Por ejemplo, si se dispone de


si
tres hiptesis y ninguna informacin adicional, la probabilidad de que sean ciertas
para cada una de ellas est en el rango [0,1] y conforme se acumule evidencia
2
sobre las hiptesis e intervalo se ir estrechando. En la probabilidad bayesiana
pura todas tendran 0.33 al comenzar, pero podran llegar, despus de analizar la 2
evidencia sobre ellas, al mismo valor, siendo imposible distinguir ambos casos. Esta
diferencia puede ser importante si se pretende decidir sobre si se rene ms 2
evidencia o se acta sobre la que ya hay.

Sin embargo tambin tiene ciertas desventajas:


Si el marco de discernimiento contiene n elementos, existen 2
subconjuntos. La asignacin de la funcin de densidad de masa m a
cada subconjunto debe ser tal que la suma de todos los
subconjuntos sea 1. Para evitar que el reparto de todos los valores 2
sea inabordable, a aquellos conjuntos que no son relevantes para el
problema se les asigna el valor 0. Sin embargo, la utilizacin del

si
st
Capitulo 4. Fusin multisensorial de medidas de entorno 143

factor de escala para normalizacin a 1 da lugar a resultados


incorrectos que no se corresponden con la realidad [Zadeh 79].

La evaluacin del grado de credibilidad y verosimilitud requiere un


tiempo que crece exponencialmente con la cardinalidad del
conjunto de hiptesis. Barnett [Barnett 81] consigui reducir la
complejidad al caso lineal a costa de introducir restricciones
adicionales acerca del tipo de evidencia a considerar, pero no es
factible en muchos casos.
Por ltimo, se observa [Waltz
90; Buede 97] que, en el tratamiento
de la incertidumbre, la teora probabilstica converge a una
solucin de forma mucho ms rpida que la teora de la evidencia.
Esto la hace menos recomendable en el caso de sistemas que
requieren una rpida respuesta.

A pesar de estas desventajas esta tcnica es muy utilizada en fusin de


informacin sensorial y en [Murphy98] se propone una nueva forma de utilizacin
de dos aspectos de la teora de Dempster-Shafer (la mtrica de conflicto, que
cuantifica la discordancia entre conjuntos de evidencias; y la funcin de aumento,
que permite incorporar conocimiento en el proceso de inferencia de modo natural>
que son muy tiles para la funcin sensorial y que abre nuevas perspectivas de
futuro en su utilizacin como una importante tcnica de fusin sensorial.

4.2.4 Teora generalizada de Thomopoulos

Es una nueva generalizacin de la teora bayesiana propuesta por


Thomopoulos [Thomopoulos 90]. Esta teora se centra bsicamente en la
asignacin de evidencia a las hiptesis o proposiciones y la relacin de estas
aseveraciones con las decisiones de fusin. Explcitamente separa las hiptesis de
las decisiones y destaca la eleccin de distintos test de hiptesis para cuantificar los
diferentes niveles de los datos.
El mtodo del procesamiento generalizado de la evidencia es anlogo al de
Dempster-Shafer en cuanto a que cada sensor recoge cierta evidencia que
representa mediante masas de probabilidad. Pero se diferencia del mtodo de
Dempster-Shafer en que combina las masas de probabilidad con datos de masa
basados en la probabilidad condicional a priori de las hiptesis involucradas. El
2

144 4.2 Algoritmos defusin de identidad

espacio de decisiones se divide de forma que se optimiza un cierto criterio (por


st
ejemplo, minimizar falsas alarmas, minimizar una funcin de riesgo, etc.> 2
Con este mtodo, Thomopoulos proporciona una extensin de las reglas de
combinacin para mltiples hiptesis y una formulacin para varios criterios de J
optimizacin. Esta formulacin permite una fusin y decisin general que busca la
optimizacin de criterios tales como la mxima probabilidad de deteccin de una

falsa alarma. La investigacin sobre el tema est dirigida a su implementacin, a la


st
comparacin con tcnicas de Dempster-Shafer y con las formulaciones bayesianas
y en su aplicacin en sistemas de fusin. st
4.2.5 Mtodos heursticos si
Hasta ahora no se han modificado los fundamentos de la lgica ni de la teora
de conjuntos, sino que se han ampliado utilizando construcciones adicionales de la
teora de probabilidad.
2
Sin embargo, existen una gran cantidad de mtodos alternativos para la 2
decisin y fusin de identidad que tratan de dar un enfoque distinto al
probabilstico en los mtodos utilizados.

Unos mtodos se basan en considerar el problema de la fusin de identidad


como si se tratase de un grupo de humanos, donde cada uno representase un si
sensor. En este caso se pueden utilizar tcnicas de toma de decisiones en grupo,
entre las que pueden destacarse la votacin, los modelos de puntuacin, el mtodo
de la clasificacin, etc. Una breve descripcin de ellos se encuentra en [Hall 92].

Otros enfoques de gran actualidad distintos al probabilstico son: (1)


modificar la teora de conjuntos (como por ejemplo la nocin de pertenencia a un
conjunto> y las operaciones lgicas sobre ellos (como pertenencia, unin,...), que

conducir a la lgica difusa y a los conjuntos difusos; o (2), la utilizacin de


2
funciones no lineales distintas a las probabilisticas por medio de redes neuronales
artificiales, de forma que a partir de un aprendizaje sobre una serie de entradas
st
sensoriales se dispone una red capaz de responder correctamente a distintas
entradas sensoriales. si
4.2.5 1 L4ca difusa 2
La lgica difusa, o borrosa, [Zadeh75; Zadeh 78] es una opcin a la
representacin de conocimiento incierto. Surge para especificar cmo de bien un

si
st
CapQuo 4. Fusin multisensorial de medidos de entorno 145

objeto satisface una descripcin vaga (propia de los expertos> o incertidumbre


sobre una definicin o un trmino lingilstico. Mientras que la teora de conjuntos
tradicional define la funcin de pertenencia a un conjunto con un predicado
booleano (0 1, pertenece o no pertenece>, la teora de~ conjuntos difusos
representa dicha funcin como una distribucin de probabilidades (un grado de
pertenencia a un conjunto).

Uno de los problemas de la lgica difusa es su inconsistencia con la lgica de


primer orden [Cuena86]. Otra de las grandes desventajas es la existencia de
multitud de lgebras difusas con distintas propiedades dependiendo de las
funciones que se utilicen para construir las funciones bsicas AND y OR. Si
adems interesa que dicha lgebra sea conmutativa y asociativa es necesario utilizar
funciones matemticas que verifiquen estas propiedades (t-normas, para
construccin de la interseccin, y t-conornms, para construccin de la unin). Con
estas funciones se pueden construir hasta nueve lgebras difusas distintas con
diversas propiedades. Pero todas tienen el inconveniente de que ninguna de ellas
presenta todas las propiedades del lgebra de Boole, excepto cuando se aplican a
conjuntos clsicos.
Una vez definidos los conjuntos borrosos, mediante las funciones de
distribucin que representan el grado de pertenencia de un elemento a un
conjunto y las funciones que permiten operar sobre ellos, se pueden definir
sistemas de razonamiento que estn basados en estas definiciones. Ejemplos de
integracin de informacin sensorial utilizando estas tcnicas son [Dubois92],
[Agapito 93], [Chee96] o [Gass99].
A pesar de la amplia utilizacin de los conjuntos difusos en problemas reales
y de los intentos de generalizar la teora de Dempster-Shafer para tratar conjuntos
difusos [Yen90], esta forma de tratar la incertidumbre tiene muchos detractores y,
como se seala en [Russell
95], algunos autores opinan que la teora de conjuntos
borrosos no es un mtodo apropiado para el razonamiento en condiciones de
incertidumbre.

4.2.5.2 Redes neuronales artificiales


Una alternativa a los mtodos estadsticos de reconocimiento de patrones es
el uso de las redes neuronales artificiales [Pao93; Bishop 95]. El elemento bsico
de las redes neuronales es el perceptrn; y su comportamiento depender de la
funcin de evaluacin de cada neurona y el modo de conexin entre neuronas
st
st
146 4.2 Algoritmos defusin de identidad st
[Haykin
94; Hilera 95]. El perceptrn multicapa tiene la ventaja de que no necesita
ninguna suposicin sobre la forma de las distribuciones asociadas a los datos
sensoriales, evitando as el tpico uso de distribuciones gaussianas y permitiendo el si
uso de funciones no lineales. 2
La gran ventaja de las redes neuronales artificiales es su potencia de clculo
debido a: su estructura, que permite clculos distribuidos y masivamente paralelos;
y a su habilidad para aprender y por lo tanto de generalizar (al ser capaces de st
producir salidas razonables a entradas que no fueron utilizadas en el proceso de

aprendizaje).
st
En la prctica, las redes suelen integrarse en un sistema ms complejo, es
decir, el problema complejo a tratar se descompone en un nmero de tareas 2
relativamente simples y las redes neuronales son asignadas a un subconjunto de
estas tareas que se ajustan a sus inhenerentes capacidades (por ejemplo,
reconocimiento de patrones, clasificadores, memorias asociativas, control, ...).

El uso de redes neuronales artificiales ofrece las siguientes propiedades y 2


capacidades [Haykin 94; Hilera 95]: no linealidad, correspondencia entrada-salida,
adaptativilidad, respuesta a la evidencia (clasificacin>, informacin contextual, J
tolerancia a fallos, implementacin VLSI, uniformidad en el diseo y anlisis, y
analoga con neurobiologa. Todas estas propiedades y capacidades han dado lugar
a una gran cantidad de aplicaciones. Las aplicaciones ms relacionadas con la
fusin de datos son las de clasificacin o reconocimiento de imgenes. Por ejemplo 1
ALVINN (Autonomous Land Vehicle In a Neural Network> para integracin de
dos sensores en navegacin autnoma [Pomerlean 93], pero limitado a casos muy
concretos; en el matching para visin estereoscpica [Cruz95]; en anlisis
dinmico de imgenes (para resolver ambigiledades en segmentacin de imgenes
y en e proceso de anlisis de movimiento del robot) [Huntsberger 92] o como - 1
fusin de datos para control y guiado mediante tcnicas neurofuzzy [Doyle 95].
Las mayores desventajas para integracin multisensorial radican si
precisamente en su principal caracterstica: la necesidad de entrenamiento de la
red para obtener un funcionamiento adecuado para unas entradas definidas. En si
caso de utilizar otro sensor para el cual no ha sido entrenada la red ser necesario
volver a entrenar la red para dicho sensor. A pesar de que no son directamente
aplicables como integradores de informacin con incertidumbre, su 2
funcionamiento como clasificadores es inmediato y se encuentra muy extendido.

si
si
CapQuo 4. Fusin multisensorial de medidas de entorno 147

4.3 Fusin de medidas de entorno mediante redes


bayesianas
La idea intuitiva para realizar la fusin de medidas de~ entorno mediante
tcnicas bayesianas es encontrar la probabilidad a posteriori de la existencia de un
atributo a partir de la probabilidad a priori de la existencia de ese atributo y de su
estimacin por parte de cada uno de los sensores. Para ello se utiliza la formulacin
de Bayes y la probabilidad condicional de la forma:

P(OJS1,52,...) = P(S1jO) P(S1~S2,S3,...> + P(5210> P(52S1,S3,...) + ... (4.5>

Donde P(OSI,S2,...) es la probabilidad a posteriori de que la celda est


ocupada (hiptesis, el atributo en este caso es ser parte de un objeto o no), P<SiO)
probabilidad estimada por el sensor i de que la celda est ocupada sabiendo que
est ocupada y P(SiSj, i~) probabilidad de que del sensor i enuncie esa hiptesis
sabiendo como se encuentran los dems sensores. Esto no es un modelo factible
debido a la gran cantidad de combinaciones que es necesario tener en cuenta. Para
simplificar este procedimiento de calculo de la probabilidad a posteriori del estado
de una celda utilizaremos las redes bayesianas.
Antes de realizar la fusin de medidas, es conveniente ver cmo funcionan
las redes bayesianas, es decir, cual es la base terica en la que se apoyan.

4.3.1. Funcionamiento de las redes bayesianas

En nuestro sistema de fusin, al igual que en otras tcnicas de Inteligencia


Artificial, es muy importante separar el conocimiento de la inferencia realizada.
Esto nos permitir ampliar o depurar el conocimiento que se posee sobre los
sensores o el entrno sin tener que modificar el algoritmo de inferencia. Para ello
es conveniente separar el motor de inferencia de la base de conocimiento.

4.3.1.1. Base cJe conocimiento


Toda base de conocimiento de una red bayesiana, y por lo tanto del sistema
de fusin desarrollado, se compone de dos elementos: la red y las tablas de
probabilidades condicionales (matrices bayesianas), que. representan las relaciones
entre conceptos o atributos el sistema y el efecto que cada uno ejerce sobre los
dems.
2
148 4.3 Fusin de medidos de entorno mediante redes bayesianos

Red
Es una relacin semntica entre distintos atributos. Los arcos de dicha red 2
representan la relacion causa/efecto entre los atnbutos (nodos> que componen la
red. Un atributo puede tener una nica causa, como en la figura 4-3a donde un

atributo, X, de un objeto (que puede tomar n valores exclusivos y exhaustivos> es


2
observado por un sensor S, o mltiples causas, como por ejemplo en la figura 4-3b
si
donde un sensor S observa varios atributos o aspectos de un objeto o entorno.
o si
~ O si
a) o si
b)

Figura 4-3. Relacin causa - efecto, 2


Tengamos en cuenta que si un objeto posee cierta propiedad o atributo, sta
es causa de una medicin concreta ene1 sensor S.
Existen distintas estructuras de red dependiendo de las relaciones existentes
entre las variables o atributos considerados, vase el apndice A para ver un
ejemplo de cada una de ellas. Estas pueden ser:
- Estructura en cadena (silogismo>, donde cada causa tiene como
mximo un nico efecto, vase la figura A-2.
- Estructura en rbol, en este tipo de relaciones causa/efecto cada
nodo puede poseer una causa y tener varios efectos, figura A-3.
- Red simplemente conexa (polirbol), en la red existen mltiples
causas y mltiples efectos, figura A-4.

Matrices bavesianas
Representan el modelo de las relaciones entre los nodos de la red. En
si
nuestro caso, pueden considerarse como el peso que cada uno de los distintos
atributos (causas) ejerce sobre sus efectos. Esto es, el peso o seguridad con que
un sensor observa (efecto) cada uno de los valores posibles de un determinado
si
atributo de un objeto (causa). J
2
si
CapQuo 4. Fusin multisensorial de medidas de entorno 149

Por ejemplo, en el caso de una relacin del tipo X implica Y (una nica flecha
llega a Y), como en la figura 4-3a, la matriz de relacin entre ambos conceptos se
muestra en la tabla 4-2.

X\Y Y Y2 Ym
XI

Xi

L
Tabla 4-2. Modelo de probabilidad para una causa.

En caso de que se tengan relaciones del tipo mostrado en la figura 4-3b, la


matriz se representa como una tabla con tantas filas como combinaciones posibles
de los atributos de Vo,Va, ... y. tengamos (valores vi,vs, . .vm). Vase la tabla 4-3.

VI V2 Vn X P

y. P(xlv:,vo,va,.. .Vn>

Tabla 4-3. Modelo de probabilidad de mltiples causas.

En situaciones ms complejas (como en polirboles>, las tablas tienen


mltiples entradas y no es posible representarlas de forma sencilla.

4.3.1.2. Motor de inferencia


Adems de indicar la forma en que interaccionan causas y efectos, es
necesario sealar cmo realizar los razonamientos necesarios para propagar las
estimas por la red diseada. Es decir, el procedimiento por el cual, conocidas las
distribuciones de probabilidad en unos puntos, se obtienen las distribuciones de
probabilidad en los puntos requeridos a partir de las tablas de relaciones
causa/efecto. Esto se conoce como motor de inferencia.
st
150 Fusin de medidas de entorno mediante redes bayesianas
4.3

Para obtener el motor de inferencia se parte de la idea de causa-efecto, con


st
ella se podrn propagar las estimas (probabilidades> por la red para poder definir la

credibilidad de un atributo. Se trata de, primero distinguir qu premisas son


si
causales y cuales son efecto; y despus, de propagar certeza sobre los efectos y

sobre las causas de la red: el conjunto de ambos definir la credibilidad. Los dos
st
conceptos bsicos para comprender cmo se propaga la evidencia son la
independencia condicional y la separacin direccional [Pearl 88]. Una breve st
descripcin de ambos puede encontrarse en el Apndice A.
Los mtodos y algoritmos para propagar las estimas dependern de los tipos
de estructuras de la red (relaciones) existentes. El pilmer algoritmo importante
para la evaluacin de redes de decisin fue diseado por [Shachter 86], pero el
algoritmo ms representativo es el diseado por Pearl para redes en forma de
rboles [Pearl 82] que utiliza un procedimiento de paso de mensajes (mensajes it-
A> para la comunicacin de evidencia. Posteriormente [Kim 83] generaliz el
algoritmo de Pearl para polirboles. En el apndice A, se muestra cmo se calculan
los mensajes it y A para propagacin de evidencia en distintas redes, como la red en si
cadena y el polirbol.

4.3.2. Implementacin de las redes bayesianas

Existen multitud de programas comerciales y no comerciales que permiten st


trabajar con redes bayesianas y realizar inferencias y toma de decisiones sencillas
(una descripcin y ejemplos de algunos de
apndice A). La implementacin de las redes
ellos se pueden encontrar en el
bayesianas puede ser distribuida o
st
no, dependiendo del tipo de programacin utilizado. Un ejemplo clsico de
programacin no distribuida para el clculo de redes bayesianas para rboles
basado en el algoritmo de paso de mensajes it-A de Pearl es mostrado en
[Morawski 89]. Un algoritmo para polirboles puede encontrarse en [Russell 95]
donde utiliza un algoritmo de encadenamiento hacia atrs para calcular la
probabilidad a posteriori de un nodo. Este algoritmo puede modificarse para que si
funcione con encadenamiento hacia delante, siendo su implmentacin en
computadoras paralelas muy sencilla y consiguiendo as un clculo distribuido de la
red.

La implementacin de la red utilizada en nuestro sistema ser distribuida, si


donde cada nodo es un proceso independiente y realizndose la transmisin de los
mensajes it y A, mostrados en la seccin 4.3.1, por medio de mensajes entre

si
si
Captulo 4. Fusin multisensorial de medidos de entorno 151

procesos. El algoritmo utilizado es el presentado en [Diez94] y se encuentra


esquematizado en el apndice A. El algoritmo no necesita un mecanismo global de
control del funcionamiento de la red, por lo que puede implementarse como una
red distribuida y cada nodo (proceso) de la red sabe qu mensajes debe enviar a
partir de los mensajes que recibe. La nica restriccin es que es necesario que la
red no presente ciclos. Estos no aparecen en los ejemplos mostrados anteriormente
(rboles y polirboles), sino slo en redes mltiplemente conexas (aquella cuyos
nodos estn conectados por ms de un camino, conocido como ciclo>. Si se utiliza
como diseo del sistema de fusin una red de conexin mltiple, estos algoritmos
no sern vlidos y se deber recurrir a algoritmos que eliminen los ciclos. En
cualquier caso, los ciclos normalmente son eliminados off-line, es decir, antes de
utilizar la red por el sistema de fusin, por lo que el mtodo empleado no ser
tenido en cuenta en nuestro caso, puesto que es un preprocesamiento que se
realiza despus de que el diseador especiflque su sistema de fusin y previo al
funcionamiento del sistema. Por lo tanto la fusin multisensorial es ajena al mtodo
utilizado para la eliminacin de ciclos. Los algoritmos para el tratamiento de ciclos
se pueden clasificar en:

- Mtodos de agrupamiento, transforman la red a un polirbol


probabilista equivalente mediante la eliminacin de los nodos que
dan lugar a los ciclos (drbol de diques) [Lauritzen 88]. Estos
mtodos han llegado a ser algoritmos estndar para iAferencia en
redes bayesianas.

- Mtodos de condicionamiento, efectan la transformacin de la red


a poliarbol dando valores concretos a las variables, y a continuacin
evaluan un polirbol por cada concretizacin efectuada. Puede ser
global, desarrollado por [Pearl 88], algoritmo poco eficiente que no
ha sido implementado en un sistema real; o local, desarrollado por
[Diez 96], donde se busca un condicionamiento local de las
variables que forman el ciclo y se evita construir un rbol de
diques.
- Mtodos de simulacin estocstica, utilizan la red para producir
una gran cantidad de modelos concretos de dominio congruentes
con la distribucin de la red. Proporcionan una aproximacin de la
evaluacin exacta. Este mtodo transforma la red en una cadena de
Markov. La idea consiste en aislar probabilsticamente un nodo de
st
152 4.3 Fusin de medidas de entorno mediante redes baqesianas

la mayora de los otros nodos de la red. Los algoritmos estocsticos


se ejecutan con rapidez en la prctica, pero puede que no 2
produzcan resultados totalmente correctos. Un ejemplo de este
mtodo lo podemos ver en [Pradhan 94], sistema experto para

medicina interna.
si
Tngase en cuenta que cuando se utilizan aproximaciones en el clculo de la

red, el sistema de fusin multisensorial ser ajeno al mtodo utilizado en el sentido


2
de su utilizacin, pero no en cuanto al resultado obtenido. As, es til tener
resultados empricos o tericos para comprobar qu aproximaciones producen los
resultados correctos. Esto se conoce como anlisis de sensibilidad. Esto est
relacionado con el anlisis numrico y comprueba la sensibilidad del problema, es
decir, si ligeros cambios en los datos producen grandes cambios en la respuesta (en
ese caso se denomina mal-condicionada>. 2
Pero, independientemente del mtodo de clculo de la red, el clculo exacto
de una red bayesiana general sin ningn grado de restriccin es un problema NP
complejo [Cooper 90; Dagum 93]. Por lo que es aconsejable que el modelo
sensorial que se desarrolle sea simple y, en la medida de lo posible, evite la 2
existencia de conexiones mltiples.

si
si
st
si
si
si
si
si
si
si
CapQuo 4. Fusin multisensorial de medidas de entorno 153

4.4. Utilizacin de la red bayesiana en ejemplos clsicos


Antes de integrar la informacin sensrial es necesario definir una forma de
soportar y almacenar las estimas de los distintos sensores y la fusin de stos. Una
de las formas ms ampliamente utilizadas para almacenar informacin
multisensorial es un enrejado multidimensional de celdas donde cada celda
corresponde a una regin concreta del espacio, y pueden dividirse en dos
vertientes:
1.- Los Mapas de certeza (certainty grid) [Moravec 88] o el muy
utilizado Mapa de ocupacin (occupancy grid) [Elfes 87; Matthies
88; Elfes 90; Menezes 95; Dam 96]. Su caracterstica principal es
que cada medida realizada por el sensor provoca la variacin de
probabilidad de un amplio conjunto de celdas del mapa. Las celdas
actualizadas dependern del modelo de sensor utilizad.

2.- Los Histogramas de campo (fleId histogram grids) [Borenstein 89;


Borenstein 91a], y variantes como mapas de Certeza de Presencia de
Obstculo (CPO) [Schneider 96]. En este caso las celdas que sufren
una variacin de su probabilidad son aquellas en las que el sensor
detecta un objeto o estn relacionadas con sta. En ciertos casos
puede llegar a ser simplemente la actualizacin de una nica celda.
Este mtodo funciona debido a la alta frecuencia de muestreo de los
sensores utilizados. En caso de que se actualice nicamente las
celdas medidas ser necesario la inclusin de un factor de olvido.

Muchas son las ventajas de la representacin de la informacin multisensorial


en un mapa basado en un enrejado o conjunto de celdas. Entre stas cabe destacar
[Luo 92]: (1> que permiten una automtica correspondencia espacial de los
atributos detectados; y (2> permiten la fusin y procesamiento n cada celda antes
de realizar un tratamiento de ms alto nivel (lo cual es necesario en muchas
aplicaciones en tiempo real, debido al excesivo tiempo requerido en inferencias de
alto nivel). La principal desventaja de esta representacin reside en su
implementacin, ya que el almacenamiento del mapa requiere gran cantidad de
memona.
El enrejado, o conjunto de celdas, (de 2 o 3 dimensiones) puede estar
centrado en el vehculo o en un sistema de referencia externo, dependiendo de las
st
st
154 4.4. Utilizacin de la red bayesiana en ejemplos clsicos

necesidades, utilizacin o requerimientos del sistema. En cada celda los atributos


considerados son representados por variables aleatorias, expresadas en trminos de

la probabilidad de que esa celda contenga algn atributo del entorno. El atributo
si
ms utilizado en cualquier representacin es el grado de ocupacin, es decir, si la

celda est o no ocupada por un objeto. Este es un atributo bsico en la integracin


st
sensorial cuando el mvil necesita detectar y esquivar objetos. As, este tipo de
representaciones del entorno se encuentra directamente asociado a funciones de
control de un robot como la planificacin de caminos y la esquiva de obstculos.
Ejemplos de este uso son [Elfes 90; Borenstein 91b].

Antes de mostrar el diseo del sistema de fusin de entorno en nuestro


sistema sensorial, vamos a ver cmo funcionan las redes bayesianas en la fusin de
informacin y compararemos su funcionamiento con el mtodo de Elfes (Mapa de
certeza con un modelo complejo del entorno) y con el mtodo de Borenstein J
(Histograma de campo) para mostrar que el mtodo de fusin presentado en esta
Tesis es equivalente a ambos, adaptndose a cualquiera de los dos conceptos
dependiendo de los intereses del usuario o las cualidades del robot utilizado.

4.4.1. Comparacin de las red bayesiana con el Mapa de certeza de Elfes 2


Se ha escogido el mtodo de Elfes porque utiliza la formulacin de
probabilidad condicional de Bayes para actualizar la informacin de cada celda a st
partir de la informacin de los sensores y un modelo complejo de stos. Tambin
es interesante comparar el funcionamiento de nuestro mtodo de fusin con el
st
modelo completo de entorno que utiliza Elfes, porque es el primer mtodo que
utiliza mapas de ocupacin. Adems, es la fuente de inspiracin en la que se basan
muchos otros mtodos que utilizan mapas de ocupacin y que bsicamente aaden
diversas variantes en el clculo del modelo utilizado para los sensores disponibles.
Elfes [Elfes 87; Matthies 88] aplica el teorema de Bayes, ecuacin (4.6), para
actualizar el estado de una celda s que puede tomar uno de los n posibles valores si
disjuntos, St, suponiendo que todas las celdas son independientes.

P(s, e) = P(es,)P(s,) (4.6) 2


XP(es).P(s)
si
st
si
st
CapQuo 4. Fusin multisensorial de medidas de entorno 155

donde, e es la evidencia obtenida, P(s,) la probabilidad de que la celda se


encuentre en el estado s y P(e s,) la probabilidad de que la evidencia e est
presente cuando el sistema se encuentra en el estado s.

A partir de la ecuacin (4.6) y teniendo en cuenta que las celdas


corresponden a un mapa de ocupacin y que sus estados son ocupada (ocu) y vaca
(yac) se obtiene la ecuacin (4.7>. Donde adems se incorpora la evolucin
temporal en el clculo del estado de una celda, puesto que incluye el conjunto de
evidencias hasta el instante actual t, {r}1, en P(ocu /{r~ }) y la nueva evidencia ~

en t+1 (que da lugar al conjunto de evidencias {r}~~1) P(r1~1 / ocu):

ocu) P(ocu {r},)


.

P(ocu {r}~~1) = ocu) . P(ocu {r},) + P(r~~1 ~ac). P(vac {r}1) (4.7)

El problema de esta ecuacin son las probabilidades condicionales


ocu) y P(r~~1 yac) de la ecuacin (4.7). Estas son calculadas a partir del
modelo del sensor. Una definicin formal de estas probabilidades no es nada
simple y en general dependen del estado completo del entorno y no pueden
calcularse independientemente para cada celda. En [Elfes 90; Elfes 92] se indica
una expresin para su clculo a partir del modelo del sensor y utilizando el teorema
de Kolmogoroff:

p(r S(C,) = ocu) = ~ p(r 8(C,) = ocu, G~ (C,)) . P(G~ (C,) 8(C,) = ocu) (4.8>
(G,(q))

donde G3(C,)= {S(C,) = s ,S(C,) = s,1,S(C,) = s1~1,..., 8(C) = s~} representa


una de las configuraciones posibles de todas las celdas del enrejado excepto la C,.

El clculo de la ecuacin (4.8), implica la suposicin de un modelo de


medida del sensor, p(r z), y el clculo de la probabilidad
P(GS (C,) = ocu), que se realiza a partir de las probabilidades de estado a
8(C)

priori de las celdas y de medidas experimentales de las reas de inters o de otras


consideraciones sobre los estados posibles de las celdas. Esto lleva a la necesidad
de que el sistema de fusin posea un modelo del sensor utilizado, lo que no
permite la versatilidad y abstraccin del sensor ni la posibilidad de construir
sistemas generales. Adems, toda suposicin sobre el entorno no debera hacerla el
sistema de fusin, sino los sensores (si tienen posibilidad de hacerlo> para evitar la
dependencia de los sensores por parte del sistema de fusin, como se vio en el
captulo 2.
st
st
4.4. Utilizacin de la red hayesiana en ejemplos clsicos
156

Utilizando la ecuacin (4.8> para calcular la estima del sensor y la ecuacin si


(4.7) para la fusin de las distintas medidas, se puede mostrar cmo aumenta la
creencia de la ocupacin de la celda al repetir la deteccin de dicha celda. Para
ello, y como ejemplo ilustrativo, supondremos un mapa de ocupacin de una
si
dimensin y un modelo gaussiano para la deteccin del sensor, como el expresado
en la siguiente ecuacin:
si
p(rz)=
1
e (4.9)
st
a2z
Con este modelo, supongamos un objeto situado a una distancia de 2 metros st
(z=2) y una varianza para el modelo de medida del sensor de c~O. 12. El valor de
P(S(C,) = ocu {r},41)) para t=O,1 5 esel mostrado en la figura 4-4. si
st
si
st
st
st
0 1 2 3 4 5
st
a> Tamao de celda de 5 cm.
st
si
2
si
st
st
st
Cap Quo 4. Fusin multisensorial de medidas de entorno 157

1

0.9


0.8
0.7 J -
J
0.6

0.5
4-
0.4

0.3
.1

-1-- J
0.2
1 -L
0.1

oo 2 3 .4 5

b> Tamao de celda de 20 cm.


Figura 4-4. Probabilidad de ocupacin mediante el mtodo de Elfes.

La figura 4-4a muestra la fusin de 5 medidas iguales sobre un enrejado de 5


cm., mientras que en la figura 4-4b el enrejado es de 20 cm. Puede observarse que
la precisin escogida para la rejilla da lugar a una certidumbre que coincide con el
ancho de celda elegido. La certeza en la estima se debe al nmero de celdas
existentes y al ancho del modelo del sensor, por lo que cuanto ms ancha sea la
celda mayor ser la probabilidad de ocupacin (para un mismo modelo de sensor).
Veamos ahora qu resultados se obtendran con una red de Bayes:

Como en el ejemplo slo se ha utilizado un sensor la red de Bayes


comparable al ejemplo anterior es muy sencilla, vase figura 4-5. Esta red slo
dispone de un nodo que representa el atributo considerado (Ocupado o Vaco) y el
efecto que la medida (o estima) del sensor produce sobre esa celda.
2

158 44 Utilizacin de la red bayesiana en ejemplos clsicos

o si
20 ext 2
Sensor fisico
EWIORNO
st
Figura 4-5. Red hayesiana sencilla para el Mapa de ocupacin. st
A continuacin podemos desarrollar las ecuaciones (A.13> y (A.14), que para
el caso estudiado quedan unas expresiones muy sencillas, con el fin de estudiar su
semejanza con la ecuacin (4.7) de Elfes, 2
P(8(C,) = ocu +s) = a >r(S(C,) = ocu) . 2(8(C,) = ocu) (4.10)

2(8(C) = ocu) = 2/8(C1)


ocu) = = st
= 2~~,(+) t~~) . P(s 8(C) = ocu) + (4.11>
4
.

+ 2~~,() . 2r&S) . P(-.,s 8(C,) = ocu)

Y tenemos,
r(8(C,) = ocu) = P(S(C,) = ocu) (4.12)

2(8(C,) = ocu) = p(+s,~1 8(C) = ocu) (4.13) 4


2(8(C1) = ocu) = 2(+s,~~) . 2(+s,) . P(-i-s1~1 1 8(C) = ocu) + (4.14)
+ 2(~s~~~) 2(s) P(ms,~1 8(C) = ocu)
2(~~+~) es la estima actual de ocupacin del sensor para esa celda,
si
2(s)
donde
la estima anterior del sensor y ~(~~+
1 8(C,) = ocu) sera equivalente a la
st
fiabilidad del sensor, es decir, la probabilidad de detectar un objeto por parte del
sensor cuando se sabe que la celda est ocupada.
Como se observar, para que las ecuaciones (4.7> y (4.10) sean semejantes
(teniendo en cuenta las ecuaciones 4.10 y 4.14), la estima del sensor P(r041 ocu) y 2
yac) deben ser equivalentes a 2(+s,+~) y (ms,~1). Adems, la matriz de
relacin entre el sensor y la celda tiene que ser considerada la matriz identidad:
P(s~ 8(C,)) = 1.

2
si
st
Captulo 4. Fusin multisensorial de medidos de entorno 159

As, se obtiene el resultado de la figura 4-6 que, como podemos ver, es


exactamente el mismo que se obtena con Elfes.


0.9


0.8


0.7


0.6


0.5


0.4


0.3


0.2 .0 .0


0.1 .0 .0 L


1 2 3 4 5

Figura 4-6. Probabilidad de ocupacin a posteriori mediante redes bayesianas.

La forma en la que se calcula 2(+s~~1) y 2(,s,~1), por parte del sensor,

permite ajustar el funcionamiento del sistema de fusin de entorno al


comportamiento de las distintas aproximaciones del mtodo de Elfes existentes.
Por ejemplo, si se calcula por cada medida del sensor un conjunto de 2(s,~1)
correspondientes a todas las celdas afectadas segn el model de sensor utilizado,
obtendremos un mapa de ocupacin como el obtenido en el mapa de ocupacin
original de Elfes. Sin embargo, si el modelo no incluye todas las celdas del mapa
sino unas determinadas, se puede adaptar el mtodo de fusin para que acte de la
forma que ms interese al usuario y a la aplicacin a la que est dirigida.

4.4.2. Comparacin de las redes bayesianas con e Histograma de campo

En este caso no se utiliza un modelo probabistico del sensor sino que se


asigna un valor determinado a ciertas celdas por cada medida del sensor,
normalmente de ultrasonidos, y se considera una celda ocupada cuando la cuenta
(debido a reiteradas medidas> alcanza un valor determinado. Por ejemplo en la
figura 4-7 se muestra la cantidad a aadir a la cuenta almacenada en cada celda
cuando se observa un objeto con un sensor de ultrasonidos. En este caso la
actualizacin de as celdas es mucho ms rpida y se utiliza principalmente para
2
si
160 4.4. Utilizacin de la red buyesiana en ejemplos clsicos

detectar y evitar obstculos con rapidez [Borenstein 91a; Borenstein 91b]. Adems
en este caso es necesario aplicar un factor de olvido a las celdas para eliminar si
medidas espunas.

2
.1 -I .1 .1 -I .1 .1 4-3
2
si
Figura 4-7. Valores asignados a las celdas por medida en el Histograma de campo. si
Para emular un funcionamiento semejante al histograma de campo con la red
bayesiana diseada, nicamente es necesario utilizar una nica 2(s~+~) (o un
st
pequeo conjunto de lamdas en e ejemplo de la figura 4-7) para cada medida del
sensor, lo que permite actualizar una nica celda, o un conjunto reducido de
si
celdas. Por ejemplo supongamos un sencillo modelo sensorial en el que se supone
que cuando se detecta un objeto las celdas de delante no estn ocupadas, figura 4-
st
8a. En este caso, la red bayesiana de la figura 4-5 producir un resultado como el
de la figura 4-8b, donde la probabilidad de que estn ocupadas las celdas st
anteriores al objeto disminuye y la del objeto aumenta.
st
si
si
st
2
si
si
st
si
CapQuo 4. Fusin multisensorial de medidas de entorno 161

0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1

0 2 4 6 8 10

0.9
0.8
0.7
0.6
0.5
0.4
4 0.3
0.2
0.1
O
o 2 6 8 10

a) Modelo de sensor. b> Fusin de medidas

Figura 4-8. Fusin de celdas observadas.

4.4.3. Modelo de los sensores en redes bayesianas

Las situaciones de las secciones 4.4.1 y 4.4.2 son casos extremos: desde el
clculo de la probabilidad de todas las celdas del mapa en cada medida (modelo)
del sensor hasta la actualizacin de una nica celda (o un conjunto mnimo de
celdas).
En estos casos se han utilizado las redes bayesianas con un modelo del sensor
que corresponde a los modelos de medida del sensor de Elfes o de Borenstein y no
se aprovechan la versatilidad ni las ventajas que nos ofrece la utilizacin de redes
bayesianas. En los casos anteriores, y sobretodo en el primer caso, el sensor ofrece
una estima de la celda que tiene en cuenta la situacin del enrejado, el modelo del
sensor y su fiabilidad, lo que deja nicamente al sistema sensorial la funcin de
acumulador de estimas. Esto es delegar demasiada responsabilidad en la estima
que ofrece el sensor fsico, complicando excesivamente los clculos que puede
realizar este. Adems, no todos los sensores pueden actuar de igual manera, por lo
st
si
162 4.4. Utilizacin de la red lrnyesiana en ejemplos clsicos st
que el mtodo puede variar de un tipo de sensor a otro. Por lo tanto, sera mejor
descargar parte de la responsabilidad de la estima del sensor en el sistema de

fusion.
si
Para descomponer el trabajo de fusin entre el sensor y el sistema de fusin,
el modelo del sensor se divide en dos partes: una correspondiente a la medida
sensorial (estima del sensor> y la otra correspondiente a la confianza que se tiene

de esa medida, que equivale a un peso en la integracin de las medidas. Esto es


st
equivalente al modelo presentado en [Elfes 92], ecuaciones (4.15) y (4.16), que

como se puede ver es ms similar al modelo considerado en las redes bayesianas.


st
p(r BT(z)) = p(r 1 det(T, z)) P<, (z) + p(r , det(T, z)) . (1 P~, (z)) (4.15> 2
p(r BT(z)) = p(r J det(T, z)) j1 (z) + p(r det(T, z)) . (1 P1 (z)) (4.16) 2
Donde p(r det(T, z)) es el modelo de medida del sensor; det<T,z)
representa la deteccin de la caracterstica Ten la posicin z; 1% (z) ese modelo 2
del comportamiento del sensor, que modela la probabilidad de deteccin de un
objeto por parte del sensor cuando e] objeto existe en z; y ~1 (z) es la probabilidad
de deteccin de un objeto por parte del sensor cuando el objeto no est en z
(probabilidad de falsa alarma).
Esta forma de modelar el comportamiento del sensor es mucho ms intuitiva
y es la que se utiliza en la red de Bayes, dnde se puede observar una si
correspondencia de los trminos de la ecuacin (4.15) con los trminos de la
ecuacin (4.14> (lo mismo ocurre con la probabilidad condicionada a la no
si
existencia de caractersticas). Y podemos encontrar las siguientes equivalencias:
2(+s~1) = p(r det(T, z)) 2(~s~~1) = p(r ~ det(T, z)) (4.17) j
P~(z) (11% (4.18>
S(C,) = ocu) = j1 (z)) P1 (z)jJ
2

Estas matrices son equivalentes al modelo de cada uno de los sensores y


representan el peso que da cada sensor a sus estimas en el sistema de fusin global. si
Una vez que la informacin sensorial es convertida en probabilidad
(correspondiente a la presencia de algn atributo en la celda> [Elfes 87], es
necesario el uso de tcnicas de estimacin bayesiana para fusinar informacin de
si
mltiples sensores. Por ejemplo, Elfes [Elfes 90; Elfes 92] adems de integrar

si
st
CapQuo 4. Fusin multisensorial de medidas de entorno 163

distintas medidas correspondientes a un mismo sensor, extendi su uso a la


integracin de mltiples sensores.
En nuestro sistema, la fusin de medidas de entorno de los sensores se
realizar sobre un mapa de ocupacin mediante redes de Bayes. El uso de estas
redes permite, adems, la utilizacin, la adicin o supresin, la configuracin y la
expresin de dependencias de distintos sensores de forma sencilla, grfica y
fcilmente comprensible. Presenta claramente los atributos que puede estimar y
permite modificar su actuacin cuando se desee sin necesidad de reconfigurar el
sistema completo.

Los atributos considerados en cada celda dependen de la aplicacin del


robot. En el caso de robot mviles terrestres, los ms importantes son el estado de
una celda (ocupada o vaca> y el reconocimiento de marcas (naturales o artificiales)
del terreno, como pueden ser rincones, esquinas, paredes, puertas, etc., que
pueden aprovecharse en la navegacin.

Por ltimo indicar que para que el sistema funcione con un modelo de sensor
semejante a los histogramas de campo es necesario dotar al sistema de fusin de la
posibilidad de utilizar un factor de olvido. Esto tambin puede incluirse y utilizarse
de forma sencilla en las redes bayesianas como se mostrar en la seccin 4.5.3.
2
st
164 4.5. Red bayesiana de fusin multisensorial en nuestro robot st
4.5. Red bayesiana de fusin multisensorial en nuestro robot 2
Una vez se ha mostrado el mtodo para propagar evidencias en la red, cmo
representar el conocimiento que se posee del sistema y su funcionamiento como
sistema de fusin frente a otros mtodos clsicos, en esta seccion se describe su
funcionamiento como sistema de fusin en un robot mvil. Para ello veamos 2
primero cmo se ha diseado el sistema general de fusin de entorno para un
robot mvil autnomo terrestre. A continuacin se muestra cmo se disea el
sistema de fusin, cmo definir el modelo sensorial desde e punto de vista de las 2
redes bayesianas y su funcionamiento en distintos ejemplos.

4.5.1. Modelo de fusin sensorial mediante redes bayesianas

El principal propsito de nuestro sistema de fusin es que sea general. Por 2


general se entiende que ser vlido para cualquier sensor que se utilice para medir
las caractersticas consideradas del entorno del robot. Para su correcto 2
funcionamiento es necesario que se sigan ciertos requisitos: disear el modelo
causa-efecto de la red bayesiana o en su defecto del sensor correspondiente; y, J
disear el interfaz necesario entre la informacin del sensor y la utilizada por la red
para llevar a cabo el proceso de fusin. st
Si estos requisitos se cumplen correctamente, el sistema de fusin puede ser
utilizado con cualquier tipo de sensor que sea capaz de estimar las caractersticas
de inters de los objetos que sean observados. Tengamos en cuenta que cada
sensor no tiene por qu observar todas las caractersticas contempladas en el

sistema de fusin, sino slo aquellas para las que est capacitado en cada momento,
2
llegando incluso a observar espacios complementarios (en este caso no existir
fusin, sino integracin>. 2
La arquitectura para implementar este sistema de fusin ser una red de
procesos distribuidos, donde cada proceso representa una etapa de fusin o nodo 2
en la red bayesiana. Estos nodos los clasificamos en:
- Nodo sensor, vase la figura 4-9, que corresponde al nodo hoja de la 2
red bayesiana. Se encarga de recibir evidencia externa procedente
de la sensorizacin, es decir, se ocupa de convertir la informacin j
sensorial del sensor fsico en informacin comprensible por la red.
Realiza una fusin de la informacin externa recibida y de la 2
2
si
Cap Quo 4. Fusin muitisensorial de medidos de entorno 165

procedente de nodos de fusin superiores en un mapa local.


Tambin se encarga de interpretar las rdenes que le son enviadas
para realizar una determinada funcin o de envirselas al sensor
fsico. Este nodo sensor corresponde a la clase SensorLgico
definida en el captulo 2.
- Nodo fusin, que corresponde a nodos que no son hoja en la red. Se
encarga de realizar la fusin de las caractersticas de distintos
sensores. Al contrario que en los nodos sensor que siempre son uno
por sensor existente (o unidad sensorial, es decir, el conjunto de
transductores de ultrasonidos se puede considerar un nico sensor>,
los nodos fusin pueden ser tantos como se necesite en el modelo
causa-efecto diseado por el usuario, vase figura 4-9. Estos nodos
de la red corresponden a la clase FusinEntorno mostrada en el
captulo 2.

Figura 4-9. Sistema de fusin de entorno.

En la figura 4-9, adems del sistema de fusin formado por los nodos sensor y
nodos fusin, se muestra la parte sensorial correspondiente al usuario, como son:
2
si
186 4.5. Red bagesiana de fusin multisensorial en nuestro robot 2
Sensorfsico (5<), que corresponde a los sensores reales. Los datos que
2
-

obtienen son en bruto y deben ser procesados e interpretados.

Drives, que son las rutinas que permiten leer y manejar los datos que
2
-

se obtienen directamente de los sensores. Incluyen procesamiento


AID de seales, almacenamiento temporal de los datos, etc.
- Fusin de bajo nivel, que corresponde al tratamiento de los datos 2
recibidos a fin de obtener las caractersticas buscadas. En este nivel se
encuentra el modelo fsico del sensor y reduce el nmero de medidas

observadas a un conjunto de estimas vlidas, realiza la asociacin de


2
datos, actualiza observaciones, etc. Este nodo corresponde al mtodo
de fusin o interpretacin de los datos que el usuario utiliza sin
intervencin del sistema de fusin y est estrechamente relacionado
2
con el nodo sensor o sensor lgico, que se mostr en el Captulo 2. 2
4.5.2. Sistema de fusin para un robot mvil 2
Una red para un robot autnomo terrestre puede, por ejemplo, disearse en
la forma que se muestra en la figura 4-10. 2
si
st
2
2
Figura 4-10. Red de Bayes completa. 2
Este diseo posee un ciclo (Estado celda Sensor visin distancia
-

ultrasonidos). Antes de aplicar alguna de las tcnicas de eliminacin de ciclos, se


Sensor
2
debe simplificar aprovechando cualquier determinismo en las variables observadas.
Por ejemplo, la distancia que es determinista, puesto que es conocida para cada
celda (la posicin del vehculo se conoce con bastante precisin), puede ser
2
eliminada como variable aleatoria e introducirse en el modelo del sensor 2
2
si
CapQuo 4. Fusin multisensorial de medidos de entorno 167

correspondiente. Esto es, la distancia puede codificarse como una funcin que ir
incluida en el modelo de cada uno de los sensores.

Ahora queda una red bayesiana mucho ms simple, figura 4-11, que puede
implementarse directamente sin la necesidad de aplicar tcnicas de eliminacin de
ciclos.

Modelo
de distancia
VISIN

Sensor
visin

Figura 4-11. Red de Bayes simplificada.

Para simplificar las expresiones que se mostrarn a continuacin, se utiliza un


nico atributo para el nodo celda, que est o no ocupada la celda, dejando el tipo
de celda para posteriores versiones ms complejas, aunque el mecanismo es
semejante al descrito a continuacion.
Para realizar la fusin de datos de visin y ultrasonidos es necesario, por
tanto, definir la probabilidad de acierto en funcin de la distancia , r, y del ngulo
que forma el objeto con el sensor, 9, para cada uno de los sensores que se estn
utilizando. Esto es:

P(+u+e) = f~(r,O)
P(ue) =f~(r,O) (4.19>

donde u representa el sensor de ultrasonidos y e el estado de la celda que se


est estudiando. Los signos (y -) representan el caso afirmativo (sensar objeto u
ocupacin de la celda> y el caso negativo (no se sensa ningn objeto o no est
ocupada la celda>.
Para el caso de visin sera lo mismo:
2
si
168 4.5. Red bayesiana defusin multisensorial en nuestro robot 2
P(ve) = f~(r,9)

P(vJe) = f~(r,9) (4.20) 2


Con estas funciones se pueden construir el modelo del sensor de
ultrasonidos, ecuacin (4.21>, y el del sensor de visin, ecuacin (4.22),
respectivamente que nos d las matrices que relacionan las celdas con respecto a lo 2
que observan los sensores, 2
M(ocupadoSensultras) (P(+xu) P(xJ+uY) (4.21)
P(+xu) P(xu))

M(ocupado Sensvisin) C
P(+x]
)
y)
(
P(x
~jj
y) (4.22)
22
En cualquier caso se debern hacer estudios sobre el funcionamiento de cada
sensor y del conjunto para sintonizar correctamente la red. 2
Recordemos que las probabilidades de las ecuaciones (4.21) y (4.22) se
corresponden con las probabilidades de acierto y de fall (errores de tipo 1 y tipo 2
II) que se mostraron en la tabla 4.1

A continuacin veamos el funcionamiento de la red para un ejemplo 2


concreto. Utilizaremos dos sensores de entorno: ultrasonidos y visin.

Lo primero es especificar el modelo de los sensores, es decir, las funciones si


que corresponden a los modelos de probabilidades de los ultrasonidos y visin en
funcin de la distancia a la que se encuentra un objeto. O lo que es lo mismo, 2
debemos encontrar mediante pruebas experimentales las ecuaciones (4.19) y
(4.20). 2
Como primera aproximacin se han utilizado los modelos probabilsticos de
los sensores que pueden verse en la figura 4-12: en la figura a) se muestra la 2
probabilidad de que un sensor, ya sea de ultrasonidos o visin, detecte un objeto
cuando sabemos que el objeto se encuentra all (probabilidad de acierto), P<ue)

o P(+v--e); y en la figura b) se muestra la probabilidad de que visin, o


2
ultrasonidos, detecte un objeto cuando sabemos que el objeto no est all (error de
2
primera especie>, ), P(-hue) o P(-l-t4e).
2
2
si
2
Capitulo 4. Fusin muitisensorial de medidos de entorno 169
P. ocupado cuando existe objeto P. ocupado cueto NO existe objeto
0.5
0.45
0.4

0.35
0.3
0.25
0.2

0.15
01
0.05
10 10
o
5 15 20
<vn) 20 0 r Qn>

Figura 4-12. Modelo de Ultrasonidos y visin

Estos modelos de los sensores slo han sido definidos en funcin de la


distancia al objeto (aunque podran aadirse ms dependencias). Como puede
verse, para distancias cortas el mejor sensor (ms fiable) es el sistema de
ultrasonidos y para distancias largas el de visin. Cuando la distancia aumenta la
probabilidad tiende a 05, es decir desconocido.

Estas funciones dependen de la distancia del objeto y son propias de cada


sensor. Pero siempre se debe tener en cuenta que P(+ue)>P(+ue); y lo
mismo ocurre para visin, como puede verse en la figura 4-12. Se observa tambin
que para distancias cortas el sensor de ultrasonidos es mejor que el de visin, pero
a partir de aproximadamente los 5 metros se invierten los trminos.
Normalmente lo que se busca en un sensor es que la diferencia entre
P(+u+e) (sensibilidad> y P(+ue) (especificidad) sea la mayor posible, es decir,
que aumente la probabilidad de acertar y disminuya la de cometer un falso
negativo (error de primera especie>. Sin embargo cuando se intenta aumentar una,
aumenta tambin la otra con lo que debemos llegar a un cierto compromiso. En la
figura 4-12 se muestra la especificidad y la sensibilidad de los sensores de
ultrasonidos y de visin considerados.
2

170 4.5. Red bayesiana de fusin multisensorial en nuestro robot


Relacin Sensibilidad-Especificidad 2
2
0.4
0
Ultrasonidos
5 10 15 20
2
1 r(m> st
0.8 2
0.6

0.4
0 5 10 15 20
2
(m)

Figura 4-13 . Sensibilidad y especificidad de los sensores utilizados. 2


4.5.3. Ejemplo del comportamiento del sistema de fusin 2
Veamos el funcionamiento de la red de Bayes y cmo se realiza la fusin de 2
las medidas de sensores de entorno. Para ello se utilizan los sensores de la seccin
anterior. Se pueden distinguir varios casos como son: 2
-Caso 1: Fusin de medidas de un nico sensor. Permite comprobar queel
sistema es capaz de evolucionar aunque sl o funcione un nico
(robustofrente a fallos). Adems muestra la credibilidad de cada sensor sensor st
dependiendo de la distancia al objeto para mostrar el efecto de la
sensibilidad yespecificidad definidas. 2
-Caso II: Fusin de la estima de los dos sensores. En este caso se muestra
como al fusionar la estima de dos sensores se obtiene un resultado ms 2
preciso. si
-Caso III: Fusin de medidascontradictorias. Indica que la fusin de los
sensores es una medida similar a la ponderacin de las medidas
individuales. 2
-Caso IV: Fusin de medidas en el tiempo. Permite observar que la estima
fiestimano
nal aumentaaumenta
su certeza a medida que se repite l a observacin. Pero esta
hasta llegar a 1, certezaabsoluta, sino que tiende a un si
valor lmite queviene dado por la matriz del sensorcorrespondiente. 2
2
2
Cap Quo 4. Fusin muitisensorial de medidas de entorno 171

Caso .k Fusin de medidas sensoriales procedentes de un nico sensor


En primer lugar se prueba el sistema con un nico sensor actuando cada vez.
El otro sensor puede suponerse desactivado, estropeado o que simplemente no
existe.
La probabilidad de la estima del atributo en cuestin (nicamente se
considera si la celda est ocupada o vaca) obtenida a partir de la informacin
medida por cada uno de los sensores ser la misma para poder comparar el
comportamiento de cada uno de ellos. En un caso los ultrasonidos estiman que la
celda se encuentra ocupada con una probabilidad de acierto de 07 y que se
encuentra vaca con una probabilidad de 02 mientras que la visin no obtiene
ninguna informacin del entorno. Por otro lado, en otro caso distinto, se procede al
contrario, los ultrasonidos no dan ninguna informacin y el sensor de visin es el
que estima la certeza de ocupado y vaco de cada celda en la misma proporcin que
ocurra con los ultrasonidos enel primer caso (07 y 02 respectivamente).
En la figura 4-14, se presenta la probabilidad a posteriori de que la celda se
encuentre ocupada (la probabilidad a priori es 05) a partir de la informacin de los
ultrasonidos. En cada uno de los casos se han utilizado las celdas a la misma
distancia (10 celdas ocupadas a distancias R=[O.3 0.5 1 1.5 2 3 4 5 7 10]) para
mostrar cmo la distancia introducida en el modelo condiciona la estima final de
cada uno de los sensores y cmo el modelo que ofrezca ms fiabilidad dar ms
confianza a la informacin del sensor. Es decir, se da ms peso al sensor que sea
ms fiable en cada situacin.
Fusin de probabilidad <uy)
0.8

0.75

0.7

0.65

0.6

0.55

0.5
0 2 4 6 8 10
(metros)
Figura 4-14. Probabilidad de ocupacin para cada sensor dependiendo de la distancia de la celda.
2
si
172 4.5. Red bayesiana de fusin muitisensorial en nuestro robot 2
(o ultrasonidos, + visin>

En la figura 4-14 se indica la creencia positiva de cada sensor en un par de 2


elementos, siendo el primer elemento del par la creencia del sensor de
ultrasonidos y el segundo la creencia del sensor de visin. Por ejemplo, (-,O.7)
representa que el sensor de ultrasonidos no funciona o no realiza ninguna
2
afirmacin y el de visin indica la existencia de un objeto con una probabilidad del 2
0.7.

Caso Ib Fusin de medidas de ambos sensores 2


En est ejemplo se pretende poner de manifiesto el funcionamiento correcto
del sistema de fusin. Para ello utilizaremos el sensor de ultrasonidos y el de fusin 2
informando simultneamente sobre la misma celda. La estima de la probabilidad
de ocupado y vaco para cada uno de los sensores es la misma y es igual a la
utilizada en caso anterior (07 y 02).
2
En la figura 4-15 se muestra (para las mismas celdas que en e caso anterior) 2
la probabilidad a posteriori de que cada celda se encuentre ocupada cuando se
realiza lii fusin de la estima de ambos sensores junto con la obtenida en caso de 2
que cada uno de los sensores actuase solo.

Sensores por separado vs. fusion


2
2
2
2
2
0 2 4
(metros)
6 6 10 2
Figura 4-15 Fusin de certeza en la medida
. 2
(o ultrasonidos, -i- visin, fusin de ambas>

2
si
si
Cap Quo 4. Fusin multisensorial de medidas de entorno 173

En la figura 4-15 se puede ver que la fusin de la estima de los dos sensores
siempre da lugar a una certeza mayor de que la celda se encuentre ocupada que en
el caso de utilizar un nico sensor.
Por supuesto, en el caso de que la estima de los sensores sea contraria a la
existencia de un objeto en la celda en cuestin, la fusin de estimas de este tipo
dar lugar a un reforzamiento de la creencia a posteriori sobre la no ocupacin de
esa celda. Es decir, obtendremos una mayor certeza de que la celda est vaca, por
lo que la probabilidad a posteriori conjunta ser siempre menor que la calculada
por los sensores individualmente, como puede verse en la figura 4-16. El aumento
de la creencia con la distancia no quiere decir que est menos seguro de la
existencia de un objeto, sino que a medida que aumenta la distancia, la
incertidumbre sobre la existencia de un objeto aumenta (por eso tiende a 0.5).
Recordemos que se indica la probabilidad de existencia de un objeto sealada por
cada sensor con (ultra,vis), y se pone un guin, -, si el sensor no est funcionando.

Fusin de probabilidad (Negativa) vs. Sensores aislados


0.5

0.45

lo
(metros>

Figura 4-16. Fusin de probabilidad negativa.


(o ultrasonidos, + visin, * fusin de ambas)

Caso III: Fusin de medidas contradictorias


Con el fin de comparar los resultados de este caso con los anteriores se
continua utilizando las mismas celdas (distancias entre la celda del mapa y el robot>
que en los ejemplos anteriores. En este caso se fusionan datos de los dos sensores,
al igual que en el caso anterior, pero las certezas de ambos son contradictorias (07
2
2
174 4.5. Red baqesiana defusin multisensorial en nuestro robot

y 02 para ultrasonidos y 02 y 07 para visin) con lo que las opiniones sobre la 2


existencia, o no, de un objeto estn enfrentadas.
En el caso de que un sensor informe negativamente sobre la existencia de un
2
objeto, la probabilidad a posteriori tender a un valor inferior a la incertidumbre
(05), y esto depender de la estima del sensor y del modelo del sensor para la 2
celda en cuestin. En la figura 4-17 se muestra la probabilidad a posteriori para la
fusin de medidas de un nico sensor (02,07). 2
0. 2
0.45

0.4,
2
0,35
2
0.3

0.25 2
0.2
0 2 4
r (mefros)
8 8 IC 2 4
r (n~etros)
6 8 10
2
a) Fusin de medidas de sensores de ultrasonidos b> Fusin de medidas de sensores de visin 2
Figura 4-17. Probabilidad a posteriori cuando la informacin es negativa

Cuando se dispone de medidas contradictorias, la probabilidad a posteriori


siempre se encuentra entre la que se calcula con cada uno de los sensores
2
aisladamente, pero con una tendencia a uno de ellos dependiendo del peso que
tengan. Es decir, la informacin que predomina es la de aquel sensor cuya 2
fiabilidad es mejor, pero ponderado por la opinin del otro. En la figura 4-18 se
muestra un ejemplo de este caso. 2
2
2
2
2
2
2
CapQuo 4. Fusin multisensorial de medidos de entorno 175

Fusin de probabilidad (Contradictoria) vs. Sensores aislados


0.8
0.75
0.7
0.66
0.6
0.55
0.5
0.45
0.4
0.35
0.3
o 2 4 6 6 10
(metros>

Figura 4-18. Fusin de probabilidad con certeza contradictoria


(o ultrasonidos, + visin, * fusin de ambas)

Caso IV Fusin de medidas a Jo largo del tiempo


Se puede mostrar el funcionamiento del sistema de entorno en funcin del
tiempo. Para ello se presenta el caso de la fusin de informacin sobre una misma
celda a lo largo del tiempo. Las estimas de cada uno de los sensores es la misma
que en los ejemplos anteriores (07 y 02) y se repetir constantemente. Se realizan
dos ejemplos: uno el robot se encuentra a una distancia fija de un objeto y otro
cuando se aproxima a ste.
En primer lugar, se supone que el robot se encuentra parado, a una distancia
de 1 metro y se toman 50 medidas de dicha celda. En la figura 4-19 se muestra la
probabilidad a posteriori cuando slo acta uno de los sensores y la probabilidad a
posteriori conjunta (procedente de la fusin de las estimas de ambos sensores).
2
2
176 4.5. Red bayesiona de fusin muitisensorial en nuestro robot 2
Fusin en el tiempo <0v) (parado> Fusin en el tiempo de medidas contradictorias (parado)

0.95 0.9
g-LanxtEoteRxnNnxflflflwanuBxyjUn-OR
2
0.9 0.8 (0.7,->

2
1~
0.7 0

0.75
Oh
0.6
0.5 R=1 m 2
0.7

0.66 0.4
<-01) (-0.2)
O R=lm [4+ It-4--LI--F-4--1I-+[-4--F.4.+ -+~4-4 4 +
0.6 0.3

a) Medidas en el mismo sentido b) Medidas contradictorias 2


Figura 4-19. Fusin de medidas en el tiempo.
(o ultrasonidos, i- visin, * fusin de ambas> 2
En la figura 4-19a se muestran los casos correspondientes a afirmaciones
iguales y en la figura 4-1gb a afirmaciones contradictorias de los sensores. En la
2
primera situacin (como ocurra en el caso II) la probabilidad final siempre es
mejor que la de los dos sensores actuando independientemente. En la situacin 2
con afirmaciones contradictorias, figura 4-19b, la probabilidad conjunta a posteriori
se encontrar siempre entre la de los dos sensores (como ocurra en el caso iii>. 2
En la figura 4~1ga las dos medidas de los sensores crecen porque se refuerza la
creencia a favor de que la celda est ocupada, mientras que en la figura 4-19b la 2
medida de visin decrece puesto que se refuerza la creencia en contra de la
existencia de un objeto. La creencia crece hasta alcanzar un valor determinado (no
tiene porqu llegar a 1) que depende del conocimiento a priori y la distancia 2
(modelo del sensor>.

En segundo lugar, se puede medir la misma celda de igual forma que en el 2


caso anterior (un slo sensor en cada ocasin y la fusin de ambos) pero 2
movindonos hacia la celda que contiene el objeto observado, figura 4-20. Para ello
se supone que se parte de una distancia a la celda de 8 metros y se acerca a ella a
una velocidad de 0.3 m/s hasta llegar a una distancia de 2 metros de ella. 2
2
2
2
2
CapQuo 4. Fusin multisensorial de medidas de entorno 177

Fusin en el tiempo (movimiento>


0.95

0.9

0.86

0.8

0.75

0.7

0.65

0.6

0.55

0.6 0 5 10 15 20

t (seg)

Figura 4-20. Evolucin de la probabilidad a posteriori en el tiempo


(o ultrasonidos, + visin, * fusin de ambas>

En la figura 4-20 se puede ver que la probabilidad de acierto aumenta hasta


alcanzar el mximo en la posicin ms cercana a la celda. En este caso la creencia
obtenida queda por debajo de la de la figura 4-19a porque se encuentra a una
distancia de 2m. Tambin se observa que la velocidad con la que aumenta la
creencia de cada sensor depende del modelo utilizado.
2
2
178 4.6. Funcionamiento temporal 2
4.6. Funcionamiento temporal 2
El diseo de una red como la mostrada en la seccin anterior permite la
actualizacin, a partir de la informacin que cada uno de sus sensores ofrece, de 2
cualquier caracterstica (celda/objeto) del entorno del robot.

Sin embargo, se debe tener en cuenta que en cualquier modo de 2


funcionamiento de los sensores en el que slo informen de caractersticas o
atributos de objetos detectados (como en el caso del histograma de campo) y no de 2
todas las celdas observadas por el sensor (como ocurre en mapas de ocupacin> el
algoritmo de fusin no funciona correctamente. Esto se debe a que en estos casos 2
si el sensor comete un error en la lectura o en su estima (por ejemplo un falso eco)
y esa celda no vuelve a ser observada, el atributo estimado permanecer
indefinidamente. Lo mismo ocurrir con objetos en movimiento, puesto que al ser 2
observado durante su trayecto dejar un rastro que no se eliminar. Para evitar
esto, tenemos dos opciones: 2
Informacin sobre celdas vacas y ocupadas. Los sensores pueden
2
-

informar sobre la certeza de todas las celdas observadas (tanto las


estimadas ocupadas como las vacias>, vase la figura 4-21, de modo
que se actualicen continuamente, por ejemplo en [Menezes 95]. 2
Con esta opcin se consigue evitar e problema de la deteccin de
objetos en movimiento pero no el de aquellas celdas lejanas que
2
hayan sufrido un falso eco. Adems otro inconveniente de este
procedimiento es que requiere una mayor carga de clculo y una 2
sobrecarga en la comunicacin entre procesos que no es factible en
muchos sistemas debido a sus necesidades de tiempo. 2
o 2
y y vv Voo
VVV VVyV
vvvV
y
y
2
voo
o
2
Figura 4-21. Mltiples celdas ocupadas y vacas
2
si
2
Capitulo 4. Fusin multisensorial de medidos de entorno 179

- Factor de olvido. Se realiza un decremento temporal de la certeza de


cada una de las celdas. Esto equivale a dotar de un factor de olvido
al robot, de forma que hace que la certeza de una celda tienda a
volverse desconocida (05, 05) cuando no es observada durante
cierto tiempo. Este tiempo o factor de olvido, r0, debe ser

sintonizado en funcin de la aplicacin para la que se utilice el robot.


Depende de la velocidad de muestreo de los sensores, de la
velocidad de los objetos mviles detectados y de la aplicacin
particular del robot (construccin de mapas, ir de un lugar
determinado a otro, etc.).

Como la finalidad del sistema de fusin de medidas de entorno es ser


independiente del tipo de sensores utilizados, es conveniente dotar al sistema de la
posibilidad de utilizar ambos mecanismos. Por tanto, se adaptar el sistema para
permitir la actualizacin de las celdas con un factor de olvido como el indicado en
la segunda opcin, aunque el usuario es libre de configurar el sistema para actuar
como en el primer caso sin ms que disponer de las estimas de las celdas
adecuadas y no utilizar el factor de olvido.

Para encontrar el factor de olvido es necesario disear un modelo del


comportamiento temporal de la creencia de una celda, teniendo incluso en cuenta
que no todos los atributos tienen porqu tener un mismo factor de olvido. En
general, puede suponerse que el estado actual de una celda (atributo), X,,
estimado por el robot depender de su estado anterior, X,1, y de la accin que
tome el robot, A,.

P(X, X,,,A,) (4.23>

Para simplificar el modelo, podemos suponer que el robot no interactua con


su entorno, sus sensores no afectan a las celdas que observa (no tiene sensores
activos que pudiesen modificar el estado de las celdas al tomar medidas) ni su
movimiento afecta al estado de una celda observada. Con esta simplificacin, la
ecuacin (4.23) queda,

P(X, X,1) (4.24>

Por tanto, lo que nos interesa es construir una red bayesiana con un nodo por
cada estado y variable sensor en cada etapa temporal (vase la figura 4-22). Esto se
conoce como red de Bayes dinmica. Las redes de bayes dinmicas pueden verse
como una codificacin distribuida de un proceso de Markov. Fueron utilizadas
2
180 4.6. Funcionamiento temporal 22
inicialente por Dean y Nicholson [Dean 89; Nicholson 92; Kjaerulff 92 o
Nicholson 94] entre otros. 2
Por medio de esta red se puede estimar la probabilidad de un estado en el
momento actual t. Hay que tener en cuenta que, aunque no ser utilizado en 2
nuestro sistema, se puede predecir el estado futuro de una celda (lo que se conoce
como proyeccin probabilista), aunque para ello es necesario presuponer unas 2
ciertas entradas sensoriales futuras.

Aunque la prediccin puede parecer intil en este caso, puede llegar a ser
una herramienta muy potente. Por ejemplo, mediante una red de creencia 2
dinmica se puede disear un filtro de Kalman con slo una red dinmica con dos
periodos de tiempo y tres etapas (prediccin, observacin y estimacin) [Russell
95].
2
2
2
2
2
2
2
Figura 4-22. Estructura genrica de una red bayesiana dinmica.
2
Puesto que se considera un modelo para la evolucin temporal que depende
de instantes anteriores al estado actual, la figura 4-22 es suficiente para representar 2
cualquier sistema sensorial en el tiempo. Sin embargo, puesto que no nos interesa
guardar la evolucin temporal de la celda ni la secuencia de observaciones 2
realizadas, es suficiente con mantener un modelo con e estado actual y el estado
siguiente y realizar tres fases cclicamente, vase la figura 4-23. Esta fases son 2
semejantes al caso de un filtro de Kalman: prediccin, observacin y actualizacin.

2
2
2
Capitulo 4. Fusin multisensorial de medidos de entorno 181

Prediccin: En este paso se calcula el estado que tendr la celda antes


de realizar la observacin de una medida por parte del sensor y
corresponde a la evolucin temporal del estado de la celda. Esto
equivale a aplicar el factor de olvido sobre las celdas.

- Observacin: -El sensor adquiere una medida referente a una celda y


calcula su estima.
- Actualizacin: En esta fase se aplica el mecanismo estndar de
actualizacin de la creencia de la red bayesiana y se obtiene el nuevo
estado de la celda a partir de la observacin realizada. En este
momento la red est lista para comenzar un nuevo ciclo.

~ Estado Celda Estado celda


O

M S 17.7..

Percepcin Peredpcini
t1 t

a) Prediccin b) Observacin c) Actualizacin

Figura 4-23. Pasos para actualizar nuestra red dinmica.

En la figura 4-23, se muestra cada una de las etapas en el clculo del estado
de la celda en el instante t, en ella se muestran sombreados los nodos que se
encuentran involucrados en cada una de las fases. En la figura tambin se muestra
el modelos sensorial, Ms, y el modelo de transicin de estado, Mx.
El modelo temporal del estado de las celdas puede ser variable sin ms que
modificar adecuadamente la matriz de transicin de estados, Mx. Esta puede
depender de aquellas variables que se considere que afectan al factor de olvido. En
nuestro caso consideraremos que el factor de olvido es independiente de la celda
en cuestin, por lo que se utilizar una matriz que slo depende del periodo de
refresco,

= L
1 -s
~ e,
E
(4.25)
2
2
182 4.6. Funcionamiento temporal 2
Por supuesto r0 debe ser calculado experimentalmente y depender del tipo

de sensor utilizado, su velocidad de muestreo, el movimiento del robot, de los 2


objetos que le rodean, etc.
Por lo tanto ya tenemos definida la red dinmica y su comportamiento 2
temporal. Una red ejemplo con dos sensores puede verse en la figura 4-24.

t1 t tl
2
st
2
0 Figura 4-24. Red de Fusin temporal.
2
2
A continuacin se mostrarn varios ejemplos del funcionamiento temporal de

dicha red para mostrar la utilizacin del factor de olvido en distintos casos.
2
4.6.1. Ejemplos de funcionamiento temporal 2
A continuacin se presentan distintos ejemplos del funcionamiento temporal
del sistema de fusin de entorno para mostrar cmo se comporta la creencia de la
red bayesiana dinmica y el factor de olvido del sistema. En todos estos ejemplos se
2
utiliza la matriz de transicin de estados mostrada en la ecuacin (4.25) con un
valor para y0 de 5.85s., que para un periodo de refresco de 03 s da la matriz
2
2
C05
constante,

=
O:O5j (4.26) 2
Debe tenerse en cuenta que la red bayesiana dinmica engloba a la
anteriormente definida y que se obtiene con slo dejar de aplicar el factor de 2
olvido, es decir, sin tener en cuenta ningn cambio temporal del estado de los
nodos. Esto se consigue dejando la matriz de transicin, Mx, como la matriz 2
identidad.

2
si
2
CapQuo 4. Fusin multisensorial de medidas de entorno 183

La dependencia temporal del sistema de fusin puede ser muy variada


dependiendo de su aplicacin y del entorno donde se utilice. En estos ejemplos se
utiliza la capacidad dinmica de la red para incorporar un factor de olvido. El
factor de olvido incluido en nuestra red de bayes dinmica permite dos opciones
diferentes:

- Olvido de la informacin a priori, lo que permite que la informacin a


priori se utilice inicialmente pero a medida que se obtiene
informacin externa slo se utilice la informacin sensorial.

- Olvido de la informacin sensorial, lo que permite incluir un factor de


olvido en la informacin obtenida por los sensores de igual forma
que se utiliza en los histogramas de campo y otros problemas.

4.6.1.2 Factor de olvido en la informacin a priori


Para mostrar el efecto del factor de olvido sobre la creencia a priori de una
celda, se parte de un valor a priori para la creencia de ocupacin de la celda de 0,8
(por ejemplo debido a un mapa externo), es decir, iicialmente la celda se cree
ocupada. Tngase en cuenta que si el valor a priori de la celda es de total
incertidumbre os), el factor de olvido no afecta, puesto que su cometido es hacer
olvidar el conocimiento a priori de esa celda, es decir, se olvida el conocimiento
inicial para que slo permanezca el debido a la entrada sensorial. Si no se dispone
de ninguna entrada sensorial sobre la celda y no hubiese factor de olvido, est
permanecer a 08 indefinidamente. Pero si se configura el sistema para que posea
un factor de olvido como el anterior y no existe ninguna evidencia externa, su
certeza descender hasta la incertidumbre total (05), como puede verse en la
figura 4-25.
si
2
184 4.6. Funcionamiento temporal
st
2
o
2
2.
o-
st
st
seg
60
2
Figura 4-25. Decremento de la creencia a priori de una celda en el tiempo.
2
Tambin es interesante mostrar el funcionamiento del factor de olvido
cuando el sensor est observando un objeto. As, en el caso de una celda a una
distancia R= lm. (como en el caso anterior) y una estima del sensor de (07, 03)
2
podemos ver como, en la figura 4-26, la creencia aumenta hasta alcanzar un valor
de 0.97, momento en e que no puede aumentar su certeza puesto que la fiabilidad
2
considerada para el sensor a esa distancia lo impide. Cuando se activa e factor de
olvido se observa como la certeza cae hasta un valor por debajo del cual no puede 2
disminuir. Esto es debido a que el factor de olvido se aplica al conocimiento a
priori y el valor que permanece constante es el debido a la entrada sensorial la - 2
celda no tiene en ese momento ningn conocimiento a priori (05, O5). Su alta
creencia se debe a un seguro conocimiento de la existencia de un objeto provocado
por a una entrada sensorial afirmativa durante mucho tiempo la X procedente del
2
sensor tiende a (1,0).
2
2
2
2
st
2
2
CapQuo 4. Fusin multisensorial de medidas de entorno 185

0.97
0.961

0.96

0.94

0.931
o
o- 0.92
0.91

0.

0.88 10 20 30 40 50
o seg

Figura 4-26. Creencia de una celda: olvido de la probabilidad a priori y entrada sensorial.

Por supuesto, el tiempo de olvido debe sintonizarse segn el funcionamiento


de los sensores y del entorno en el que acta el sistema. En la fIgura 4-27 pueden
observarse dos factores de olvido distintos. En ambas figuras se observa la
disminucin de la certeza debido al factor de olvido, pero con una velocidad de
actuacin diferente. Esto permite que sea se pueda configurar dependiendo de las
necesidades del problema a tratar.
En al figura 4-27b puede observarse como llega un momento en que no
puede estimarse una probabilidad mayor porque la certeza en el sensor tiende a
(1,0). Por lo tanto lo nico que se consigue al utilizare1 factor de olvido es-variare1
valor de la probabilidad a priori de la celda. Es decir, se olvida la informacin
disponible a priori puesto que puede ser errnea, pero no se ve afectada la
creencia procedente de nuevas medidas.
si
186 4.6. Funcionamiento temporal 2
0.95 0%
st
0.94 1. 2
093

0.92 0.9
9.
0.91 0.88 .5
2
5

2
0.9 0.88

0.89 0.84 2
0.88 0.82
0 5 10 15 20 25 30

st
889
0 10 20 30 40 50 60 70

a> Tiempo de olvido rpido b) Tiempo de olvido lento.


Figura 4-27. Entrada sensorial y factor de olvido.

Esto es lgico, puesto que inicialmente se utiliza la informacin a priori


2
mientras se recoge evidencia externa, pero una vez que se ha obtenido informacin
del entorno la informacin a priori no es tan relevante y se puede olvidar. Sin
2
embargo, aunque este funcionamiento puede ser deseable, en la figura 4-27b se
puede observar que el cambio en la certeza de la celda es debido al olvido de la 2
informacin a priori y no a medidas del sensor, puesto que este alcanza una certeza
absoluta debido a la reiteradas medidas. Esto plantea la siguiente cuestin: ser el 2
sistema capaz de reaccionar a una variacin de la entrada-sensorial cuando sta ha
permanecido constante durante mucho tiempo?. O, por el contrario, la inercia del
sistema de fusin es tan grande que no ser capaz de reaccionar rpidamente ante
2
objetos imprevistos?. Si esto ltimo fuese cierto el sistema sensorial sera invlid
en un sistema reactivo, puesto que no puede permitirse un tiempo de reaccin
2
excesivo ante cualquier imprevisto. -

Para comprobar su capacidad de reaccin se realizan dos pruebas:


st
- En la primera el sistema sensorial recibe una entrada del sensor de
ultrasonidos, X=(06, 05), durante mucho tiempo. En un instante
st
determinado el sensor comienza a estimar la ocupacin de la celda
de forma contraria a la anterior, X=(05, 06>, vase la figura 4-28a.
2
- En la segunda prueba el caso es semejante, pero en el momento de
detectar un cambio, el sensor lo hace con gran seguridad en su
2
certeza, X=(02, 09). Obsrvese la figura 4-28b.
si
2
2
si
Cap Quo 4. Fusin multisensorial de medidas de entorno 187

a) Afirmacin dbil.

70

b) Afirmacin fuerte.
Figura 4-28. Cambio de opinin en la entrada sensorial del sensor.

En el caso de que el sensor no est muy seguro del cambio percibido y emita
una informacin contraria a la anteriormente emitida pero de forma dbil, el
tiempo de reaccin es grande (unas 15 medidas), figura 4-28a. Esto es lgico
puesto que si no est muy seguro del cambio en el entorno, necesita cerciorarse
con varias medidas para compensar su inseguridad. En el otro caso, figura 4-28b,
debido a que el sensor se encuentra muy seguro de la inexistencia de un objeto
si
st
188 4.6. Funcionamiento temporal 2
(afirmacin fuerte>, se puede ver como en muy pocas observaciones (2 medidas) se
recoge el cambio percibido. st
Por lo tanto, el sistema es capaz de reaccionar adecuadamente a las entradas
sensoriales, siendo su respuesta a un cambio en el entorno proporcional a la 2
certeza con la que se detecta dicho cambio. La diferencia entre los instantes en los
que comienza a cambiar la certeza debido a la entrada sensorial en cada uno de los

casos puede observarse en la figura comparativa 4-29, donde se han representado st


juntas las figuras 4-28a y 4-28b y se ha ampliado la zona en cuestin.

0.9 2
0.8 2
0.7 2
0.6

0.5 2
0.4
26 30 35 40 46 60 55
2
Figura 4-29. Comparacin del tiempo de respuesta del sensor. 2
Siempre que se utilice informacin de un mapa como informacin a prion, 2
puede ser eliminada mediante este factor de olvido, evitando as errores en la
lectura de la informacin del mapa o en la utilizacin de informacin incorrecta. 2
4.6.1.2. Factor de olvido en las medidas sensoriales
Otro tipo de informacin que es recomendable olvidar en muchas ocasiones 2
es la referente a la informacin sensorial. Cuando un sensor realiza una estima a
partir de una cierta medida, sta es susceptible de errores y por tanto deber 2
tenerse en cuenta esta posibilidad. La forma de hacerlo, debido a que estos errores
suelen ser aleatorios, es disminuyendo su certeza de forma que al cabo de un cierto 2
tiempo slo queden aquellas medidas que han sido repetidas cierto nmero de
veces. 2
2
2
Capitulo 4. Fusin muitisensorial de medidos de entorno 189

La forma de hacer esto es incluyendo un factor de olvido a la entrada


sensorial de cada uno de los sensores (el factor de olvido de cada sensor ser
distinto). Este factor de olvido tiende a hacer que las dos medidas sean iguales, lo
que indica un desconocimiento total por parte del sensor.

0.97

~ 093
2.
o- 0.92

0.88
0 5 10 15 20 25 30 35
389

a> Olvido con medidas sensoriales.

o
9.
o-

36
seo
b> Olvido sin medidas sensoriales
Figura 4-30. Factor de olvido en las medidas sensoriales.
2
si
190 4. & Funcionamiento temporal 2
Por ejemplo, para ver su efecto, supongamos un sensor que percibe un
objeto, estima de X=[09, O3] y un conocimiento a priori de la celda de (08, 02), y

en un momento determinado comienza a actuar e factor de olvido sobre la


st
observacin sensorial. En la figura 4-30a, el sensor continua percibiendo la
existencia de un objeto en esa celda mientras acta el factor de olvido. En este caso
la creencia en la ocupacin de esa celda se mantiene (aunque disminuir en un
2
pequeo factor>. En la figura 4-30b se muestra un caso distinto. El sensor deja de
realizar medidas sobre esa celda. En este caso se puede ver como cuando comienza
2
a actuar el factor de olvido la creencia sobre la celda debido a la entrada sensorial 2
disminuye hasta olvidarse por completo y la creencia final de la celda ser la que
estaba disponible a priori (no est activo el factor de olvido para la informacin a
2
priori>.
Tengamos en cuenta que el clculo del factor de olvido, tanto a priori como 2
sensorial, se realiza de forma emprica puesto que es muy dependiente de la
calidad de los sensores, la frecuencia de muestreo y actualizacin de la
informacin, del tipo de entorno y de las caractersticas del robot (su aplicacin,
velocidad de desplazamiento, etc.>. Por ello no se ha indicado un mtodo para su
- 2
clculo sino se ha mostrado su sencilla utilizacin y versatilidad para adaptarlo a
cualquier aplicacin. El clculo de r0 o de la matriz de transicin de estados, as
2
como su frecuencia de aplicacin, debe ser sintonizada para cada aplicacin
concreta.

Recordar, por ltimo, que si la informacin del sensor permanece constante 2


durante cierto tiempo se puede alcanzar la creencia externa por parte del sensor de
(1,0), o al contrario. Sin embargo, esta creencia no se ve reflejada de igual forma en 2
la creencia de la celda, puesto que el sensor se encuentra ponderado por la matriz
del modelo del sensor y la creencia final no tiende a 1, sino a un valor inferior.

Ejemplos en los que se puede ocurre esto se pueden observar en las figuras 4-27b
st
y 4-28a, donde al cabo de un cierto tiempo de permanecer la entrada sensorial fija

el sensor alcanza una creencia externa de (1,0) y por tanto la creencia de la celda
permanece constante ya que no hay ningn cambio en el estado sensorial. Slo se
si
pueden producir cambios debido a una opinin en contra de este sensor, o de otro, 2
o a la disminucin, o aumento, de la informacin a priori. En las figuras 4-27b y 4-
28a los escalones observados se deben a la disminucin de la informacin a priori. 2
2
si
si
CapQuo 4. Fusin multisensorial de medidos de entorno 191

4.7 Resultados experimentales


Un vez se ha indicado con detenimiento el funcionamiento del sistema de
fusin de medidas de entorno, en esta seccin se muestra su comportamiento en
un robot en movimiento. Para ello se realizan dos pruebas distintas. La primera
realiza la fusin de medidas reales de ultrasonidos tomadas durante un recorrido
del robot en nuestro laboratorio. La otra prueba consiste en simular el movimiento
del robot en ese mismo laboratorio para fusionar la medida de dos sensores
distintos: visin estereoscpica y cinturn de ultrasonidos. En este caso ambos
sensores son simulados.
Hasta el momento slo se ha mostrado la evolucin de la creencia de una
celda de forma aislada de las dems, ahora se pretende sealar el efecto del sistema
de fusin en la construccin de un mapa de creencias para su utilizacin por parte
de un robot mvil.

4.7.1. Modelo sensorial y entorno utilizados

Lo primero que se debe realizar, como se seal en la seccin 4.5.1, es el


diseo de la dependencia causa-efecto de los sensores de entorno disponibles. Se
debe tener en cuenta el efecto de cada uno de los sensores y cmo estn
relacionados entre s y con respecto al nodo de fusin. El nodo de fusin se
encargar de obtener el resultado conjunto de las estimas de los vectores de
caractersticas que hemos definido. En nuestro caso slo estudiaremos el estado de
ocupacin de la celda (existencia o no de un objeto), aunque podran tratarse otros
aspectos como deteccin y reconocimiento de esquinas, rincones, paredes, puertas,
etc. -
Para realizar la fusin de las medidas de ocupacin de cada celda, se disea
una red bayesiana semejante a la de la figura 4-11. Nuestro diseo de la red de
fusin se muestra en la figura 4-31, donde se consideran dos sensores
independientes entre si (ultrasonidos y visin) y la informacin del mapa como
informacin a priori.
si
si
192 4.7 Resultadas experimentales 2
Modelo mapa

2
Modelo

st
Sensor Sensor
ultrasonidos st
Figura 4-31. Red bayesana para integracin multisensorial en el ejemplo practico. 2
El modelo de sensibilidad y especificidad de cada sensor debe ser calculado
por el usuario realizando distintas pruebas experimentales sobre sus sensores para st
comprobar como afectan distintas circunstancias sobre el modelo de deteccin de
sus sensores. El modelo diseado por el usuario puede ser tan complejo como se
desee. En nuestro caso utilizaremos el modelo de los sensores indicado en la
2
seccin 4.4.2, modelo que es dependiente de la distancia al objeto detectado. J
Para mostrar el funcionamiento del sistema de fusin sobre un entorno real
el robot se desplaza por nuestro laboratorio, vase figura 4-32, midiendo el entorno 2
que le rodea. Las pruebas realizadas se presentan a continuacin en dos ejemplos
distintos: medidas reales de ultrasonidos y medidas simuladas de ultrasonidos y st
visin.

2
st
si
2
si
2
si
J
Capitulo 4. Fusin muitisensortal de medidas de entorno 193

(16)

(II)

10 m

x
(0,0) 7.5 m.

Figura 4-32. Mapa del laboratorio y camino del robot,

4.7.2. Fusin de medidas reales de ultrasonidos

En este caso nicamente se utilizan medidas del cinturn de ultrasonidos


durante el movimiento del robot. El modelo de red presentada en la figura 4-31
puede ser utilizada igualmente, aunque las nicas medidas utilizadas son las
obtenidas por el sensor de ultrasonidos (el sensor de visin no est activo y adems
no se utiliza ningn mapa como informacin a priori).
En este ejemplo, el cinturn de ultrasonidos es implementado mediante una
torreta de ultrasonidos, vase el Apndice D, que puede girar 360 grados. Aqu se
utiliza para tomar datos de su entorno cada 15 grados a fin de detectar cualquier
objeto alrededor del robot.
El robot realiza el trayecto mostrado en la figura 4-32 y observa su entorno
en unos instantes determinados, en particular realiza una media del entorno cada
0.5 m., lo que da lugar a 16 observaciones. Como ejemplo, en la figura 4-33 se
muestran las observaciones obtenidas por el sensor en las tres posiciones (1>, (2) y
(11) sealadas en la figura 4-32. Las marcas corresponden a las posiciones de las
celdas del mapa de ocupacin indicadas por el sensor como ocupadas y utilizadas
para incrementar la certeza acumulada en el mapa de ocupacin (en el ejemplo las
celdas son de 10 x 10 cm.). La seal correspondiente a un asterisco (*> representa
la posicin del robot.
194 4.7 Resultados experimentales

12
o
lo 0 01000 0010
00

8
6
6

o 000000 0~~.000

-2
-2 0 2 4 6 8 10

a) Posicin 1

2.5 o
o o
0 0
2 o o
o o
0
1 .5 o o-
o
0 0
o o
o
OS 0,
o

o o 0

-0.5 o
-2 0 2 4 6 8

b). Posicin 2

2.5
o
o
2 o,
O
o
1.5 o
o
o
-O
14 0-
O
O o
o
0.5 o

o o
o
0
-0.5 -o o -

o
1 o

-IB
o 1- 2 3 4 5 6 7 8

c> Posicin 11.


2y 11
Figura 4-33. Medidas l del sensor de ultrasonidos en e trayecto elegido.
CapQuo 4. Fusin multisensorial de medidas de entorno 195

El sensor utilizado es el ms simple posible. No se define ningn tipo de


modelo del entorno y slo se informa sobre celdas ocupadas con una informacin
de certeza de (08, 02>. Inicialmente se han considerado todas las celdas del mapa
con una certeza de ocupacin de 05 (totalmente desconocidas, puesto que no se
ha utilizado ningn mapa como conocimiento a priori>.
En la figura 4-34a se muestra el mapa resultante al integrar todas las medidas
observadas por los ultrasonidos sin tener en cuenta ningn factor de olvido. En
este caso se muestran todas las celdas que tienen una creencia de ocupacin
superior a 05. Como se puede ver, al no existir ningn factor de olvido, cualquier
medida obtenida (aunque hayan sido falsos ecos) permanece almacenada aunque la
creencia en su ocupacin es pequea.

En la figura 4-34b se muestra el mismo resultado de fusin pero slo para las
celdas que considera el robot como ocupadas. Esto es un factor experimental que
depende de la frecuencia de medida de los sensores, la certeza de estos, etc.; en
este ejemplo se han considerado como ocupadas (aquellas celdas cuya creencia es
superior a 064>. Se puede observar que las medidas errneas o espurias han sido
observadas una o muy pocas veces y por tanto no ha crecido su certeza hasta ser
consideras como ocupadas, por lo que se obtiene un mapa ms preciso. Por
supuesto si existen errores en la medida que se repiten, como el caso de la columna
o de las esquinas, no podrn eliminarse. La nica forma de corregir estos errores es
con la ayuda de otro sensor.
2
si
196 4,7 Resultados experimentales 2
12

10-
st
8

2
xii
6 1 tioo
-~

U ~
1
st
0 2
12....
0 2 4 6 8 10
2
10 *CYs42sa,
4 2
8 a
a
6

46 ji
2
2
8

4
1
2
0

7
al

a> Mapa de creencia obtenido


2 4 6 6 10

b> Mapa de celdas consideradas ocupadas


st
2
Figura 4-34. Fusin de medidas reales de sensores de ultrasonidos.

4.7.3. Fusin de medidas de ultrasonidos y visin simuladas


u
En este caso se utilizan los dos sensores de entorno indicados en la figura 4- 2
31: cinturn de ultrasonidos y visin estereoscpica. Las medidas de ambos
sensores son simuladas a partir de la posicin del mvil y del mapa de entorno y,
como en el ejemplo anterior, no se utiliza informacin a priori correspondiente a
si
un mapa de entorno. 2
Para simular los ultrasonidos se utiliza un modelo de los sensores semejante
al desarrollado por Leonard para el sonar [Leonard 90; Leonard 92]. El modelo de j
visin es un modelo propio desarrollado a partir de nuestra experiencia en visin
estereoscpica y tiene en cuenta la distancia al objeto, e ngulo de visin, la 2
st
2
Captulo 4. Fusin muitisensorial de medidas de entorno 197

apertura de campo y los parmetros de las cmaras como tamao de pixel, distancia
focal, etc. Con l se simula si el robot reconoce o no un objeto y, en caso
afirmativo, a qu distancia estima su posicion. -

El recorrido del robot es el mismo que el mostrado en la figura 4-32 con el


fin de compararse con el ejemplo anterior. En este recorrido se realizan distintas
pruebas: usando un nico sensor (o ultrasonidos o visin) o utilizando los dos a la
vez.
En la figura 4-35a se muestra el mapa de creencia obtenido mediante la
fusin de las medidas ultrasonidos cuando slo se simula el funcionamiento del
cinturn de ultrasonidos y en la figura 4-35b las celdas consideradas ocupadas.
Aqu conviene hacer notar que, como se puede observar comparando con la figura
4-34, las medidas simuladas son ms imprecisas que las medidas reales pero como
lo que nos interesa es comparar la fusin de medidas de un sensor con respecto a
la de dos sensores es suficiente con esta simulacin.

10 . . 10 -

--~- ~

a a
8 8
1:

6 6 t
dc. E
Q

e t
4 4

2 2 -
1.
o o -

0 2 4 6 0 2 4 6 8
a) Mapa de creencia obtenido b) Mapa de celdas consideradas ocupadas
Figura 4-35. Fusin de medidas del sensor de ultrasonidos.

En la figura 4-36a se muestran las observaciones del sensor de visin


estereoscpica y en la figura 4-36b las celdas que se consideran ocupadas, como en
el caso de ultrasonidos, pero ahora slo se simula el funcionamiento del sensor de
visin. Slo se ve la parte superior porque el robot nicamente tiene un ngulo de
visin hacia delante en cada cmara de 45 grados. Como el robot no ha girado en
ningn momento la visin slo se ha observado la parte delantera. Adems debido
a que para detectar una superficie necesita un cierto contraste, slo se puede
si
st
198 4.7 Resultados experimentales

reconocer con precisin el borde del objeto de la parte superior (el que queda en st
su ngulo de visin) y las esquinas superiores, sobre todo la esquina y la pared que
se encuentran justo enfrente del robot. 2
10
~4 ~
10
a

2
2
8
1 8 1
st
6 1 6

4
st
4

2 2
st
o o 2 4 6
o o 2 4 6 8
st
a) Mapa de creencia obtenido b) Mapa de celdas consideradas ocupadas
Figura 4-36. Fusin de medidas de sensores de visin estereoscpica. si
La fusin de ambas medidas da lugar a una estima mejor del entorno, vase 2
la figura 4-37. En el caso mostrado, existe un error entre las medidas de
ultrasonidos y las de visin en el clculo de la posicin de la pared de enfrente, lo
que impide su correcta fusin. Sin embargo, podemos ver como se reconoce con
st
Thayor precisin las esquinas del objeto que es observado por los dos sensores y se
detecta la esquina que se encuentra enfrente del robot y que no se podra estimar
st
con ultrasonidos.
st
st
si
2
si
si
si
st
CapItulo 4. Fusin muitisensorial de medidas de entorno 199

4.

8 .~
vi
te E
4

6 6 1~.
ev e
.4..
2
-e t
e.
.1 4
4
4
4

2 2

0 ---- o
0 2 4 6 0 2 4 6 8

a) Mapa de creencia obtenido b) Mapa de celdas consideradas ocupadas


Figura 4-37. Fusin de medidas de sensores de ultrasonidos y visin.

Conviene indicar que siempre se podra mejorar la simulacin para obtener


mejores resultados, pero se han dejado stos para hacer hincapi en que la fusii3
de las observaciones de distintos sensores no es una panacea y slo da lugar a una
observacin mejor cuando estas observaciones estn de acuerdo o se
complementan. En caso contrario, ni pueden reforzarse y ni dan lugar a una
mejora de las estimas obtenidas individualmente. Adems, se debe resaltar que se
ha procurado simular la dificultad de tomar datos por parte de visin,
principalmente en su lentitud en el procesamiento de una imagen, lo que nos ha
llevado a tomar muy pocas observaciones (cuatro imgenes>, por ello no ha sido
posible confirmar la existencia de la pared del fondo, si se desease una estima
mejor es necesario reiterar las medidas para que aumente su creencia en la
existencia del objeto, como se ya ha mostrado en las secciones anteriores.
2
si
200 4.8 Resultados del capitulo 2
4.8 Resultados del capitulo 2
En este Captulo se han descrito distintos mtodos para fusionar
caractersticas y declaraciones de identidad de distintos sensores. Entre ellos se 2
han escogido las redes bayesianas, o redes de creencia, porque permiten un diseo
grfico de la utilizacin de los sensores y una sencilla configuracin del sistema de

fusin. Esto permite que sea muy adecuado para su utilizacin por distintos
st
usuarios y en distintas aplicaciones. Adems las redes permiten su uso de modo
2
-

distribuido, paralelo y asncrono, caractersticas buscada en el diseo del sistema


sensorial de esta tesis. Todas estas propiedades han sido mostradas para un
ejemplo sencillo: la creacin de mapas de creencia. 2
Para comprender mejor el funcionamiento del sistema se ha comparado su

utilizacin con los mapas de creencia diseados por Elfes, pero adems se ha
mostrado su capacidad para ampliar y modificar los modelos utilizados, as como la
2
posibilidad de su uso en otro tipo de mapas como los histogramas de campo d 2
Borenstein o la utilizacin de ambos mtodos simultneamente segn las
necesidades del entorno, sensores o problema planteado. 2
La utilizacin de las redes bayesianas para crear histogramas de campo llevan
a la necesidad de disear redes temporales. Las redes dinmicas planteadas 2
resuelven el problema del uso del sistema de fusin de entorno cuando se
necesitan propiedades temporales, como por ejemplo es la inclusin de un factor

de olvido. Se han incluido en e sistema diseado dos tipos de factores de olvido:


2
uno para olvidar la informacin a priori y 9tro para olvidad la informacin externa
st
(sensorial) obtenida, mostrando distintos ejemplos de utilizacin.

2
2
2
2
2
si
st
Captulo 5

Implementacin del Sistema de


Fusin
En este captulo se expone cmo se utiliza el sistema de fusin
multisensorial desarrollado en los captulos anteriores dentro de un
sistema de control de un robot real. Para ello, siguiendo la misma
fllosofla anterior, se realizan diseos lo ms generales y verstiles
posibles, se estudian las arquitecturas de control existentes y se
propone una arquitectura de control general que permita modificar de
forma sencilla las tareas necesarias (e incluso la insercin de otras
nuevas) en cualquier robot mvil autnomo.

Las tareas escogidas son muy generales para que el sistema sea
utilizable en diferentes robots. Su implementacin es muy sencilla y se
deja la posibilidad de cambiar los algoritmos utilizados por otros ms
complejos. Por supuesto para que este sistema sea fcilmente
reutilizable es necesario realizar un diseo muy claro que sea de fcil
comprensin y cuyo interfaz est claramente especificado. Esto se ha
realizado utilizando el lenguaje de especificacin grfica orientado a
objetos en tiempo real, ROOM.
Finalmente, una vez desarrollado todo el sistema de control, se
simulan diferentes situaciones en las que el sistema puede encontrarse:
se presentan situaciones de fallo de alguno de los sensores, esquiva de
obstculos imprevistos en la trayectoria fijada. o utilizacin del robot.
para exploracin de su entorno y construccin de mapas.

201
202 Introduccin

Introduccin
Para implementar el sistema de fusin multisensorial en un robot mvil es
necesario definir su relacin o interfaz con otras tareas necesarias para el correcto
funcionamiento del robot mvil. Por ello, la mejor forma de mostrar su utilizacin j
en un sistema robtico es presentar su funcionamiento dentro de todo el conjunto
de tareas existentes en un robot mvil.
Por supuesto, el tipo, nmero y frmncin de cada una de las tareas que
componen un robot autnomo mvil es diferente y depende del diseador y de la
labor que desarrollar el robot. Sin embargo, todos presentan ciertas caractersticas
comunes que ayudan a com1Srender la importancia del sistema de fusin dentro de
un robot mvil.
Por lo tanto, siguiendo la fllosofla de generalidad que se ha buscado en el
sistema de fusin multisensorial, se define una organizacin del sistema robtico J
en tareas que pueden ser fcilmente comprensibles y modificables por el usuario.

La orgmizacin de cualquier sistema robtico determina su capacidad para


llevar a cabo tareas y reaccionar a eventos. Su organizacin da lugar a la
arquitectura de control del robot, que se pueden clasificar en dos grandes
filosoflas:
- Imitacin de las capacidades de los seres vivos, es decir, son sistemas que
se inspiran en la biologa y presentan sistemas basados en respuesta a
distintos estmulos [Brooks 91; Beer 91].

- Orientados a Inteligencia Artificial, utilizan representaciones simblicas


del mundo y realizan razonamientos sobre estas representaciones; poseen
distintos niveles de representacin, conocimiento y control [Elfes 86;
Simmons 94; Alami 98].
Las distintas funciones que componen un control del robot (planificain de
movimientos, control de movimiento, localizacin, visin, etc.) se denominan de
diferentes formas, como son mdulos [Fleury 94; Alami 98], agentes dinmicos
[Maes 91], agentesinteligentes [Russell 95; Mller 96], agentes reactivos [Brooks
86], comportamientos y esquemas motores [Arkin 91], etc. Estas funciones
representan distintas acciones de control o tareas a realizar en nuestro sistema. j
Cada una depender de otras a fin de poder llevar a cabo sus objetivos y los
objetivos del sistema completo. El modo en el que se relacionan las distintas
funciones, sus capacidades y la toma de decisiones da lugar a distintas u
Capitulo 5. Implementacic5n del Sistema de Fusin 203

organizaciones conocidas como arquitecturas de control. En nuestro caso usaremos


el trmino mdulos u objetos como una forma neutra de referimos a ellos, y
como actores cumdo sean especificados mediante BOOM.

Una vez se escogida la arquitectura de control, es necesario definir un


mtodo que sea claro en el diseo de cada una de las tareas de forma que su
especificacin sea clara y de fcil comprensin por parte de cualquier usuario, para
que pueda adaptarlo a su robot sin dificultad. Por ello se escoge la metodologa y
lenguaje de especificacin orientada a objetos en tiempo real, BOOM [Selic 95],
que permite especificar a cualquier nivel de detalle el funcionamiento del sistema
sin perder generalidad.
As, se disea una arquitectura de control abierta, capaz de utilizar
eficientemente el sistema de integracin multisensorial y que puede ser utilizada
en diferentes robot sin necesidad de grandes modificaciones, y aquellas que sean
necesarias sern identificadas con claridad a partir del diseo realizado.

A continuacin, en la seccin 5.1, se describen las arquitecturas de control


existentes, las tareas necesarias y su organizacin en robot mviles autnomos. A
partir de esta discusin se presenta la arquitectura de control escogida: las tareas
necesarias para su buen funcionamiento y su organizacin. En la seccin 5.2 se
desarrolla cada una de las tareas especificadas, se describe su motivacin, su
interfaz, protocolo y funcionamiento interno; y, por ltimo, el modelo de tiempo
real orientado a objetos utilizado. En la seccin 5.3 se describe el modelo BOOM
de cada una de las tareas definidas para el funcionamiento del robot y se muestra
un ejemplo de su funcionamiento. Finalmente, en la seccin 5.4, se muestra un
ejemplo del funcionamiento del sistema, de su capacidad de modificacin,
robustez y versatilidad mediante la simulacin de diversas sftuaiones en las que se
puede encontrar o utilizar un robot mvil terrestre.
204 51. Arquitectura de control propuesta

5.1. Arquitectura de control propuesta


Uno de los principales inconvenientes en el diseo de robots mviles
autnomos es la gran cantidad de potencia de clculo que se necesita, tanto para
interpretar el entorno que le rodea como para planificar un cierto comportamiento.
Por ello, el primer objetivo en el diseo de la arquitectura de nuestro mvil es que
sea paralelizable en la medida de lo posible, de forma que pueda realizar todas las
tareas de planificacin y sensorizacin de forma paralela > distribuida en distintas
mquinas.
Normalmente en la mayora de los robots mviles las responsabilidades de los
diferentes aspectos a tratar para conseguir su correcto funcionamiento se dividen
en mdulos. Estos mdulos representan las distintas acciones de control o tareas a
realizar en el sistema. Cada uno de los mdulos depender de otros a fin de poder
llevar a cabo sus objetivos y los objetivos del sistema completo.
J
La responsabilidad para tomar decisiones en un robot mvil, como en todo
sistema en tiempo real, puede estar dividida en tareas especializadas y j
cuidadosamente ordenadas o como cooperaciones sueltas entre tareas. A este
conjunto de mdulos, segn- el grado de responsabilidad en la decisin d mis
tareas, se le denomina arquitectura de control. Se clasifican en centralizadas y
descentralizadas (o distribuidas). En la prctica muy pocos sistemas caen j
completamente en uno u otro extremo y normalmente presentan un
comportamiento mixto con predominio de una u otra fllosofia.
En una arquitectura centralizada, la responsabilidad de los mdulos de alto
nivel es generar especificaciones de las tareas; y la de los mdulos de bajo nivel J
ejecutar dichas especificaciones tan fielmente como sea posible. En las
arquitecturas distribuidas, los mdulos de bajo nivel pueden responsabilizarse de la
realizacin de metas de alto nivel. En este caso la distincin entre los mdulos de
bajo y alto nivel est basada en la variabilidad de las metas. Las metas que pueden
estar diseadas en los niveles ms bajos, no necesitan ser manipuladas por los
niveles superiores; mientras que las metas que pueden cambiar considerablemente
de una aplicacin a la siguiente podran ser manejadas mejor por los niveles ms
altos. As, dependiendo de qu niveles tomen las decisiones, y de los altos o bajos
que sean, tendremos una arquitectura ms o menos centralizada o distribuida,
siendo lo ms normal las arquitecturas mixtas.

u
Capitulo 5. Implementacin del Sistema de Fusin 205

Control centralizado: En este tipo de arquitectura el software del robot


est separado en distintos mdulos: sensorizacin, razonamiento y
control. Es decir, se dispone de un mdulo que controla el vehculo,
otro que controla los sensores y un tercero de control de la
modelizacin del entorno, la planificacin, etc. Ejemplos de esta
arquitectura &n [Elfes 86] o [Simmons 94]. La ventaja de esta
descomposicin en tareas es que permite una fcil divisin en reas de
investigacin separadas. Sin embargo, esta aproximacin no permite
reflejos de propsito especial, ni la alta velocidad que requieren los
sensores para ser atendidos y razonar sobre sus medidas.

Control distribuido: Si se permite que el controlador de movimiento


pueda tomar una serie de decisiones, estaremos pasando de un
sistema centralizado a uno distribuido. El nmero e importancia de la
toma de decisiones que pueda realizar el controlador depender del
diseo del planificador y del controlador. Por ejemplo, el caso
extremo viene representado por [Brooks 86], donde se permite que
cada agente calcule sus propias ordenes de guiado y de velocidad
directamente a partir de los datos sensados. Eso puede realizarse
satisfactoriamente con unas duras restricciones temporales y tiene la
ventaja de que, al observar directamente los datos de los sensores, es
extremadamente sensible a los cambios del entorno [Baumgartner
94]. Esta capacidad para actuar rpidamente en funcin de la entrada
sensorial, le ha dado la denominacin de arquitectura reactiva. La
grai~ desventaja de este tipo de arquitectura es su dificultad de
mantenimiento, adaptacin a distintos sistemas y su incapacidad para
la planificacin de tareas complejas. Otros ejemplos de arquitecturas
reactivas son los esquemas de Arkin [Arkin 87] y la. planificacin
reactiva [Payton 91].
Ninguno de los dos extremos es ideal para el diseo del sistema buscado.
Esto se debe a que se necesita un sistema descompuesto en mdulos fcilmente
reemplazables por el usuario, verstil y sencillo. Pero a su vez debe ser capaz de
realizar tareas complejas y permitir comportamientos reactivos, delegando, cuando
sea posible, distintas responsabilidades de control. Por ello se buscar una
arquitectura mixta que aproveche lo mejor de ambas. Antes de mostrar el diseo
realizado, veamos cuales son las distintas tareas a realizar en un robot mvil
autnomo para mostrar qu mdulos son necesarios en nuestro robot.
206 5.1. Arquitectura de control propuesta

5.1.1. Tareas necesarias en un robot mvil autnomo

Ya sea el control centralizado o distribuido, en el sentido de quin, qu tipo y J


qu rango de decisiones pueden tomarse en el sistema, la implementacin de ese
control se realiza siempre, puesto que es la forma natural de hacerlo, mediante un
conjunto de tareas distribuidas, ya sea en uno o varios procesadores.
En navegacin autnoma y en robot mviles es necesario resaltar la
diversidad y compleja informacin que debe ser procesada, la diversidad de las
tareas fsicas necesarias para llevar a cabos el control y a la planificacin requerida
para realizar acciones complejas. Por ello, cualquier sistema como e buscado
puede llegar a volverse de una complejidad desconcertante. Decidir qu sensor,
actuador o accin de procesamiento se realizar a continuacin (sincronizacin de u
varias actividades> necesita un planificador a nivel de tareas para proporcionar la
secuencia
tareas queapropiada.
se ejecuten
Unsemi-independientemente
entorno semejante tambin
y que
necesita
cooperen
mltiples
de una
agentes
formao u
coherente. Todas estas actividades se pueden clasificar, vase la figura 5-1, en una j
serie de grupos o niveles. Estos niveles pueden variar de nombre y ordenarse de
diferentes formas segn las tareas que se le encomiendan, en [Elfes 86] se presenta
otra clasificacin distinta a la que se presenta a continuacin:

1. Control del Robot; Este nivel se encarga del control fsico de los j
diferentes sensores y actuadores del vehculo: primitivas para e
movimiento, control de sensores (internos y externos), adquisicin

de datos, etc. Acta como interfaz entre los niveles superiores del
u
II.
sistema y los detalles de bajo nivel.

Interpretacin sensorial; Los datos adquiridos por los sensores son


interpretados y transformados en informacin utilizable por los
u
niveles superiores. Esto es realizado por los Sensores lgicos, que
se especializan en una clase especfica de informacin de los datos
sensados. j
III. Integracin y fusin sensorial; Se encarga de integrar la
informacin proveniefite de sensores cualitativamente diferentes,
como visin estereoscpica, ultrasonidos, GPS, etc. En este nivel se
u
compara la informacin redundante de los distints tipos de j
sensores, y se extrae una informacin ms completa o prkisa.
Capitulo 5. Implementacin del Sistema de Fusin 207

1V. Modelizacin del mundo real; Para llevar a cabo cualquier grado de
autonoma, el robot debe tener un modelo, cuanto ms rico mejor,
de todo cuanto le rodea. Este modelo se basa en afirmaciones
sobre los datos integrados de varios sensores, y se encarga de
contrastar los datos obtenidos y proponer una hiptesis adecuada.

V. Control; Es responsable de la sincrogzacin de las diferentes


actividades y de combinar la planificacin realizada con la
conduccin fsica dl mvil, de modo que se obtenga un
comportamiento coherente.
VI. Planificacin: Se ocupa de la resolucin de problemas tales como la
planificacin de caminos a largo y coo plazo, esquiva de
obstculos, deteccin de emergencias, etc.
VII. Navegacin: Para llevar a cabo una meta global propuesta, este
nivel proporciona planificacin a nivel de tareas para la generacin
autnoma de secuencias de acciones del actuador, sensor y
procesamiento. Tambin incluye simulacin, deteccin de errores,
diagnstico y reactivacin y replamficacin en caso de situaciones
inesperadas o fallos.

VIII. Supervisor; Supervisa las distintas actividades y proporciona un


interfaz para el usuario humano.

Supervisin
Navegacin
Planificacin
Control
Modelizacin del mundo real
Integracin sensorial
Interpretacin sensorial
Control del Robot
Figura 5-1. Niveles de actuacin en todo robot mvil

La representacin en forma piramidal de la figura 5-1, slo pretende mostrar


el aumento del grado de complejidad y abstraccin de cada uno de los niveles, pero
208 5.1. Arquitectura de control propuesta

la interconexin no es siempre entre mdulos adyacentes, sino que, por el


contrario, en sistemas reales existen intercnexiones complejas con varios
subsistemas distintos y con mltiple flujo de control y de datos.
Recordemos que un mdulo (como por ejemplo Visin estereoscpica)
puede ser por s mismo un sistema complejo con sofisticadas actividades de
control, planificacin y resolucin de problemas. Adems, en ningn sistema real
se encuentran todos los niveles de~crits anteriormente, aunque s se sigue una J
estructura semejante.
Por ltimo indicar que esta divisin de responsabilidades en capas es vlida
para ambos modos de control o arquitecturas: centralizado y distribuido. Veamos a
continuacin la relacin entre los distintos niveles de actuacin para ambas
arquitecturas.
J
Arquitectura centralizada. Tambin conocida como descomposicin vertical
del problema, se refiere a la separacin de las tareas en segmentos verticales. Estos
segmntos forman un canal a travs del cual la informacin fluye desde el entorno j
del robot, va sensacin, por el robot y de vuelta al entorno, va accin, cerrando el
lazo de r~alimentacin en el sentido que muestran las flechas en la figura 5-2.
Ejemplos de esta arquitectura son [Elfes 86], [Evans 92], o el ALV [Olin 91] en el
que la percepcin de los sensores asciende en abstraccin por los niveles de

percepcin (Local, Mundo, Misin y Monitor del sistema) y desciende para actuar
j
con el sistema por los niveles de planificacin (Misin, Ruta, Local y Reflejo). Cada
pieza debe ser construida a fin de ejecutar el robot como un todo. Por supuesto, en
J
este caso, los cambios posteriores en cualquier parte (para mejorar o extender
alguna funcin) deben hacerse de modo que las interfaces entre mdulos no
cambien o los efectos del cambio deben propagarse a los niveles vecinos
cambiando tambin su funcionalidad. Cada uno de estos pedazos representan los
niveles en los que se descomponen las tareas de un robot mvil.

J
J
j
CapItulo 5. Implementadn del Sistema de Fusin 209

O~T T
Interpretacin
U
del
E
R R
E Entorno
y
<Planificador> 1
s
0 6 0
~jj9~N _______________ E

Figura 5-2. Descomposicin vertical de las tareas

Arquitectura descentralizada: Cada mdulo cubre un rango completo desde


una entrada sensorial hasta el control de la salida; sus mdulos se dividen en una
jerarqua de funciones, cada una actuando sobre niveles inferiores. Es decir, en
lugar de fragmentar el problema a partir de una serie de tareas que lleven a la
solucin (descomposicin vertical), se divide el problema basndose en
manifestaciones externas deseadas para el control del robot (descomposicin
horizontal). La arquitectura de este sistema puede yerse en la figura 5-3, donde el
primer mdulo (nivel> observa datos del sensor y mueve el vehculo lejos de los
obstculos. La capa siguiente mueve el vehculo aleatoriamente, a menos que la
capa inferior tome el control para evitar un obstculo. Las capad superiores aaden
propsito al movimiento (moverse hacia puertas abiertas, por ejemplo), buscar
objetos de inters, etc.
210 5.1. Arquitectura de control propuesta
J
u

u
Figura 5-3 Descomposicin horizontal de las tareas
u
Esta arquitectura, tpicamente distribuida, denomina a cada mdulo como
niveles de competencia [Brooks 86] y son una especificacin informal de una clase
de comportamiento para un robot sobre todos los entornos que encontrar. En la

u
figura 5-3, se puede observar que cada nivel de competenqia incluye como un
subconjunt de herramientas a cada nivel anterior de competencia. La ventaja de
los niveles de competencia es que podemos construir capas de un sistema de
control correspondientes a cada nivel de competencia y simplemente aadir una
nueva capa a un conjunto existente para desplazarlo al nivel superior ms prximo.
Por esto, a esta arquitectura se le llama tambin arquitectura asumida.

La gran desventaja de estas arquitecturas es que la complejidad de estos


u
sistemas y la estrecha relacin entre niveles lleva a la imposibilidad de construir
niveles de complejidad elevada, lo que restringe su utilizacin a sistemas reactivos u
elementales.

5.1.2. Esquema general


u
Nuestro sistema constar de una arquitectura de control centralizada, con
una descomposicin vertical de las tareas del problema. Los agentes representan
capas verticales equivalentes a los niveles clsicos de control del robot, como u
Interpretacin sensorial, Integracin sensorial, Navegacin,... La utilizacin de esta
arquitectura tiene ciertas ventajas en nuestro planteamiento como son: u
u
Capitulo 5. Implementack5n del Sistema de Fusin 211

- Una mejor descomposicin de los mdulos en distintos campos de


trabajo, permitiendo as que varios grupos de trabajo puedan
investigar en diversas reas.
- Expresin natural de la cooperacin entre tareas, lo que lleva a una
rpida comprensin de las tareas de cada sistema y una fcil
actualizacin de cualquier funcin para dotar al sistema de distintas
capacidades.
- Correspondencia directa entre cada tarea y los objetos de
procesamiento independientes, como pueden ser agentes, procesos,
objetos
- Facilidad para distribuir las tareas entre distintos procesadores y
expresar el paralelismo caracterstico de estas tareas. Adems permite
especificar clara y sencillamente el interfaz entre los distintos
mdulos.

Dentro de la multitud de posibilidades en el diseo de una arquitectura


centralizada de control se puede destacar la organizacin de la figura 5-4. En sta
los mdulos de bajo nivel maestro-esclavp se corresponderan cn los drivers de los
sensores de localizacin y reconocimiento, y a los drivers de los sensores de
movimiento. El preprocesamiento representa el tratamiento de los datos y el paso
de mensajes entre los mdulos. La integracin multisensorial realiza un nivel
superior de tratamiento de los datos y se encuentra relacionado directamente con
el planificador.
J
212 5.1. Arquitectura de control propuesta

1 Seal de referencia

Integraci
J
Zsensorialj
4 ji Seal de control
Medidas
de entorno
e J
[jre~rocsieo~
a
Pep amento 3 Pepo
J
4.

~er~nterf~
J

J
J
Entorno

Figura 5-4. Esquema general de un sistema de navegacin.


y enwuie
J
En todo sistema de control de un robot mvil autnomo inteligente a J
menudo se pueden identificar varias restricciones y necesidades. Veamos como
podemos solventaras con el esquema de la figura 5-4 y cmo deber ser el modelo
propuesto:
J
Metas mtiltiples; A menudo aparecern en un robot metas mltiples, algunas
en conflicto. Por ejemplo, puede intentar orientar el vehculo hacia el destino final
y a su vez tener que esquivar un obstculo, variando entonces su orientacin; o se
puede intentar seguir determinada pared para alcanzar un destino, pero ser
J
prioritario el mantener el equilibrio del vehculo. Para ello hemos dividido el
sistemas en mdulos (Supervisor, Planificador y Algoritmo de Control
J
principalmente) que dotan al sistema de distintas perspectivas en la consecucin
Captulo 5. Implementacin del Sistema de Fusin 213

del plan; y una posibilidad de actuaciones reflejas (mdulos de bajo nivel como los
Actuadores> aunque slo en situaciones urgentes o peligrosas como en un cambio
brusco y peligroso del entorno o en un fallo del sistema.
Sensores diversos; Un robot mvil necesita una gran cantidad de sensores de
distintos tipos (cmaras de TV, encoders, sistema GPS, barmetro, brjula, sistema
de navegacin inercial, etc.) que le permita adquirir y manipular un modelo de su
entorno rico y completo. La estructura propuesta dispone de la integracin e
interpretacin (mdulos Planificacin e Integracin y fusin sensorial) de los datos
provenientes de todos los sensores disponibles, sin que los dems mdulos tengan
conocimiento de la existencia de estos sensores.
Robustez. Cuando alguno de los sensores falla o algn tipo de los sensores no
est operativo debido a cambios del entorno, el robot debe ser capaz de adaptarse
y seguir funcionando perfectamente con los restantes sensores. Esto es posible por
medio del mdulo Integracin y fusin sensorial, puesto que todas la medidas son
filtradas y tratadas estadsticamente segn su error actual, unindose en un nico
resultado.
Extensibilidad; Poder ampliar las posibilidades del robot aadiendo sin
problemas nuevos sensores con mejores capacidades que aparezcan en el mercado.
La adicin de nuevas capacidades en nuevos algoritmos tambin debe ser
contemplada. La posibilidad de cambiar un algoritmo por otro es muy simple.
Sencillamente se crea el nuevo algoritmo, se prueba y depura externamente y
entonces se sustituye por el mdulo antiguo sin prejuicio en el funcionamiento de
los dems mdulos. Los nuevos sensores u otros del mismo tipo de alguno de los
existentes tambin pueden ser aadidos sin problemas dada la estructura en
mdulos independientes del sistema.

5.1.3. Modelo propuesto

Las responsabilidades en la toma de decisiones y las restricciones de tiempo


real son divididas en tareas como en la figura 5-2 y teniendo en cuenta los mdulos
sombreados del esquema general de la figura 5-4 su funcionamiento es el
siguiente:

Algoritmo de Control, tiene una funcin crtica en tiempo real para


guiar al robot suavemente a lo largo de una trayectoria especificada.
J
214 5.1. Arquitectura de control propuesta

En nuestro planteamiento se prev un mecanismo de seguridad


para el caso de que no reciba ms mensajes de consigna.

Planificador de movimiento, necesita detalles precisos de los datos


de los sensores para poder construir un modelo del mundo real y J
descubrir distintos caminos a partir de dicho modelo, por ello
necesita una integracin de todos los datos disponibles de los
sensores (Sistema de Integracin Multisensorial). Sus restricciones si
temporales son algo ms blandas, mehos crticas y ms negociables
que las del controlador de movimiento. Nuevas trayectorias deben J
calcularse a una velocidad razonable, pero si una trayectoria no est
disponible el resultado no ser catastrfico. El Planificador puede J
calcular trayectorias ms largas para tener ms tiempo para futuros
clculos, pero si ocurre una variacin del entorno y la trayectoria J
calculada no es apropiada, debe ser lo suficientemente rpido para
garantizar que se actuar en consecuencia: calculando una nueva

trayectoria o deteniendo el vehculo.


si
Supervisin, realiza el control global del sistema y contiene el

interfaz de usuario. El interfaz de usuario recibe las rdenes o


si
consignas para la navegacin y muestra el estado del sistema, como
por ejemplo la posicin actual,, el entorno observado, la carga de
trabajo de cada tarea o distintas descripciones sobre el
si
funcionamiento del sistema. J
Una vez comentado en trminos generales las necesidades y los distintos
mdulos en que se puede dividir de forma natural el sistema pasemos a realizar un J
estudio ms detallado de cada mdulo:

Posidonadores
Son los elementos necesarios para encontrar el estado y el entorno en el
que se encuentra el mvil, figura 515. Podemos destacar distintos mdulos segn la
informacin que utilizan y su nivel de abstraccin.

Posicionador 1
Conoce el estado del mvil y en concreto su posicin absoluta en el entorno, J
Tambin dispone de la posicin de los obstculos previstos o baliza naturales como
paredes, columnas, puntos de bifurcacin, etc. J
Capitulo 5. Implementacin del Sistema de Fusin 215

La posicin exacta del carro se conoce a partir de los datos procedentes de la


integracin de medidas de posicin (encoders, GPS, ...) y de la recalibracin
peridica mediante bsqueda de balizas naturales o artificiales (ultrasonidos,
visin, ...).

USUARIO

SUPERVISOR
Planificador Algoritmo

-
caminos

NAVEGANTE
dontrol de planes1
4
Control

NAVEGANTE 2
Control de Trayectoria 3
u

L- POSICIONADOR 1
Planificador u
Control de motores
NAVEGANTE3
1

BUS d0COMUNICACIONES>
A
IPOSICIONADOR2 POSICIONADOR3S
[~~gr~inMultisenso~alj Multisensorial

POSICIONADOR 4 POSIcIONADOR4

Imagen
TV
Ultra
sonidos
Mapas U Lector
Encoder
Lector
GPS
Lector
NS

~
~ves~ ~
~Y
_
E~eob~a

Figura 5-5. Modelo propuesto

El entorno del mvil se almacena en un mapa de ocupacin. ste consta de


pequeos cuadrados (rejilla) en la que se situarn los datos de los sensores de
entorno. Esta rejilla estar siempre orientada de la misma forma en el plano, el
robt podr moverse en ella en cualquier direccin y siempre mantendr su forma
con respecto al robot.

Posicionador 2
Su misin es integrar los datos procedentes de los sensores de deteccin de
obstculos y de entorno procedentes del Posicionador 4 (descrito ms adelante>. Es
decir, se encarga de detectar cualquier obstculo existente en el entorno del robot
si
si
216 5.1. Arquitectura de control propuesta

de modo que pueda calcularse la trayectoria ptima para alcanzar la meta y


comunicrselo al Posicionador 1. Los sensores que trata son sensores capaces de
si
detectar objetos y sus caractersticas, como cmaras de visin, ultrasonidos, mapas,
etc. si
Este mdulo utiliza una red bayesiana para fusionar la informacin
proveniente de distintos sensores sobre la existencia de un mismo objeto (visin,
ultrasonidos, radar, ...). De esta forma se puede dar un tratamiento cuantitativo a la si
informacin recibida para realizar un juicio concreto sobre cada zona del espacio y

sobre e funcionamiento correcto o no de cada sensor.


si
Posicionador 3
Recibe datos del estado del mvil (posicin y velocidad del carro) a partir de
los datos obtenidos por el Posicionador 4 (de sensores como los encoders, GPS, ...>

y datos de posicin procedentes del Posicionador 1 (a partir de la crrspondencia


si
entre las balizas detectadas y su posicin predefinida) y se encarga de integrarlos
en una estima de posicin lo m~s precisa posible. Esta estima se realiza a partir de
un filtro de Kalman, integrando datos referentes a la posicin absoluta del robot y
si
datos de posicin relativa. Los sensores tratados por este m!Sdulo son los sensores si
de posicin como odmetros, girscopos, acelermetros, GPS, captadores de
balizas, etc. si
Fosicionador 4
Su misin es tratar la informacin en bruto de los sensors para que sean si
directamente utilizables por los Posicionadores 2 y 3. Este grupo trata informacin
tanto cualitativa como cuantitativa. Se encarga de obtener y transformar la si
informacin procedente de todos los sensores disponibles, tanto los que indican
donde se encuentra el mvil con respecto a un mapa global, como los que indican si
la existencia y tipo de un determinado objeto en cierta zona del espacio. Este
mdulo se encarga de realizar preprocesamiento, asociacin de datos, etc. si
Tratan los distintos tipos de sensores adaptables en el carro. Estos se pueden
dividir en dos grandes categoras, que ya hemos visto clasificados en el Captulo 2. si
Existe un tipo de sensor que realmente no pertenece a ninguna de las dos
clasificaciones anteriores: el cinturn de contacto que acta de forma reactiva en si
una situacin limite. Consiste en mandar un mensaje de emergencia al Algoritmo
de Control cuando el carro contacta con un obstculo que no ha sido detectado por si
si
si
Capitulo 5. Implementacin del Sistema de Fusin 217

los otros sensores. En este caso el Control detiene el carro y se lo comunica a todos
los elementos de la navegacin.

Navegantes
Son los mdulos que determinan las acciones a realizar por el vehculo.
Toman decisiones sobre el camino a segir, la existencia o no de obstculos, la
forma de seguir correctamente la trayectoria y de esquivar los obstculos
imprevistos. Tambin se dividen en varios tipos segn su grado de decisin:

Navegante 1
Es el que conoce la misin a realizar, comunicada a partir del Supervisor.
ste es el que se encarga de estudiar el mapa global para detenninar la trayectoria
a seguir para alcanzar la meta final a partir de las premisas indicadas por el
Supervisor.
Tambin es el que planifica la trayectoria sobre un mapa local para llevar a
cabo el movimiento inmediato. Si en la trayectoria calculada iicialmente en el
plano global se encuentra un obstculo, calcula sobre el mapa local (mapa ms
preciso) la trayectoria que permita esquivarlo y volver a recuperar la trayectoria
global trazada. De esta forma acta de manera reactiva, teniendo en cuenta la
situacin actual.

Navegante 2
Determina los puntos de consigna concretos que debe enviar al control de los
motores (Navegante 3) para que siga lo ms fielmente posible la trayectoria trazada
por el navegante 1, teniendo en cuenta a su vez las restricciones fsicas y del
entorno para mantener la seguridad en el trayecto del mvil.
Adems controla que la trayectoria que realmente sigue el mvil se
corresponda con la solicitada y que no corre ningn riesgo cuando se desva o
cuando surgen objetos en cualquier zona prxima al camino previsto.

Navegante 3
Representa el control directo de los motores de las medas. Por lo tanto es el
responsable de producir las salidas de control necesarias para controlar los
motores, de forma que se consiga llevar la velocidad, direccin o radio
determinados. Para ello debe compensar errores de desplazamiento lateral debido
si
si
218. 5.1. Arquitectura de control propuesta si
a diferencias geomtricas o fsicas de las ruedas y controlar por ejemplo las dos
ruedas de forma diferente en caso de poseer controles separados.

Tambin realiza un control sobre la trayectoria del robot para seguir


correctamente la trayectoria fijada por el Navegante 2. Recordemos que en J
cualquier caso existe un nivel superior (el Navegante 2) que previene posibles
desviaciones de la trayectoria fijada, pero siempre que estas sean considerables.

si
si
si
si
si
si
si
si
si
si
si
si
si
u

si
Captulo 5. Implementacin del Sistema de Fusin 219

5.2 Sistema de control orientado a objetos en tiempo real


Los sistemas en tiempo real [Laplante 93; Benett 94] normalffiente poseen
sensores y actuadores de forma que el sistema mide y cambia el estado de su
entorno. Se dice que el sistema es de tiempo real cuando es capaz de reaccionar a
distintos sucesos dentro de unos lmites de tiempo especificados.
Por tanto el software de tiempo real es aquel que controla el comportamiento
del sistema en tiempo real, es decir, debe satisfacer las necesidades de tiempo
exigidas. Segn sean estas necesidades los sistemas se clasifican en sistemas de
tiempo real duros y sistemas de tiempo real blandos.
Adems de BOOM (Real-Time Object-Orient Modeling) [Selic 95] que es el
utilizado, existen otros mtodos de anlisis y diseo de sistemas en tiempo real que
utilizan la metodologa orientada a objetos como por ejemplo CODARIS [Gomaa
93], OCTOPUS [Awad 96] o extensiones de tiempo real de notaciones orientadas a
objetos como el Real-Time UML (Un~fied Modeling Language) que permite
analizar, disear y modelar sistemas en tiempo real utilizando UML [Powel 98;
Selic 98].

CODARTS se basa en el anlisis y diseo estructurado. Tiene un


componente denominado modelo del dominio [Gomaa 95] que define varios
puntos de vista para el anlisis del sistema. Destaca el uso de objetos concurrentes
y su enfoque en tareas posee muchas caractersticas del lenguaje ADA.

El mtodo OCTOPUS est basado en los populares mtodos OMT y Fusion,


y tambin utiliza notacin UML. Est orientado para desarrollo de software
orientado a objetos para sistemas empotrados de tiempo real, cubriendo las
necesidades de especificacin, arquitectura del sistema, anlisis y diseo de
subsistemas y especifica mtodos de implementacin y anlisis de eficacia. Permite
el trabajo en distintos procesadores y resuelve la unin de procesos con objetos
mediante un procedimiento sistemtico y eficiente que proyecta objetos en
procesos. Pero su principal desventaja es que est diseado para trabajar con
requerimiento de tiempo real blandos y si es necesario trabajar con restricciones
de tiempo real duras slo se puede realizar en una parte limitada del sistema.
BOOM es un lenguaje de especificacin grfica, orientado a objetos,, para
modelar sistemas de tiempo real. Sus principales caractersticas son:

- Orientado a eventos, el modelo se adapta perfectamente a los


sistemas reactivos.
Ud
si
220 5.2 Sistema de control orientadoa objetos en tiempo real Ud
- Concurrencia, la propia definicin de los elemntos bsicos de
BOOM permiten la concurrencia de stos. Esta propiedad es

bsica en cualquier sistema empotrado de tiempo real. En


Ud
sistemas robticos es imprescindible debido a la propia

naturaleza del sistema.


si
Distribucin, la abstraccin de los objetos como mquinas
-

lgicas y la creacin de una mquina virtual permiten la


distribucin de las tareas entre distintas mquinas y su diseo
Ud
sin tener en cuenta donde se ejecutarn. Esto es una facilidad <u
aconsejable en robots mviles debido a la gran necesidad de
clculo que requieren sus funciones y que obligan a distribuir su Ud
procesamiento para poder cumplir las rstricciones necesarias.

- Becursividad, el lenguaje permite desarrollar un modelo con u


varios niveles de detalle que especifiquen por completo un
sistema complejo. La recursin puede darse a dos niveles: a u
nivel de objetos, objetos complejos pueden ser modelados con
otros objetos; y a nivel de estados, el comportamiento de un

objeto puede ser modelado con una mquina de estados


Ud
jerrquica en la que los estados se descomponen en subestados
hasta el nivel de profundidad necesario.
Modelado incremental, permite la expresin y verificacin de
si
-

laspropiedades del modelo del sistema de modo incremental.


Beutilizacin, gracias al paradigma de la programacin
-

orientada a objetos, en general, y a la herencia, en particular, la


reutilizacin de distintos objetos es directa y sencilla.
Ud
ROOM soporta el paradigma de los objetos que potencia la reutilizacin. En Ud
este trabajo se aprovechar la parte ms bsica del lenguaje de modelado BOOM,
suficiente para modelizar las tareas y sistemas de control de nuestro robot. El
lenguaje completo es realmente potente y permite modelizar sistemas complejos
Ud
como por ejemplo lapila del protocolo ATM [Gullekson 97]. u
En el Apndice B se presenta una pequea descripcin del lenguaje grfico
de BOOM y de los conceptos y notaciones grficas que se utilizarn a continuacin u
para la descripcin del sistema desarrollado. Para una mayor descripcin de la
metodologa y del lenguaje de especificacin, vase [Selic 95]. u
u
Ud
Captulo 5. Implemeutacin del Sistema de Fusin 221

5.2.1. Niveles de integracin

El esquema de control presentado en la figura 5-5 est referido a la


organizacin y relacin entre as tareas necesarias en el robot. Pero nuestro
problema se centra en la integracin de mltiple informacin sensorial, por lo que
ser conveniente especificar los mdulos indicados en la figura 5-5 en distintos
niveles de abstraccin y de tratamiento de la informacin disponible. Por ello en la
figura 5-6 se muestra un esquema del sistema de integracin completo desde el
punto de vista del grado de procesamiento que sufre la informacin. En l se
pueden ver los distintos niveles de tratamiento de la informacin que se tendrn en
cuenta y su correspondencia con las tareas mostradas en la figura 5-5.
Los niveles de integracin mostrados en la figura 5-6 representan:

Plan del usuario: Se encarga de recibir la consigna o plan a


ejecutar por parte del usuario. Incorpora el interfaz de usuario
y un supervisor del funcionamiento correcto del sistema.

Supervisin de planes: Se ocupa del control del robot a nivel


inteligente, es decir, interpreta las consignas del usuario y se
encarga de comunicrselas al planificador y tambin de
obtener las consignas necesarias para el control de los motores.
Adems supervisa el funcionamiento global del sistema.

Control y planificacin: Encuentra el camino ptimo en todo


momento (esquivando obstculos imprevistos) y se encarga de
conducir el carro para seguir correctamente la trayectoria.
Puede soportar el Nivel II de integracin definido en el
Captulo 1.
Integracin multisensorial: Fusiona los datos de los distintos
sensores de forma que se obtenga una estima ms precisa que
las opiniones individuales. Realiza la fusin del estado del
robot y obtiene un mapa global de la informacin de entorno.
Correspondera al Nivel 1 de integracin comentado en el
Capitulo 1.

Preparacin de datos: Bealiza todo el preprocesamiento de los


datos antes de realizarse la fusin de datos. Esta preparacin
incluye alineamiento, asociacin, extraccin de caractersticas,
etc.
si
si
222 5.2 Sistema de conttol orientado a obletos en tiempo real

Drives e interfaces: Corresponden a las rutinas que permiten


Ud
leer y tratar los datos que se obtienen directamente de los
sensores. Incluyen manipulacin de datos, procesamiento AID, si
etc.
Entorno fsico: Corresponde al propio mvil y a los si
que lleva incorporados.
si
Plan del
usuario
Ud
Supervisin
de
planes
NAVEGANTE 1
Supervisor
NAVEGANTE 2
goritmo de control u
Control
y
planificacin
POSICIONADOR 1
Planificacin +
NAVEGANTE 3
Control de trayectoria
u
si
Integracin
multisensarial
4
Preparacin
de Preprocesamiento 1
IU SICIONADOR
Preprocesamiento Preproysamento
Ud
datos

Drivers Sensores de localizacin Sensores de


si
Interfaces y reconocimiento del entorno movimiento
Ud
Entorno
fsico u
Figura 5-6. Niveles de integracin
u
~1
4
u
si
a

Ud
Captulo 5. Implementacin del Sistema de Fusin 223

5.2.2. Tareas del robot y modelo ROOM

En el esquema de la figura 5-6 se puede observar cmo fluye la informacin


entre las distintas tareas o niveles de abstraccin. Todas estas tareas pueden
agruparse en distintos agentes que procesan independientemente la informacin
que reciben y conducen a la consecucin de un plan comn: el funcionamiento
correcto del robot y la consecucin del objetivo marcado. A partir de este esquema
y de la informacin obtenida en la seccin 5.1 se ha optado por una divisin de las
tareas del robot como la mostrada en la figura 5-7.

PRESENTACIN
GRAFICA

PLANIFICADOR Camino PLANIFICADOR Camino local NAVEGANTE


GLOBAL global LOCAL ~

Datos de eiilorno

FUSIN MULTISENSORIAL CONTROL


DE DATOS DE
Entorno Estado MOTORES
(Bayos) ( Kaleoao)

Sehales de contiol
Datos alineados

CONTROLADORAS
PREPROGESAMIENTO

Datos ea boato Ii y

41 1
QQ~
1 1 ~t
1 MOTORES DEL ROBOT

1
fi
~POSIClN

Figura 5-7. Tareas del robot y flujo de la informacin.

Una vez introducidos los niveles de tratamiento de la informacin por parte


del robot en la seccin 5.2.1 y la descomposicin en tareas necesaria para ello en la
seccin 5.2.2, se est en disposicin de especificar mediante la metodologa
si
si
224 5.2 Sistema de control orientadoa objetos en tiempo real

BOOM [Selic 95]. As, se considerar al robot y a cada una de sus tareas com si
actores.
En la figura 5-8 se muestra su interfaz con el exterior. El actor mostrado en la
Ud
figura, actor ROBOT, presenta una serie de puertos para comunicarse con el
exterior y slo podr hacerlo a travs de ellos. En esta figura cabe destacar que el si
actor BOBOT es independiente de los sensores que se utilicen, de la plataforma
donde se ejecute (se ha utilizado C++ y la representacin grfica es un actor
independiente del robot para evitar particularidades) y del mtodo de conduccin
si
utilizado. Esto siempre es posible si los drivers correspondientes satisfacen el
interfaz especificado.

El actor ROBOT de la figura 5-8 presenta 4 puertos externos que


representan el interfaz entre el sistema de control del robot y el exterior y son:
Ud
si

Representacin grafica si
Interfhz de usuano.

si
ROBOT
si
Ud
si
u
Sensores
fsicos
Sensores
fsicos
u
u
Figura 5-8. Relacin del actor ROBOT con el sistema sensorial.
u
u
Capitulo 5. Implementacin del Sistema de Fusin 225

1.- Un puedo para conectar un actor grfico, encargado de mostrar al usuario


toda la informacin que los actores internos deseen mostrar y que epven a ese
puerto. De esta forma se abstrae el sistema de representacin grfica y el interfaz
de usuario del sistema diseado, hacindolo ms independiente de la mquina
donde se ejecute.
2.- Un puerto que conecta al robot con un actor que maneja el sistema motriz
del robot, de forma que un mismo diseo pueda ser utilizado por distintos robots
con las mnimas modificaciones posibles.

3.- Distintos puertos que se conectan a los actores que actan como interfaz
de cada uno de los sensores utilizados. El nmero de puertos ser variable y
depender del nmero de sensores (de entorno y de estado> disponibles.

Figura 5-9. Interconexin entre los actores componentes del actor ROBOT.

Los actores que componen el actor ROBOT equivalen a los agentes


mostrados en la figura 5-7. Una representacin de la estructura de conexin entre
ellos puede verse en la figura 5-9, donde conviene destacar los puertos externos
correspondientes al interfaz que controla los motores del robot, DriverMotor, y los
si
226 5.2 Sistema de control orientado a objetos en tiempo real

correspondientes a los sensores de estado, SensorEstado, y de entorno,


si
SensorEntorno. Estos dos puertos pueden replicarse en funcin del nmero de

sensores que se conecten al robot. El puerto externo correspondiehte a la salida


si
grfica se ha suprimido para simplificar el esquema.

De las conexiones entre actores de la figura 5-9, cabe destacar que el estado
calculado por el mdulo fusin de estado es enviado a todos los actores (por el
puerto de comportamiento denominado DatoEstado) ya que todos necesitan
conocer la posicin del mvil. El puerto Pcpeligro permite enviar mensajes de alta
si
prioridad desde el Planificador al Navegante para que decida que se debe hacer en u
caso de un objeto en la trayectoria calculada. Otros puertos son DatoEntorno, por
el que circulan datos de objetos detectados para que el Planificador construya su j
modelo del mundo; camino, por el que se comunica al Navegante el mejor camino
de acuerdo a la eleccin del usuario; y Pconsigna, por el que circulan la consigna u
que el navegante enva al Control de los Motores para que gue al robot por la
trayectoria indicada.

u
si
u
a
si
u
u
u
si
a
u
Captulo 5. Implementacin del Sistema de Fusin 227

5.3. Tareas en el control del robot mvil autnomo

5.3.1. Sistema sensorial

El sistema sensorial ser totalmente distribuido, siendo independiente del


nmero y tipo de sensores acoplados al robot. Esto permite que el mvil
evolucione correctamente aunque alguno de los sensores falle.
Por supuesto, el sistema tendr ciertas restricciones. En primer lugar deben
distribuirse los sensores en dos tipos, como vimos en el Captulo 2, segn la
informacin que son capaces de proporcionar: sensores de estado y sensores de
entorno.

5.3.1.1. Sensores de estado


El sistema de fusin de medidas de posicin ser distribuido, y, como se
mostr en el diseo realizado en el Captulo 2, consta de dos clases claramente
diferenciadas: la clase SensorLgico, que se encarga de tomar datos de los sensores
fsicos, procesarlos y transmitirlos al nodo encargado de fusionar su estima con la
de otros sensores; y la clase de fusin de medidas de estado (en nuestro caso
nicamente posicin del mvil), FusinEstado, que por medio de un filtro de
Kalman distribuido (Captulo 3), se ocupa de realizar la estima global
correspondiente a la fusin de la estima de cada uno de los sensores.

En la figura 5-10, se muestra un esquema del funcionamiento y de la


distribucin de los actores correspondientes al sistema de fusin de medidas de
estado. En ella se muestra el flujo de datos y la informacin transmitida. Como
puede verse, los Sensores Lgicos envan la informacin procesada, datosN, a los
actores encargados de su fusin, los cuales intercambian entre s informacin
correspondiente al estado estimado y a su error (eX y eP). Todos los nodos de
fusin envan tambin a otro nodo, dtstri, su estima del estado, X, y su error, P, y
reciben de ste la accin de control, u, que el robot a aplicado a los motores para
que cada nodo la utilice en su modelo de estado. El nodo distri se encarga de
seleccionar la mejor estima y enviarla al actor ROBOT para que la utilice
convenientemente.
si
u
228 5.3. Tareas en el control del robot mvil autnomo
si
si

xP
u t1 xp
u

xP
si
si
Ud
FusEstado

NODO KAL1
eX,eP
4-
FusEstado

NODO KAL2
eX,eP FusEstado

NODO KALS
Ud
4-

y
u
datos 1 datos2 datos3 u
SensorLgico SensorLgico SensorLgico
SENSOR KAL1 SENSOR KAL2 SENSOR KAL3 2
Figura 5-10 Informacin transmitida en el sistema de fusin de estado.
.
si
Este esquema de funcionamiento se puede sintetizar en la clase actor a
FusinEstado, figura 5-11, donde se puede ver que se compone de dos actores:
fusin que pertenecen a la clase FusEstado y el actor sensorFusion, de tipo
SensorFusion. El actorjtsion se encarga de recoger la estima de todos los sensores
si
y comunicar aquella que sea mejor al planificador. Se entiende por mejor aquella
estima de posicin ms precisa o ms actual.
a
La clase SensorFusion se compone a su vez de dos actores, el actor
sensorlogico correspondiente a la clase SensorLgico encargado de temporizar e
Ud
interpretar las lecturas sobre el dispositivo fsico y el actor nodoKalman
perteneciente a la clase FusEstado, que recibe las estimas de los otros nodos y
a
calcula las suyas a partir de stas y de las medidas obtenidas. Para cada sensor
utilizado se replica un actor del tipo SensorFusion para el tratamiento de sus datos. a
El actor FusinEstado puede utilizar mltiples sensores de estado que pueden
conectarse en el puerto externo sensorEstado. Ud
si
u
CapItulo 5. Impleinentacin del Sistema de Fusin 229

datoEstado

Figura 5-11. Clase actor FusinEstado.

A continuacin se muestra el protocolo correspondiente a los actores y


puertos que componen el actor FusinEstado.

Protocol class SensorKal a NodoKai


In: 1 <mensaje_fin, null}, Ireset, tipo estado>
Out: { <mensaje misensor, dato medido) 1

Protocol class l~odoKai a_NodoKai


In: { {mensajeXP, info_XP>
Out: { <mensajeXP, info_XP} 1

Protocol class NodoKal a Fusion


In: { <mensaje_u, u), <mensaje fin, null}, <reset,tipo_estado} 1
Out: { <medidasKal, info_nodo)

- Protocol class Fusion a


Iri: { <mensaje_fin, nuil>, <mensaje u, u} 1
Out: { <nuevo_est, tipo_estado 1 1

Para entender mejor el funcionamiento de este actor a continuacin se


muestra el comportamiento de cada uno de sus actores componentes.
As, en la figura 5-12, se muestra el diagrama de estados (denominado
ROOMchar) que describe el funcionamiento del actor sensorlgico. Como se
puede ver se encarga de pedir la informacin cada ciertos instantes marcados por
un timer (que el usuario programa dependiendo del tipo de sensor que se utilice) y
de procesar la informacin pedida antes de enviarla al nodo de fusin de Kalman.
si
si
230 5.3. Tareas en el control del robot mvil autnomo

En la figura 5-13, se muestra el diagrama de estados del actor de fusin si


(nodoKalman) en el que cabe destacar los pasos tpicos en un filtro de Kalman
distribuido, ya descritos en el Capitulo 3: prediccin, actualizacin y asimilacin. si
si
si
si
si
a
~1
Figura 5-12. Comportamiento del actor sensorlgico.

a
t:fmerisajemisensordatoObserv.z)
t:{resel,eslin,aEsladoest}
a:{aclualizaeslado(est);
enviar reset(est,datoObserv. res
si
t:<rrenaajeuest]maEsladou)
a:{soli&tar timer(T,T fallo):) x:{predecirestado(>,
val=actualizarestado<z}
si
resal) va = O
t(val).envarjnfo(infoxP otros_nodos mensajexP

t:<mensajamisansor,daloos}
a
a:<lnioislizao; aperando u inicial a:{predecireslado:
solicitar_limerff,T espera :} t:{TesperaTimar}
a:<deaacliva(Tfafo>;}

x:{solicitarlimer(TTfallo);
if(lreset),
A
si
l:{mensajefinealimaEslado) aipre~eoir slado():} asimilarjnforrraoion<):
e
a:<enviaraenhal(daloObserv, mensaje fin viar datos<info
t:{Tfallo.Timer}

alpredecir estado
4 nodo,estimaEstado medidas

t:<mensajeXP.otrosnodosinfoXP)
si
Fin
t:(mensaje fin, eslimaEslado)
a: <enviar senha 1 datoObs mensaje f
t:{mensaje_u estimaEstado u>
predecir esladoO:}
a
Figura 5-13. Comportamiento del actor nodoKalman.
si
a
si
4
Captulo 5. Implementacin del Sistema de Fusin 231

Finalmente, en la figura 5-14 se muestra el actor fusion que se encarga


principalmente de recibir las estimas de los sensores y enviar al exterior la estima
final para que sea utilizada por otros actores del actor ROBOT. Adems se encarga
de recibir la seal de control y de enviarla a todos los nodos de fusin. El
comportamiento de este actor se podra incluir en el comportamiento de la clase
actor FusionEstado pero por claridad se ha utilizado un actor distinto.

Figura 5-14. Comportamiento del actor Fusin.

52.1.2. Sensores de entorno


De igual modo que ocurre con los sensores de estado, los sensores de
entorno se tratan de igual forma. La especificacin de los actores como clases ser
a partir de la definicin mostrada en el Captulo 2. Utilizando su diseo y aplicando
el algoritmo desarrollado en el Capitulo 4 se obtiene el sistema de fusin de
medidas de entorno.
Un esquema sencillo donde se muestra el flujo de datos entre dos actores de
un hipottico sistema de fusin de entorno puede verse en la figura 5-15.
a
a
232 5.3: Tareas en el control del robot mvil autnomo
si
si
si
MCi)

it(Ci>
MOiX
a
u
2(C)
.4
FusEntorno FusEntorno

NODO VISION NODO ULTRAS

a
t
SensorLgico
datos, X
datos, X

SensorLtigico
si
SENSOR VISIN SENSOR UVERAS

Figura 5-15. Esquema y flujo de informacin ei el sistema de fusii de entorno. si


El actor de fusin de medidas de entorno definido tiene la misma estructura
que e actor de fusin de medidas de estado, vase la figura 5-16, pero el
a
tratamiento que realiza sobre la informacin recibida es completamente distinto.
Conviene sealar que el mensaje FuncionModo que se enva el Planificador al a
Nodo de fusin de Bayes hace referencia a las rdenes que enva, y de igual
manera para los dems nodos y sensores lgicos, para modificar su funcionamiento, a
peticin de estado, etc.
a
Protocol class SensorEay a NodoEay
In: { {mensaje_fin, null},{FuncionModo,modo) 1
Out: { <nuevos_ptos, datos sen)
u
Protocol class NodoHaya FusionBay
Tn: < <mensaje fin, nuii}, {nueva_pos, pos),
datos_bayes},{FuncinModo,modo}
OiR: { <datos_nodo, datos_celda)
<mensaje_beyes, si
Protocol class FusionBay_a Planificador
In: { <mensaje fin, null),{FuncionModo,modo) 1
Out: { <nuevas_celdas, celdas_N}
a
Ud
si
a
CapItulo 5. Implementacin del Sistema & Fusin 233

dasoErlonio

Figura 5-16. Actor FusinEntorno.

Cada uno de los sensores lgicos almacena su estima local en un mapa de


ocupacin local y todas las estimas globales se almacenan en un mapa de ocupacin
global que utiliza el Planificador para calcular una trayectoria segura.

Esto puede verse como una serie de planos transparentes que se van
complementando para obtener una imagen completa y mejorada del entorno,
vase la figura 5-17.

Sn

Figura 5-17 . Represeitacin del entorno para cada sensor.

El cmportamiento del sensor lgico de entorno (sensorlogico) es el mismo


que en el caso anterior. En la figura 5-18 se observa que su funcin principal es la
de tomar datos del sensor en ciertos instantes de tiempo y preparar esa
informacin para que sea procesada en el nodo encargado de la fusin
si
a
234 5.3. Tareas en el control del robot mvil autnomo

(nodoBayes). Su modo de actuacin vendr dada por las rdenes que haya recibido a
mediante el mensaje FuncionModo.
a
u
a:<Inioializa<); solicitar_timer<T,T medida);> a
a
t:{mensaje fin.datoobserv

Fin
t:<Funoionwodo.datoobserv, modo)
a:<esta b acer modo(m odo):> a
a
Figura 5-18. Comportamieito del actor sensorlgico. si
a
a
si
a
a
si
si
Figura 5-19. Comportamiento del actor nodoBayes.
a
a
a
si
Capitulo 5. Impleinentadn del Sistema de Fusin 235

Aunque los actores encargados de la fusin de medidas de entorno, poseen la


misma estructura que los de estado, el mtodo de fusin es completamente
distinto: utiliza tcnicas bayesianas. Por ello, el actor encargado de la fusin local
de la informacin, nodoBayes, es de tipo FasEntorno. Este actor realiza una fusin
de las medidas propias del sensor y construye un mapa local con la estima realizada
como puede verse en el diagrama de su comportamiento de la figura 5-19.

El mapa global, donde se fusiona la estima de todos los sensores, se realiza en


el actorfusinbayes, vase figura 5-16 y la figura 5-20 para una descripcin de su
comportamiento. Este actor es el que mantiene la base de conocimiento del
entorno y ofrece la informacin necesaria al Planificador. Una diferencia
importante con el otro tipo de sistema de fusin, a parte del almacenamiento de un
mapa del entorno, es la aplicacin de un factor de olvido sobre las medidas de los
sensores y sobre el conocimiento a priori del entorno.

Figura 5-20. Comportamiento del actor FusionBayes.

5.3.2. Control de los motores

El control de los motores es una mquina lgica (actor> muy dependiente del
robot mvil que se utilice. Esto se debe a que se dispone de distintos algoritmos y
mtodos de control dependiendo del tipo de robot utilizado. Principalmente el
control depende del tipo de traccin motriz y ruedas gua disponibles, por ejemplo:
cuatro ruedas (dos traseras motrices y dos delanteras gua> como en los
si
a
236 5.3. Tareas en el control del robot mvil autnomo a
automviles; tres ruedas (dos traseras motrices y una delantera gua), como los
triciclos; dos ruedas motrices independientes, como en los tanques Pero no slo

pueden utilizarse ruedas como elemento de traccin, sino que pueden utilizarse
a
otros mecanismos conio patas, adenas, etc. Un anlisis de la cinemtica y distintas

topologas de robots puede verse en [Kelly 94; Campion 96].


si
La arquitectura de control del robot est basada en un Planificador que se

encarga de encontrar el camino ms adecuado para lograr losobjetivos fijados por


a
el usuario. As, el control de los motores se debe encargar de seguir los puntos de
consigna de la forma ms eficiente y fielposible.

En nuestro caso los puntos de consigna son posiciones (x,y, 9) por las que se
desea que pase el robot, y el control debe encargarse de dar las rdenes necesarias
a las ruedas para que realicen el trayecto solicitado. Por lo tanto, primero ser
a
necesario calcular la trayectoria que el robot debe seguir para pasar por los puntos a
de consigna marcados por el Planificador. As, tenemos dos tareas principales:
generacin de trayectoria y control de trayectoria. a
53.2.1 Generacin de Ja trayectoria
A partir de la posicin actual del robot y de los puntos de consigna que el a
Planificador le manda al control de los motores, se calcula la trayectoria de
referencia. Esto es, el conjunto de valores (x,y, 9) posicin y orientacin que
a
debe seguir el robot en cada instante de muestreo. Esta trayectoria debe seguir lo
ms fielmente posible los puntos de consigna marcados, pero adems debe cumplir a
unas serie de restricciones como que el movimiento del robot sea suave, sea
fsicamente realizable por el mvil o la miimizacin de ciertas variables como la a
energa consumida [flelingette 95], la curvatura de la trayectoria [Kanayama 96;
Biss 95], etc. a
La solucin a la generacin de tryectoria depender del tipo de robot
utilizado. La mnima restriccin que debe cumplir es que sea continua, pero

existen mtodos para calcular una curva de ajuste C o incluso C2. Ejemplos de
a
curvas de este tipo son las curvas de Bezier o los B-Splines, que pueden

encontrarse, por ejemplo, en [Prieto 95].


a
En nuestro caso se calcula una trayectoria de referencia a partir de las
consignas de posicin generadas por el Navegante. La cinemtica de nuestro robot,
con dos medas motrices independientes, viene dada por la ecuacin (5.1).
si
Teniendo en cuenta esta ecuacin, puede demostrarse que la expresin para la u
a
a
Captulo 5. Implementacin del Sistema de Fusin 237

curvatura, k, de cualquier trayectoria es la mostrada en la ecuacin (5.2> [Rintanen


91]. Lo que indica que si la velocidad del robot se puede hacer tender a cero, el
radio de curvatura, r, de la trayectoria puede hacerse cero. Es decir, la curva puede
ser continua, Ce, con lo que el clculo puede reducirse y hacerse muy sencillo.

Vder +V&q
__________ co s(9)

[$L:
2

VderJ/ n(9) (5.1)


d

9 _ 1 V~<~V 1
(5.2>
Vd y k

5.3.2.2. Control de trayectoria


Unavez que se dispone de la trayectoria de referencia es necesario garantizar
que el robot sigue correctamente esa trayectoria, modificando las seales de
control que se envan al robot (velocidades de las ruedas) para corregir cualquier
desviacin de la trayectoria.
Estas desviaciones pueden deberse a muchas causas como son
imperfecciones en las ruedas, deslizamientos o patinado de las ruedas,
imperfecciones en el terreno, etc.
As el control de trayectoria ser semejante a cualquier sistema de control,
vase la figura 5-21, con un control (el mdulo control de trayectoria>, un sistema
fsico (robot), una seal de referencia (la trayectoria generada) y su lazo de
realimentacin.

{x(k),y(k),e(k)}

{xr(k),yr(k),Or(k)}

Figura 5-21. Esquema del control del robot.


si
a
238 5.3. Tareas en el control del robot mvil autnomo a
Existen distintos tipos de control que pueden ser aplicados al robot para
controlar el correcto seguimiento de una trayectoria de referencia, desde los ms

simples como PID, hasta adaptativos, predictivos, robustos, borrosos, etc. El


a
control puede ser diseado por el usuario y en nuestro caso se ha desarrollado un
control proporcional a los errores en la trayectoria, cuya principal ventaja es que
requiere muy poca carga de procesador y permite ser utilizado de forma directa en
si.
sistemas multitarea en tiempo real. Las ecuaciones (5.3) y (5.4) muestran las a
entradas de control a las ruedas del robot, dondef yfi son la accin de control en
cada instante. a
v.Control = vRef f4e,0~,e00~,e3) (5.3)

Vder
Control vRef
do f2(e,on,enor,ea) (04) u
La ley de control necesaria para calcularfi yf2 se basa en minimizar el error a
cometido en la trayectoria del robot [Nelson 88]. Como se puede ver en la figura 5-
22, el error se puede dividir en tres tipos:
a
- error de orientacin, e5, que se define como la diferencia entre la
orientacin de referencia del robot y la orientacin real que tiene. ja
- error normal, e~, que representa la distancia, perpendicular a la
trayectoria de referencia, que separa la posicin de referencia y la
posicin real del robot. si
- error tangencial, e,, se define como el error de seguimiento de la si
trayectoria, es decir, cunto se aleja el robot de la posicin de
referencia si no existiese error normal ni error de orientacin. a

ref Orea

a
Pnv

si
e
a
Figura 5-22. Errores de la trayectoria real con respecto a la definida. si

a
Captulo 5. Implementacin del Sistema & Fusin 239

As se pueden obtener las expresiones (5.5), (5.5) y (5.7) para cada uno de los
errores:
es=I
9Re $eol (5.5)

= (XRCI Xreol)COS(SRCJ) + (~Ref )


Y,.eoi sen(DRCf) (5.6)

e flor = ~(XRef Xr 9Ref) + (~Ref tCfll)cos(I9RCf) (5.7>


001)sen(
En la figura 5-23 un esquema del funcionamiento del control de los motores.

Vizqjef viz~cont
Vizqjeal

Figura 5-23. Esquema del control de los motores.

5.3.2.3. Modelo BOOM


Para realizar el control del robot se construye la clase actor ControlMotores
cuyo interfaz y protocolo es el mostrado en la figura 5-24.

Protocol class Navegante acontrolMotor


In: < <nueva_consigna, info_consigna}, <F_emergencia, null}
Out: < 1

Protocol class Fusion a Motor


In: { <nuevo_est, tipo_estado 1 1
Our: < <mensaje fin, mili), <mensaje u, u)

Protocol class Motor a Driver


In: < (lectura_seflal, tipo_lectura
Our: 1 (setlai_control, tipo control>
u
a
240 5.3. Tareas en el control del robot mvil autncnno
a
Pt_Consigna u
~es
DriverMotor a
DatoEstado
a
Figura 5-24. Clase actor ControlMotores. Ud
El comportamiento de la clase se puede ver en su diagrama de
comportamiento, figura 5-25. Destacar que si se desea cambiar el control y los
a
cambios no afectan a la estructura del sistema, su incorporacin es muy simple. Por
ejemplo, para utilizar otro mtodo de generacin de trayectorias o un control
u
diferente slo es necesario modificar las rutinas genjajray<) y controlO
respectivamente, sin necesidad de modificar e] comportamiento del actor ni definir -si
una nueva clase de actor.
si
a
si
u
a
u
a
Ud
Figura 5-25. Diagrama de comportamiento del actor ControlMotores.
a
u
a
Capitulo 5. Implementach5n del Sistema de Fusin 241

5.3.3. Planificador de caminos

En un vehculo autnomo, uno de los mdulos clave es el Planificador de


caminos. Su objetivo es calcular la trayectoria que se debe seguir para alcanzar la
meta indicada por el usuario. Normalmente este Planificador procura encontrar el
mejor camino con respecto a una cierta consigna, como podra ser el camino ms
corto, el ms seguro, etc.
Otra funcin implcita en lo expuesto anteriormente es la funcin de esquiva
de obstculos, es decir, el Planificador debe comprobar que un objeto detectado se
encuentra en la trayectoria inicialmente calculada y modificarla para evitar la
colisin con ese obstculo. Esta vigilancia de las modificacions p~oducidas en el
entorno y el consecuente reclculo de la trayectoria deben ser lo suficientemente
rpidos para poder realizarse en el tiempo de respuesta del mvil. Por lo tanto, la
complejidad de los algoritmos no debe ser excesiva.
En este apartado podemos tratar diversos aspectos importantes:

1. Representacin local del entorno; para poder desplazarnos con seguridad,


lo primero que se necesita es construir una imagen del entorno que rodea
al robot. Este entorno puede representarse de diversas formas, pero
siempre de forma que pueda actualizarse dinmicamente, puesto que se
construye a medida que se avanza y se descubren nuevos objetos.
2. Creacin del mapa de carreteras y trayectoria ptima; siempre que se
realiza un movimiento en cualquier entorno, es necesario hacer un estudio
de a dnde queremos ir y cmo. Para ello se estudian las posibles
trayectorias que nos llevan al destino, o subdestino, desde el punto en que
se encuentra el mvil y se escoge el mejor camino entre todos los posibles,
segn uno o varios criterios especificados.
3. Actualizacin del entorno y esquiva de objetos; debido a que se considera
al entorno dinmico, es necesario actualizar la representacin del entorno
que rodea al robot. Si la trayectoria escogida seguida ya no es vlida, ya sea
por un error en la estimacin del tama de un objeto o por la aparicin
de un obstculo en la trayectoria prefijadh, ser necesario recalcular una
nueva trayectoria que permita salvar dicho escollo.
A continuacin se describen con ms detalle Veamos cada uno de estos
aspectos de la planificacin de caminos.
Ud
a
242 5.3. Tareas en el control del robot mvil autnomo a
5.3.3.1. Represen tadn ocal del entorno
El mtodo de representacin del entorno que rodea al robot depende de lo Ud
que nos interese guardar, es decir, de lo que consideremos significativo para la
planificacin del camino ptimo. En nuestro caso slo nos interesa la existencia o

no de algo en nuestro camino y los puntos por los que deberamos pas@r. Por tanto
a
basta con indicar la zona del espacio, si est ocupada o no; y los puntos del
recorrido a seguir. Teniendo esto en cuenta existen diversos mtodos para
representar e entorno por el que se puede mover el robot:
si
a.- Mediante un conjunto de nodos conectados entre si, por ejemplo en Ud
[Meng 93] donde los nodos representan corredores, intersecciones
entre corredores, etc, y en su interior se guarda la informacin
relevante para el movimiento (puertas, tablones
a
b.- Como regiones poligonales que rodean a todos los objetos. Esta Ud
representacin es la apropiada para el uso de los diagramas de
Voronoi [Edelsbrunner 87; Aurenhammer 91]. a
c.- Dividir la regin del espacio en celdas o cuadrculas. Esta divisin
de celdas puede, segn el punto de vista del que se hable, a
clasificarse en: exacta o aproximada; o en, igualesj o desiguales. Por
divisin en celdas iguales indicamos que la celda tiene un objeto o a
no, por ejemplo en [Gat 90; Elfes 90], pero no puede contener a la
vez parte de un objeto y zonas vacas. Por el contrario la divisin

aproximada permite la existencia de celdas que no estn


a
completamente vacas o llenas, a estas celdas se las denominan
celdas mixtas. Cuando no son iguales, divisin desigual, se procura
que cada celda contenga el mayor espacio posible del mismo tipo, ya
si
sea vaco o lleno. Ud
En nuestro caso se utiliza una divisin del espacio en celdas desiguales,

cuadradas y de tamao variable. a


La divisin en celdas desiguales se debe a que si una zona del espacio est
ocupada o vaca no es necesario que se divida en partes ms pequeas que
a
aportarn la misma informacin. La descomposicin en celdas cuadradas es
exclusivamente para simplificar su comparacin con las celdas del mapa global a
(mapa de ocupacin>. Adems de optimizar el espacio ocupado en memoria
tomando celdas de diversos tamaos, el tamao de estas celdas ser variable para u
si
a
Captulo 5. Implementacin del Sistema & Fusin 243

realizar un procesamiento del espacio que rodea al robot lo ms rpido posible,


aumentando la divisin de las celdas, y por tanto la precisin, slo cuando sea
necesario.
Esta divisin se conoce como quadtree si es en el plano u octtree en 3
dimensiones [Jackins 83; Chaudhuri 85]. Quadtree es un tipo de descomposicin
del espacio que consiste en la divisin de una regin del espacio en cuatro partes
iguales, las partes resultantes que estn completamente vacas o llenas no se
dividen ms; pero si es una celda mixta, volvemos a aplicar quadtree a sta
recursvamente hasta que dejen de ser mixtas o alcancen un tamao mnimo
determinado que correspondera a la mejor precisin utilizada.
Esta tcnica de descomposicin del espacio en rectngulos es un caso
particular de la descomposicin en arbol~2m , donde m es la dimensin del espacio.
As, el espacio se representa por un rbol de grado 2~ (cada nodo que no sea un
nodo hoja, tiene 2 hijos). Cada nodo del grafo ser del tipo Lleno, Vaco o Mixto.
Slo las celdas Mixtas tendrn hijos en un nmero igual a 2. [Latombe 91]. Si la
descomposicin se hace en dos dimensiones (m=2>, el algoritmo se llama quadtree,
en caso de una descomposicin tridimensional (m=3>, el algoritmo se denomina
octtree. Ejemplos y algoritmos para la utilizacin de quadtree y octree aplicados a
grficos, procesamiento de imgenes, GIS (sistemas de informacin geogrfica),
etc. pueden encontrarse en [Samet 89].

El almacenamiento en un rbol de las celdas de distinto tamao permite


ahorrar memoria (los datos referentes a cada celda por parte de los sensores
tambin se guardarn en los nodos del rbol) puesto que si las celdas contiguas son
iguales la informacin se engloba en una celda de mayor tamaAo. Adems la
consulta de cualquier zona del espacio ser relativamente rpida, siendo su
complejidad O(n log u) [Mitehel 88], donde n es el nmero de celdas (de un lado)
de esa zona. De igual forma, cualquier operacin sobre una zona determinada ser
ms rpida que cuando se trabaja sobre elementos individuales. Por ejemplo, la
consulta del estado de una celda o zona concreta ser del o<log u) y la obtencin
del contorno de los objetos de o(n) [Samet 81; Jackins 83].
La profundidad del rbol indica la resolucin de la divisin del espacio. En
nuestro caso cada celda constar de la siguiente informacin:

- Coordenadas X,Y de la esquina superior izquierda.

- Dimensin del lado X y del lado Y.


a
a
244 5.3. Tareas en el control del robot mvil autnomo

- Etiqueta de la celda (Vacio, Lleno o Mixto> a


- Informacin adicional (tipo de objeto>.
El rbol utilizado es un multirbol [Langsam 97], como puede verse en la
Ud
figura S-26. Y, como pede observarse, se permite la existencia de nodos hoja con
la etiqueta Mixto. Esto se hace para impedir una divisin del espacio excesiva si no
Ud
es necesana, lo que permite al vehculo desplazarse con mayor velocidad.
u
Ud
(2>
a
Mapa: Ud
Descomposicin en
(3)
~1
Quadtree

si
(4-3) (3-1-3>
(3) (4) u
-1) (4-2) (4-3) (414) a
u
si
u
a
(3-1-1> (3-1-2) (3-1-3) (3-1-4)

Figura 5-26. Aplicacin de la representacin quadtree al eitorno del robot.


Ud
a
si
Captulo 5. Implementacin del Sistema de Fusin 245

En caso de aproximarnos a una zona mixta se puede dividir ms dicha zona


(expansin de una rama del rbol) para cmprobar si pasa sin chocar con el
obstculo, mejorando de forma dinmica la trayectoria seguida. Esto puede verse
en la figura 5-27. Como podemos ver la trayectoria se ir calculando
automticamente ajustndose a los nuevos nodos de los objetos observados hasta
ese instante. Con este mtodo tambin podemos esquivar a la vez los obstculos no
previstos en la trayectoria inicial.

ROBOT: Punto origen

Submetas para llegar a


ol)jetivo final (Vrtices)

Camino escogido

Punto destino
Figura 5-27. Clculo de la trayectoria inicial y la trayectoria seguida.

5.3.3.2. Creacin del mapa de carreteras y trayectoria ptima


Para calcular el camino ptimo se encuentran todos lo posibles caminos como
concatenacin de una serie de subcaminos o tramos que unen zonas del espacio
libre. El camino cuyos tramos cumplan una cierta condicin ser el escogido.
Existen varios mtodos para calcular estos caminos posibles [Latombe 91],
entre otros destacamos el grafo de visibilidad, el diagrama de Voronoi, la red de
espacios libres y el campo de potenciales.

El grafo de visibilidad no utiliza una descomposicin en celdas, sino que


calcula todos los caminos (arcos del grafo) entre un vrtice de un objeto y cualquier
otro (nodos del grafo> utilizado normalmente para obstculos polidricos [Lozano-
Prez 79; Mitchell 88]. Los caminos vlidos son aquellos que no encuentran
ningn obstculo en su camino.
a
Ud
246 5.3. Tareas en el controldel robot mvil autnomo Ud
Otro mtodo diferente, que tampoco utiliza una descomposicin de celdas,
es el diagrama de Voronoi. Este diagrama es el conjuntO de todas las Ud
configuraciones vacas cuya distancia mnima al obstculo es alcanzada al menos
por dos puntos de la frontera del obstculo. La ventaja de este diagrama es que el
camino libre tiende a maximizar el espacio libre entre el robot y los obstculos. a
Cuando los obstculos son polgonos el diagrama de Voronoi consta nicamente de
segmentos rectos y parablicos. Ud
La red de espacios libres se aplica a una descomposicin en celdas. Existen
diversos mtodos dependiendo de la descomposicin utilizada, pero en general
representa un grafo de conectividad que indica si dos celdgs libres son contiguas.
Ud
As, por ejemplo, si tenemos un descomposicin en deldas triangulares y Ud
trapezoidales el grafo de conectividad se crear entre celdas adyacentes y e camino
se realizar entre el punto medio de dos celdas sucesivas. Ud
Los campos de potenciales [Khatib 86] son tcnicas heursticas locales muy
utilizadas. Normalmente se aplican sobre un enrejado de celdas iguales (aunque si
puede ser continua y no necesitar la divisin de deldas) y se basan en dotar a cada
celda de un potencial (funcin potencial> basado en la proximidad de los objetos y

de su destino. As, el destino produce un trminoque tiende a empujar el robot


a
hacia l (potencial atractivo> y los obstculos tienden a producir un potencial que
repele al robot (potencial repulsivo). El camino ser aquel que siga un potencial
mnimo. Esta tcnica tiene el problema de que puede caerse en mnimos locales de
Ud
los cuales el robot no podr salir, para evitarlo se utilizan distintas modificaciones Ud
como la adicin de ruido [Arkin 87].
Nuestro mapa dedarreteras esta formado por un grafo de visibilidad, pero en a
lugar de utilizar los vrtices de los objetos se utilizarn los vrtices de las celdas
Llenas (o en su defecto hojas Mixtas). Para disminuir el nmerO de nodos del grfo Ud
se eliminarn los nodos correspondientes a los vrtices cncavos, puesto que en el
clculo del camino ms corto e robot nunca pasar por ellos. Esto permite que el
nmero de nodos del grafo sea significativamente menor que si se considerase un
a
nodo para cada una de las celdas. La distancia entre vrtices es real y no como
ocurre en la red de espacios libres que se calcula la distancia entre los centros de a
las celdas, que obviamente produce un camino ms largo.

Existen multitud de parmetros que pueden optimizarse en el clculo de la Ud


trayectoria, como son el combustible, el tiempo, el espacio, la seguridad, etc. Pero
normalmente no todos pueden satisfacerse a la vez. Por ejemplo, si queremos Ud
1

Ud
Captulo 5. Implementacin del Sistema de Fusin 247

optimizar el tiempo en llegar al destino, necesariamente debemos utilizar un


tamao de celdas grande para reducir el nmero de clculos. En este caso, la
seguridad peligra, y obtendremos una trayectoria que no ser la ms corta (en
cuanto a espacio recorrido).
En nuestro ejemplo el tipo de trayectoria que nos interesa es: optimizar el
espacio recorrido, pero manteniendo la seguridad de que no ocurrir ninguna
colisin, disminuyendo la velocidad del mvil en caso de peligro.

Para encontrar el camino mnimo en el grafo se puede utilizar cualquier


algoritmo de optimizacin existente, como es la programacin dinmica [Larson
76],algoritmos genticos [Goldberg 89; Davis 91; Xiao 97], o algoritmos clsicos de
recorrido mnimo en un grafo, etc. En nuestro caso utilizaremos el algoritmo de
camino mnimo en un grafo de Dijistra.
En una primera aproximacin calcularemos la matriz de distancias, necesaria
en el algoritmo de Dijistra, utilizando la distancia euclidea entre los nodos, pero
podran aadirse otros factores. La coordenada de cada vrtice se calcula segn la
ecuacin (5.8>, donde Xvertice e Yvertice, son la posicin del vrtice del obstculo,
ms en concreto la esquina de la celda correspondiente; Xrobot e Yrobot, son la
dimensin del robot; sentidoX, valdr 1 si es un vrtice hacia la derecha (como el
de la figura 5-28> o -1 si es un vrtice hacia la izquierda; y sentidoY, valdr 1 si es
un vrtice hacia abajo o -1 si es un vrtice hacia arriba (como el de la figura 5-28).
Xnodo = Xvertice + sen tidoX * Xrobot /2 (5.8)
Ynodo = Yvertice + sentidoY * Yrobot /2

DQ, j) = fiXnodo, Xnodo~ )2 + (Ynodo, Ynodo1)2 (5.9>

Puesto que estamos utilizando un grafo de visibilidad, la distancia entre dos


vrtices i y j viene dada por la ecuacin (5.9) si son visibles entre s. En caso
contrario la distancia es infinita. Para comprobar si existe algn obstculo en la
trayectoria recta entre los dos nodos se calcula la recta que los une y se comprueba
que ningn punto de esta trayectoria pasa por una celda Mixta o Llena.

Una vez creada la matriz de distancias y el vector de nodos, se procede a


aplicar Dijistra al grafo existente de modo que se obtenga la trayectoria ms corta.
Esta trayectoria ser la utilizada inicialmente por 4 robot para comenzar a
moverse, pero puede ser modificada durante el movimiento por la informacin
adicional ofrecida por los sensores que pueden indicar la existencia de obstculos
a
Ud
248 5.3. Tareas en el control del robot mvil autnomo Ud
no previstos. Incluso aunque no aparezcan obstculos, puede ser necesario la
mayor divisin de celdas Mixtas debido a su proximidad con el robot, con la a
consiguiente modificacin de los nodos involucrados en la divisin de las celdas y la
modificacin de la trayectoria a seguir. Para mantener una coherencia entre las
trayectorias, se.debe mantener la divisin de las celdas y la trayectoria que ya se
haya indicado al controlador de los motores. Esto indica que no se debe permitir
Ud
dividir las celdas que estn a una cierta proximidad del robot y que la divisin de a
las celdas debe ser de las celdas posteriores a estas, lo que implica la necesidad de
una anticipacin de k divisin de las celdas por las que discurre el camino Ud
dependiendo de la prximidad de ste a los obstculos.
Ud

j Nodo

/ C~ntomo de) robot

Y
0 a
Obstculo

Figura 5-28. Posicin de los nodos del grafo.


a
a
Para calcular la trayectoria ptima se incluyen dos vrtices ms: el punto a
donde se encuentra el robot y el punto destino, entre los cuales hay que calcular el
camino ms corto. a
Una vez calculada la trayectoria inicial se pasa al controlador de los motores
los puntos de consigna que debe seguir. Las coordenadas de estos puntos son
calculadas a partir de las rectas existentes entre cada nodo y vendrn espaciados a
segn el convenio entre el planificador y el control de los motores.
El planificador siempre ofrecer una consigna al navegante o al control de los a
motores correspondiente a una distancia por delante de la trayectoria a seguir que
depende de la velocidad del m<il de forma que el planificador pueda responder a
la aparicin de un obstculo imprevisto. Esta trayectoria ser utilizada por el motor
a.
a
si
u
Captulo 5. Implementacin del Sistema de Fusin 249

para controlar la velocidad y orientacin de las ruedas para realizar lo mas


fielmente posible la trayectoria marcada.

5.3.3.3. Actualizacin del entorno yesquiva de objetos


El entorno viene representado por el rbol sealado anteriormente. En l se
integran las medidas de la fusin de todos los sensores por lo que se dispone de
una informacin completa del espacio prximo al robot.

Trayectoria inicial
Nodo anterior vlido

Obstculo
detectado

Nodos nuevos

bj eto
a existente

Nodo anterior vlido

Figura 5-29. Clculo de la nueva trayectoria


Ud
a
250 5.3. Tareas en el control del robot mvil autnomo a
Cualquier modificacin del entorno percibida por los sensores es notificada
al Planificador, lo que permite detectar la aparicin de obstculos no previstos en Ud
la trayectoria inicial. Tengamos en cuenta que la aparicin de obstculos se traduce
en la transformacin de una celda Vaca en Mixta (o Llena). Si estas nuevas
celdas no vacas no afectan a la trayectoria del robot no ser necesario calcular un Ud
nuevo camino

En caso de que el obstculo obstruya el camino, se debe calcular una nueva a


trayectoria. El clculo de la nueva trayectoria ser solamente sobre la parte de la
trayectoria que permite rodear o desviarse del obstculo. Este clculo es Ud
relativamente rpido puesto que utiliza nicamente un nmero muy reducido de
nodos, correspondientes a la zona de seguridad preestablecida. As podemos Ud
obtener la trayectoria en tiempo real sin prejuicio del movimiento del robot. En el
nuevo clculo de la trayectoria se utilizan como nodo inicial y nodo final los dos

pnmeros nodos hiera de la zona de seguridad y como nodos intermedios para la


Ud
nueva trayectoria los nuevos nodos que se encuentran en la zona local. La figura 5-

29 muestra un pequeo ejemplo del funcionamiento de este mecanismo.


Ud
Tengamos en cuenta que para que el mecanismo funcione es imprescindible

una buena actualizacin del entorno. Esta actualizacin es realizada por el mdulo
si
encargado de la integracin multisensorial. Este es el mdulo bsico del robot, sin
l no podra percibir el entorno en el que se mueve y sobre el que trabaja el Ud
planificador de caminos.

5.3.3.4. Modelo BOOM a


El planificador de caminos se divide en dos actores, figura 5-30, encargados u
de tratar con entornos distintos: uno es el encargado de planificar una trayectoria
sobre el entorno global cumpliendo las consiguas y restnccones dadas por el
usuario (planificador Global); el otro se ocupa de trabajar con el entorno prximo Ud
al robot para detectar posibles obstculos y esquivarlos actuando de forma reactiva
~planificadorLocal>. Este planificador es el equivalente al Navegante 1 indicado en a
la seccin 5.1.

Ud
Ud
Ud
si
a
Capitulo 5. Implementacin del Sistema de Fusin 251

Protocol class PlanG a PlanL


In: < <nuev_GamO, null>4mapaLocal,null} 1
Out: < <mapa local, celdas, ),{nuevo_camino,tipooamino} 1

Protocol class Fusion a Motor


In: < <mensaje_fin, nuil), <mensaje u, u> 1
Out: 1 (nuevo_est, tipo_estado

Protocol class Planificador Peligro


In: < <Peligro, ptospeligro} 1
Out: { (Peligro_real, null},

Protocol class Planificador camino


In: 1 (nuevo_cam_glob, null}, (nuev mapa_centrado, nul),
<nuevo_cam_local,null}
Out: ( <mensaje camino, tipo camino 1,
<No camino_iooal,null}, (fuera mapa_iocal,null} 1

datoEstado
ptjeligtu

datoEntorno

Figura 5-30. Clase actor Planificador.

En la figura 5-31 se muestran los diagrama de estado de cada uno de los


planificadores utilizados. En la figura 5-31a se muestra cmo acta el planificador
global, pero se ha omitido la actualizacin dinmica de la consigua por parte del
usuario, de forma que slo es posible introducir una consigna inicial. En la figura
5-31b se muestra el funcionamiento del planificador local, su dilogo con el
planificador global y con el navegante, y cmo se representa el entorno local
mediante un quadtree.
Ud
Ud
252 5.3. Tareas en el control del robot mvil autnomo
Ud
t:{nuevocamG,divplanif,ptos}
a:<ca m = ca le ulo camino global(ptos)
enviar camino(camino,cam nuevo_camino>
Ud
t:<mapa Iocal,divplanit,pos
Ud
a:<env ar submatriz< oeldas.divplan it, mapa loca 1

Ud
t:<nuevos...ptos, DatoEntornodatos>
a:<actualizarmapa<datos);
datos peligro=comprobar(datos,pos):
it datos peligrol=nulI
enviaPtos(datos peligro, Pt.peligro, peligro>:>
a
<4 Ud
a) Planificador global
a
Ud
Ud
Ud
Ud
Ud
Ud
Ud
Ud
Ud
b) Planificador local
Figura 5-31. Comportamiento del Planificador. Ud
si
u
Captulo 5. Implementacin del Sistema de Fusin 253

5.3.4. El navegante

Este actor se encarga de comprobar que la trayectoria fijada por el


Planificador es seguida correctamente por el mvil. Es decir, se ocupa de
supervisar el trayecto realizado por el Control de los Motores, de forma que si se
desva de la trayectoria ms de un cierto margen, modifica los puntos de consigna
dados al Control para rectificar la desviacin observada. En caso de que exista un
peligro inminente detiene el movimiento.

Este agente, adems de recibir los puntos de consigna del Planificadof,


comprueba si existe peligro de colisin con los nuevos objetos detectados, recibe
las restricciones del usuario y comunica la consigna a seguir al control de los
motores.
Veamos con ms detalle el funcionamiento del Navegante.

1.- Se encarga de procesar las restricciones en el movimiento por parte del


usuario, informando al Planificador de cualquier cambio en el tipo de movimiento
(creacin de mapas, vagar por el entorno, puntos inicial y final, etc.).

2.- Se ocupa de la seguridad del movimiento del robot. Para ello se definen
varias zonas dentro del mapa local, vase la figura 5-32:
- Circulo de seguridad. Zona donde se vigila que el movimiento del
robot sea seguro e instante donde se debe pedir un nuevo mapa local.

- Margen de maniobra. Zona en la cual se permiten errores en el


movimiento, pero cuyo movimiento es totalmente seguro puesto que
se vigila que en ese pasillo no se encuentra ningn objeto.

Circulo de seguridad

Camino seguro

Mapa Local

Figura 5-32. Mapa local y zona de seguridad


Ud
Ud
254 5.3. Tareas en el control del robot mvil autnomo Ud
5.3.4.1. Modelo BOOM
El actor Navegante se ocupa de comprobar que la trayectoria es seguida Ud
correctamente. El protocolo de sus puertos ya han sido definido anteriormente en
el planificador y Control de motores y ser conjugado de estos. El protocolo y la Ud
clase pueden verse en la figura 5-33.
Protocol class Navegante_a ControlMotor
In: < <nueva_consigna, info_consigna),
Out:
Protocol ciass Planificador Peligro
<Femergencia, nul) 1
a
In: ( <Peligro, ptos peligro) 1
Cnt: < <Peligro_real, nul), Ud
Protocol class Planificador camino
En: < (nuevo camglob, null}, <nuev mapa centrado, nul),
<nuevo_caro_local,null) 1
Out: < (mensaje_camino, tipo camino 1,
<No_camino_oca,mu) ,fuera mapa local,null} } Ud
datoEstado Ud
pLPeli&o ptcomsigna Ud
camino

Figura 5-33. Actor Navegante Ud


El comportamiento de este actor puede verse en la figura 5-34. Ud
Ud
a
Ud
si
Ud
Ud
Ud
u
u
Capitulo 5. Implementacin del Sistema de Fusin 255
ti
00
z
e
o
o
o
5>
~
2
o>
1.
o
oE
u
a
Ud
256 5.4. Simulacin delfuncionamiento de los actores Ud
5.4. Simulacin del funcionamiento de los actores
La simulacin del sistema permite repetir situaciones que en la realidad Ud
seran muy difciles de reproducir. Con stas experiencias se puede poner de
manifiesto la adecuacin y robustez de las tcnicas descritas en captulos Ud
anteriores. Adems, mediante simulaciones se pueden reproducir fallos en los
sensores que no podran realizarse de forma sencilla en un sistema real. a
La simulacin de los distintos actores permite analizar el comportamiento de
los procesos en paralelo, ver cmo se comportan en el paso de mensajes, colaboran

entre s y actan en condiciones de fallo o error, ya sea debido a un fallo de uno de


Ud
los sensores o ante errores de comunicacin.

Para implementar el sistema de control del robot se ha utilizado PVM Ud


(Parallel Vinual Machine) como herramienta de implementacin y depuracin de
los distintos procesos involucrados. Esta herramienta permite crear, manejar y Ud
comunicar procesos de forma muy sencilla proporcionando las libreras necesarias
para su utilizacin en C ++. Su fcil utilizacin y su interfaz grfico (XPVM) para Ud
observar los procesos y estudiar el correcto funcionamiento del sistema permiten
un desarrollo rpido de cualquier sistema con procesos trabajando en paralelo. Ud
A partir del diseo anterior, simulado con PVM, se adaptan los procesos
para trabajar con un robot real, que se mostrar en el Captulo 6. Se ha tilizado Ud
RTKernel como sistema operativo de tiempo real que trabaja sobre el sistema
operativo MS-DOS. Este sistema operativo en tiempo real es de bajo precio y Ud
permite la utilizacin de PCs para el control de los robots, siendo una alternativa
al Linux como plataforma de trabajo. a
:Las simulaciones que se presentan a continuacin muestran el funcionamiento
del sistema de integracin multisensorial dentro del sistema robtico desarrollado,
a
por lo que se har hincapi en los procesos existentes y en el funcionamiento global
del robot, ya que los resultados del proceso de integracin de medidas ya se Ud
pusieron de manifiesto en los captulos 3 y 4. stas incluyen:
Fallo de distintos sensores, para mostrar que el sistema sigue Ud
funcionando correctamente y no se detiene.
Simulacin de las tareas del robot junto con el sistema de fusin,
para mostrar cmo el sistema de fusin se integra correctamente Ud
en el funcionamiento de un robot mvil. Ud
Ud
Ud
Captulo 5. Implementacin del Sistema de Fusin 257

5.4.1. Fallo de distintos sensores

En este apaado se muestra el funcionamiento de los distintos procesos que


componen el sistema de fusin multisensorial. En el captulo 3 se estudi el
funcionamiento de los sensores de posicin y la respuesta del sistema de fusin
ante fallos. Se mostr que el sistema era robusto ante malfuncinamnientos de los
sensores y se mostraron los resultados del sistema de fusin de estado y la
covarianrza del error resultante.
Ahora se muestran los mismos ejemplos que en el captulo 3 pero desde el
punto de vista de los procesos involucrados. De esta forma se destaca que el fallo
de un sensor no detiene el sistema sino que ste evoluciona correctamente como si
no existiese. De igual forma se puede incluir un nuevo sensor o hacer que un
sensor deje o vuelva a trabajar con los dems.
Para mostrar el funcionamiento de los distintos procesos involucrados en el
sistema sensorial se ha utilizado PVM (Parallel Virtual Machine) [Geist 94]. PVM
fue desarrollado en 1989 por Vaidy Sunderam y Al Geist en el curso de sus
investigaciones sobre computacin distribuida hetereognea, que les condujo al
desarrollo del concepto de mquina virtual paralela [Sunderam 90; Geist 92]. Se ha
utilizado PVM en lugar de MPJ (Message Passing Interface) [MP194; Snir 95]
porque PVM es ms adecuado cuando las aplicaciones se van a ejecutar sobre
redes heterogneas, lo que ocurre en nuestro caso puesto que debe adaptarse a los
distintos equipos disponibles. Esto es posible debido al concepto de mquina
virtual, que le permite desarrollar aplicaciones totalmente transportables e
independientes de la o las mquinas sobre las que se van a ejecutar. Adems tiene
otras ventajas que le hacen muy adecuado como son su conjunto de funciones de
control y manejo de procesos que permiten que las aplicaciones puedan ser
utilizables tanto en estaciones de trabajo como en MPP (Massively Parallel
Processor), su tolerancia a fallos que permite escribir aplicaciones PVM que
pueden continuar ejecutndose cuando un host o una tarea fallan o permitir
cambiar la carga de trabajo dinmicainente debido a situaciones externas. Para una
mayor discusin sobre la conveniencia de la utilizacin de PVM o MPJ vase [Geist
96].
Para la presentacin grfica de esta seccinttiiizaremos XPVM. XPVM es un
interfaz grfico para PVM. Proporciona un interfaz visual para las funciones de
consola de PVM y es una herramienta que permite ver la evolucin de los procesos
en tiempo real y realizar una depuracin o anlisis de cualquier programa PVM. Al
u
Ud
258 5.4. Simulacin delfuncionamiento de los adores Ud
igual que PVM, es de dominio pblico y puede obtenerse por Internet en diversas
direcciones. En [Kohl 96] se puede encontrar ms infonnacin sobre su uso, Ud
mstalacin, etc.

XPVM permite mostrar distintos aspectos de la ejecucin de los procesos, Ud


como es la estructura de la red, la carga de la red, el estado de las tareas en el
tiempo, los mensajes en cola de cada tarea, etc. En nuestro caso nos interesa Ud
mostrar el funcionamiento de las tareas y el paso de mensajes entre ellas, por lo
que slo se mostrar la ventana de ejecucin de las tareas en funcin del tiempo.
En esta pantalla cada tarea se muestra por una barra horizontal, siendo el eje x el Ud
tiempo (comn para todos). El color de la barra indica el estado en que se
encuentra esa tarea. El color correspondiente a Con9uting, vase la figura 5-35a, Ud
muestra cuando la tarea est realizando clculos reales, es decir, se encuentra en
estado de ejecucin o preparada; el color de Overhead indica que la tarea en

cuestin est ejecutando rutinas para comunicacin y control de tareas del sistema
Ud
PVM; el color de Waiting indica cundo la tarea est suspendida, por ejemplo si
se encuentra en espera de mensajes de otros procesos. Las lineas entre dos barras
representan los mensajes intercambiados entre esas treas. Cada mensaje viene
Ud
representado por una lnea que parte de una barra (mensaje enviado) hasta el Ud
instante donde lo recibe la otra tarea (mensaje recibido>.

5. 4.1.1. Simulacin de sensores de estado Ud


En la figura 5-35a se muestran los mensajes intercambiados entre los
sensores de medidas de estado cuando no ocurre ninguna anomala, es decir, en el Ud
caso de un funcionamiento correcto de los sensores. En la figura 5-35b se muestra Ud
ampliado un ciclo de medida. En este se destacan dos zonas, la zona A y la zona B.
La zona A corresponde a la lectura de los sensores fsicos, a la prediccin y
actualizacin de la estima, al envo de la infonnacin de asimilacin a los dems Ud
sensores y la preparacin para su asimilacin. Es la encargada de realizar la
observacin de los sensores y preparase para la asimilacin de la informacin de los Ud
dems. La zona B corresponde a la asimilacin y al envo de la mejor estima de
cada uno de los sensores individuales al Mstema de fusin. Y ste, a su vez,

comunicar al robot la mejor estima de todas (seria la lectura del estado actual por
Ud
parte del robot). Es decir, equivale al ciclo de lectura del sensor: en el se realiza la
asimilacin de las medidas recibidas por cada sensor y su envo al sistema externo Ud
que escoge la estima ms precisa.

Ud
Ud
Ud
Captulo 5. Implementacin del Sistema de Fusin 259

En la figura 5-35c se muestra una ampliacin de la zona A, para destacar las


distintas fases de cada ciclo de medida:
(1) Envo por parte del nodo de fusin, denominado cUstr (vase la
figura 5-10), de la seal de control u a cada uno de los nodos de
fusin de los sensores. Esta seal puede o no ser necesaria por los
sensores dependiendo del modelo utilizado. Previamente al envo, el
nodo cUstr recibe una seal que le indica que enve una seal de
control.
(2) Peticin de nueva medida al sensor lgico. Esto es la lectura fisica del
sensor y es provocada por la recepcin de un timer (Ujotas, hyo de
tirner asncrono) que representa el periodo de medida de cada
sensor. Cada sensor puede tener su propio periodo de medida y por
supuesto puede realizarse a una frecuencia distinta del resto.

(3) Recepcin de la nueva observacin y validacin, prediccin y


actualizacin la estima propia. Una vez realizado esto se enva a los
dems la informacin de asimilacin correspondiente.
(4> Recepcin de estimas externas. Se encolan en orden de tiempos para
su validacin externa y asimilacin cuando se solicite una nueva
lectura del estado.
(5) En este momento, figura 5-35b, cada nodo de fusin del sensor
recibe la seal de fin del ciclo de lectura por parte de un timer
adecuado, es decir, se solicita la estima actual que tiene cada uno de
los sensores. En este momento se realiza la validacin externa y la
asimilacin de las medidas acumuladas y se enva la estima final al
nodo distri, para que este transmita la mejor estima al robot (en
teora todas deberan ser la misma, pero son diferentes debido a
fallos, validaciones, ...).
260 5.4. Simulacin delfuncionamiento de los adores

a) Procesos involucrados en Ralinan distribuido.

b) Ciclo: medida, asimilacin, actualizacin y envio final.

Ud
Ud
c) Zona A medida, asimilacin y actualizacin. Ud
Figura 5-35. Integracin de medidas de estado. a
u
Ud
Capitulo 5. Implementacin del Sistema de Fusin 261

Tambin es muy interesante mostrar que cuando se produce un fallo en uno


de los sensores y deja de funcionar, el sistema evoluciona sin ningn prejuicio en el
paso de mensajes entre los procesos que restan. En la figura 5-36 se muestra un
ejemplo en el que ocurre el fallo de un sensor, figura b), frente al mismo caso en el
que el sensor acta normalmente, figura a). En ambas se han incluido la misma
numeracin que en la figura 5-35c para resaltar la correspondencia entre ellas.

En la figura 5-36a se muestra un ciclo sin fallo como el de la figura 5-35c


donde destacar que los sensores trabajan con la misma frecuencia de muestreo
(podran ser distintas). Sin embargo, en la figura 5-36b al fallar el
correspondiente al primer nodokal (ya sea porque est averiado o porque no puede
obtener ninguna lectura del sensor fsico), ste no recibe contestacin. Debido a
esto, este sensor no acta en los siguientes intercambios de informacin y por tanto
no se realizan las operaciones correspondientes al punto (3). Indicar que s realiza
asimilacin de datos externos, en el punto (4), y por lo tanto puede mantener una
estima precisa del estado a pesar de no realizar ningn tipo de observacin.

01310NdlstrI
ORlON:nodoRal~
ORION:SOflIWl
ORION:ndokaI
ORION.s~kaI
ORI~N nodokBI
ORION3or~kaI
ORIONhIJotn,~
p~ONI?lctas
ORION hilotas
ORIONhilotas

ORION.hIloln
a) Ciclo sm fallo del sensor.

ORION.dlstd
ORIONncdokal
ORION senkal
ORLON,nodokal
ORION s.hkal
ORION nodokal
ORlO N.sonk~I
ORlO N1J~iJotas
ORION hijotas
ORION.hljoias
ORI?l~l:hIjot
9s
ORIONhljotas.

h) Ciclo con fallo del sensor.


Figura 5-36. Fallo de un sensor,
a
Ud
262 5.4. Simulacin delfuricionaniiento de los adores Ud
5.4.1.2. Simulacin de sensores de entorno
En el caso del sistema de fusin de entorno, el mecanismo es similar al Ud
descrito para las medidas de estado, aunque los tiempos, seales e informacin
enviada entre los procesos son diferentes, vanse las figuras 5-10 y 5-15 donde se
si
seala un esquema de la informacin enviada.
La figura 5-37a muestra un ejemplo de los procesos del sistema de fusin Ud
multisensorial correspondientes a la fusin de medidas de entorno. En ella se ha
indicado cuando se realiza una observacin del entorno por parte de cada uno de
los sensores (Si, 52, SS), para destacar que pueden actuar de forma asncrona y
don frecuencias de muestro distintas.
si
La figura 5-37b muestra el proceso de actualizacin de una medida por parte Ud
de cada uno de los dos sensores disponibles (visin y ultrasonidos). En ambas
observaciones se pueden destacar los siguientes momentos:
(1) Instante en el que el timer que controla el periodo de muestreo de este
Ud
-

sensor le indica que debe realizar una medida de entorno.


(2) Peticin al sensor lgico correspondiente (sew..bay) una lectura del
entorno. si
(3) Una vez que se tiene y se almacena en el mapa local propio se enva al
proceso de fusin (mapa) para que actualice el mapa global. a
nodo de fusin enva la estima correspondiente los otros sensores para
(4) El

que actualicen su creencia del entorno en base a lo que ha afirmado el si


sensor anterior. a
En la figura 5-3Th se muestra el caso de que uno de los sensores falle. En
este caso como el sensor no contesta, ste no enva nada al nodo de fusin y es
igual que si no pasase nada. En el momento que tenga alguna medida disponible o si
el sensor vuelva a funcionar seguir trabajando como en el caso anterior sin ningn
problema porque mientras ha utilizado las medidas que le proporcionaba el otro Ud
sensor.

Ud
Ud
si
u
a
Capitulo 5. Implementacin del Sistema de Fusin 263

IICjIIZCIO

ir
slung

a) Procesos involucrados en Bayes.

1:

1
ji.

b) Ciclo de Bayes sin fallo del sensor.

Ciclo de Bayes con fallo de un sensor.


e)

Figura 5-37. Integracin de medidas de entorno


Ud
264 5.4. Simulacin delfuncionamiento de los adores

5.4.2. Simulacin del sistema de control del robot si


Por ltimo se muestra el funcionamiento del robot junto con el sistema de a
fusin. En las figuras 5-38 y 5-39 se muestran los procesos principales involucrados
en el funcionamiento del robot. Se han eliminado los procesos auxiliares y los a
correspondientes a los sistemas de fusin de entorno y de estado puesto que ya se
han descrito en las secciones anteriores. Las tareas mostradas en la figura 5-38 se

corresponden a las de la figura 5-9. En concreto los actores mostrados son:


- runpvm. Tareas que se encarga de crear los puertos entre procesos,
usi
inicializar las variables necesarias (mediante archivos de inicializacin y
consultas al usuario) para el funcionamiento del robot y crear las

dems tareas. Es equivalente al actor Robot.


a
Display. Actor dependiente del sistema utilizado que muestra los
-

u
-
resultados en pantalla y es utilizado como interfaz grfico con el
usuano. Es el actor Navegante comentado en la seccin 5.3.4. Ud
- Motores. Es el actor encargado de realizar el control de los motores, si
vase la seccin 5.3.2.

- PlanLocal y Plan Global. Corresponden al Planificador de la figura 5-9. Ud


El comportamiento del planificador se encuentra descrito en la
seccin 5.3.3 y en la seccin 5.3.3.4 se describen los dos actores que

realizan la planificacin (el planificador local y el planificador global) y


a
su relacin.
- Distr y mapa. Corresponden a los nodos finales de fusin, vase las Ud
figuras 5-10 y 5-15, que ofrecen el resultado del sistema de fusin a los
actores del robot que lo necesiten. u
or!qnrunpvni 8
orlo,rdlsla
or;n~Nwegant.
mm
a
E
Ud
orJo~:~~oWros
orlowPlanLoeal
orlan PlanGlobal
ofloiiatrIH~
6

gura 5438. Procesos en


.LJL..L..L..s.
a
mvolucrados el funcionamiento del robot si
si
u
J
Capitulo 5. Implementacin del Sistema de Fusin 265

En la figura 5-38 se muestra la inicializacin del sistema y el funcionamiento


cclico (con una frecuencia de muestreo alta) de las tareas relacionadas con el
control (Navegante, que vigila el seguimiento de la consigna, y motores, que
controla el funcionamiento de las ruedas) y la sensorizacin (cUstr y mapa que
reciben informacin fusionada de los sensores lo comunican a los actores
interesados).
En la figura 5-39 se muestra el funcionamiento del planificador local
(PlanLocal) y el planificador global (PlanGlobal) cuando el robot se va ha salir de la
zona de seguridad y necesita un nuevo mapalocal:
(1) El Navegante solicita un nuevo camino local al planificador local.
(2) El planificador local solicita al planificador global, que mantiene un mapa
actualizado del entorno, un nuevo mapa local.
(3) Una vez el planificador local ha recibido la nueva informacin de entorno
solicita la posicin actual al Navegante a partir de la cual calcular el
camino local, y mientras llega se calcula un quadtree del mapa local.

(4) Se recibe la posicin actual y se enva el nuevo camino a seguir.

orlon.runpvm
crion.dsplay
qrlon.Navqante
crion motores
*rLan:PlanLooI
orlon PlanGlobal
*ri~n:dLstI
Orlonmap;

Figura 5-39. Ejemplo de funcionamiento del planificador.


u
u
266 capitulo 5.5. Re&ultados del capitulo a
En este Captulo, a partir de las arquitecturas de control ms utilizadas en a
robot mviles terrestres, se ha diseado una arquitectura centralizada genrica y
abierta que puede utilizarse con una amplia variedad robot mviles. Se le ha a
dotado, tambin, de la posibilidad de comportamiento reactivo y de un
funcionamiento paralelo de las distintas tareas existentes. a
Para la especificacin de las distintas tareas del robot se ha utilizado una
metodologa orientada a objetos en tiempo real (ROOM); y se ha descrito con

claridad su interfaz y funcionamiento. Gracias a la formal especificacin mediante


si
BOOM se permite una fcil comprensin del funcionamiento de ada una de las
tareas y la fcil modificacin, por parte del usuario, de stas para adaptarlas a sus
necesidades concretas.
a
Por ltimo se ha mostrado un ejemplo de su funcionamiento destacando la Ud
cooperacin entre tareas y el paso de mensajes realizado.
La implementacin de esta arquitectura de control representa un soporte Ud
muy adecuado para la utilizacin del sistema de fusin desarrollado porque su
diseo abierto permite adaptarse a distintas aplicaciones y robots de igual forma si
qe el sistema de fusin propuesto puede configurarse para trabajar con diversos
sensores. Esto asienta un potente banco de pruebas para verificar la robustez del Ud
sistema de fusin y mostrar su facilidad para configurarlo segn las necesidades de
la aplicacin o las posibilidades de los sensores o robots disponibles. a
a
si
a
u
si

u
a
Captulo 6

Resultados Experimentales
En este Captulo se muestra el comportamiento de todas las
herramientas desarroladas (el sistema de fusin multisensorial y la
arquitectura de control) actuando juntas en el manejo de un robot mvil.
Las experiencias presentadas se dividen en dos clases: simulaciones y
pruebas reales.
Las simulaciones penniten destacar detalles del comportamiento del
sistema que no pueden realizarse con facilidad en pruebas reales, pero
que mediante simulacin son fciles de provocar y repetir cuantas veces
sean necesarias. Con estos experiencias se destaca el comportamiento del
robot y del sistema sensorial en distintas situaciones como por ejemplo,
reconocimiento de entorno, construccin de mapas, navegacin reactiva o
deteccin de objetos en movimiento.
Las pruebas en un robot real ponen de manifiesto la utilidad
prctica del sistema de fusin y la arquitectura de control desarrollados.
Este caso permite mostrar cmo trabaja el sistema en tiempo real, aunque
la velocidad del robot debe ser lenta puesto que la carga en una nica
computadora es muy grande y no se pueden exigir velocidades ms altas.
Adems, con este ejemplo se muestra cmo se adapta el sistema
implementado para trabajar con un robot y sensores reales, destacando su
fcil manejo, sencilla adaptacin para trabajar con los disponibles y su
simple configuracin segn el comportamiento del robot que se desee.

267
u
268 6.1. Introduccin

6.1. Introduccin a
Para mostrar la eficacia y versatilidad del sistema de fusin desarrollado y su a
integracin en la arquitectura descrita en el Capitulo 5 se utilizar un robot mvil
de dos medas independientes en entornos interiores. Se realizan dos tipos de a
experiencias: simulaciones (para comprobar su funcionamiento en distintas
situaciones) y pruebas reales (para comprobar su funcionamiento en tiempo real).

La arquitectura, tareas del robot y su comunicacin con el sistma de fusin


si
multisensorial ya han sido descritas en el Captulo 5, lo que se pretende sealar en

este captulo es su comportamiento ante distintas situaciones reales, la adaptacin


de las tareas para llevar a cabo distintos objetivos, su capacidad de sensorizacin y
si
la facilidad para cambiar de sensores. a
Para tener en cuenta, al menos, un sensor representativo de cada uno de los
grupos descritos en el Captulo 2 en un nico sistema se utiliza una forma de si
navegacin mixta. Por un lado se fusionan datos de posicin obtenidos por sensores
de estado, para obtener una estima de la posicin mucho mejor que la de cada uno a
de ellos individualmente. Por otro lado, se fusiona la informacin referente al
entorno del robot para mejorar (en caso de disponer de un mapa) o construir un
si
mapa del entorno por el que se mueve el robot a fin de esquivar los obstculos que
aparezcan en la trayectoria prevista. a
El sistema de fusin de estado, para el clculo de la posicin, utiliza los
sensores: odmetros en las medas, balizas artificiales, dinamo para la obtencin de
la velocidad y brjula magntica. El modelo de cada sensor ser incluido en el a
sistema en la inicializacin a travs de un archivo ASCII en un formato
preestablecido, de manera que informe de la existencia y funcionamiento de cada u
sensor. Recordemos que podran utilizarse otros sensores sin prejuicio para el
funcionamiento del sistema. si
El sistema de fusin de datos de entorno utiliza estos sensores: un cinturn
de ultrasonidos y dos torretas de ultrasonidos (sistema orientable que permite si
buscar e identificar objetos de forma semejante a visin artificial). El sistema de
fusin permite hacer un clculo cuantitativo de propiedades cualitativas con una u
cierta incertidumbre, lo cual es propio de los datos ofrecidos por los sensores en
cuanto a propiedades del entorno como son tipo de objeto (puerta, pared, etc.).

Aunque en estos ejemplos se utiliza nicamente la estima sobre la ocupacin o no


si
de una zona del entorno del robot. Al igual que en el caso anterior debe ser

u
u
Capitulo 6. Resultados Experimentales 269

incluido en la iniciaiizacin del modelo probabilistico de los sensores a travs de un


archivo ASCII en un formato especificado.
La utilizacin de un mapa del entorno, en caso de que exista, puede ser
tratado de dos formas diferentes segn elija el usuario: (1) como un sensor ms que
indica la ocupacin o no de una celda y con una incertidumbre asociada
correspondiente a la escala, fiabilidad o precisin . o (2), como una informacin a

priori. En nuestro ejemplo se utiliza el mapa como informacin a priori para


resaltar el funcionamiento de los otros sensores.
Para mostrar el funcionamiento del sistema implementado en el Captulo 5
ante diversas situaciones y tareas del robot se realizan una serie de simulaciones en
la seccin 6.2. En esta seccin se muestra la facilidad con la que se puede
modificar el algoritmo de planificacin o el comportamiento del robot para probar
distintas tcnicas de navegacin. Por ejemplo, en la seccin 6.2.1 se presentan
ejemplos de distintos objetivos de un planificador como son, alcanzar un destino
por el camino mnimo, exploracin de entornos desconocidos, construccin de
mapas, etc.; y, en la seccin 6.2.2 se presentan ejemplos de la actuacin reactivadel
sistema como es la esquiva de obstculos imprevistos o la deteccin de objetos en
movimiento.
En la seccin 6.3 se describe un robot real, sus sensores disponibles y sus
restricciones ftsicas. Con l se muestra cmo el sistema se adapta a un robot real y
se realizan dos pruebas en distintos entornos en interiores (un entorno conocido y
otro desconocido> para mostrar el correcto funcionamiento del sistema diseado.
a
270 6.2. Simulacin del sistema implementado

6.2. Simulacin del sistema implementado si


La simulacin del sistema desarrollado permite mostrar cmo acta el robot y a
el sistema de fusin ante la informacin de los sensores y ante las distintas
frecuencias de actualizacin y medidas de cada sensor (para sintonizar el sistema a
de integracin multisensorial), estudiar el comportamiento del robot ante distintos
algoritmos como exploracin o construccin de mapas u observar su respuesta ante

la aparicin de objetos imprevistos en la trayectoria (navegacin reactiva).


a
Para simular los ultrasonidos se utiliza un modelo de los sensores semejante
al desarrollado por Leonard para sonar [Leonard 90; Leonard 92] Las torretas de
.

ultrasonidos son simuladas de forma semejante a los cinturones de ultrasonidos,


u
pero se debe simular el giro de las torretas para apuntar al objeto de inters.
Las simulaciones de este captulo se dividen en dos grandes grupos: a
Utilizacin del robot para exploracin y construccin de mapas,
muestra cmo la arquitectura desarrollada permite adaptar al

robot para su utilizacin en distintas situaciones. Las


Ud
modificaciones necesarias estn muy localizadas y no afectan al

resto de tareas del robot.


~2
Navegacin reactiva, muestra cmo el robot reacciona ante

eventos imprevistos de manera adecuada. As, se presentan dos
ejemplos la esquiva de un obstculo imprevisto en la trayectoria y
si
la deteccin de objetos en movimiento. Este ltimo ejemplo a
tambin pone de manifiesto el funcionamiento del factor de olvido
en los sensores de entorno, u
6.2.1. Utilizacin del robot para exploracin y construccin de mapas si
La utilizacin de robot mviles para estudiar distintas estrategias de
exploracin y de construccin de mapas est muy extendida, entre las u
publicaciones recientes se pueden mencionar [Lee 97; Castellanos 98].
Para utilizar el robot como sistema de exploracin y de construccin de Ud
mapas, nicamente es necesario sustituir el mdulo que calcula el camino global y
el local mediante Dijistra, por otra funcin que calcule un camino adecuado para Ud
realizar la tareas requerida. Por ejemplo, planificador puede generar caminos en
direcciones aleatorias cuando el robot no sepa donde se encuentra o seguir paredes a
a
a
Captulo & Resultados Experimentales 271

u objetos dejndolos a un lado determinado del robot (por la derecha o por la


izquierda).
Para ello simplemente se sustituye la rutina calculo_cam_local() y
calculo_cam.global<) por unas nuevas rutinas que generen caminos
adecuadamente segn los deseos del usuano.

En la figura 6-1 se muestra cmo se comporta el robot para el caso de


construccin de mapas, es decir, no tiene un mapa inicial. El reconocimiento de
entorno en este caso ha sido mediante un recorrido siguiendo paredes, pero podra
pedirse al robot que vagase libremente o fuese de un sitio a otro determinado.

Figura 6-1. Reconocimiento de entorno y construccin de mapas.

La figura 6-1 presenta la pantalla de la computadora que controla el robot


(generada por el actor display). En ella se muestran una serie de datos referentes a
la evolucin del robot, se distinguen varias zonas:

A. Mapa Global. Presenta el mapa completo por el que se mueve el robot (si
se dispone de l). En ste se representa la informacin correspondiente a
la creencia del estado de cada celda obtenida mediante fusin (creencia
global>. La probabilidad de ocupacin se representa con diferentes
colores.
a
272 6.2. Simulacin del sistema implemeutado

Tambin se distinguen la zona utilizada para el mapa local;el circulo de


a
seguridad, la posicin del robot en cada instante y los puntos de consigna

dados por el Navegante al Control de motores.


u
Mapa local. Representa una ampliacin de la zona prxima al entorno del
B.
si
robot (de tamao 2.5x2.5 m.). Aqu se representa el quadtree utilizado
por el robot y el camino local que sigue. si
C. Informacin sobre estado del robot. Esta informacin incluye el estado
del robot (x, y. 9), la velocidad del robot y el estado en el que se

encuentran las tareas principales.


a
D. Informacin sobre el sistema. Indica la carga de la CPU, el tiempo de

simulacin y estados del robot (objetivo realizado, errores, etc.).


a
6.2.2 Navegacin reactiva

Aunque la arquitectura de control es centralizada y el Navegante debe enviar


los puntos de consigua al Control, se debe dotar al robot de mecanismos de Ud
seguridad ante fallos del sistema y de la capacidad de reaccionar ante imprevistos. si
Para mantener una cierta seguridad frente a fallos del sistema y en concreto
frente a fallos del Navegante se debe asegurar que el robot no quedar a la deriva,
esto es, en caso de que falle y deje de funcionar el sistema de Control quedada a la u
espera de las consiguas del Navegante y continuara movindose indefinidamente
con el consiguiente peligro. Para evitar este problema, en caso de falta de consigna a
el Control detendr el robot hasta que le lleguen otras nuevas. Esto evita
problemas de sincronizacin o retrasos debidos a grandes necesidades de clculo, u
dotando al sistema de un mecanismo de seguridad ms. De esta forma si el sistema
no es capaz de trabajar a una velocidad suficiente el robot se mover ms despacio
si
o, en el peor de los casos, con un movimiento intermitente.
La aparicin de obstculos imprevistos es otro inconveniente que debe ser Ud
tenido en cuenta. Ante estos obstculos el robot debe reaccionar con la celeridad
necesaria para evitar la colisin con ellos. Por supuesto siempre existe una zona
donde si aparece un obstculo no podr detenerse, pero esto debera evitarse silos si
sensores funcionan correctamente porque se habra detectado previamente y no se
dara tal caso. Adems de los obstculos reales deben detectarse los obstculos
falsos y no tenerlos en cuenta, como son los falsos ecos y las estelas dejadas por

si
u
a
Captulo 6. Resultados Experimentales 273

obstculos en movimiento. As, tenemos dos problemas principalmente: esquiva de


objetos y deteccin de objetos en movimiento.
Veamos un ejemplo de cada uno de los casos anteriores.

6.2.2.1. Esquiva de objetos


En el caso de que un obstculo aparezca en la trayectoria trazada, se han
incorporado varios sistemas de seguridad para que el robot reaccione ante ese
imprevisto de forma adecuada:

1.- Acelerar el tiempo de respuesta. Si el Planificador global detecta un


obstculo en el crculo de seguridad se lo comunica inmediatamente al Navegante,
sin pasar por el Planificador local, para que compruebe si ese objeto se encuentra
en una posicin peligrosa para la seguridad del robot.
2.- Reduccin de la velocidad ante la proximidad de objetos. Al enviar
primero la informacin al Navegante se puede actuar inmediatamente sobre el
control de motores. As, si se detecta que el objeto obstruye el camino se indica al
control de Motores que disininuya su velocidad hasta parar frente al obstculo si no
se le indica lo contrario.

3.- Clculo de un nuevo camino alternativo. Mientras el robot se aproxima


con cautela el Navegante solicita al Planificador Local que calcule una nueva
trayectoria para evitar el obstculo detectado.
El uso de un quadtree para calcular el camino local permite una velocidad de
calculo alta y responder rpidamente a la aparicin de obstculos con el clculo de
un nuevo camino para esquivarlo. Adems, segn la velocidad que se desee se
puede aumentar el tamao de celda, con lo que se consigue un clculo ms rpido
pero no ser el ms ptimo.
Un ejemplo de la deteccin de un obstculo y de su esquiva puede verse en
el ejemplo mostrado en la figura 6-2. Hay que destacar que el camino global
seguido inicialmente, A, ha sido calculado cuando todava no se haba detectado el
objeto, pero evidentemente no es el seguido ya que hay un obstculo en su
trayectoria. As, se calculan otros dos caniinos globales posteriormente, E y C,
porque el planificador local no es capaz de encontrar un camino local adecuado en
su mapa local. Tambin se muestran ejemplos de caminos locales que finalmente
no se han seguido como a y c. Recordemos que la forma de los objetos cambia a
medida que nos aproximamos a ellos (debido a la precisin de las medidas) y que
274 6.2. Simulacin del sistema implementado

los rodeamos (debido a la perspectiva que los sensores tienen de los objetos) y por
lo tanto el camino local se ir modificando de acorde a esa peicepcin del entorno.

Figura 6-2. Esquiva de un obstculo imprevisto.


Capitulo & Resultados Experimentales 275

6.2.2.2. Deteccin de objetos en movimiento


Uno de los problemas de la utilizacin de mapas de ocupacin es la deteccin
de objetos en movimiento. La mayor dificultad que existe es evitar que quede un
rastro del paso del objeto, es decir, que las celdas que se han visto ocupadas
permanezcan ocupadas y el robot tengauna estima del entorno que es falsa.

En nuestro caso, la deteccin de objetos en movimiento es posible debido a


la actualizacin dinmica del entorno por parte de los sensores y del sistema de
fusin. El mecanismo es semejante a la deteccin de un obstculo inmvil, pero se
evita la existencia del rastro del objeto (como se indic en el Capitulo 4) gracias a la
existencia del factor de olvido. Se debe tener en cuenta que para un detenninado
factor de olvido, si el objeto es demasiado rpido no podr ser detectado.
Para mostrar un ejemplo del funcionamiento del factor de olvido frente a un
objeto en movimiento supongamos que el objeto est parado en una posicin
inicial y antes de comenzar a moverse detecta un objeto que se mueve en la zona
de seguridad del robot. Como puede verse en los mapas locales (quadtree) de la
figura 6-3, el robot tiene intencin de andar en lnea recta pero como el objeto
aparece por la derecha del robot y se cruza en el camino debe calcular un nuevo
camino para esquivarlo. En la figura 6-3b se muestra un instante posterior cuando
el objeto se ha desplazado hacia la izquierda y se calcula un nuevo camino, esta vez
por el lado derecho. Finalmente, figura 6-3c, el objeto se aparta de la trayectoria
que quera seguir el robot y ste calcula de nuevo un camino en lnea recta.

a) b) c)
Figura 6-3. Distintos mapas locales en la observacin de un objeto en movimiento.

En la figura 6-4 se muestra como ha quedado el entorno del robot en el


momento en el que se vuelve a obtener el camino deseado y puede comenzar el
robot.a trabajar normalmente. Destacar que aunque parece que queda un rastro
del objeto. Este rastro no es tal, puesto que no se considera que la zona est
a
u
276 6.2. Simulacin delsistema implernentado a
ocupada (su valor es aproximadamente 0,5) sino que tardar ms tiempo en
olvidarse completamente (puede verse que el rastro inicial prcticamente ya no
u
est) ya que el valor inicial de esas celdas era de 02 debido a la informacin a
priori al trabajar con un mapa inicial. si
a
si
u
si
u
si
Figura 6-4. Observacin de un objeto en movimiento. si
a
u
a
u
a
si
si
si
si
Captulo & Resultados Experimentales 277

6.3. Resultados en pruebas reales


La utilizacin de un robot real nos enfrenta ha dificultades que no se han
previsto en simulacin, como por ejemplo la necesidad de respuesta en tiempo
real, el ruido e incertidumbre en los sensores que es necesario calibrar, la sintonia
del sistema de fusin de entorno para adecuarlo a la velocidad del robot y a la
precisin de los sensores y otros muchos pequeos detalles que hacen de cada
robot mvil un sistema particular.
Pero a dems de mostrar cmo adaptar el sistema de fusin y la arquitectura
de control a un problema real, las pruebas con un robot real permiten corroborar
las propiedades y caractersticas definidas en los captulos y mostradas mediante
simulaciones. Por ejemplo, su robustez frente a fallos de los sensores, la fusin de
medidas para mejorar la estima final o la adaptacin del sistema de control para
utilizar el mismo robot para distintas aplicaciones.

6.3.1. Adaptacin de un sistema real

El robot utilizado para mostrar la efectividad del diseo efectuado ha sido


construido en la Universidad de Castilla la Mancha en Ciudad Real. En su
construccin han colaborado investigadores de la Escuela Superior de Informtica,
en concreto del departamento de Ingeniera Elctrica y Electrnica, del
departamento de Informtica y del departamento de Fsica Aplicada.
El robot utiliza distintos sensores, vase la figura 6-5. En el Apndice C se
puede encontrar una descripcin tcnica de estos sensores, que son utilizados para
obtener la siguiente informacin:

Odmetros, que obtienen el desplazamiento relativo realizado por el


robot.
Dinamo, que permite obtener directamente la velocidad absoluta de las
medas.

Sistema de balizas, que consta de dos receptores de balizas situados en la


parte superior del robot y a ambos lados. Los emisores de balizas se
colocan en zonas estratgicas del entorno donde de mover el robot y se
le indica al robot su posicin exacta por medio de un archivo de datos.
Tanto los detectores como los emisores de balizas se han construido y
diseado por el equipo de la Universidad de Castilla la Mancha y han sido
a
u
278 6.3. Resultados en pruebas reales a
implementados con ultrasomdos. Con ellos se puede obtener su posicin
y orientacin absolutas. u
Br4jula magntica, que permite obtener la orientacin del robot con
respecto al norte magntico, con una precisin de una dcima de grado. a
Cinturn de ultrasonidos, que se encuentra distribuido alrededor del
robot de la siguiente fonna: 7 en la parte frontal, 2 en cada uno de los si
laterales y uno en la parte trasera. Y detctan cualquier objeto alrededor
del robot. a
Torretas de ultrasonidos, que consta de dos torretas de ultrasonidos
orientables en cualquier direccin entre O y 360 grados. Una torreta se

encuentra en el frontal del robot y la otra en la parte trasera y funcionan


a
mdependientemente. Aunque estn diseadas para relizar percepcin
trianral, en estos momentos se utilizan para reforzar la percepcin de los
a
ultrasonidos en la localizacin de obstculos. Su funcionamiento es
equivalente a visin estereoscpica, pero basada en ultrasonidos, u
Todos estos sensores se clasifican dentro de uno de los grupos descritos en el
Captulo 2, sensores de estado o sensores de entorno, y se utilizan en los sistemas a
de fusin correspondientes al tipo de informacin que proporcionan:

(1) Sensores de estado: odmetros, dinamo, balizas artificiales y brjula u


magntica.

(2) Sensores de entorno: inturn de ultrasonidos y torretas de ultrasonidos, a


si
u
u
a
si
a
u
Captulo 6. Resultados Experimentales 279

Receptores de
balizas artificiales
Brujula
magntica

.~Torreta de
ultrasonidos

4 Cinturn de
ultrasonidos

Figura 6-5. Sistema sensorial del robot mvil.

Para trabajar con estos sensores es necesario construir ciertas rutinas que
permitan su manejo. Estas rutinas son propias de cada tipo de sensor y es lo que
cada usuario debe definir del sistema de fusin y control del robot. Estas fuhciones
son,
- Funciones de alto nivel. Corresponden a la redefinicin de la
funcin Vectinfo() y de la funcin EstadnFuncion<) indicadas en el
Captulo 2. La funcin Vectjnfo() se utiliza para tratar la
infonnacin procedente del sensor de bajo nivel y construir el vector
de estado (o de entorno) que es necesario enviar al sistema de
fusin. Sus funciones son sincronismo, conversin de unidades,
asociacin de datos, etc. La funcin EstadoFunciono se ocupa del
comportamiento de cada sensor: se encarga de recibir rdenes para
variar la actuacin del sensor de bajo nivel y para indicar el estado de
un sensor determinado.
a
u
280 6.3: Resltados en pruebas reales a
- Funciones de bajo nivel. Corresponden a las funciones prximas al
sensor y se encargan de la lectura y control de los sensores

propiamente dichos. Estas funciones, corresponden con leer_dato<)


si
mostrada en el Captulo 2, son implementadas por quienes conozcan
el funcionamiento interno de cada sensor. En este caso han sido
diseadas por investigadores del departamento de Informtica y de
si
Ingeniera Elctrica y Electrnica de la Universidad de Castilla la u
Mancha en Ciudad Real. El diseo e implementacin de todas las
rutinas necesarias ha sido en C++ utilizando RTKerkel, sistema Ud
operativo en Tiempo Real, y de forma que permitan un uso abierto
de los sensores para que puedan utilizarse en cualquier

configuracin que se desee.


u
La funcin vect infoO de cada sensor es diferente, por ejemplo en el sensor

de la baliza artificial se encarga calcular las distancias de cada detector a los


Ud
emisores y a partir de ellas calcular la posici y orientacin del robot, primero en

el sistema de coordenadas de las balizas y posteriormente en el sistema de


u
coordenadas global. Otro tipo de tratamiento es el que realiza la funcin
vectinfo() del cinturn de ultrasonidos, transfonna la deteccin de cada sensor del Ud
sistema de coordenadas del robt al sistema global y traduce cada observacin en
las celdas adecuadas. Adems indica una certeza en la observacin dependiendo de Ud
una funcin que puede definir el usuario a partir de la informacin medida como
puede ser la separacin del eje, amplitud de la onda recibida, etc. a
En cuanto a la funcin EstadoFuncinO, tambin ser distinta dependiendo
de las rdenes que cada nodo de fusin necesita dar al nodo sensor y que ste Ud
transmite de forma adecuada al sensor fisico. Pueden ser rdenes sencillas como
Medir (como ocurre en el caso de la brjula magntica o los encoders) o ms

complejas como modo de funcionamiento que se utiliza para cambiar la potencia


si
de emisin del cinturn de ultrasonidos y variar su alcance (en estos ejemplos se
utiliza un
deben observar
rango de
el 40
entorno
500 (slo
cm.) olos
modo
delanteros,
de observacin
un muestreo
que indica
circular,
qualternado,
sensores u
etc.) dependiendo de qu interese en cada momento. La funcin EstadoFuncin<) Ud
de la torreta, por ejemplo, recibe otro tipo de rdenes como es resetear la
torreta, para eliminar errores en el giro, o giro para apuntar en una direccin
si
determinada.

si
si
Ud
Capitulo 6. Resultados Experimentales 281

Finalmente, para configurar el sistema de fusin para que trabaje


correctamente con los sensores disponibles, adems de implementar las rutinas
para la lectura y control de cada uno de los sensores disponibles, es necesario
estudiar el ruido de las medidas y crear nuestro modelo de sensor y el modelo de
entorno.
Por ejemplo, para los sensores de estado es necesario definir la matriz de
ruido del sensor, El, la matriz de estado, Q, en la tabla 6-1.

Ruido del sensor Brjula magntica Balizas artificiales Odmetros

a >~ e y e x > e

Matz de Estado - - 0.0175 0.02 0.02 0.05 0.02 0.02 0.05

Q 0.1 0.1 0.01 0.15 0.15 1.0 0.15 0.15 1.0

Tabla 6-1. Ruido de estados y de medida para los sensores de posicin

Por otro lado, en la tabla 6-2 se indica el periodo de medida de los sensores
fisicos y el periodo de actualizacin del estado por parte de cada uno de los
sensores lgicos de estado, as como el periodo de medida y de olvido para los
sensores de entorno. Todo ello seleccionado por el usuario para obtener un
comportamiento concreto.

Tmedida (seg.) Tactualizacin/tolvido (seg.)

Brujula magnetica 1 1 -

Balizas artificiales 1.5 10 -

Odmetros 0.25 0.5 -

Cinturn de ultrasomdos 1 - 10

Torretas de ultrasonidos 0.6 - 20

Tabla 6-2. Periodos de medida, de actualizacin y de olvido de los sensores

Conviene sealar, tambin, que se generan seales de control sobre los


motores cada 0.5 segundos y que los sensores de posicin envan una estima al
u
u
282 6.3. Resultados en pruebas reales a
nodo de fusin cada 0.5 segundos de forma que el robot dispone de una medida
actualizada de posicin cada 0.5 segundo. u
Para definir nuestro modelo de entorno es necesario indicar el tamao de la
celda en el mapa de entorno y el tipo de informacin que frecen los sensores. El a
tamao de celda elegido es de 10 cm. y la informacin que se utiliza para fusin es
la creencia en la existencia o no de un objeto. u
Por ltimo, para comprender globalmente el funcionamiento del sistema se
ha construido un diagrama de tiempos, vase la figura w donde se muestra el

periodo de actuacin de cada tarea y un ejemplo de las seales que intercambian.


u
Por claridad no se muestran todas, sino slo un ejemplo de cada una de las ms
significativas, Ud
Ud
u
u
Ud
si
a
si
u
a
a
a
u
u
Capitulo 6. Resultados Experimentales 283

o
.0
o
<-4
4>
1 -
-s -
- 4>
a
E 1-
-
o
1
- E -
- 4>
u,
4>.
<-4
E
.9
a
-o
19
1
1
o O
-v - o
25 ~ tU
a
E -
-1-
a
a ~ E
E- E
E>
4 4- E-
---.4
4--.
4. -4--,
El .0 5 o
= = a a .0
CI
O
,
.0
LE
,
.0
e
.0

1 .0
C

o
.~
a
Vj
ne
a (U

E
o,
E>
E
e
8
Li

.0
C
~.0
E

<u
.0
C

<E
.0 0>1 >
u
u
284 6.3. Resultados en pruebas reales

Una vez definido el sistema sensorial, su control y su comportamiento, a -a


continuacin se presenta cmo se comporta el robot y su sistema sensorial en
diversos experiencias reales. u
6.3.2. Movimiento en un entorno conocido u
El movimiento del robot se realiza en el entorno mostrado en la figura 6-7.
Aqu puede ver la posicin de los emisores de balizas artificiales y el alcance que u
tienen.
a
7.

si
a
u
a
a
a
Figura 6-7. Mapa del entorno de pruebas.
a
En la figura 6-7 se han incluido dos obstculos que no se encuentran en el
mapa disponible por el robot y que utiliza como informacin a priori en su mapa a
de ocupacin.
En la prueba realizada el robot se mueve desde el punto (1) hasta el (2), pero u
en su camino se encontrar el obstculo que no estaba incluido en el mapa, lo
esquiva y alcanza su destino marcado. El recorrido realizado puede verse en la
figura 6-8, en ella se muestra tambin el mapa de ocupacin cuando ha realizado-el
a
recorrido. Aqu se pueden destacar los dos objetos que no aparecan en el mapa a
priori del robot.
Ud
Ud
u
u
Captulo & Resultados Experimentales 285

16
14
12
lo
6
6

2 4 6 8 10

Figura 6-8. Trayectoria seguida por el robot

6.3.2.1 Funcionamiento de los sensores


El recorrido de la figura 6-8 permite mostrar la posicin y orientacin que
cada uno de los sensores lgicos obtiene a partir de las medidas tomadas por sus
sensores fsicos. En la figura 6-9 puede verse que la posicin que obtienen a partir
de las observaciones de sus sensores no es siempre el mismo, debido a errores,
ruidos, prdidas de datos, etc. Adems, no todos los sensores lgicos pueden
calcular las mismas variables de estado, por ejemplo en figura 6-9a slo se muestra
la posicin calculada por el sensor S2 (balizas artificiales) y 53 (odmetros), puesto
que la brjula magntica no puede obtener la posicin a partir de la informacin
de su sensor.

Posicin: 52-Sa Orientacin: 81-52-SS


1 400

350

300
250
(0 4,

200
E o>
160
100
50
5.5 e0
6.5 lOO 200 300 400 500 600
metros tiempo
a> Posicin b) Orientacin
a
u
286 6.3. Resultados en pruebas reales a
Figura 6-9. Posicin y orientacin obtenida de los sensores fsicos
(Si, brujula magntica; S2, l)aliyas artificiales; SS, odometros) Ud
En figura 6-10, se muestran las estimas del estado del robot, para cada uno
de los sensores de estado. En este caso si que todos los sensores (nodos de fusin)
a
son capaces de estimar el estado final del robot, que- posteriormente enviarn al
nodo de fusin para que lo comunique a las dems tareas del robot. Ud
posicin estimada de S1-S2-SS Orientacin estimada de 81-82-Sa Ud
9

7
u
(0 o
o oo
(U
o>

E Ud
a
24 5 metros
6 7 8 0 100 200 tiempo
300 400 500 600 u
a) Posicin b) Orientacin
Figura 6-10. Posicin y orientacin obtenida en el sistema de fusin de estado a
(Si, brujula magntica; S2, balizas artificiales; SS, odometros) a
En las figuras 6-lOa y 6-lOb se puede observar como la estima de cada uno
de los sensores, debido a que intercambian informacin entre ellos, es
prcticamente la misma. Slo en algunas ocasiones, debido a fallo de los sensores, a
Ud
no validaciones de los datos externos o a errores en la comunicacin entre nodos, Ud
se producen divergencias en las estimas, pero son corregidas en cuanto se
normaliza la situacin. La causa de las diferencias entre las estimas se describe con

ms detenimiento en la seccin siguiente.


Ud
6.3.2.2. Robustez frente a fallos de los sensores Ud
Esta experiencia peFmite mostrar la robustez del sistema de fusin frnte a
errores de los sensores. Estos errores producen divergencias en las estimas del Ud
estado del robot, como puede verse en la figura 6-10. Esto tambin puede verse
con ms claridad en la varianza del nodo de Kalman correspondiente al sensor de Ud
las balizas artificiales. Como puede verse en la figura 6-11, su varianza aumenta
debido a que asimila informacin (estimas) de los dems nodos de Kalman (debido
Ud
a problemas en la comunicacin entre procesos) y no puede obtener informacin

a
Ud
Captulo 6. Resultados Experimentales 287

de sus sensores. Esto es debido a que el robot pierde la seal de las balizas debido
a que uno de los emisores queda oculto por uno de obstculos. Sin embargo, a
pesar de este inconveniente, se puede observar que el robot sigue funcionando
correctamente gracias a la informacin redundante que ofrecan los encoders y la
brjula magntica.

Varianza Sensor 2
1 o5
100

1
sO 100 200 300 400 500 600
10

100

10~~
0 100 200 300 400 500 600

100

1
0 100 200 300 400 500 600
tiempo
Figura 6-11. Varianza de tas balizas artificiales (S2).

6.3.3. Movimiento en un entorno desconocido

El movimiento del robot en un entorno desconocido nos muestra la


capacidad del mvil para desenvolverse sin ningn tipo de informacin a priori. En
este caso se realizan dos pruebas una para alcanzar un objetivo determinado y otra
para construir un ffiapa de entorno.

6.3.3.1. Funcionamiento de os sensores de entorno


En la figura 6-12, se puede ver el recorrido del robot para alcanzar un
objetivo determinado (del punto (1) al punto (2) sealado en la figura 6-7). En esta
figura se han incluido los objetos detectados por los sensores de entorno, con
crculos se representan las observaciones del cinturn de ultrasonidos y con
asteriscos las correspondientes a ambas torretas. Como puede verse, existen
algunas medidas espurias que no afectan al movimiento del robot, puesto que son
Ud
u
288 63. Resultados en pruebas reales

eliminadas gracias al factor de olvido. Indicar aqu que las torretas funcionan a
apuntando al objeto ms cercano al robot para reforzar la medida del cinturn de
ultra~nidos ya que puede ser un objeto potencialmente peligroso. En este caso al Ud
no existir obstculos, apuntan a las paredes.
Ud
14

12-
o a
10- Ud
Y- O
8
O Ud
6- 0

4,
Ud

2 Ud
o
o 2 4 6 a 10 Ud
Figura 6-12. Recorrido del robot y observaciones realizadas por los sensores de entorno
(o, cinturn de ultrasonidos; * torretas>
si
La figura 6-12 se muestran todas las medidas realizadas por los sensores de Ud
entorno (cinturn de ultrasonidos y torretas) y que son utilizadas para construir el
mapa de ocupacin a partir de la fusin de estas. El mapa de ocupacin resultante
puede verse en la figura 6-13 donde se puede destacar la eliminacin, mediante la
u
utilizacin de un factor de olvido, de las medidas que obstruan el camino del robot
(debido a ecos errneos). La figura 6-13a muestra el mapa de ocupacin resultante,
Ud
donde se sealan todas las celdas cuya creencia sea superior a la incertidumbre
(0.5) aunque realmente no se consideren ocupadas para el robot. En esta figura se
Ud
ha dibujado tambin el mapa real para que se observe la correspondencia entre la
estima y el entorno real. En la figura 6-13b se muestran slo las celdas que son a
consideradas ocupadas (su valor de creencia supera el 0.64). El valor considerado
como ocupado es seleccionado por el usuario y totalmente experimental. a
a
si
u
Captulo 6. Resultados Experimentales 289

1 le
14 14

12] 12

10 10

&
8

6
-

1
9
1
-

4 4

21 2 1

2 4 6 8 10 2 4 6 8 10

a> Mapa realy mapa de ocupacin b) Celdas consideradas como ocupadas


Figura 6-13. Mapa de ocupacin obtenido

6.3.3.2. Utilizacin del robot en construccin de mapas


Para crear un mapa del entorno del robot es necesario modificar el factor de
olvido para que olvide ms lentamente. Esto es debido fundamentalmente a que el
movimiento del robot es muy lento (velocidad mxima 0.1 m/s) y hay muy pocos
sensores por la parte trasera del robot, por lo que si olvida demasiado rpido no
quedarn celdas consideradas como ocupadas para reconstruir el entorno. Esto no
importaba en el caso anterior porque lo ms importante es detectar los objetos en
su camino (objetos en la parte delantera) y olvidar la informacin que se ha pasado
no es ningn inconveniente.
Ud
u
290 6.3. Resultados en pruebas reales
Ud
Mm,,,
u mm,,, Ud
ji ,jj,

Ud
ji
1. ~ 1 Ii ~ii1 l~ u.U
4
Ud
ji
1 ~

-~
~ri~iIII1uI

~-~hii X Ccna
SSS
.eI...izq
Y (en.>
207
ori(1>
129
a
t~ II LI
____________
velder <nts>
0.06 0.00

11flU: ~E11SAJE30S
PLflHLOC: NUEVAYOS 101011
Ud
PLAN OLOR: ~UEV&J1ED DAS
~OTC0N: NUEUA.POSICIORSED
DAVES:rus1011 <ULT> Ud
CARGA CPU: 2.5 TIEMPO: 395.04

Ud
Figura 6-14. Exploracin para construccin de mapas.
a
El algoritmo utilizado por el planificador de caminos es el preparado para
exploracin y ya ha sido comentado en la seccin 6.2.1. En la figura 6-14 se puede
observar que el robot se aproxima a la pared detectada y la sigue para construir un
a
mapa del entorno que le rodea. En robot no utiliza ningn mapa a priori.
a
16 Ud
14
12
10
u
8
6
Ud
4

2
Ud
2 4 6 8 10 Ud
Figura 6-15. Mapa del entorno
a
u
u
Capitulo 6. Resultados Experimentales 291

El mapa obtenido despus del recorrido del robot es el mostrado en la figura


6-15. En este se ha mostrado tambin el recorrido del robot. Conviene indicar que
el robot realiza un recorrido bastante separado de la pared por motivos de
seguridad y para evitar la zona muerta del cinturn de ultrasonidos. La zona
muerta en este caso es de 0.6 m, debido a que se utiliza un rango de medida de los
sensores preparado para detectar objetos a grandes distancias (0.65 m.).
Ud
292 64 Resultados del capitulo

6.4. Resultados del captulo - a


En este Captulo se han aplicado todos los conocimientos expuestos en esta Ud
Tesis, se ha utilizado el sistema de fusin multisensorial, para localizar al robot y
para detectar obstculos, y la arquitectura desarrollada, expresamente para utilizar Ud
con facilidad el sistema sensorial en diversos robots mviles.

Como se puede ver a lo largo del Captulo, el funcionamiento del sistema de Ud


fusin es muy robusto y fcil de configurar a gusto del usuario o para adaptarse a
un entorno cambiante, para realizar distintas tareas o simplemente cuando las Ud
necesidades de la situacin lo requieran.
El nico problema que surge en este Captulo es poner de manifiesto todas Ud
las caractersticas enunciadas en captulos anteriores, sobre todo en una nica
experiencia. Esto lleva a mostrar diversas pruebas para destacar los aspectos mas

importantes y representar grficamente en cada una de ellas slo la informacin


a
que permite poner de manifiesto las caractersticas que se pretenden destacar. Sin
embargo, no se debe olvidar que en cada una de las experiencias estn colaborando
para su consecucin un enorme nmero de tareas y que se debe tener en cuenta
u
una gran cantidad de variables, pero seda imposible presentarlas todos los Ud
resultados en cada una de las experiencias.

Por ltimo destacar que en las pruebas reales, los algoritmos de control de las Ud
ruedas y el planificador de caminos utilizan unos algoritmos muy sencillos puesto
que no nos hemos centrado en estos aspectos del problema de un robot mvil, sino Ud
en la integracin y fusin de mltiples sensores y en la construccin de un sistema
fcilmente paralelizable, adaptable a cualquier tipo de sensor e independiente del

nmero de sensores utilizados. Lo que se pone claramente de manifiesto en todas


Ud
los ejemplos mostrados, tanto en las simulaciones como en las pruebas con el robot
Ud
real.

u
Ud
Ud
a
u
Ud
Conclusiones

Conclusiones y resultados
La investigacin realizada en esta tesis se ha centrado en dos objetivos
principales:
1. Desarrollo e implementacin de un sistema de integracin y fusin
multisensorial para vehculos mviles terrestres autnomos. Se ha
realizado un diseo abierto que sea independiente del nmero y del
tipo de sensores utilizados (dentro de una amplia variedad de
sensores). Adems, teniendo en cuenta que puede ser utilizado en
sistemas de tiempo real con fuertes restricciones en el tiempo de
respuesta, se han escogido aquellas tcnicas ms convenientes para
trabajar de forma distribuida y asncrona.

2. Se ha diseado e implementado una arquitectura de control en


tiempo real orientada a objetos que permita desarrollar todas las
capacidades del sistema de fusin. Siguiendo la misma lnea de
trabajo mantenida en el d iseo del sistema de fusin, se ha buscado
una arquitectura abierta que pueda ser adaptada en diferentes robots
mviles autnomos. Con ella se prueban distintos algoritmos y tipos
de sensores sin necesidad de utilizar otra arquitectura de control y
siempre con el mismo sistema de fusin. As, se prueban distintas
configuraciones de los sensores y se aplican para realizar distintas
tareas con slo configurar el sistema.
Para conseguir cada uno de estos objetivos se han realizado los siguientes
trabajos:

293
J

Sistema de integracin y fusin multisensorial Conclusiones

A. Desarrollo de un sensor lgico mediante la metodologa orientada a objetos, que J


permita la abstraccin de os sensores fYsicos por parte del sistema de fusin
multisensorial. J
El estudio de la amplia variedad de mtodos de integracin y fusin
multisensorial y su infinidad de aplicaciones, implican que no sea factible

la realizacin de un mtodo universal y eficaz de fusin de sensores. En


J
muchos casos los sistemas sensoriales creados exprofeso para una
aplicacin determinada son ms eficaces que uno general, pero tienen
como inconveniente que su utilizacin es muy restringida. Por este motivo
J
se siguen buscando sistemas de fusin que permitan configurarse para J
trabajar con un amplio conjunto de problemas, utilizar una ampli
variedad de sensores y extender su funcionalidad a otras muchas reas y J
aplicaciones.
Puesto que no es factible la creacin de un sistema universal de fusin,
se debe restringir su aplicacin a un conjunto de problemas. El rea
escogida, debido a su gran variedad de sensores y algoritmos aplicables, es J
la de robas mviles autnomos. As, se busca un sistema de integracin y
fusin multisensorial que sea independiente del tipo y nmero de sensores

utilizados. Para ello, el primer paso es hacer una abstraccin de stos con
J
el fin de separar las tcnicas utilizadas de la amplia variedad de
dispositivos existentes. Esta abstraccin da lugar al sensor lgico.

Cuanto ms general y ms verstil sea el sensor lgico, ms potente es


el sistema de fusin. Por ello, despus de estudiar los diferentes tipos de
disponibles, se e ha dotado de las capacidades necesarias para
J
tratar con los distintos dispositivos sin que el sistema se vea afectado por el J
cambio de stos, es decir, de sensores lgicos. Para su descripcin y
desarrollo se utiliza la metodologa orientada a objetos. J
E. Utilizacin de un filtro de Kalman extendido y distribuido para la realizar fusin
asncrona de medidas de estado (vectores de estado y medidas cuantitativas) de J
distintos sensores, independientemente de su tipo y nmero.

Las medidas cuantitativas de sensores que permiten conocer el estado J


del mvil se fusionan mediante un filtro de Kalman, obteniendo as una
estima del estado mucho ms precisa que con las medidas independientes.
Conclusiones 295

Se escoge un filtro de Kalman extendido debido a que la m4yora de las


aplicaciones utilizan un modelo no lineal.

Pero, en esta Tesis se persigue que el sistema de fusin que se obtenga


sea robusto, paralelizable, asncrono e independiente del nmero de
sensores utilizados. Para ello se adaptan las ecuaciones para que se
cumplan estas restricciones. Se utiliza un filtro distribuido que es
fcilmente paralelizable y capaz de trabajar con sensores distribuidos
geogrficamente si el sistema lo requiriese. Adems, se adaptan sus
ecuaciones para permitir un funcionamiento asncrono de los sensores, de
forma que se consigue transformar un comportamiento asncrono de los
sensores en una fusin sncrona que puede ser utilizada en todo sistema.
Tambin se ha tenido en cuenta que sea robusto ante fallos y
comportamientos ainmalos de los sensores mediante distintos test sobre
las estimas obtenidas. Todo ello ha sido probado en diversas situaciones,
observando que funciona correctamente tanto asncronamente como ante
el fallo o supresin de sensores.

C. Utilizacin de las redes bayesianas como tcnica de fusin de medidas de entorno


(vectores de caractersticas y medidas cualitativas). Diseo de un mtodo de
fusin mediante redes bayesianas y utilizacin de redes bayesianas dinmicas para
dotar al sistema de un comportamiento temporal.
La fusin de las medidas de entorno tiene los mismos requerimientos
que las de estado, pero debido a su naturaleza cualitativa, su tipo
incertidumbre y la dificultad de disponer de modelos fisicos que las
describan, hace que un filtro de Kalman no sea un mtodo factible. Por
ello se buscan otros mtodos de fusin para las medidas cualitativas
basados en mtodos probabilsticos, heursticos o en mtodos basados en
inteligencia artificial.

En esta Tesis se han utilizado redes bayesianas porque tienen una serie
de propiedades que las hacen muy adecuadas para su utilizacin en un
sistema verstil y general: (1) su configuracin sencilla y directa, que abre
posibilidad de la utilizacin de mtodos grficos para su descripcin y
configuracin; (2) el uso de sensores distribuidos y la estructuracin del
sistema en capas; (3) la natural adaptacin del sistema para su
implementacin paralela; y (4) la utilizacin de sensores de forma
J
296 Conclsiones

asncrona, ya que la informacin se fusiona en el momento que est


disponible.
Pero, como en todo mtodo de fusin, se deben tener en cuenta
aspectos temporales que tngan en cuenta la evolucin tanto del entorno
como del propio sistema. Por ello se ha diseado el sistema de fusin de
medidas de entorno con redes bayesianas dinmicas que dotan al mtodo
de fusin de un comportamiento dinmico.

Como ejemplo de su utilizacin, versatilidad y fcil configuracion se


han escogido los mapa~ de creencia, donde se ha destacado su
funcionamiento como sistema de fusin y su comportamiento temporal.

2.- Arquitectura de controJ en tiempo real

A. Diseo en tiempo real de una arquitectura de control para un robot mvil


autnomo terrestre utilizando la metodologa orientada a objetos.

Se ha propuesto una arquitectura de control abierta, que permita


mostrar el comportamiento del sistema de integracin y fusin sensorial
diseado. Siguiendo con la misma filosofla del sistema sensorial, se
persigue su uso en diversos robot mviles autnomos de una forma
inmediata o con slo unas modificaciones sencillas en las tareas necesarias
(incluso pueden insertarse otras nuevas).

Se ha realizado una especificacin y diseo muy claro y sencillo,


aunque formal. Estas propiedades se obtienen directamente si se utiliza
una metodologa orientada objetos. Por ello se utiliza el lenguaje de
especificacin orientado a objetos en tiempo real (BOOM). La
especificacin mediante ROOM permite que cualquier usuario pueda
adaptar el sistema a las necesidades concretas de su problema, utilizar sus
propios algoritmos o probar nuevas tcnicas de planificacin, control, etc.
De igual forma se puede utilizar el mismo sistema de fusin, incorporado
en esta arquitectura, para probar distintos sensores o para aplicarlo en
diversos robots mviles sin la necesidad de cambiar de sistema de control.
B. Implementacin de la arquitectura de control d4 robot y del sistema de fusin en
un sistema operativo de bajo coste.
En esta Tesis se ha procurado que, adems de la sencillez en la
utilizacin del sistema de fusin, la implementacin de los algoritmos
Conclusiones. 297

desarrollados sea llevada a cabo en sistemas de bajo coste. Para ello se ha


utilizado un PC como plataforma de trabajo y el sistema operativo DOS.
Pero como se necesita un sistema operativo de tiempo real, se ha utilizado
RTKernel que dota de funcionalidad en tiempo real al sistema MS-DOS.
El lenguaje utilizado para la implementacin de todo el sistema es en C y
C++, lo que permite una portabilidad total a cualquier otra plataforma
con slo cambiar la parte que utiliza las rutinas de tiempo real y las
utilizadas para la representacin grfica (nica parte que tiene en cuenta
el sistema fisico utilizado). Esto permite la adaptacin del sistema
sensorial a cualquier robot de laboratorio con muy poco esfuerzo y coste,
dando a su vez una alternativa a los sistemas que implementados en Linux.
C. Demostracin del funcionamiento del sistema de integracin y fusin
multisensorial en un robot real.

El comportamiento del sistema de fusin multisensorial y de la


arquitectura de control propuestos ha sido probado mediante
simulaciones y pruebas reales. Estas experiencias pretenden poner de
manifiesto todas las propiedades buscadas en esta tesis: (1) la utilizacin
de distintos sensores por un robot, sin modificar el sistema implementado;
(2) el funcionamiento distribuido y en paralelo de todas las tareas y
sensores involucrados en el sistema; (3) la versatilidad y sencillez del
sistema de fusin multisensorial para adaptarlo a las propiedades y
cualidades de cada sensor; (4) el funcionamiento asncrono del sistema y
de los sensores; y (5), la facilidad con la que se puede modificar el
comportamiento de las tareas, e incluso de insertar nuevas tareas y
funcionalidades, para que el robot se adapte a un problema particular.
Adems, las pruebas en un robot real muestran los pasos necesarios
para adaptar el sistema a un caso concreto y permiten verificar el
funcionamiento del sistema y comprobar su eficacia ante problemas reales
de mido, errores, restricciones de tiempo duras, etc.
Este trabajo ha contado con la ayuda de diversos investigadores y con el apoyo
de los siguientes Proyectos de Investigacin:
1.- Proyecto 110B89-0103-C02-O1 del Plan Nacional (1989-1992).

Modelizacin, simulacin, calibracin sensorial y navegacin inercial en


sistemas de automatizacin avanzada
J
298 Conclusiones

Director: Prof. D. Sebastian Dormido Becomo.


Este proyecto, en lo referente a esta tesis, ha permitido estdiar sistemas de
posicionamiento de vehculos autnomos terrestres en entornos exteriores. Estos
J
vehculos estn dotados de sistemas de localizacin inerciales (girscopos y
acelermetros) y de ayuda externa mediante sistemas de localizacin, como por
ejemplo posicionamiento mediante satlites (GPS). Esto a permitido investigar sobre
u
sistemas inerciales, filtros de Kalman y sensores d posicionamiento.

2.- Proyecto TAP94-0832-C02-O1 de la CICYT (1994-1997).

Generador automtico de cdigo de control en tiempo real e integracin


u
multisensorial: aplicacin a procesos mecnicos y qumicos
Director: Prof. D. Jess Manuel de la Cruz Garca.

Este proyecto a permitido profundizar en los sistemas de integracin y fusin


multisensorial, centrndose en un robot mvil en entornos interiores (hacia donde a
derivado esta tesis) y en un sistema general de fusin e integracin sensorial. En el se
ha diseado un generador de cdigo en tiempo real cuya filosofa y conocimientos se u
han utilizado en el desarrollo de la arquitectura de control del robot presentada en
esta tesis. u
u
u

u
u
____u_
Conclusiones 299

Valoracin de los resultados y posibles trabajos futuras


En este trabajo se presenta un diseo sencillo d un sistema de integracin y
fusin multisensorial para robot mviles autnomos. En concreto se ha utilizado para
robot en interiores, pero puede utilizarse en otras aplicaciones sin ninguna dificultad.

El sistema se ha implementado en un sistema operativo en tiempo real de bajo


coste, sobre PC y en C y C++. Esto permite su utilizacin en mltiples aplicaciones
robticas de laboratorio que utilicen diversos sensores, as como la prueba y la
evaluacin de la eficacia de distintas configuraciones de sensores.

La experimentacin sobre un robot real ha mostrado la sencillez de su


utilizacin y la facilidad de su adaptacin a cualquier problema, obtenindose
resultados muy satisfactorios ya que se ha comprobado:
1.- La sencillez con la que se adapta y configura el sistema para la
utilizacin de diversos sensores.
2.- La eficacia del sistema para trabajar con procesos distribuidos y con
sensores de forma independiente.
3.- La ventaja que supone disponer de un sistema que permite obtener
buenas precisiones con sensores de bajo coste debido a la posibilidad
de fusionar sus medidas.
4.- La ventaja de integrar distintos sensores para obtener aspectos que
con un nico sensor sera imposible.

Por ltimo, con este trabajo se dispone de una plataforma para futuras
investigaciones en robtica e integracin multisensorial. El sistema de fusin y la
arquitectura de control implementadas asientan la base sobre la que se pueden
disear y probar distintos algoritmos de planificacin, control y fusin entre otras, e
investigar en tcnicas de visin artificial, redes neuronales artificiales, control
mediante lgica difusa, etc.
Esta Tesis engloba muchas reas de investigacin y es imposible abarcarlas a
todas. As, la construccin de los circuitos que manejan el sistema sensorial y el robot,
el software para su manejo, las comunicaciones entre procesos, el uso de sistemas
distribuidos o el control del robot entre otros, implican la colaboracin de distintos
grupos de trabajo. En este caso han participado, adems del grupo del rea de
Ingeniera de Sistemas y Automtica de esta Universidad, investigadores del
j
300 Conclusiones

departamento de Ingeniera Elctrica y Electrnica, del departamento de Informtica


y del departamento de Fsica Aplicada de la Universidad de Castilla la Mancha
investigadores del departamento de Informtica y Automtica de la Universidad
Nacional de Educacin a distancia.
Adems de las posibles investigaciones que pueden realizarse sobre esta
plataforma, esta Tesis deja abierta la posibilidad a futuros trabajos de mxima
actualidad, como:

Utilizacin del sistema de fusin e integracin multisensorial con un robot


mvil en entornos exteriores, en el que las necesidades sensoriales son muy j
importantes y la complejidad de su integracin y fusin aumenta
enormemente.
2
Probar el sistema de fusin en vehculos inerciales que trabajan con sistemas
inerciales y GPS puesto que sus requerimientos de tiempo y precisiones son
completamente distintos.
Inclusin de la teora de decisin y manejo de sensores sobre el sistema de
fusin implementado para determinar qu tipo de sensores son mas
convenientes fusionar en cada caso. Aprovechando en ese caso las redes j
bayesianas para utilizarlas como redes de decisin.
Utilizacin de otros sensores de entorno distintos a los basados en
ultrasonidos, como por ejemplo cmaras para visin estereoscpica o radar
laser. J
En esta tesis se ha apuntado la gran potencia de las redes bayesianas
dinmicas n el campo de la fusin multisensorial. A partir de stas se puede j
llegar a aunar las dos tcnicas de fusin utilizadas en una sola.
Disear con un editor grfico, basado en ROOM, la arquitectura de control 4
del robot propuesta para que sea modificable de forma grfica. Pero aun
llegar ms lejos y extender esta cualidad a la incorporacin o supresin de j
distintos sensores, de forma que se pueda configurar de ffirma grfica el
sistema sensorial disponible y los sensores que se utilizan en cada caso. 4
Utilizar una distribucin de las tareas de control descritas en mltiples
procesadores, lo que permitir algoritmos ms complejos y velocidades del 4
robot ms altas.

4
Conclusiones 301

Todos los trabajos sealados representan campos relacionados con el tema de


esta Tesis en los cuales se investiga y se siguen desarrollando sistemas, teoras y
aplicando nuevas tcnicas actualmente, y marcan muchas de las lneas de trabajo de
nuestro grupo de investigacin.

Publicaciones realizadas
Con motivo del trabajo desarrollado se han publicado los siguientes trabajos:

G. Pajares, J.M. de la Cruz y 1~ A. Lpez-Orozco. Stereo Matching


Using Herbbian Learning. IFEE Trans. on System, Man, and
Cybernetics. Part B. Aceptada para publicacin.

G. Pajares, J.M. de la Cruz y J. A. Lpez-Orozco. Improving


Stereovision Matching Through Supervised Learning. Pattern Analysis
and Applications. Ed. Springer-Verlag. Vol 1, No. 1. Pg. 105-120.
Londres, 1998.
O. Rodrguez Polo, J.M. de la Cruz, J.A. Lpez-Orozco, E. Besada.
Diseo de prcticas de control digital utilizando multi-tarea en tiempo
real y modelado orientado a objetos. XIX Jornadas de Automtica. Pag.
39-43. Madrid. Septiembre, 1998.

J.A. Lpez-Orozco, J.M. de la Cruz, E. Domnguez, E. Besada, O. R.


Polo. An Open Sensing Architecture to Autonamaus Mobile Robots.
Proc, of the JEEE Int. Symposium on Computational Intelligence in
Robotics and Automation (CIBA). ISCI/CIRA/ISAS Joint Conference.
Pg. 610-615. Gaithersburg, MD. Septiembre, 1998.

JA. Lpez-Orozco, J.M. de la Cruz, J. Sanz y J. Flores. Multisensor


Fusion of Enviroment Measures Using iBayesian Networks. Proc. of the
mt. Conf. on Multisource-Multisensor Information Fusion. Pag. 487-
493. Las Vegas, USA. Julio, 1998.

J. A. Lpez-Orozco, J. M. de la Cruz, P. Ruiperez, J. Aranda. Generador


de trayectorias para la simulacin de sistemas de navegacin inercial. II
Congreso de Usuarios de MATLAB (MATLAB96). Madrid.
Septiembre, 1996.
4
302 Conclusiones

J. A. Lpez Orozco, P. Ruiperez, J. Aranda, J. M. de la Cruz, J. M. Prez,


J. Minguez: Simulacin de un sistema GPS en Matlab. 1 Congreso de
4

Usuarios de MATLAB (MATLAB95). Madrid. Septiembre, 1995.
J.A. Lpez Orozco, P. Ruiprez, J.M. de la Cruz, J. Aranda. Modeling 4
and simulation ofnavigation systems: an INS simulation Matlab toolbox.
EUROSIM95. Pags. 607-612. Viena. Septiembre, 1995.

J. Aranda, J.M. de la Cruz, P. Ruiprez, J.A. Lpez Orozco and 5. 4


Dormido. Simulation study of teR-iniques for the self-alignment of a
strapdown inertial navegation system. Proceedings of the Conference 4
on Modelling and Simulation. European Simulation Multiconference.
Pag. 611-615. Barcelona. Junio, 1994. 2
.J. A. Lpez Orozco. Algoritmos para un sistema de navegacin
strapdown. Trabajo de doctorado. Mayo, 1993.

2
2
2
2
4
4

2
4
4
4
u
Bibliografa

Abid 92 MA. Abidi y R.C. Gonzalez The Use of Multisensor Data for Robotio
Applications. IFEE Transactions on Robotie and Automation, Vol. 6, No 2.
1992.

Agapito 93 de Agapito JA., de Agapito L., Schneider M., Garca Rosa E. Y de Pedro T.
Fuzzy logie applied to gas sensors. Sensors and Actuators B, 15-16, Pp. 105-
109, 1993.

Agent 91 Agent, A. The Advantages of Absolute Encodersfor Motion Control. Sensors,


pp. 19-24. Abril 1991.

Alami 98 Alami B., Chatila E., Fleury S., Gballab Xl. y Ingrand F. An Architecturefor
Autonomy. International Jonrual of Robotics Besearch, Vol. 17, No. 4. Abril,
1998.

Alen 87 Alen P.K A Framework for Implementing Multisensor Robotie Task. . Proc.
ASME mt. Comput. Engr. Conf. And Exhibition. New York, 1987.

Almond WWW Russell Almond. Pgina Wed sobre Software de Redes de Creencia.
hup.//bayes.stat.wa9hintong.edu/alnwnd/belief html.

Andersen 89 Andersen K., Olesen KG., Jensen F.V. y Jensen F. HUCIN a shell for
building Bayesian belief universesfor expert systems. Proes. Of the Eleventh
mt. Joint Conference on Artificial Intelligence. Detroit, 1989.

Anderson 79 Anderson B.D.O., Moore J.B. Optimal Filtering. Ed. Prentice-Hall, New
Jersey, 1979.

Antony, 97 Antony, E. T. Database Suppor# to Data Fusion Automation. Proceedings of


tbe IFEE. Vol 85, No. 1. Enero 1997.

Aranda 89 Aranda J. Modelizacin y calibracin de girscopos laser y alineamiento de

303
4
304 Bibliografa
2
sistemas ligados (strapdown). Tesis doctoral. Dpto. Informtica y
Automtica. UNED, 1989. 4
Arkin 87 Arkin, HG. Motor Sehema Based Navigation For a Mobile Robot: A
Approach to Programming by Behavior. Proc. of tbe JEFE International 4
Conference on Roboties and Autornation. PP. 264-271. 1987

Assi 98 Assi Abdel-Azim. Data Fusion for Medical Applications. Proc. of the 4
International Conference on Xlultisource-Multisensor Information Fusion.
FUSION98. Las Vegas, USA. Julio, 1998. 2
Astrom 80 Astrom K.J. Maximum Likelihood ami Prediction Error Methods.
Automtica. Vol. 16, 1980. 2
Aurenbammer 91 Aurenbammer F. Voronoi diagrams: a survey of a fundamental geometric
dista structuie. ACM Comput. Surv., 23. 1991. 4
Avolio 93 Avolio, O. PrincipIes of Rotary Optical Encoders. Sensors. pags. 10-ls. Abril
1993,

J. y Ziegler J. Object-Oriented Technology for Real-Time


Awad 96 Awad Xl., Kuusela
systems: A practical Approach using OMT aud Fusion. Prentice Hall. Upper 2
Sadder River, N.Y., 1996.

Azouaoui 98 Azouaoui O. y Gbohra A. Evolution, Behaviaur, aud Intelligence of


~2
Autononwus Robotic Systems (ARS). 3~ IFAC Symposium on Intelligent
Autonomous Vebicles. PP. 139-145. Marzo, 1998. Espaa. 4
Bares 89 Bares J., Herbert Xl., Kanade 1., Krotkov E. Micheil T., Simmons R.,
Whittaker W. Ambler -

LEFE Computer Magazine, June 1989


An Autonomous Boyer for Planetary Exploration. u
Barnett 81 Barnett, JA. Computacional methodsfor a mathenmtical theory of evidence. 4
Proc. 7h mt. Joint Conf. Artif. Inteil. Vancouver, Caad, pags. 868-875,
1981. 4
Bar-Sbalom 90 Bar-Sbalom, Y. Multitarget-multisensor tracking: advanced applications.
Artech House, Norwood, 1990. 4
Bar-Sbalom 93 Bar-Shalom Y. y Li X.R. Estimation and Tracking. Pninciples, Tecliniques and
Software. Artecb House, 1993. 4
Barsban 95 Barshan B. Y Durrant-Wbyte UF. Inertial Navigation Systems for Mobile
Ptobots. JEFE Trans. on Roboties and Automation, Vol. 11, No 3. Junio, 2
1995.

Baumgartner 94 Eric T. Baumgartner and 5. E. Skaar. Art Autonomous Vision-Based Mobile 4


4
u
Bibliografa 305

Robot. IFEE Transactions oi Automatie Control, Vol. 39, n0 3, pp. 493-502.


Marzo 1994

Beer9l Beer lID., Chiel H.J. y Sterling LS. A biological perspective on autonomaus
agent design. Iii Designing Autonomous Agents: Tbeory and Practice from
Biology to Engineering and Back. Edited by P. Maes. MIT Press, 1991.

Bel 94 Bel D.A., Levine SP., Koren Y., Jaros LA., Borenstein J. Design Crtteriafor
Obstade Avoidance in a Shared-Control System. RESNA94 Annual
Conference, June 1994.

Bendat 71 Bendat J. Y Piersol A.G. Random Data: Analysis and Measurement


Procedures. John Wiley & Son, Inc. 1971.

Berg 83 Berg, II. E. Estimation and Prediction for Maneuvering Target Trajectories.
IFEE Transactions on Automatie Control. Marzo, 1983

Bishop 95 Bishop CM. Neural Networks for Fattern Becognition. Oxford University
Press. Oxford, 1995.

Bishop 97 Bisbop II. Tite Potentialfor Vehicle-Higway Automation in tite United States.
Proc. lEE International Conference on mt. Bob. and Sys. pp. 1215-1216.
1997.

Biss 95 Biss E. Optimal Path Generation for a Simulated Autonomous Mobile


Robot. Autonomous Robots, pp. 1-18. 1995.

Bogler 87 Bogler PL. Shafer-Dempstre Beasoning u>ith Applications to Multisensor


Target Identijicat ion Systems. IEFE Trans. OH Systems, Man, and
Gyhernetics. Vol. 17, No. 6. Noviembre, 1987.

Borenstein 89 Borenstein J. y Koren Y. Real-time obstacle avoidanceforfast mobile robots.


IFEE Trans. on Systems, Man, and Cybernetics. Vol. 19, No. 5. Septiembre,
1989.

Borenstein 91a Borenstein J. y Koren Y. Tite vectorfield histogram .-fast obstacle avoidance
for mobile robots. IFEE Journal of Hobotics and Automation, Vol. 7, No. 3.
Junio, 1991.

Borenstein 91h Borenstein J. y Koren Y. Histogramic in-motion mapping for mobile robot
obstacle avoidance. JEFE Journal of Robotics and Automation, Vol. 7, No. 4,
1991.

Borenstein 95a Borenstein J., Everett H.R., y Feng L. Where Am 1? - Systems and Method9
for Mobile. Edition of a University of Michigan internal report, Septiembre
1995.
4
306 Bibliografa
4
Borenstein 95b Borenstein J., Wehe D., Feng L. Y Koren Y. Mobile Robot Navigation in
2
Narrow Aisles witit Ulrasonic Sensors. ANS
and Bemote Systems. Monterey, CA. Febrero, 1995.
5L Topical Meeting on Boboties
2
Borenstein 97 Borenstein J., Everett HE., Feng, L. y Wehe D. Mobile Robot Positioning C.
Sersors and Techniques. Journal of Robotic Systems. Monogrfico, Mobile
2
Robots. Vol. 14, No. 4, Abril 1997. 1

Borenstein 97a Borenstein J. Tite CuideCane - A Computerized Travel Aid for tite Active
mt.
Cuidance of Bliud Pedestrians. Proc. Of the JEFE
and Automation, Albuquerque. Abril, 1997.
Conf. on Roboties
4
Borenstein 97b Borenstein J. y Evans J. Tite OmniMate Mobile Robot- Design,
Implementation, and Experimental Results. IFEE International Conf On 4
Robotics and Automation. Alburqueque, 1997.

Britting 71 Britting, KB. Inertial Navigation System Analysis. Wiley, New York, 1971.

Brook.s 86 E. A. Brooks. A Robust Layered Control System Por A Mobile Robot. IEEE
Journal of Bobotics and Automation, vol. RA-2, n0 1. Marzo, 1986
2
Brooks 91 Brooks RA. Elepitants dont play ch ess. In Designing Autonomous Agents:
Theory and Practice from Biology to Engineering and Back. Edited by P.
Maes. MIT Press, 1991.
u
Bruin 97 Bruin L. Et al. Navstar CPS User Equipment and Applications. NATO team.
4
US Air Force Space Division, NAVSTART CPS Joint Program Office. Los
Angeles. Junio, 1987. 2
Buchanan 94 Buchanan, B.G, y Sbortliffe, EH. EuleRased Expert Systems: Tite lVflCIN
Experiments of tite Stanford He>uristic Programming Project. Reading. Ed. 4
Addison-Wesley, 1984.

Budenske 97 Budenske J y Cmi Xl. Sen-sor Explication: Knowledge-based Robotie Plan 2


Execution titrough Logical Objects. JEFE Trans. On Systems, Man, aud
cyberneties. Vol 27, No 4. Agosto, 1997. 2
Buede 97 Ruede 1DM. y Cirardi P. A Target Identification Comparison of Bayesian
and Dempster-Sitafer Multisensor Fusion. u
Campion 96 Campion C., Bastin G., y DAndra-Novel B.. Structural Propierties and
Classffication of Kinematic and Dynamic Models of Wheeled Mobile Robots. 2
Campos 98
IFEE Trans. on Robotics aud Automation. Vol. 12, No. 1, 1996.
Campos D. y LImas J. Possibilities for Improved Formal Processing Methods u
2
u
Bibliografa 307

for Situation Assess-rnent. Proc. of tlie International Gonference on


Multisource-Multisensor Information Fusion. FUSION98. Las Vegas, USA.
Julio, 1998.

Castellanos 98 Castellanos JA:, Martnez J.M., Neira J. y Tards J.D. Experiments in


multisensor inobile robot localization ami map building. 3~d IFAC Symposium
on Intelligent Autonomous Vebicles. Madrid. Marzo, 1998.

Chang 96 Cbang C.C. y Song K. Ultrasonie Serwor Data Integration ant! its Application
to Environment Perception. Journal of Robotics Systems, Vol. 13, No. 10,
1996.

Cbaudhuri 85 Gbaudburi BR. Applications of Quadtree, Octree, and Binary tree


Descomposition Tecitniques to Sitarpe Analysis and Pattern Becognition.
TEFE Trans. on Pattern Analysis and Machine Intelligence. Vol. 7, No. 6.
Noviembre, 1985.

Chee 96 Chee B.Y., Sherman Y., Lang T. Y Tse P.W.T. Fuzzy Mobile Robot
Navigation ant! Sen-mr Integration. Proeeedings of tbe Fiftb IFEE mt. Conf
on Fuzzy Systems (FUZZ-IEEE 96). Septiembre, 1996.

Chellappa 97 Chellappa, R. et al. On tite Positioning of Multisensor Imagerij for


Exploitation and Target F.ecognition. Froceedings of the IFEE. Vol 85, No.
1. Enero 1997.

Conners 97 Conners R.W., Cine D.F. y Drayer T.H. Macitine Vision Technologyfor tite
Forest Products Industry. IFEE Computer. Julio, 1997.

Cooper90 Cooper G.F. Tite computational complexity of probabilistic inference using


Bayesian belief networks. Artificial Intelligence. Vol. 42. 1990.

Cox 89 Cox, I.J. Blance: Position Estimationfor an Autonomous Robot Vehicle. Proc.
of the IEEE/RSJ International Workshop on Robots and Systems Japan,
1989.

Cuena 86 Cuena, J. y col. Inteligencia Artificial: Sistemas expertos. Ed. Alianza-


Informtica, 1986.

Dagum 93 Dagum P. y Luby M. Approximating probabilistie inference in Bayesian


networks is NP-hard. Artificial Intelligence. Vol. 60. 1993.

Dam 96 Van Dam J.W.M., Krse JA. y Groen F.C.A. Adaptative Sen-mr Modets.
IEEE/SICE/RSI mt. Conf on Multisensor Fusion and Integration for
Intelligent Systems, Washington D.C. Diciembre, 1996.

Dancbick 90 Dancbick, R. J. Navy Navigation satellite system status. En Navigation.


4
308 Bibliogrfa 4
Laud, Sea, Air, and Space. Edited by M. Kayton.. JEFE Aerospace and
Elctronic Systems Socie~: 207-210. 1990 2
Daniel 97 Daniel MM., Willsky AS. A Multiresolution Metitodology for Signal-Level 4
Fusion ant! Data Assimilation witit Applications to Remote Sensing.
Proceedings of the JEFE, Vol 85, No 1, Januaiy, 1997. 4
Davis 91 Davis L. Handbook of CeneticAlgorithnts. Ed. Van Nostrand Reinhold. New
York, 1991. 4
Dean 89 Dean T. y Kanazawa K. A model for reasoning abo-ut persistence and
causation. Computational Intelligence. Vol. 5. 1989. 2
Delingette 95 Delingette H. Trajectory Ceneration witit Curvature Constraint based on
Energy Minimization. IFEE mt, Workshop on Intelligent Robots & Systems.
Noviembre, 1995.

Dempster 67 Dempster, AP. Upper ant! lower probabilities induced by a multivalued -J


mapping. Annals of Mathematical Statistics, No 38, pags. 325-339, 1967.

Dempster 68 Dempster, AP. A Ceneralization of Bayesian Inference. J. Royal Statistical 4


Soc., vol. 30, 1968, pags. 205-247.

Dez 94 Diez J. Sistema experto bayesiano para ecocarcliografia. Tesis doctoral.


UNED, 1994.

Diez 96 Dez, F.J. Local conditioning in Bayesian networks. Artificial Intelligence. 4


Vol. 87, 1996.

Doyle 95 Doyle RS. y Harris C.J. Multi-Sensor Data Fusionfor Helicopter Guidance 2
using neuro-fuzzy estimation algorithms. Int. Conf on System, Man, and
Cybernetics. Octubre, 1995. 2
Dubois 92 Dubois D. y Frad H. Combination of Fuzzy Informution in Tite Framework

ofPossibility Titeory. En Data Fusion in Robotics and Machine Intelligence.


Eds. Abidi MA. y Goiizalez R.C. Academic Press, 1992.
2
Dubov 95 Bubov D. Mars Pathftnder. JPL Tecbnical Report 95-0892. Editado en 2
Acrospace America, Julio, 1995.

Duda 73 Duda, RO. y l-Iart, P. Pattern Cla9s~fication aud sccne analysis. J. Wiley & 2
Sons. New York, 1973,

Duda 79 Duda, RO., Hart, P., Konolige, K. y Rebob, R. A Computer-Based 4


Consultantfor Mineral Exploration. Tech. report, SRI International.

Duda 81 Duda, R., Gaschinig, J. y Hart, P. Modal design in tite prospector consultant
Bibliografa 309

systemfor mineral exploration. Expert Systems in Ihe Microelectronics Age.


Ed. Edinburgh Univ. Press, pags. 153-167, 1981

Durrant-Whyte 88 Durrant-Whyte, H.F. Integration, Coordination and Control of Multi-sensor


Robot Systems. Kluwer, Boston, 1988.

Durrant-Wbyte 90 Durrant-Wbyte H.F., Bao B.Y.S. y I-Iu H. Toward a Fully Decentralized.


Proceedings JEFE mt. Conf. Robot. Automat., 1990.

Durrant-Whyte 96 Durrant-Whyte 96, H.F. Cuided Vehiele for Cargo Handing Applications.
International Journal Robotics Researcb. Pp. 407-440. Octubre, 1996.

Edelsbrunner 87 Edelsbrunner H. Algorithms in Combinatorial Geometry. Springer-Verlag,


Heidelberg, 1987.

Elfes 86 A. Elfes. A distributed control architecturefor an autonomnous mobile robot.


Artificial Intelligent, Vol. 1, n 2, 1986.

Elfes 87 A Sonar-Based Real-World Mapping and Navigation. JEFE Journal of


Robotics and Automation. Vol. 3, No 3, 1987.

Elfes 90 Elfes, A. Occupancy Crids: A Stocitastie Spatial Representation for Active


Robot Perception. Proc. of the Sixth Conference on Uncertainty in Al. Julio
1990.

Elfes 92 Elfes A. Multi-source Spatial Fusion Using Bayesian Reasoning. En Data


Fusion in Robotics and Machine Intelligenee. Eds. Abidi M.A. y Gonzalez
R.C. Academic Press, 1992.

Ellowitz 92 Ellowitz Hl. Tite Global Positioning Systern. J. Microwave. Special Report.
Abril, 1992.

Espinosa 98 Espinosa F., Garca B., Mazo M., Lpez E. y Mateos E. Modelling and
simulation of tite Kinematie ami Dunamic Behavior of a Fork-Lift-Turck. 3
IFAC Symposium on Intelligent Autonomous Vebicles. PP. ~ Marzo,
1998. Espaa.

Evans 92 J. Evans, B. Krisbnamurtby, B. Barrows, T. Skewis, ans y. Lumelsky.


Handling Real-World Motion Planning: A Hospital Transport Robot. JEFE
Control Systems. Pp. 15-19. Febrero 1992.

Everett 95 Everett, 1-1. E. Sertsors for mobile Robots. Titeory ant! Application. A. K.
Peters. Wellesley, Massachusetts, 1995.

Fa>yad 96 Fayyad U.M., Piatetsky-Shapiro G. Y Smyth P. From Data Mining to


Knowledge Discovertj: Art Overview. En Advances in Kowlegde Discovery
and Data Mining, pags. 1-36. AAAI PressMenlo Park, CA 1996.
4
310 Bibliografa 4
Fleuy 94 Fleury 5., Herrb M. y Chatila E. Design of a modular architecture for
autonomous robot. Proc. JEFE Int. Conf. on Robotics and Automation. San 2
Friess 88
Diego, California, 1994.

Friess P. Empirical Accuracy of Positions Computed from Airborne CPS


4
Data. En 141gb Precision Navigation. Editado por K. Linkwitz y U.
Hangleiter. Pags. 163-175. Springer-Verlang. Berlin, 1988.

Fukunaga 90 Fukunaga K. Introduction to Statistical Pattern flecognition. Ed. Academic

Press. New York, 1990.


4
Fukunaga 93 Fukunaga K. Statistical Pattern Recognition. En Handbook of Pattern

Becognition aud Computer Vision. Eds. Chen CH., Pau L.F. y Wang PSP.
4
World Scientific Publisbing Company, 1993.
4
Fung 83 Fung, P. T. y Crimble, M. J. Dymanic Sitip Positioning lAing a Self-Tuning
Kalman Filter. IEEE Transactions on Automatic Control. Marzo, 1983. 4
Gat 90 Gat, E., Slack, M. C., Miller, O. P., Firby, R.J. Patit Planning ant! Execution
Monitoringfor a Planetary Boyer. Proc. of EFE International Conference

on Robotics and Automation. 1990, pag. 20-25


4
Gat 90 Gat E,, Slack MG., Miller OP., Firby EJ. Patit Planning ant! Execution

Monitoring for a Planetary Rever IFEE International Conference on


2
Roboties and Automation, 1990.

Geist 92 Geist CA. y Sunderam VS. Network-based concurrent computing on tite 4


PVM system. Concurreney: Practice & Experience, Vol. 4, No. 4, Junio, 1990

Ceist 94 Geist A., Beguelin A., Dongarra J. Manchek E., Jiang W. y Sunderani V.
EVA!: A User~s Cuide ant! Tutonial for Networked Parallel Computing. MIT

Press, 1994.
4
Ceist 96 Ceist CA., Kohl JA. y Papadopoulos P.M. PVM ant! MPL a Compantsion of
2
Gelb 74
Features. Calculateurs Paralleis. Vol. 8, No, 2, 1996.
Gelb A., Appliet! Optimal Estimation. Tbe MIT Press, Cambridge, 1974. 4
Gerter 92 Gerfler J.J. y Anderson KG. Art evidential rea.soning extension te quantitative
met!el-based failure diagnosis. JEFE Transactions on Systems, Man, and 4
Cybernetics, Vol 22, No ??. Marzo, 1992.

Gil 81 Cil F.P., Murray W. y Wrigtb M.H. Practical Optimization. Academic Press. 4
San Diego, 1987.

Giralt 84 Giralt, G. Chatila E., Vaisset M. An Integrated Navigation ami Motion 4


Control System for Autenomous Multisensory Mobile Rebots. International

4
Bibliografa 311

Symposium on Robotics Research, 1984.

Coldlierg 89 Coldberg DE. Cenetic Algorithms in Searcit, Optimization, and Machine


Learning. Addison-Wesley, Reprinted with corrections, 1989

Colub 89 Golub, CH. and Van Loan, CF. Matrix Computations. The Jobns Hopkins
University Press, Baltimore 1989.

Gomma 93 Gomma 14. Software Design Metitods for Concurrent ant! Real-Time
Systems. Beading, MA. Addison-Wesley, 1993.

Gomma 95 Comma U. Beusable Software Ftequirements ant! Arcititectures for Families


of Systems. Tbe Journal of Systems and Software. Vol. 28, No 3. Marzo,
1995.

Gonzalez 96 Gonzalez J., Ollero A. Estimacin de la posicin de un Robot Mvil. Revista


de Informtica y Automtica de la AEIA, Vol 29, No 4.. Diciembre, 1996.

Goodwin 77 Goodwin C.C. y Payne RL. Dynamic System Identijiication. Experiment


design ant! data analysis. Ed. Academic Press. New York 1977.

Crewal 93 Crewal MS. y Andrews A. P. Kalman Filtering. Titeory ami Practice.


Prentice-Hall, Inc. 1993.

Croover 89 Groover M.P., Weiis M., Nagel lIN. y Odrey NG. Bobotica industrial.
Tecnologa, programacin y aplicaciones. Mc. Graw-HiII, 1989.

Gullekson 97 Gullekson C. ATM Protocol Stack Design with tite BOOM Methodology.
Communications Systems Design. Vol. 3, No 12. Diciembre, 1997.

Hager9o Hager C.D. Task-Directed Sensor Fusion and Planning. A computational


approach. Kluwer, Boston, 1990.

Hall 92 Hall, DL. Matitematical Tecitniques in Multisensor Data Fusion. Artecb


Honse, Boston, 1992.

Harmon 86 Harmon, S.Y, Autonomous Vehicles. Encyclopedia of Artificial Intelligence.


pp. 39-45. De. Wiley, New York.

Harmon 87 Harmon S.Y. The Cround Surveillance Robot <CSR): Att Autonomous Veitile
Designed to Transit Unkown Terrain. IFEE Journal of Rohotics aud
Automation, Vol 3, No 3, June 1987.

Hasbemipour 88 Hashemipour, S.Y., Hoy, 5. y Laub, A.J. Decentralized Structuresfor Parallel


Kahnan Filtening. JEFE Trans. Auto. Control, 33(1), pags 88-94. 1988.

Hayldn 94 Hayldn 5. Neural Networks. A compreitensive Faundation. EFE Press.


Toronto, 1994.
4
312 Bibliografa
2
Heckerman 86 Heckerman, D. Probabiistic interpretatiows for MYCINs certainty facters.
tJncertainty in Artificial Intelligence. Ed. L.N. Kanal y J.F. Lemmer, pags. 4
167-196, 1986.

Heckerman 95 Heckerman D., Breese J. y Bommelse K. Dectsion-Titeoric Troblesitooting. 2


Communications of tbe ACM, Vol. 38, No. 3. Marzo, 1995.

Henderson 84 Henderson T.C. y Sbilcrat E. Logical Sensor Systems. Journal of Robotics 4


Systems. Vol, 1, No 2. 1990.

Henderson 87 Henderson T.C y Weitz E. Multi.sensor Integration in a Multiprocessor 4


Enviroment. Proc. ASME Int. Comput. Engr. Conf? And Exhibition. Ne~v
York, 1987. 2
Henkel 87 Henkel, 5. Optical Encoders: A Review. Sensors, pags. 9-12. Septiembre
1987. 4
Herbert 88 Ivlerbert Xl., Kanade T., Kweon 1. 3-D Vision Tecitniques for Autonomeus
Vehicl es. NSF Range Image Understanding Worksbop, 1988. 4
Hilera 95 Hilera J.R: y Martnez V.J. Redes Neuronales Artificiales. Fundamentos,
modelos y aplicaciones. Ed. RA-MA, 1995. 4
Holle 90

Hopfield 82
Holle, 8. Incremental Encoders Basics. Sensors, pags 22-30. Abril 1990.

Hopfield J. Neural Netwerks ant! physical systems with emergent celective


4
computational abilities. Proc, of the National Academy of Scienees, Vol. 79.
1982 Reimpreso en Neurocomputing (Anderson y Rosenfeld Eds.) MIT
2
Hurteau 94
Press, 1988.

Hurteau R., DeSantis 8., Begin E. y Cagner M. Laparascopie Surgey


2
Assisted by a Robotic Cameraman, Proc. Interantional IFEE Conf. On
Robotics. and Automation. Vol 3. Pp. 2286-2289.1994. 2
Hutchinson 92 Flutcbinson SA. y Kak A.C. Multisensor Strategies Using Dempster-Shafer
BeliefAccumulation. En Data Fusion in Robotics and Machine Intelligence.
U
Jackins 83
Eds. Abid MA. y Gonzalez R.C. Academie Press, 1992.

Jacldns C.L. y Tanimoto S.L. Quad-Trees, Oct-Trees, ant! K-Trees: A


U
Ceneralized Approach to Becursive Decemposition of Euclidean 5pace.
IEEE Trans. oii Pattern Analysis and Machine Intelligence. Vol. 5, No. 5. 2
Noviembre, 1983.

Jain 95 Jain Ze-Sun y Chau YA. Optimum Multisensor Data Fusion for Image 2
Change Detection. IFEE Trans. on Systems, Man, and Cybernetics. Vol. 25,
No, 9, Septiembre, 1995. 2
4
Bibliografa 313

Jeffexys 92 Jefferys W.H. y Berger JO. Ockham~ Bazor and Bnayesian Analysis.
Americau Scientist, Vol. 80. Enero, 1992.

Jensen 96 Jensen EV. An introduction te Bayesian networks. Fd. Springer Verlag. New
York 1996.

Kafrissen 84 Kafrissen E. Y Stephans M. Industrial Robots ant! Robotics. Reston, Reston,


1984.

Kalata 84 Kalata, P. R. Tite Tracking Index: A Ceneralized Parameterfor a-/3 ant! a-II- r
Target Trackers. IFEE Transactions on Aerospace and Flectronie Systems.
Vol 20, No. 2, pags. 174-182. Marzo 1984.

Kam 97 Kam, M., Zbu, X. Y Katala, P. Sensor Fusion for Mobile Robot Navigation.
Proceedings of the EFE. Vol 85, No. 1. Enero 1997.

Kauayama 97 Kauayama Y.J. y Hartman B.I. Smootit Local-Patit Planning for Autonomaus
Vehiles. International Journal of Bobotics Research. Vol. 16, No. 3, Junio,
1997.

Kelly 94 Kelly A. Essential Kinematics for Autonomeus Vehiles. Informe tcnico


CMU-RI-TR-94-14. Carnegie Mellon University, Pittsburgh. USA, 1994.

Kessler 92 Kessler et al. Functional Description of tite Data Fusion Process. Tecb. Rep.
Office of Naval Technol. Naval Air Development Genter. Enero 1992.

Kbabit 86 Kbabit O. Real-Time Obstacle Avoidance for Manipulators ant! Mobile


Robots. International Journal of Robotics Researcb, Vol. 5, No. 1. 1986.

Kim 83 Kim J.H y Pearl J. A computational model for combined causal ant!
diagnostic reasoning in inference systems. Proceedings of tbe Eigbth mt.-
Joint Conference on Artificial Intelligence. Alemania. Karlsruhe, 1983.

Kjaerulff 92 Kjaerulff U. A computational scitemefor reasoning in dynamic probabilistic


networks. Proc. of tbe Eigtb Conference on Uncertainty tu Artificial
Intelligence. 1992.

Kohl 96 Kohl JA. y Ceist CA. XPVM 1.0 Useri9 Cuide. Computer Sicence aud
Matbematics Division. Oak Hidge National Laboratory. ORNJJIM-12981.
Noviembre, 1996.

Kriegman 87 Kriegman D.J., Triend E., Binford TO. A Alobile Robot: Sensing, Planning,
ant! Locomnotion. TEFE International Conference on Robotics and
Automation, 1987.
Kriegman 89 Kriegman D.J., Triend E., Binford TO. Stereo Vision ant! Navigation in
Buildings for Mobile Bobots. IFEE Transsctions on Robotics and
4
314 Bibliografa 2
Automation, Vol 5, No 6, December 1989, 2
Krotkov 96 Krotkov E. y Simmons R. Perception, Planning ant! Controlfor Autonvmous
Walking Witit tite Ambler Planetary Boyer. International Journal of Robotics

Researcb. pp. 155-180. Abril, 1996.


4
Lacey 93 Lacey G., Waldron R., Dinten J. y Lilley F. Flexible Multi-SersorInspection

System Por Solder-Joint Analysi&. En Machine Vision Applications,


2
Architectures, and Systems Integration II. SPIE Conference. Septiembre,
1993.

Lallement 98 Lallement A., Dufaut M. y Husson R. Sensor Ceoperation ant! World


Perception of tite Autenomous Mobile Robot Romane. 3 IFAC Symposium

Langsam 97
on Intelligent Autonomous Vebicles. Madrid. Marzo, 1998.

Langsam, Y., Augenstein, M.J. y Tenenbaum, A.M. Estructuras de dates con


4
C y C++. QQ Edicin. Ed. Prentice Hall, 1997.

Larson 76 Larson, RE. y Casti, J.L. Principles of Dynamic rogramming. Marcel U


Dekker Inc. New York, 1976. 4
Latombe 91 Latombe, J.C. Robot Motion Planning. Kluwer Academic Publishers,
London. 4
Lauritzen 88 Lauitzen S.L. y Spiegelbalter D.J. Local computations witit prebabilities en
grapitical structures ami titeir application te exper systems. J. Royal Statist.

Soc. Ser. Vol. 50. 1988.


4
Lee 97 Lee D. y Recce Xl. Quantitative Evaluation of tite Exploration Strategies of a
U
Mobile Robot, Tbe mt. Journal of Robotics Researcb, Vol. 16, No. 4. Agosto,
1997. 2
Leick 90 Leick, A. CPS Satellite Surveying. John Wiley & Sons, 1990.

Leonard 90 Leonard J. Directed Sonar Sensing for Mobile Robot Navigation. Tesis U
doctoral. Robotic Research Croup. Department of Engineering Science,
University of Oxford, 1990. 2
Leonard 92 Leonard J. y Durrant-Whyte H.F. Directed Sonar Sensingfor Mobile Robot
Navigation. Kluwer Academie Publisher. Boston, 1992. 4
Lewis 86 Lewis F.L. Optimal Estimation witit art introduction to Stochastic Control
Titeory. John Wiley & Sons, Inc. 1986. 4
Libby 96 Libby, E.W. y Maybeck, PS. Sequezwe Comparison Techniques fer
Multisensor Data Fusion ami Target Becognitien. JEFE Traus. On U
Aerospace and Electronic systems, vo 32, No 1, enero 1996.

4
U
Bibliografa 315

Lpez-Cachero 88 Lpez Cahero, M.fundamentos y mtodos de estadistica. Ediciones Pirmide


SA. Ed. actualizada, 1988.

Lozano-Prez 79 Lozano-Prez T. y Wesley M .A. An Algorititm for Planning Collision-Free


Paths Among Polyitedral Obstacles. Communications of the ACM, Vol. 22,
No. 10, 1979.

Luo 89 Luo, R. C. y Kay Xl .G. Multisensor Integration ant! Fusion in Intelligent


Systems. EFE Trans. on Systems, Man, and Gybernetics. Vol 19, No 5 Sep.
1989.

Luo 92 Luo lID: y Kay M .C. Data Fusion ant! Sensor Integration: State-of-art
1990s. En Data Fusion in Robotics aud Machine Intelligence. Eds. Abidi
MA. y Gonzalez HG. Academic Press, 1992.

Maes 91 Maes P. Situated agents can itave goals. In Designing Autonomous Agents:
Theory and Practice from Biology to Engineering and Back. Edited by P.
Maes. MIT Press, 1991.

Manyika 94 Manyika J. y Durrant-Whyte 14. E. Data Fusion ant! Sensor Management. A


descentralized information-titeoretie approacit. Ellis Horwood series, New
York 1994.

Maraval 93 Maraval D. Reconocimiento de formas y Visin ArtWcial. Ed. RA-MA.


Madrid, 1993.

Martin 86 Martin, G. J. Cyroscopes May Cease Spinning. TEFE Spectrum, pags. 48-53.
Febrero, 1986.

Xlatthies 88 M atthies L y Ffes A. Integration of Sonar ant! Stereo Ron ge Data Using a
Grid-Based Representation. Proc. of the JEFE mt. Conf. on Robotics and
Automation, PP 727-733, 1988.

Maybeck 79 Maybeck, P. 5. 1979. Stochastic Models, Estimation, and Control. Vol 1.


Academic Press. London.

McMillan 88 McMillan J.C. Art integrated Land Navigations System. IFEE Position
Location aud Navigation Symposium, 1988.

Menezes 95 Menezes P, Dias J, Araiijo H. y Almeida A. Low Cost Sensor Based Obstacle
Detection ant! Description. Experiments witit Mobile Robots using ant!
Representation. Proc. Of the Fouth Int. Symposium on Experimental
Roboties. ISFR95. Agosto, 1995.

Meng 93 Meng, Xl. y Kak, A.C. Mobile Robot Navigation Using Neural Networks ant!
Nonmetrical Environment Models. IFEE Control Systems Octubre 1993.
2
Bibliografa
316

Pags. 30-39
2
Minsky 69 Minsk> Xl. y Papal 5. Perceptrons. MIT Press, 1969. 4
Xl itehel 88 Mitehel, J.S. Art algorithmic Approacit to Some Probletns in Terrain
Navigation. Artificial Intelligence, 37. 1988, pags 171-201 4
Mitchell 88 Mitchell J.S .B. art Algorititmic Approach to Sorne Problems in Terrain
Navigation. Artificial Intelligence, 37, 1988. 2
Moravec 88 Moravec 1-IP. Sen-sor fusion in certainty gnids for mobile robots. Al
Magazine. Pp 61-74, 1988. 2
Morawsld 89a Morawsld P.
1989.
Understanding Baqesian Networks. Al Exped, Pp. 44-48. Mayo,
U
Morawski 89b Morawski P. Programming Bayesian Belief Networks. Al Expert, pp. 74-89.
Agosto, 1989.
2
MP194 MPI Forum. AIPI: A rnessage passing interface standard. International
Journal of Supercomputer Applications. Vol 8, No. 3/4, 1994.
2
Miiller 96
Mller J.P. Tite Design of Intelligent Agents. A Layared Approach. Lecture
Notes iii Artificial Intelligence. Springer, 1996.
4
Murphy 98 Murphy BR. Dempster-Sitafer Theory for Sen-sor Fusion in Autonomaus
Mobile Robots. IEEE Trans. on Systems, Man, and Cybernetics. Vol. 14, No.
2
Nandhakumar 97
2. Abril, 1998

Nandahkumar N. y Aggarwal J.K. Pitysics-Based Integration of Multiple


2
Sensing Modalities for Scene Interpretation. Proceedings of the EFE, vol.
85, No. 1, Enero. 1997
4
Neapolitan 90 Neapolitan, R. E. Probabilistic Reasoning
Algorititn-is. John Wiley & Sons, inc. 1990.
itt Expert Systems. Titeory and
4
Nelson 88 Nelsson W.L., Cox, 1.1. Local Path Controlfor an Autonomous Vehicle. Proc.
of the IEEE International Conference on Robotics and Automation,
2
Nelson 88
Philadelphia 1988.

Nelson W. L. y Cox I.J. Local Patitfor an Autononwus Veiticle. Proceedings


2
Nicholson 92
of the IFEE Int. Conf. on Robototies and Automation. Abril, 1988.

Nicholson A.E. y Brady J.M. Tite dista asociation problem witen monitoning
U
robot vehicles using dynamic belief networks. Proc. of
Conference on Artificial Intelligence. Viena. Austria, 1992.
10h European 2
Nicholson 94
Nicholson A.E. y Brady J.M. Dynamic Belief Networks for Discrete 2
2
u
E
317

-Monitorfng. IFEE Trans. on System, Man, and Cybernetics. Vol. 24, No. 11
Noviembre, 1994.

Nickson 85 Nickson, P. Solid-State Tachometry. Sensors, pags. 23-26. Abril 1985.

Nilsson 69 Nilsson, N.J. A Mobile Automaton: An Application of Artificial Intelligence


Tecitnique-s. Procceedings of It Int. Joint Conference on Artificial
Intelligence. Washington D.C., 1969.

Olin 91 Olin K.E., Tseng D.Y. Autonomous Cross-Country Navigation. Art


Integrated Perception ant! Planning System. JEFE Expert (DARPA/VISION
& NAVICATION). pp. 16-30. Agosto 1991.

Pao 93 Pao, Y. Neural net computing for pattern recognition. En Handbook of


Pattern Becognition and Computer Vision. Eds. Chen CH., Pau L.F. y
Wang PSP. World Scientific Publishing Company, 1993.

Papoulis 90 Papoulis A. Probabiity and Statistia. Prentice-Hall Inc. Englewood Cliffs,


1990.

Parkinson 83 Parldnson B.W. y Cilbert 5W. NAVSTAFc Global Positioning System Ten
Years Later. Proceedings of the IEFE, Vol. 71, No 10. Octubre 1983.

Payton 90 Payton D.W., Rosenblantt J.K., Keirsey DM. Plan Cuided Reaction. IEEE
Transactions on Systems, Man, and Gybernetics, Vol 20, No 6, Nov. 1990.

Payton 91 D. w. Payton, T. E. Bihari. Intelligent Real-Time control of Robotie Vehicles


Gomunications of the ACM. Vol. 34, N0 8. PP. 48-63. Agosto 1991
Payton 91 Payton D.W., Bihari TE., Intelligent Real-Time Control of Robotics Vehiles
Communications of the ACM. Vol 34, NoS, 1991.

Payton 91 Payton, D.W. Internalizet! Plans,: A Representation for Action Resources. In


Designing Autonomous Agents: Theory and Practice from Biology to
Engineering and Back. Edited by P. Maes. MIT Press, 1991.

Pearl 82 Pearl J. Reverend Bayes on inference engines: A distributed hierarchical


approacit. Proceedings of the Conf? on Artificial Intelligence. Pittsburgh
Pennsylvania, 1982.

Pearl 88 Pearl, J. Probabilistic Reasoning itt Intelligent Systems: Networks of Plausible


Inference. Ed. Morgan Kaufmann, Palo Alto, 1988.

Pbam 92 Pham T.M. Kalman Filter Mecitamization for INS Airstart. IFEE AES
System Magazine, Januar>, 1992.

Pires 98 Pires G, Numes U. y de Almeida A.T. Robchair- A Semi-Autonomous


Wheelchair for Di.sablet! People. 3 IFAC Symposium on Intelligent
4
318 Bibliografa 4
Autonomous Vehicles. pp. 648-652. Marzo, 1998. Espaa. 4
Pradhan 94 Pradhan M., Middleton CM. y Henrion Xl. Knoledge engineeringfor large
- beliefnetworks. Proc. of Uncertainty in Artificial Intelligence. Seattle, 1994. 4
Press 94 Press W.H, Teukolsky SA., Vetterling W.T., Flannery EF. Numerical
Recepies itt C. Tite Art of Scient(fic Computing. Ed. Cambrige University 4
Press. 2 edicin, 1994.

Prieto 95 Prieto A. M. Fundamentos Geomtricos del Diseo en Ingeniera. Edicin 2


de la Escuela Superior de Ingenieros Aeronauticos. Madrid, 1995.

Bao 93 Rao, B.S.Y., Durrant-Whyte, H.F. y Sheen, JA. A Fully Decentralized Multi- 4
Sensor system For Tracking ant! Surveillance. The mt. Journal of Robotics
Besearch, vol. 12(1), Feb. 1993. 4
Rembold 88 Bembold U. Tite Kalrsruhe Autonomous Mobile Assembly Robot. Proc, of the
IFEE International Conference on Bobotics and Automation, 1988. 2
Rieti 94 Rich, E. y Knight, K. Artificial Intelligence. Ed. Mc Craw-Hill, 1994.

Bichardson 88 Richardson, J.M Marsh K.A. Fusion of Multisensor Data. mt. Journal of 4
Boboties Research Vol 7, No 6, 1988.

Rintanen 91 Bintanen K. Smooth Low Trajectory Controlfor Autonomous Mobile Robot.


PANORAMA, Technical Beport. Mayo, 1991.
4
Ruiprez 94 Ruiprez P. Filtro de Kalman en el alineamiento de sistemas de navegacin 4
ligados. Tesis doctoral. Dpto. Informtica y Automtica. UNED, 1989.

95 Russell S.J. y Norvig P. Artificial Intelligence. A modern Approacit. Prentice- 2


Hall. New Jersey, 1995.

91 Saffiotti A. y Umkehrer E. PULCINELLA. A General Tool for Propagating 4


Uncertainty in Valuation Networks. Procs. Of 7 Conference on Uncertainty

in Artificial Intelligence. Los Angeles, California, 1991. 4


Saffiotti 94 Saffiotti A. y Umkehrer E. Automatic Construction ofValuation systemsfrom

General Clauses. Trans. on Systems, Man, and Cybernetics. Vol. 24, No. 11.
Noviembre, 1994.
U
Salcudean 94 Salcudean SE. y Yan J. Towards a Force-Reflecting Motion-Scaling System 4
for Microsurgey. Proc. Interantional IEEE Conf? On Rohoties. and
Automation. Vol 3. Pp. 2286-2289.1994. 4
Salgian 98 Salgian C. y Ballard D. Using Visual Bontines to Drive in a Virtual
Enviroment. 3 IFAC Symposiunt on Intelligent Autonomous Vehicles. PP. 2
U
u
Bibliografa 319

565-570. Marzo, 1998. Espaa.

Santos WWW Fugene Santos. Pgina Wed sobre herramientas de Redes de bayesianas.
http://www.afit.afmil/Schoots/EN/ENG/LAB S/AI/BayesianNetworks/tools3. h
tml.

Schneider 96 Sehneider Xl. Planificacin basada en Percepcin Activa para la Navegacin


de un Robot Mvil. Instituto de Automatica Industrial (CSIC). Tesis
Doctoral, 1996.

Selic 95 Selic B., Cullekson C. Y Ward P.T. Beal-Time Object-Oriettted Modeling.


John Wiley & Sons, Inc. New York 1995.

Shachter 86 Shachter H.D. Evaluating influente diagrams. Operations research, 34. Pp.
871-882. 1986.

Shafer 76 Shafer, C. A Matitematical Theory of Evidente. Princeton Unix. Press, 1976.

Shetty 96 Sheuy 5., Alouani A.T. A multi.sensor Tracking System With att Image-Based
Maneuver Detector. IFEE Trans. On Aerospace and Electronic systems, vol
32, No 1, enero 1996.

Shimoga 96. Shimoga, KB. Robot Crasp Synthesis Algoritrns: A Survey. Pp. 230-266.
Junio, 1996.

Shortliffe 75 Shortliffe, EH, y Buchanan, B.G. A model of inexact reasoning itt medicine.
Mathematical Biosciences, pags. 351-379, 1975.

Simmons 94 Simmons R.G. Structured Control for autonomous robots. IEEE Trans. on

Roboties and Automation. Vol. 10, No. 1. Febrero, 1994.

Snir 95 Snir M., Otto 5., Huss-Lederman 5., Walker D. y Dongarra J. MPL The
Complete Reference. MIT Press, 1995.

Sorenson 70 Sorenson, H.W. Least-Squares Estimation.- from Gauss to Kalman. IEEE


Spectrum. July 1970.

Stieler 82 Stieler B. y Winter II. Cyroscopic instruments ant! their application to fligitt
testing. AGARD Flight Test Inti-umentation Series. NATO. Septiembre,
1982.

Sunderam 90 Sunderam VS. PVM: A framework for parallel diMributed computing.


Concurrency: Practice & Experience, Vol. 2, No. 4, Diciembre, 1990

Synder 92 Snyder, 5., Schipper B., Vallot L., Parker N. y Spitzer C. Differetttial
CPS/Inertial Navigation Approach/Landing Fligitt Test flesults. TEFE AFS
Magazine., May, 1992.
4
320 Bibliografa
2
Thomopoulos 90 Thomopoulos, SCA. Serwor Integration ant! Data Finisit. J. Bobotic Syst.
Vol. 7, No 3, Junio 1990, pags. 337-372. 2
Thompson 77 Thompson, A.M. Tite Navigation System of tite JEL Robot. Proceedings of
the International Joint Conference on Artificial Intelligence, 1977. pp. 749- 4
757.

Thorpe 88 Thorpe C, Herbert M.H., Kanade T., Shafer SA. Vision and Navigationfor 2
tite Carnegie-Mellon Navlab. JEFE Transactions on Pattern Analysis and
Machine Intelligence, Vol 10, No 3, May 1988. 2
Thorpe 91a C. Thorpe, M. Herbert, T. Kanade and 5. Shafer, Toward Autonomous
Driving: Tite CMU Navlab. Pan 1 - Perception. JEFE Expert 2
(DARPA/VISION & NAVICATION). PP. 31-42. Agosto 1991.
Thorpe 91b C. Thorpe, Xl. Herbert, T. Kanade and 5. Shafer. Toward Autonomaus 4
Driving: Tite CMU Navlab. Pan 11 Architecture ant! Systems. IFEE Expert
-

(DARPANISION & NAVIGATION). PP. 44-52. Agosto 1991. 2


Thorpe 97 Thorpe C. Mixed Traffic ant! Automated Higways. Proc. lEE International
Conference on Int. Rob. and Sys. pp. 1011-1017. 1997. 2
Turk SS Truk MA., Morgenthaler D.C., Cremban K.D., Marra Xl. VITS A Vision
.4
-

System for Autonomous Lami Veiticle Navigation. IEEE Transactions on


Pattern Analysis and Machine Intelligence, Vol 10, No 3, 1988.

Valavanis 97 Valavanis K.P., Cracanin D., Matijasevie M., Kolluru R. y Demetriou CA. 4
Control Architecturesfor Autonomous Underwater Vehicles. IEEE Control
Systems. Diciembre, 1997. 2
Varshney 96 Varshney P.K. Distributed Detec-tion ant! Data Fusion. Springer-Verlag. New
York, 1996. 4
Viswanathan 97 Viswanathan E. And Varshney P. K. Distributed Detection With Alultiple
Sensors: Pan 1- Fundamental,s. Proceedings of the IEEE, 85 (1), pags. 54-63. 2
Enero, 1997.

Waltz 86 Waltz, E. L. Data Fusion for CGt A Tutorial: Command, Control, 2


Comrnunications Intelligence (C31) Handbook. EW Commuiiications, Inc.
Palo Alto, California, 1986, pags. 217-226. 2
Waltz 90 Waltz, EL. y LImas, J. Multisensor Data Fusion. Artecb House, Boston,
1990. 2
Weisbin 89 Weisbin C.R., Saussure G., Einstein J.R., Pm F.C. Autonomous Mobile
Robot Navigation ant! Learning. IEEE Computer Magazine, June 1989. 2
2
4
u
Bibliografa 321

White 88 White, E. et al. A Model for Data Fusion. SPIE Conference on Sensor
Fusion. Orlando. Abril 1988.

White 91 White, F. Data Fusion Lexiton. Data Fusion Subpanel for G3. Code 4202
California, 1991.

Wong 90 Wong 5KM., Yao Y.Y., Bollmann P. Y Burger HG. Axiomatization of


qualitative belief structure. IFEE Transactions on Systems, Man, and
Gybernetics, Vol 21, No ??. Enero, 1990.

Yager 94 Yager R.R., Fedrizzi M. Y Kacprzyk J. Eds. Advances itt the Dempster-Shafer
Titeory ofEvidence. New York. Wiley, 1994.

Yanco 98 Yanco HA. Integrating Robotic Researcit:A Survey of Robotie Wheelcitair


Developmettt. AAAI Spring Symposium on Integrating Robotic Research,
California 1998.

Yang 94a Yang J. Y Singh M .C. An evidential reasoning approacitfor multiple-attribute


decision making witit uncertainty. IEEE Transactions on Systems. Man, and
Cyhernetics, Vol 24, No ??. Enero, 1994.

Yang 94b Yang J. Y Sen P. A general multilevel evaluation process for itybrid MADM
witit uncer#ainty. IFEE Transactions on Systems,.Man, and Cybernetics; Vol
24, No ??. Octubre, 1994.

Yeddanapudi 97 Yeddanapudi Xl., Bar-Shalom Y. aud Pattipati K.R. IMM Estimation for
Multitarget-Multi.sensor Air Traffic Surveillance. Proceedings of the IFEE,
vol. 85, No. 1, Enero. 1997

Yen 90 Yen J. Generalizing the Dempster-Sitafer Theory tu Fuzzy Sets. IFEE Trans
on Systems, Man, aud Cybernetics. Vol, 20, No. 3. Mayo, 1990.

Zadeh 75 Zadeh, LA. Fuzzy Logic ant! approximate reasoning. Synthese, No 30, pags
407-428, 1975.

Zadeh 78 Zadeh, LA. Fuzzy Sets as a basisfor a theory of possibility. Fuzq Sets and
Systems, vol. 1 No 1, pags. 3-28, 1978.

Zadeh 79 Zadeh, LA. Qn tite valit!ity of Dempsteris rule of tonibination od evidente


Unix. California, Berkeley, Memoria UCB/ERL M79/24, 1979.

Zheng 89 Zheng YE. Integration of Multiple Sensors into a Robotic System ant! its
Peiformance Evaluation. IEFE Trans. on Robotics and Automation, Vol 5
NoS Oct. 1989.
,

Fernndez 98 Fernndez J. Tctticas avattzad.as de procesamiento morfolgico y textural.


Aplicacin a la inspeccin de baldosas cermicas. Tesis doctoral. E.T.S.I.
4
322

Industriales. Universidad Politcnica de Madrid, 1998.


Bibliografa
2
Hedenborn 95 Hedenborn P. y Bolmsj G. Bobotics in autornated inspection. Int. Journal of 4
Production Economics. No. 41, 1995.

Hedenborn 94 Hedenborn P. y Agren B. Enhanced use of sensors itt welding applications. 4


Proc. of the 10~ ISPE/IFAC mt. Conference on CAD/CAM, Robotics and
Factories of the Future CAEs & FOF. Ottawa, Canada. 1994. 4
Balaguer 98 Balaguer C., Pastor J.M., Gimnez A., Padrn VM, y Abderrahim M.
ROMA: Multifuncional autonomous self-supported climbing robot for
inspection applications. 3 IFAC Symposium on Intelligent Autonomous
2
Vehicles. PP. 139-145. Marzo, 1998. Espaa
4
Zong 98 Zong CH,, Tso 5K., Liu R. y Wang W. Art autonomous mobile robot dor
glass-roof cleaning. 3 IFAC Symposium
Vehicles. pp. 139-145. Marzo, 1998. Espaa
on

-
Intelligent Autonomous 4
Escalera 95 De la Escalera A. Percepcin del entorno y localizacin de robots mviles
autnomos. Tesis doctoral. E.T.S.I. Industriales. Universidad Politcnica de
4
Castellanos 98
Madrid, 1995.

Castellanos JA., Martnez J.M., Neira J. y Tards J.D. Experiments in


4
Multisensor Mobile Robot Lotalization ant! Map Built!ing. 3 IFAC
Syrnposium on Intelligent Autonomous Vehicles. PP. 139-145. Marzo, 1998.
2
Tardos 91
Espaa

Tards J.D. Integracin Multisensorial para Reconocimiento y Localizacin


2
de Objetos en Robtica. Tesis doctoral. Dpto. Ingeniera Elctrica e
Informtica, Universidad de Zaragoza. Febrero, 1991.
2
Armingol 98 Armingol J.M., Moreno LE., Garrido 5., de la Escalera A. y Salichs MA.
Mobile Robot Localization Using a Non-linear Evolutionary Filter, 3~l IFAC
4
Symposium on Intelligent Autonomous Vehicles. PP. 139-145. Marzo, 1998.
Espaa
4
Torres 93 V. Torres, J.A.C. Fortes, A. Ollero, J. Conzalez, A.J. Reina. Descripcin del
sistema sensorial del robot mvil FtAM-1. 3< Congreso Nacional de la
2
Gonzlez 98
Asociacin Espaola de Robtica. Zaragoza. Noviembre, 1993.

Gonzlez JAl. y Fernndez J.A. A Flexible Software Systemfor Implementing


2
Robots Control Arcititectures. 3 IFAC Symposium
Autonomous Vehicles. PP. 139-145. Marzo, 1998. Espaa
on Intelligent
2
Lpez-Orozco 95b Lpez Orozco JA., Ruiprez P., de la Cruz J.M. y Aranda
simulation of navigation systems: att INS simulation MataL toolbox.
J.. Modeling ant! 4
2
2
Bibliografa 323

EUROSIM95. Viena, 1995.

Lpez-Orozco 95a Lpez Orozco J. A., Ruiperez P., Aranda J., de la Cruz J. M, Prez J. Xl. y
Minguez J.: Simulacin de un sistema GPS en Matlab. 1 Congreso de
Usuarios de MATLAB (MATLAB95). Madrid, 1995.

Jochem 93 Jochem T.M, Pomerleau D.A. y Thorpe C.E. MANIAC: A Next Ceneration
Neurally Based Autonornous Road Follower. Proc. of the mt. Conf. en
Intelligent Autonomous Systems.Pittsburgli, Pennsylvania, USA. 1993.

Pomerleau 93 Pomerleau DA. Neural nertwork for mobile robot guidance. Kluwer
Academic. Boston, 1993.

Booch 94 Booch C. Object-orientet! analysis ami design witit application& Addison-


Wesley. Object Technology Series. 2~ edicin. 1994.

Rumbaugh 91 Bumbaugh J., Blaha Xl., Premerlani W., Eddy F. y Lorensen W. Ohject-
Oniented Modeling ant! Design. Prentice Hall, 1991.

Douglass 98 Real-Time Um: Developing Efficient Objects for Embedded Systems


Addison-Wesley. Object Technology Series. 1998.

Chong 90 Chong C.Y., Mori 5. y Ghang KG. Distributed multitarget multisensor


tracking. En Multitarget Multisensor Tracking: Advanced Applications. Ed
Artech House. Norwood, 1990.

Gass 99 Cass J. Integration Linguistic Descriptions ant! Sensor Observations for tite
Navigation ofAutonornaus Robots. Para aparecer en Fuzzy logic techniques
for autonomous vehicle navigation. A. Saffioti y D. Driankov, Editores.
Lecture Notes in Computer Seiences. Springer-Verlag, 1999.

Powel 98 Powel B.D. Real-Time Um: Developing Efficient Object for Embeddet!
Systems. Object Technology Series. Addison-Wesley. Enero, 1998.

3 Selic 98 Selic B. y Rumbaugh J. Using UML for Mot!eling complex Real-Time


Systems. Teclinical Paper. The Objet Management Croup. ObjectTime Co
3 Marzo, 1998.

Samet 89 Samet 14. Applications of &patial data structures: computer graphics, image
protessing, ant! GIS. Series in Computer Science. Addison-Wesley. 1989.

Xiao 97 Xiao J., Michalewicz Z., Zhang L. y Trojanowsld K. Adaptative Evolutionay


Planner/Navigator for Mobile Robots. JEFE Trans. on Evolutionary
Gomputation, Vol. 1, No. 1. Abril, 1997.

Fletcher 87 Fletcher, fi. Practical Methods of Optimization. John Wiley & Sons. 2~
Edicin. 1987.
324 Bibliografa

Laplante 93 Laplante, P. Real-Time Systems Design ami Analysis. Art Engineers


Hant!book. Ed, IFEE Press. New York, 1993.

Benett 94 Benett, 5. Real Time Computer Control: Att Introduction. Ed. Prentice Hall.
New York, 1994.
Apndice A

Clculo de la credibilidad en redes bayesianas

Definiciones

Para calcular la credibilidad de un nodo X en una red bayesiana es necesario


introducir varios conceptos que nos permitirn comprender mejor la obtencin de
las ecuaciones siguientes. Entre otros conceptos destacamos la independencia
condicional y la separacin direccional.

Hitesis dc independencia condicional

En la figura A-1 podemos ver que Y1 y Y2 son dependientes siempre que el


valor de X sea desconocido, pero si se conoce el valor de X, por ejemplo x,
entonces el valor de Y1 es independiente de Y2, es decir,

P(y2 +x,y1) P(y2 +x) (A.1)

P(y2,y1 +x) = P(y2 +x).P(y1 +x) (A.2)

El carcter ascendente y descendente de la propagacin de la evidencia en la


red permite realizar inferencias abductivas (qu estado de un objeto explica mejor
lo medido por los sensores) e inferencias predictivas (cual es la probabilidad de
medir algo en concreto por un sensor).

325
4
4
326 Clculo de la credibilidad en redes bayesianas 4
Debe tenerse en cuenta que en las redes bayesianas no slo los arcos aportan
informacin sobre las dependencias entre variables, sino que la ausencia de un 4
arco es una forma implcita de aportar informacin. Por ejemplo, en la figura A-1,
X y U son independientes y por lo tanto P(x u) = P(x). Sin embargo, si se conoce
el valor de Y~ = +y2, se vuelven dependientes:
4
P(x u,+y2) !=
P(x [+y2) (A.3) 4
Esta asimetra, reflejo de la causalidad implcita en la red, es la caracterstica
esencial de las redes bayesianas y se conoce como separacin direccional. 4
4
4
4
4
Figura A-1. Red bayesiana de ejemplo 4
Separacin direccional
Llamada d-separacin por Pearl [Pearl 88], se dice que existe separacin 4
direccional en un grafo dirigido acclico y conexo si, dada una distribucin de
probabilidad sobre sus variables, en un nodo cualquiera X el conjunto de sus
padres, pa(X), separa condicionalmente este nodo de otro subconjunto {Y} en el
que no haya descendientes de X. Esto es,
4
P(x pa(x),y) = P(x pa(x)) (A.4) 4
Se indica conexo aunque no es necesario por dos motivos, primero porque la 4
mayora de los algoritmos y propiedades de las redes bayesianas slo son correctos
para grafos conexos; y segundo, porque en caso de tener, por ejemplo, dos partes
inconexas se podran considerar como dos modelos independientes y trabajar con 4
ellos como dos redes separadas.

4
4
Apndice A 327

As, a partir de las definiciones anteriores se puede definir una red bayesiana
como: un grafo acclico dirigido y conexo mas una distribucin de probabilidad
sobre sus variables, que cumple la propiedad de separain direccional.
Por ltimo, destaquemos algunas propiedades de las redes bayesianas que se
deducen de las anteriores:
1.- Si un nodo no tiene padres, por ejemplo el nodo y de la figura A-1,
entonces la ecuacin (A.4) se traduce en P(v pa(v)) = P(v O) = P(v) que es la
probabilidad a priori del nodo V. Adems, aplicando la misma condicin tenemos
que P(s u) = P(s), puesto que el nodo U no pertenece a los padres de S. Por lo
tanto se puede concluir que dos nodos cualesquiera que no tengan un antepasado
en comn son independientes a priori.
2.- Si V es antepasado de S y ste es a su vez antepasado de P y no existe
ningn otro camino que permita llegar desde V a P, entonces V y P quedan
condicionalmente separados por S.

P(p s,v) = P(p s) (A.5)

3.- Dos nodos que son (a priori o condicionalmente) independientes


continuarn sindolo mientras no se conozca el valor de alguno de sus
descendientes. Por ejemplo, X y W en la figura A-1 son independientes aunque se
conozca el valor de P (no es un descendiente comn).

P(xw,p)=P(xp) (A.6)

4.- Dada una red bayesiana, su distribucin de probabilidad puede


expresarse mediante el producto de las distribuciones condicionales de cada uno
de los nodos de sus padres, una sencilla demostracin puede verse en [Diez 94].

= flP(x1 pa(x9) (A.7)

Esta propiedad es muy importante, puesto que permite describir una red en
trminos de la probabilidad condicionada en cada nodo (o la probabilidad a priori
en nodos sin padres), en lugar de dar una probabilidad conjnta en funcin de los
nodos existentes, lo que necesitara un nmero exponencial de parmetros. Sin
embargo, el nmero de parmetros necesarios para dar la probabilidad condicional
es proporcional al nmero de nodos (siempre que el nmero de padres y valores
de cada variable sean finitos).
4
4
328 Clculo de la credibilidad en redes bayesianas 4
Algoritmo para propagacin de la evidencia

Para mostrar cmo se propaga y calcula la evidencia en una red bayesiana 4


utilizaremos e algoritmo basado en paso de mensajes desarrollado en [Kim 83] y
posteriormente ampliado por Pearl para rboles [Pearl 88]. 4
Estudiemos primero el caso ms simple posible (silogismo), vase la figura A-
2, para introducir la notacin utilizada y comprender e mecanismo de propagacin 4
de la evidencia.
Consideremos un cierto atributo x, se define la credibilidad de x como la 4
probabilidad de ese atributo teniendo en cuenta la existencia 4e la evidencia e:

Cr(x)=P(xe) (AS) 4
Aplicando el teorema de -Bayes pero condicionado a la evidencia existente
sobre las causas del nodo X,
obtendremos,
&, y la evidencia sobre los efectos de X, ej 4
Cr(x) = P(x e4,e)
P(ex,e~).P(xe4)
PV el)
= 4
Pero como sabemos que ningn arco puede ir de la zona & a la zona de e y 4
aplicando la separacin direccional, se pueden considerar -independientes puesto

que se conoce x. As, podemos tomar P(e x,e~) = P(e x) y obtendremos


4
Cr(x) = P(e x)P(xe)
P(e ej
(A.10)
4
Esta ecuacin puede interpretarse como: 4
P(e e4) = a, puede considerarse como u factor de
normalizacin. 2
P(x J ej = uzjx) Credibilidad debida a las causas. Probabilidad 4
aportada a X debida a sus causas (normalmente
se incluyen factores a priori) y mide las 4
relaciones de x con sus causas,
P(e x) = 2(x) Probabilidad de los efectos de X supuesto X, es la 2
probabilidad terica que mide las relaciones de

4
4
<4
Apndice A 329

X con sus efectos <incluyen factores a


posteriori),
Con esta interpretacin obtenemos una nueva expresin para la credibilidad,

Cr(x) = a~ 2(4. zdx) (A.12)

Para calcular 1t(x) podemos aplicar la descomposicin condicional a todos los


valores de la causa U:

r(x)=P(xe+)=ZP(xu,e).P(ue)=XP(xu1Yff(uj) (A.13)
u u

Donde P(x/u) corresponde a la matriz de relaciones entre U y X; el sumatorio


representa la suma de cada uno de los valores que puede tomar ni para el valor del
nodo X (x) en estudio por el valor de la credibilidad de u~ (n(u)). Es decir, es la
suma de la credibilidad de los valores n1 ponderados por la influencia que tiene
cada Uj en la credibilidad de x.
Para calcular 2v<x), procedemos de la misma forma, pero teniendo en cuenta
el efecto de X y aplicando la propiedad 2, ecuacin (0.5), de separacin condicional
a P(e x,y), se obtiene:

2(x) = P(eS x) = XP(e x,y).P(y x) = ~2(y~).P(y, x) <A.14)


y y]

Donde P<ylx) corresponde a la matriz de relaciones entre los nodos X e Y; el


sumatorio representa la suma de cada una de las probabilidades de que ocurra un
efecto y1 conociendo la existencia de x por la probabilidad de los efectos de y1
(4y0). Es decir, es la suma de la probabilidad de los efectos de los distintos valores
que puede tomar y (yi) ponderados por el efecto que tiene cada valor y. sobre el
valor de X considerado.

=>

Figura A-2. Estructura en cadena.


4
4
330 Clculo de la credibilidad en redes bayesianas
4
4
4
4
4
4
Figura A-3 . Estructura en rbol.
4
4
4
4
4
4
Figura A-4 . Red simplemente conexa (polirbol).
4
Nodo X
4
Emite mensajes Recibe mensajes 4
m mensajes i~ (u) m mensajes ir~ (u)
n mensajes lty (x) n mensajes (x) 4
Tabla Al. Mensajes emitidos y recibidos por cada nodo.
4
4
4
Apndice A 331

En el caso de los rboles y polirboles (una red simplemente conexa) las


ecuaciones son ms complejas. Teniendo en cuenta los mensajes que un nodo
puede emitir o recibir, tabla A.1, partiendo de la ecuacin (A.1O) y teniendo en
cuenta la figura A-4, las ecuaciones para propagar la evidencia pueden calcularse
como sigue.
Para calcular 7t(x) podemos aplicar la descomposicin condicional a todas las
causas U de X:

zr(X)=P(x ej =EP(xiefl.PQ7,ek) =
u

=ZP(x7).P(ui,ex,...,un,ex)ZP(xu) flP(u e ) (A.15)


u u

ZP(xllPflffx(ui)
u =1

donde,

j) = P(x ej~) flP(eL. x)


,r>, (x) = P(x,eX) = P(x,4,eL,k != (A.16)
k!=j

. fl
,r~, (x) = ~r(x) 4 (x) (A.17)
kj

Para calcular ~ (x), recordemos que los descendientes de X pueden tener


ms padres adems de X, vase figura A-4,

2~(x)=P(eL, x)=ZZP(e~,y~,eX,vx)=
(A.18)
ZZP(e~ y~)P(y~ x,v)P(et< ,v x)
y, y
(y, )I1 (Aig)
4 (x) = ~[2YJ~PYJ x,V)fl~~
1-1 ~ J
Y finalmente 2(x) se calcula como anteriormente:
tu

2(x) = P(e7~~ ,...,e j~, x) = fl~t. (x) (A.20)


pl

Estas frmulas son recursivas, por lo tanto necesitamos una condicin de


terminacin para que el algoritmo est completo. Para ello recordemos que si un
nodo no tiene padres zr(x) = P(x) que es su probabilidad a priori y que es uno de
4
4
332 Clculo de la credibilidad en redes bayesianas 4
los parmetros que define la red. De esta forma tenemos resulto el problema de la
condicin de terminacin y adems vemos cmo puede incluirse la informacin a
2
priori en la red.
Pero tambin es necesarioconocerparatodonodohojaZ(nodosinhijos) 4
2(z). En caso de que no exista ninguna informacin sobre l se introduce el mismo
valor a cada una de las variables de ese nodo, por ejemplo 2(z) = 1. Puesto que un
vector constante no modifica el valor de la creencia de Z y por tanto no influye en 4
e resultado final. Sin embargo, si se obtiene cierta evidencia sobre ese nodo debe
incluirse en 2(z). Si el nodo sobre el cual obtenemos una cierta evidencia no es un 4
nodo hoja, por ejemplo S, el valor obtenido no debe sustituir a 2(s) sino
modificarla de la forma mostrada en la ecuacin (A.21) [Morawski 8gb]. Con esto 4
tenemos el mecanismo para introducir evidencia externa en cualquier nodo de la
red. Esta evidencia externa corresponder con las observaciones que se hayan 4
realizado con los sensores disponibles, los cuales no tienen porqu encontrarse en
nodos hoja, como se muestra en el ejemplo [Morawsld 89a]. 4
2(s) =~ . ~ (A.21)

Implenientacin distribuida

El algoritmo anterior es puramente recursivo, pero podra programarse como 4


una algoritmo iterativo si se necesitase menos gasto de memoria. En una
implementacin distribuida cada variable de la red corresponde con un proceso o 4
procesador (si se dispone de un procesador para cada variable). En este caso
adems de almacenar las probabilidades a priori y condicionales correspondientes
a ese nodo debe almacenar la estructura local de la red, es decir, conocer a qu 4
nodos est conectados y cuales son sus causas y sus efectos.

La implementacin distribuida mostrada a continuacin est tomada de


2
[Diez94]. Las ecuaciones anteriores se encuentran desacopladas y pueden
calcularse en paralelo de modo que sern las utilizadas en cada nodo, un exquema
de estas ecuaciones y su relacin se puede ver en la figura 0-5. Slo queda
4
describir qu mensajes y en qu momento puede enviarlos a cada nodo: un nodo X 4
puede enviar un mensaje a otro Z si y slo si ha recibido ya todos los mensajes
procedentes de los dems vecinos. Un nodo X con m causas y n efectos, como el de 4
la figura A-4, qe haya recibido q mensajes se encontrar en uno de los siguientes
estados: 4
2
4
Apndice A 333

1.- q =n + ni 2, el nodo X se encuentra esperando por lo menos dos


mensajes ms y por tanto no puede enviar ningn mensaje.

2.- q = n + ni 1, el nodo X ha recibido todos los mensajes que


esperaba menos uno (el del nodo Z, por ejemplo) por lo que puede
calcular y enviar el mensaje correspondiente a ese nodo (nodo Z).
3.- q = n + ni, el nodo X ya ha recibido todos los mensajes que esperaba
y puede enviar los mensajes que le faltaban por enviar.

2~(u1) 2~(u~)

u
u
u
u
u
u
1
u
u
1
u z~ (x) ... iry (x) 4, (x) ... 4

Figura 0-5. Clculos en el nodo distribuido X.


(x)
4
4
334 Clculo de la credibilidad en redes bayesianas 4
No es necesario tener un mecanismo global de control puesto que es posible 4
mostrar que siempre hay algn nodo dispuesto a enviar algn mensaje y que el
proceso no se interrumpe hasta que el algoritmo se haya completado. Esto es muy 4
interesante puesto que permite construir la red distribuida como una red asncrona
donde el nmero de mensajes recibidos determina qu mensajes pueden ser
U
calculados y enviados a cada nodo.
Herramientas software 4
Existen en el mercado multitud de programas y herramientas grficas para el
diseo, evaluacin o aprendizaje de las redes bayesianas. En [Almond WXX~V] y en
4
[Santos WWW] se describen distintas herramientas comerciales o de libre
distribucin e indican donde encontrarlas. 4
Por ejemplo, entre los programas de libre distribucin se puede disponer en
la Universidad Carnegie Mellon (CMU) de una implementacin en Pascal del
algoritmo de Pearl para redes en forma de rbol [Morawski 89]; MSBN,
4
desarrollado por el grupo de investigacin en teora de decisin de Microsoft 4
soporta Windows 95 y NT y permite crear redes de creencia de forma grfica,
evaluar dinmicamente las redes, crear diagramas de influencia y tomar decisiones 4
para la resolucin de problemas [Heckerman 95]; Pucinella, desarrollado en el
IRIDIA, Universidad libre de Bruselas, est escrito en CommonLisp y consta de
una librera de funciones para crear, modificar y evaluar distintos mtodos de 4
tratamiento de incertidumbre como la teora de la probabilidad, Dempster-Shafer
o la teora de la posibilidad [Saffiotti 91; Safflotti 94]; y muchos otros. 4
Existen tambin gran nmero de herramientas comerciales que utilicen
redes bayesianas, por ejemplo Grapl-ical-Belief 2.0, sucesora de Belief 2.1
desarrollada por Almond en la CMU, es una implementacin en CommonLisp del
4
algoritmo de Dempster y Kong y el de Lauritzen y Spiegelhalter para modelos 4
grficos probabilsticos, utiliza redes bayesianas y diagramas de influencia y su
caracterstica principal es que permite el uso de funciones de creencia y 4
distribuciones de probabildad; Dxpress, comercializado por la compaa
Knowledge Industries (KI) dirigida al desarrollo de sistemas expertos, es una 4
herramienta grfica que permite representar el conocimiento de un problema
mediante redes bayesianas, orientado a problemas de diagnstico, control de
4
procesos y diagnstico mdico; HUGIN, desarrollada en la universidad de Aalborg

4
4
Apndice A 335

y compatible con sistemas Unix y Windows 95, es una herramienta grfica para
desarrollar redes bayesianas, permitiendo introducir incertidumbre en sus
parmetros [Andersen 89; Jensen 96]; etc.
4
4
336 Clculo de la credibilidad en redes bayesiatas

4
4
4

4
4
4
4

2
Apndice B

Metodologa ROOM
BOOM (Real-Time Object-Orient Modeling) [Selic 95] es un lenguaje de
especificacin grfica, orientado a objetos, para modelar sistemas de tiempo real.
Sus principales caractersticas son:

- Orientado a eventos, lo que permite que el modelo se adapte


perfectamente a los sistemas reactivos.

- Concurrencia, caracterstica propia de la definicin de los elementos


bsicos de BOOM. Es bsica en cualquier sistema empotrado de
tiempo real, y en sistemas robticos es imprescindible debido a la
propia naturaleza del problema.

- Distribucin, la abstraccin de los objetos como mquinas lgicas y


la creacin de una mquina virtual en BOOM permiten la
distribucin de las tareas entre distintas mquinas. Esta facilidad es

u aconsejable en robots mviles debido a la gran necesidad de clculo


que requieren sus funciones y que obliga a distribuir su
procesamiento en distintas mquinas para poder cumplir las
3 restricciones de tiempo necesanas.

- Recursividad, permite especificar un modelo con varios niveles de


detalle. Puede darse a dos niveles:, a nivel de objetos, objetos
complejos pueden definirse a partir de otros objetos; y a nivel de
estados, el comportamiento de un objeto se modela como una

337
4
338 Metodologa BOOM
mquina de estados jerrquica en la que los estados se descomponen
en subestados hasta el nivel de profundidad necesario. 4
Modelado incremental, permite la expresin y verificacin de las
4
-

propiedades del modelo del sistema de modo incremental.

Reutilizacin, puesto que soporta el paradigma de la programacin


4
-

orientada a objetos. Esto permite la reutilizacin de objetos y la


herencia como un mecanismo potente en la captura de la
abstraccin.
En este trabajo se aprovechar la parte ms bsica del lenguaje de modelado
BOOM, fundamentalmente su especificacin grfica y su filsofla de mensajes.
Esto es suficiente para modelar las tareas y sistemas de control de nuestro robot de 4
forma clara, concisa y coherente.

Por ello, este apndice no pretende se un resumen completo de las 4


caractersticas de BOOM sino slo de aquellas que han sido utilizadas en la
presente tesis o aquellas que permiten aclarar conceptos sobre BOOM .o sobre su
utilizacin. As, a continuacin se presentan algunas definiciones y, caractersticas
4
propias de BOOM. 4
Actores

Un actor es una mquina lgica que representa una unidad funcional


independiente que puede ejecutarse concurrentemente con otros actores. Cada
actor desempea una tarea dentro del sistema diseado y puede comunicarse con 4
el resto de actores a travs de las conexiones marcadas. Como podemos ver, un
actor representa un objeto activo que tiene un propsito claramente definido. 4
Activo se refiere a que puede ejecutarse concurrentemente con otros objetos
activos (actores). Un actor es un elemento semejante a lo que se conoce como 4
agente.

Los datos sobre los que trabajan los actores no son compartidos entre ellos, 4
sino que se comunican mediante paso de mensajes. Un actor abstrae la
informacin que contiene y no deja que sea manipulada por e exterior. 4
Interfaz entre actores
BOOM define tres formas diferentes de interfaz: Puertos, Puntos de acceso 4
a servicios (SAP, Service Access Points) y los Puntos de provisin de servicio (SPP,
Service Provision Points).

4
a
Apndice B 339

De forma somera, puede decirse que los Puertos son puntos de


comunicacin entre actores o elementos de la misma capa y los SAP y los SPP son
servicios que proporciona un sistema de abstraccin de la mquina donde se
ejecuta el actor denominado mquina virtual.

Notacin grfica

Una referencia de una clase actor viene representada por un rectngulo con
un nombre nico. Los puertos se representan por pequeos cuadrados situados en
su permetro, vase la figura B-la). Si son negros son tal como se explican en su
definicin, si son blancos representan el conjugado del puerto indicado (los
mensajes de entrada son de salida y viceversa).
Por supuesto, los nombres de los puertos deben ser los utilizados en la
definicin del actor. En la definicin de la clase de la que se instancian diferentes
actores, la representacin de los puertos cambia para indicar que es una clase y no
una instancia concreta de dicho actor. En este caso su permetro ser con trazo
grueso y sus puertos se representarn por cuadrados con un crculo inscrito
(cuadrado negro y crculo blanco, o a la inversa para el conjugado) como se
muestra en la figura B-lb).

Ptconsigna NavegonteaFusion

[T~9V7L
~jj1 DriverMotor
iv Motor_a_Driver

DatoEstado Fusion a Motor

a) Clase ControlMotores b) Actor instancia de la clase ControlMotores


Figura Li. Representacin de una Clase Actor y su instaucia.

Mensajes yprotocoos

La comunicacin entre actores, como ya se indic anteriormente, se


establece exclusivamente mediante paso de mensajes. La informacin a transmitir
se pasar a un Objeto mensaje que se enviar al actor correspondiente mediante un
Servicio de comunicaciones.
4
340 Metodologa BOOM 2
Se puede utilizar tanto comunicacin Sncrona como Asincrona.

Mensajes: Es un tipo especial de objeto de datos que contiene los siguientes 4


campos: una seal, una prioridad y un tipo de datos (opcional). Si no se envan
datos en un mensaje se especifica por NULL. 4
Mensaje: {seal, prioridad, tipoDatol

Protocolos: Representa el patrn segn el cual se realizar el intercambio de 4


mensajes entre los actores. En el se representan las seales y tipos de datos que se
utilizarn como entrada y como salida. 4
El protocolo conjugado (Y) es un protocolo.igual. al P pero cuyos mensajes
de entrada son los de salida de P y los de salida son los de entrada de P. Por 4
ejemplo, el protocolo correspondiente a los puertos del actor de la figura B-1 son:

Protocol clasa Navegante a ControlMotor


4
In: { <nueva_consigna, mio_consigna>, (E_emergencia, null}

Out:
_ _ 4
Protocol class Fusion a Motor

lo: { { (nuevo_est,
Cur: _ nuil>,
_
tipo_estado
(mensaje fin, _ u>
<mensaje_u, 4
Protocol cines Motor a Driver
In: { {lectura_seal, tipo lectura
Our: { {seal_control, tipo control}
4
4
Composicin de los actores 4
Los tipos de relaciones estructurales posibles son: relaciones de
comunicacin y relaciones de contencin. 4
Las relaciones de comunicacin se representan mediante uniones fsicas
entre dos puertos, que deben ser compatibles. La unin entre dos actores viene 4
dada por un puerto y su conjugado. Por supuesto, la secuencia de mensajes deben
ser compatibles. Un puerto que no est conectado no podr recibir mensajes y lo
4
que se enve por l no lo recibir nadie.
Las relaciones de contencin, permiten construir actores a partir de otros 4
actores encapsulando propiedades y funciones de distintos actores. Esto permite
una mayor abstraccin de la funcionalidad del actor y de su implementacin,
4
permitiendo a su vez una mejor depuracin.

2
4
Apndice B 341

En los actores compuestos el comportamiento est en los actores que lo


componen y en un comportamiento propio denominado componente
comportamiento o simplemente comportamiento. Estos actores presentan
componentes de interfaz con actores externos y con los actores contenidos en l y
pueden referirse a estos ltimos directamente.

Puertos

Un puerto es el elemento que representa el conjunto de mensajes definidos


por el protocolo de una clase, representa el interfaz de los actores con una clase en
particular. Un puerto se encarga de enviar, recibir y colocar en una cola los
mensajes que llegan a l.
Tiene dos partes una de entrada y otra de salida. El protocolo P asociado con
el puerto, siempre se define con respecto a la parte de salida. Esto es, mensajes
que le lleguen a la entrada.
Clasificacin de los puertos - -

Puertos de transmisin o repetidor (reay pons): se conectan con un


componente actor de igual nivel. Los mensajes que le llegan no son vistos por la
componente comportamiento. Aparecen en el permetro de un actor. Se
representan mediante un rectngulo (negro o blanco) en los actores internos,
puertos el, e2, y e4 que representa puertos externos al actor; y mediante un
rectngulo blanco inscrito en uno negro (o viceVersa) para los puertos de
transmisin de conexin al exterior, por ejemplo el puerto p3 de la figura B-2, que
conecta el actor A2 con el exterior.

Puertos finales: (los puertos pl, p2, eS) pueden ser acreditados o
referenciados por el comportamiento. Son el enlace entre la estructura y el
comportamiento puesto que son visibles en ambas dimensiones. Pueden ser de dos
clases:
- Puertos finales externos: puertos parte del int~rfaz del actor
conectados directamente con el comportamiento, por ejemplo los
puertos pl yp2 de la figura B-2.
- Puertos finales internos: conectan el componente comportamiento
con un actor interno, por ejemplo el puerto eS.
4
4
342 Metodologa BOOM 4
4
2~
p3
4
4
Figura B-2. Tipos de puertos.
4
Rplicas o Reproducciones (Ileplicatives) 4
BOOM proporciona rplicas de actores y rplicas de puertos: se utilizan para
modelar referencias mltiples a una clase actor o a una clase protocolo. La rplica
es un atributo de la referencia y no de la clase.
4
Una rplica de un actor retresenta mltiples referencias a actores iguales. Se 4
denomina factor de rplica a un entero que indica el nmero mximo de replicas
de un actor que pueden utilizarse simultneaffiente en tiempo de ejecucin. Su
representacin es mediante borde doble y un rectngulo en su esquina superior
4
derecha donde se indica el factor mximo de rplica como puede verse en la figura 4
B-3a).
Las rplicas pueden ser de un actor fijo (el factor es fijo), de un actor 4
opcional (se puede crear dinmicamente hasta el mximo indicado en el factor de
rplica) o de irn actor importado (igual que en los actores opcionales). 4
Rplica de puertos: coleccin de puertos en un actor que tienen el mismo
protocolo y nombre. Lo normal es que sirvan para conectarse a actores replicados. 4
Los mensajes enviados/recibidos a un puerto replicado son difundidos a todas las
copias de puertos de ese tipo. Se representan, como puede verse en la figura B-Sb,
4
por un doble borde.

4
4
4
4
Apndice B 343

a) Replica de un actor 8) Replica de puertos (Externos, de Comunicacin y Finales)

Figura B-3. Rplica de una actor y de los puertos

Estructuras dinmicas

Actores dinmicos
Estos actores, denominados actor opcional, no son creados cuando es creado
el actor que lo contiene sino posteriormente. Incluso, una vez creado puede ser
destruido. La notacin grfica para un actor opcional puede verse en la figura 0-4.
La opcionabilidad de un actor es un atributo del objeto actor en lugar de un
atributo de la clase, lo que permite una mayor reusabilidad. Cuando un actor es
creado dinmicamente todos sus componentes son creados automticamente con
l y los puertos que poseen son activados de modo que los canales de
comunicacin se encuentran preparados para aceptar mensajes inmediatamente.
La creacin Sz destruccin de actores opcionales es realizado por el componente
comportamiento del actor continente. Por esta razn es imposible destruir el
componente comportamiento.

Pl

Figura B-4. Actor opcional


4
344 Metodologa BOOM 2
Relaciones dinmicas de actores 4
En este caso, la necesidad de que un actor ya existente establezca una 4
relacin dinmica con otro es lo que da lugar a este tipo de capacidad, y al actor se
le denomina actor referencia importado, su notacin grfica puede verse en la

figura B-5. Este actor es semejante a una plantilla en la que es posible insertar
4
dinmicamente un actor ya existente de otro marco. Como analoga con los
lenguajes de programacin, podra ser comparado a una declaracin de tipo
puntero.
4
Un actor particular puede ser colocado en el hueco de un actor importado 4
por el comportamiento del actor que lo contiene. Esta operacin se conoce como
importar, la operacin inversa se denomina deportar. 4
Un actor puede ser insertado en una referencia importada slo si es
equivalente al actor de referencia importado. Esto es, slo componentes que han 4
sido explcitamente diseados pueden ser importados en un hueco dado.

Las restricciones impuestas a travs de equivalencias permiten un control 4


ms refinado sobre la sustitucin de parmetros que los lenguajes polimrficos
tradicionales. Esto se debe a que las equivalencias no slo limitan qu clases 4
pueden ser sustituidas, sino tambin qu referencias particulares pueden ser
sustituidas. Esto es esencial si la integridad de la arquitectur debe ser preservada, 4
ya que las relaciones arquitectnicas se definen entre referencias mejor que entre
clases. 4
4
4
Pl
4
4
Figura B-5. Actor de referencia importado 4
4
2
2
Apndice fi 345

Descomposicin en capas

Un actor es una estructura jerrquica que puede contener otros actores. Se


define por una especificacin de clase que incluye entre sus atributos, la
especificacin de la estructura contenida. El espacio encerrado dentro de un actor
se denomina Marco (decomposition frame) y los actores que aparecen en l se
denominan actores iguales o pares (peer).

Una capa en BOOM es sencillamente un actor con algn interfaz


especializado. Est basada en el modelo OSI (Open System Interconnections) y es
una relacinjerrquica.

- La capa inferior se puede ver como una mquina programable virtual


abstracta. La capa superior es el programa que dirige las operaciones de la
maquina. Se denominan servicios a las facilidades que proporciona la mquina
virtual.

Una de las premisas principales de la estratificacin es que una capa slo


depende del intrprete inmediatamente debajo de l y no de otras capas bajas.
Todas las interacciones entre capas adyacentes en BOOM tienen lugar en puntos
discretos de la frontera entre capas denominados Service Access Points o SAPs.
Hacia abajo se hacen peticiones de servicio invocando primitivas u operaciones
asociadas con el servicio por debajo del SAP. Por ejemplo, mandar un mensaje a
un par remoto o contestar a ste. Hacia arriba, notifica la llegada de un mensaje
originado por un par remoto o los resultados de un procesamiento de una peticin
de - servicio anterior (confirmaciones). Las definiciones de un mensaje y los
protocolos para la comunicacin entre capas es idntica a la especificada
anteriormente.
SAP = (Service Access Point) asociado a la capa supenor.
SPP = (Service Provtsion Point) asociado a la capa inferior.
Siempre el protocolo de un SPP es el conjugado de un SAP. Se representa
con un arco dirigido, cuya flecha apunta del usuario del servicio al servicio
proporcionado. La conexin explcita entre un SAP y un SPP se hace mediante la
conexin entre capas, y se comporta en todo lo dems como la comunicacin va
puertos. El actor que contiene un SPP se define como una capa de servicios. El
actor que posee el SAP se considera como, la capa que usa el servicio, figura B-6.
4
4
346 Metodologa BOOM

La comunicacin entre capas permite el paso de mensajes entre actores sin la 4


necesidad de un enlace explcito, permite desarrollar de forma independiente
como capa actores de alto nivel que representan servicios, a nivel de 4
implementacin, centralizados y ampliamente compartidos. Su integracin se hace
en tiempo de ejecucin. 4
4
4
4
Conexin SAP-SPP
4
(en tiempo de
4
4
Figura B-6. Servicios SAP y SPP.
4
4
Diagramas de ROOM
2
Los diagramas de BOOM representan estados y transiciones. En un estado 4
siempre se espera que ocurra un evento para producir una transicin. En todo
momento se examina la llegada de cada mensaje para ver si satisface las
especificaciones de disparo de cualquiera de las transiciones ligadas al estado
4
actual. Si no es as no se hce nada. Una transicin lleva de un estado a otro. Cada
transicin puede tener una accin asociada. La accin consiste en un conjunto de
4
pasos qu se limitan a operar sobre los siguientes objetos;

Variables de estado extendidas.


4
4
4
4
Apndice fi 347

Variables temporales para resultados intermedios durante la ejecucin


de la accin.
Objetos de interfaz (puertos internos, SAPs, SPPs) para comunicarse
con otros objetos.
El mensaje que caus el suceso se guarda automticamente en una variable
de estado extendida predefinida. msg es el puntero al mensaje.

Cuando se crea un actor se realiza una transicin inicial. La transicin inicial


saca al actor del estado Inicio para que comience su funcionamiento normal
(caracterstica que distingue un objeto activo de uno pasivo). Esta transicin puede
tener una accin asociada que se puede usar para iniciar las variables de estado
extendidas y para enviar mensajes de sincronizacin con otros actores.
Se denomina punto inicial al punto de arranque fuente de la transicin
inicial. No es un estado, slo puede haber una transicin desde (1). Cuando el actor
se crea dinmicamente puede recibir un mensaje inicial para provocar la transicin
inicial.

Transiciones
Toda transicin ocurre por la llegada de un mensaje por uno de los
componentes de interfaz. Una especificacin de disparo consta de los siguientes
tres elementos

t: {seal, puerto, [condicinil


Seal, especifica una seal que debe ser vlida segn la especificacin del
protocolo asociado con el componente de interfaz. Puerto, es el nombre del
componente de interfaz (puerto, SAP o SPP). Condicin, es una expresin
booleana (condicin de guarda) que se evala automticamente cuando se gestiona
la seal recibida y si es TRUE se realizar la transicin correspondiente. Si no se
especifica guarda, por defecto es TRUE.

Otros tipos de disparo son:


Disparos compuestos: una transicin puede ocurrir por ms de
un suceso. Se especifica con or
- Disparo universal: es causado por cualquier seal vlida (si se
verifica la guarda>. Por ejemplo, {t4,guarda}
4
4
348 Metodologa BOOM

A las transiciones se le asignan nombres que tienen que ser nicos para cada 4
estado. En otros estados se pueden usar el mismo nombre. En el ejemplo de la
figura B-7 se han denominado los distintos eventos con evN adems de mostrar la 4
transicin y la accin que lleva asociada.
La especificacin de transiciones con clusulas del tipo and se pueden 4
hacer utilizando estados intermedios, de modo que cuando se recibe se pasa a otro
estado donde se espera otra seal y as sucesivamente, lo que lleva a crear un rbol
de estados con todas las combinaciones posibles de las seales.
4
4
4
4
4
4
4
4
4
Figura B-7. Ejemplo de un diagrama de estado
4
Acciones de entrada y acciones de salida del estado 4
Son opcionales (por ejemplo el evento ev5 no tiene asociada ninguna accin
en la accin>. Las acciones a realizar pueden realizarse en la transicin de un 4
estado a otro (por ejemplo el evento ev3> o en ese estado (a la entrada del estado
Esperan..pos). Cuando es una autotransicin (ev4) se realiza de la misma forma.
Siempre se ejecuta la accin de la transicin que se realiz en ese estado.
4
4
4
u
Apndice C

Sistema sensorial del robot


El robot tiene unas dimensiones de 65x65 cm. Y una altura mxima, debido
al captador de balizas, de 1.75 m. Su peso es de unos 60 kg. aproximadamente.
Dispone de dos potentes motores, uno para cada rueda que se controlan
individualmente, de corriente continua de 150 w. Con dinamo incorporada que
permite obtener la velocidad de las medas con precisin sin necesidad de ningn
tipo de integracin de la velocidad. La controladora de cada motor dispone de un
circuito con estabilizacin de la velocidad.
Para la alimentacin de los motores dispone de dos bateras de 47 A. que
permiten al robot una autonoma de aproximadamente 30 minutos.

En cuanto a los sensores incorporados al robot, adems de la dinamo,


disponemos de:

Sensores de estado:
Encoders. En cargados de medir el giro de cada una de las
ruedas, permiten obtener el desplazamiento y giro del robot. Los
encoder utilizados son un modelo de HP de la serie HEDS-5500
con una precisin de 2000 pasos por vuelta. El circuito de
adaptacin que se encarga de la cuenta de los pasos de encoder es
el HCTL-2020 que dispone de un contador de 16 bits.

349
4
4
350 Sistema sensorial del robot 4
Brjula magntica. Permite conocer la orientacin del robot con
respecto al norte magntico. Tiene una precisin de hasta una 4
dcima, de grado aunque su error en las dcimas de grado es
grande. La brjula digital es una Azimuth 314AC con una unidad
display de 25. Se comunica con la computadora por el puerto
serie con una frecuencia de 1 mensaje por segundo codificados
<4
segn el estndar NMEA 0183 de la marina de los EEUU. 4
Balizas activas. Permiten conocer la posicin del robot con una

precisin de centmetros. Se han construido mediante


ultrasonidos de 40 Kciclos. Su distribucin es: ds receptores en
4
alto a los lados del robot y dos emisores de baliza en puntos fijos 4
del entorno. Ambos constan de una roseta de receptores y de
emisores de ultrasonidos respectivamente para permitir un 4
funcionamiento omnidireccional.

Sensores de entorno: 4
Cinturn de ultrasonidos. El cinturn de ultrasonidos alrededor
del robot permite localizar obstculos en su entrno. Consta de 12 4
emisores d 40 Kciclos y de un rango de medida ajustable, que en
nuestro caso es de 30 cm. hasta 5 m. Su disposicin es la mostrada 4
en la figura. -

4
Torretas
mviles
4
4
4
Receptores de
balizas artificiales 4
Figura C-8. Sensores de entorno 4
4
4
2
Apndice C 351

Torretas mviles. Permiten localizar obstculos y realizar un


-.anlisis de la forma u orientacin de los objetos detectados. Consta
de un emisor de 40 Kciclos y de tres receptores, lo que permite
percepcin triaural con posibilidad de anlisis de la envolvente de
los ecos recibidos. El robot dispone de dos torretas, una en la parte
delantera y otra en la trasera ambas mviles con un motor paso a
paso de precisin 3 grados.
352 Sistema sensorial del robot
Apndice D

Matrices del modelo del sistema y de los sensores


El modelo de movimiento del mvil y de los sensores ya ha sido descrito en
la seccin 3.5.1. Aqu se mostrarn las matrices utilizadas en el filtro de Kalman
para el caso centralizado y el caso distribuido.

Filtro de Kalman centralizado y distribuido


En el caso centralizado se dispone de un vector de estado grande debido al
aumento de estados necesario para la brjula y los encoders. El estado final ser,

Estos seis estados sern utilizados en un filtro de Kalman centralizado y


pueden utilizarse igualmente en el filtro de Kalman distribuido, obteniendo las
siguientes matrices:
- Matrices del sistema y de ruido:
La matriz del sistema, modelo de primer orden, utilizada en el filtro
centralizado o en el filtro de cada sensor en caso distribuido ser,
1 0 St,V O O O
0 1 St, .V.,9(t,) O O O
00 1 0 00
o o 1 ~ 0 (0.22)
y y
00 0 0 00
00 0 0 00

353
4
4
Matrices del modelo del sistema y de los sensores
354
4
Y la estima inicial del estado del mvil y su covarianza son,

X1(0[0)=(0,O,0,0,O,O/ (0.23)
4
1000 o o o o o 4
o 1000 o o o o
o
0
o
o
1000
O 1000
o o
o
o
o
(0.24) 4
O
0
o
o
o
o
o
o
1000
o
o
1000
4
- Matrices del modelo de los sensores 4
La covarianza del ruido Gaussiano de los estados (Q) su matriz de ganancia
(G) y la covarianza de la precisin en la observacin (E) correspondiente a cada
uno de los sensores son:
4
a) Brjula magntica: 2
(0.25)

G~(t,)=L0 o St, o o of (0.26)


4
(0.27) 4
b) Balizas artificiales:

4001
4
14 21 (0.28)
4
St
o
o
St,
o
O
4
G~Q,) =
o
o
o
o
St,
o
(0.29> 4
o
o
o
o
o
o 4
0.01 0111 (0.30)
4
4
4
4
Apndice D <355

c) Odmetros:

00 0
00 0
o o (0.32)
00 0
o St, O
o o 5t,~

0 01
ReO~) = 0 0.2 0 (0.33)
Lo o 0.2j
Estas matrices pueden utilizarse en los sensores distribuidos de la forma
descrita en el Captulo 3. El uso de este tipo de matrices permite la comparacin
directa con el filtro centralizado, pero provoca un aumento en el tamao de las
matrices utilizadas.

Filtro de Kaiman completamente distribuido


Un alternativa a las matrices propuestas anteriormente es la utilizacin de
modelos separados para cada sensor. De esta forma se pueden aadir o eliminar
sensores sin que su uso afecte a los dems, al tener que modificar el vector de
estados utilizado. En este caso el vector de estados que se comunica entre los
sensores es exclusivamente los estados de inters del mvil y los estados internos
de cada sensor se utilizan de forma independiente por parte de cada sensor sin ser
comunicados a los dems.
La matriz lineal del modelo de transicin de estados ser distinta para cada
sensor, por ejemplo:
Modelo utilizado por la brjula:

~ StgV.~9Q,) - (0.34)
4
4
356 Matrices del modelo del sistema y de los sensores
u]
Y la estima inicial del estado del mvil y su covarianza son,

, (00) = (0,0,0,0)~ (0.35)


u]
o 0 01
P,(00)=~0
1000 0
0 1000
0
0
(0.36) 4
o o oooj 4
h i9(t)I
Modelos para la baliza y los encoders:

o St 4
F] (5 t,) = (0.37)
1
o
Se,V
4
10 5 t y 00
4
0 1 St, V.9(t,)
F(St,)= O o 1
00
00 (0.38) 4
00 o 00
o o o 00 4
Y las matrices de covarianzas son semejantes a la de la brjula.

La covarianza del mido Gaussiano de los estados (Q) su matriz de ganancia


4
(C) y la covarianza de la precisin en la observacin (U) correspondiente a cada
uno de los sensores son: 4
- a) Brjula magntica:

Q~ (t,) = 20 (0.39>
4
G, (9 = [o O St, OF (0.40) 4
(0.41)
4
b) Balizas artificiales:

001 4
9b(t,) = 14 0 (0.42)
o 4j 4
4
4
4
u
u
u Apndice ID ~ ~ 1

u ~ (0.43>

u [0.01 0

u R~(t,) = O OJ1 Oj (0.44)

u c) Odmetros:

3 Q~(t1)=[O ~ (0.45>

u
u Ge(tj= O
o
O
st, St,
o
(0.46)

u st,
0.2
o
0 01
u Re(t,)=~ 0
o 0.2
O 0
0.2j
(0.47>

u
u
1
u
u
u
u
u
u
358 Matrices del modelo del sistema y de los sensores

u]

4
u]

4
u]
4
4
4
u]
u]
4
4
4

You might also like