lunes, 6 de octubre de 2008

Flujo Óptico en Robots Móviles (7)

b) Métodos locales

Los modelos de velocidad asumen que movimientos simples en patrones son comunes. Y la forma más común de solucionarlos es por mínimos cuadrados; donde la velocidad estimada se calcula minimizando:

ΣxЄRW2(x)(Gradiente(I)(x,t)•V+It(X,t))^2

Donde W(x) denota la función de una ventana y R los vecinos espaciales. El problema de apertura es resuelto analíticamente incluyendo 2as derivadas parciales. Estas restricciones proveen ecuaciones en las dos componentes del vector velocidad y esta determinada por la ecuación:

(Gradiente)(Gradiente)(I)=-Gradiente(It)

Donde el resultado expresa las dos componentes de velocidad en cada punto de la imagen.

Otro de los métodos que se usan para calcular el flujo óptico y que evita el estimar la intensidad de las derivadas, usan el teorema de divergencia de Gauss; lo cual nos da la siguiente ecuación:

∫v(Ix+Iy+It)dV = ∫SuIdydt + ∫SvIdxdt - ∫VI(ux+vy)dxdydt + ∫SIdxdy = 0

Donde S y V denotan la integración local sobre las superficies y volúmenes en la intensidad de la información.

c) Modelos de Superficie

En dos planos con distintas orientaciones de superficie y que tienen diferentes movimientos en el espacio 3d tienen el mismo flujo óptico.
Las técnicas para calcular los movimientos en planos asumen que la velocidad en el punto de curvatura en una superficie es definido por una aproximación en las 2as series de expansión de Taylor (Waxman y Wohn, 1988).

v(x,y)=v(0,0) + δv/δx + δv/δy + 1δ^2vδ/2δx^2 +δ^2v/ δxδy + 1δ^2v/2δy^2


Cuando aplicamos la ecuación restrictiva de velocidad normal vn=v•n se obtiene una ecuación lineal con 12 incógnitas en las componentes de v y sus derivadas de 1er y 2º orden. Donde la superficie que es plana esta dada por:

δ^2v/δx^2=(2δ^2v/δxδy,0) y δ^2v/δy^2 = (0,2δ^2u/δxδy)

estas ecuaciones permiten escribir la ecuación de Waxman y Wohn en una ecuación con 8 incógnitas y que permiten recuperar la velocidad de una superficie plana.

d) Modelos de contornos

Estos métodos se enfocan en la extracción de contornos relevantes en la imagen con un prefiltrado, seguido de estimaciones diferenciales en el movimiento de la imagen; esto debido a que los contornos tienen señales fuertes de ruido que los hace un blanco fácil para poder extraer las características geométricas de un objeto. Hildreth \cite{} propone una restricción de suavidad que se aplica a velocidades normales estimadas a traves de contornos extraídos de imágenes variando en el tiempo. Donde para una superficie S la velocidad normal estimada es:

∫δv/δSdS

Si al menos dos velocidades normales estimadas a través de la superficie S son diferentes, entonces la minimización de esta integral cede a una única velocidad sobre el contorno S.


∫(δv/δS)^2 + β(v•ň-||v+||2)^2dS

Donde ň es el vector unitario en la dirección de la v
+ minimizada a lo largo de los contorno. Donde β es el factor de peso y (v•ň-||v+||) es la diferencia de cuadrados entre la velocidad normal estimada y la velocidad predicha para la solución.

Gong y Brady(1990) formulan una restricción similar pero incluyen una diferencia de mínimos cuadrados para la velocidad tangencial.

∫(δv/δS)^2 + β( v • ň-||v+||2)^2dS + a(v • ŧ - ||v
||||2)2dS

Donde ŧ es el vector unitario perpendicular ň y a es una expresión escalar asociada con la componente tangencial de v, proporcional al determinante de la matriz Hessiana de las intensidades de las estructuras en la imagen.

e) Métodos Multicontraste

Estos métodos usan múltiples instancias de la ecuación restrictiva del flujo óptico para proveer expresiones ambiguas de los movimientos en las imágenes a partir de simples puntos, expanden la imagen espacio temporal con polinomios Hermite y resuelven para v usando mínimos cuadrados estándar.
Sistemas con funciones diferentes a la intensidad pueden ser sustituidos en la ecuación restrictiva del flujo óptico, que pueden ser vistas como operaciones aplicadas a los niveles de gris. Aunque el problema de apertura no puede ser resuelto cuando se encuentran singularidades en sistemas sobre restringido. Esto ocurre en estructuras con intensidades particulares, como lo son regiones con intensidad uniforme, texturas periódicas o imágenes muy estructuradas.

f) Enfoques Jerárquicos.

Este tipo de enfoques se utilizan cuando existen problemas con largos movimientos en el espacio 2D, en la aplicación de métodos diferenciales en una forma de lo grueso a lo fino se soluciona este problema. Donde se trata de bajar la resolución de una imagen para poder determinar su flujo óptico, de forma más sencilla.


Bibliografia:
  • A. M. Waxman and K. Wohn. Contour evolution, neighborhood deformation, and global image flow: planar surfaces in motion. Int. J. of Robotics Res.,4(3): 95-108, 1985.
  • S. Gong and M. Brady, Parallel computation of optic flow. In Proc. of ECCV, pages 124-133, 1990.
  • Beauchemin, S. S. & Barron, J. L.,The computation of optical flow, ACM Comput. Surv., ACM, 1995, 27, 433-466.

Flujo Óptico en Robots Móviles (6)

Técnicas para calcular el flujo óptico


Dentro de las técnicas que existen para calcular el flujo óptico encontramos:

1. Métodos basados en diferencias de intensidades.
2. Métodos basados en frecuencias.
3. Métodos basados en correlación.
4. Métodos de múltiples movimientos.
5. Métodos de refinamientos temporales.

A continuación se describirán cada uno de ellos.

1. Métodos basados en diferencia de intensidades.

Las técnicas diferenciales calculan las velocidades de una imagen a partir de derivadas espaciotemporales de las intensidades de la imagen; esto asumiendo que el dominio de la imagen es diferenciable en espacio y tiempo. Dentro de estos métodos podemos hacer una clasificación de cómo se ha obtenido el flujo óptico usando la diferencia de intensidades; para esto tenemos que se han utilizado:

a) Métodos Globales.
b) Modelos Locales.
c) Modelos de Superficie.
d) Modelos de Contorno.
e) Métodos Multicontraste.
f) Enfoques Jerárquicos.

A continuación se describirán como están se desarrolla cada uno de estos métodos para la obtención del flujo óptico.

