jueves, 19 de junio de 2008

Robots Móviles con Visión Artificial (3)

Propagación de incertidumbre posicional por movimientos comandados

El sistema de navegación FINALE para poder determinar su posición basada en localización incremental busca relaciones entre la posición actual p=(x,y,Θ) y su posición después de cierto movimiento p’=(x’,y’,Θ’) y esta dada por la relación lineal

p’=h(p)

Y por los parámetros de incertidumbre (p,Σp) con los parámetros (p’,Σ’p) que están relacionados por las ecuaciones con las que se puede determinar la posición del robot antes y después de algún movimiento.

p’ = h(p)
Σ’p = (δh/δp)Σp (δh/δp)T

Donde:
δh/δp -> es el Jacobiano de la función de transformación h.
P -> es la media.
Σp -> es la covariancia.


Para el movimiento de traslación el punto se parametriza en función de d, α y β que son variables aleatorias; dado que el robot se puede mover sobre el eje yr una distancia d0 su nueva posición estará determinada por las ecuaciones del punto p’ y que son:

p'x = px - dsin(φ+α) -> para la posición en x
  p’y = py + dcos(φ+α) -> para la posición en y
φ’ = φ + β -> para la orientación

donde los valores d, α y β tienen medias d, α y β y una matriz de covarianza:

ΣT(d, α ,β)= [[σ2d ρdασdσα ρβσdσα ]
                        [ρdασdσα σ2α ραβσασβ ]
                         [ρdβσdσβ ραβσασβ σ2β ]]

Donde los valores ρ son los coeficientes de correlación y σ son las desviaciones estándar. Así mismo d0 depende de estos valores y sus medias.

Similarmente para determinar la posición del robot cuando hay un movimiento de rotación en un ángulo Θ0 en su propio eje de coordenadas; su nueva posición p’ se encuentra determinada por los parámetros Θ, u y v; y la relación entre el punto anterior y el nuevo punto esta dado por las ecuaciones:

p'x = px – ucosΘ- vsinΘ -> para la posición en x
  p’y = py + usinΘ + vcosΘ -> para la posición en y
φ’ = φ + Θ -> para la orientación

Dado que al igual que la distancia recorrida en la traslación; la orientación Θ0 es parametrizada en términos de u, v y Θ con medias u, v y Θ y matriz de covarianza:

ΣR(u, v ,Θ)= [[σ2u ρuvασuσv ρuΘσuσΘ ]
                    [ρuvσuσv σ2v ρvΘσvσΘ ]
                        [ρuΘσuσΘ ρvΘσvσΘ σ2Θ ]]

Donde los valores ρ son los coeficientes de correlación y σ son las desviaciones estándar; siendo Θ0 dependiente de estos valores y las respectivas medias de los valores u, v y Θ.

“Estas ecuaciones muestran que la posición del robot al final de un comando de movimiento depende de la no linealidad de su posición anterior. La dificultad puesta por la naturaleza no lineal de las ecuaciones de transformación es superada por aproximaciones lineales a las ecuaciones y asegurando que los movimientos sean pequeños tales que no invaliden las aproximaciones”. (DeSouza, Guilherme, 2002)

Aunado a esto para poder obtener la linealidad solo se necesita saber el Jacobiano de la transformación de la media de p a la media de p’; que en términos de movimientos de traslación del robot tendríamos:

Σ’p = (p’x,p’y,φ’)=JT1Σp(px,py,φ)JTT1 + JT2ΣT(d,α,β)JTT2

Y para movimientos de rotación tendríamos:

Σ’p = (p’x,p’y,φ’)=JR1Σp(px,py,φ)JTR1 + JR2ΣR(u,v,Θ)JTR2

Siendo estas ecuaciones las que nos indicaran como actualizar las medias y covarianzas de la posición del robot en cada uno de sus movimientos de rotación y traslación.

Proyección de la incertidumbre posicional del robot en una imagen fotográfica

Proyectando la incertidumbre de la posición del robot en la imagen, esta puede ser utilizada para determinar mejores puntos de referencia en el entorno en el sistema de navegación FINALE; para lograr este fin se utiliza la matriz de calibración; la cual parte de las coordenadas espaciales del entorno en el que se encuentra el robot y que están determinadas por (x,y,z). En la imagen un punto del entorno estará dada por el pixel con (x,y) y con coordenadas homogéneas dadas para el punto del entorno; su relación esta dada por:

[[XW] [YW] [W]] = TH[[x][y][z][1]]

Donde:
W -> es el factor de perspectiva
T -> es la matriz de calibración
H -> la matriz de transformación de puntos del marco del entorno a marcos centrados del robot.

Aunado a esto también se puede expresar una relación entre las coordenadas del pixel y el vector posicional p=(px,py,φ) para puntos dados. Siendo que esta ecuación es no lineal se utiliza el Jacobiano para poder obtener la liberalización de la relación entre estos puntos.

Filtrado Kalman

Este filtrado es utilizado principalmente para actualizar los parámetros estadísticos de la posición del robot después de determinar puntos de referencia; para esto se parte de un modelo basado en el filtrado Kalman; el cual consiste de los siguientes pasos:

1. Derivación de una ecuación que tome a la matriz de calibración y relacione los parámetros de los puntos de referencia o en los parámetros de la imagen o en los parámetros del espacio Hough.
2. Forzar la linealidad de la ecuación para la derivar las ecuaciones del filtrado.
3. Proyectar la incertidumbre posicional en la imagen para encontrar las características candidatas a ser puntos de referencia.
4. Usar el filtrado Kalman.

Una vez que se ha llegado a el cuarto punto el sistema de navegación se ha localizado a si mismo en el espacio; siendo este el sistema de navegación de FINALE que muestra el como funciona la localización incremental.


Referencias:

• Guilherme DeSouza and A. C. Kak, "Vision for Mobile Robot Navigation: A Survey," IEEE Transactions on Pattern Analysis and Machine Intelligence, pp. 237-267, February 2002.
• Kosaka and A.C. Kak, “Fast Vision-Guided Mobile Robot Navigation Using Model-Based Reasoning and Prediction of Uncertainties,”Computer Vision, Graphics, and Image Processing—Image Understanding, vol. 56, no. 3, pp. 271-329, 1992.

No hay comentarios: