comparativa algoritmos fusion
TRANSCRIPT
-
7/29/2019 Comparativa Algoritmos Fusion
1/24
Grupo de Automtica, Robtica y Visin Artificial
Departamento de Fsica, Ingeniera de Sistemas y Teora de la Seal
Comparativa
Algoritmos Fusin
MoCap-UWBPublicacin Interna 14
04-04-2008
Francisco A. CandelasHeras
Juan A. Corrales Ramn
-
7/29/2019 Comparativa Algoritmos Fusion
2/24
PubInt14
Comparativa Algori tmos Fusin MoCap-UWB
1
1.-Motivacin de la fusin sensorialEn dos informes anteriores [1, 2], presentamos una descripcin pormenorizada de los dos
sistemas de localizacin de los que disponemos: GypsyGyro-18 y Ubisense. El anlisis
desarrollado nos ha permitido valorar con datos empricos cules son las fortalezas y las
debilidades de ambas tecnologas. En la siguiente tabla se comparan entre s:
Ventajas Inconvenientes
GypsyGyro
Frecuencia de muestreo alta (60-120FPS).
Muestreo constante y estable. Localizacin de todas las articulaciones
del cuerpo.
Alta precisin en las medidas derotacin de las articulaciones (errores
inferiores a 1).
Infraestructura necesaria para lainstalacin reducida.
Baja precisin en la medida global detraslacin del nodo raz debido a la
acumulacin de errores (drift) a lo
largo del tiempo.
Las interferencias magnticas causanerrores en los ngulos de guiada
(rotacin Z).
Sistema de coordenadas establecidoen cada inicializacin del sistema.
Ubisense
Errores asumibles en las medidas detraslacin (errores inferiores a 20cm).
Inmunidad ante interferenciaselectromagnticas.
Infraestructura necesaria para lainstalacin reducida.
Sistemas de coordenadas fijo.
Frecuencia de muestreo baja (4-7FPS).
Frecuencia de muestreo variable,dependiente de las condiciones de
recepcin de los pulsos UWB.
Localizacin global de la persona sininformacin de las articulaciones.
Tabla 1. Comparativa entre los sistemas GypsyGyro-18 y Ubisense.
Si comparamos las ventajas e inconvenientes de ambos sistemas, podemos comprobar
como son complementarios. As, mientras que la frecuencia de registro de medidas del
Ubisense es baja y variable, en el GypsyGyro es alta y estable. En entornos industriales se
buscan sistemas con muestreos altos para evitar latencias altas en el funcionamiento del
sistema. Por otra parte, el GypsyGyro presenta errores en los datos de traslacin global del
usuario (localizacin del giroscopio situado en las caderas) mientras que el Ubisense
registra con precisin la localizacin de la etiqueta que lleva el usuario.
-
7/29/2019 Comparativa Algoritmos Fusion
3/24
AUROVA F. A. Candelas, J. A. Corrales
2
La motivacin inicial para el uso del Ubisense era la acumulacin progresiva de errores
(drift) en las medidas traslacionales del GypsyGyro. Por ello, la primera estrategia en la
que podramos pensar es sustituir simplemente las medidas traslacionales del GypsyGyro
con las medidas devueltas por el Ubisense. De este modo, aumentaramos la precisin
traslacional del sistema. No obstante, esta estrategia no es idnea debido a las deficiencias
del sistema Ubisense. En particular, no es conveniente utilizar slo las medidas
procedentes del Ubisense porque su frecuencia de muestreo es demasiado baja. Esta baja
frecuencia en el registro de las medidas da lugar a que durante intervalos de tiempo
demasiado largos no se reciba informacin de localizacin del Ubisense.
Por ello, es necesario combinar las medidas traslacionales de ambos sistemas para mitigar
sus deficiencias. Por una parte, la alta frecuencia de muestreo del GypsyGyro permitir
corregir las altas latencias del Ubisense. De este modo, en los intervalos temporales donde
no se reciban medidas del Ubisense, podremos utilizar las medidas del GypsyGyro. Por
otra parte, las medidas del Ubisense permitirn eliminar el error acumulado por las
medidas traslacionales del GypsyGyro.
En un informe anterior [3] se presenta una primera aproximacin a un algoritmo de fusin
de las medidas de ambos sistemas. Este algoritmo tiene como principal inconveniente su
dependencia directa de las medidas obtenidas del sistema Ubisense. Cada vez que se
registra una nueva medida del Ubisense, sta se establece como nuevo punto en la
trayectoria para corregir el error que ha ido acumulado el GypsyGyro. Por ello, cuando el
Ubisense suministra medidas muy espaciadas en el tiempo, se producen saltos en la
trayectoria al pasar de la ltima medida del GypsyGyro a la medida actual del Ubisense.
Estos saltos son importantes (de ms de 50cm) cuando el humano se desplaza ya que el
Ubisense presenta una frecuencia de muestreo insuficiente y devuelve muy pocas medidas
diferentes. Adems, este algoritmo slo corrige la acumulacin de error del sistema
GypsyGyro pero no tiene en cuenta el posible error de las medidas del sistema
Ubisense. Por ello, se vuelve necesario desarrollar un nuevo algoritmo que tenga en cuenta
los errores de ambos sistemas y que evite la aparicin de saltos excesivos en la trayectoria
cuando se reciba una medida del Ubisense muy espaciada en el tiempo con respecto a la
anterior.
-
7/29/2019 Comparativa Algoritmos Fusion
4/24
PubInt14
Comparativa Algori tmos Fusin MoCap-UWB
3
En primer lugar presentaremos las distintas tcnicas utilizadas en investigaciones previas
para combinar medidas procedentes de sensores inerciales (como los sensores del
GypsyGyro) con otros tipos de sensores. A continuacin, teniendo en cuenta dichas
tcnicas, expondremos los tres algoritmos que hemos desarrollado. Finalmente,
presentaremos varios experimentos que nos han permitido comparar estos algoritmos.
2.-Trabajo previo en fusin sensorialLa estimacin de la localizacin (posicin y orientacin) mediante sensores inerciales es
un campo ampliamente estudiado y aplicado en distintos mbitos: navegacin de
vehculos, realidad virtual (VR), realidad aumentada (AR), robtica y sistemas de captura
de movimiento. En estos sistemas, las posiciones y orientaciones del elemento a localizar
se calculan mediante la integracin de las aceleraciones y velocidades angulares devueltas
por acelermetros y giroscopios, respectivamente. Sin embargo, este proceso de
integracin va acumulando un pequeo error (drift) a lo largo del tiempo que se vuelve
considerable en unos pocos segundos. Por ello, los sistemas de localizacin basados en
sensores inerciales suelen utilizar sensores adicionales (P. Ej.: GPS, ultrasonidos, sensores
magnticos, cmaras, transceptores UWB y WiFi) que devuelven medidas de localizacin
absolutas que permiten corregir el error acumulado. En estos sistemas de localizacin
hbridos se utilizan tcnicas bayesianas para estimar de manera estadstica la localizacin
(estado del sistema) a partir de las medidas (observaciones) con ruido de los sensores.
Existen dos tcnicas principales a la hora de implementar la definicin abstracta del filtro
de Bayes [4]: el filtro de Kalman y el filtro de partculas. A continuacin, vamos a
presentar las diferentes adaptaciones de estas dos tcnicas utilizadas en investigaciones
anteriores para combinar medidas de diferentes sensores.
Una primera aproximacin para integrar las medidas de varios sensores en un filtro de
Kalman es mediante la utilizacin de un filtro de Kalman complementario. Los filtros de
Kalman complementarios estiman los errores de las medidas de los sensores sin cambiar la
estructura interna genrica del filtro. Estos filtros reciben como entrada la diferencia (error)
entre las medidas de los sensores en lugar de las medidas directas de los sensores. Foxlin
ha desarrollado una IMU (Inertial Measurement Unit) basada en un filtro de Kalman
complementario para el seguimiento de la cabeza de una persona en entornos virtuales [5]
-
7/29/2019 Comparativa Algoritmos Fusion
5/24
AUROVA F. A. Candelas, J. A. Corrales
4
y un sistema de navegacin [6] compuesto por dos IMUs y un receptor GPS. Roetenberg
[7] ha desarrollado un sistema de captura de movimiento que combina un sistema inercial y
un sistema magntico mediante un filtro de Kalman complementario.
Otra forma de combinar medidas de distintos sensores en un filtro de Kalman es definiendo
un modelo de observacin para cada sensor e incluyendo sus medidas en la fase de
correccin del filtro. De este modo, la fase de correccin del filtro de Kalman tendra un
canal para cada sensor con su modelo de observacin correspondiente. Los resultados de
cada uno de los canales seran ponderados entre s para obtener la medida final de la etapa
de correccin del filtro. Caron et al. [8] utilizan esta adaptacin del filtro de Kalman para
combinar las medidas de una IMU y un receptor GPS mientras que You y Neumann [9]
combinan las medidas de tres giroscopios y una cmara.
Ribo et al. [10, 11] utilizan otra adaptacin del filtro de Kalman que consiste en aplicar las
medidas de un sensor en la etapa de prediccin del filtro y las medidas del otro sensor
en la etapa de correccin. Han desarrollado un sistema de realidad aumentada
combinando las medidas de una IMU (que se aplican en la fase de prediccin) y de unacmara (que se aplican en la fase de correccin).
Los filtros de partculas son la otra tcnica bayesiana que se utiliza ms comnmente en la
fusin sensorial. Cuando se incluyen varios sensores en un filtro de partculas, se suele
definir un modelo de observacin para cada tipo de sensor. Mediante estos modelos de
observacin se representa la probabilidad de obtener una determinada medida de un sensor
cuando el sistema se encuentra en un estado determinado. Las partculas del filtro que
representan la probabilidad de cada estado del sistema sern ponderadas mediante unos
pesos obtenidos a partir de estos modelos de observacin. Ababsa y Mallem [12] han
desarrollado un filtro de partculas con dos canales de ponderacin de partculas distintos
para combinar las medidas de una IMU y una cmara en un sistema de seguimiento de una
cmara. Jourdan et al. [13] tambin definen dos modelos de observacin distintos (para
una IMU y un sistema UWB) cuyo producto se utiliza como peso para las partculas del
filtro. Hightower y Borriello [14] no slo establecen dos modelos de observacin distintos
-
7/29/2019 Comparativa Algoritmos Fusion
6/24
PubInt14
Comparativa Algori tmos Fusin MoCap-UWB
5
(para un sistema de infrarrojos y un sistema de ultrasonidos) sino que tambin ajustan el
nmero de las partculas mediante un mtodo de muestreo adaptativo.
Los filtros de Kalman y de partculas no slo se utilizan de manera separada sino que
tambin se combinan en muchos sistemas para aprovechar sus ventajas. Evennou y Marx
[15] han desarrollado un sistema de localizacin en interiores a partir de dos sensores
inerciales (un giroscopio y un acelermetro) y un sistema de localizacin basado en WiFi.
Las medidas de los sensores inerciales son corregidas mediante un filtro de Kalman antes
de aplicarse en la etapa de prediccin de un filtro de partculas mientras que las medidas
WiFi se aplican en la etapa de correccin de dicho filtro. Schon et al. [16] definen un filtro
de partculas multi-frecuencia que integra medidas de dos sensores que tienen distintas
frecuencias de muestreo (sensor rpido y sensor lento). Se ejecuta un filtro de Kalman para
cada partcula del filtro cuando se recibe una medida del sensor rpido. Cuando se recibe
una medida del sensor lento, se ejecuta la etapa de correccin del filtro de partculas
(clculo de los pesos y remuestreo de partculas). De este modo, el muestreo de partculas
se reduce a la frecuencia del sensor lento y se mejora el rendimiento del sistema. Los
filtros de partculas Rao-Blackwellized son otra forma de combinar los filtros de Kalman ypartculas. Un filtro de partculas Rao-Blackwellized divide el vector de estado en dos
componentes: un componente gaussiano lineal (que se procesa con un filtro de Kalman) y
un componente no gaussiano no lineal (que se procesa con un filtro de partculas). Giremus
et al. [17] implementa un filtro de partculas Rao-Blackwellized para integrar las medidas
de sensores inerciales y de un GPS en un sistema de navegacin.
A continuacin vamos a describir los tres algoritmos que hemos desarrollado para
combinar las medidas de nuestros dos sistemas: sistema de captura de movimiento inercial
y sistema de localizacin basado en pulsos UWB. Estos tres algoritmos se fundamentan en
las tcnicas bayesianas que hemos descrito en este apartado: filtro de Kalman, filtro de
partculas y combinacin de ambos. Describiremos en detalle las adaptaciones de estos
filtros que hemos llevado a cabo para incorporar las medidas de los sensores y
realizaremos una comparativa de su funcionamiento.
-
7/29/2019 Comparativa Algoritmos Fusion
7/24
AUROVA F. A. Candelas, J. A. Corrales
6
3.-Algoritmos de fusin sensorial3.1.-Transformacin de coordenadasAntes de combinar las medidas de ambos sistemas, tenemos que representarlas en el
mismo sistema de coordenadas. Las medidas procedentes del sistema Ubisense son
representadas en un sistema de coordenadas fijo U en el rea de localizacin. Las medidas
del sistema GypsyGyro son representadas en un sistema de coordenadas dinmico G cuyo
origen se fija en el lugar en el que el usuario se encuentra cuando el sistema se inicializa.
Hemos seleccionado el sistema de coordenadas U del Ubisense ya que al ser fijo permite
comparar de manera sencilla la posicin del humano con la posicin de los objetos
estticos (como los robots) del entorno.
Los planos XY de los sistemas de coordenadas U y G son paralelos al plano del suelo del
entorno. Por ello, entre ambos sistemas de coordenadas slo hay una traslacin
( ), ,U U UG G Gx y z y una rotacin de un ngulo alrededor del eje Z. La ecuacin (1) se utiliza
para transformar un punto Gp del sistema G al sistema U:
( ) ( ), , ,U T G U U U U GG G G Gp T p Trans x y z Rot z p= = (1)
Desarrollando la ecuacin anterior obtenemos la siguiente ecuacin:
( ) ( )
( ) ( )
cos sin 0
sin cos 0
0 0 1
1 0 0 0 1 1
U U G
G
U U G
G
U U G
G
x x x
y x
z z x
=
(2)
El parmetro ser conocido ya que representa el ngulo entre la direccin del norte geo-
magntico (medido con los magnetmetros de las IMUs del GypsyGyro) y el eje Y del
sistema de coordenadas del Ubisense. El nico elemento desconocido ser la matriz de
traslacin UG
T entre ambos sistemas de coordenadas. Se puede calcular a partir de la
ecuacin (2) sustituyendo en ella dos medidas de ambos sistemas que se correspondan
entre s (vanse las ecuaciones (3), (4) y (5)):
( ) ( )cos sinU U G GGx x x y = + (3)
-
7/29/2019 Comparativa Algoritmos Fusion
8/24
PubInt14
Comparativa Algori tmos Fusin MoCap-UWB
7
( ) ( )sin cosU U G GGy y x y = (4)
( ) ( )cos sinU U G GGx x x y = + (5)
Despus de obtener la matriz de transformacinU
GT , todas las medidas del sistema de
captura de movimiento se transformarn al sistema de coordenadas del sistema UWB
mediante la ecuacin (1).
3.2.-Algoritmo basado en filtro de KalmanEl filtro de Kalman es una de las tcnicas ms ampliamente utilizadas a la hora de
implementar un filtro bayesiano. Para poder incorporar las medidas de dos sistemas de
localizacin en un filtro de Kalman, se modificar el filtro genrico [18] siguiendo una
tcnica descrita en [19].
El estado del filtro de Kalman se modela mediante dos parmetros: la estimacin del
estado t
x y la matriz de covarianza del errort
P. El estado t
x est compuesto por las
coordenadas ( ), ,p x y z= de la posicin global del operador humano en el entorno. Estos
dos parmetros se calculan en el filtro de Kalman en dos etapas: prediccin y correccin.
En la etapa de prediccin, se aplica (vanse las ecuaciones (6) y (7)) un modelo lineal
(matriz A ) a la estimacin previa del estado para obtener una estimacin a priori del
estado ( ) ,t tx P . Q es la matriz de covarianza del error de este modelo de movimiento:
1
t tx Ax
= (6)
1T
t tP AP A Q
= + (7)
Las medidas de posicin registradas por el sistema de captura de movimiento se aplican
directamente en la etapa de prediccin al utilizar una matriz identidad como modelo de
movimiento A . En la etapa de correccin, la informacin sensorialt
z se incorpora en el
filtro mediante un modelo de observacin lineal (matriz H) para corregir el estado
estimado en la etapa de prediccin (vanse las ecuaciones (8), (9) y (10)). R es la matriz
de covarianza del error del modelo de observacin:
-
7/29/2019 Comparativa Algoritmos Fusion
9/24
AUROVA F. A. Candelas, J. A. Corrales
8
( )T Tt t tK P H HP H R
= + (8)
( )
t t t t t x K z Hx
= +
(9)
( )t t tP I K H P
= (10)
Las medidas de posicin obtenidas a partir del sistema UWB se utilizan como
observacionest
z en esta etapa del filtro con el objetivo de corregir la posicin estimada en
la etapa de prediccin a partir de las medidas del sistema de captura de movimiento. El
modelo de observacin H es una matriz identidad ya que las medidas del sistema UWB
tiene la misma dimensin que el estado. Las matrices de covarianza de ruido Q y R son
matrices diagonales ya que las variables del vector de estado no estn correlacionadas. Los
trminos en la diagonal de estas matrices representan el error medio de cada sistema
(sistema de captura de movimiento y sistema UWB) y se ajustan de manera emprica para
reducir los errores en las estimaciones finales del estado.
En la Tabla 2 se muestra en detalle la implementacin realizada del filtro de Kalman. La
etapa de prediccin se ejecuta cada vez que se registra una medida del sistema de captura
de movimiento (lnea 9). La etapa de correccin se ejecuta solamente cuando se recibe una
medida del sistema UWB (lnea 12). Despus de ejecutar la etapa de correccin, la matriz
de transformacin UG
T se re-calcula cuando se recibe la siguiente medida del sistema de
captura de movimiento (lnea 6). De este modo, la estimacin del estado obtenida a partir
de la etapa de correccin se aplica a las siguientes medidas del sistema de captura de
movimiento (lnea 8) y se elimina as el error acumulado. Entre cada par de medidas del
sistema UWB, las medidas procedentes del sistema de captura de movimiento se utilizarn
para mantener una tasa de muestreo alta.
-
7/29/2019 Comparativa Algoritmos Fusion
10/24
PubInt14
Comparativa Algori tmos Fusin MoCap-UWB
9
Algoritmo basado en Filtro de Kalman
01: Inicializar los parmetros del filtro: A , H,1
P, Q , R ,
02: Inicializar U GT con las dos primeras medidas: 1p , 2p {Ec. (2)-(5)}
03:for each medidat
p
04: ift
p es una medida del sistema de captura de movimiento (MoCap)
05: if1t
p
es una medida del sistema UWB
06: Recalcular UG
T cont
p ,1t
x
{Ec. (2)-(5)}
07: end if
08: Transformart
p del sistema G al U {Ec. (1)}
09: [ ] ( )1, PrediccionKalman , , ,t t t t P A Q p P= {Ec. (6), (7)}
10: Almacenar tx como estimacin del estado en el instante t11: else if
tp es una medida del sistema UWB
12: [ ] ( )1 1, CorreccionKalman , , , ,t t t t t P H R p x P = {Ec. (8)-(10)}
13: Almacenart
x como estimacin del estado en el instante t
14: end if
15: end forTabla 2. Pseudocdigo del algoritmo de fusin sensorial basado en el filtro de Kalman.
3.3.-Algoritmo basado en filtro de partculasLos filtros de partculas [20] son mtodos secuenciales de Monte Carlo que se utilizan para
implementar filtros de Bayes. Aproximan la probabilidad ( )t
bel x de un determinado
estadot
x en el instante t por un conjuntot
S de muestras o partculas (vase la ecuacin
(11)). Cada partcula [ ]it representa una estimacin del estado (posicin del humano en
nuestro caso) y se le asocia un peso positivo [ ]it
w (denominado importance factor) que
representa la verosimilitud de la estimacin del estado:
( ) { }[ ] [ ], 1, ,i it t t t bel x S x w i n = = K (11)
El filtro de partculas implementado en esta investigacin sigue un esquema SIR (Sampling
Importance Resampling). Este algoritmo se compone de tres fases principales: prediccin,
clculo de pesos y remuestreo (resampling). En la fase de prediccin, se muestrea un
conjunto de partculastS (ecuacin (12)) a partir del modelo de movimiento ( )1t tp x x
(distribucin de probabilidad de la transicin de estados). En nuestro sistema en esta fase
-
7/29/2019 Comparativa Algoritmos Fusion
11/24
AUROVA F. A. Candelas, J. A. Corrales
10
se aade a la posicin devuelta por el sistema de captura de movimiento un ruido
gaussiano de media cero y matriz de covarianza Q .De este modo, se obtiene un conjunto
de npartculas a partir de una nica medida del sistema de captura de movimiento. La
matriz Q representa la covarianza del error del sistema de captura de movimiento y se
calcula de la misma forma que en el filtro de Kalman del apartado anterior.
{ } ( )[ ] 11, ,i
t t t t S x i n p x x
= = K (12)
En la fase de clculo de pesos, se obtiene el peso [ ]itw de cada partcula a partir del modelo
de observacin ( )[ ]i
t tp z x . Esta probabilidad se calcula como una distribucin normal
multi-variable ( ),tN z R en la que se utiliza la ltima medida tz del sistema UWB como
media y se utiliza la matriz R como covarianza. Esta distribucin normal se evala para
cada partcula [ ]it muestreada en la fase de prediccin. La matriz de covarianza R
representa la covarianza del error del sistema UWB y se calcula de la misma manera que
en el filtro de Kalman del apartado anterior. Finalmente, los pesos de todas las partculas
son normalizados para asegurar que suman uno en todo el espacio de las partculas tS
.
( )[ ] [ ]i it t tw p z x= (13)
Los filtros SIS (Sequential Importance Sampling) estn tambin compuestos por estas dos
fases. Sin embargo, en muchos casos, despus de varias iteraciones del filtro, slo quedan
unas pocas partculas con peso no nulo. Este problema se denomina degeneracin de los
pesos (weight degeneracy) o empobrecimiento de las muestras (simple impoverishment).
La etapa de remuestreo reduce este problema mediante la definicin de un nuevo conjunto
de partculast
S en el que las estimaciones del estado con mayores pesos se representarn
mediante varias partculas mientras que se eliminarn las estimaciones con pesos
pequeos. El remuestreo extrae (con reemplazo) n partculas del conjunto temporalt
S .
La probabilidad de extraer cada partcula es proporcional al peso de sta. Se ha utilizado el
algoritmo de remuestreo sistemtico (systematic resampling) presentado en [21] ya que
tiene un coste computacional reducido [22].
-
7/29/2019 Comparativa Algoritmos Fusion
12/24
PubInt14
Comparativa Algori tmos Fusin MoCap-UWB
11
El filtro de partculas implementado se detalla en la Tabla 3. Tiene una estructura muy
similar al algoritmo del filtro de Kalman (Tabla 2): las medidas del sistema de captura de
movimiento se utilizan en la fase de prediccin (lnea 9) y las medidas del sistema UWB se
utilizan en la fase de clculo de los pesos (lnea 12). Despus de registrar una medida del
sistema UWB, se recalcular la matriz de transformacin U GT entre ambos sistemas de
coordenadas para corregir los errores del sistema de captura de movimiento. Las
estimaciones del estado del sistema (posicin del operador humano) se calcular a partir de
la media de las partculas.
Algoritmo basado en Filtro de Partculas
01: Inicializar los parmetros del filtro: n , Q , R ,
02: Inicializar UG
T con las dos primeras medidas:1
p ,2
p {Ec. (2)-(5)}
03:for each medidat
p
04: ift
p es una medida del sistema de captura de movimiento (MoCap)
05: if 1tp es una medida del sistema UWB
06: Recalcular UG
T cont
p ,1t
x
{Ec. (2)-(5)}
07: end if
08: Transformar tp del sistema G al U {Ec. (1)}
09: ( )PrediccionParticulas ,t tS p Q= {Ec. (12)}
10: Calculart
como la media de todas las partculas ent
S
11: else ift
p es una medida del sistema UWB
12: ( )1CalculoPesosParticulas , ,t t tW S p R= {Ec. (13)}
13: ( )1RemuestreoSistematico ,t t tS S W=
14: Calculart
como la media de todas las partculas ent
S
15: end if
16: end forTabla 3. Pseudocdigo del algoritmo de fusin sensorial basado en el filtro de partculas.
3.4.-Algoritmo basado en una combinacin de un filtro deKalman y un filtro de partculas
El tercer algoritmo de fusin sensorial que hemos implementado combina las dos tcnicas
bayesianas anteriores: filtro de Kalman y filtro de partculas. En la Tabla 4 se describe en
detalle el algoritmo desarrollado. El filtro de Kalman se aplica a las medidas procedentesdel sistema de captura de movimiento mientras que se aplica un filtro de partculas SIR a
-
7/29/2019 Comparativa Algoritmos Fusion
13/24
AUROVA F. A. Candelas, J. A. Corrales
12
las medidas UWB. Las estimaciones previas del estado1t
se utilizan en los pasos de
prediccin de los filtros (lneas 9, 13) para intercambiar medidas entre ellos y de esta forma
corregir sus errores. La matriz de transformacin U GT se recalcula (lnea 6) de igual modo
que en los algoritmos previos.
Algoritmo basado en Filtro de Kalman y Filtro de Partculas
01: Inicializar los parmetros de los filtros: A , H,1
P,KF
Q ,KF
R , n ,PF
Q ,PF
R ,
02: Inicializar UG
T con las dos primeras medidas:1
p ,2
p {Ec. (2)-(5)}
03:for each medidat
p
04: if tp es una medida del sistema de captura de movimiento (MoCap)
05: if 1tp es una medida del sistema UWB
06: Recalcular UG
T cont
p ,1t
x
{Ec. (2)-(5)}
07: end if
08: Transformart
p del sistema G al U {Ec. (1)}
09: [ ] ( )1 1, PrediccionKalman , , ,t t KF t t P A Q x P = {Ec. (6), (7)}
10: [ ] ( ), CorreccionKalman , , , ,t t KF t t t P H R p x P= {Ec. (8)-(10)}
11: Almacenart
x como estimacin del estado en el instante t
12: else if tp es una medida del sistema UWB
13: ( )1PrediccionParticulas ,t t PF S x Q= {Ec. (12)}
14: ( )CalculoPesosParticulas , ,t t t PF W S p R= {Ec. (13)}
15: ( )RemuestreoSistematico ,t t tS S W=
16: Calculart
como la media de todas las partculas ent
S
17: end if18: end forTabla 4. Pseudocdigo del algoritmo de fusin sensorial basado en los filtros de Kalman y de partculas.
Este algoritmo mejora el rendimiento del algoritmo basado en filtro de partculas del
apartado anterior ya que reduce la frecuencia de su ejecucin. Las medidas con altas
frecuencias de muestreo del sistema de captura de movimiento se procesan con el filtro de
Kalman mientras que el filtro de partculas slo se ejecuta cuando se obtienen medidas del
sistema UWB con una menor frecuencia. Adems, las medidas del sistema de captura de
movimiento se pueden representar fcilmente mediante los modelos lineales gaussianos de
un filtro de Kalman mientras que las medidas del sistema UWB se modelan mejor con una
tcnica no-lineal no-gaussiana (como el filtro de partculas) debido a su elevada latencia.
-
7/29/2019 Comparativa Algoritmos Fusion
14/24
PubInt14
Comparativa Algori tmos Fusin MoCap-UWB
13
4.-Resultados experimentalesHemos llevado a cabo un conjunto de experimentos para comparar la precisin y el
rendimiento de los tres algoritmos bayesianos presentados en los apartados anteriores. En
estos experimentos un operador humano llevaba puesto el traje de captura de movimiento
GypsyGyro y una etiqueta UWB del sistema Ubisense. Este humano realizaba dos tipos de
trayectorias: una trayectoria lineal y una trayectoria rectangular. Cada trayectoria se ha
recorrido quince veces. Las medidas de traslacin global de ambos sistemas se han
registrado en un PC controlador donde estaban instalados sus componentes software y sus
libreras. Las medidas resultantes las hemos procesado con tres funciones desarrolladas en
Matlab que implementaban los tres algoritmos de fusin. Para poder comparar el
rendimiento de los algoritmos, los hemos ejecutado todos en el mismo ordenador con las
siguientes caractersticas: Intel Pentium 4 2.8GHz, 760MB RAM y sistema operativo
Microsoft Windows XP. Para los algoritmos basados en el filtro de partculas, utilizaremos
un conjunto de 100 partculas.
En la Figura 1 y la Figura 2, representamos las medidas originales del sistema UWB y el
sistema de captura de movimiento en el mismo sistema de coordenadas. Estas grficas
representan las ventajas y los inconvenientes de ambos sistemas de localizacin. Por una
parte, el sistema de captura de movimiento obtiene medidas con una baja latencia que
permiten definir de manera continua el movimiento del humano mientras que el sistema
UWB tiene una frecuencia de muestreo muy inferior. Por otra parte, las medidas del
sistema de captura de movimiento acumulan error (drift) a lo largo del tiempo mientras que
las medidas UWB mantienen aproximadamente un error constante.
-
7/29/2019 Comparativa Algoritmos Fusion
15/24
AUROVA F. A. Candelas, J. A. Corrales
14
0 0.5 1 1.5 2 2.5 3 3.5 42.8
2.85
2.9
2.95
3
3.05
3.1
3.15
3.2
X (m)
Y
(m)
MoCap Data
UWB Data
Predefined Path
Figura 1: Medidas de posicin originales procedentes del sistema de captura de movimiento y del sistema
UWB en una trayectoria lineal.
0 0.5 1 1.5 2 2.5 3 3.5 4 4.51.4
1.6
1.8
2
2.2
2.4
2.6
2.8
3
3.2
3.4
X (m)
Y
(m)
MoCap DataUWBDataPredefined Path
Figura 2: Medidas de posicin originales procedentes del sistema de captura de movimiento y del sistema
UWB en una trayectoria rectangular.
La Tabla 5, la Tabla 6 y la Tabla 7 enumeran las estadsticas del error (error medio y
desviacin estndar) y el tiempo de ejecucin de los tres algoritmos de fusin en las quince
repeticiones del experimento de la trayectoria lineal. Los valores de error del filtro de
Kalman y de la combinacin Kalman-partculas son prcticamente idnticos y ligeramente
inferiores a los errores del filtro de partculas. Sin embargo, estas diferencias de precisin
son mnimas, tal como se puede observar en la Figura 3, la Figura 4 y la Figura 5, en las
que se representan las trayectorias devueltas por los tres algoritmos de fusin en unos de
los experimentos. Por otra parte, el filtro de Kalman es el algoritmo con menor coste
computacional y el filtro de partculas es el algoritmo con mayor coste.
-
7/29/2019 Comparativa Algoritmos Fusion
16/24
PubInt14
Comparativa Algori tmos Fusin MoCap-UWB
15
Exp. Tiempo (s) Error Medio (m) Desv. Est. Error (m)
1 0.0781 0.035 0.0309
2 0.0625 0.0350 0.0309
3 0.0625 0.0392 0.0296
4 0.0625 0.0437 0.0268
5 0.0781 0.0431 0.0286
6 0.0938 0.0408 0.0279
7 0.0781 0.0382 0.0360
8 0.0781 0.0347 0.0290
9 0.0469 0.0375 0.0300
10 0.0938 0.0331 0.0279
11 0.0938 0.0374 0.0258
12 0.0938 0.0401 0.0272
13 0.0781 0.0474 0.0349
14 0.0781 0.0319 0.0227
15 0.0781 0.0316 0.0195
Media 0.0771 0.0379 0.0285
Tabla 5: Estadsticas del error del filtro de Kalman en una trayectoria lineal.
Exp. Tiempo (s) Error Medio (m) Desv. Est. Error (m)
1 1.3594 0.0441 0.0310
2 1.3125 0.0403 0.0317
3 1.2500 0.0358 0.0259
4 1.0313 0.0387 0.0239
5 1.5938 0.0352 0.0239
6 1.9375 0.0335 0.0238
7 1.3906 0.0403 0.0282
8 1.1719 0.0378 0.0304
9 0.7031 0.0433 0.0334
10 1.7969 0.0313 0.0199
11 2.3750 0.0463 0.0344
-
7/29/2019 Comparativa Algoritmos Fusion
17/24
AUROVA F. A. Candelas, J. A. Corrales
16
12 2.1406 0.065 0.0331
13 1.2188 0.0938 0.0419
14 1.6563 0.0350 0.0291
15 1.9063 0.0360 0.0244
Media 1.5229 0.0438 0.0290
Tabla 6: Estadsticas del error del filtro de partculas en una trayectoria lineal.
Exp. Tiempo (s) Error Medio (m) Desv. Est. Error (m)
1 1.0313 0.0269 0.0255
2 1.0156 0.0312 0.0282
3 0.8125 0.0406 0.0351
4 0.6250 0.0460 0.0291
5 1.2500 0.0396 0.0293
6 1.5313 0.0327 0.0248
7 1.0313 0.0430 0.0414
8 0.8281 0.0327 0.0295
9 0.4844 0.0434 0.0330
10 1.3281 0.0316 0.0267
11 1.8281 0.0366 0.0254
12 1.7500 0.0381 0.0242
13 0.7500 0.0525 0.0367
14 1.3438 0.0313 0.0221
15 1.4375 0.0326 0.0209
Media 1.1365 0.0373 0.0288
Tabla 7: Estadsticas del error del algoritmo Kalman-partculas en una trayectoria lineal.
-
7/29/2019 Comparativa Algoritmos Fusion
18/24
PubInt14
Comparativa Algori tmos Fusin MoCap-UWB
17
0 0.5 1 1.5 2 2.5 3 3.52.9
2.95
3
3.05
X (m)
Y(m)
Filtered MoCap Data
Filtered UWB Data
Pre-defined Path
Figura 3: Medidas devueltas por el filtro de Kalman en una trayectoria lineal.
0 0.5 1 1.5 2 2.5 3 3.52.85
2.9
2.95
3
X (m)
Y
(m)
Filtered MoCap DataFiltered UWB Data
Predefined Path
Figura 4: Medidas devueltas por el filtro de partculas en una trayectoria lineal.
0 0.5 1 1.5 2 2.5 3 3.5 42.92
2.94
2.96
2.98
3
3.02
3.04
3.06
X (m)
Y
(m)
Filtered MoCap Data
Filtered UWB Data
Predefined Data
Figura 5: Medidas devueltas por la combinacin Kalman-partculas en una trayectoria lineal.
-
7/29/2019 Comparativa Algoritmos Fusion
19/24
AUROVA F. A. Candelas, J. A. Corrales
18
La Tabla 8, la Tabla 9 y la Tabla 10 enumeran las estadsticas de los experimentos de la
trayectoria rectangular. En esta trayectoria ms compleja se detectan diferencias ms
importantes en la precisin de las medidas devueltas por los tres algoritmos. El algoritmo
Kalman-partculas obtiene las medidas con menor error mientras que las medidas
obtenidas por el filtro de partculas tienen un error tres veces mayor. Las medidas del filtro
de Kalman tienen valores de error intermedios entre los dos algoritmos anteriores. La
muestra como las posiciones estimadas por el algoritmo Kalman-partculas son ms
cercanas a la trayectoria terica que las devueltas por los otros dos algoritmos (vase
Figura 6, Figura 7 y Figura 8). En lo que respecta al coste computacional, el filtro de
Kalman vuelve a ser la mejor solucin mientras que la combinacin Kalman-partculas
tiene un coste intermedio entre el filtro de Kalman y el filtro de partculas.
Exp. Tiempo (s) Error Medio (m) Desv. Est. Error (m)
1 0.7813 0.0894 0.0763
2 0.5156 0.1029 0.0665
3 0.3750 0.0999 0.0730
4 0.2969 0.1481 0.1034
5 0.3281 0.1417 0.0649
6 0.5625 0.1396 0.1089
7 0.7188 0.0705 0.0607
8 0.6563 0.0819 0.0559
9 0.5313 0.0876 0.0694
10 0.6875 0.1217 0.0940
11 0.5781 0.1111 0.0993
12 0.4844 0.0895 0.0611
13 0.7500 0.0721 0.0527
14 0.6094 0.1257 0.0993
15 0.5469 0.0977 0.0613
Media 0.5615 0.1053 0.0765
Tabla 8: Estadsticas del error del filtro de Kalman en una trayectoria rectangular.
-
7/29/2019 Comparativa Algoritmos Fusion
20/24
PubInt14
Comparativa Algori tmos Fusin MoCap-UWB
19
Exp. Tiempo (s) Error Medio (m) Desv. Est. Error (m)
1 8.3125 0.1449 0.0983
2 7.9063 0.1332 0.0880
3 4.5313 0.1733 0.1111
4 5.1875 0.2063 0.1196
5 5.4375 0.1791 0.1165
6 6.2656 0.2049 0.1314
7 6.9063 0.1305 0.0903
8 7.0313 0.1459 0.0931
9 6.0469 0.1483 0.0983
10 6.8594 0.3704 0.2151
11 4.9844 0.1662 0.1403
12 4.6094 0.1682 0.1275
13 5.3438 0.185 0.1354
14 5.4063 0.1973 0.1712
15 4.3750 0.2052 0.1734
Media 5.9469 0.1839 0.1273
Tabla 9: Estadsticas del error del filtro de partculas en una trayectoria rectangular.
Exp. Tiempo (s) Error Medio (m) Desv. Est. Error (m)
1 6.1250 0.0555 0.0517
2 5.9688 0.0413 0.0323
3 3.2656 0.0405 0.0315
4 3.8750 0.0735 0.0750
5 4.0156 0.0446 0.0324
6 4.6094 0.0770 0.0787
7 5.0938 0.0600 0.0466
8 5.3594 0.0594 0.0638
9 4.6250 0.0524 0.0444
10 5.1563 0.0908 0.1239
-
7/29/2019 Comparativa Algoritmos Fusion
21/24
AUROVA F. A. Candelas, J. A. Corrales
20
11 3.4063 0.0792 0.0606
12 3.1875 0.0755 0.0576
13 3.8125 0.0550 0.0394
14 3.8906 0.0704 0.0488
15 2.9844 0.0635 0.0439
Media 4.3583 0.0626 0.0554
Tabla 10: Estadsticas del error del algoritmo Kalman-partculas en una trayectoria rectangular.
0.5 1 1.5 2 2.5 3 3.51.6
1.8
2
2.2
2.4
2.6
2.8
3
3.2
3.4
3.6
X (m)
Y
(m)
Figura 6: Medidas devueltas por el filtro de Kalman en una trayectoria rectangular.
0.5 1 1.5 2 2.5 3 3.51.6
1.8
2
2.2
2.4
2.6
2.8
3
3.2
3.4
3.6
X (m)
Y
(m)
Figura 7: Medidas devueltas por el filtro de partculas en una trayectoria rectangular.
-
7/29/2019 Comparativa Algoritmos Fusion
22/24
PubInt14
Comparativa Algori tmos Fusin MoCap-UWB
21
0.5 1 1.5 2 2.5 3 3.51.4
1.6
1.8
2
2.2
2.4
2.6
2.8
3
3.2
3.4
X (m)
Y
(m)
Figura 8: Medidas devueltas por la combinacin Kalman-partculas en una trayectoria rectangular.
5.-ConclusionesEn este informe hemos descrito en detalle los tres algoritmos basados en filtros bayesianos
que hemos implementado para combinar las medidas de posicin obtenidas por los dos
sistemas de localizacin de los que disponemos: sistema de captura de movimiento
GypsyGyro y sistema de localizacin Ubisense.
Hemos desarrollado un conjunto de experimentos para comparar los algoritmos
desarrollados. En concreto, el operador humano que llevaba el traje de captura de
movimiento y la tarjeta UWB tena que seguir una trayectoria lineal y una trayectoria
rectangular.
Teniendo en cuenta los resultados obtenidos en estos experimentos, podemos concluir que,
en trminos generales, el algoritmo de combinacin Kalman-partculas es el ms idneo
debido a su mayor precisin. Sin embargo, el filtro de Kalman ser ms recomendable en
los sistemas en tiempo real ya que tiene un coste computacional considerablemente inferior
y ofrece una precisin muy similar. Por lo tanto, para nuestra aplicacin de fusin sensorial
ser ms conveniente utilizar el filtro de Kalman ya que preferimos que el sistema nos
d una respuesta en tiempo real aunque perdamos un poco de precisin.
-
7/29/2019 Comparativa Algoritmos Fusion
23/24
AUROVA F. A. Candelas, J. A. Corrales
22
6.-Referencias1. Candelas, F.A. and J.A. Corrales, Giroscopios en el Sistema GypsyGyro-18
(Publicacin Interna n 4). 2007.
2. Candelas, F.A. and J.A. Corrales, Ajuste de los Parmetros del Sistema Ubisense
(Publicacin Interna n 5). 2007.
3. Candelas, F.A. and J.A. Corrales, Fusin GypsyGyro-Ubisense (Publicacin
Interna n 8). 2007.
4. Fox, V., et al., Bayesian filtering for location estimation. IEEE Pervasive
Computing, 2003. 2(3): p. 24-33.
5. Foxlin, E. Inertial Head-Tracker Sensor Fusion by a Complementary Separate-
Bias Kalman Filter. in IEEE Virtual Reality Annual International Symposium.
1996. Santa Clara, California: IEEE Computer Society.
6. Foxlin, E., Pedestrian Tracking with Shoe-Mounted Inertial Sensors. IEEEComputer Graphics and Applications, 2005. 25(6): p. 38-46.
7. Roetenberg, D., P.J. Slycke, and P.H. Veltink, Ambulatory Position and
Orientation Tracking Fusing Magnetic and Inertial Sensing. IEEE Transactions on
Biomedical Engineering, 2007. 54(5): p. 883-890.
8. Caron, F., et al., GPS/IMU Data Fusion Using Multisensor Kalman Filtering:
Introduction of Contextual Aspects. Information Fusion, 2006. 7(2): p. 221-230.
9. You, S. and U. Neumann. Fusion of Vision and Gyro Tracking for Robust
Augmented Reality Registration. in IEEE Virtual Reality 2001 Conference. 2001.
Yokohama, Japan.
10. Ribo, M., et al., Hybrid Tracking for Outdoor Augmented Reality Applications.
IEEE Computer Graphics and Applications, 2002. 22(6): p. 54-63.11. Ribo, M., M. Brandner, and A. Pinz, A Flexible Software Architecture for Hybrid
Tracking. Journal of Robotic Systems, 2004. 21(2): p. 53-62.
12. Ababsa, F.E. and M. Mallem,Hybrid Three-Dimensional Camera Pose Estimation
Using Particle Filter Sensor Fusion. Advanced Robotics, 2007. 21(1): p. 165-181.
13. Jourdan, D.B., et al. Monte Carlo localization in dense multipath environments
using UWB ranging. in IEEE International Conference on Ultra-Wideband (ICU
2005). 2005. Zurich, Switzerland.
14. Hightower, J. and G. Borriello. Particle Filters for Location Estimation in
Ubiquitous Computing: A Case Study. in Sixth International Conference on
Ubiquitous Computing (Ubicomp 2004). 2004. Nottingham, England.
15. Evennou, F. and F. Marx, Advanced Integration of WIFI and Inertial NavigationSystems for Indoor Mobile Positioning. EURASIP Journal on Applied Signal
Processing, 2006. 2006(1): p. 164-164.
16. Schon, T.B., D. Tornqvist, and F. Gustafsson.Fast Particle Filters for Multi-Rate
Sensors. in European Signal Processing Conference (EUSIPCO 2007). 2007.
Poznan, Poland.
17. Giremus, A., et al. A Rao-Blackwellized particle filter for INS/GPS integration. in
IEEE International Conference on Acoustics, Speech, and Signal Processing
(ICASSP '04). 2004. Montreal, Quebec, Canada.
18. Simon, D., Kalman Filtering. Embedded Systems Programming, 2001. 14(6): p.
72-79.
19. Corrales, J.A., F.A. Candelas, and F. Torres, Hybrid tracking of human operators
using IMU/UWB data fusion by a Kalman filter, in Proceedings of the 3rd
-
7/29/2019 Comparativa Algoritmos Fusion
24/24
PubInt14
Comparativa Algori tmos Fusin MoCap-UWB
ACM/IEEE international conference on Human robot interaction. 2008, ACM:
Amsterdam, The Netherlands. p. 193-200.
20. Arulampalam, M.S., et al., A tutorial on particle filters for online nonlinear/non-
Gaussian Bayesian tracking. IEEE Transactions on Signal Processing, 2002. 50(2):p. 174-188.
21. Carpenter, J., P. Clifford, and P. Fearnhead, Improved particle filter for nonlinear
problems. IEE Proceedings Radar, Sonar and Navigation, 1999. 146(1): p. 2-7.
22. Hol, J.D., T.B. Schon, and F. Gustafsson. On Resampling Algorithms for Particle
Filters. in Nonlinear Statistical Signal Processing Workshop. 2006. Cambridge,
United Kingdom.