a) Métodos Globales

Dentro de estos métodos podemos encontrar que a partir de la ecuación:

I(x,t)≈(x +δx,t + δt)

y con la restricción de suavidad obtenemos una minimización sobre el dominio de la imagen todo esto para clarificar las medidas normales y obtener las velocidades vecinas si corresponden a la misma superficie del objeto; debido a que estas velocidades serán muy idénticas. Donde se define el error funcional conforme a las restricciones sobre el dominio de interés de la imagen D.

∫D ((I•v + It )2 + λ2 tr((v)T(v)))dx

Donde v = (u,v) y la solución a v esta dada por las ecuaciones de Gauss-Seidel que se resuelven iterativamente y donde se deben de satisfacer las condiciones que permitan satisfacer la restricción del brillo constante en la imagen (dI/dt = 0) y estas son: que se tenga una iluminación uniforme en el dominio de interés de la imagen , proyecciones ortográficas y movimientos de traslación paralelos puros a la escena de la imagen. Donde a partir del cumplimiento de estas condiciones se obtiene la siguiente ecuación:

Gradiente(I)•v + I(ux+vy) = - It

Debido a que esta ecuación es equivalente a I(x,t)≈(x +δx,t + δt) pero conteniendo un nuevo termino el cual expresa la compresión o expansión de las vecindades de la imagen, así como las transformaciones afines.

Otro de los métodos que recaen en esta clasificación general es el propuesto por Nagel el cual considera que la restricción del flujo óptico debe estar basada explícitamente en las propiedades geométricas de las escenas 3D, el cual plantea la siguiente ecuación:

Gradiente(I)•v + It = 4I(zPT/ zPT-PPT/PPT)

Donde P es punto 3D del ambiente, P es la velocidad 3D y z es el vector unitario a lo largo de los ejes de línea de visión.


Bibliografía:

Beauchemin, S. S. & Barron, J. L.,The computation of optical flow, ACM Comput. Surv., ACM, 1995, 27, 433-466.





miércoles, 20 de agosto de 2008

Flujo Óptico en Robots Móviles (5)

Problemas y cuestiones en el cálculo del flujo óptico.

Aunque existen diversas dificultades para poder obtener un flujo óptico de una secuencia de imágenes. Beauchemin y Barron (Barron1995) han hecho modelos para el análisis de imágenes en movimiento, los cuales analizan algunas propiedades del movimiento que presentan dificultades en el cálculo del flujo óptico, y estas son:

Imágenes en movimiento y flujo óptico. La estimación de flujo óptico a partir de variaciones de intensidad en imágenes solo da una aproximación del movimiento en las imágenes; además se tienen problemas donde el flujo óptico presenta diferencias en imágenes con ausencia de textura, donde el flujo óptico es nulo, también se tiene problemas cuando la consistencia del brillo es violada, donde superficies con reflejo Lamberciano, brillos, sombras, entre otros efectos de luz causan un flujo óptico incorrecto.

Superficies ocluidas y movimiento independiente de objetos. El problema que se presenta en la oclusión de imágenes es el poder determinar la dirección de traslación de los objetos, así como segmentar la escena en superficies con movimientos independientes.

Transparencia. Los movimientos creados por superficies traslucidas crean problemas de múltiples distribuciones de movimiento.

Así mismo Beauchemin y Barron (Barron1995) observaron el rendimiento de las técnicas desarrolladas para el cálculo del flujo óptico durante el periodo 1981 – 1990, y obtuvieron las siguientes conclusiones, en las que se determinan las características principales para el cálculo del flujo óptico.

Diferenciación y Prefiltrado. El suavizado temporal es requerido para evitar diferencias numéricas; donde los métodos diferenciales para el cálculo del flujo óptico requieren intensidades lineales en la imagen con movimientos menores a una unidad espacial por cuadro; en caso de que el suavizado temporal no pueda ser evitados, entonces métodos jerárquicos proveen mejores resultados.

Fiabilidad de las medidas. La mayoría de los métodos diferenciales no proveen exactitud en las medidas en las velocidades del flujo óptico; y es donde los métodos de la matriz de mínimos cuadrados es la que obtiene los mejores resultados que los determinantes de las matrices Hessianas, el número condicionante de la solución de una matriz, la magnitud de los gradientes locales de una imagen o los valores del principio de curvatura, entre otros.

Exactitud. Para obtener la exactitud en los cálculos del flujo óptico, los métodos de correlación jerárquicos son esquemas que determinan las medidas de una forma más robusta que otros métodos.

Dentro de los métodos que estiman la velocidad de imagen se encuentran clasificados según Beauchemin y Barron(Barron1995), de la siguiente forma:

• Métodos basados en la diferencias de intensidades.
• Métodos basados en el filtrado de frecuencias.
• Métodos basados en correlación.

Y en los métodos que calculan los múltiples valores discontinuos en el flujo óptico y los métodos que calculan los refinamientos a medida que se obtiene mayor información.

• Métodos de múltiples movimientos.
• Métodos de refinamientos temporales.

Donde el desarrollo de cualquiera de estos métodos esta basado en los pasos de: prefiltrado, extracción de medidas e integración de medidas; además de prestar especial atención en las propiedades de las imágenes.

Bibliografía

• Beauchemin, S. S. & Barron, J. L.,The computation of optical flow, ACM Comput. Surv., ACM, 1995, 27, 433-466.

Flujo Óptico en Robots Móviles (4)

Proceso jerárquico para el cálculo del flujo óptico.

En el calculo del flujo óptico se han tenido problemas en la medición de movimientos largos en las secuencias de imágenes analizadas, para esto se ha optado por analizar el flujo óptico de una forma jerárquica, esto es analizando las imágenes en diferentes escalas de resolución, utilizando pirámides Laplacianas o Gaussianas \cite{Barron1995}; donde estas técnicas permiten cumplir la restricción de movimientos largos en las imágenes, además de incrementar la eficiencia computacional del flujo óptico. Como ejemplo tenemos la siguiente secuencias de imágenes donde se obtiene el flujo óptico en diferentes resoluciones usando una pirámide Gaussiana.




Donde la imagen obtenida a partir de la imagen original se obtiene un flujo óptico muy disperso como lo vemos a continuación.



Mientras que usando la pirámide Gaussiana en el nivel de resolución más bajo se obtiene el siguiente flujo óptico el cual esta mas definido.



Bibliografía

• Beauchemin, S. S. & Barron, J. L.,The computation of optical flow, ACM Comput. Surv., ACM, 1995, 27, 433-466.

lunes, 18 de agosto de 2008

Flujo Óptico en Robots Móviles (3)

Cálculo del flujo óptico.

Para el cálculo del flujo óptico existen diversos métodos los donde cada uno de ellos asume ciertas restricciones para obtener el flujo óptico. Debido a que el estudio del movimiento para el cálculo del flujo óptico puede ser visto desde diferentes puntos de vista, como lo son la velocidad, disparidad e intensidad; aunque el análisis de cada uno de estos sus meritos y fallos(Barron1995). Debido a la hipótesis fundamental en el movimiento de las imágenes, es la en las los objetos en las imágenes con intensidades de brillo en variaciones de tiempo permanecen constante por un periodo corto de tiempo t (Horn1981); donde la función de intensidad de la imagen en el punto x con coordenadas (x,y) en el tiempo t esta dada por:


I(x,t)≈(x +δx,t + δt)

Donde δx es el desplazamiento de una región local de la imagen dada por (x,t) después del tiempo δt. Donde al aplicar series de Taylor obtenemos:

I(x,t)= I(x,t) + I•δx + δtIt + O^2

Donde I=(Ix,Iy) es el gradiente de los niveles de intensidad de la imagen y donde It es la derivada parcial de primer orden de la función de intensidad I(x,t), y O^2 son los términos de segundo orden o mayores que son insignificantes para el calculo del flujo óptico; simplificando la ecuación obtenemos:

I•v + It=0

Donde v = (u,v) es la velocidad de la imagen; y en donde la ecuación anterior es conocida como la ecuación restringida del flujo óptico (Barron1995); esta ecuación es la que satisface la hipótesis fundamental mencionada anteriormente. Aunque esta ecuación no es suficiente para poder determinar el flujo óptico debido a que las componentes en las componentes de la velocidad son desconocidas y solo se puede obtener la velocidad ortogonal que es la dirección del gradiente de los niveles de intensidad de gris, esto debido al problema de apertura (Black1991). Siendo que solo se puede estimar el flujo óptico de forma eficiente con este método cuando en la imagen hay suficiente intensidad en las en la imagen se presentan curvaturas Gaussianas. Por lo tanto es necesario agregar ciertas condiciones para poder determinar el movimiento en una secuencia de imágenes, según Beauchemin y Barron (Barron1995) estas condiciones son:

1. Iluminación uniforme.
2. Superficie de reflexión Lamberciana (de Lambert).
3. Traslación paralela pura en el plano de la imagen.

Donde el a medida que se satisfagan las condiciones con un mayor grado de exactitud se obtendrá el movimiento de flujo óptico en la imagen.




Bibliografia:



  • Black, M. J.Robust Incremental Optical Flow, Yale University, 1992 .
  • Beauchemin, S. S. & Barron, J. L.,The computation of optical flow, ACM Comput. Surv., ACM, 1995, 27, 433-466.
  • Horn, B. K. & Schunck, B. G.Determining Optical Flow, Artificial Intelligence Laboratory, Massachusetts Institute of Technology, Massachusetts Institute of Technology, 1980.






martes, 1 de julio de 2008

Navegación en Robots Móviles (1)



Navegación de macro a micro escala.

Debido a que la navegación en robots móviles ocupa un amplio espectro en lo referente a sistemas, requerimientos y soluciones Dixon y Henlich (1997) lo han estructurado en base a su escala de navegación; partiendo de escalas físicas los podemos clasificar en:

Navegación global: esta es usada para determinar la posición de mapas absolutos o referenciados y moverlos a un punto determinado, como ejemplo tenemos a los aviones jumbo a reacción y transatlánticos que operan con una navegación de piloto automático, entre otros.

Navegación local: esta navegación se basan en la habilidad de determinar la posición relativa de los objetos tanto estáticos como dinámicos e interactuar con ellos.

Navegación Personal: estos involucran robots de pequeños centímetros que requieren una alta precisión de navegación, sobre un rango pequeño.

Referencias de navegación.

Caminando junto a las escalas de navegación la fijación de la posición puede ser absoluta o relativa.

La determinación de la posición en forma absoluta implica encontrar la posición relativa a un origen absoluto, esto implica la determinación de un punto estacionario en común a todas las posiciones fijas entre el rango de navegación. Por otro lado la determinación de de la posición en forma relativa, implica encontrar un punto relativo a la posición del robot. Actualmente los sistemas de navegación se han dividido en dos vertientes los que utilizan Sistemas de Posicionamiento Global (Global Positioning Systems GPS) y los que utilizan Sistemas de Posicionamiento basados en la Visión de imágenes.

Sistemas d Posicionamiento Global (GPS).

El Sistema de Posicionamiento Global consta de tres segmentos:

Segmento de espacio: este consta de 24 satélites en orbita alrededor del planeta, que permiten determinar la posición instantánea de un usuario en cualquier momento. Para determinar la posición de un usuario se necesitan cuatro satélites que determinan su posición en las dimensiones x, y, z y el tiempo en el que están recibiendo esa información.

Segmento de tierra: que es el que monitorea y controla las posiciones de los satélites para asegurarse del correcto funcionamiento del sistema.

Segmento de usuario: este es el usuario móvil que utiliza un equipo de recepción GPS.
El uso del GPS provee una exactitud de 100m a los usuarios del Servicio de Posición Estándar (Standar Positioning Service SPS) debido a los errores de disponibilidad selectiva que fueron introducidos intencionalmente por la milicia de E.U. Debido a que no es posible obtener una exactitud para la navegación de robots móviles, el uso de técnicas diferenciales para el uso del GPS se vuelve un método viable para obtener una referencia global de navegación.


Figura1. Segementos GPS.


En cuanto a los sistemas de posicionamiento para robots móviles se deben de tomar en cuenta varias consideraciones como el tamaño del transceptor móvil, los requerimientos de poder del transceptor, exactitud del posicionamiento, costo de las unidades móviles, costo de la implementación total, la habilidad de procesar información GPS diferencial, inclusión de la integración de comunicación de datos, tiempo de fijación de la primera posición, actualizar el rango con movimiento, estandarización/disponibilidad del equipo, portabilidad/tiempo de configuración, entre otras restricciones que permitan al sistema de navegación del robot móvil poder determinar su posición en forma eficiente.


Referencias:


• Jonathan Dixon, Oliver Henlich Mobile Robot Navigation, Issues in Practical Implementation Imperial College, London, information systems engineering year 2: Surprise 1997

viernes, 27 de junio de 2008

Flujo Óptico en Robots Móviles (2)

