Logo Studenta

Navegacion_De_Un_Robot_Movil_Usando_Visi

¡Este material tiene más páginas!

Vista previa del material en texto

1
INSTITUTO POLITÉCNICO NACIONAL
CENTRO DE INVESTIGACIÓN EN
COMPUTACIÓN
Navegación de un robot móvil usando visión por
computadora
Tesis que presenta el
Ing. José Omar Zaragoza Dı́az de León
para obtener el grado de
Maestro en Ciencias de la Computación con especialidad en
inteligencia artificial
Director de Tesis:
Dr. Marco Antonio Moreno Armendáriz
México D.F. Diciembre del 2008.
2
Resumen
En el presente art́ıculo nos ocupa el desarrollo de un sistema de detección y evasión de
obstáculos usando visión por computadora. Este modelo está basado en el método de campos
potenciales artificiales. Dicho modelo fue descrito en lenguaje de descripción de hardware
(del ingles VHDL) e implementado en un arreglo de compuertas programable en campo
(del ingles FPGA). Para su prueba en tiempo real el sistema fue validado en el prototipo
de robot móvil CORIBOT 07. El sistema se compone de 3 módulos: el modulo de visón
por computadora, el control de evasión de obstáculos y el controlador de dos servomotores
que utiliza el robot como actuadores. El modulo de visión utiliza una cámara digital de
1.3 Mpixeles y es el único sensor de información de la escena, en la cual se desenvuelve el
robot; este modulo recibe como entrada una imagen de 512x512 de 10 bits de profundidad
en formato crudo de patrón-Bayer y entrega como salida el aviso de si existe obstáculo ó no
en el camino del robot; si hay obstáculo adicionalmente entrega un vector de estado y de
rasgos que caracterizan al obstáculo. Estos vectores entran al modulo de control de evasión
de obstáculos, en el cual mediante el enfoque de campos potenciales artificiales se calculan
la fuerzas de repulsión que los obstáculos ejercen sobre el robot y las fuerza de atracción
inducida por la meta u objetivo; explotando dichas fuerzas y con asistencia del modelo
cinemático del robot se calculan las velocidades angulares que cada rueda debe poseer para
conducir al robot por un camino libre de obstáculos y colisiones.
Abstract
In this work presents a real-time vsion-based obstacle detection system in an indoor
environment for an autonomos mobile robot. In this study we used the method of artificial
potential fields.
This system is developed on VHDL and implmented in a FPGA.
Índice general
1. Introducción 1
1.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Problemática . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3. Hipótesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4. Objetivo general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.5. Objetivos particulares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.6. Alcance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.7. Aportaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.8. Publicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.9. Estructura del documento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2. Estado del Arte 8
3. Plataforma Mecánica 11
3.1. Robots de direccionamiento diferencial . . . . . . . . . . . . . . . . . . . . . 11
3.2. Modelo cinemático del direccionamiento diferencial . . . . . . . . . . . . . . 14
4. Sistema de control visual 19
4.1. Modulo de sistema de visión por computadora . . . . . . . . . . . . . . . . . 20
4.1.1. Adquisición y acondicionamiento de la imagen . . . . . . . . . . . . 21
4.1.2. Detección de obstáculos. . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.2. Modulo de evasión de obtáculos . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.2.1. Introducción. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.2.2. Campos potenciales artificiales. . . . . . . . . . . . . . . . . . . . . . 26
4.2.3. Controlabilidad del modelo de direccionamiento diferencial. . . . . . 29
4.2.4. Control del robot con campos potenciales artificiales . . . . . . . . . 30
5. Resultados 35
5.1. Desempeño del sistema de visón por computadora. . . . . . . . . . . . . . . 35
6. Conclusiones y trabajo futuro 46
Referencias 47
3
Índice de figuras
3.1. CORIBOT 07: (a) Diseño asistido por computadora del prototipo. (b)Robot construido 12
3.2. Dimensiones del robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3. CIR en direccionamiento diferencial: (a) El robot presenta un movimiento rectilineo vd = vi. El CIR se
3.4. Restricción no-holonoma: (a) Velocidad lineal y angular. (b) Movimiento restringido 15
3.5. Representación del modelo cinemático con direccionamiento diferencial . . 17
4.1. Diagrama a bloques del sistema. . . . . . . . . . . . . . . . . . . . . . . . . 19
4.2. Diagrama de flujo del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.3. Patron RGB-Bayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.4. Image cruda tomada con la camara digital (Patron RGB-Bayer) . . . . . . . 22
4.5. Deteción de obstáculos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.6. Ejemplo de detección del obstáculo . . . . . . . . . . . . . . . . . . . . . . . 25
4.7. Fuerzas inducidas por al robot por lo campos potenciales artificiales. . . . . 26
4.8. Cambio de punto de referencia . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.1. Obstáculo: Caja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.2. Obstáculo: Mueble de madera . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.3. Obstáculo: Pared . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.4. Obstáculo: Perchero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.5. Obstáculo: Puerta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.6. Obstáculo: Puerta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.7. Obstáculo: Silla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.8. Sin obstáculo en la cercańıa del robot . . . . . . . . . . . . . . . . . . . . . 44
5.9. Sin obstáculo en la cercańıa del robot, pero se tiene una reflexión de luz provocada por una lámpara.
0
Caṕıtulo 1
Introducción
1.1. Introducción
Los robots ya sean autónomos o teleoperados han demostrado ser una de las tecnoloǵıas
más útiles para el ser humano, en la realización tareas peligrosas, sucias, repetitivas o
imposibles de ralizar por el hombre. Este tipo de tareas van desde lo más simple hasta lo
más complejo, como la limpieza de un automóvil hasta la exploración espacial, competencias
deportivas, o asistencia médica, entre otras. Crear un ente artificial con inteligencia propia
representa para el humano un gran reto, y a la vez es un aliciente para continuar con
la solución de problemas mejorando las aplicaciones ya existentes; además de tratar de
conseguir modelar y reproducir artificialmente las capacidades que el ser humano tiene por
naturaleza es por demás una labor complicada.
La visión para el ser humano, es el sentido que brinda mayor conocimiento del entorno,
no es lo mismo desde el punto de vista de información obtenida, por ejemplo, subir
escaleras usando la vista, que subir atientas usando las manos. Con la vista obtenemos
retroalimentación más completa como para, tomando el ejemplo anterior; ir subiendo,
reconocer a alguien conocido y saludarlo. Lo anterior es análogo a que un robot use visión
por computadora como retroalimentación a que, por ejemplo, use sensores ultrasónicos. La
visión por computadora es la herramienta que otorga al sistema la capacidad, no solo de
1
2 CAPÍTULO 1. INTRODUCCIÓN
evadir obstáculos, como se pretende en este trabajo, sino de con trabajos futuros extender
el sistema para realizar tareas más complejas.
La clasificación más general de la navegación autónoma de robots móviles son: la
navegación en entornos estáticosy la navegación en entornos dinámicos ó no estructurados;
entendiendo por entorno estático a aquél que tiene la restricción de no cambiar en su
estructura para que el robot pueda realizar su tarea de navegación con éxito. Un robot móvil
dotado con las herramientas necesarias para realizar la navegación en entornos dinámicos,
permite que el escenario en el cual se desenvuelve sea más flexible; aceptando que los objetos
o personas que pueden fungir como obstáculos en su trayectoria, tengan movimiento libre
y sin restricciones, sin que esto afecte la realización y fin exitoso de su tarea de navegación.
Otra clasificación de la navegación autónoma de robots móviles seria: la navegación en
interiores y la navegación en exteriores. Independientemente del tipo de navegación que se
realice existen 3 sub-tareas básicas a resolver:
1. Percepción del mundo: Recepción de información del entorno mediante sensores,
con el objetivo de conocer la escena donde el robot interactúa.
2. Generación de trayectorias: Genera las sub-metas que, secuencialmente, debe
alcanzar el robot. Para resolver esta tarea se pueden abordar dos técnicas: basado
en mapas de entorno en la cual toda la escena se conoce a priori, generalmente, por
medio de un sensor global; basado en construcción de mapas de entorno en donde el
modelo del entorno es construido, generalmente por un sensor local montado en el
robot, durante la navegación del robot por la escena.
3. Detección obstáculos y evasión de colisiones: Esta es la encargada de
detectar obstáculos fortuitos que no se estimaron en la generación de
trayectoria, por algún error del sistema ó porque la naturaleza del entorno
es dinámica. Además de la detección oportuna, se debe afianzar la evasión
del obstáculo y salvaguardar la integridad del entorno y del robot; esta tarea es
preponderante en el desempeño final del robot, ya que a robustez de esta parte influirá
1.1. INTRODUCCIÓN 3
directamente en la eficiencia con la que el robot interactúa en el medio que lo rodea.
La navegación en entornos dinámicos donde el robot interactúa con humanos es una tarea
no trivial; ya que resulta complicado predecir su comportamiento, con esta perspectiva
un robot debe de estar provisto con sensores, procesador y actuadores lo suficientemente
efectivos para lograr un acoplamiento armonioso con su entorno. Bajo este juicio es posible
asegurar que una de las tareas más relevantes en este tópico; es la evasión de obstáculos.
Tarea que tiene como objetivo principal dotar al robot la capacidad de interactuar, de
manera adecuada con su entorno y disminuir el error en su trayectoria a seguir.
En este trabajo se aborda esta última tarea de la navegación de robots móviles, la evasión
de obstáculos en interiores con entornos dinámicos. Para ello se realizó la construcci’on de un
robot móvil con unsistema de visión por computadora como sensor de elusión de obstáculos.
Se diseñaron tres módulos: el sistema de visión por computadora, el control de evasión de
obstáculos y un controlador de servomotores, todos descritos en Lenguaje de descripción de
hardware (de las siglas en inglés, VHDL).
El robot móvil es de diseño y construcción propios. Este prototipo forma parte de la
primera generación de robots móbiles construidos en el Laboratorio de Reconocimiento de
Patrones (LRP) del Centro de Investigación en Computación (CIC) del IPN. El robot es
del tipo de direccionamiento diferencial cuyo modelo cinemático se extrae de la literatura
[? ]
Para conocer su entorno el robot procesa con 16 imágenes por segundo aquiridas por
la cámara digital. Puesto que el entorno no se conoce a priori, cada escena que este recibe
es nueva y desconocida; la imagen entra al sistema de visión por computadora donde es
conducida por dos etapas: la primera en donde la imagen es acondicionada para su fácil
y acertado procesamiento y la segunda en donde se realiza la detección de obstáculos.
Este modulo reconoce si existen objetos que representen un obstáculo para la trayectoria
que describe el robot, además entrega un vector de rasgos. Estos son: posición del objeto,
distancia del objeto al robot. Todos los rasgos son extriados de la imagen. Estos rasgos son
las entradas al modulo de evasión de obstáculos.
4 CAPÍTULO 1. INTRODUCCIÓN
Para la evasión de obstáculos se utilizó, en este trabajo, el enfoque propuesto por Khatib
[11], en el cual se supone que el robot se encuentra inmerso en dos campos potenciales
artificiales: uno ejerciendo una fuerza de atracción inducida por el objetivo ó meta, el otro
ejerciendo una fuerza de repulsión inducida por el obstáculo. Aplicando el gradiente negativo
a estos campos potenciales se obtienen las fuerzas; al realizar la sumatoria se adquiere la
fuerza resultante y descomponiéndola se obtienen las fuerzas que deben ser aplicadas a los
actuadores del robot. Debido a que el robot es controlado por medio de las velocidades puede
suponerse quela fuerzas artificiales son proporcionales a las velocidades de los actuadores [5],
[21],[17], su principal ventaja: en que no se tienen que realizar conversiones intermedias de
las fuerzas. La ley de control utilizada en el presente trabajo es la propuesta por [5], donde
las variables de control son las velocidades de cada componente del plano de referencia,
las cuales se hacen proporcionales a las componentes respectivas de las fuerzas unitarias
inducidas por los campos potenciales artificiales.
1.2. Problemática
Es común que la tarea de evasión de obstáculos sea atacada mediante sensores elec-
trónicos de ultrasonido, optorreflectivos, de contacto, luz laser, etc. Obteniendo resultados
aceptables pero estos sensores no ofrecen información suficiente del entorno, para realizar
tareas más complejas.
La mayoŕıa de los sistemas de navegación de robots móviles que utilizan como
retroalimentación imágenes digitales, tienen un costo computacional alto y por lo tanto
pueden presentan dificultades para su operación en tiempo real, más si son implementados
en arquitecturas multiproceso que dividen el tiempo de uso del procesador entre varias
aplicaciones, tal es el caso de una computadora personal (de las siglas en inglés PC).
Algo semejante puede ocurrir en arquitecturas dedicadas, pero que ejecutan software
secuencialmente, como los procesadores digitales de señales (de las siglas en inglés DSP), ó
microcontroladores.
1.3. HIPÓTESIS 5
En el presente trbajo se presenta una solción integral a estas importantes limitantes.
1.3. Hipótesis
Sirviéndose de una cámara digital (que entrega una imagen de 1024x1204 pixeles a
10 bits de profundidad), explotando las técnicas de descripción de hardware, secuencial y
concurrente, para diseñar un procesador de hardware dedicado y personalizado; montando
estos elementos en una plataforma mecánica adecuada, es posible lograr en tiempo real la
evasión de obstáculos en ambientesninteriores.
1.4. Objetivo general
Desarrollar un procesador que permita que un robot móvil tipo diferencial que pueda
evadir obstáculos en un ambiente dinámico utilizando visión por computadora.
1.5. Objetivos particulares
•Diseñar y construir un prototipo de robot móvil diferencial.
•Desarrollar los componentes de hardware necesarios para el correcto funcionamiento
del sensor de imágenes digitales y los actuadores del robot.
•Implementar, en VHDL, un procesador que controle un robot y lo conduzca por un
camino libre de obstáculos.
•Integración del sistema, acoplando el procesador, interfaces, sensor, plataforma mecáni-
ca y actuadores.
• Pruebas del sistema en tiempo real.
1.6. Alcance
Este trabajo ataca la evasión de obstáculos móviles y estáticos en tiempo real de un robot
móvil en interiores utilizando una cámara digital como sensor. Esto permitirá navegar al
6 CAPÍTULO 1. INTRODUCCIÓN
robot dentro de un espacio interiorsin tener una trayectoria libre de obstaculos.
1.7. Aportaciones
1. El robot móvil puede navegar en un interior dinámico y heterogéneo sin colisionar con
los elementos del entorno.
2. Se utilizó como único sensor una cámara digital.
3. Se diseñó el procesador en VHDL.
4. Se logró procesar en tiempo real.
5. El robot construido y el procesador diseñado quedan como solida plataforma para
futuros trabajos y nuevas investigaciones.
1.8. Publicaciones
Pérez-Olvera C.A., Moreno-Armendariz M. A., Rubio-Espino Elsa,Zaragoza-
Dı́az de León J.O,Implementación en FPGA de un controlador difuso en tiempo-real
para el sistema Plano-Esfera, 17th International Conference on Computing (CIC 2008),
Diciembre 3-5 2008, Mexico D.F.
Pérez-Olvera C.A., Moreno-Armendariz M. A., Rubio-Espino Elsa,Zaragoza-
Dı́az de León J.O,Módulo de visión por computadora en tiempo-real para el control de un
sistema Plano-Esfera, CITII 2008 (Tec. de Apizaco 2008), Septiembre 15-17 Octubre 2008,
Mexico D.F., Research in Computing Science, ISSN 1870-4069, Vol. 38 pp 283-293.
Zaragoza-Dı́az de León J.O,Moreno-Armendariz M. A., Pérez-Olvera C.A.,Control
visual de un prototipo de robot movil para la evasión de obstáculos, 10◦ Congreso Mexicano
de robotica (ANAHUAC-AMROB 2008), Septiembre 25-26 2008, Mexico D.F.,pp. 135-145.
1.9. ESTRUCTURA DEL DOCUMENTO 7
1.9. Estructura del documento
El caṕıtulo 2 contiene un resumen del estado del arte.
En el caṕıtulo 3 se abunda sobre el modelo cinemático del prototipo de robot construido
y toda la información relativa a su arquitectura.
En el caṕıtulo 4 se define la metodoloǵıa y la arquitectura del sistema propuesto,
se extiende la información sobre el enfoque de campos potenciales. Se describe la
implementación de cada componente del sistema y las consideraciones para su puesta en
marcha.
El caṕıtulo 5 expone los resultados obtenidos de la prueba en tiempo real del prototipo.
El caṕıtulo 6 se expresan las conclusiones finales del presente trabajo.
En el caṕıtulo 6 se muestran los resultados obtenidos y el trabajo futuro.
Caṕıtulo 2
Estado del Arte
En este trabajo se realiza la evasión de obstáculos de un robot móvil de direccionamiento
diferencial con visión por computadora utilizando el enfoque de campos potenciales
artificiales. Sobre los tópicos mencionados existen abundantes trabajos de investigación
trataremos de exponer el mayor numero de aplicaciones que estén en relación con lo
presentado en este trabajo.
En la literatura las soluciones convencionales a los problemas que existen para realizar
la evasión de obstáculos se apoyan en la utilización de sensores electrónicos del tipo
ultrasónicos, optorreflectivos o de contacto. En [1],[4],[7], y [17] se aborda el problema
con arreglos de sensores ultrasónicos y optorreflectivos. Entre las ventajas que podemos
encontrar en estos sensores son: el bajo costo, la velocidad de respuesta, aśı como la relativa
facilidad en el procesamiento de las señales que entregan. No obstante podemos encontrar
desventajas y debilidades, que para ciertas aplicaciones pueden complicar o impedir su
resolución. Como desventajas de estos sensores se pueden listar: la poca información que
brindan de la escena, el porcentaje de error debido al ruido o a rebotes de la señal.
Soluciones más avanzadas para la navegación de robots móviles se pueden ver en [10]
y [18], donde se estiman las acciones de un robot móvil basándose en la navegación por
construcción de mapas de entorno utilizando como único sensor una cámara digital, estos
enfoques obtienen buenos resultados pero el costo computacional y económico es alto. La
8
9
solución que se propone en [9] es la de un control basado en imágenes llamado control
visual basado en flujo de movimiento. Si bien [1] y [4] resuelven el problema de la evasión
de obstáculos, lo hacen por medio de sensores que ofrecen poco información del entorno.
En [9] se resolvió el seguimiento de trayectorias pero no se toma en cuenta la evasión
de obstáculos en un ambiente dinámico. La desventaja de [10] expresada por el autor es
que debido al tiempo de procesamiento, el cual es relativamente grande, la estimación del
objetivo no se realiza en tiempo real. Esto es debido a que como procesador utilizaron una
computadora portátil cuyo sistema operativo divide el tiempo del procesador para atender
varios procesos. Otra solución con visión por computadora es la propuesta por [16] donde
se utilizan dos cámaras para lograr un visión estereoscópica, por cada cámara obtienen un
imagen; comparan el histograma de cada imagen, si es significativamente diferente entonces
asumen que están frente de un obstáculo, sin embargo pueden llegar a obtener lecturas falsas
de objetos que fantasmas; para solucionarlo proponen detectar posibles bordes en la imagen
y promediar el valor de los pixeles con el fin de encontrar cambios de contraste y descartar
falsos obstáculos. Estas soluciones más sofisticadas son alcanzadas gracias, en gran parte,
al uso de un sensor el cual entrega mayor información de la escena de actuación del robot
móvil; se trata de una cámara.
Por otro lado el enfoque de campos potenciales artificiales ha sido utilizado varias
investigaciones, dicho en enfoque fue propuesto por O. Kathib [11]. Este enfoque ha sufrido
gran numero de modificaciones. En [6] se utilizan los campos potenciales artificiales creando
un enrejado sobre el plano de trabajo cada rejilla tiene un valor preponderante; en este
trabajo se logró localizar lo mı́nimos locales, un problema inherente los campos potenciales
artificiales clásicos. En [5] se propone una ley de control basada en campos potenciales
artificiales para la evasión de obstáculos de un 1-trailer general multiactuado y se describe
el análisis para encontrar mı́nimos locales para algunas configuración es robot-obstáculos.
El enfoque utilizado en [15] es una variante del método de campos potenciales y también es
propuesto por Kathib [12],[13]; la diferencia con el enfoque clásico reside en que supone a la
trayectoria del robot como un material elástico, por lo tanto además de las fuerzas virtuales
10 CAPÍTULO 2. ESTADO DEL ARTE
se toma en cuenta la fuerza elástica, esto tiene efecto en la estabilidad de la navegación.
El enfoque propuesto en [14] es el de un potencial artificial generalizado consiguiendo
la generación de trayectorias globales y locales. En [8] se resuelve otra problemática del
potencial clásico, la de no arribar al objetivo ó meta por la presencia de obstáculos en sus
cercańıas, donde se considera la distancia en entre el robot y el objetivo asegurando que la
posición del objetivo es un mı́nimo absoluto de la función de potencial atractivo.
Caṕıtulo 3
Plataforma Mecánica
3.1. Robots de direccionamiento diferencial
La plataforma mecánica es un prototipo de robot móvil con direccionamiento diferencial.
El cual fue diseñado, construido en el Laboratorio de Reconocimiento de Patrones (LRP) del
Centro de Investigación en Computación. Cuenta con dos llantas laterales fijas y uns rueda
tipo bola de apoyo. La dirección del robot depende de la diferencia de las velocidades de
cada rueda lateral. El direccionamiento diferencial es una de las técnicas de direccionamiento
más sencillas pero efectivas. Este tipo de arquitectura presenta una maniobrabilidad [3] de
(δm =2,δs =0), donde δm es el grado de movilidad que tiene que ver con la restricciones en el
plano de velocidades; δs es el grado de direccionabilidad que tiene que ver con la capacidad
de direccionar instantaneamente al robot. Al no contar con ruedas orientables el robot tiene
un grado de direccionabilidad cero.
Se utilizó una tarjeta de desarrollo STARTIX II de Altera [2] que contiene un arreglo
de compuertas programables en campo (del ingles FPGA), en el cual se implementará el
procesador diseñado, Esta tarjeta ira montadaen el robot y será su unidad de procesamiento.
La tarjeta tiene un tamaño de 21 × 17 cm. Considerado lo anterior se propuso el diseño de
la Figura 3.1(a) y posteriormente se contruyo el prototipo de robot, ver la figura 3.1(b).
La fuerza eléctrica del robot son dos bateŕıas: una de 6 Volts para alimentar los motores
11
12 CAPÍTULO 3. PLATAFORMA MECÁNICA
(a) (b)
Figura 3.1: CORIBOT 07: (a) Diseño asistido por computadora del prototipo. (b)Robot construido
y una de 12 volts para alimentar al FPGA. El robot, con todos sus componentes montados
en él, tiene un peso aproximado de 4 kg. Las ruedas que se utilizaron tienen un radio (rr)
de 5 cm. Con la información anterior se tiene:
T = F × rr (3.1)
F = m × g (3.2)
Donde: rr = 5 cm y m = 4 kg.
T : Torque de motor.
F : Fuerza de arrastre.
rr: Radio de la rueda.
m: Masa que se pueda arrastrar.
g: Aceleración debida a la fuerza de gravedad. Sustituyendo (3.2) en (3.1) para formar
la ecuacion (3.3)
3.1. ROBOTS DE DIRECCIONAMIENTO DIFERENCIAL 13
T = m × rr × g (3.3)
Situtuyendo los valores de la masa del robot, el radio de sus ruedas y la aceleracion
producida por la gravedad tenemos un torque de:
T = 4 kg.×9,8 m
s2
× 0,05 m
T = 1,96 kg m
2
s
Bajo esta condición se utilizaron dos motores eléctricos de corriente continua, los cuales
ofrecen un torque de 24,7kg × cm por cada uno. Obteniendo aśı un capacidad de arrastre
de masa nominal de 9.8 kg. La figura 3.2 muestra las dimensiones del robot.
Figura 3.2: Dimensiones del robot
14 CAPÍTULO 3. PLATAFORMA MECÁNICA
3.2. Modelo cinemático del direccionamiento diferencial
El direccionamiento diferencial ofrece un cierto grado de movilidad al robot, debido a
que el centro instantáneo de rotación (CIR) puede encontrarse, en cualquier punto, a lo largo
del eje de las llantas. En consecuencia el robot puede mantener un movimiento rectiĺıneo,
ver figura 3.3(a), girar en un arco variable, ver figura 3.3(b) y en el caso más extremo girar
sobre su centro en cuyo caso el CIR estaŕıa situado en el centro del eje de sus llantas, ver
figura 3.3(c). La posición del CIR depende de la diferencia de velocidades de las dos llantas
laterales del robot.
Dirección de
movimiento
del robot
Eje de llantas
CIR en el
Infinito
V
d
V
i
(a)
Dirección de
movimiento
del robot
Eje de llantas
CIR
V
d
V
i
 R
