Download An Unmanned Ground Vehicles Experimental Setup for Image

Document related concepts
no text concepts found
Transcript
An Unmanned Ground Vehicles Experimental
Setup for Image-Based Object Tracking
E. M. Cruz, A. G. Barrientos, R. O. Tapia, E. S. E. Quesada and L. R. G. Carrillo
Abstract— This paper presents a practical design of a visual
servoing algorithm for mobile robots. The algorithm, implemented
in mobile robots equipped with a camera, facilitates to detect and
follow a specific object autonomously. The proposed scheme infers
information directly from the images obtained by the camera, and
then digital signal processing techniques are implemented in order
to detect the object of interest and to generate the necessary
movements of the robot in order to perform the tracking task. The
algorithm provides effective performance when using images of
objects that have well known characteristics, e.g., color and the
size. Experimental results obtained with omnidirectional mobile
robot performing indoors show that the proposed methodology
allows locating and following a specific object by using the
proposed image-based visual servoing control.
Keywords— Visual servoing, segmentation, omnidirectional
mobile robots.
E
I. INTRODUCCIÓN
L GUIADO de los robots es una de las disciplinas que en
las últimas décadas ha captado la atención de grandes
grupos de investigación a nivel mundial, principalmente en
las áreas de: robótica, inteligencia artificial, automatización y
control, vehículos aéreos y terrestres no tripulados, etc. Esto es
debido a la gran variedad de aplicaciones que se pueden
realizar utilizando la visión artificial, como un sistema de
adquisición de información, como por ejemplo: en el mapeo
de zonas, monitoreo, vigilancia, seguridad, reconocimiento,
entre otras. De especial interés han sido las aplicaciones de
detección y seguimiento de objetos a partir de una secuencia
de imágenes obtenidas por una cámara. En estas aplicaciones,
el uso de una cámara estática es muy común, sin embargo, en
algunos casos este tipo de cámara no es adecuada por sus
limitaciones de visibilidad, y por lo tanto no es posible
detectar el objetivo y mucho menos realizar su seguimiento, y
se deben de utilizar algoritmos como el ABCshift, [1] y [4].
La colocación de una cámara estática en un robot móvil para
realizar el guiado de los robots es una técnica muy frecuente,
ya que una vez obtenida la imagen se realiza el procesamiento
digital de imágenes para la detección del objeto que se está
buscando con características previamente definidas y una vez
localizado, se puede realizar el seguimiento [6]. Este proceso
contempla la combinación de visión artificial y el control de
robots móviles, el cual se le conoce comúnmente como control
E. M. Cruz, Instituto Tecnológico de Atitalaquia, México,
[email protected]
A. G. Barrientos, Instituto Tecnológico Superior de Misantla, México,
[email protected]
R. O. Tapia, Universidad Politécnica de Tulancingo, México,
[email protected]
E. S. E. Quesada, Universidad Politécnica de Pachuca, México,
[email protected].
L. R. G. Carrillo, Electrical & Biomedical Engineering, University of
Nevada, Reno, USA, [email protected]
visual, y está dividido en dos categorías; basado en posición
(PBVS, por sus siglas en inglés), donde las características se
extraen de la imagen y se utilizan junto con el modelo
geométrico del objetivo. Su efectividad se basa principalmente
en la calibración adecuada de la cámara y el modelo
cinemático del robot para poder estimar la posición del
objetivo con respecto a la cámara [2], [9]. En la segunda
categoría, basada en imagen (IBVS, por sus siglas en inglés),
los valores de control se calculan directamente de las
características extraídas en el plano imagen. En ambas
categorías, la información visual obtenida por la cámara del
robot es utilizada para generar los comandos de movimiento
que le permiten detectar y seguir un objeto móvil.
Hasta ahora, existen diferentes algoritmos para el guiado de
los robots móviles utilizando técnicas de detección y de
seguimiento de objetos que han sido tratados en numerosos
trabajos de investigación [7-14]. La mayoría de estas técnicas
se basan en detectar el movimiento en imágenes estáticas [78]. En estas técnicas se calculan los modelos a partir del fondo
de las imágenes capturadas, lo cual permite segmentar los
objetos móviles, sin embargo, no son adecuadas para una
secuencia de imágenes tomadas por los robots en movimiento.
Las estrategias para el control de robots móviles usando
imágenes adquiridas por una cámara a bordo son presentadas
en [3], [5], [13], [14], donde se puede observar que la
estructura del sistema robótico depende específicamente de la
aplicación que se esté desarrollando. Particularmente,
planteando un escenario similar al de las competencias
RoboCup, donde el principal medio por el cual los robots
jugadores de futbol perciben su entorno es a través de una
cámara de video para obtener imágenes que deben ser
procesadas y analizadas. Este sistema robótico tiene la
capacidad de identificar diferentes elementos con
características específicas como: el color, tamaño y las formas
existentes en el terreno de juego, como por ejemplo la pelota,
las porterías y las líneas del campo, por lo cual resulta de gran
interés disponer de técnicas que permitan detectar y seguir un
objeto en movimiento de forma fiable y robusta.
En el presente artículo se describe un arreglo experimental
para el guiado de robots siguiendo objetos bien definidos en
color y tamaño, utilizando la optimización de un algoritmo
práctico de control visual basado en imagen (IBVS). Este
sistema fue implementado en un robot móvil omnidireccional
teniendo como objetivo el dotar al robot de la capacidad de
localización y reconocimiento de objetos sólidos, de un color
y tamaño bien definido, al cual pueda seguir sin problema
alguno. Los resultados experimentales muestran un tiempo de
respuesta adecuada para aplicaciones de seguimiento de
objetos, como por ejemplo en las competencias de la
RoboCup.
II. SISTEMA EXPERIMENTAL
El sistema experimental consta de un robot móvil ROVIO con
una cámara digital integrada y con una comunicación WiFi a
la unidad de control, donde se realiza el procesamiento digital
de las imágenes. El esquema general propuesto consta de
cuatro etapas secuenciales, como se muestra en el diagrama
de la Fig. 1. Primero, tomando la imagen adquirida por el
robot móvil se aplica segmentación de color. Esta
segmentación se realiza a partir de la probabilidad de
correspondencia de los pixeles con una serie de patrones
previamente entrenados. Después, se obtiene un conjunto de
características geométricas de los objetos resultantes de la fase
anterior mediante la extracción de blobs, para así descartar
aquellos objetos que no son de interés y obtener únicamente el
objeto deseado, del cual se adquiere su posición en el plano
imagen tomando el valor de su centroide. A continuación, se
estima la distancia entre el robot y el objeto con base a su área
en pixeles. Por último, ambas características de posición en la
imagen y distancia son las entradas a un sistema de decisiones
que calcula las consignas de movimiento y velocidad a enviar
al robot móvil.
Off-Line
Entrenamiento
Imagen de
entrada
Segmentación por
color
Extracción de blobs
Estimación de
distancia
Toma de decisiones
Consigna de
movimiento
Figura 1. Esquema general de la técnica de visión propuesta para la detección
y seguimiento de objetos.
Si bien la metodología propuesta es una técnica bastante
investigada, es importante destacar la implementación de ésta
en nuevos procesadores de señales digitales, así como también
la utilización de nuevos recursos computacionales como por
ejemplo: su implementación en lenguajes gráficos como
LabView. A continuación se describe cada uno de los pasos
que se utilizaron para llevar a cabo exitosamente el guiado de
los robots móviles.
A) Segmentación por color
El proceso de segmentación se refiere a la tarea de clasificar
los pixeles de la imagen agrupándolos bajo un criterio para
identificar regiones de interés [15]. En esta etapa se ha
utilizado segmentación por color debido a que los objetos a
seguir son de un color definido y uniforme. Se plantearon y
evaluaron dos técnicas basadas en entrenamiento aplicado
fuera de línea. En el entrenamiento se obtiene el modelo de
representación del color deseado a partir de imágenes
compuestas por el color a buscar. Como una primera técnica,
se utilizó la agrupación por regiones elipsoidales rotadas en el
espacio. Esta técnica está basada en la probabilidad de
pertenencia de los pixeles de la imagen a una serie de patrones
de color RGB agrupados en una geometría volumétrica. En
este caso, elipsoides rotados en el espacio, ya que se ajustan
de forma razonable a la distribución de los colores. Este
modelo brinda mejores resultados comparado con el de los
umbrales simples y también presenta una mejor respuesta que
la segmentación tipo cónica y la de paraboloides [17].
Primeramente, en el entrenamiento es necesario obtener los
parámetros que definen dicha geometría para el color del
objeto que se desea buscar, es decir: las dimensiones de los
semiejes (a, b, c), la coordenada central (Xm, Ym, Zm) y los
ángulos de rotación (ϕ, θ, ψ) del elipsoide. La metodología
desarrollada para obtener estos parámetros que caracterizan al
elipsoide con rotación se describe brevemente a continuación:
i) Se toma una serie de muestras sobre pixeles representativos
del color del objeto a segmentar. Después, se obtiene el valor
RGB de cada uno de estos pixeles, con lo que se obtiene un
arreglo o lista con tres componentes (ARGB).
ii) Se identifican las líneas de tendencia que están siguiendo
las muestras almacenadas para encontrar los puntos extremos
de cada componente (RMAX, RMIN, GMAX, GMIN, BMAX, BMIN)
utilizando un algoritmo de regresión lineal basado en la teoría
de mínimos cuadrados.
iii) Se calcula la longitud del eje principal (i) y de los semiejes
(ii y iii) de la elipsoide resultante que logra envolver la nube
de puntos muestra.
iv) La coordenada del punto medio del elipsoide (Rm, Gm, Bm),
resulta simplemente de promediar los puntos máximos y
mínimos del eje principal del elipsoide calculados en (ii).
v) Para lograr la rotación del elipsoide se utiliza la convención
de Euler Z–X–Z (ϕ, θ, ψ), donde fijamos el ángulo ϕ con un
valor de - π 2 de modo que el eje X sea colineal con el semieje
secundario horizontal del elipsoide. Lo cual significa que
solamente se necesita encontrar los ángulos θ (girar el
elipsoide alrededor del eje X) y ψ (giro alrededor del eje Z)
auxiliándonos de los puntos límite de la línea de tendencia
hallados en (ii).
Una vez realizado el entrenamiento del color que se desea
buscar, el procedimiento para clasificar los pixeles dentro de
la segmentación por elipsoides se describe en una serie de
pasos:
Paso 1. Para cada pixel de la imagen de entrada, donde se
busca al objeto, se obtienen sus valores R, G y B.
Paso 2. A fin de encontrar la posición de los pixeles en las
nuevas coordenadas cartesianas [Rn, Gn, Bn], se realiza la
traslación tridimensional de los puntos (R, G, B) utilizando las
ecuaciones de trasformación, como se describe a continuación:
Rn = (R − Rm)sin(ψ )cos(θ ) − (G − Gm)cos(ψ )cos(θ ) − (B − Bm)sin(θ ) (1)
(2)
Gn = (R − Rm)cos(ψ ) − (G − Gm)sin(ψ )
(3)
Bn = (R − Rm)sin(θ )sin(ψ ) − (G − Gm)cos(ψ )sin(θ ) + (B − Bm)cos(θ )
Paso 3. Los valores encontrados se evalúan en la ecuación del
elipsoide, como se muestra a continuación:
1
 a2

*
Rn
Gn
Bn
[
]  0

0

0
1
b2
0

0
  Rn 
0  * Gn  ≤ 1

  Bn 
1  
2
c 
(4)
Paso 4. Si el resultado es igual o menor a ‘1’, entonces se
considera que el pixel está dentro de la región de
segmentación, y por lo tanto es un pixel del color de interés.
En caso contrario, el pixel se considera no clasificable dentro
del color dado.
De acuerdo a una serie de pruebas con diferentes imágenes de
objetos de diferente color y a varias distancias, como la
mostrada en la Fig. 2, se observó que el algoritmo funciona de
manera adecuada en la clasificación de pixeles, sin embargo,
el tiempo promedio de ejecución para una imagen de 640 x
480 pixeles fue de 290ms, el cual resulta un tiempo elevado
para nuestra aplicación. Por ello, se trabajó en una segunda
técnica que involucra un espacio de color diferente.
de 0 a 255. De este modo, se genera el histograma patrón
normalizado en Hue que representa la distribución de color
del objeto a seguir. Por otra parte, con los otros dos canales
correspondientes de la imagen HSL se entrenan los umbrales
inferiores y superiores necesarios para el cálculo de las
máscaras de saturación y luminancia. Una vez que se tienen
entrenados los valores necesarios para el algoritmo, la
segmentación se realiza con los siguientes pasos:
Paso 1. Cada imagen de entrada RGB en la que se busca al
objeto se convierte al espacio de color HSL.
Paso 2. Se obtiene la correspondencia de los pixeles del canal
Hue con el histograma normalizado previamente entrenado.
Obteniendo así una imagen en escala de grises, donde cada
píxel tendrá como intensidad el valor del histograma
correspondiente al matiz de dicho pixel en la imagen
procesada.
Paso 3. Por último, a la imagen en escala de grises se le
aplican las máscaras con los umbrales entrenados de los
planos de saturación y luminancia.
De igual manera que en la técnica anterior, se realizaron una
serie de pruebas para el algoritmo de segmentación. En la Fig.
3 se muestra el resultado de esta técnica sobre un objeto de
color verde, mostrando eficiencia en la clasificación de
pixeles.
(a)
(b)
Figura 2. Ejecución del algoritmo de segmentacion sobre un objeto de color
verde. (a) Imagen original, (b) Imagen de salida binaria.
Esta segunda técnica es una correspondencia en el histograma
Hue con umbralización en saturación y luminancia. Esta
técnica está basada en el espacio de color HSL (Hue,
Saturation, Brightness - Tonalidad, Saturación, Brillo). La
principal ventaja que ofrece dicho espacio es que su
componente Hue (Tono) es invariante ante posibles cambios
de iluminación [16]. Esta propuesta se centra en la
correspondencia de los píxeles de la imagen con un
histograma en Hue normalizado previamente entrenado y la
imposición de máscaras en saturación y en luminancia, para
descartar errores provocados por excesos o defectos de luz. En
este algoritmo se considera inicialmente la conversión de las
imágenes de entrada RGB al espacio HSL, en la fase de
entrenamiento se aísla el canal Hue y se calcula el histograma
asumiendo que la imagen contiene solo el color del objeto a
buscar, los valores del histograma h(x) se escalan para que se
encuentren en el rango de [0, 255] mediante la ecuación (5).
hn ( x) = h( x)
255
255
max(h( x))
∀x ∈ [0, 255]
(5)
x =0
Donde h(x) son los valores del histograma y x toma los valores
(a)
(b)
(c)
(d)
(e)
Figura 3. Proceso de segmentación por histograma en Hue. (a) Imagen
original, (c) imagen en escala de grises de la correspondencia con el
histograma patrón en Hue, (d) imágen de la máscara en el plano de
Saturación, (e) imagen de la máscara para el plano de Luminancia y (b)
imagen resultante.
De acuerdo a los resultados obtenidos, la Tabla I muestra
un estudio comparativo de los tiempos de procesamiento de
las dos técnicas implementadas, por lo que se elige la
segmentación basada en histograma de Hue, la cual permitió
evaluar más cuadros por segundo y es la que se utilizó en este
trabajo de investigación.
TABLA I. TIEMPO DE PROCESAMIENTO DE LAS TÉCNICAS DE SEGMENTACIÓN.
Prueba
1
2
3
4
5
Regiones
elipsoidales
286ms
272ms
311ms
273ms
303ms
Histograma
en Hue
65ms
62ms
70ms
62ms
68ms
B) Extracción de blobs
El uso de la información proveniente de la segmentación
junto con otras características como tamaño o morfología
permite realizar detecciones más robustas. Es por ello que se
implementa la etapa de extracción de blobs. Un blob (Binary
Large Object) es un conjunto conectado y amorfo de pixeles
de una imagen cuya intensidad es superior a un umbral y que
están unidos entre sí. A partir de éste es posible obtener una
serie de características de gran utilidad en la detección de
objetos en una imagen como por ejemplo; el área, cálculo del
perímetro, coordenadas del centroide, cálculo del rectángulo
que incluye al blob, entre otras. Dentro de nuestra aplicación,
la extracción de blobs se realiza sobre la imagen previamente
segmentada según el color del objeto. De esta manera se
extraen como blobs todos aquellos clúster de píxeles que
tienen un valor de color con probabilidad alta de
correspondencia con el patrón entrenado, dando como
resultado una imagen binaria en la que cada uno de los objetos
está completamente caracterizado geométricamente. Sin
embargo, los clústeres obtenidos pueden ser originados por
objetos deseados o por objetos falsos. Para eliminar los falsos,
se aplica un conjunto de restricciones relativas a su forma. El
filtrado por forma consiste en comparar inicialmente un vector
de características de forma de los blobs obtenidos, (en nuestro
caso la orientación y la proporción entre los ejes de la elipse
resultante del blob) con el vector patrón también previamente
entrenado, para que después se realice con respecto al blob
detectado anteriormente como objeto, haciendo al algoritmo
robusto ante cambios progresivos en tamaño y forma en el
blob seguido, descartando todos aquellos que no estén lo
suficientemente cerca y seleccionando aquel que esté más
cerca en caso de que quede más de uno. Como resultado de
esta etapa se obtiene un único blob (o ninguno en caso de no
detectarlo) que corresponde con el objeto buscado. A partir del
blob resultante se obtiene su característica de centroide para
así obtener la posición del objeto en el plano imagen.
C) Estimación de distancia
Una vez detectado el objeto de interés, es posible estimar la
distancia a la que se encuentra respecto al robot a partir del
análisis del número de pixeles (obtenido del único blob
resultante de la etapa anterior) que lo conforman.
tamaño de un objeto son inversamente proporcionales.
También se puede apreciar el campo de visión en dos
dimensiones para una imagen, teniendo así la siguiente
relación cuadrática:
Di =
donde:
En la Fig. 4 se muestra el campo de visión de una cámara
en una dimensión, donde la relación entre la distancia y el
(6)
Ai
A = ς *ε
(7)
Para encontrar la constante λ se coloca el robot a una
distancia donde se pueda ver solamente un objeto completo.
Las constantes ς y ε corresponden a los lados del objeto de
interés, por lo que en un ambiente sin ruido, el producto de
ellos corresponderá a la totalidad observada de pixeles
segmentados. Sin mover al robot, se mide la distancia en
centímetros a la cual se encuentra éste del objeto en cuestión y
se ingresa esta información en la siguiente ecuación:
λ = D1 ς 1.ε1
(8)
donde la constante λ es usada para calcular la distancia en las
demás observaciones. Utilizando la ecuación (6), el error
relativo puede ser hallado de la siguiente forma:
er ( % ) =
Dest − Dreal
×100
Dreal
(9)
donde Dest es la distancia estimada del objeto y Dreal
corresponde a la distancia real del mismo objeto. La Tabla II
muestra el error relativo calculado mediante la ecuación (9) de
una serie de pruebas realizadas para diferentes objetos con
varias distancias, comparando la distancia real de los objetos
con la estimada por el robot. De una toma de 25 imágenes se
obtuvieron errores relativos de hasta ±5%, la fuente de error
proviene principalmente de cambios bruscos en la
iluminación, sin embargo el margen de error es aceptable para
esta aplicación.
TABLA II. RESULTADOS EN ESTIMACIÓN DE DISTANCIA DE OBJETOS.
Objeto
Cilindro azul
Cilindro verde
Pelota roja
Pelota naranja
Figura 4. Percepción de tamaño de un objeto mediante una cámara a
diferentes distancias.
λ
Distancia
real (cm)
65
225
120
196
Distancia
estimada (cm)
62
219
124
204
Error
relativo (%)
-4.61
-2.66
3.33
4.08
D) Toma de decisiones
En la última etapa, se calcula la consigna de movimiento
que debe ejecutar el robot móvil. Se ha optado por una
solución práctica y efectiva: un algoritmo de decisiones
basado en la elección del movimiento y la velocidad del robot
respecto a la posición del objeto en el plano imagen y la
distancia relativa entre ellos en cada instante. Ésta se realiza
de acuerdo a la posición del centro del objetivo, es decir si el
objeto está en un rango del centro de la imagen o desplazado a
la derecha o a la izquierda, de esta manera se determina el
movimiento del robot ya sea a la derecha o izquierda, con el
fin de centrar inicialmente el objeto. Posteriormente, se toma
el valor de la distancia estimada para determinar la velocidad
con la que el robot debe avanzar hacia adelante hasta acercarse
al objeto, a una distancia mínima definida por el usuario. Este
conjunto de decisiones se utiliza para realizar la búsqueda del
objeto. Cuando éste se ha perdido o no se encuentra el objeto,
el robot gira sobre su eje en el sentido del último
desplazamiento lateral. El diagrama de flujo sobre la toma de
decisiones se muestra en la Fig. 5.
como se muestra en la Fig. 6. En ésta se puede observar una
secuencia de imágenes que demuestran como el robot Rovio
puede ser capaz de detectar un objeto y hacer el seguimiento si
éste es desplazado. En este caso, el objeto es un cilíndrico de
color naranja con dimensiones: 8cm de radio y 21cm de altura.
En ocasiones, el robot puede perder al objetivo si éste se
mueve demasiado rápido, de tal manera que el ciclo de
obtención de imágenes no sea capaz de captarlo, sin embargo
el robot logra encontrarlo nuevamente al girar sobre su eje.
Posición y
Distancia
a)
Posición=0
Giro izq. ó der.
250≤Posición≤390
b)
Posición>390
Derecha
Izquierda
Distancia=mínima
c)
Adelante
d)
Detener
Figura 5. Diagrama para la toma de deciciones para el movimiento del robot.
Cabe mencionar que cualquier desplazamiento lateral del
robot se hará a la velocidad mínima y las correspondencias de
distancia con velocidad utilizadas se han obtenido de manera
heurística, a partir de un conjunto de experimentos con la
plataforma móvil.
e)
III. RESULTADOS
Como plataforma experimental se utilizó el vehículo Rovio
WowWee; un robot móvil de configuración omnidireccional
que cuenta con conectividad WiFi, del cual se puede controlar
y adquirir datos de sus sensores mediante comandos HTTP
[19], además cuenta con una cámara IP montada sobre él
[18]. La programación de los algoritmos propuestos se realizó
en un equipo con procesador Dual-Core de 2.2 GHz y 6 GB en
RAM bajo el sistema operativo Windows utilizando el entorno
gráfico de LabVIEW® dado que cuenta con funciones
avanzdas de procesamiento de imágenes permitiendo la
implementación y acortándose significativamente los tiempos
de análisis y de experimentación. Así mismo, se diseñó una
interfaz gráfica de usuario, dando como resultado una
aplicación intuitiva, gráfica y de fácil utilización con un
mínimo de entrenamiento.
Tanto los experimentos como las técnicas llevadas a cabo
se han particularizado en el seguimiento de un objeto bajo el
escenario del interior del laboratorio de experimentación, tal
f)
g)
h)
Figura 6. Resultado del esquema propuesto para la detección y seguimiento de
un objeto, representado como una secuencia (a~h) de imágenes visto desde
una prerspectiva de tercera persona (primer columna) asi como la vista de la
cámara del robot (segunda columna) y la imagen de salida de la etapa de
segmentación (tercer columna).
IV. CONCLUSIONES
La implementación de un arreglo experimental para el
guiado de robots mediante el seguimiento de objetos,
utilizando el control visual en los robots móviles, mediante la
optimización de un algoritmo práctico de seguimiento y
localización de un objeto de color y tamaño bien definido, ha
sido llevado acabo satisfactoriamente en este artículo. Para
realizar esta tarea se utilizó el control visual basado en
imagen, ya que las características extraídas directamente de la
cámara del robot son utilizadas para calcular las consignas de
movimiento para ser enviadas al robot. El ciclo de la máquina
de estados, que se utilizó para programar la estructura se fijó a
100ms debido a las limitaciones en el tiempo de adquisición
de la imagen por parte de la plataforma robótica utilizada, sin
embargo, se podría aumentar considerablemente la velocidad,
si se utiliza un sistema embebido, lo cual es uno de los
trabajos a futuro.
AGRADECIMIENTOS
Este trabajo ha sido realizado gracias al apoyo de
CONACYT-México, mediante los proyectos con número de
financiamiento 169062 y 204419.
REFERENCIAS
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
Bernardino, A. y J. Santos-Victor, "Binocular tracking: integrating
perception and control", IEEE Transactions on Robotics and
Automation, vol. 15, nº 6, pp. 1080-1094, 1999.
S. Hutchinson, G. D. Hager, and P. I. Corke, “A tutorial on visual servo
control,” IEEE Transactions on Robotics and Automation, vol. 12, no.
5, pp. 651–670, 1996.
G. L. Mariottini, and D. Prattichizzo, “Image-based Visual Servoing
with Central Catadioptric Cameras,” International Journal of Robotics
Research, Volume 27, 2008, pp. 41-56.
Stolkin, R., I. Florescu, M. Baron, C. Harrier y B. Kocherov, "Efficient
Visual Servoing with the ABCshift Tracking Algorithm", IEEE
International Conference on Robotics and Automation 2008, pp. 32193224.
M. Hao, and Z. Sun, “Image Based Visual Servoing using TakagiSugeno Fuzzy Neural Network Controller,” IEEE International
Symposium on Intelligent Control, Singapore, 2007, pp. 53-58.
García, G.J., J. Pomares y F. Torres, "A New Time-Independent Image
Path Tracker to Guide Robots using Visual Servoing", 12th IEEE
International Conference on Emerging Technologies and Factory
Automation, pp. 975-964, 2007.
Suaffer C., Grimson W. E. L., “Learnings Patterns of Activity Using
Real- Time Tracking”, IEEE Trans. On Pami, vol. 22, no. 8, 2000.
Wren C.R., Azarbayejani A. Darrell T., Pentland A.P, “Pfinder: realtime tracking of the human body”, IEEE Tran., on PAMI, vol. 19, no. 7,
1997.
A. J. Koivo and N. Houshangi, “Real-time vision feedback for servoing
robotic manipulator with self-tuning controller,” IEEE Transactions on
Systems, Man and Cybernetics, vol. 21, no. 1, pp. 134–142, 1991.
B. Espiau, F. Chaumette, and P. Rives, “A new approach to visual
servoing in robotics,”, IEEE Transactions on Robotics and Automation,
vol. 8, no. 3, pp. 313–326, 1992.
F. Conticelli, B. Allotta, and P. K. Khosla, “Image-based visual
servoing of nonholonomic mobile robots,” Proceedings of the 38th
IEEE Conference on Decision and Control, vol. 4, pp. 3496–3501
vol.4, 1999.
C. Pham Thuong and M. Nguyen Tuan, “Robust neural control of
robotcamera visual tracking,” IEEE International Conference on
Control and Automation, pp. 1825–1830, 2009.
D. Burschka and G. Hager, “Vision-based control of mobile robots,” in
Robotics and Automation, 2001. Proceedings IEEE ICRA, vol. 2, pp.
1707–1713 vol.2, 2001.
A. Cherubini, F. Chaumette, and G. Oriolo, “A position-based visual
servoing scheme for following paths with nonholonomic mobile
[15]
[16]
[17]
[18]
[19]
robots,” IEEE/RSJ International Conference on in Intelligent Robots
and Systems, pp. 1648–1654, 2008.
H. Palus.. Color Image Segmentation: Selected Techniques. En R.
Lukac y K. N. Plataniotis (Ed.), Color Image Processing. Canada. pp.
103-128, 2007.
[2] H. Fleyeh, “Shadow and Highlight Invariant Color Segmentation
Algorithm for Traffic Signs”, Cybernetics and Intelligent Systems, June
2006, pp. 1 – 7.
R. Álvarez, E. Millán, R. Swain Oropeza, and A Aceves. (2004a).
Color image classification through fitting of implicit surfaces. En 9th
Ibero-American Conference on Artificial Intelligence (IBERAMIA),
Lecture Notes in Computer Science. Spinger- Verlag.
WowWee Group Limited , Rovio user’s manual, 2009.
WowWee Group Limited, API specification for Rovio, version 1.2.
Technical report, 2009.
Ernesto Monroy Cruz was born in Tlaxcoapan, Hidalgo,
Mexico, in 1987. He received the B.S. and Master degree
in Mechatronic Engineering from Universidad Politecnica
de Pachuca, in 2012 and 2015, respectively. From
January to April 2014, he was a visiting scholar at the
Unmanned Systems Laboratory from the Texas A&M
University - Corpus Christi, USA. Since 2014, Monroy
Cruz is an assistant professor at the Instituto Tecnológico de Atitalaquia,
Hidalgo, México.
Abel Garcia Barrientos was born in Tenancingo,
Tlaxcala, Mexico, in 1979. He received the Licenciatura
degree in Electronics from the Autonomous University of
Puebla, Mexico, in 2000, and the M.Sc. and Ph.D. degree
in Electronics from the National Institute for Astrophysics,
optics, and Electronics (INAOE), Tonantzintla, Puebla, in
2003 and 2006, respectively. Since 2007 he joined as a
researcher at the Mechatronics Department at the
Polytechnic University of Pachuca, Mexico. In 2009 he was a Post-Doctoral
Fellow at the Micro- and Nano-Systems Laboratory at the McMaster
University, Ontario, Canada and in 2010 Dr. Garcia-Barrientos was a PostDoctoral Fellow at the Advanced Materials and Device Analysis group of
Institute for Microelectronics, Technische Universitat Wien, too. Since
October 2015, Dr. Garcia Barrintos is a full time professor at the Instituto
Tecnológico Superior de Misantla.
Ruben Tapia Olvera obtained his BS in Electrical
Engineering from Instituto Tecnológico de Pachuca,
México in 1999; M.Sc., and Ph. D., in Electrical
Engineering from CINVESTAV Guadalajara, México in
2002 and 2006, respectively. He is currently full time
professor at the Universidad Politécnica de Tulancingo.
His primary area of interest is on the modeling and
control of FACTS devices with computational intelligence techniques.
Eduardo Steed Espinoza Quesada was born in the
"Estado de México", México, in April 1981. He got the
bachelor’s degree in Electronic and Telecommunications
Engineering in August 2004 and the M.Sc. degree in
Automation and Control in September 2006 from
Universidad Autónoma del Estado de Hidalgo, and his
PhD degree in Automatic Control from the Centro de
Investigación y de Estudios Avanzados del Instituto Politécnico Nacional,
Departamento de Control (LAFMIA UMI CNRS 3175 - CINVESTAV),
México. Since 2017, Dr. Espinoza Quesada holds a post as researcher
professor at the Universidad Politécnica de Pachuca, Hidalgo, México.
Luis Rodolfo Garcia Carrillo was born in Gomez
Palacio, Durango, México in 1980. He received the B.S.
degree in Electronic Engineering in 2003, and the M.S.
degree in Electrical Engineering in 2007, both from the
Institute of Technology of La Laguna, Coahuila, México.
He received the Ph.D. degree in Control Systems from the
University of Technology of Compiègne, France, in 2011.
From 2012 to 2013, he was a Postdoctoral Researcher at the Center for
Control, Dynamical systems and Computation (CCDC) at the University of
California, Santa Barbara, where he was working with Professor Joao
Hespanha. During this time he was also a Researcher in the Institute for
Collaborative Biotechnologies (ICB). He moved to Texas A&M University Corpus Christi, in 2013, where he currently holds an Assistant Professor
position with the School of Engineering and Computing Sciences. Since 2015,
he is an Assistant Professor at the Electrical & Biomedical Engineering,
University of Nevada, Reno, USA.