Siendo que el flujo óptico tiene que ver con la secuencia de imágenes en movimiento y para los objetos que se encuentran en el entorno cambian de posición en cada imagen que es analizada por la cámara, se tienen algunos problemas en la obtención del flujo óptico para las secuencias de imágenes, como pueden ser la perdida de información de los objetos en la imagen, el ruido, los cambios de iluminación en la imagen, conservación den la información, coherencia espacial, continuidad temporal entre otras.

Restricciones del flujo óptico según Black (1992):

1. Conservación de la información: Esta restricción establece que a partir de las medidas de la imagen son las mismas a medida que pasa el tiempo, por lo tanto se conserva la información de la imagen.


Figura1. Conservación de la información.

2. Coherencia espacial: Los pixeles vecinos por lo general pertenecen a la misma superficie del objeto, por consiguiente tienden a tener velocidades similares en el flujo óptico; y por tanto su flujo óptico varía ligeramente.


Figura2. Coherencia Espacial.

3. Continuidad Temporal: Esta restricción nos dice que la ruta de movimiento de la imagen en el plano cambia gradualmente a através del tiempo.


Figura3. Continuidad Temporal


La restricción de la conservación de la información es violada generalmente donde la luz no reflectada en los objetos varia; esta restricción también se viola cuando existen múltiples movimientos dentro de la región. Por lo tanto para satisfacerla se asume que las regiones de la imagen se someten a traslación en el plano, e ignora los efectos de las deformaciones en las rutas locales de la imagen causadas por movimientos relativos entre el observador y la escena.

Por otro lado la restricción de coherencia espacial es violada en discontinuidades de movimiento, esto se observa cuando tenemos un objeto oculta a otro a medida que nos acercamos a el. También ocurre cuando a medida que nos acercamos a un objeto el objeto que estaba oculto se va descubriendo; o cuando dos objetos se mueven opuestamente en direcciones hacia arriba y hacia abajo.

La tercera restricción es violada en pequeños intervalos de tiempo; esto es cuando el objeto cambia radicalmente de trayectoria; también puede ocurrir cuando la cámara tiene movimientos inestables. Partiendo de esta información se puede asumir que teniendo una adquisición de imágenes muy frecuente a modo de que el movimiento entre las imágenes pueda ser analizado no se violara esta restricción.

Referencias:
  • Robust Incremental Optical Flow, Advisors: P. Anandan and D. V. McDermott, Yale University, Department of Computer Science, Research Report YALEU/DCS/RR-923, 1992.

lunes, 23 de junio de 2008

Flujo Óptico en Robots Móviles (1)

Flujo óptico

Cuando observamos el movimiento de los objetos en el espacio, tendemos a percibir espacialmente cuales son las direcciones que tienen o en que posición están ubicados dentro del espacio, debido a que las imágenes analizadas por un robot son imágenes bidimensionales, no le es posible al robot poder determinar la ubicación espacial de dichos objetos.

Para poder obtener una aproximación de cual es el movimiento de los objetos en el espacio, se utiliza el flujo óptico que es el movimiento visual aparente que experimentamos cuando nos movemos dentro del entorno, además de poder determinara la dirección y la velocidad de movimiento de las características de los objetos contenidos dentro de la imagen, donde los objetos que se encuentran mas cercanos se mueven mas rápido que los objetos que están alejados.


figura: Flujo óptico de un cubo en moviento


Dentro de la imagen de la cual se obtendrá el flujo óptico se determina el punto de expansión, el cual es la dirección de hacia donde nos dirigimos, a partir de los movimientos que realizamos en alguna dirección se percibe un efecto llamado paralaje de movimiento diferencial, el cual es la diferencia de velocidad percibida entre objetos cercanos con relación a objetos lejanos.

Dentro de los movimientos que se pueden analizar contamos con los movimientos que se hacen con una cámara estática; es decir que el movimiento lo percibe en base a las escenas que capta la cámara cuando se encuentra fija y no presenta movimiento. Otro de los movimientos que se analizan es cuando la cámara tiene movimientos dentro del espacio.

Otro efecto que la cámara tiene cuando percibe las imágenes es el movimiento relativo, cuando la cámara se acerca a algún objeto y cuando el objeto se mueve a hacia la cámara ambos a velocidad constante, este efecto produce la obtención de la misma secuencia de imágenes en ambos casos.

Debido a que el movimiento captado por la cámara produce cambios diferenciales en los pixeles de la imagen; este presenta un flujo de pixeles en la dirección opuesta al movimiento que la cámara realiza; este flujo se representa con un campo vectorial, donde cada vector representa la velocidad instantánea de cada píxel, y por tanto el flujo óptico de la imagen es el arreglo de vectores de cada uno de los pixeles que constituyen la imagen o serie de imágenes y pueden ser representados por una función dada por f(x,y,t) donde las coordenadas (x,y,t) representan un punto en el espacio a través del tiempo t.



Figura: Espacio de cordenadas de la secuencia de imagenes

Referencias:

  • Robust Incremental Optical Flow, Advisors: P. Anandan and D. V. McDermott, Yale University, Department of Computer Science, Research Report YALEU/DCS/RR-923, 1992.
  • http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/OWENS/LECT12/lect12.html

jueves, 19 de junio de 2008

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

Navegación en exteriores no estructurados

Este tipo de navegación se refiere a la navegación en entornos que no tienen una estructura regular; y los robots tienen que lidiar con una ruta a campo traviesa; muchas veces este tipo de navegación estará dando vueltas en las vecindades sin encontrar una ruta a seguir. Además se requiere que el robot tenga rutas específicas y para eso el robot tiene que crear un algoritmo de localización para poder llevar a cabo la navegación hasta su objetivo. Para crear un mapa del entorno el robot tiene que tomar un marco de coordenadas a partir de su ubicación o a partir de un punto de referencia en el espacio.

Dentro de las técnicas que desarrollada para poder determinar la localización del robot en este tipo entornos incluyen la observación por cámaras externas, triangular puntos de referencia lejanos, tener un posicionamiento global, entre otros; uno de estos últimos se basa en la posición del sol mediante un inclinometro, “que es una cámara con filtros de densidad neutral y una plataforma ajustable” (DeSouza, 2002).

Uno de los robots que navegan en exteriores es el RATLER, este presenta un sistema de mapeo el cual consta de una concordancia de correlaciones que selecciona partes de la imagen tanto del lado derecho como del izquierdo para poder determinar las intensidades del entorno; y su sistema posicional es determinado por inclinometros, un compas entre otros instrumentos.