(b)
Dirección de
movimiento
del robot
Eje de llantas
 CIR en
centro de eje
V
d
V
i
(c)
Figura 3.3: CIR en direccionamiento diferencial: (a) El robot presenta un movimiento rectilineo vd = vi. El
CIR se encuentra sobre el eje de las llantas pero en el infinito. (b) El robot se mueve en un arco R, vd 6= vi.
(c)El robot gira sobre su propio eje, vd = −vi, el CIR se encuentra en dentro del eje de las llantas.
Para definir el modelo cinemático que rige al movimiento del robot es necesario
3.2. MODELO CINEMÁTICO DEL DIRECCIONAMIENTO DIFERENCIAL 15
considerar las siguientes condiciones:
• No hay deslizamiento en la dirección perpendicular a la rodadura, ver figura 3.4
(restricción no holónoma).
•El robot se compone de partes ŕıgidas.
•No hay deslizamiento transnacional entre la rueda y el suelo (rodadura pura).
•Como máximo hay un eje de dirección por rueda.
•Los ejes de la dirección son perpendiculares al suelo.
Z
X
Y
Dirección
perpendicular a la
rodadura
Punto de
contacto
P
w
v
Velocidad
angular
Velocidad
lineal
(a) (b)
Figura 3.4: Restricción no-holonoma: (a) Velocidad lineal y angular. (b) Movimiento restringido
La figura 3.4(b) ilustra una de las restricciones en el movimiento del robot, podemos
observar que no puede existir movimiento en la dirección perpendicular a la rodadura de
las llantas.
La velocidad lineal en el punto P, figura 3.4(a), está definida por la ecuación (3.4):
v = (w × rr) ax (3.4)
donde r es el radio de la rueda y ax es el vector unitario con dirección al movimiento. De
la Figura 3.5 se pueden obtener las velocidades lineal del eje x ec.(3.5) y del eje y ecuación
(3.6):
16 CAPÍTULO 3. PLATAFORMA MECÁNICA
x′ = v sinφ (3.5)
y′ = v cos φ (3.6)
Sabiendo que:
φ = w (3.7)
De las ecuaciones (3.5), (3.6) y (3.7) obtenemos el modelo cinemático de la ecuación
(3.8):






x′
y′
φ′






=






− sinφ 0
cos φ 0
0 1






×



v
w



(3.8)
En este caso las variables de control son las velocidades de las ruedas laterales. Sean y
las velocidades angulares de la rueda izquierda y derecha, respectivamente, ver figura 3.5.
Si el radio de las ruadas es rr entonces se tiene [3]:
vd = wdrr (3.9)
vi = wirr (3.10)
v =
vd + vi
2
=
(wd + wi) rr
2
(3.11)
w =
vd+vi
b
=
(wd + wi) rr
b
(3.12)
Despejando y de ec. (3.7) y (3.8) tenemos:
3.2. MODELO CINEMÁTICO DEL DIRECCIONAMIENTO DIFERENCIAL 17
Figura 3.5: Representación del modelo cinemático con direccionamiento diferencial
wi =
v − (b/2)w
rr
(3.13)
wd =
v − (b/2)
rr
(3.14)
donde:
wi: Velocidad angular izquierda.
wd: Velocidad angular derecha.
b: Distancia entre ruedas laterales.
rr: Radio de las ruedas laterales.
vi: Velocidad lineal rueda izquierda.
vd: Velocidad lineal rueda derecha.
v: Velocidad lineal promedio.
Sustituyendo (3.11) y (3.12) en (3.8) tenemos:






ẋ
·
y
·
φ






=






− rr sin φ
2
− rr sin φ
2
rr cos φ
2
rr cos φ
2
− rr
b
rr
b






×



wi
wd



(3.15)
Escribiendo en forma matricial las dos lineas de la ec. (??) se obtiene que:
18 CAPÍTULO 3. PLATAFORMA MECÁNICA



wi
wd



=



1
rr
− b
2rr
1
rr
b
2rr






v
w



(3.16)
Aśı tenemos las velocidades angulares que se deben de aplicar a cada motor respectiva-
mente para proporcionarle al robot las velocidades lineal v y angular w.
Caṕıtulo 4
Sistema de control visual
El sistema de control visual propuesto en la Figura 4.1, consta de tres módulos principales
de procesamiento que fueron programados en VHDL e implementados en un FPGA, estos
son: el módulo de visión por computadora, el módulo de evasión de obstáculos y el módulo
de generador de PWM .Estos módulos fuerón conectados a tres dispositivos médiante su
interfaz electrónica correspondiente. El primero de estos dispositivos es una cámara digital,
desempeñándose como sensor en el lazo de retroalimentación externo y los motores de
corriente directa como actuadores del sistema.
Trayectoria,
 Entorno
del robot
Imagen
formato crudo
Procesador embebido en
FPGA
Sistema de locomoción
I
BAYER
 (x,y)
q
g
,q
o
,q
 V
d
,
V
i
Sistema
de
visión
Control de
evasión de
obstaculos
Servomotores
Cámara digital
Generador
de PWM
w
d
w
i
Figura 4.1: Diagrama a bloques del sistema.
19
20 CAPÍTULO 4. SISTEMA DE CONTROL VISUAL
La figura 4.2 muestra el flujo de actividades realizadas por el sistema. Se comienza
cuando la cámara digital entrega una imagen IBayer(x, y) en formato patrón RGB-Bayer
de1024*1024 pixeles de 10 bits de profundidad, esta imagen pasa al módulo de visión donde
se sub-muestrea el plano verde se en escala de grises, resultando una imagen IM (x, y) de
512*512 de 10 bits de profundidad; explotando esta imagen se lleva a cabo la detecci ón de
obstáculo por medio de la extraccion de bordes con el enfoque propuesto se obtiene el vector
de posición del obstaculo R[ox, oy]; . Detectado el obtáculo sa aplica el método de campos
potenciales artificiales; calculando la fuerza total resultante por medio de la sumatoria de las
fuerzas repulsoras y atractora. Para posteriormente, mediante la ley de control considerar
las componentes (ejes X, Y ) de la fuerza total resultante proporcionales a las componentes
del vector velocidad; para obtener aśı las velocidades angular y lineal del robot; con eso
conseguir las velocidades angulares de cada llanta; y con ellas generar las señales PWM,
excitadorasde cada servomotor, que lleven al robot por un camino libre de obstáculos. Para
el evento en el que no existiera un obstáculo el robot mantendra un movimiento rectiĺıneo.
Esto se logró gracias a la posible combinación de las técnicas de descripción de hardware,
de ejecución secuencial y concurrente que brinda el lenguaje VHDL, se diseñó un sistema de
hardware personalizado para cada tarea del sistema; explotado la capacidad de realizar
procesos en forma paralela. Cabe mencionar que el sistema, descrito en VHDL, está
compuesto en su totalidad por hardware ya que no tiene ni necesita la ejecución de software.
4.1. Modulo de sistema de visión por computadora
En esta sección se abunda en la metodologia usada para detectar un posibles obtaculos
en las cercanias del robot.
El sistema de visión por computadora consta de 5 componentes de hardware:
1. Adquisición y acodicionamiento de la imagen.
2. Deteccion de obstaculos.
4.1. MODULO DE SISTEMA DE VISIÓN POR COMPUTADORA 21
Imagen cruda
RGB-bayer
Adquisición de imagen
conversion Bayer-E. grises
I
BAYER
](x,y)
 , 10bits
I
M
(x,y)
, 10bits
Detección de obtáculo
Extracción de rasgos
Hay obstáculo?
Calculo de fuerzas de
atraccion y repulsion
R[o
x
,o
y
]
R[o
x
,o
y
]
Se direcciona el robot
al ángulo de evasión
Se mantiene el robot en
movimiento rectilíneo
Se ejecutan
paralelamen
t
e
Paralelismo
No
Si
f
x
,
f
y
Figura 4.2: Diagrama de flujo del sistema
3. Extracción de rasgos de objetos.
4.1.1. Adquisición y acondicionamiento de la imagen
La adquisición de la imagen se realiza por medio de un sensor digital de imágenes de
tecnoloǵıa CMOS pixel-activo [19], el cual entrega una imagen en formato RGB-Bayer de
1024*1024; lo que quiere decir que en las filas impares de la imagen los pixeles impares
tienen información del color verde y en los pares información del color rojo; para el caso
de las filas pares los pixeles pares tienen información del color verde y los pixeles impares
información del color azul. Tal como se muestra en la figura 4.3. Se destaca que la imagen
contiene el 25% de información del plano rojo, 25 % del plano azul y 50% del plano verde,
para obtener la información restante de cada plano es nesesario interpolar.
Para la presente aplicación se utilizó la información de los pixeles del plano verde porque
22 CAPÍTULO 4. SISTEMA DE CONTROL VISUAL
Figura 4.3: Patron RGB-Bayer
Figura 4.4: Image cruda tomada con la camara digital (Patron RGB-Bayer)
estos pixeles ofrecen la información de luminosidad de la escena que captan; se ha dicho
que en este trabajo se ataca la navegación en interiores, en donde podemos enfrentarnos
con condiciones de iluminación adversas que pueden causar un mal desempeño del sistema,
para minimizar esto se utiliza el plano verde; incluso es el espectro de luz visible a la que
ojo humano responde mejor. Por tanto se sub-muestrea la imagen resultando en una imagen
IM (x, y), en escala de grises del plano verde de 512*512 pixeles con una profundidad de 10
bits. (En la Figura 4.4 se muestra la imagen en formato de patrón Bayer, tal y como la
toma la cámara.)
4.1. MODULO DE SISTEMA DE VISIÓN POR COMPUTADORA 23
4.1.2. Detección de obstáculos.
La detección de obstáculos en un ambiente dinámico es una tarea ineludible para la
navegación de un robot, como ya se menciono es común que este problema se toca con
sensores electrónicos que no son una cámara digital. En [16] utilizan visión estéreo para el
mismo objetivo, comparando el cambio de puntos predefinidos de ambas imágenes resuelven
el problema; solo que presentan el inconveniente de que con luz reflejada el sistema da falsos
avisos de obstáculos, para solucionar esto utilizó una técnica de detección de bordes. En
este trabajo tomamos como referencia ese enfoque, para proponer una analisis que logre
detección de obstáculos con la ayuda de una cámara de video.
Este análisis propuesto es relativamente sensilo, pero efectivo, se trata de la sumatoria
del los niveles de la intensidad de borde; definida como la diferencia nivel de grises del punto
y nivel del siguiente punto. Este enfoque queda descrito por la ec. (4.1).
B (i) =
n
∑
i=1
B(i − 1) + (IM (i, n) − IM (i + 1, n)) , (4.1)
con B(0) = 0,
siendo IM la imagen de entrada, B(i) la sumatoria de intensidad de borde, de la fila
i − esima y columna n. Pata detectar los obstáculos se pretende hallar la razón de cambio
(pendiente) máxima de la función B(i). El punto donde ocurra esto, se toma como el vector
de posición del obstáculo.
La función propuesta en la ec. 4.1 detecta los bordes cuando se pasa de niveles de gris
claros a obscuros, es decir, cuando recorramos la imagen de niveles obscuros a claros la
razón de cambio dala función B(i) será mı́nima, aun si se encuentra un obstáculo. Por esta
razón se decide calcular B(i), con desplazamiento en ambos sentidos: hacia arriba, hacia
abajo, hacia la derecha y hacia a la izquierda, tal como se muestra en la Figura 4.5.
Los barridos horizontales brindan la detección de bordes verticales y los barridos
verticales la detección de bordes horizontales. Esto último es de ayuda cuando se presenta
un obstáculo que cubre, en su totalidad, el ancho del plano imagen, por ejemplo una pared.
24 CAPÍTULO 4. SISTEMA DE CONTROL VISUAL
 Barridas
horizontales
Limite para
reconocer y evadir
obstaculo
 Barridas
verticales
Izq-der
Der-izq
Abajo-arriba
Arriba-abajo
Figura 4.5: Deteción de obstáculos
En la Figura 4.6 se muestra una ejemplo de detección de obstáculo con el enfoque propuesto.
4.2. Modulo de evasión de obtáculos
A continuacion en esta sección describe el enfoque de los campos potenciales y las
cosideraciones para implementar su control.
4.2.1. Introducción.
Mediante la evasión de obstáculos se trata de anticipar la posibilidad de una colisión
basándose en la información de la posición del robot y de los objetos que se encuentran
en su entorno [6]. Para ello, se puede diferenciar entre la evasión de obstáculos en una
determinada dirección de movimiento, logrando esto por la información brindada en tiempo
real mediante un sensor; y la detección de una colisión por los espacios ocupados por objetos
estáticos o dinámicos, cuyo posición es conocida a priori por un modelo del entorno. En el
segundo caso es también factible ubicarlo en tiempo real, dependiendo de la complejidad
4.2. MODULO DE EVASIÓN DE OBTÁCULOS 25
0
 200
 400
 600
 800
0
200
400
600
800
0
 200
 400
 600
 800
0
200
400
600
800
0
 100
 200
 300
 400
 500
0
200
400
600
0
 100
 200
 300
 400
 500
0
200
400
600
800
B(i)
B(i)
B(i)
B(i)
Detección de bordes, La
pendiente 
la pendiente
es máxima
Figura 4.6: Ejemplo de detección del obstáculo
del modelo y de su forma de obtención.
En este trabajo nos ocupa la detección de obstáculos; y evitar las colisiones mediante
la reacción directa de la información suministrada por el único sensor utilizado, la cámara
digital. En todo momento se supone que la cámara va montada en el centro del robot
tomando imágenes de frente a la dirección de desplazamiento, sin ningún otro sensor. En
[20] se utilizan también una cámara digital, pero no montada en el robot sino puesta en un
punto alto para que capte todo la escena en la cual se desenvuelve el robot. Esta técnica
es efectiva porque conoce en todo momento el entorno completo; una aplicación seria en un
torneo de futbol para robots. No obstante, en otras aplicaciones puede reducir el espacio de
26 CAPÍTULO 4. SISTEMA DE CONTROL VISUAL
F
g
F
o
F
obstáculo
Area de
influencia
F
g
objetivo
F
g
Figura 4.7: Fuerzas inducidas por al robot por lo campos potenciales artificiales.
movilidad del robot.
El método utilizado es del tipo denominado reactivo y esta basado en la teoŕıa de campos
potenciales desarolladopor Khatib [11]. Este enfoque considera que el movimiento del robot
es afectado por dos campos potenciales artificiales; dónde los obstáculos producen un campo
potencial artificial que genera fuerzas de repulsión hacia el robot y que el punto de destino
u objetivo producen otro campo potencial artificial que produce una fuerza de atracción.
Estos campos son funciones que van de ϕ : R −→ R2 i.e. campos escalares. Para hallar las
fuerzas producidas por estos campos es necesario calcular su gradiente. El robot se mueve
en dirección y con una velocidad proporcional a la fuerza resultante. La Figura 4.7 exhibe
lo descrito.
4.2.2. Campos potenciales artificiales.
Para presentar este enfoque, se considera el problema de evadir un obstáculo y existiendo
una meta u objetivo. Se considera que el robot se mueve dentro de un sistema de referencia
4.2. MODULO DE EVASIÓN DE OBTÁCULOS 27
{E}; tomando un posición de referencia del robot con coordenadas q = (x, y), en otro punto
con coordenadas qo = (xo, yo), se ubica el obstáculo y la meta en qg = (xg, yg).El robot es
sujeto al siguiente campo potencial artificial ec. (4.2).
U(q) = Ug(q) + Uo(q) (4.2)
Del cual proviene la fuerza resultante que actua sobre el robot ec. (4.3)
F = Fg(q) + Fo(q) (4.3)
DondeFg(q) es la fuerza de atracción, creada por Ug(q), debido a la cual el robot puede
alcanzar la posición objetivo qg y Fo(q) es la fuerza de repulsión artificial inducida por la
supreficie del obstáculo (del francés FIRAS) creada por el campo Uo(q).
El campo potencial atractivo Ug(q) se defino como ec. (4.4):
Ug(q) =
1
2
kp ‖q − qg‖2 , (4.4)
donde kp, en un control convencional PD: es la ganancia de posició n, q es la coordenada
de referencia del robot, qg es la coordenada de la meta. Además Ug(q) es una función positiva
diferenciable, la cual posee un mı́nimo absuluto igual a cero en q = qg.
En su trabajo, Khatib, propone dos métodos para obtener potencial repulsor; el primero
llamado: método anaĺıtico, donde utiliza la función anaĺıtica que describe la superficie del
obstáculo, el segundo método llamado: de la distancia mas corta , en el cual el campo
potencial esta en función de la distancia entre el robot y el obstáculo Uo(q), ver ec. (4.5), este
ultimo es enfoque se utilizó en el presente trabajo. Esta función también debe ser positiva,
continua y diferenciable ya que su valor tiende a infinito cuando el robot esta próximo al
obstáculo y un mı́nimo absoluto igual a cero en q = q2g . En el objetivo de evitar fuerzas que
perturben el comportamiento del robot se delimita una área, alrededor del obstáculo, solo
en la cual Uo(q) tiene influencia.
28 CAPÍTULO 4. SISTEMA DE CONTROL VISUAL
Uo(q) =