Otro de los robots que utilizan esta navegación es el Pathfinder el cual consta de un vehículo para la exploración de Marte; el explorador consiste de un sistema de navegación formado por diferentes funciones las cuales son: designación de un objetivo, selección de la ruta, localización del explorador en el entorno y la detección de peligros.

Iluminación en la navegación de exteriores

Debido a que el ambiente exterior es muy variable en los grados de iluminación; esto debido a que los niveles de iluminación del entorno dependen de las condiciones climáticas, la hora del día entre otros factores. Para poder lidiar con estos problemas se han desarrollados sistemas que usan el color para poder compensar los grados de iluminación de la imagen que es analizada. A lo largo de los años se han desarrollado técnicas que permiten diferenciar sombras de obstáculos. Algunos de estos usan módulos de visión redundantes, cuyo principal objetivo es determinar la posición de los obstáculos mientras que el robot navega en el entorno. Los diferentes módulos estudiaran áreas de las cuales se obtendrá su histograma de la intensidad de sus valores; cuando hay diferencias en los umbrales, se utilizan el alto del marco para estimar el alto del objeto que esta obstaculizando; estas salidas se promedian para poder determinar los movimientos y aceleración del robot.

Otro sistema de navegación que utiliza las diferencias de color para solucionar los problemas del sombreado en los objetos es el desarrollado por Mori(Mori1988), el cual utiliza un factor de impresión de color el cual es utilizado para compensar las variaciones de la iluminación causada por el sol; este sistema esta utiliza tres ventas posicionales que corresponden a tres regiones de la imagen analizada, dichas regiones analizan distancias largas, medianas y cortas; que facilitan las transiciones de estados sombreados a iluminados. Además de estos sistemas mencionados ha propuesto otro que utiliza la profundidad del pixel en lugar del promedio de los componentes RGB; debido a que utiliza una representación de la imagen dividida en 6 regiones, se determina que hay un obstáculo en la imagen si se detecta un movimiento de altura en la región de camino analizada.
A medida que pasa el tiempo se presentan nuevas y mejores innovaciones dentro del campo de la visión artificial, y al mismo tiempo se presentan nuevos retos con los que lidiar y problemas que resolver para poder desarrollar mejores sistema de navegación en cualquiera de sus modalidades en las que se utilice.


Referencias.

• H. Mori, K. Kobayashi, N. Ohtuki, and S. Kotani, “Color Impression Factor: An Image Understanding Method for Outdoor Mobile Robots,” Proc. IEEE Int’l Conf. Intelligent Robots and Systems, pp. 380-386, Sept. 1997.

• 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.

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

Navegación en exteriores

Similarmente a la navegación en interiores; para que un robot móvil pueda navegar en el mundo exterior se necesita evitar obstáculos, detectar puntos de referencia, construcción de mapas y estimar su posición en el entorno para poder moverse dentro de este; aunque difícilmente es posible estimar un mapa de el entorno, dado que este es muy cambiante; además de que es muy difícil poder determinar su ubicación en el plano. Para poder determinar un sistema de navegación fiable se han dividido su estudio en dos vertientes que son la navegación en ambientes estructurados y la navegación en ambientes no estructurados.

Navegación en exteriores en entornos estructurados

Este tipo de navegación requiere un camino para recorrer, este debe de ser tal que se puedan determinar las líneas que delimitan un camino del resto del entorno. Estos deben de contener puntos de desvanecimiento, anchos de camino y línea de seguimiento, aunque estos sistemas de navegación tienen que lidiar con problemas de sombras, cambios de iluminación, colores entre otros. Entre los sistemas de esta índole, uno de los mas prominentes es el Navlab (Thorpe, 1987), el cual se utiliza desde minivans hasta metro buses que se encargan de conducirlos hasta ciertos destinos. Este sistema usa la visión en color para poder seguir una ruta y una visión tridimensional para poder detectar los obstáculos en el entorno. Su algoritmo de seguimiento se basa en tres puntos que son, la clasificación de los pixeles, el voto de la mejor posición para el camino y la actualización de los colores.

Dentro del la clasificación de los pixeles hay dos procedimientos que son la clasificación del color y la clasificación de la textura; dentro del primer procedimiento

“Cada pixel es asignado a una clase dependiendo de las distribuciones del color. Los pixeles del camino están representados por cuatro clusters Gausianos separados para tomar en cuenta los cambios de iluminación, las propiedades del camino, etc. Similarmente, los pixeles que no pertenecen al camino también están representados por un vector de medias tridimensional (con medias de R, G y B), por una matriz de covarianza de tres por tres y por la fracción de pixeles esperados a priori con el vector de colores X perteneciente a la da distribución i, PCi, que es calculada usando la distancia Mahalanobis: (X-mi)T ∑-1(X-mi). La clasificación es llevada a cabo usando estándares de pruebas de probabilidad de radios máximos. ”(DeSouza, 2002)


Además este sistema de navegación basa su clasificación de las texturas en las regiones del camino siendo estas mas brillantes que las que no lo son; la igualdad es medida por un índice de gradiente normalizado que es calculado utilizando el operador de Robert; posteriormente la clasificación de la textura es determinada por la probabilidad PTi que depende de los microbordes. Para determinar la clasificación de un pixel se combina la clasificación de textura y de color; estas características se asocian mediante la formula:

Pi = (1-α)PTi + αPCi

Debido a que la clasificación del color es más segura que la clasificación de textura; este se ve reflejado en el valor de α.

por lo tanto la clasificación de los pixeles en el camino y el entorno diferente al camino; quedan determinados por:

C = max{Pi, donde i es una clase de camino} - max{Pi, donde i es una clase diferente al camino}

Posteriormente de que se haya clasificado un pixel se aplica la transformada de Hough para obtener los parámetros de los puntos de desvanecimiento (P) y la orientación (θ); y donde cada pixel queda determinado por (P, θ) siendo el pixel que pertenece al camino el que tiene mayores votos. Después de ser clasificados los pixeles que pertenecen al camino y los que no, los pixeles que pertenecen al camino se vuelven a reclasificar para determinar los pixeles que pertenecen a los bordes del camino; esto permite al sistema de navegación adaptarse a las condiciones del camino que se sigue.

Aunado a la detección de los bordes y del camino, el sistema Navlab cuenta con un sistema de redes neuronales llamado ALVINN, el cual se encarga de determinar los ángulos en que se moverán las llantas del robot, este sistema es entrenado usando un algoritmo de propagación hacia atrás; también para poder determinar el centro de navegación del robot se utiliza una distribución Gausiana que dirige la orientación del robot en el camino. Aunque este sistema tiene problemas en el rendimiento del manejo y que la red neuronal olvide lo que aprendió en caminos curvos.