1
2
η
(
1
ρ
− 1
ρ2o
)2
, si ρ ≤ ρ2o
0 , si ρ > ρ2o,
(4.5)
donde η es la ganancia de posición, ρ = ‖q − qg‖2 es el cudrado de la distancia entre la
posició n q del robot y la posición qo del obstáculo, ρo representa la distancia ĺımite a la
cual el campo potencial artificial repulsivo tiene influencia.
Para obtener las fuerzas inducidas por los campos Uo(q) y Ug(q) basta con aplicar el
gradiente negativo ∇ =
(
∂
∂x
, ∂
∂y
)
:
Fg = −kp(q − qg) (4.6)
Fo =





1
2
η
(
1
ρ
− 1
ρ2o
)
1
ρ2
∂ρ
∂q
, si ρ ≤ ρ2pao
0 , si ρ > ρ2o,
(4.7)
En el presente trabajo no se pretende que el robot siga una ruta predefinida, sino uque se
alcance la evasión de obstáculos en un entorno dinámico y totalmente desconocido usando
como único sensor del entorno una cámara digital. Por lo anterior en el instante en que el
sensor del robot capte que se encuentra dentro del área de influencia ρo, de un obstáculo,
la posición del robot q es igual all origen (0, 0) .La meta u objetivo del robot es evadir el
obstáculo de la foma que sea mas económica en tiempo y enerǵıa.
El enfoque de campos potenciales artificiales consiste en tres pasos básicos y generales:
a) Calcular las fuerzas que guian al robot hacia la meta u objetivo.
b) Calcular las fuerzas que guian al robot lejos de los obtáculos.
c) Aplicar la fuerza resultante al robot.
Sobre las ventajas de este método podemos nombrar: que los cálculos se hacen en el
espacio operacional, sin necesidad realizar traslaciones a otros planos de referencia; los
cálculos se hacen en el dominio de control, funciona para obstáculos fijos y móviles. Entre
sus debilidades se encuentra la posibilidad de obtener mı́nimos locales.
4.2. MODULO DE EVASIÓN DE OBTÁCULOS 29
4.2.3. Controlabilidad del modelo de direccionamiento diferencial.
En congruencia con lo mostrado en el caṕıtulo tres del presente trabajo ,se puede
generalizar que los modelos cinemáticos de los robot móviles se pueden escribirse de la
forma [3]:
ż = B(z)u (4.8)
siendo z un vector de variables de estado donde su nmero de componetes depende de
la configuracion del robot y u el vector de velocidades de control. Dicha configuración esta
caracterizado por la dupla (δm, δd), donde δd es el grado de direccionabilidad el cual esta
determinado por el numero de ruedas orientables. Tal como se mostro en el capitulo dos, el
prototipo de robot contruido en este trabajo es: de direccionamiento diferencial sin alguna
rueda orientable y cuenta con u (δm, δd) = 2, 0 , es decir, tiene limitaciones en su movimiento,
de acuerdo a lo comentado en el caṕıtulo tres del presente trabajo. De esta forma el vector
de estado z concide con el vector de posición:
z = ρ = [x, y, φ]T (4.9)
Asi tambien si no existen ruedas direcionables en la configuracin del robot, la dimension
del vector de valocidades u coincide con el grado de movilidad δm. Entonces si consideramos
el modelo del prototipo de robot con direccionamiento diferencial descrito por las ecs. (3.5)
(3.6) y (3.7). Si se escribe de la forma
·
z = B(z)u tal como en la (3.8), donde z = [x, y, φ]T ,
u = [v, w]T y
B(z) =






− sinφ 0
cos φ 0
0 1






(4.10)
linealizando en z = 0 y u = 0 se obtiene:
30 CAPÍTULO 4. SISTEMA DE CONTROL VISUAL
ż = B(0)



V
w



=






0 0
1 0
0 1









V
w



Por lo lo que el sistema no es controlable ya que el rango de la matriz de controlabilidad
es solo dos:
C = B(0) =






0 0
1 0
0 1






Para controlar este tipo de sistemas es necesario linealizarlo.
4.2.4. Control del robot con campos potenciales artificiales
Para alcanzar la linealizaćıon parcial del sistema se considera que el punto de referencia
de posición no esta en el centro del eje de la ruedas sino en el centro pero en la parte frontal
del robot[5]. Con esto se modifica el vector de estado z = [x, y]T el cual determina la posición
del robot con referencia en el centro del eje de las ruedas, afirmando que q = (x1, y1) es el
nuevo vector de posición del robot con referencia en el centro frontal de robot (Fig. 4.8)
cuyas coordenadas están dadas por:
x1 = x + l sinφ (4.11)
y1 = y + l cos φ
siendo l la distancia del centro del eje de las ruedas (x, y) al punto q del robot en direccion
perpendicular al mismo eje. Derivando la ec. (4.11) con respecto al tiempo se tiene:
4.2. MODULO DE EVASIÓN DE OBTÁCULOS 31
ẋ1 = ẋ + lφ̇ cos φ (4.12)
ẏ1 = ẏ − lφ̇ sinφ
sustituyendo (3.5) (3.6) y (3.7) en (4.12) tenemos el nuevo modelo del sistema:
ẋ1 = −v sinφ + lw cos φ (4.13)
ẏ1 = v cos φ − lw sinφ
si la ec. (4.13) se escribe en la forma de la ec. 4.8



ẋ1
ẏ1



= B(φ)



v
w



(4.14)
con
B(φ) =



− sinφ l cos φ
cos φ −l sinφ



.
Ahora se debe encontrar las entradas del sistema donde deseamos que se se estabilice. Si
se propone que ẋ1 , ẏ1 adquieran los valores de consigna ẋ1c , ẏ1c que permitan que se llege
la meta evitando los obstaculos. Entonces es posible aplicar la siguiente ley de control:



v
w



= B−1(φ)



ẋ1m
ẏ1m



(4.15)
donde
B−1 (φ) =



− sinφ
− cos2 φ+sin2 φ
− cos φ
− cos2 φ+sin2 φ
− cos φ
−l cos2 φ+l sin2 φ
− sin φ
−l cos2 φ+l sin2 φ



32 CAPÍTULO 4. SISTEMA DE CONTROL VISUAL
f
y
x
X
Y
y
1
x
1
Figura 4.8: Cambio de punto de referencia
usando la identidad triginometrica cos2 φ + sin2 φ = 1, la matriz B (φ) queda:
B−1 (φ) =



sinφ cos φ
cos φ
l
sin φ
l



linealizando (4.15) en [v, w]T = 0 , φ = 0 se obtiene la matriz de controlabilidad con un
rango de dos:
B−1 (0) =



0 1
1 0



,
el cual es maximo debido a que B−1 (φ) una matriz de 2 × 2, entonces el sistema es
controlable.
Introduciendo la fuerza resultante inducida por lo campos potenciales artificiales a
la ley de control de la ec. (4.15) es posible considerar que las velocidades ẋ1c , ẏ1c son
proporcionales a la fuerza resultante [5], en atencion que la fuerza resultante tiende a infinito
en la situación de que le robot se encuentre lejos de la meta y tiende a cero en su cercania
con ella, es imperioso aplicar una fuerza normalizada:
4.2. MODULO DE EVASIÓN DE OBTÁCULOS 33
q̇c = (ẋ1c, ẏ1c)
T = vc



fx
2
√
f2x+f
2
y
fy
2
√
f2x+f
2
y



(4.16)
en donde fx la componente en el eje X de la fuerza resultante F y fy las componente en el
eje Y



fx
fy



=



fxg + fxo
fyg + fyo