Otro sistema de navegación basado en el seguimiento de caminos es el sistema VITS; el cual consta de cámaras y sensores que permiten obtener la representación del entorno; el sistema de visión para la navegación produce un bosquejo del camino en un marco de coordenadas centradas para el vehículo; el cual se encarga de calcular la trayectoria que el robot seguirá. Donde el modulo de visión recibe del modulo de resonancia el cual consta de la información recibida por los sensores y una base de datos para poder determinar características del entorno como lo son forma, obstáculos, intersecciones, etc. La principal descripción del funcionamiento de este sistema se basa en la construcción de pixeles que pertenecen al camino y los que no, posteriormente se utilizan una técnica de sombreado dinámico para calcular en base al umbral y así poder determinar los límites del camino; y poder predecir el camino en base a estas observaciones.

Otros de los sistemas que se basan en el seguimiento de caminos son el sistema Prometheus el cual pertenece al proyecto EUREKA; el cual esta destinado a ser un sistema de navegación copiloto que avise cuando hay peligro de una colisión o accidente al conductor e incluso manejar autónomamente por periodos de tiempo.

Debido a que la velocidad en los robots móviles que navegan en exteriores es de suma importancia se han desarrollado sistemas que maximizan esta variable; uno de estos es el que utiliza una percepción adaptativa que se basa en tres parámetros que son el mirar hacia delante, barrer y escanear.

Referencias:

• C. Thorpe, T. Kanade, and S.A. Shafer, “Vision and Navigation for the Carnegie-Mellon Navlab,” Proc. Image Understand Workshop, pp. 143-152, 1987.

• 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.

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

Navegación Usando Concordancias Basadas en Apariencias

Además de la navegación usando flujo óptico también podemos ubicar dentro de la navegación Mapless la navegación basada en apariencias; la cual se enfoca en la memorización de su ambiente; esto a través de plantillas predefinidas que están almacenadas, que asocian estas con el entorno observado y conforme a las comparaciones que se observan, permiten dar movimiento al robot.

Uno de los sistemas que utilizan este tipo de navegación es el sistema desarrollado por Gaussier et al. y Joulian et al., el cual se basa en redes neuronales para mapear las percepciones que la cámara observa en los movimientos ejecutados por el robot. Su funcionamiento consta de una imagen que es procesada en por sus niveles de intensidad, almacenando sus promedios en un vector; en el cual se forma una visión local del entorno, después de tener un conjunto de estos vectores con sus respectivas visiones locales; se forma un lugar en el plano con dirección acimutal que define un objetivo, estos son representados por los datos obtenidos de cada vector; posteriormente a partir de los planos obtenidos las redes neuronales se encargan de hacer la asociación de cada plano con los movimientos de navegación del robot.

Otro de los sistemas que utilizan este sistema de navegación es el desarrollado por Matsumoto et al.; el cual usa una secuencia de imágenes y un procedimiento de concordancia con plantillas para dar movilidad al robot; para esto se extraían subventanas de secuencia para poder emular un tipo de memoria de todas las imágenes observadas. Así mismo se desarrollo otro sistema de navegación del mismo autor pero a diferencia de este, este ejercía sus movimientos en base a una secuencia de imágenes y este buscaba la s concordancias con las imágenes que tenia en una base de datos.

Navegación Utilizando el Reconocimiento de Objetos

Este tipo de navegación es una navegación simbólica la cual utiliza un enfoque en el cual se le ordena prácticamente mediante comandos hacia donde se tiene que mover; todo esto utilizando información simbólica que se establece para poder determinar los puntos de referencia y así poder llegar a el objetivo que tiene determinado el robot.

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.

• C. Joulian, P. Gaussier, A. Revel, and B. Gas, “Learning to Build Visual Categories from Perception-Action Associations,” Proc. IEEE Int’l Conf. Intelligent Robots and Systems, pp. 857-864, Sept.1997.

• P. Gaussier, C. Joulain, S. Zrehen, and A. Revel, “Visual Navigation in an Open Environment without Map,” Proc. IEEE Int’l Conf. Intelligent Robots and Systems, pp. 545-550, Sept. 1997.

• Y. Matsumoto, M. Inaba, and H. Inoue, “Visual Navigation Using View-Sequenced Route Representation,” Proc. IEEE Int’l Conf. Robotics and Automation, vol. 1, pp. 83-88, Apr. 1996.

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

Localización derivada del seguimiento de puntos de referencia

“Uno puede hacer la localización por el seguimiento de puntos de referencia cuando ambas, la localización aproximada del robot y la identidad de los puntos de referencia vistos en la imagen son conocidos y pueden ser seguidos.” (Desouza, Guilherme, 2002)

Debido a que los puntos de referencia pueden ser artificiales o naturales son analizados desde puntos de vista diferentes, dado que los puntos de referencia artificiales constan de prototipos predefinidos por el usuario, para que el robot los pueda visualizarlos de forma meramente simple con cámaras ubicadas en los costados de este que permiten reconocer las plantillas y así pueda obtener su posición dentro del espacio. Cuando no hay cámaras auxiliares se opta por buscar las propiedades de las plantillas ubicadas por el usuario para poder utilizar distintos algoritmos para obtener dicha localización.

Otro sistema de navegación que utiliza este tipo de navegación es el desarrollado por Hashima(1997); el cual usa técnicas de correlación para seguir puntos de referencia consecutivos ya sean naturales o artificiales, así como detectar obstáculos, este sistema utiliza el hardware dedicado TVR el cual se encarga de calcular las correlaciones, así mismo su sistema para obtener la localización del robot es determinada por múltiples algoritmos lo cuales se encargan de identificar puntos de referencia que ya están establecidos en la base de datos del robot y que este sigue; a partir de los puntos de referencia que se van registrando y el robot se va moviendo en el entorno, la posición del robot es estimada a partir de la comparación de los puntos referencia calculados y las posiciones de los puntos de referencia.

Construcción de mapas

Este tipo de sistema de navegación consiste en el crear un mapa del entorno a partir de modelos previamente establecidos o a partir de cero, siendo que los modelos son difíciles de generar, muchos autores han optado por crear robots capaces de construir una representación interna del entorno en el que navegan a medida que este va siendo explorado. Para esto se han construido diferentes robots los cuales constan de propiedades específicas que les permiten crear dicha representación.

Una de las técnicas utilizadas para poder implementar la creación interna del mapa es la de Moravec (1981,1983), el cual toma 9 imágenes consecutivas espaciadas en 50cm y que utiliza un operador de interés que extrae las características distintivas de la imagen. Otra técnica fue la desarrollada por Thorpe (1984) el cual utilizaba el operador de interés de Moravec para generar las características de las imágenes en coordenadas tridimensionales. Con esta innovación en 1985 Moravec y Elfes propusieron las rejillas de ocupación que es información que determina si una celda en el espacio es ocupada o no esto a partir de la información obtenida por sensores ultrasónicos.

“Mientras que los acercamientos basados en rejillas de ocupación son posibles de generar mapas que son ricos en detalles geométricos, la extensión a la cual la geometría resultante puede ser confiable sobre navegaciones subsecuentes dependen de la exactitud de la edometría y las incertidumbres sensoriales durante la construcción del mapa.” (Desouza, Guilherme, 2002).

Otra de las técnicas es la utilizada por Thrun (1998) el cual propone integrar el sistema de navegación basado en rejillas de ocupación y el sistema de acercamiento basado en topología; aun cuando estas dos técnicas contrastan entre ellas; debido a que una pretende obtener el mapa en observaciones y en la otra ya esta representado el mapa de navegación por medio de nodos.

Navegación en Sin Mapas

Este tipo de sistemas de navegación es logrado sin tener ninguna descripción o información del entorno; es decir que en este tipo de navegación no se basa en mapas; sino a partir de información relevante de los objetos que se observan en el entorno, lo cual conlleva a el robot a ejercer movimientos dependiendo de dicha información. Siendo la única forma de que el robot pueda moverse en el entorno, este necesita observar los elementos que existen en el ; las técnicas utilizadas para analizar estos objetos son el sistema basado en el flujo óptico y el sistema basado en apariencia.

Navegación usando flujo óptico

Uno de los sistemas basados en el flujo óptico es el desarrollado por Santos-Victor (1993) el cual basa su sistema en la imitación del sistema visual de las abejas; ya que favorece los mecanismos de navegación ya que ocupa mayor campo de visión y es usado para generar movimientos a partir de las características del entorno. Este sistema utiliza estereofonía divergente para tratar de imitar el centro de reflejo de la abeja; el cual se basa en la diferencia de velocidades entre las imágenes izquierda y derecha siendo estas aproximadas a cero, si las velocidades son diferentes entonces tomara acciones necesarias para guiarse en el entorno.

Para calcular el flujo óptico de cada lado de la visión se parte de las ecuaciones:

δIu/δx + δIv/δy + δI/δt = 0

donde:
u, v -> son las componentes de flujo horizontal y vertical

Mientras el robot se encuentre en un plano el flujo vertical tiende a cero; debido a que no hay movimiento en esa dirección por que se mantiene constante sobre el centro; entonces la ecuación quedara como:

u = -It/Ix

donde:
It e Ix son las derivadas espaciales de el tiempo y de x en la imagen.

Dado que los flujos ópticos en los lados tienen direcciones opuestas; se relacionan con la ecuacione:

e = uL + uR = TM(1/ZR – 1/ZL)

donde:
TM -> es la velocidad de movimiento hacia delante
ZR y ZL -> son las proyecciones horizontales de los movimientos de izquierda y derecha.

Debido a que estas ecuaciones no permiten cambiar la dirección del movimiento, no permiten hacer movimientos rotacionales, y estas ecuaciones solo pueden ser utilizadas si se cumplen las condiciones siguientes:

“1. La velocidad rotacional no es mas larga que ciertos factores de tiempo en la velocidad de traslación. Este factor esta en función de la posición relativa de las cámaras en representación polar, con respecto del marco de coordenadas del robot.
2. Las cámaras están montadas tan cerca como sea posible del centro de rotación del robot.
3. El procedimiento de calibración es realizado en orden de compensar por un termino independiente que aparece en la ecuación para movimiento rotacional.” (Desouza, Guilherme, 2002).

Además de tener que satisfacer estas condiciones, los cálculos del flujo óptico dependen de la existencia de texturas en el corredor que se navega; en caso de tener deficiencia en la textura se presentara lo que se llama comportamiento sostenido; el cual causa que el robot se detenga.

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.

Santos-Victor, G. Sandini, F. Curotto, and S. Garibaldi,“Divergent Stereo for Robot Navigation: Learning from Bees,” Proc. IEEE CS Conf. Computer Vision and Pattern Recognition, 1993.

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

Uso de una representación topológica del espacio

Dentro de la localización incremental también existe la localización por medio de representaciones topológicas del entorno; como lo es el caso del sistema NEURO-NAV; el cual representa un plano físico por medio de representaciones topológicas como lo pueden ser nodos y líneas que unen estos nodos; los cuales toman significado a partir del esquema fisco; donde cada nodo es un atributo de dicho esquema. Estudiando mas a fondo el sistema NEURO-NAV consiste de dos módulos uno dedicado a determinar el camino a recorrer y el otro dedicado a obtener los puntos de referencia; ambos utilizando redes neuronales.

“Ambos módulos permiten al robot ejecutar movimientos y al mismo tiempo realizar su localización” (Desouza, Guilherme, 2002).

Es decir que al mismo tiempo que se mueve en el entorno es capaz de reconocer puntos de referencia en el entorno. Dado que cada uno es una red neuronal, tanto el seguidor de caminos como el detector de puntos de referencia pueden tener subtareas específicas para realizar su labor en el sistema; debido a que esta haciendo tareas en paralelo sin recurrir al computo paralelo, para acelerar el computo se reduce el tamaño de la imagen y se aplica un filtro de Sobel para detectar los bordes.

Dado que ambas módulos utilizan redes neuronales; el proceso de entrenamiento utiliza un algoritmo de propagación hacia atrás; que es controlado por un modulo de supervisión humana que toma el control de la navegación del sistema.

“Este modulo permite al operador humano especificar comandos simples de movimiento mientras se empiezan las rutinas de digitalización, que graban imágenes usadas subsecuentemente para el entrenamiento” (Desouza, Guilherme, 2002).

Debido a que se utilizan diversas redes neuronales estas son supervisadas por un controlador basado en reglas.

Posteriormente, y debido a que las salidas de datos de las redes neuronales podían ser fácilmente construidos, se desarrollo un sistema de navegación que en lugar de utilizar a un controlador basado en reglas fue reemplazado por un supervisor controlador de rizo; el cual toma todas las salidas que producen las redes neuronales y decide que comando articular al modulo de control del robot; este se encargaría de usar variables lingüísticas como: la distancia a la unión, ángulo de giro y la distancia viajada.

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.
• M. Meng and A.C. Kak, “NEURO-NAV: A Neural Network Based,Architecture for Vision-Guided Mobile Robot Navigation Using Non-Metrical Models of the Environment,” Proc. IEEE Int’l Conf. Robotics and Automation, vol. 2, pp. 750-757, 1993.

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.

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