y vc es la velocidad constante.
Puntualizado lo anterior y sustituyendo la ecuacion (4.16) en la ecuación (4.15) se
conforma la siguiente ley de control por retralimentación.



v
w



=
vc
2
√
f2x + f
2
y



sinφ cos φ
cos φ
l
sin φ
l






fx
fy



(4.17)
La ecuación anterior presenta una indeterminación cundo se llega a la meta, en el
momento que llegan a cero las fuerzas, por lo que es conveniente modificar la magnitud
de las fuerzas normalizadas de la siguiente manera:



fx
2
√
f2x+f
2
y +ε
fy
2
√
f2x+f
2
y +ε



siendo ε una constante muy cercana a cero. Como se observa en la prueba de estabilidad
del sistema en [5] esta constante no se contrapone a la convergencia asintótica con el punto
de consigna. Desarrollando el potencial atractivo y repulsivo se obtienen las componentes
del negativo de su gradiente:
34 CAPÍTULO 4. SISTEMA DE CONTROL VISUAL
Ug =
1
2
kp
[
(x1 − xg)2 (y1 − yg)2
]
fxg = kp (xg − x1)
fyg = kp (yg − y1) .
Respectivemente el potencial artificial repulsivo y las fuerzas inducidas quedan:
Uo =
1
2
η
[
1
(x1 − oix)2 +
(
y1 − oiy
)2
− 1
ρ2
0
]2
,
fxo = 2η
[
1
(x1 − oix)2 +
(
y1 − oiy
)2
− 1
ρ2
0
]
x1 − oix
[
(x1 − oix)2 +
(
y1 − oiy
)2
]2
,
fyo = 2η
[
1
(x1 − oix)2 +
(
y1 − oiy
)2
− 1
ρ2
0
]
y1 − oiy
[
(x1 − oix)2 +
(
y1 − oiy
)2
]2
,
siendo oix,o
i
y las coordenadas en los eje X y Y de la posicion del i-esimo obstaculo.
Para obtener la fuerza total, ejercida al robot, por cada componente en el eje X y Y
basta con ejecutar la sumatoria que ejerce el i-esimo obstaculo en cada eje, como se indica
enseguida:
fx = fxg +
∑
i∈Io
f ixo
fy = fyg +
∑
i∈Io
f iyo
siendo I =
{
i |
(
x1 − oix
)2
+
(
y1 − oiy
)2 ¹ ρ20
}
. Para presente trabajo los obstaculos se
consideran de forma puntual [5].
Caṕıtulo 5
Resultados
En esta sección se resumen lo los resultados obtenidos en cada modulo de sistema de
control visual mostrado en capitulo anterior, aśı como el desempeño de todo el sistema en
su conjunto.
El sistema de control visual que como ya se menciono se programo en VHDL, fue
embebido en un FPGA de la marca altera modelo STRATIX II EP2S60. Este dispositivo
fue montado en el prototipo de robot a su vez se le conecto la cámara digital y mediante la
interfaz electrónica adecuada los servomotores de corriente directa.
Durante las pruebas el robot cuanta con todas las caracteŕısticas mocionadas en el
capitulo dos de este trabajo además: la cámara digital fue montada en la parte superior en
el centro y frente del robot, como se observa en la figura (figura cap2 foto real). Todos lo
experimentos fueron realizados en interiores en piso uniforme.
5.1. Desempeño del sistema de visón por computadora.
Los objeto que representaban un obstáculo en el camino del robot y que se pudieron
reconocer van desde escritorios, mesas, paredes, puertas, cajas, computadoras, sillas,
humanos, etc.
Por otra parte la iluminación es el factor más determinante para cualquier aplicación de
35
36 CAPÍTULO 5. RESULTADOS
visión por computadora. Con la experiencia de este trabajo se considera que optando por
la iluminación adecuada es posible alcanzar un buen desempeño del sistema, menguando el
error y el tiempo de repuesta. El los experimentos realizados, a este modulo, observamos
que el sistema respodia mejor a fuentede luz difusa que a una fuente de luz puntual, esta
ultima se caracteriza por emitir una iluminación dura muy direccional que produce sombras
pronunciadas; propiedad que infiere en estragos en el sistema de visión. En contraparte
una fuente de luz difusa dispersa una iluminación que produce sombras muy suaves, aśı se
obtiene uniformidad en la iluminación.
Para la evaluación en tiempo real se hizo navegar al robot en el interior del Laboratorio
de Reconocimiento de Patrones del CIC. Este recinto cuenta con luz artificial difusa. Se
evadieron obstáculos estáticos y en movimiento. Para el control de evasión de obstáculos se
usaron los siguientes parámetros:
kp = 3
η = 2
ρ0 = 0,40 m
vc = 0,3 m/s
A continuacion se muestran algunos obstaculos detectados con exito;
En la Figura 5.1 se observa que se tiene como obstáculo una caja de color claro y se
advierte en la grafica que se detecta el obstáculo cuando la pendiente se hace máxima.
Para el caso de la Figura 5.2 se tiene como obstáculo un mueble de madera que ocupa
a lo ancho la totalidad del plano imagen, se nota que en las graficas superiores (las cuales
son lo barridos horizontales) no se presenta una pendiente pronunciada, no aśı en la grafica
inferior derecho (barrido vertical de arriba hacia abajo) en la que se observa una pendiente
máxima mas pronunciada.
Se observa en la Figura 5.8la ausencia de obstáculo, aśı que en las graficas correspondi-
5.1. DESEMPEÑO DEL SISTEMA DE VISÓN POR COMPUTADORA. 37
0
 200
 400
 600
 800
0
200
400
600
800
0
 200
 400
 600
 800
0
200
400
600
800
0
 100
 200
 300
 400
 500
0
100
200
300
400
500
0
 100
 200
 300
 400
 500
0
100
200
300
400
500
B(i)
B(i)
B(i)
B(i)
Figura 5.1: Obstáculo: Caja
entes a lso barridos a la imagen, se observa una pendiente constante.
En la escena de la figura 5.9 se aprecia que no existe obstáculo alguno, no obstante
se tiene reflejo de luz por una lámpara. En las graficas producto de aplicar la detección
de borde se nota que no existen pendientes máxima de tamaño considerable, por lo qe el
sistema descarta la presencia de un obstáculo.
Las imágenes muestran la eficiencia del sistema para la detaccion de obstaculos, ante
diferentes coyunturas y configuraciones robot-obstáculo. Estas pruebas fueron resueltas,
por el robot, de manera exitosa. Es perceptible que los objetos que el sistema admite como
obstáculo son variados en forma y color. El desempeño del sistema de visión y la ley de
38 CAPÍTULO 5. RESULTADOS
0
 200
 400
 600
 800
0
200
400
600
800
0
 200
 400
 600
 800
0
200
400
600
800
0
 100
 200
 300
 400
 500
0
200
400
600
0
 100
 200
 300
 400
 500
0
200
400
600
B(i)
B(i)
B(i)
B(i)
Figura 5.2: Obstáculo: Mueble de madera
control de evasión de obstáculos fue satisfactorio; al igual que el enfoque utilizado para el
control de los servomotores.
5.1. DESEMPEÑO DEL SISTEMA DE VISÓN POR COMPUTADORA. 39
0
 200
 400
 600
 800
0
100
200
300
400
500
0
 200
 400
 600
 800
0
100
200
300
400
500
0
 100
 200
 300
 400
 500
0
100
200
300
400
500
0
 100
 200
 300
 400
 500
0
200
400
600B(i)
B(i)
B(i)
B(i)
Figura 5.3: Obstáculo: Pared
40 CAPÍTULO 5. RESULTADOS
0
 200
 400
 600
 800
0
200
400
600
800
0
 200
 400
 600
 800
0
200
400
600
800
0
 100
 200
 300
 400
 500
0
200
400
600
0
 100
 200
 300
 400
 500
0
200
400
600
800
B(i)
B(i)
B(i)
B(i)
Figura 5.4: Obstáculo: Perchero
5.1. DESEMPEÑO DEL SISTEMA DE VISÓN POR COMPUTADORA. 41
0
 200
 400
 600
 800
0
200
400
600
0
 200
 400
 600
 800
0
100
200
300
400
0
 100
 200
 300
 400
 500
0
100
200
300
400
500
0
 100
 200
 300
 400
 500
0
100
200
300
400
500
B(i)
 B(i)
B(i)
B(i)
Figura 5.5: Obstáculo: Puerta
42 CAPÍTULO 5. RESULTADOS
0
 200
 400
 600
 800