Localización absoluta

Uno de los principales objetivos de este tema es la localización del robot dentro del espacio; esto debido a que su posición inicial es desconocida; siendo que a partir de el punto de referencia donde se encuentra el robot se partirá para poder determinar los datos necesarios para la navegación; debido a que hay diferentes puntos de vista de cómo determinar la posición inicial, se han desarrollado métodos para poder establecer la localización inicial como son la localización de Markov, localización de Montecarlo, filtrado de hipótesis múltiples de Kalman; entre otros.

Hatiya y Hanger propusieron un método para poder ubicar la posición inicial del robot el cuyo principal funcionamiento esta basado en el reconocer entidades dentro de las imágenes que la cámara esta procesando y que son invariantes; es decir busca puntos de referencia constantes durante la navegación en el entorno; una vez que se tengan los puntos de referencia el robot necesitara hacer las triangulaciones entre los puntos de referencia para obtener su localización; aunque existen varios errores por los que se podría incurrir; como lo puede ser el error de pixeles en la imagen, multiplicidad en los puntos de referencia entre otros. Sin embargo para poder lidiar con estos problemas de incertidumbre y ambigüedades en los puntos de referencia y poder obtener la localización del robot, se han utilizado conjuntos basados en acercamientos; y se ha denominado problema de etiquetado.

A continuación explicare el problema de etiquetado:

Sea j un punto de referencia observado en la imagen, y este punto de referencia es observado por dos cámaras, una en la derecha y otra en la izquierda; entonces podemos decir que:

Oj=(ol,or) con intervalo el cuadro de la cámara ± ε.

Donde:
Oj -> es el intervalo de observación entre las cámaras izquierda y derecha.
ol -> es la observación de la cámara izquierda.
or -> es la observación de la cámara derecha.
ε -> es el error de la medición sensorial.

Sea pj el intervalo de localización del punto de referencia j con respecto al marco de la imagen ± una tolerancia δ. Y sea p la posición del robot, entonces podemos dar un intervalo de observación esperado dado por la proyección en el plano:

h = Proy(p,pj)

Para que la obtención de los puntos de referencia estén libres de errores; el intervalo de observaciones y el intervalo de puntos de referencia deben conincidir. Y por lo tanto podemos definir a:

λ ={oi,pj}

como la coincidencia de los intervalos de observación y puntos de referencia; y a el conjunto de dichas coincidencias como:

Λ= {{oi,pj}}

Dado que ya hemos definido los intervalos en los que se basara para obtener la localización del objeto; esta localización estará en función de todas las intersecciones de estos dos intervalos.

“Esta se tornara mas pequeña mientras mas observaciones estén combinadas, dando un mejor estimado de la incertidumbre” (DeSouza, Guilherme, 2002).

Para poder estimar la posición del robot dada por p=(x,y,Θ) donde x, y es la posición del robot y Θ es la orientación de este; se dieron puntos de referencia conocidos y observaciones de estos; lo cual los conllevo a dos problemas.

“Problema 1. Dados n puntos localizados en los intervalos p1, p2, . . . ,pn en el marco de coordenadas del mundo que representan los puntos de referencia y los m pares de intervalos de observación o1,o2, . . . ,om en el marco de coordenadas de la cámara del robot, determinar un etiquetado constante Λ = {{oi,pj}}, tal que: Proy(p,pj) ∩ oi ≠ 0, para todo Є Λ .

Problema 2. Dado el etiquetado de arriba, encontrar el conjunto de posiciones de P del robot, consistentes con el etiquetado. Es decir, encontrar el conjunto P={p | Proy(p,pj) ∩ oi ≠ 0}, para todo Є Λ. “ (DeSouza, Guilherme, 2002)

Para solucionar el problema se sugiere usar el etiquetado con mayor número de concordancias, o mayor a cuatro; esto comparando todas las posibles triangulaciones sujetas a la heurística, esto con todos los posibles puntos de referencia que pueden ser encontrados en la imagen analizada.

Debido a que primero se tiene que resolver el problema 1, que consiste en encontrar un etiquetado consistente Λ, para poder seguir con determinar la posición del robot dado por el problema 2; para resolver este segundo se analizaron las fuerzas geométricas que involucran los puntos de referencia en las triangulaciones. Resumiendo podemos decir que la posición del robot esta dada por p=(x,y,Θ) donde:

Θ = Θo - Θd

Además

Θo = atan((ty + λsy)/(tx+λsx)) y Θd = atan(ry/rx)
Donde:
t -> representa segmentos conectando dos regiones de incertidumbre (t=o1-o2)
s -> representa segmentos dentro de la regiones (s=o2,k – o2,j ; j^k son esquinas de o2)
r -> representa segmentos conectando los puntos de referencia localizados por p1 y p2.

“Debido a la representación triangula, las regiones de incertidumbre producen diferentes valores de Θ. Estos valores son combinados para formar un intervalo o conjunto de intervalos.” (DeSouza, Guilherme, 2002)

Dada la intersección de los intervalos sobre las concordancias de λ se obtiene Θ*; y a partir de esto podemos determinar la posición del robot que esta dada por las ecuaciones:

xi = pi,x + sin(Θ*)ti – cos(Θ*)si
yi = pi,y + sin(Θ*)si – cos(Θ*)ti

La intersección de los conjuntos xi y yi para todas las regiones producen x*, y* que con Θ* tienden a cero mientras mas iteraciones haya.

Localización Incremental

Usando representaciones geométricas del espacio; es posible conocer la posición inicial del robot de una forma aproximada; esto es utilizando algoritmos que sigan la pista de la incertidumbres en las posiciones en las que se encuentra el robot y dar movimientos a partir de estos. Uno de los sistemas de navegación que utilizan este tipo es el sistema FINALE; el cual utiliza técnicas probabilísticas que se acercan a la representación y actualización de incertidumbres posicionales, a medida que el robot se mueve; este sistema consta de los siguientes elementos.

1. Representa la incertidumbre de una posición p=(x,y,Θ) por distribuciones Gaussianas; y esta incertidumbre es caracterizada por p y la covarianza Σp.
2. Se caracterizan y parametrizan los movimientos del robot conforme a movimientos de traslación y rotación.
3. Determinando la incertidumbre de la posición del robot cuando tiene movimientos de rotación y traslación; estos cambios son dependientes de p y Σp en dichos movimientos.
4. Diseño de un modelo basado en filtros Kalfman.

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.