0
200
400
600
0
 200
 400
 600
 800
0
200
400
600
0
 100
 200
 300
 400
 500
0
100
200
300
400
0
 100
 200
 300
 400
 500
0
100
200
300
400
B(i)
B(i)
B(i)
 B(i)
Figura 5.6: Obstáculo: Puerta
5.1. DESEMPEÑO DEL SISTEMA DE VISÓN POR COMPUTADORA. 43
0
 200
 400
 600
 800
0
50
100
150
200
250
0
 200
 400
 600
 800
0
100
200
300
400
0
 100
 200
 300
 400
 500
0
100
200
300
400
0
 100
 200
 300
 400
 500
0
100
200
300
400
Figura 5.7: Obstáculo: Silla
44 CAPÍTULO 5. RESULTADOS
0
 200
 400
 600
 800
0
200
400
600
0
 200
 400
 600
 800
0
200
400
600
0
 100
 200
 300
 400
 500
0
200
400
600
800
0
 100
 200
 300
 400
 500
0
200
400
600
800
B(i)
B(i)
B(i)
B(i)
Figura 5.8: Sin obstáculo en la cercańıa del robot
5.1. DESEMPEÑO DEL SISTEMA DE VISÓN POR COMPUTADORA. 45
0
 200
 400
 600
 800
0
200
400
600
0
 200
 400
 600
 800
0
100
200
300
400
500
0
 100
 200
 300
 400
 500
0
100
200
300
400
0
 100
 200
 300
 400
 500
0
100
200
300
400
B(i)
B(i)
B(i)
B(i)
Figura 5.9: Sin obstáculo en la cercańıa del robot, pero se tiene una reflexión de luz provocada por una
lámpara. El sistema descarta que la luz reflejada se una obstáculo
Caṕıtulo 6
Conclusiones y trabajo futuro
El presente trabajo ataca el problema de evasión de obstáculos de un robot móvil tipo
diferencial usando como único sensor una cámara digital.
Se diseñó y construyó un prototipo de robot móvil de direccionamiento diferencial, el
cual soporta a un FPGA una cámara digital, dos bateŕıas como fuente de alimentación,
Quedando una solida plataforma para futuras investigaciones.
Se propone un método de detección de obstáculos con visión por computadora con el
cual es posible obtener la posición del punto más cercano del obstáculo al robot, basado
en el plano de imagen. Se describe su circuito equivalente en VHDL, el cual, después de la
validación en tiempo real, resulta efectivo y con una eficiencia aceptable. El sistema de visón
resulta de arquitectura relativamente sencilla pero poderosa, siendo sus procesamientos
computacionalmente económicos.
Tanto el enfoque de campos potenciales artificiales, como la ley de control utilizados son
validos para esta aplicación. El circuito descrito resulta eficiente en tiempo real, llevando al
robot por un camino libre de obstáculos; salvaguardando su integridad y la de su entorno.
No se implemento un control para los servomotores, toda vez que estos llevan lo llevan
consigo, únicamente se generaron la señales PWM necesaria para que motor gire a una
determinada velocidad, tampoco se coloco una retroalimentación de velocidad ya que se
considera despreciable el error del sistema de control de los servomotores. Posiblemente sea
46
47
necesario colocar algún sistema de medición como retroalimentación si se requiere que robot
se conduzca por una ruta predefinida.
Finalmente es posible agregar que el desempeño del sistema, en su conjunto, resulto
eficiente en sus pruebas en tiempo real, resaltando que evadió la gran mayoŕıa de los objetos.
Una desventaja del sistema desarrollado es que no se puede reconocer objetos en 3-D,
provocando que sistema capte como obstáculo objetos que no lo son como por ejemplo una
hoja de papel en el piso haŕıa que lo robot desviara su trayectoria para poder evadirla.
Como Trabajo futuro se propone:
• Usar una técnica de visión estéreo para poder extender el enfoque de detección de
obstáculos en 3-D y poder solucionar el problema que se comento en el párrafo anterior.
• Dotar al robot de los sensores o herramientas necesarias para que pueda conocer
su posición en un sistema de referencia global y conseguir que siga una ruta pre-planificada.
• Extensión del trabajo a una técnica de contracción de mapas del entorno.
Referencias
[1] Cerón A. Evasión de obstáculos en tiempo real para robots móviles mediante redes
neuronales. Ciencia e Ingenieŕıa Neogranadina, Universidad Militar Nueva Granada,
No 15, pp. 86-93, 2005.
[2] Altera, San Jose, CA 95134. Nios Development Board Stratix II Edition Reference
Manual, 1.3 edition, Mayo 2007.
[3] A. Ollero B. Robotica Manipuladores y robots móviles. Alfaomega, 2001.
[4] Tejeda C. Detección y evasión de obstáculos por medio de ultrasonido. Master’s thesis,
BUAP, México D.F, 2006.
[5] T. Alejandra Vidal Calleja. Generalizacion del metodo de campos potenciales para un
veh́ıculo articulado. Master’s thesis, CINVESTAV, 2002.
[6] A. Elfes. A sonar-based mapping and navigation system. The Robotics Institute,
Technical Report, pp. 25-30, 1985.
[7] M. Briot G. Bauzil and P. Ribes. A navigation sub-system using ultrasonic sensors
for the mobile robot hilare. 1st Int. Conf. on Robot Vision and Sensory Controls,
Stratford-upon- Avon, UK., pp. 47-58, 1981.
[8] S.S. Ge and Y. J. Cui. New potential functions for a mobile robot path planning.
International Robotics Research Conference, Bethlehem, PA, AugustIEEE Trans.
Robotics and Automat., Vol.16 (No.5), pp. 615-620, 2000.
48
REFERENCIAS 49
[9] F. Torres J. Pomares. Control visual basado en flujo de movimiento para el seguimiento
de trayectorias con oclusiones. Revista IEEE América Latina. Vol. 2. Num. 2, 2004.
[10] F.Escolano J.M.Sáez, A. Peñalver. Estimación de las acciones de un robot utilizando
visión estéreo,. Workshop sobre agentes f́ısicos(WAF),Universidad de alicante, 2003.
[11] O. Khatib. Real-time obstacle avoidance for manipulators and mobile robots. IEEE
International Conference on Robotics and Automation, St. Louis, pp. 500-505 March
25- 28, 1985.
[12] O. Khatib. Motion coordination and reactive control of autonomous multi-manipulator
system. Journal of Robotic Systems, Vol. 15, No. 4, pp.300 319, 1996.
[13] O. Khatib. Robot in human environments: basic autonomous capabilities,. The
International journal of Robotics Research, Vol. 18,No. 7, pp. 684 696., 1999.
[14] B. H. Krogh. A generalized potential field approach to obstacle avoidance control.
International Robotics Research Conference, Bethlehem, PA, August, 1984.
[15] Minh Ngoc Nong Kyung Hyun, Choi and Rehmani M. Asif Ali. A real time collision
avoidance algorithm for mobile robot based on elastic force. Proceedings of world
academy of science, engineering and technology volume 31, 2008.
[16] A.Ohya M. Kumano and S.Yuta. Obstacle avoidance of autonomous mobilerobot using
stereo vision sensor. Intl. Symp. Robot. Automat., pp.497-502, 2000.
[17] Rodŕıguez F. Sarabia J.F. Garrote R. Guzmán J.L. López O. Moreno J.C.,
Berenguel M. Proyecto de aplicación de telerobótica a un minirobot móvil. II Jornadas
EIWISA’01, CEA-IFAC, Madrid España, 2001.
[18] N. J. Nilsson. A mobile automaton: an application of artificial intelligence techniques.
Proceedings of the International Joint Conference on Artificial Intelligence, pp. 509-
520, 1969.
50 REFERENCIAS
[19] Micron Technology. Datasheet MT9M011, 1/3 Inch Megapixel CMOS Active-Pixel
Digital Image Sensor.
[20] Maribel Anaya Vejar Tibaduiza D. A. Campos de potencial aplicados al planeamiento
de caminos en robots móviles.Revista de ingenieŕıa. Ediciones tecnológica de Bolivia,
2007.
[21] P. Spuères M. Devy V. Cadenat, R. Swain. A controller to perform a visually guided
tracking task in cluttered enviroment. Proc. of the IEEE/RSJ Intern.Conference on
Intelligent Robots and Systems, pp. 775-780,, 1999.

Continuar navegando