Control Visual de Trayectorias para un Vehículo Autónomo ...

120
INSTITUTO TECNOL ´ OGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY CAMPUS MONTERREY PROGRAMA DE GRADUADOS EN TECNOLOG ´ IAS DE INFORMACI ´ ON Y ELECTR ´ ONICA TESIS MAESTR ´ IA EN CIENCIAS EN SISTEMAS INTELIGENTES Control Visual de Trayectorias para un Veh´ ıculoAut´onomo utilizando una C´ amaraM´ovil por Fernando Alberto Rivero Rivero Monterrey, N.L., Diciembre de 2006

Transcript of Control Visual de Trayectorias para un Vehículo Autónomo ...

Page 1: Control Visual de Trayectorias para un Vehículo Autónomo ...

INSTITUTO TECNOLOGICO Y DE ESTUDIOS SUPERIORES DE MONTERREYCAMPUS MONTERREY

PROGRAMA DE GRADUADOS EN TECNOLOGIAS DEINFORMACION Y ELECTRONICA

T E S I S

MAESTRIA EN CIENCIAS EN SISTEMAS INTELIGENTES

Control Visual de Trayectorias para un Vehıculo Autonomoutilizando una Camara Movil

por

Fernando Alberto Rivero Rivero

Monterrey, N.L., Diciembre de 2006

Page 2: Control Visual de Trayectorias para un Vehículo Autónomo ...
Page 3: Control Visual de Trayectorias para un Vehículo Autónomo ...

©Fernando Alberto Rivero Rivero, 2006.

Page 4: Control Visual de Trayectorias para un Vehículo Autónomo ...
Page 5: Control Visual de Trayectorias para un Vehículo Autónomo ...

Control Visual de Trayectorias para unVehıculo Autonomo utilizando una

Camara Movil

por

Fernando Alberto Rivero Rivero

T e s i s

Presentada al Programa de Graduados en Tecnologıas de Informacion y Electronica

del

Instituto Tecnologico y de Estudios Superiores de Monterrey, Campus Monterrey

como requisito parcial para obtener el grado academico de

Maestro en Ciencias

en

Sistemas Inteligentes

Instituto Tecnologico y de Estudios Superiores de Monterrey

Campus Monterrey

Monterrey, N.L., Diciembre de 2006

Page 6: Control Visual de Trayectorias para un Vehículo Autónomo ...
Page 7: Control Visual de Trayectorias para un Vehículo Autónomo ...

Instituto Tecnologico y de EstudiosSuperiores de Monterrey

Campus Monterrey

Escuela de Tecnologıas de Informacion y Electronica

Programa de Graduados en Tecnologıas de Informacion y Electronica

Los miembros del comite de tesis recomendamos que la presente tesis delIng. Fernando Alberto Rivero Rivero sea aceptada como requisito parcial para obtenerel grado de Maestro en Ciencias en Sistemas Inteligentes.

Comite de Tesis

Dr. Jose Luis Gordillo M.Asesor principal

Dr. Rogelio Soto Dr. Carlos Hinojosa M.C. Carlos AlboresSinodal Sinodal Sinodal

Dr. Graciano Dieck Assad

Director de los Programas de Postgrado en Tecnologıas de

Informacion y Electronica

Diciembre de 2006

Page 8: Control Visual de Trayectorias para un Vehículo Autónomo ...
Page 9: Control Visual de Trayectorias para un Vehículo Autónomo ...

ix

Resumen

Esta tesis describe una arquitectura de control para el seguimiento visual detrayectorias con un vehıculo autonomo (VA). Durante los desplazamientos del VA,la arquitectura utiliza una camara movil con el proposito de ampliar su espacio detrabajo. Con esta camara, el sistema de vision calcula y retroalimenta la posicion delVA durante el seguimiento de una trayectoria.

La arquitectura desarrollada cuenta con dos componentes principales: un VA y unsistema de vision cuyas imagenes se obtienen de una camara movil rotacional en pany tilt. El sistema de vision se integra, a la arquitectura del VA ya existente, como unsensor adicional. Este sensor obtiene la posicion y orientacion del VA; posteriormentese retroalimenta esa informacion para que el VA corrija su posicion y su orientacion.

El sistema de vision esta compuesto principalmente por tres algoritmos: elseguimiento visual del VA, el control de la camara movil y la transformacion decoordenadas entre la imagen y el area de trabajo del VA. Para la transformacion decoordenadas se desarrollo un metodo para obtener una matriz de homografıa generala partir de una matriz de homografıa inicial y la posicion de la camara movil.

El sistema de vision y la estimacion de posicion del VA se unen en un modulo dela arquitectura en el cual se fusiona informacion obtenida de ambos sensores, con baseen la incertidumbre de cada sensor. El algoritmo de fusion de datos utilizado es elFiltro de Kalman Extendido (FKE), herramienta ampliamente utilizada para la fusionde datos generada por varios sensores.

El sistema visual mejora la estimacion de posicion de un vehıculo ya que en suestimacion de la posicion, el error no es acumulativo, como con el uso de la odometrıa.Incorporar el sistema de vision permite, al sistema de control del VA, realizar elseguimiento de una trayectoria con mayor exactitud, comparado con la sola utilizacionde sensores internos.

Page 10: Control Visual de Trayectorias para un Vehículo Autónomo ...
Page 11: Control Visual de Trayectorias para un Vehículo Autónomo ...

xi

Dedicatoria

A Dios.

A mis padres por su amor y apoyo.

A mis hermanos Carlos, Mario y Marialmira.

A mi novia Gloria por su constante paciencia, comprension y carino.

Page 12: Control Visual de Trayectorias para un Vehículo Autónomo ...
Page 13: Control Visual de Trayectorias para un Vehículo Autónomo ...

xiii

Agradecimientos

Agradezco al Centro de Sistemas Inteligentes, por el apoyo academico y lasfacilidades otorgadas para el uso de los recursos y servicios computacionales durantelos dos anos de mi postgrado. Ası como tambien a todos y cada uno de los profesoresdel CSI por la formacion academica que me brindaron durante estos anos. En especialal Dr. Rogelio Soto, director del centro y al Dr. Hugo Terashima, director de la carrera.

Mi mas sincero agradecimiento al Dr. Jose Luis Gordillo por haberme permitido serparte de su equipo de trabajo. Su ensenanza y consejos hicieron posible la realizacionde esta tesis.

A Carlos Albores, gracias por tu amistad, consejos y ensenanzas.

A Doris, por tu gran apoyo durante todo este tiempo.

A todos y cada uno de mis amigos y companeros de maestrıa. En especial a HugoO., Gilberto G., Ivan, L. que juntos vivimos esta experiencia y colaboraron de algunmodo en la realizacion de esta tesis.

A todos ustedes, gracias...

Page 14: Control Visual de Trayectorias para un Vehículo Autónomo ...
Page 15: Control Visual de Trayectorias para un Vehículo Autónomo ...

Contenido

1. Introduccion 1

2. Arquitectura para el seguimiento visual de una trayectoria con unVA 92.1. Arquitectura del control visual de un VA . . . . . . . . . . . . . . . . . 10

2.1.1. Arquitectura del VA . . . . . . . . . . . . . . . . . . . . . . . . 112.1.2. Arquitectura del sistema visual . . . . . . . . . . . . . . . . . . 112.1.3. Fusion de datos . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.2. Arquitectura del vehıculo autonomo . . . . . . . . . . . . . . . . . . . . 122.2.1. Modelo cinematico . . . . . . . . . . . . . . . . . . . . . . . . . 122.2.2. Arquitectura de control . . . . . . . . . . . . . . . . . . . . . . . 142.2.3. Control de trayectoria . . . . . . . . . . . . . . . . . . . . . . . 162.2.4. Control a punto . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.2.5. Estimacion de la posicion por odometrıa . . . . . . . . . . . . . 182.2.6. Control de velocidad . . . . . . . . . . . . . . . . . . . . . . . . 192.2.7. Control de direccion . . . . . . . . . . . . . . . . . . . . . . . . 20

2.3. Fusion de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.3.1. Filtro de Kalman . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3. Retroalimentacion visual con camara fija 233.1. Arquitectura del sistema visual . . . . . . . . . . . . . . . . . . . . . . 243.2. Seguimiento del VA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.3. Transformacion de coordenadas . . . . . . . . . . . . . . . . . . . . . . 27

3.3.1. Modelo pinhole . . . . . . . . . . . . . . . . . . . . . . . . . . . 283.3.2. Distorsion del lente de la camara . . . . . . . . . . . . . . . . . 293.3.3. Proyeccion de la coordenadas de la imagen al mundo real . . . 30

3.4. Obtencion de (x, y, θ)R con el sistema visual . . . . . . . . . . . . . . . 31

4. Camara Movil 334.1. Control de la Camara . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.1.1. Estimacion del desplazamiento . . . . . . . . . . . . . . . . . . . 354.1.2. Posicion de la camara . . . . . . . . . . . . . . . . . . . . . . . . 374.1.3. Protocolo de comunicacion . . . . . . . . . . . . . . . . . . . . . 37

4.2. Transformacion de coordenadas con camara movil . . . . . . . . . . . . 37

xv

Page 16: Control Visual de Trayectorias para un Vehículo Autónomo ...

xvi Contenido

4.2.1. Homografıa movil . . . . . . . . . . . . . . . . . . . . . . . . . 384.2.2. Camara puramente rotacional . . . . . . . . . . . . . . . . . . . 394.2.3. Homografıa entre imagenes . . . . . . . . . . . . . . . . . . . . . 404.2.4. Homografıa general . . . . . . . . . . . . . . . . . . . . . . . . . 40

5. Implementacion y Experimentos 435.1. Arquitectura y Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . 435.2. Computadora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

5.2.1. Fusion de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . 445.3. Arquitectura del VA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

5.3.1. Especificaciones del vehıculo . . . . . . . . . . . . . . . . . . . . 455.3.2. Vehıculo Automatizado . . . . . . . . . . . . . . . . . . . . . . . 465.3.3. Unidad de procesamiento . . . . . . . . . . . . . . . . . . . . . . 475.3.4. Comunicacion por RF . . . . . . . . . . . . . . . . . . . . . . . 475.3.5. Sensor de velocidad . . . . . . . . . . . . . . . . . . . . . . . . . 485.3.6. Sensor de direccion . . . . . . . . . . . . . . . . . . . . . . . . . 485.3.7. Etapa de potencia de velocidad . . . . . . . . . . . . . . . . . . 505.3.8. Control de velocidad y direccion en el VA . . . . . . . . . . . . 50

5.4. Sistema de vision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535.4.1. Especificaciones de la camara . . . . . . . . . . . . . . . . . . . 535.4.2. Protocolo de comunicacion . . . . . . . . . . . . . . . . . . . . . 545.4.3. Algoritmo de seguimiento . . . . . . . . . . . . . . . . . . . . . 545.4.4. Obtencion de la posicion y orientacion . . . . . . . . . . . . . . 56

5.5. Experimentos y resultados . . . . . . . . . . . . . . . . . . . . . . . . . 585.5.1. Radios de giro del vehıculo . . . . . . . . . . . . . . . . . . . . . 585.5.2. Pruebas con uso exclusivo de odometrıa . . . . . . . . . . . . . 605.5.3. Pruebas con retroalimentacion visual estatica . . . . . . . . . . 645.5.4. Pruebas con retroalimentacion visual dinamica . . . . . . . . . . 66

6. Conclusiones 71

A. Diagramas Electricos 75A.1. Tarjeta del microcontrolador . . . . . . . . . . . . . . . . . . . . . . . . 75A.2. Tarjeta de potencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75A.3. Doblador de voltaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76A.4. Concentradora de perifericos . . . . . . . . . . . . . . . . . . . . . . . . 76

B. Interfaz grafica 81B.1. Configuracion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82B.2. Progs VA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

B.2.1. Corrida VA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84B.2.2. Manejo Automatico y Manual . . . . . . . . . . . . . . . . . . . 85

B.3. Progs Camara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86B.3.1. Configuracion de parametros de la camara . . . . . . . . . . . . 87

B.4. Sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

Page 17: Control Visual de Trayectorias para un Vehículo Autónomo ...

Contenido xvii

C. Instrumentacion del vehıculo 91C.1. Actuador de velocidad . . . . . . . . . . . . . . . . . . . . . . . . . . . 91C.2. Actuador de la direccion . . . . . . . . . . . . . . . . . . . . . . . . . . 93C.3. Sensado de la velocidad . . . . . . . . . . . . . . . . . . . . . . . . . . . 93C.4. Sensado de la direccion . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

Bibliografıa 95

Page 18: Control Visual de Trayectorias para un Vehículo Autónomo ...
Page 19: Control Visual de Trayectorias para un Vehículo Autónomo ...

Indice de figuras

1.1. Posicion de los elementos principales de la arquitectura propuesta, lacamara movil se encuentra a cierta altura del area de trabajo y sigue alVA durante su recorrido. . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2. Arquitectura de control implementada. . . . . . . . . . . . . . . . . . . 5

2.1. Arquitecturas parciales implementadas; que entre ambas existe unmodulo de comunicacion para intercambiar informacion. . . . . . . . . 10

2.2. Modelo cinematico del carro, cuya posicion es (x, y) del plano con ori-entacion θ, mientras que φ indica la direccion de las llantas. . . . . . . 13

2.3. Diagrama a bloques de los modulos que componen la arquitectura delvehıculo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.4. Algoritmo de persecucion pura. Se traza un arco con radio R que vadesde la posicion del vehıculo al siguiente punto de la trayectoria. . . . 17

2.5. Lazo de control digital para la velocidad; se le da una velocidad comoreferencia la cual debe de alcanzar el controlador. . . . . . . . . . . . . 20

2.6. Lazo de control digital para la direccion. . . . . . . . . . . . . . . . . . 212.7. Fusion de posicion realizada. . . . . . . . . . . . . . . . . . . . . . . . 22

3.1. Arquitectura modular que gobierna el sistema de vision. . . . . . . . . 253.2. Pasos del algoritmo de desplazamiento medio en forma grafica. . . . . 283.3. Modelo pinhole, un objeto en el mundo real (3-D) se proyecta dentro

de la imagen (2-D). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.4. Tipos de distorsiones de los lentes . . . . . . . . . . . . . . . . . . . . 30

4.1. Modulo del control de la camara; cada flecha muestra la transmision deinformacion entre modulos. . . . . . . . . . . . . . . . . . . . . . . . . 35

4.2. Distancias entre el centro de la imagen y el centro del vehıculo. . . . . 364.3. La camara tiene que realizar movimientos rotacionales (θ1, θ2) para

seguir al VA dentro del area de trabajo. . . . . . . . . . . . . . . . . . 384.4. Dos imagenes tomadas con diferentes rotaciones a travesadas por un

punto m’ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

5.1. Elementos principales del sistema desarrollado. Existe comunicacionbidireccional entre todos los elementos que lo conforman. . . . . . . . . 44

5.2. Vehıculo a escala escala que se automatizo. . . . . . . . . . . . . . . . 45

xix

Page 20: Control Visual de Trayectorias para un Vehículo Autónomo ...

xx Indice de figuras

5.3. Elementos implementados sobre el VA. . . . . . . . . . . . . . . . . . . 46

5.4. Paquetes y protocolo de comunicacion entre la computadora y el VA . . 48

5.5. Sensor de velocidad, disco ranurado y codificador optico acoplados al ejede las llantas traseras. . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

5.6. Sensor de direccion acoplado al eje de giro delantero. . . . . . . . . . . 50

5.7. Tarjeta de potencia de velocidad, en ella se encuentran tres partes: ais-lamiento, logica y potencia. . . . . . . . . . . . . . . . . . . . . . . . . 51

5.8. Resultado de una prueba del control de velocidad, se cerro el lazo decontrol y se le pidio al controlador que mantuviera 30 cuentas por tiempode muestreo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

5.9. Resultado del control de direccion al realizar el vehıculo una trayectoriasimple con giros en ambos sentidos, el controlador tiene que realizarajustes seguir la trayectoria. . . . . . . . . . . . . . . . . . . . . . . . . 53

5.10. Paquete de comunicacion y protocolo de comunicacion entre la computa-dora y la camara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

5.11. Adelanto de la ventana de seguimiento en la orientacion del vector dedesplazamiento del VA. . . . . . . . . . . . . . . . . . . . . . . . . . . 55

5.12. Datos comparativos entre los datos crudos (Um = 0) en orientacion (a)y (c) respectivamente, contra el uso de un filtro de distancia Um = 0.13(b) y (d). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

5.13. Orientacion del vehıculo con datos crudos y al incluir el filtro de primerorden con Wc = 5 y T = 0.18 . . . . . . . . . . . . . . . . . . . . . . . 58

5.14. Representacion grafica de los radios de giro realizados por el VA para sucaracterizacion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

5.15. Pruebas de seguimiento de una recta utilizando la manipulaciones nomedidas en los radios de giro. . . . . . . . . . . . . . . . . . . . . . . . 60

5.16. Pruebas utilizando solamente los sensores de odometrıa, resultadosobtenidos por el sistema de odometrıa. . . . . . . . . . . . . . . . . . . 62

5.17. Pruebas utilizando solamente los sensores de odometrıa, medicionesobtenidas con el sistema de vision. Los resultados de las pruebas varıanal variar φ ya que se se modifica la estimacion de la posicion. . . . . . . 63

5.18. Pruebas utilizando retroalimentacion visual, (a) y (b) es la medicion delos sensores de odometrıa, (c) y (c) es la medicion del sistema de visiony (e) y (f) la fusion de las dos mediciones anteriores. . . . . . . . . . . 65

5.19. Pruebas utilizando la camara movil y retroalimentando la fusion de losdatos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

5.20. Evolucion de la trayectoria tipo rectangular, recorrida por el VA, in-tegrada por 7 puntos de control. . . . . . . . . . . . . . . . . . . . . . . 68

5.21. Evolucion de la trayectoria tipo ”8”, recorrida por el VA, integrada por16 puntos de control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

Page 21: Control Visual de Trayectorias para un Vehículo Autónomo ...

Indice de figuras xxi

A.1. Tarjeta generica del microcontrolador MEGA 128. Se divide la tarjetaen siete secciones dependiendo de su funcion: logica de programacion,alimentacion, pines de salida, jumpers, comunicacion 485, comunicacion232 y el microcontrolador. . . . . . . . . . . . . . . . . . . . . . . . . . 77

A.2. La tarjeta de potencia de velocidad se divide en tres partes, aislamiento,logica y potencia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

A.3. La tarjeta dobladora de voltaje se divide en tres secciones: dosdobladores de voltaje y un regulador variable de voltaje. . . . . . . . . 79

A.4. La tarjeta concentradora de perifericos enlaza las senales de los sensoresy actuadores hacia el microcontrolador. . . . . . . . . . . . . . . . . . . 79

B.1. Ventana principal de la interfaz grafica. . . . . . . . . . . . . . . . . . . 81B.2. En la ventana de parametros de configuracion del VA se seleccionan los

valores de ajuste para las pruebas. . . . . . . . . . . . . . . . . . . . . . 83B.3. La ventana del manejo de los VA permite enviar comandos hacia el

vehıculo para manejarlo de forma manual o automatico. . . . . . . . . . 84B.4. Ventana para el envıo de comandos al VA. . . . . . . . . . . . . . . . . 85B.5. Ventana principal del seguimiento visual, en ella se despliega la imagen

de la camara y el seguimiento del VA. . . . . . . . . . . . . . . . . . . . 87B.6. Ventana para modificar diversos parametros de la camara, entre ellos,

la posicion, intensidad luminosa y contraste. . . . . . . . . . . . . . . . 89

C.1. Diagramas del funcionamiento de un puente-H, a la izquierda estan ac-tivados los transistores T1 y T4 mientras que a la derecha T2 y T3. . . . 92

C.2. Diferentes frecuencias de la senal de PWM, a mayor frecuencia tH tiendea T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

Page 22: Control Visual de Trayectorias para un Vehículo Autónomo ...
Page 23: Control Visual de Trayectorias para un Vehículo Autónomo ...

Indice de tablas

5.1. Relacion de voltaje, direccion, resistencia y lectura digital del sensor dedireccion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

5.2. Comparacion entre algoritmo de seguimiento sin modificacion y con unadelanto antes de la busqueda. . . . . . . . . . . . . . . . . . . . . . . 55

5.3. Relacion entre las manipulaciones y radios de giro. . . . . . . . . . . . . 595.4. Error inicial en el seguimiento de la trayectoria, basado en las graficas

de la Figura 5.16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625.5. Error obtenido por el sistema de vision, basado en las graficas que apare-

cen en la Figura 5.17. . . . . . . . . . . . . . . . . . . . . . . . . . . . 645.6. Error de los diferentes sensores utilizando retroalimentacion visual, basa-

do en la Figura 5.18. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645.7. Error de los diferentes sensores utilizando retroalimentacion visual

dinamica, basado en la Figura 5.19. . . . . . . . . . . . . . . . . . . . 66

6.1. Diferencias entre el trabajo aquı reportado y el trabajo realizado por[Vazquez 02] dentro del Laboratorio de Robotica del CSI. . . . . . . . 73

xxiii

Page 24: Control Visual de Trayectorias para un Vehículo Autónomo ...
Page 25: Control Visual de Trayectorias para un Vehículo Autónomo ...

Capıtulo 1

Introduccion

Los robots moviles combinan la mecanica electronica y control, con el proposito derealizar gran variedad de tareas como: trabajos subterraneos (minerıa), aplicacionessubmarinas, misiones espaciales y vigilancia, entre otros. Dichos mecanismos realizantareas en areas peligrosas o inaccesibles, con mayor precision que un ser humano.Un tipo de robot movil son los vehıculos autonomos (VA), los cuales son capacesde modelar, planificar y actuar para alcanzar ciertos objetivos sin la intervencion ocon pequena intervencion de un supervisor humano. Un VA es autonomo durante laejecucion de la tarea.

Para dotar de autonomıa a un vehıculo existen dos enfoques: el primero, consisteen disenar y construir el vehıculo pensando en la tarea especıfica que va a realizar;el segundo, es modificar un vehıculo ya construido disenado para realizar una tareaparticular y adaptarlo para que adquiera autonomıa. El primer enfoque presentavarias desventajas, puesto que el tiempo de desarrollo es mayor, se requiere teneruna mayor infraestructura para el desarrollo y es mas costoso. El segundo enfoquepermite automatizar un vehıculo ya existente, ahorrando el tiempo de construccionpermitiendo enfocarse solamente a su automatizacion. Este trabajo de investigacionutiliza el segundo enfoque, puesto que se automatiza un vehıculo a escala de controlremoto para validar la arquitectura propuesta.

Para que un VA siga satisfactoriamente una trayectoria, se requiere que determinesu localizacion (posicion y orientacion) con precision, en todo momento, con respectoa un sistema de referencia absoluto. La odometrıa (dead reckoning) es una tecnicaque estima la posicion y orientacion del vehıculo utilizando sensores que miden elnumero de vueltas dadas por sus ruedas y la orientacion de sus llantas. La ventajade esta tecnica es su simplicidad y la rapidez de implementacion. Entre sus desven-tajas se encuentran las imprecisiones causadas por el deslizamiento de las ruedas,la irregularidad del suelo y fundamentalmente la acumulacion de error durante lanavegacion. Dichas imprecisiones originan que la region de incertidumbre asociada a laposicion y orientacion del robot vaya creciendo conforme el robot se mueve. Por tantose necesita de otro sensor para reducir la incertidumbre en la posicion del vehıculo.

1

Page 26: Control Visual de Trayectorias para un Vehículo Autónomo ...

2 Capıtulo 1. Introduccion

Los metodos de seguimiento visual mantienen acotada la incertidumbre, ya que sonsensores absolutos.

Un sistema de vision se puede integrar a un VA de dos formas, como un sensorabordo del vehıculo o como un sensor fuera de bordo. Para la estimacion de posicion sila vision se integra como un sensor abordo del vehıculo se colocan marcas preestable-cidas en el ambiente las cuales son detectadas por el sistema de vision. El sistemade vision abordo para navegar ası es limitado ya que el vehıculo solamente puededesplazarse en ambientes predeterminados. Por otra parte, el sistema de vision fuerade bordo tiene una vista mas amplia del ambiente ya que su rango de vision no selimita a la orientacion del vehıculo; puede de igual forma, ayudar al vehıculo a navegary detectar obstaculos. Para funcionar como sensor en la navegacion no es necesarioque existan marcas preestablecidas dentro del ambiente.

El objetivo de esta tesis es desarrollar una arquitectura computacional la cualintegre un VA y un sistema de vision, el cual utiliza una camara movil fuera de borda.El sistema de vision permite calcular y retroalimentar la posicion del VA durante elseguimiento de una trayectoria. Se supone que al utilizar un sistema visual mejora laestimacion de posicion de un vehıculo ya que en su estimacion de la posicion el error noes acumulativo como en el uso de la odometrıa. El resultado de incorporar el sistemade vision al sistema de control del vehıculo, permitira al VA realizar el seguimientode una trayectoria con mayor exactitud, comparado con utilizar solamente sensoresinternos.

Los VA rara vez son equipados con un solo sensor para realizar todas estas tareas,sino que se incluyen varios sensores que hacen mas robusto el sistema [Ollero 93].Estos vehıculos llevan consigo una gran cantidad de sensores como brujula, giroscopio,acelerometro, laser, GPS y sistemas de vision. Los sensores permiten al vehıculoestimar su posicion y orientacion, ası como detectar posibles obstaculos. Un ejemplode este tipo de vehıculos son los desarrollados para una competencia que ha llamadola atencion en anos recientes organizada por el Departamento de Defensa (DARPA)de los E.U. El objetivo de dicha competencia es que un VA recorra una distancia de212 Km. a traves del desierto. El objetivo a largo plazo de esta lınea de investigaciones automatizar un vehıculo para que pueda navegar, confiablemente, en situacionessimilares a las de dicha competencia.

Por su parte, en el Laboratorio de Robotica del Centro de Sistemas Inteligentes(CSI) se han instrumentado y desarrollado varios VA a escala los cuales se basan en laarquitectura propuesta por [Palacios 00]. Estos vehıculos a escala cuentan con sensoresbasados en odometrıa y su consigna principal es seguir trayectorias determinadas enposiciones (x, y) en el espacio de trabajo. En el Laboratorio se cuenta de igual formade un vehıculo automatizado de tamano real [Gonzalez 05] el cual tiene las mismascaracterısticas que los vehıculos a escala.

Page 27: Control Visual de Trayectorias para un Vehículo Autónomo ...

3

Por otra parte dentro del Grupo de Vision del CSI han desarrollado trabajos deseguimiento de personas en tiempo real, utilizando metodos integrales [Guevara 00] yderivativos [Aguilar 02]. Los metodos derivativos detectan el movimiento mediante unanalisis en los cambios de intensidades en la imagen y en los cambios de intensidadesque se presentan de imagen a imagen. Los metodos integrales utilizan caracterısticasde area; se enfocan en el conjunto de pixeles que conforman al objeto y utilizantecnicas estadısticas para realizar el seguimiento. Un trabajo reciente es un sistemapara el seguimiento de multiples objetos utilizando una camara movil, realizado por[Ortega 06]. Este sistema permite el seguimiento de un objeto denominado el “objetoprincipal”, el cual es el objeto de interes para el seguimiento visual. Adicionalmente elsistema detecta “objetos secundarios”, los cuales son elementos que ingresan al areade vision en la cual se encuentra el objeto principal.

Se propone utilizar los trabajos realizados dentro del Grupo de Vision[Ortega 06, Guevara 00] como base para el desarrollo e implementacion de unsensor adicional para el VA. El sistema desarrollado con estos ultimos cierra el lazo decontrol con el VA.

La arquitectura propuesta funciona en espacios cerrados, ası como en espaciosabiertos donde se cuenta con suficiente iluminacion. Como en cualquier sistema visual,la iluminacion juega un papel preponderante ya que afecta a todo tipo de algoritmosimplementados. El vehıculo debe de ser visible en todo momento por el sistema devision. Ademas se considera que no existen obstaculos los cuales oculten al vehıculode la camara. Igualmente se considera que al VA siempre se le daran trayectoriaslas cuales realice dadas sus limitaciones cinematicas y la trayectoria efectuada semantendra dentro del rango de vision de la camara.

Un trabajo similar al actual fue realizado por [Vazquez 02]; donde se utilizo unacamara fija para realizar el seguimiento y control de un vehıculo a escala. Dichodesarrollo se baso en [Aguilar 02], el metodo de seguimiento era por medio de metodosderivativos. Las principales diferencias entre ambos trabajos se pueden dividir en tres:sensores del vehıculo, caracterısticas del sistema de vision e integracion del sistema.En lo que respecta a los sensores del vehıculo se agrego un sensor de orientacion paralas llantas y un sensor adicional de desplazamiento. El sistema de vision es diferenteen dos caracterısticas: se utiliza una camara movil en vez de una camara estatica y losalgoritmos de seguimiento visual. En cuanto al sistema integrado se utiliza un metodode fusion de datos en la retroalimentacion y no solamente el posicionamiento visual.

El vehıculo utilizado posee las caracterısticas de un carro comun, se desplaza atraves del cambio de la velocidad y de la direccion. De igual forma presenta restriccionesno-holonomicas, que deben considerarse al momento de planear la trayectoria a realizar.

La Figura 1.1 muestra el posicionamiento de la camara movil y el VA dentro delarea de trabajo. El sistema de vision se ubica a cierta altura con respecto al area

Page 28: Control Visual de Trayectorias para un Vehículo Autónomo ...

4 Capıtulo 1. Introduccion

Cámara

Trayectoria

Área de visiónde la cámara

VA

(θ1,θ2)

Figura 1.1: Posicion de los elementos principales de la arquitectura propuesta,la camara movil se encuentra a cierta altura del area de trabajo y sigue al VA

durante su recorrido.

de trabajo y desde ahı la cubre visualmente. La camara rota sobre sus ejes, lo quepermite al vehıculo trabajar una area mayor a la que proporcionarıa una camaraestatica. El vehıculo realiza el seguimiento de la trayectoria modificando la orientacionde sus llantas y desplazandose a una velocidad constante.

Al incorporar el sistema de vision, como un sensor fuera de borda, se requiereincluir una computadora externa que procese la informacion del sistema de vision.Debido a que se tienen dos elementos aislados (un VA y una camara movil conectadaa una computadora) es necesario distribuir las tareas que cada dispositivo realiza.Entre los dos dispositivos existe una comunicacion constante para enviar y recibircorrecciones de la posicion del vehıculo.

La arquitectura desarrollada cuenta con dos elementos principales: un VA y unsistema de vision. En la practica, el sistema de vision se integro a una arquitectura yaexistente, como un sensor adicional. Este sensor obtiene la posicion y orientacion delVA; posteriormente el sistema retroalimenta esa informacion para que el VA corrijasu posicion y orientacion. El resultado de este proceso es un mejor seguimiento de latrayectoria, por parte del VA.subsistemas por elementos

El VA es capaz de seguir una trayectoria definida por el usuario. La arquitectura delVA se basa en la arquitectura de control propuesta por [Albores 06]; la cual se muestraen la Figura 1.2. La arquitectura se divide en dos etapas: la primera consiste en laplaneacion de la trayectoria, mientras que la segunda etapa contempla el seguimiento

Page 29: Control Visual de Trayectorias para un Vehículo Autónomo ...

5

Control apunto

Control detrayectoria

Planeación detrayectoria

Estimación deposición

Control dedirección

Control develocidad

Modelocinemático del

vehículo

Múltiplessensores

Modelodelambiente

Evasión deobstáculos

Planeación detrayectoriadinámica

Procesamientode sensores

Planeación detrayectoria

Seguimiento detrayectoria

Fusión de datos

Procesamiento dentro del VA Sistema de visión

Figura 1.2: Arquitectura de control implementada.

de la trayectoria. La etapa de planeacion de trayectoria utiliza el modelo del ambientey las restricciones del modelo cinematico del vehıculo para generar una trayectoriavalida, que sea factible realizar por el vehıculo. En este trabajo no se hara enfasis enesta etapa, puesto que supone que la trayectoria a realizar esta validada y el vehıculopodra realizar correctamente dicha trayectoria. El seguimiento de trayectoria incorporalos controladores y sensores, para que los actuadores de velocidad y direccion delvehıculo aseguren que la trayectoria solicitada es seguida con fidelidad (con mınimoerror).

La etapa de planeacion de trayectoria define la trayectoria como una lista{P1 . . . Pn} de n puntos donde P1 y Pn son los puntos inicial y final respectivamente.La trayectoria es enviada al control de trayectoria, quien se encarga de enviar lavelocidad crucero del vehıculo, ademas de la secuencia de puntos {Pi}i=1...n al controla punto. El control a punto recibe uno tras otro los puntos Pi a seguir y determinacuando el VA ha alcanzado al punto Pi de la trayectoria. Ası, despues de haberalcanzado el punto Pi, el control a punto calcula la manipulacion a colocar en ladireccion para alcanzar al siguiente punto Pi+1. El control de direccion se encarga demantener la direccion en el valor pedido. El control de velocidad mantiene constante lavelocidad crucero durante el seguimiento. La estimacion de posicion, que se encuentra

Page 30: Control Visual de Trayectorias para un Vehículo Autónomo ...

6 Capıtulo 1. Introduccion

dentro del VA, realiza los calculos pertinentes para obtener la posicion y orientaciondel vehıculo con base en la informacion obtenida de la velocidad y direccion. Estaestimacion es de tipo odometrica y se basa en el modelo cinematico del vehıculo.

Como se menciono, El sistema de vision se incorpora a la arquitectura como unsensor externo. Este sensor se encuentra fuera de borda conectado a una computadora.El sistema de vision realiza el seguimiento visual del VA, la estimacion de la posiciony orientacion del vehıculo, ası como el control de la camara movil. La estimacion deposicion obtenida por metodos odometricos y por el sistema de vision se introducen almodulo de fusion de datos. Este modulo de fusion de datos, el cual se encuentra en lacomputadora, se encarga de obtener una nueva estimacion de la posicion con base enlas dos mediciones de entrada, y de realizar la fusion de ambas mediciones utilizandotecnicas de fusion de multiples sensores. Despues de realizar la nueva estimacion deposicion, se retroalimenta al vehıculo con la nueva estimacion para que corrija suposicion y orientacion.

El modulo de evasion de obstaculos se encarga de manipular la velocidad ydireccion cuando se detecta un obstaculo en la trayectoria del vehıculo. Al modificarla trayectoria por la evasion de obstaculos es necesario reanudar con el seguimientode la trayectoria; por tanto, se realiza una planeacion dinamica de la trayectoria parareanudar el seguimiento de la trayectoria original. Ni la evasion, ni la planeaciondinamica van a ser abordados en este trabajo.

La metodologıa seguida durante el desarrollo de esta investigacion se describe acontinuacion; segun se describe en [Albores 06],

Analisis y caracterizacion Se realizo la caracterizacion de los elementos mecanicosy electricos del vehıculo y de la camara movil a utilizar.

Modelado Se realizo un modelo del comportamiento del vehıculo y del sistema devision. Se modelo, de igual forma, el funcionamiento del VA en conjunto con elsistema de vision.

Diseno Se disenaron los elementos necesarios para controlar los diferentes compo-nentes del vehıculo. Tambien se disenaron los algoritmos necesarios para integraral sistema de vision con el VA.

Implementacion Se acoplaron los elementos necesarios para la manipulacion de lavelocidad y direccion del vehıculo y se desarrollaron los algoritmos de visionrequeridos para el seguimiento del vehıculo. Esta etapa se realizo en tres fases:la primera, el vehıculo navega solamente con sensores de odometrıa, mientras lavision solamente realiza el seguimiento mediante la estimacion de la posicion yla orientacion del vehıculo, pero sin retroalimentacion; la segunda implementa laretroalimentacion de la posicion y orientacion hacia el vehıculo usando la camarafija; en la tercera, se le agrego movilidad a la camara.

Page 31: Control Visual de Trayectorias para un Vehículo Autónomo ...

7

Validacion y pruebas Se realizaron pruebas en cada una de las fases de imple-mentacion realizadas.

Correccion y refinamiento Se implemento un ciclo de correcciones para mejo-rar el desempeno del VA, el sistema de vision y ambos elementos trabajandoen conjunto.

Como se menciono anteriormente, este trabajo esta basado en el sistema de visionrealizado por [Ortega 06]. De ese trabajo se van a tomar los algoritmos de seguimientode objetos, transformacion de coordenadas y movimiento para una camara movil. Secrearan nuevos algoritmos para que los algoritmos de vision puedan ser capaces deinteractuar con un VA. Para automatizar el VA, se utiliza la metodologıa realizada por[Albores 06], de dicho trabajo tambien se extraen los metodos de fusion de multiplessensores.

Las principales contribuciones y alcances de este trabajo son la automatizacion deun vehıculo a escala; el desarrollo de una arquitectura en la cual se integran un VAy un sistema de vision con camara movil; el uso de una camara movil como sensorexterno, para el seguimiento y la estimacion de la posicion de un VA; uso de unalgoritmo que fusiona la posicion y la orientacion obtenida con sensores de odometrıay por el sistema de vision; desarrollo de algoritmos para la estimacion de la posicionutilizando una camara movil; y la retroalimentacion la posicion y orientacion al VA.

Describiendo el desarrollo de la tesis, el Capıtulo 2 describe la arquitectura delsistema y la arquitectura del VA. Se presenta el modelo cinematico del vehıculo a au-tomatizar. Se describen ampliamente la arquitectura de control, el control de velocidady direccion y la estimacion de posicion. Se presenta la distribucion de la arquitec-tura dentro del VA y una computadora. El Capıtulo 3 presenta el sistema de vision.Se describen los algoritmos utilizados para el seguimiento del vehıculo. Ası mismo sedescriben los algoritmos utilizados para eliminar la distorsion de la camara y para re-alizar la transformacion de coordenadas entre las imagenes obtenidas por el sistemavisual y las coordenadas del VA. El Capıtulo 4 describe los algoritmos utilizados parael movimiento de la camara y la estimacion de la posicion cuando la camara no seencuentra en una posicion estatica. El Capıtulo 5 presenta las implementaciones real-izadas tanto para automatizar al vehıculo como en el sistema de vision. Se muestran losexperimentos realizados, ası como los resultados y mediciones obtenidas. Finalmente elCapıtulo 6 contiene las conclusiones obtenidas en la implementacion de este trabajo.De forma complementaria, el Apendice A presenta los diagramas electricos implemen-tados. El Apendice B es un manual de usuario para el sistema de vision y el VA. ElApendice C describe las implementaciones realizadas sobre el vehıculo para lograr suautomatizacion.

Page 32: Control Visual de Trayectorias para un Vehículo Autónomo ...
Page 33: Control Visual de Trayectorias para un Vehículo Autónomo ...

Capıtulo 2

Arquitectura para el seguimientovisual de una trayectoria con un VA

Recordemos que la meta principal de un VA es realizar la tarea asignada con ciertogrado de autonomıa. Para que un vehıculo se mueva de forma autonoma se agregantanto actuadores como sensores, de igual forma generar una arquitectura que controledichos dispositivos y por ende al vehıculo.

En este capıtulo se presenta la arquitectura de todo el sistema y se describe elfuncionamiento general de cada parte de la arquitectura. De igual forma, se describe ladistribucion de la arquitectura con respecto a los componentes utilizados dentro de laexperimentacion. Por tanto realiza la descripcion a fondo la arquitectura implementadadentro del VA y la funcionalidad de cada modulo que integra dicha arquitectura.

Debido a que se tienen dos sistemas aislados (un VA y una camara movil conectadaa una computadora) fue necesario distribuir los elementos de la arquitectura, paracrear dos arquitecturas parciales las cuales se comunican entre si. Una arquitecturareside en el VA y la otra se implementa en la computadora que realiza el procesamientovisual. La arquitectura dentro del vehıculo se encarga de controlar el seguimiento dela trayectoria, la velocidad y direccion, ası como la estimacion por odometrıa de laposicion. La arquitectura del sistema visual, se encarga del seguimiento del vehıculo,movimiento de la camara y la estimacion visual de la posicion.

Un vehıculo comun se desplaza manipulando dos variables: la velocidad (v) y ori-entacion de las llantas (φ); con ellas el vehıculo es capaz de cambiar su posicion (x, y)y su orientacion (θ). Por tanto, la arquitectura que resida dentro del vehıculo se definea partir de las propiedades cinematicas del vehıculo. Teniendo un correcto control de lavelocidad y la direccion de las llantas, el vehıculo se desplaza siguiendo una trayectoriaasignada.

9

Page 34: Control Visual de Trayectorias para un Vehículo Autónomo ...

10 Capıtulo 2. Arquitectura para el seguimiento visual de una trayectoria con un VA

2.1 Arquitectura del control visual de un VA

La arquitectura de la cual parte este trabajo se muestra en la Figura 1.2 yesta basada en [Palacios 00]. Dicha arquitectura es jerarquica y supone que todoslos elementos se encuentran conectados directamente entre si. Para este trabajo secuenta con dos elementos, los cuales no se pueden colocar de manera conjunta. Secuenta con un vehıculo el cual se desplaza dentro de un area de trabajo, y unacamara fuera de bordo. Para que ambos dispositivos trabajen en conjunto se disenarondos arquitecturas parciales que intercambian informacion. El vehıculo estima suposicion por medio de sensores de odometrıa y transmite esa informacion hacia elcontrol central, el cual radica en una computadora. La camara esta conectada a lacomputadora, ahı se realizan los algoritmos para estimar la posicion por medio visual.Posteriormente, ambas estimaciones de posicion se fusionan y se retroalimentan haciael vehıculo para que se corrija su posicion.

En la Figura 2.1 se muestran las dos arquitecturas parciales implementadas. Entrearquitecturas existe una comunicacion constante para enviar y recibir informacion.Ası la arquitectura que incluye el seguimiento de trayectoria se implementa sobre elpropio vehıculo, mientras que la arquitectura del sistema de vision esta implementadaen el control central.

Control apunto

Control detrayectoria

Estimación deposición

Control dedirección

Control develocidad

Modelocinemático del

vehículo

Cámara móvil

Fusión de datos

VASistema visual

Comunicación

SeguimientodelVA

Control de lacámara

Transformaciónde coordenadas

Figura 2.1: Arquitecturas parciales implementadas; que entre ambas existe unmodulo de comunicacion para intercambiar informacion.

Las dos arquitecturas parciales funcionan de manera independientes y se sincronizancada determinado tiempo para realizar la retroalimentacion hacia el vehıculo. La sin-cronizacion se entre ambas arquitecturas parciales se realiza cuando un se tienen datos,

Page 35: Control Visual de Trayectorias para un Vehículo Autónomo ...

2.1. Arquitectura del control visual de un VA 11

de ambas arquitecturas, los cuales fueron obtenidos dentro de un mismo lapso de tiem-po. El proposito de ambas arquitecturas es colaborar a la estimacion de la posicion;una lo realiza por medio de sensores dentro del vehıculo y la otra por medio visualexterno. Las dos estimaciones obtenidas llegan al modulo de fusion de datos, donde seintegran ambas arquitecturas. Este modulo tiene tres funciones: en primera instanciase encarga de verificar si las dos mediciones se realizaron dentro del mismo intervalode muestreo; si ambas muestras se realizaron dentro de un lapso similar de tiempo, serealiza la fusion de ambas estimaciones de posicion; finalmente al se realizar la fusionde datos se retroalimenta al vehıculo con el resultado.

2.1.1 Arquitectura del VA

Esta arquitectura parcial se desarrolla sobre el vehıculo. Su funcion es estimar laposicion del vehıculo utilizando los sistemas odometricos. Dentro de esta arquitectura seencuentran los elementos de mas bajo nivel, consistentes en, los actuadores y sensorespara manipular la velocidad y direccion del vehıculo. Un conjunto de controladoresenvıan senales a diversos actuadores; ası mismo, reciben retroalimentacion de sensoresque verifican el movimiento de los actuadores. Durante el seguimiento de una trayec-toria, se cuenta con otra serie de controladores de mas alto nivel los cuales se encargande modificar la direccion del vehıculo. Esta arquitectura localizada dentro del vehıculoenvıa, hacia la arquitectura parcial del control central, informacion a cerca de la ori-entacion de las llantas y el desplazamiento del vehıculo. Por otra parte, recibe de laarquitectura en la computadora una correccion de la estimacion de la posicion.

2.1.2 Arquitectura del sistema visual

La arquitectura del sistema visual se realiza en el control central el cual tieneacoplada la camara movil. La arquitectura visual tiene dos objetivos principales: re-alizar el seguimiento visual del vehıculo y estimar visualmente la posicion del vehıculo.En primera instancia el seguidor realiza el seguimiento del vehıculo manteniendolodentro del area de vision, y posteriormente estima su posicion. La arquitectura puedefuncionar utilizando la camara en su forma estatica o movil.

Dentro de esta arquitectura se encuentran los algoritmos de seguimiento del vehıcu-lo, control de la camara y transformacion de coordenadas. El algoritmo de seguimientodel vehıculo se encarga de seguir visualmente al vehıculo cuando se mueve. El controlde la camara estima el desplazamiento que realiza la camara y le envıa los comandos ala camara para que realice el desplazamiento. La transformacion de coordenadas real-iza las operaciones pertinentes para transformar una posicion (x, y)img a una posicion(x, y)real.

Page 36: Control Visual de Trayectorias para un Vehículo Autónomo ...

12 Capıtulo 2. Arquitectura para el seguimiento visual de una trayectoria con un VA

2.1.3 Fusion de datos

Un componente fundamental dentro de la arquitectura del sistema es el modulo defusion de datos ; su tarea es tomar las estimaciones realizadas por los diversos sensoresdel vehıculo con el proposito de generar una mejor estimacion de la posicion con base enla incertidumbre de cada sensor. Es el elemento de integracion de las dos arquitecturasparciales y radica en el control central. El algoritmo de fusion de datos utilizado esel Filtro de Kalman Extendido (FKE), herramienta ampliamente utilizada para lafusion de datos generada por varios sensores [Drolet 00]. Para este trabajo se realiza lafusion de la estimacion por sensores odometricos y la estimacion por medio visual. Pararealizar la fusion, los datos de ambos sensores tienen que haberse tomado dentro de unrango de tiempo similar. De lo contrario, no se realiza la fusion ya que son medicionesde dos tiempo distintos. Al finalizar la fusion se envıa al vehıculo el resultado de lafusion para que corrija su posicion.

2.2 Arquitectura del vehıculo autonomo

Como ya se menciono anteriormente, esta arquitectura se encuentra dentro delVA y su funcion principal es la estimacion de la posicion, ası como el control de lavelocidad y direccion. Para lograr que un vehıculo siga una trayectoria se realizael analisis y la caracterizacion del vehıculo para conocer sus propiedades basicasası como las de sus componentes. Posteriormente, se propone un modelo con baseen los resultados obtenidos en las pruebas previas. Finalmente se implementan losalgoritmos de control que permitan manipular la velocidad y la direccion, para que elvehıculo realice correctamente el seguimiento de la trayectoria.

La estimacion de posicion se basa en el modelo cinematico del vehıculo. Ası, segeneran los algoritmos para estimar la posicion del vehıculo x,y,θ, en funcion de loscambios en la velocidad v y direccion φ. Para obtener las consignas de velocidad y di-reccion en el seguimiento de la trayectoria, se genero un algoritmo de control en cascadael cual obtiene las consignas en los controladores superiores (control de trayectoria ycontrol a punto) y las envıa a los controladores inferiores de velocidad y direccion paraaplicar las consignas sobre los respectivos actuadores.

2.2.1 Modelo cinematico

Un vehıculo a escala sirve como prototipo para validar la arquitectura del sistema.El vehıculo utilizado posee caracterısticas de un carro comun, pues cuenta conrestricciones no-holonomicas. El vehıculo cuenta con cuatro llantas: dos fijas en eleje trasero y dos en la parte frontal. Las llantas delanteras definen la direccion queseguira el vehıculo y las traseras son solo guiadas. Se dice que un robot movil esno-holonomico cuando los grados de libertad no son independientes y por lo tanto nopueden rotar sobre su propio eje, sin cambiar su posicion en el plano [Laumond 97]. Las

Page 37: Control Visual de Trayectorias para un Vehículo Autónomo ...

2.2. Arquitectura del vehıculo autonomo 13

restricciones anteriores, impiden al VA realizar ciertas trayectoria, por tanto se real-iza la validacion previa antes de asignar una trayectoria al vehıculo, para que la ejecute.

Por simplicidad del modelo se supone que las dos llantas en cada eje se juntan a unasola llanta en el punto medio del eje (modelo de bicicleta). En la Figura 2.2 se muestrael modelo cinematico, en donde el espacio de configuracion esta definido por (xp, yp, θ).La posicion del vehıculo se define en el centro del eje trasero (xp, yp), mientras θ mide laorientacion del carro con respecto al eje x. Por su parte φ es el angulo de la direccion dela llanta delantera con respecto a θ. Las restricciones no-holonomicas para las llantasdelanteras se definen por la ecuacion 2.1, de la misma forma las restricciones para lallanta trasera se define por la ecuacion 2.2. Ambas ecuaciones establecen que no existemovimiento lateral para todo el vehıculo.

φ

θ

θ cos L x x p d + =

θ Lsen y y p d + =

φ

L

R

p x

p y

p

y

x

0 φ

1 φ

t

Figura 2.2: Modelo cinematico del carro, cuya posicion es (x, y) del plano conorientacion θ, mientras que φ indica la direccion de las llantas.

xd sen(θ + φ)− yd cos(θ + φ) = 0 (2.1)

xp sen(θ)− yp cos(θ) = 0 (2.2)

donde xd, yd son las coordenadas de la llanta delantera mientras xp, yp son las coorde-nadas de la llanta trasera,

xd = xp + L cos θ (2.3)

yd = yp + L sen θ (2.4)

L es la distancia entre los ejes. Al sustituir 2.3 y 2.4 en 2.1, y simplificando,

xp sen(θ + φ)− yp cos(θ + φ)− θL cos φ = 0 (2.5)

Al definir R como el radio de la curva que describe el vehıculo,

R =L

tan φ(2.6)

Page 38: Control Visual de Trayectorias para un Vehículo Autónomo ...

14 Capıtulo 2. Arquitectura para el seguimiento visual de una trayectoria con un VA

obtenemos entonces el modelo cinematico del vehıculo,

xp

yp

θ

φ

=

cos θ

sen θtanφ

L0

v1 +

0001

v2 (2.7)

donde v1 y v2 son las velocidades del vehıculo y de la direccion respectivamente.

Es importante mencionar que el modelo cinematico define tres grados de libertad;sin embargo, de estos tres grados: x, y y θ se controlan a traves de la velocidad y ladireccion solamente.

2.2.2 Arquitectura de control

La arquitectura de control se encuentra implementada dentro del vehıculo, siendosus principales tareas: el control de la velocidad y la direccion, el seguimiento de trayec-toria y la estimacion de la posicion con sensores de odometrıa. Como se menciono, laarquitectura de control es de tipo jerarquica, donde se realiza una descomposicion delseguimiento de trayectoria en varias tareas independientes en modulos inferiores. Estetipo de arquitectura tiene las siguientes ventajas: reduce la complejidad del problema;es posible cambiar los algoritmos individualmente, sin afectar los demas modulos; serescalable al agregar facilmente nuevos sensores [Palacios 00]. Los modulos superioresrealizan las tareas de determinar si ya se alcanzo un punto de control de la trayectoriay estimar la direccion que deben tener las llantas para alcanzar el siguiente punto. Losmodulos controladores de velocidad y direccion interactuan con los sensores y actu-adores de velocidad y direccion acoplados al vehıculo. Posteriormente, estos modulosretroalimentan el resultado de su control a los modulos de control a punto y control detrayectoria. La Figura 2.3 muestra a detalle los elementos que componen la arquitec-tura del vehıculo, que forman parte de la arquitectura del sistema.

La arquitectura jerarquica sobre el VA, esta dividido en los siguientes modulos:

Control de trayectoria: Este modulo recibe de la computadora la secuencia de pun-tos a seguir; su funcion es verificar la posicion actual y determinar cuando ya sealcanzo un punto de control. Cuando dicho punto es alcanzado, envıa al controla punto el siguiente punto a alcanzar. Cuando ya termino de despachar todoslos puntos de control, este modulo envıa un comando de paro de ejecucion paradetener al vehıculo.

Control a punto: Este modulo se encarga de guiar al vehıculo a cada uno de los pun-tos de la trayectoria asignada; calcula la amplitud de giro de las llantas delanteraspara minimizar el angulo de error entre el vehıculo y el punto. Finalmente elmodulo envıa al control de direccion el angulo de giro requerido, como referencia.

Page 39: Control Visual de Trayectorias para un Vehículo Autónomo ...

2.2. Arquitectura del vehıculo autonomo 15

Control apunto

Control detrayectoria

Estimación deposición

Control dedirección

Control develocidad

Modelocinemático del

vehículo

Interface depotencia

Planta develocidad

Interface

Codificadoróptico

Interface

Potenciómetroanálogo

Planta dedirección

Control de velocidad Control de dirección

vd

v

εv

mv

εφ

φφd

(x,y,θ)

(x,y,θ)

P={p1,p2,...pn}

φv

Comunicación

Computadora al VAVA a la computadora

ˆ ˆ ˆ

φv pn

Figura 2.3: Diagrama a bloques de los modulos que componen la arquitecturadel vehıculo.

Estimacion posicion: Este modulo estima la posicion del vehıculo con base en lasmediciones obtenidas de los sensores de velocidad y de direccion utilizando lasecuaciones del modelo cinematico. Como se menciono, este modulo funcionalse encuentra dividido; ası la porcion que reside en el VA, recibe del modulo defusion de datos, que se encuentra en la computadora, una correccion de la posicionestimada.

Control de direccion: Se encarga de mantener las llantas en el angulo requerido porel control a punto. El control de direccion se integra por un controlador digital,una planta de direccion y un potenciometro analogo el cual funciona como sensor.Este modulo envıa sus mediciones hacia el modulo de estimacion de posicion.

Control de velocidad: Modulo encargado de alcanzar y mantener la velocidadcrucero enviada por la unidad de procesamiento central. Este modulo se inte-gra por un controlador digital, un motor de CD y un sensor de velocidad quecierra el lazo de control. Este modulo se encarga de mantener constante la ve-locidad del vehıculo durante el seguimiento de la trayectoria. El modulo envıa ladistancia recorrida en cada tiempo de muestreo hacia el modulo de estimacionde posicion.

Page 40: Control Visual de Trayectorias para un Vehículo Autónomo ...

16 Capıtulo 2. Arquitectura para el seguimiento visual de una trayectoria con un VA

2.2.3 Control de trayectoria

La trayectoria se define como una secuencia de puntos Pi de la forma Pi = (xi, yi)que van desde, P1 el primero punto en la trayectoria, hasta el ultimo, Pn. Estasecuencia de puntos de control es trazada inicialmente por el usuario en el controlcentral y posteriormente enviada hacia el VA.

El control de trayectoria se encarga de tener en una lista todos los puntos por dondedebe pasar el vehıculo para realizar la trayectoria. Debido a las imprecisiones del VA,se considera cierto grado de tolerancia cuando el vehıculo visita un punto y por endese envıa el siguiente punto en la lista al control a punto. Para considerar que un puntoya fue visitado se utiliza la distancia euclidiana,

d(P, Pi) =√

(xi − xp)2 + (yi − yp)2 (2.8)

donde d es la distancia, Pi = (xi, yi) son las coordenadas del punto por alcanzar yPp = (xp, yp) son las coordenadas de la posicion actual del vehıculo. Cuando el vehıculose encuentra a una distancia menor o igual a un umbral se da por alcanzado el puntoactual Pi y se procede con el seguimiento del siguiente punto Pi+1,

d(P, Pi) ≤ Up (2.9)

2.2.4 Control a punto

La funcion principal del control a punto es calcular el angulo φ de las llantas paraque el vehıculo llegue al siguiente punto de control. Para realizar dicha estimacion setoma en cuenta la posicion actual del vehıculo y la trayectoria a seguir. El controla punto usa el algoritmo de persecucion pura [Ollero 01], el cual se basa en calcularel angulo de las llantas del vehıculo para disminuir la distancia y la diferencia deorientacion tangencial al punto objetivo.

El metodo considera al sistema de referencia local asociado al movimiento delvehıculo, como se muestra en la Figura 2.4. Se tiene una trayectoria definida entre lospuntos Pi y Pi+1; si el carro no se encuentra alineado sobre dicha recta, se modificael angulo de las llantas. Se define una distancia constante dp la cual actua comoganancia del control. El algoritmo de control de persecucion pura es un metodo decontrol proporcional al error lateral (xdp) con respecto al punto objetivo. La constantede proporcionalidad (ganancia) varıa con la inversa del cuadrado de dp.

Del analisis de la figura se deduce que los extremos de dp estan unidos por el radioR,

R = xdp + dr (2.10)

R2 = d2

r + y2

dp (2.11)

Page 41: Control Visual de Trayectorias para un Vehículo Autónomo ...

2.2. Arquitectura del vehıculo autonomo 17

θdpR

R xdp

dr

ydp

Pi+1

Pi

Pv

(xv,yv)

Pd(xd,yd) v

xj

yj

CPper

Pc

Figura 2.4: Algoritmo de persecucion pura. Se traza un arco con radio R queva desde la posicion del vehıculo al siguiente punto de la trayectoria.

de donde, R es el radio de la curvatura del vehıculo. Despejando dr de 2.10 y susti-tuyendo en 2.11,

R2 = (R− xdp)2 + y2

dp (2.12)

desarrollando 2.12,R2 = R2 − 2xdpR + x2

dp + y2

dp (2.13)

Finalmente obtenemos el radio de la curvatura R para que el vehıculo se desplace enfuncion de xdp, ydp,

R =(xdp)

2 + (ydp)2

2xdp

=d2

p

2xdp

(2.14)

donde d2p = (xdp)

2 + (ydp)2; el signo depende del sentido del giro necesario para alcan-

zar el punto objetivo. Para resolver la ecuacion 2.14 se tiene que obtener en primerainstancia xdp, para ello seguimos los siguientes pasos:

1. Se forma una recta entre los puntos Pi y Pi+1 (trayectoria).

2. Se obtiene el punto Pv minimizando la distancia del punto Pc a la recta formadaentre P y Pi+1.

3. Se estima la distancia xj conociendo los puntos Pc y Pv.

4. Formamos un triangulo rectangulo con las rectas dp, xj y yj y se obtiene ladistancia xj .

5. Se obtiene el punto Pd a partir del punto Pv y la distancia conocida xj .

Page 42: Control Visual de Trayectorias para un Vehículo Autónomo ...

18 Capıtulo 2. Arquitectura para el seguimiento visual de una trayectoria con un VA

6. Finalmente, teniendo el triangulo rectangulo Pd, Pc y Pper obtenemos la distanciaxdp conociendo las distancias entre Pd y Pc.

De la ecuacion 2.6, el angulo φ se relaciona con el radio R que realiza el vehıculo; portanto, para obtener la orientacion de las llantas para seguir la trayectoria sustituimosR de la ecuacion (2.6) por (2.14),

d2p

2xdp

=L

tanφ, (2.15)

despejando para φ,

φ = tan−1

(2xdpL

d2p

)(2.16)

El algoritmo asegura que el vehıculo se vaya acercando mas a la trayectoria concada desplazamiento que realice. La rapidez con que se alinea a la trayectoria dependede la recta dp. Si dp es muy grande el tiempo en alcanzar la trayectoria es grande, si esmuy pequena el vehıculo puede oscilar. Es necesario calibrar la magnitud dp adecuadapara que el vehıculo realice el seguimiento de la trayectoria con mınima oscilacion y sealinee rapidamente a la trayectoria.

2.2.5 Estimacion de la posicion por odometrıa

La estimacion descrita en esta seccion, es interna al vehıculo, de manera quepermite dentro del ambiente de trabajo. El vehıculo estima su posicion con base en alos incrementos de velocidad y direccion. Se cuenta con un codificador optico acopladoa cada una de las llantas que miden el desplazamiento del vehıculo y un potenciometrose acopla al eje de giro de una de las llantas delanteras.

Debido a que se conoce el perımetro de las llantas, se calcula la distancia querecorre en cada vuelta. La resolucion del mınimo desplazamiento que se puede sensarpor el vehıculo lo establece la resolucion del disco ranurado que se encuentra en el ejede las llantas traseras.

La direccion de la llantas se obtienen por medio de un potenciometro analogo,el cual se encuentra acoplado al eje de giro de una llanta delantera. Para obtener laorientacion del vehıculo (∆θ), se utiliza el modelo cinematico el cual hace uso de ladireccion de las llantas φ.

Empleando el modelo cinematico y considerando un perıodo de muestreo, seanalizan los cambios de orientacion y posicion del vehıculo. Los cambios en xd, yd yθ dependen de la direccion actual de las llantas delanteras y el desplazamiento delrealizado por el vehıculo.

Page 43: Control Visual de Trayectorias para un Vehículo Autónomo ...

2.2. Arquitectura del vehıculo autonomo 19

Los valores que se necesitan calcular son ∆x, ∆y y ∆θ. El primero de estos valoresque se obtiene es ∆θ. Enseguida, los desplazamientos de posicion en x (∆x) y y (∆y)se calculan con base en la orientacion de la llantas del vehıculo θ,

∆θ =∆d

R=

∆d tanφ

L(2.17)

donde d es la distancia lineal recorrida entre un muestreo y otro, L es la longitud entrelos ejes, R es el radio de giro del vehıculo y φ es el angulo actual, el cual es positivo onegativo dependiendo del sentido del giro.

Al contar con θ, se calculan los cambios en la posicion, suponiendo que se realizanpequenas lıneas rectas con inclinacion θ + ∆θ con origen en la posicion anterior delvehıculo. Para calcular el desplazamiento se utilizan las siguientes ecuaciones:

∆x = d[cos(θ + ∆θ)] (2.18)

∆y = d[sin(θ + ∆θ)] (2.19)

las cuales se obtienen del modelo cinematico del vehıculo (2.7).

2.2.6 Control de velocidad

El vehıculo cuenta con dos motores de corriente directa para avanzar; uno seencuentra en el eje delantero y el otro en el eje trasero del vehıculo. Para que elvehıculo a escala se comporte parecido a un vehıculo real, se opto por utilizar solamenteel motor que se encuentra en la parte trasera del vehıculo segun se describe en elApendice C. Este controlador recibe del control de trayectoria la velocidad cruceroa la cual se desplaza el vehıculo. El controlador de velocidad realiza los ajustes paramantener la velocidad del vehıculo en la referencia deseada.

El control es digital, puesto la unidad de procesamiento es un microcontrolador. Ellazo de control digital utilizado se muestra en la Figura 2.5. Como el lazo de controlrequiere una senal digital como entrada, se envıa de forma digital la velocidad crucerovd. La diferencia entre la velocidad crucero y la senal muestreada vn, de la senal desalida, arroja el error actual de la velocidad Ev. El error se alimenta al algoritmode control dentro del microcontrolador, el cual nos arroja un valor discreto Mn paracorregir la salida actual de la planta. El convertidor analogo/digital convierte la senalMn en una senal continua M , la cual es introducida a la planta a traves de un actuador.La salida de la planta v, es una senal continua la cual es medida por el sensor. El sensorutilizado para medir la velocidad es digital, por lo que no se necesita hacer ningunaconversion para ser utilizado por el microcontrolador.

Para manipular la velocidad se usa una senal de pulso modulado la cual es generadapor un microcontrolador. El PWM enviado determina la velocidad del motor. Dentrodel microcontrolador se programo un controlador digital el cual obtiene el tamano de

Page 44: Control Visual de Trayectorias para un Vehículo Autónomo ...

20 Capıtulo 2. Arquitectura para el seguimiento visual de una trayectoria con un VA

Algoritmo decontrol

ConvertidorD/A

Actuador Plantav

Sensor

-

EnMn

vn

Mvd

Figura 2.5: Lazo de control digital para la velocidad; se le da una velocidadcomo referencia la cual debe de alcanzar el controlador.

pulso a enviar hacia el motor para mantener una velocidad constante. El controladorutilizado en la velocidad es el controlador PID que se muestra a continuacion:

mnv = mnv−1 + Kcv(εv − εv−1) + Kiv(εv) + Kdv(εv − 2εv−1 + εv−2), (2.20)

εv = vn − vd, (2.21)

de donde mnv y mnv−1 son la variable manipuladora en el tiempo actual y en el tiempoanterior, Kcv es la constante proporcional, Kiv es la constante proporcional, Kdv es laconstante derivativa, εv, εv−1 y εv−2 son los errores en el tiempo actual, un tiempo demuestreo anterior y dos tiempos de muestreo anteriores respectivamente, y vn y vd sonla velocidad en el tiempo actual y la velocidad deseada.

2.2.7 Control de direccion

El controlador de direccion calcula las manipulaciones para el motor de direccion,con el fin de colocar las llantas en la direccion φ deseada. El control de direccion esun esclavo; la entrada al control de direccion esta determinada por el control a punto,el cual es el controlador maestro. El controlador se encarga de llevar y mantener lavariable controlada en un valor deseado de referencia. La unidad de procesamiento esun microcontrolador y por tanto el control es digital. El lazo de control digital utilizadose muestra en la Figura 2.6. El lazo de control recibe una senal digital como entradaφd, la cual viene del control a punto. La diferencia entre la direccion de referencia yla direccion muestreada φn de la senal de salida, arroja el error actual de la direccionEd. El error se alimenta al algoritmo de control y este nos arroja un valor discretoMn para corregir la salida actual de la planta. El convertidor analogo/digital conviertela senal Mn en una senal continua M , la cual es enviada al actuador. La salida dela planta φ, es una senal continua la cual es medida por el sensor. Como el sensorutilizado es analogo, se agrega un convertidor analogico/digital para discretizar la senalde salida. El controlador digital esta limitado para llegar hasta los lımites mecanicos;si la manipuladora fuera mayor a estos lımites podrıa causar algun dano al elementomecanico o al actuador.

Se utiliza un controlador PD digital, cuyo calculo de la variable manipulada mn serealiza mediante la siguiente ecuacion:

mnd = mnd−1 + Kcd(εd − εd−1) + Kid(εd), (2.22)

Page 45: Control Visual de Trayectorias para un Vehículo Autónomo ...

2.3. Fusion de datos 21

Algoritmo decontrol

ConvertidorD/A

Actuador Plantaφ

SensorConvertidor

A/D

-

EnMn

φn

Mφd

Figura 2.6: Lazo de control digital para la direccion.

εd = φn − φ, (2.23)

donde mnv y mnv−1 son la variable manipuladora en el tiempo actual y en el tiempoanterior, Kcd es la ganancia proporcional, Kid es a ganancia derivativa, εd es el erroractual, εd−1 es el error un tiempo de muestreo anterior, φ y φn son la orientacion delas llantas en el muestreo actual y muestreo anterior respectivamente.

2.3 Fusion de datos

La fusion de datos se centra en realizar la sinergia de la informacion obtenidade los multiples sensores que se encuentran en el el vehıculo. La fusion de sensoresse divide en tres clases: sensores complementarios, sensores competitivos y sensorescooperativos. Los sensores complementarios no dependen uno de otro directamentepero se pueden fusionar para tener mayor informacion del ambiente. Los sensorescompetitivos son aquellos que proveen informacion equivalente del ambiente detrabajo, generalmente se utilizan para dar redundancia de informacion. Los sensorescompetitivos trabajan en conjunto para obtener informacion que ninguno de los dospuede obtener por si solo [Tebo 04].

La fusion de datos que se realiza dentro de este trabajo es de tipo competitiva, yaque se tienen dos sensores (odometricos y vision) que proveen la misma informacion, elposicionamiento del vehıculo. El metodo de fusion a utilizar sera el filtro de Kalman,el cual es un filtro que mejora la estimacion de posicion de ambos sensores eliminandoruido y medidas incompletas.

2.3.1 Filtro de Kalman

El filtro de Kalman es la herramienta mas usada en VA para la fusion de datosgenerada por varios sensores (GPS, vision, odometrıa, etc.). El filtro de Kalmanes un modelo matematico que de manera eficiente obtiene el estado del proceso,minimizando el error cuadratico medio.

El filtro de Kalman estima el estado del proceso utilizando un metodo de controlretroalimentado: el filtro estima el estado del proceso en un tiempo y despues genera laretroalimentacion en la forma de una medicion (ruidosa). Las ecuaciones del filtro de

Page 46: Control Visual de Trayectorias para un Vehículo Autónomo ...

22 Capıtulo 2. Arquitectura para el seguimiento visual de una trayectoria con un VA

Kalman caen en dos categorıas: actualizadas por tiempo y actualizadas por medidas.La actualizacion de tiempo es responsables de proyectar hacia el frente (en tiempo) elestado actual y el error de las covarianzas estimadas para obtener las medidas a prioripara el siguiente estado en el tiempo. Las actualizadas por medidas son responsablesde la retroalimentacion.

Si los errores tienen comportamiento no-gaussianos es posible utilizar el filtrode Kalman aunque no funciona optimamente. En caso de que exista no linealidadse utiliza el filtro de Kalman Extendido, el cual involucra la linealizacion de lasmediciones y en algunos casos borrar terminos de alto orden en la expansion de Taylor.

Se propone la fusion de datos en parejas, en la cual, se toman dos distintasmediciones y se obtiene un resultado de ambas; posteriormente, se utiliza ese resultadopara fusionarlo con alguna otra estimacion o fusion realizada. El modo de fusion dedatos utilizados se puede observar en la Figura 2.7. Se tienen tres distintas mediciones:las obtenidas por el sistema de odometrıa, el sistema de vision y una brujula. Estaultima medida fue anexada debido a que esta parte del trabajo fue en colaboracioncon [Albores 06].

Odómetro de velocidad

Odómetro de dirección

Cámara móvil

Ecuaciones de odometría

P 2 , Cov 2

Brújula

P 1 , Cov 1

P od , θ od θ BR P cam , θ cam

Figura 2.7: Fusion de posicion realizada.

En primera instancia se realiza la fusion solamente de la orientacion del sistemade odometrıa y la brujula; el resultado de esa fusion se fusiona posteriormente con laestimacion obtenida del sistema de vision. La primera fusion se realiza cada vez quese obtiene un dato del vehıculo, la segunda fusion se realiza si cuando en el tiempo demuestreo en el que se recibio el dato existe un dato valido del sistema de vision.

Page 47: Control Visual de Trayectorias para un Vehículo Autónomo ...

Capıtulo 3

Retroalimentacion visual concamara fija

Como se menciono anteriormente, se propone utilizar un sistema de seguimientovisual para estimar la posicion de un VA. Dependiendo del lugar de posicionamiento ysu funcion dentro de la arquitectura, los sistemas de seguimiento visuales se clasificanen dos tipos: sistemas abordo y sistemas fuera de bordo. Los sistemas abordo sonaquellos que se encuentran montados dentro del sistema robotico, la percepcion deeste tipo de sistemas varıa constantemente dependiendo del movimiento del robot.En cambio el sistema fuera de bordo se coloca al exterior independiente del sistemarobotico, para posicionar al robot dentro del espacio visible de la camara.

La ventaja de utilizar un sistema fuera de bordo es que permite procesar unsegmento constante de area de trabajo en todo momento, a diferencia del sistema abordo el cual solamente permite procesar el area hacia la cual se dirige el robot movil.Otra ventaja de los sistemas fuera de bordo es que no presentan el problema del flujooptico; el cual sucede cuando nos movemos en una direccion determinada y el campovisual parece expandirse. Los sistemas fuera de bordo en cambio, tienen problemas siel area de trabajo es muy grande, de manera que no se cubre dentro del area de visionde la camara. Para solucionar este problema se pueden utilizar multiples camaras, loque aumentarıa la complejidad del problema al tener que integrar la informacion devarios sensores. Otra forma de solucionar este problema es utilizar una camara movil;la principal ventaja de esta forma de solucion es que con un solo sensor se aumenta elarea de trabajo.

Dentro de esta seccion se describen los algoritmos para realizar el seguimientodel VA y la estimacion de su posicion utilizando una camara fija. Este trabajoesta basado en el realizado por [Ortega 06]. El objetivo principal de dicho trabajoes el seguimiento de un objeto denominado: “objeto principal”, el cual es el objetode interes para el seguimiento visual. Adicionalmente, el sistema detecta “objetossecundarios”, los cuales son elementos que ingresan al area de vision en la cual seencuentra el objeto principal. Ambos seguimientos se realizan utilizando una camara

23

Page 48: Control Visual de Trayectorias para un Vehículo Autónomo ...

24 Capıtulo 3. Retroalimentacion visual con camara fija

movil, la cual se colocaba en una posicion elevada del ambiente de trabajo y que locubre completamente. Para el trabajo actual, el objeto principal es el VA y no setomaran en cuenta la deteccion de objetos secundarios.

Una camara movil colocada a cierta altura del area de trabajo realiza el seguimientovisual, mientras un VA sigue una trayectoria prefijada dentro del area de trabajo. Alsistema de vision se le asigna la posicion inicial del vehıculo; posteriormente realiza elseguimiento cuando el vehıculo se desplaza; y finalmente aplica la transformacion delespacio de vision hacia el plano de trabajo del vehıculo. Se identifican por tanto treselementos principales del sistema de seguimiento:

Seguimiento visual. Encuentra la posicion inicial y posteriormente el seguimientovisual cuando el VA se desplace dentro de la imagen.

Transformacion de coordenadas. Encuentra una transformacion la cual permitala proyeccion de las coordenadas de la imagen a su equivalente en el mundo real.

Camara movil. Estima los movimientos que realizara la camara, controla correcta-mente los movimientos de la camara y conoce correctamente la posicion de lacamara.

Dentro de este capıtulo no se expondran los elementos necesarios para llevar a caboel movimiento de la camara, solamente se trataran los elementos desde el punto devista de una camara movil, en el siguiente capıtulo se expondra lo correspondiente ala camara movil.

3.1 Arquitectura del sistema visual

La arquitectura del sistema visual esta basada en [Ortega 06]. Cuya caracterısticaprincipal es la modularidad. La ventaja de realizar la arquitectura de forma modulares que se pueden realizar cambios a cualquiera de sus modulos sin afectar al resto de laarquitectura. La Figura 3.1 muestra la arquitectura implementada para el sistema devision. La entrada a la arquitectura son las imagenes capturadas desde una camara. Seactualiza la imagen visual y se realizan los algoritmos de seguimiento del vehıculo paraobtener su posicion dentro de la imagen. Posteriormente se realiza la transformacionde coordenadas hacia el mundo real; si el vehıculo se encuentra cerca de los lımitesde la imagen, el control de la camara envıa el movimiento a la camara para mantenerdentro de su rango de vision al vehıculo. La salida de la arquitectura es la posicion delVA en el sistema coordenado del vehıculo. Dentro de la arquitectura se consideran tresmodulos principales:

Seguidor del VA: Realiza el seguimiento del VA, utilizando una imagen It de lasecuencia de video de la camara. Se obtiene la posicion (x, y)img del vehıculomediante el algoritmo de desplazamiento medio [Ortega 06].

Page 49: Control Visual de Trayectorias para un Vehículo Autónomo ...

3.2. Seguimiento del VA 25

Seguimientodel VA

Control de lacámara

Transformación decoordenadas

Cámara

Fusión dedatos

t=t+∆t

It(x,y)img

(x,y)R

(θ1,θ2)cámara

Protocolo de comunicación

Calibraciónde la cámara

Figura 3.1: Arquitectura modular que gobierna el sistema de vision.

Control de la camara: Este modulo se maneja el protocolo de control de la camara;de igual forma se encarga de conocer la posicion de la camara mientras se desplaza.Cuando se realiza la retroalimentacion visual con camara estatica, el modulo decontrol de la camara esta deshabilitado.

Transformacion de coordenadas: Realiza la transformacion de las coordenadasobtenidas en el marco de referencia de la imagen al proyectarlas en el marcode referencia del mundo real. Como salida del modulo de vision hacia el resto delsistema, esta informacion permite conocer la posicion y orientacion del VA. Elmetodo hace uso de varias tecnicas como correccion de la distorsion y homografıa.

Para realizar adecuadamente el cambio de coordenadas, el modulo de transforma-cion de coordenadas recibe informacion del modulo de calibracion de la camara el cualtiene valores caracterısticos de la camara utilizada. La calibracion es el proceso por elcual se determina la geometrıa interna de la camara; dependiendo del lente de la camara,pueden causar que las lıneas rectas en las imagenes parezcan curvas (distorsion). Lacalibracion comprende una serie de correcciones que se efectuan sobre la imagen conobjetivo de reducir las distorsiones ocasionadas por los componentes de la camara sobrela imagen. Existen diversas formas de solucionar el problema de calibracion en funciondel tipo de informacion de entrada.

3.2 Seguimiento del VA

El seguimiento del vehıculo es el primer modulo de la arquitectura que se realizadespues de adquirir digitalmente la imagen. Para el seguimiento del VA se utilizaun metodo integral basado en el algoritmo de desplazamiento medio realizado por[Comaniciu 00]. Dicho algoritmo es una tecnica de estimacion no parametrica que

Page 50: Control Visual de Trayectorias para un Vehículo Autónomo ...

26 Capıtulo 3. Retroalimentacion visual con camara fija

maximiza la correlacion entre dos distribuciones estadısticas o funciones de densidad:la correspondiente al objeto de interes y la del objeto candidato. El objeto de interes,para este caso es el VA, cuya distribucion estadıstica es conocida a priori; mientras queel objeto candidato es la region de la imagen que tiene la distribucion mas similar alobjeto de interes. Se entiende que el objeto candidato se establece en la posicion dondeel VA avanza dentro de la imagen. Los detalles de la implementacion se presentan en[Guevara 00].

El algoritmo desplazamiento medio consiste en obtener, en cada iteracion,la posicion mas probable del objeto de interes en la imagen actual. La diferen-cia entre la distribucion del objeto de interes y el objeto candidato se expresa enuna metrica derivada por el coeficiente de Bhattacharyya [Comaniciu 99], [Devroye 97].

Los siguientes pasos describen el algoritmo utilizado para el seguimiento visualpropuesto por [Comaniciu 00]:

1. Definir el objeto de interes en la imagen inicial de la secuencia, mediante unaventana de dimensiones hx y hy.

2. Calcular la distribucion estadıstica o la funcion de densidad qu del objeto deinteres; en terminos de la probabilidad de color u en la imagen inicial,

qu = C

n∑

i=1

k(‖x∗

i ‖2)δ[b(x∗

i )− u] (3.1)

donde {x∗

i }i=1...n corresponde a los n pixeles dentro del area de interes delimitadospor hx y hy; δ es la funcion delta Kronecker 1; b(x∗

i ) es una funcion de correlacionque asigna a cada pixel x∗

i el ındice de la distribucion correspondiente al color endicho pixel; C es una constante de normalizacion; y k es la funcion representandoel modelo de Epanechnikov [Comaniciu 02].

3. Obtener la siguiente imagen de la secuencia.

4. Determinar la funcion de densidad pu(y0) del objeto candidato en la imagenactual, que corresponde a la probabilidad de colores u en la misma area de interesde la imagen anterior. Dado {x∗

i }i=1...n como los pixeles del objeto candidato,centrado en y0 en la imagen actual, y utilizando la funcion de Epanechnikov k,la funcion de densidad se define como:

pu(y0) = C

n∑

i=1

k(‖y0 − xi‖2)δ[b(x∗

i )− u] (3.2)

1La funcion delta Kronecker se define como:

δ(n) =

{1 Si n = 00 cualquier otro lugar

Page 51: Control Visual de Trayectorias para un Vehículo Autónomo ...

3.3. Transformacion de coordenadas 27

donde C es una constante de normalizacion.

5. Evaluar la similitud entre la distribucion del objeto de interes qu y la distribuciondel objeto candidato pu mediante el coeficiente de Bhattacharyya.

ρ[p(y0), q] =

m∑

u=1

√pu(y0)qu (3.3)

6. Verificar si qu ≈ pu, i.e. si |ρ| < ǫ0 ir al paso 10 de lo contrario,

7. Calcular los pesos {wi}i=1...n, definidos por:

wi =m∑

u=1

δ[b(xi)− ui]

√qu

pu(y0)(3.4)

8. Obtener la posicion mas probable del objeto de interes utilizando el vector dedesplazamiento medio, el cual encuentra el area con la mayor concentracion depuntos de densidad conforme a los datos:

y1 =

∑n

i=1xiwig(‖y0 − xi‖

2)∑n

i=1wig(‖y0 − xi‖2)

(3.5)

donde g(x) es una mascara uniforme y y0 es el centro inicial.

9. Actualizar pu(y1)u=1...m y repetir desde el paso 4.

10. Asignar y0 ← y1 y repetir desde el paso 3.

La Figura 3.2 muestra graficamente los pasos a seguir dentro del algoritmo dedesplazamiento medio. Se omiten los primeros dos pasos en los cuales se escoge inicial-mente el area donde se encuentra el vehıculo y se obtiene su distribucion estadıstica.

El algoritmo de seguimiento se realiza constantemente; se determina que el vehıculoha sido encontrado despues de su desplazamiento en el paso 6. Hasta que no se encuentraal vehıculo en la imagen actual, no se toma nuevamente una imagen de la secuencia yse mantiene ciclado buscando al vehıculo. La posicion del vehıculo dentro de la imagenesta definida por y0 y a partir de esta posicion se hacen los calculos para obtener laposicion del VA en su sistema coordenado.

3.3 Transformacion de coordenadas

El modulo de transformacion de coordenadas se encarga de realizar el mapeo entrelas coordenadas (x, y)img de la imagen a coordenadas (x, y)R del marco de referenciadel vehıculo. Este modulo tiene tres entradas: parametros de la calibracion de lacamara, coordenadas (x, y)img de la imagen y la posicion (θ1, θ2)cam de la camara. Los

Page 52: Control Visual de Trayectorias para un Vehículo Autónomo ...

28 Capıtulo 3. Retroalimentacion visual con camara fija

Comienzo

It

Si

No

Paso 4:Se determina la funciónde densidad del objeto candidato.

Paso 5:Se evalua la similitudentre la función de interés y lafunción candidato.

Paso 6:Si son similares lasdistribuciones, se encontró el VA;de lo contrario sigue su búsqueda.

Paso 7 y 8: Se obtiene al posiciónmas probable del objeto de interés.

Paso 3:Obtener la siguienteimágen.

Paso 9:Se actualizala densidad en la nuevaposición.It

qu ≈ pu

Figura 3.2: Pasos del algoritmo de desplazamiento medio en forma grafica.

parametros de calibracion son valores especıficos de la camara a utilizar, los cualesse obtienen por metodos experimentales. Las coordenadas (x, y)img son obtenidasa partir del seguidor del VA. La posicion de la camara es obtenida del control dela camara. Este modulo se encuentra inactivo cuando se trabaja con camara fija;solamente funciona cuando se utiliza la camara movil.

En esta seccion se describe la calibracion de la camara y la transformacion deun sistema coordenado a otro. Este modelo de transformacion de coordenadas fun-ciona solamente con camara fija. Para realizar la transformacion de coordenadas conla camara movil se requieren adecuaciones a dicho modelo, respecto a los movimientosde la camara.

3.3.1 Modelo pinhole

La calibracion de la camara es el proceso con el cual se determina la geometrıainterna de la camara, sus caracterısticas opticas (parametros intrınsecos), ası como laposicion y la orientacion en 3-D de la camara respecto a cierto sistema de coordenadasdel mundo (parametros extrınsecos). El proposito de la calibracion es obtener unatransformacion entre ambos sistemas de coordenadas, que permita la proyeccion delas coordenadas de la imagen a un equivalente 3-D en el mundo real [Tsai 87].

Existen diversos metodos de calibracion para obtener la transformacion del marcode referencia de la imagen al marco de referencia del mundo real. La mayorıa de estosmetodos se basan en el modelo pinhole, el cual describe las transformaciones de las

Page 53: Control Visual de Trayectorias para un Vehículo Autónomo ...

3.3. Transformacion de coordenadas 29

coordenadas del mundo m’ = (x, y, z) a coordenadas ideales de la camara m = (u, v):

m = A[R|t]m’ (3.6)

Donde, A representa la matriz de parametros intrınsecos de la camara:

A =

fx 0 cx

0 fy cy

0 0 1

(3.7)

(cx, cy) son las coordenadas del punto principal y (fx, fy) son las longitudes focales delos ejes x y y. Ası mismo R y t son los parametros extrınsecos: R es la matriz derotacion y t es el vector de traslacion.

z

y

x

(Cx,Cy)

f

xc

yc

CCentroóptico

zc

yimg

ximg

m

M

Sistema coordenadomundo real

Plano de la imagen

Figura 3.3: Modelo pinhole, un objeto en el mundo real (3-D) se proyectadentro de la imagen (2-D).

3.3.2 Distorsion del lente de la camara

Los lentes de la camara pueden sufrir un sin numero de aberraciones, aunque sehan catalogado seis aberraciones principales: esferica, coma, aberracion cromatica,astigmatismo, curvatura de campo y distorsion. Las aberraciones se presentan puestoque en diferentes areas del lente existen diferentes distancias focales. Estas aberracionesprincipales son monocromaticas, y por tanto independientes de la respuesta del lentea diferentes longitudes de onda [Forsyth 02].

Page 54: Control Visual de Trayectorias para un Vehículo Autónomo ...

30 Capıtulo 3. Retroalimentacion visual con camara fija

La distorsion radial es la incapacidad de un lente de reproducir un objeto cuadradoproduciendo alteraciones en las lıneas paralelas. Esta aberracion se debe a que la escalade reproduccion varıa progresivamente del centro a los bordes. La distorsion no afectala nitidez y contraste de una imagen. Si la escala aumenta desde el centro a los bordesla distorsion es positiva (o de cojın) y si disminuye es negativa (o de barril). La figura3.4 muestra estos tipos de distorsion.

Distorsión dealmohadilla

Sin distorsión

Distorsión debarril

Figura 3.4: Tipos de distorsiones de los lentes

La distorsion de la imagen causa serios problemas, pues modifica las medidas delos objetos segun su posicion dentro de la imagen. Es necesario realizar la correccionde la distorsion de la imagen antes de obtener la posicion de un objeto en el mundoreal desde la imagen.

Para eliminar la distorsion de la camara se utilizo el metodo propuesto por[Zhang 99]. En este metodo se utilizan patrones con diferentes orientaciones. Dadoque los patrones de entrada son conocidos a priori, se puede comparar la informacionreal contra los obtenidos por el sistema visual. Se hace una minimizacion del error entreambas mediciones y con ella se extraen los parametros intrınsecos y extrınsecos de lacamara.

3.3.3 Proyeccion de la coordenadas de la imagen al mundoreal

La funcion principal del seguidor es obtener la posicion del vehıculo dentro delmarco de referencia de la imagen. Previo a la retroalimentacion de la posicion obtenidapor el seguidor del VA, es necesario realizar una transformacion de coordenadas. Laposicion obtenida por el seguidor se encuentra dentro del marco de referencia de laimagen (x, y)img cuya transformacion una posicion del mundo real (x, y)R, requiere deuna proyeccion. Esta proyeccion se realiza de manera basica: dado un punto coordenado

Page 55: Control Visual de Trayectorias para un Vehículo Autónomo ...

3.4. Obtencion de (x, y, θ)R con el sistema visual 31

dentro de la imagen, se estima la posicion en otro sistema coordenado localizado en elplano del mundo real. Para establecer la proyeccion, primero se obtiene la matriz dehomografıa que relaciona ambos sistemas coordenados,

H =

[Rxyz t

0 1

](3.8)

donde Rxyz representa la matriz de rotacion, t el vector de traslacion.

Suponiendo Z = 0 en el sistema coordenado del mundo real y de acuerdo al modelopinhole,

u

v

1

= A

[Rxyz t

0 1

]

X

Y

01

= A

[Rxy t0 1

]

X

Y

1

(3.9)

donde Rxy representa la matriz de rotacion en los ejes x, y. Por tanto, un punto delmodelo m’ y su imagen m estan relacionados por una matriz de proyeccion H,

m = AHm’ (3.10)

donde,

H =

[Rxy t0 1

](3.11)

Existen varias maneras de estimar la homografıa H. Para este trabajo utilizamosel metodo propuesto por [Zhang 99], basado en el criterio de maxima probabilidad.Para obtener la matriz de homografıa se relacionan una serie de puntos m’i del mundocon puntos mi de la imagen. Todas las relaciones de puntos debieran satisfacer laecuacion (3.10). En cuyo caso, el problema de optimizacion se convierte en la solucionde mınimos cuadrados en donde se busca una matriz que sea capaz de minimizar elerror entre dichas relaciones.

3.4 Obtencion de (x, y, θ)R con el sistema visual

La posicion estimada por el sistema de vision es absoluta, ya que no depende demediciones anteriores para la estimacion; ası, no acumula error pues mantiene dichoerror acotado [H. 02]. Para obtener la posicion (x,y,θ) del VA por medio visual se siguenlos siguientes pasos:

1. Obtener la siguiente imagen de la secuencia de video.

2. Realizar el algoritmo de seguimiento para encontrar la nueva posicion (x, y)img

del vehıculo en la nueva imagen de la secuencia.

3. Quitar la distorsion de la posicion (x, y)img obtenida por el algoritmo deseguimiento.

Page 56: Control Visual de Trayectorias para un Vehículo Autónomo ...

32 Capıtulo 3. Retroalimentacion visual con camara fija

4. Utilizar los algoritmos de transformacion de coordenadas para obtener la posicion(x, y)R con base en la posicion (x, y)img sin distorsion.

La orientacion que entrega el sistema visual se calcula por medio de la diferenciaentre la posicion actual y la posicion anterior del vehıculo. Se calcula el angulo entreambas mediciones y con ello obtenemos la orientacion del vehıculo.

Page 57: Control Visual de Trayectorias para un Vehículo Autónomo ...

Capıtulo 4

Camara Movil

El capıtulo anterior describe como se realiza el seguimiento y la transformacionde coordenadas utilizando una camara estatica. Este capıtulo describe el metodoutilizado para hacer el seguimiento del VA y la transformacion de coordenadas entre elespacio imagen y el espacio real haciendo uso de la camara movil. Se describe a fondoel modulo dentro de la arquitectura del VA para el control de la camara, ası comolas adecuaciones realizadas al algoritmo de transformacion de coordenadas para unacamara movil.

El movimiento de la camara puede ser de dos tipos: discreto en un numero fijo deposiciones, o abarcar toda la resolucion que permita el desplazamiento de la camara,hasta sus topes. La primera opcion es util cuando se tienen pocos movimientos delobjeto a seguir, se quiere mantener limitada la camara o se utilizan datos pregrabadosdel ambiente [Ortega 06]. Esta opcion tiene las siguientes limitantes: hacer unacaracterizacion por cada posicion discreta y el sistema movil queda limitado a unnumero finito de posiciones. La segunda opcion permite un movimiento libre de lacamara y abarcar un area de trabajo mayor. Dentro de este trabajo se va a uti-lizar el tipo de movimiento que abarca toda la resolucion de movimiento para la camara.

Por tanto, la camara no tendra posiciones limitadas en las cuales desplazarse, si noque un rango amplio de movimientos, lo que brinda una amplia area de trabajo al VA.Al estar la camara en constante movimiento, es importante conocer correctamente laposicion en la cual se encuentra. Un error en el posicionamiento de la camara podrıarepercutir en errores de estimacion de posicion.

Tomando como principio la transformacion de coordenadas en su formato estaticodescrito en el Capıtulo 3, al utilizar la camara movil, es necesario realizar adecuacionesal modulo de transformacion de coordenadas para que estime la posicion del VA cor-rectamente cuando la camara este fuera de su posicion inicial. Se necesita modificarel modulo de transformacion de coordenadas para tomar en cuenta la posicion de lacamara y haga los ajustes de acuerdo a sus cambios de orientacion (pan y tilt).

33

Page 58: Control Visual de Trayectorias para un Vehículo Autónomo ...

34 Capıtulo 4. Camara Movil

4.1 Control de la Camara

Dentro de la arquitectura vista en el capıtulo anterior, se explico el funcionamientode todos los modulos excepto el de control de la camara. El modulo de control de lacamara se encarga de estimar el desplazamiento a realizar por la camara y enviar loscomandos para que la camara se desplace.

El control de la camara esta basado en el trabajo previo de [Ortega 06], donde sehacıa uso de una camara movil para el seguimiento de multiples objetos. La camaramovil utilizo de dos formas:

1. Se realiza el seguimiento de un objeto en un rango de posiciones ilimitadas den-tro del espacio de trabajo. Para este caso se deshabilita la transformacion decoordenadas; el objetivo es mantener en el centro de la imagen el objeto a seguir.

2. Para habilitar simultaneamente el seguimiento con camara movil y la transforma-cion de coordenadas, se discretizan los movimientos de la camara movil. Se tienenun conjunto de posiciones predeterminadas, en las cuales se puede desplazar lacamara. La estimacion de posicion se realiza teniendo una matriz de homografıapor cada posicion. Esta funcionalidad permite la deteccion de multiples obstacu-los moviles.

En este trabajo se propone utilizar el seguimiento de objetos y la transformacionde coordenadas de forma simultanea, sin discretizar los movimientos de la camara. Lasmodificaciones a realizadas implican cambios tanto al modulo de control de la camaracomo al de transformacion de coordenadas.

El modulo de control de la camara cuenta con tres funciones principales: estimaciondel desplazamiento a realizar, determinar la posicion de la camara y envıo de comandos.En la Figura 4.1 se encuentra una ampliacion del modulo de control de la camaramostrando sus funciones y su interaccion con los demas modulos.

El funcionamiento del modulo de control de la camara inicia cuando el algoritmode seguimiento proporciona al control de la camara una posicion (x, y)img del centrodel VA en la imagen; en primera instancia debe de estimar la magnitud de losdesplazamientos (α y β) que la camara debe de realizar; posteriormente, incrementalos nuevos desplazamientos a las rotaciones θ1 y θ2 que contienen la posicion actualde la camara; finalmente el protocolo de comunicacion envıa a la camara su nuevaposicion. La posicion de la camara se introduce al modulo de transformacion decoordenadas para que se tome en cuenta al realizar las proyecciones. Finalmente lasalida de este modulo es la posicion del VA en su sistema coordenado, el cual se envıaa la fusion de datos.

Page 59: Control Visual de Trayectorias para un Vehículo Autónomo ...

4.1. Control de la Camara 35

Seguimientodel VA

Posición de lacámara

Protocolo decomunicación

Cámara

It (x,y)img Estimación deldesplazamiento

Control de la cámara

(α ,β)

Nueva posición

Transformaciónde coordenadas

(θ1,θ2)

(θ1,θ2)

Posición actual

Fusión dedatos

(x,y)R

Calibraciónde la cámara

Figura 4.1: Modulo del control de la camara; cada flecha muestra la trans-mision de informacion entre modulos.

4.1.1 Estimacion del desplazamiento

Cuando la camara se encuentra en movimiento, el objetivo es mantener al vehıculodentro de la imagen. Se calcula el desplazamiento a efectuar por la camara, segundos posibles enfoques: el primero utiliza la posicion del marco de referencia real (delvehıculo) y realiza los calculos para obtener los parametros de rotacion de la camara;el segundo utiliza la posicion dentro del sistema coordenado de la imagen para moverla camara hasta que la posicion del vehıculo se encuentre cerca del centro de la imagen.

La primera opcion implica hacer una transformacion de la posicion del vehıculo, enel espacio real 3-D, hacia una rotacion de la camara para posteriormente enviarsela alcontrol de la camara. Por su parte, la segunda opcion consiste en utilizar informacionya calculada previamente para hacer pequenos desplazamientos de la camara hasta queel vehıculo se encuentre en el centro de la imagen. La segunda opcion es mas simpleya que no tiene que generar una transformacion adicional; simplemente se utilizainformacion ya existente, lo que reduce el tiempo de procesamiento y la complejidaddel sistema. Entre las desventajas de esta opcion, al realizar el movimiento de lacamara, se encuentra que los movimientos de la camara son mas pausados y tarda masen centrar al vehıculo dentro de la imagen.

Para realizar los movimientos se utiliza el segundo enfoque, el cual estima lamagnitud de los desplazamientos con base en la informacion del sistema coordenadode la imagen. El desplazamiento de la camara esta relacionado directamente con losmovimientos del vehıculo; ası, si el vehıculo se mueve hacia la derecha la camara setiene que mover hacia el mismo lado. Dependiendo de la posicion del vehıculo, el control

Page 60: Control Visual de Trayectorias para un Vehículo Autónomo ...

36 Capıtulo 4. Camara Movil

de la camara realiza los movimientos necesarios para no perderlo de su rango de vision.

La Figura 4.2 muestra un caso en el que el vehıculo se encuentra en uno de losextremos de la imagen. Se busca mover la camara hacia donde se encuentra el vehıculoprocurando que los desplazamientos de la camara sean pequenos y rapidos para evitarinterferencias con el algoritmo de seguimiento.

(x,y)centro

(x,y)img

dx

dy

x

y

Figura 4.2: Distancias entre el centro de la imagen y el centro del vehıculo.

Obtenemos la distancia en pixeles entre el centro de la imagen y el centro delvehıculo,

dx = (ximg − xcentro) (4.1)

dy = (yimg − ycentro) (4.2)

donde (x, y)img es la posicion del centroide del VA dentro de la imagen, (x, y)centro esla posicion del centro de la imagen.

Para controlar la magnitud del desplazamiento se multiplica la diferencia entre laposicion del VA y el centro de la imagen por un factor el cual podemos variar,

α = dx × Ud (4.3)

β = dy × Ud (4.4)

donde Ud es el factor de desplazamiento, dx y dy es la distancia del centro de la imagen alvehıculo; α y β son los incrementos de posicion a realizar. En este trabajo, por simplici-dad, se utilizo solamente un factor (Ud) para manipular los movimientos en ambos ejes.

El factor de desplazamiento (Ud) funciona como una ganancia proporcional, mien-tras mayor sea el factor de desplazamiento, el movimiento de la camara sera de mayormagnitud y viceversa. Es necesario ajustar este factor para evitar que la camara ha-ga movimientos bruscos e innecesarios los cuales pudieran afectar el seguimiento yestimacion de posicion.

Page 61: Control Visual de Trayectorias para un Vehículo Autónomo ...

4.2. Transformacion de coordenadas con camara movil 37

4.1.2 Posicion de la camara

La posicion inicial de la camara es la posicion en donde se comienza el seguimientodel vehıculo. Esta posicion de la camara no es necesariamente la posicion absoluta dela camara, es decir, se pudiera mover la camara antes de realizar el seguimiento. Laposicion desde la cual debe partir la camara, al realizar el seguimiento del vehıculo,debe de ser la posicion en la cual se realizo la calibracion para las coordenadas 3-D.

La posicion de la camara se obtiene por medio de la suma de los incrementos demovimiento realizados,

θt1 = θt−1

1 + αtω (4.5)

θt2 = θt−1

2 + βtω (4.6)

donde α y β son los incrementos de posicion, ω es la relacion entre los movimientoslineales y la rotacion de la camara, θt

1 y θt2 son la posicion de la camara y θt−1

1 y θt−1

2

es la posicion de la camara en el tiempo anterior.

La posicion de la camara se envıa al modulo de transformacion de coordenadas paraque se ajusten los calculos de estimacion de posicion. La nueva posicion se envıa deigual forma a la camara para que efectue el desplazamiento.

4.1.3 Protocolo de comunicacion

El protocolo de comunicacion se refiere a la comunicacion que existe entre la camaray la computadora. El control de la camara envıa hacia la camara la posicion (θ1, θ2)en la que debe colocarse. El protocolo de comunicacion con la camara es exclusivo acada camara; dependiendo de la marca y modelo de la camara es la configuracion de lainformacion que se envıa y recibe de la camara. Para este trabajo se utilizo el protocolode comunicacion basado en los comandos del fabricante desarrollado en [vis 96]

4.2 Transformacion de coordenadas con camara

movil

La transformacion de coordenadas cuando la camara se encuentra estatica esta de-scrita en la Seccion 3.3. Para realizar la transformacion de coordenadas con camaramovil se hacen adecuaciones al metodo de la transformacion, antes descrito.

En la Figura 4.3 estan descritos los elementos principales cuando se tiene unacamara movil. El area de trabajo del VA es mayor al campo de vision que tiene lacamara estando estatica. Si la camara rota horizontal y verticalmente puede cubrirtoda el area de trabajo. El modelo del movimiento de la camara supone dos grados delibertad: θ1 para los movimientos horizontales y θ2 para los movimientos verticales.

Page 62: Control Visual de Trayectorias para un Vehículo Autónomo ...

38 Capıtulo 4. Camara Movil

Tambien es posible incluir el zoom o acercamiento como un tercer grado delibertad, pero, para mantener la simplicidad del modelo, este ultimo movimiento nose incluye. El uso del zoom requerirıa hacer cambios en los parametros de calibracionintrınsecos para ajustar la distancia focal de la camara y extrınsecos, utilizados en latransformacion de coordenadas.

Cámara

Trayectoria

Área de visiónde la cámara

VA

(θ1,θ2)

Figura 4.3: La camara tiene que realizar movimientos rotacionales (θ1, θ2)para seguir al VA dentro del area de trabajo.

Solamente se van a variar los dos parametros de la camara: θ1 y θ2. Para ello,se relacionan ambas rotaciones al modelo de relacion de coordenadas descrito en elcapıtulo anterior,

m = AHm’ (4.7)

donde A representa la matriz de parametros intrınsecos de la camara, H la matrizhomografıa y m’ es el vector de coordenadas del mundo real.

4.2.1 Homografıa movil

En la Seccion 3.3.3, se obtuvo una matriz H la cual es capaz de transformar coor-denadas del mundo real a coordenadas dentro de una imagen,

H =

[Rxyz t

0 1

](4.8)

donde Rxyz representan la matriz de rotacion y t representa el vector de traslacion.

Dada una imagen para una posicion fija de la camara y con base en la matrizası obtenida, es posible conocer la posicion de un objeto en el mundo real; ahora

Page 63: Control Visual de Trayectorias para un Vehículo Autónomo ...

4.2. Transformacion de coordenadas con camara movil 39

el objetivo es conocer la posicion de ese mismo objeto si se realizan movimientosrotacionales de la camara.

Una posible solucion a este problema es obtener, previamente, varias matricesH para posiciones conocidas de la camara; entonces el rango de movimiento de lacamara se limita a las posiciones previamente identificadas. Esta solucion es ineficientepara aplicaciones con puro seguimiento ya que se deben obtener multiples matricesde homografıa y el movimiento de la camara es discretizado, siendo limitado por elnumero de matrices calculadas previamente.

Una solucion mas adecuada es obtener solamente una matriz de homografıa, conbase en la cual se realizan las adecuaciones para los desplazamientos de la camara, conel proposito de estimar la posicion del objeto en el mundo real. Esta es la forma en quese realizara la estimacion de la posicion con camara movil.

4.2.2 Camara puramente rotacional

La matriz de homografıa H para las transformaciones de coordenadas estaticaesta compuesta por una matriz de rotacion y un vector de traslacion (ecuacion 4.8).Como en este trabajo la camara movil solamente realiza movimientos de rotacion y node traslacion y no se utiliza el zoom o acercamiento,

Hr =

[Rxy 00 1

](4.9)

donde Hr es el caso particular en el que la matriz de homografıa tiene solamentemovimientos de rotacion y no tiene traslacion.

Dada la proyeccion de un punto en una escena m’ = [X Y 1]T en un punto m = [uv 1]T de una imagen se puede expresar como:

u

v

1

= A

[Rxy 00 1

]

X

Y

1

(4.10)

Una camara con movimientos de rotacion alrededor de su centro optico capturaimagenes de una escena en 3-D como si fueran pintadas en un plano infinito alejadode la camara. No se puede percibir profundidad sin una traslacion entre dos vistasdebido a que la profundidad solamente puede ser recuperada cuando t es diferente decero [Belongie 04]. Dada la ecuacion (4.8) de homografıa, H tiende a ser una matrizde rotacion Hr cuando el vector de traslacion t es igual a cero.

En el caso de una camara puramente rotacional, la matriz de homografıa se reducea una matriz de rotacion,

Hr = Rxy (4.11)

Page 64: Control Visual de Trayectorias para un Vehículo Autónomo ...

40 Capıtulo 4. Camara Movil

Las matriz de rotacion Rxy esta compuesta por la multiplicacion dos matrices derotacion,

Rxy(θ1, θ2) = Rx(θ1)Ry(θ2) =

r11 r12 r13

r21 r22 r23

r31 r32 r33

(4.12)

donde,

Ry =

cos θ2 0 − sin θ2

0 1 0sin θ2 0 cos θ2

,Rx =

1 0 00 cos θ1 sin θ1

0 − sin θ1 cos θ1

(4.13)

4.2.3 Homografıa entre imagenes

Con una camara rotacional se traza un rayo m’ en 3-D en dos imagenes con difer-entes rotaciones [de Agapito 01]. La proyeccion del rayo m’ en las imagenes se ve enla Figura 4.4. Se definen dos vistas, especificando la relacion entre la proyeccion y elmundo real,

mi = AiRim’ (4.14)

mj = AjRjm’ (4.15)

donde i y j son un conjunto de rotaciones (θ1, θ2) y (θ3, θ4) que indican las dosdiferentes posiciones de la camara en ambas vistas; Ai y Aj son las matrices deparametros intrınsecos en la posicion i y j respectivamente; Ri y Rj son las matricesde rotacion en la posicion i y j; m’ es el vector de coordenadas en el mundo real; y mi

y mj son los vectores de coordenadas en el marco de referencia de la imagen.

Eliminando m’ de 4.14 y 4.15 es facil ver que, en el caso de una camara movil,existe una matriz de homografıa rotacional global 2-D Hij que relaciona los puntos delas dos vistas,

mj = Hijmi (4.16)

si sustituimos 4.14 y 4.15 en 4.16 y despejamos para Hij

Hij = AjRjR−1

i A−1

i = AjRijA−1

i (4.17)

Por tanto, se obtiene la matriz de homografıa Hij para cualquier rotacion de lacamara, al contar con los valores intrınsecos de la camara (A) y conocer el movimientorealizado por la camara (Rij).

4.2.4 Homografıa general

Utilizando la ecuacion (4.17) obtenemos la matriz de homografıa cuando setiene una camara que solamente realiza movimientos rotacionales. Esta homografıaHij, por tanto, no contiene informacion sobre la profundidad ya que no existeninguna traslacion. Por otra parte, la matriz de homografıa H obtenida utilizandouna camara estatica contiene la informacion de profundidad ya que fue obtenida

Page 65: Control Visual de Trayectorias para un Vehículo Autónomo ...

4.2. Transformacion de coordenadas con camara movil 41

O

Rij

Y

Z

XCentro óptico

I

I '

m

m'Ri

Rj

M

Figura 4.4: Dos imagenes tomadas con diferentes rotaciones a travesadas porun punto m’

con base en informacion del mundo real. Por tanto, se utilizan ambas matricespara mover la camara libremente y obtener una matriz de homografıa que contengatanto la rotacion de la camara como la perspectiva del ambiente para cada movimiento.

Debido a que solamente se utilizan dos grados de libertad en la camara, Rx y Ry,y no el acercamiento (Rz) se considera que Ai = Aj = A puesto que, para una mismaprofundidad, los parametros intrınsecos de la camara se mantienen constantes.

Despejando la ecuacion (4.17) para Rij,

Rij = A−1HijA (4.18)

donde Rij es una matriz que contiene la rotacion de la matriz de homografıa.

Podemos utilizar la ecuacion (4.18) y extraer la rotacion y traslacion inicial de lamatriz de homografıa H obtenida para la camara fija,

Riiji= A−1HA (4.19)

donde Riijies la matriz que contiene la rotacion y traslacion inicial de la homografıa.

Esta matriz contiene los elementos faltantes para las matrices de homografıa sola-mente rotacionales. Para obtener una matriz de homografıa que permita transformarcorrectamente las coordenadas de la imagen en coordenadas del mundo real se agrega

Page 66: Control Visual de Trayectorias para un Vehículo Autónomo ...

42 Capıtulo 4. Camara Movil

a la ecuacion (4.17) la rotacion inicial que obtuvimos de la ecuacion (4.19). Entoncespara cualquier desplazamiento de la camara, la matriz de homografıa es,

Hu = ARiijiRijA

−1 (4.20)

donde Hu es la matriz de homografıa con la traslacion inicial y las rotaciones real-izadas por la camara. Se utiliza esta matriz para transformar coordenadas entre ambossistemas.

Page 67: Control Visual de Trayectorias para un Vehículo Autónomo ...

Capıtulo 5

Implementacion y Experimentos

Este capıtulo describe la implementacion de los elementos desarrollados en loscapıtulos previos, para el seguimiento de un VA con una camara movil. En primerainstancia se presenta la integracion del sistema y como interactuan los diferenteselementos en el. Posteriormente se hace una descripcion de cada uno de los elementosque conforman el sistema: especificaciones y algoritmos sobre la computadora; las im-plementaciones mecanicas, electricas, electronicas y digitales realizadas al vehıculo aescala; las especificaciones de la camara movil y los algoritmos del sistema de vision im-plementados; ası como los protocolos de comunicacion implementados. Para finalizar,se describen los experimentos realizados para validar la arquitectura y los resultadosobtenidos. Los experimentos se realizaron en exterior, siempre en la misma area detrabajo.

5.1 Arquitectura y Sistema

Los experimentos integraron cuatro elementos principales: el primero, se componede la computadora donde reside el control maestro y se planea la trayectoria que elvehıculo va a realizar; el segundo es el vehıculo autonomo el cual recibe y ejecuta latrayectoria generada; el tercero es la camara, la cual captura imagenes y las envıahacia la computadora; y el cuarto es la comunicacion, que incluye comunicacion entrela computadora y el vehıculo, ademas de la computadora y la camara. En la Figura5.1 se observan los elementos involucrados en la experimentacion.

La computadora se encuentra al centro del sistema, coordinando a los demas ele-mentos. La camara se conecta a la computadora en comunicacion RS-232 para el envıode comandos y por video para la transmision de imagenes. Un modulo de radio fre-cuencia se encuentra conectado en la computadora para comunicarse con el VA. El VAse encuentra en diferente posicion a los demas elementos realizando sus evolucionesdentro del area de trabajo y tiene comunicacion constante con la computadora.

43

Page 68: Control Visual de Trayectorias para un Vehículo Autónomo ...

44 Capıtulo 5. Implementacion y Experimentos

Cámara móvil

ComunicaciónRS 232

Computadora

Módulo de RF

Módulo de RF

VA

Figura 5.1: Elementos principales del sistema desarrollado. Existe comuni-cacion bidireccional entre todos los elementos que lo conforman.

5.2 Computadora

La computadora utilizada en la experimentacion es una DELL Precision 360 lacual cuenta con un procesador Pentium 4 a 3GHz, 1Gigabyte en memoria RAM, unatarjeta de captura de video Matrox Meteor II y dos puertos seriales.

Dentro de la computadora radican los tres algoritmos que consisten en el ControlMaestro de la arquitectura, el Sistema de Vision y la Fusion de datos. El ControlMaestro esta encargado de coordinar los algoritmos de vision con los del VA y realizarla retroalimentacion de la posicion. El Sistema de Vision incluye la captura de lasimagenes de la camara, el seguimiento visual, la transformacion de coordenadas y lacomunicacion con la camara. La Fusion de datos incluye los algoritmos que estiman laposicion del VA, con base en los sensores de odometrıa y del sistema visual.

5.2.1 Fusion de datos

El modulo de fusion de datos se encarga de estimar una nueva posicion del VAcon base en las mediciones de diferentes sensores. Para este trabajo se fusionan laestimacion realizada por el sistema de odometrıa y el sistema de vision mediante elFiltro de Kalman Extendido (EKF). Para utilizar este filtro, es necesario conocer lavarianza de cada uno de los sensores; por lo cual la varianza de la odometrıa se obtuvogracias a la medicion del error del vehıculo al desplazarse siguiendo una lınea recta.Para la varianza del sistema visual se dejo fijo el eje trasero y se roto el vehıculo sobreel eje z ; posteriormente se midio el error de las estimaciones de posicion obtenidascontra la posicion real.

Page 69: Control Visual de Trayectorias para un Vehículo Autónomo ...

5.3. Arquitectura del VA 45

El modulo de fusion de datos localizado en el Control Maestro recibe ambas esti-maciones, realiza la fusion y posteriormente retroalimenta la posicion hacia el VA. Laretroalimentacion debe llegar al vehıculo antes de que termine el ciclo y comience aestimar nuevamente su posicion. Por tal motivo, se sincronizan ambos procesos paraasegurar que el VA no estime su posicion hasta haber recibido una correccion prove-niente de la computadora.

5.3 Arquitectura del VA

Esta seccion describe el estado inicial del vehıculo a escala utilizado en laexperimentacion, ası como las adecuaciones realizadas en el vehıculo para brindarleautonomıa. La automatizacion del vehıculo considera la implementacion de sensoresde velocidad y direccion, ası como la creacion de las tarjetas de control, tanto de losactuadores como de la unidad de procesamiento a bordo.

5.3.1 Especificaciones del vehıculo

El vehıculo utilizado para la parte experimental es un vehıculo a control remoto de lamarca Radio Shack, modelo Tempest, con caracterısticas similares a las de un vehıculocomun. La Figura 5.2 muestra al vehıculo a escala, cuyo mecanismo de direccion cumplecon la geometrıa de Ackerman. Los motores de traccion tienen un consumo de corriente

48cm

18cm

32cm

Figura 5.2: Vehıculo a escala escala que se automatizo.

maximo de 3.5 A y un voltaje de alimentacion de 7.2 V. El desplazamiento maximo delas llantas hacia la derecha es de 17° y hacia la izquierda de 13°. La longitud total delvehıculo es de 40 cm. y su altura sin chasis es de 13 cm. El vehıculo cuenta con unabaterıa de 7.2 V para su funcionamiento [Vazquez 02], [Palacios 00].

Page 70: Control Visual de Trayectorias para un Vehículo Autónomo ...

46 Capıtulo 5. Implementacion y Experimentos

5.3.2 Vehıculo Automatizado

El resultado de la implementacion es un vehıculo automatizado, el cual se observaen la Figura 5.3. Se agrego un techo al vehıculo para proteger a los circuitos del calor,el cual afecta su desempeno.

Unidad deprocesamiento

Sensor develocidad

Sensor dedirección

AlimentaciónComunicación

por RF

Tarjeta depotencia

Figura 5.3: Elementos implementados sobre el VA.

Dentro del vehıculo se pueden apreciar las siguientes tarjetas: el sistema mınimopara el microcontrolador, tarjeta de sensores o perifericos, el doblador de voltaje, latarjeta de potencia y el modulo de RF. El Apendice A describe el funcionamiento decada uno de los elementos antes mencionados. Otros elementos que complementan laimplementacion son los sensores de velocidad y de direccion.

Page 71: Control Visual de Trayectorias para un Vehículo Autónomo ...

5.3. Arquitectura del VA 47

5.3.3 Unidad de procesamiento

El procesamiento sobre el VA se realiza en un microcontrolador, el cual se encargade controlar los dispositivos de entrada y de salida del sistema; de igual forma seencarga del procesamiento matematico de los lazos de control implementados en elvehıculo. En el vehıculo se coloco un microcontrolador MEGA128 de la familia AVRRISC de ATMEL, el cual cuenta con una arquitectura RISC. Este microcontroladorcuenta con 128-Kbytes de memoria flash, canales de convertidores analogo-digital, 6canales de PWM, 2 contadores de 8 bits y 2 contadores de 16 bits.

La programacion del microcontrolador se realizo utilizando un programa llamadoWinAVR, el cual es un conjunto de herramientas de software libre para el desarrollo delos microcontroladores Atmel AVR de la serie RISC. La programacion se realiza en Cy con ayuda del compilador avr-gcc, incluido dentro de WinAvr, se genera un archivobinario para descargar al microcontrolador. Se programaron modulos por cada unade las tareas asignadas al vehıculo; por tanto, si se requiere realizar nuevas tareas seprograma un modulo extra dentro del sistema. Los sensores proporcionan la informacionmediante interrupciones externas del microcontrolador. Por su parte, las senales dePWM hacia el motor de direccion y velocidad estan constantemente activas, mientrasque la comunicacion con la computadora y la estimacion de la posicion se ejecuta, cadaperıodo de tiempo, por medio de una interrupcion interna. En cada transmision, el VAenvıa por radio frecuencia hacia la computadora la siguiente informacion: la posicion(x,y) y la orientacion θ del vehıculo, los incrementos de posicion ∆d, la orientacion delas llantas φ y el numero del punto en vias de seguimiento en la trayectoria.

5.3.4 Comunicacion por RF

El sistema de comunicacion, entre la computadora y el vehıculo, se realiza por mediode radio frecuencia. La comunicacion es Half-Duplex, debido al modelo de los trans-misores utilizados en el experimentacion. La velocidad de transmision es de 38,400bps.El protocolo de comunicacion exige que el vehıculo se encuentre constantemente en-viando su estimacion de posicion e informacion de los sensores hacia la computadora.La computadora al recibir la estimacion del vehıculo realiza la fusion entre la informa-cion recibida y la posicion obtenida por la camara, al finalizar envıa la rectificacion dela posicion recibida. A continuacion, la computadora espera recibir por el VA un bytede respuesta o acknowledge, el cual indica que el dato fue recibido correctamente. Alfinalizar el protocolo de comunicacion el vehıculo queda con la estimacion de posicioncorregida antes de comenzar a calcular una nueva posicion del VA. Antes de enviar losbytes de informacion es necesario sincronizar los transmisores enviando una serie debytes sincronizacion. En la Figura 5.4 se muestra los paquetes de informacion que seenvıan, tanto por el VA como por la computadora; el protocolo de comunicacion im-plementado entre ambos. La grafica inferior de esa figura describe esquematicamenteel intercambio de informacion.

Page 72: Control Visual de Trayectorias para un Vehículo Autónomo ...

48 Capıtulo 5. Implementacion y Experimentos

0xFF 0xFF ... 0xFF 0x55 ... 0x55 0xFF

26 bytes 13 bytes

0x55

1 byte 1 byte 2 bytes 30 bytes

Sincronización Información

Estimación de odometría ysensores

Encabezado

(a) Paquete de informacion enviados por el VA

0xFF ... 0xFF 0x55 0xFF .. 0xFF

13 bytes 1 byte 2 bytes 4 bytes 5 bytes

Sincronización Información

Retroalimentaciónde posición

Encabezado

(b) Paquete de informacion de la com-putadora

Vehículo

Computadora

Estimación deodometría y sensores

Retroalimentación

Ack Estimación deodometría y sensores

AckR

(c) Protocolo de comunicacion entre la computadora y el VA

Figura 5.4: Paquetes y protocolo de comunicacion entre la computadora y elVA

5.3.5 Sensor de velocidad

Cada sensor de velocidad consiste en un codificador optico y un disco ranurado. Secolocaron discos ranurados acoplados al eje de giro en ambas llantas traseras. El discotiene 30 ranuras, definiendo ası la resolucion del sistema. Se colocaron codificadoresopticos Omron modelo EE-SX670, los cuales sensan las ranuras de los discos. La salidade los codificadores opticos son senales digitales cuadradas, leıdas directamente por elmicrocontrolador. La Figura 5.5 muestra el montaje del sensor de velocidad; los discosranurados se encuentran acoplados al giro de la llanta, mientras que los sensores seencuentran fijos sobre el chasis del vehıculo.

5.3.6 Sensor de direccion

El sensor de direccion utiliza un potenciometro analogo. El rango del desplaza-miento de la direccion es de 30°; ası, para tener una mayor resolucion se utiliza unpotenciometro a una vuelta, con 10KW de resolucion. La salida de este sensor es unasenal analoga; por tanto, para ser utilizada en nuestro sistema es necesario convertirdicho valor en una senal digital. Se utilizo un convertidor A/D de 10 bits, el cualesta incluido dentro del microprocesador.

La Tabla 5.1 muestra las relaciones entre las posiciones, resistencia, voltaje y

Page 73: Control Visual de Trayectorias para un Vehículo Autónomo ...

5.3. Arquitectura del VA 49

Llanta

Sensoróptico

Discoranurado

Eje de giro

Figura 5.5: Sensor de velocidad, disco ranurado y codificador optico acopladosal eje de las llantas traseras.

Tabla 5.1: Relacion de voltaje, direccion, resistencia y lectura digital del sensorde direccion.

Direccion (°) Resistencia (KW) Voltaje (V ) Lectura digital-17 7.3 2.44 1290 8.3 2.73 14213 9.2 3.09 159

unidad digital obtenida por el sensor de direccion.

El sensor de direccion se acoplo al eje de rotacion de la llanta derecha del vehıculomediante un cople flexible para absorber desalineamiento entre los ejes. El cople seune al eje de rotacion de la llanta mediante un vastago por un extremo, y el ejedel potenciometro por el otro. El cople flexible permite corregir un desalineamientode hasta 5°, con un torque de 2.5Nm, suficiente para contrarrestar el esfuerzorequerido para hacer girar el potenciometro. Las caracterısticas del sensor fueroninferidas del trabajo de [Gonzalez 05] y su comportamiento sera evaluado en losexperimentos de campo, referidos en la Seccion 5.5. A diferencia de la velocidad, ellazo de control de la direccion no requiere una etapa de potencia, ya que el motor dela direccion se puede controlar directamente con una senal digital del microcontrolador.

En la Figura 5.6 se muestra el montaje del sensor de direccion en el eje de giro dela llanta.

Page 74: Control Visual de Trayectorias para un Vehículo Autónomo ...

50 Capıtulo 5. Implementacion y Experimentos

Potenciómetro

Cople

Vástago

Eje de giro

Figura 5.6: Sensor de direccion acoplado al eje de giro delantero.

5.3.7 Etapa de potencia de velocidad

El vehıculo cuenta con dos motores de CD uno en el eje trasero y otro en el delantero;para este trabajo solamente se controlo el motor del eje trasero. Existen tres partesesenciales en la tarjeta de control del motor de CD, ilustradas en la Figura 5.7,

Aislamiento. Al generar mucho ruido, el motor interfiere con las senales digitales ycon el funcionamiento del microcontrolador. Se separaron las tierras del circuitodel microcontrolador y del controlador del motor. Al separar las tierras, se evitapropagar el ruido generado por el motor hacia el microcontrolador.

Logica. Esta etapa valida que no se envıen del microcontrolador combinacioneserroneas para el puente-H. En caso de recibir una combinacion no valida, nose acciona el puente-H.

Potencia. Corresponde al modulo que alimenta al motor; esta compuesta por dospuentes-H. El primer puente-H se compone de transistores de baja potencia,mientras que el segundo puente-H esta compuesto por transistores de potencia.

5.3.8 Control de velocidad y direccion en el VA

Al contar con los circuitos de actuacion y elementos de sensado del vehıculo seprocede a la implementacion de los algoritmos de control de los actuadores. Estos algo-ritmos de control se implementan en el microcontrolador, el cual se encarga de obtenerla medicion de la velocidad y direccion. Posteriormente el mismo microcontrolador re-aliza los calculos necesarios para enviar una nueva manipulacion hacia los actuadores.

Control de velocidad. El control de velocidad cuenta con dos codificadores opticospara sensar la velocidad del vehıculo y con un puente-H para controlar el motor

Page 75: Control Visual de Trayectorias para un Vehículo Autónomo ...

5.3. Arquitectura del VA 51

Aislamiento

Lógica

Potencia

Figura 5.7: Tarjeta de potencia de velocidad, en ella se encuentran tres partes:aislamiento, logica y potencia.

del vehıculo. Los codificadores opticos estan conectados a dos interrupciones detipo contador, los cuales se encargan de incrementar el numero de pulsos genera-dos por los codificadores; los registros internos que manejan los contadores son de8 bits. El puente-H recibe dos senales que controlan el sentido del motor, ademasde una senal de PWM, la cual se encarga de regular la velocidad. La senal dePWM es regulada internamente a traves de un registro de 16 bits. Para contro-lar la velocidad se diseno un controlador PID digital el cual se programo dentrodel microcontrolador del vehıculo. En un controlador PID se requiere sintonizarlas contantes proporcional, integral y derivativa. Existen varias formas de cal-cular dichas constantes; una de ellas es la prueba escalon. Esta prueba consisteen aplicarle al motor una manipulacion (un valor de PWM) y tomar muestrashasta que dicho motor alcance el estado estable. Los valores de las constantesse obtienen de la grafica de la respuesta del motor a dicha manipulacion. Pos-terior a la sintonizacion de los parametros de control, se realizan pruebas paracomprobar el correcto funcionamiento del controlador. La Figura 5.8 muestra elcomportamiento de la velocidad despues de la sintonizacion de las constantes. Enesta prueba se cerro el lazo de control de velocidad, se coloco al vehıculo dentrodel area de trabajo y se le hizo avanzar hacia el frente pidiendole al controladormantener la velocidad constante.

Page 76: Control Visual de Trayectorias para un Vehículo Autónomo ...

52 Capıtulo 5. Implementacion y Experimentos

0

5

10

15

20

25

30

35

40

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85 88 91

Tiempo (ms)

Ve

loci

da

d(c

ue

nta

s/tie

mpo m

ue

stre

o)

Velocidad

Consigna

Figura 5.8: Resultado de una prueba del control de velocidad, se cerro el lazode control y se le pidio al controlador que mantuviera 30 cuentas por tiempo

de muestreo.

Control de direccion. El control de direccion esta compuesto por un potenciometroanalogo como sensor de direccion, un servomotor como actuador de la direcciony los algoritmos dentro del microcontrolador. Se implementaron dos algoritmospara el control de la direccion: la transformacion de valores analogos a digital yel algoritmo de control de la manipulacion de la direccion. El primer algoritmo seimplemento utilizando funciones internas del microcontrolador las cuales hacenla conversion y entregan un valor digital en 10 bits. El segundo algoritmo, esun controlador PD para el control de la direccion, al cual se le le ajustaron lasconstantes proporcional e integral. El movimiento del servomotor esta limitadopor la cantidad de movimientos que puede realizar dentro de los extremos dere-cho e izquierdo de la direccion. El servomotor es manipulado por una senal dePWM, la cual permite 11 movimientos dentro de los lımites de la direccion. Lamanipulacion obtenida del controlador es una magnitud acotada por los lımitesmaximos y mınimos realizables por el actuador. Para sintonizar el controlador serealizaron, en primera instancia, pruebas en el aire. En lazo abierto se le aplico alservomotor, una manipulacion y se relaciono la manipulacion a la medicion delsensor de direccion. La sintonizacion de las constantes proporcional y derivativafue por medio de prueba y error. Para verificar el funcionamiento del lazo decontrol se coloco al vehıculo en el suelo y se le asignaban diversas manipulacionesmientras se verificaba que se alcanzaran las posiciones correctamente. Se verificola sintonizacion del control de direccion realizando una trayectoria simple. Losresultados del control de direccion se pueden observar en la Figura 5.9. Se observacomo se tiene cierto retraso en la direccion, debido al tiempo muerto del actuadorde direccion.

Page 77: Control Visual de Trayectorias para un Vehículo Autónomo ...

5.4. Sistema de vision 53

130

135

140

145

150

155

160

165

1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106 113 120 127 134 141 148 155 162 169

Tiempo (ms)

Dir

ecc

ión (

PW

M)

Consigna

Dirección

Figura 5.9: Resultado del control de direccion al realizar el vehıculo una trayec-toria simple con giros en ambos sentidos, el controlador tiene que realizar ajustes

seguir la trayectoria.

5.4 Sistema de vision

Eel sistema de vision se implemento en el lenguaje de programacion JAVA. El sis-tema de control del vehıculo que radica en el Control Maestro se implemento tambienen el mismo lenguaje de programacion, por lo que no fue necesario hacer cambios sig-nificativos para la union de ambos sistemas. Del trabajo de [Ortega 06] se tomaronlos desarrollos de la calibracion de la camara, el algoritmo de seguimiento, la trans-formacion de coordenadas y el protocolo de comunicacion de la camara. Se realizaronvarias modificaciones a los algoritmos antes mencionados, para robustecer al y mejo-rar el seguimiento del vehıculo. El algoritmo de seguimiento se modifico para avanzaral seguidor de acuedo al modelo cinematico de avance, antes de realizar la busquedadel objeto a seguir. Ademas, se incluyo la transformacion de coordenadas con camaramovil y se acoplaron los algoritmos para trabajar con el modulo de fusion de datos.

5.4.1 Especificaciones de la camara

La camara empleada durante la experimentacion es una Sony EVI-G20, de tipoPTZ automatizada. por tanto, la camara tiene movimientos rotacionales de formahorizontal (pan), vertical (tilt) y zoom o acercamiento. La comunicacion con la camarase realiza a traves del un puerto RS-232C, utilizando el protocolo VISCA [vis 96], el cualpermite conectar simultaneamente hasta siete camaras en cascada. Los movimientoshorizontales maximos de la camara (pan) son de ±30 grados y para los movimientoverticales (tilt) de ±15 grados. Ademas, el protocolo permite modificar las propiedadesdel lente y ası modificar el balance de blancos, ademas del el brillo y la intensidad de

Page 78: Control Visual de Trayectorias para un Vehículo Autónomo ...

54 Capıtulo 5. Implementacion y Experimentos

iluminacion, permitiendo ası que la camara opere tanto en interiores como exteriores.Respecto a los movimientos; es posible mover la camara en un solo eje o en dos ejes ala vez, o bien desplazarla segun consignas de movimientos absolutos o relativos.

5.4.2 Protocolo de comunicacion

La comunicacion entre la camara y el Control Maestro la realiza el modulo decontrol de la camara; el cual se encarga de estimar los movimientos a realizar porla camara y de enviar los comandos. Entre la computadora y la camara existe unacomunicacion bidireccional, donde la computadora envıa la nueva posicion a colocarla camara y la camara envıa avisos de ejecucion del comando.

El protocolo de comunicacion entre ambos elementos inicia cuando la computa-dora envıa un comando de desplazamiento; la camara recibe el comando y envıa unmensaje de acknowledge; posteriormente ejecuta los desplazamientos y al termino delmovimiento envıa una senal de terminacion. Cuando la computadora recibe la senal determinacion del movimiento la camara ha terminado satisfactoriamente de realizar elmovimiento y es seguro enviar nuevamente otro comando hacia la camara. En caso deque exista un error en la comunicacion, el control de la camara solicita el envıo de suposicion absoluta, por parte de la camara, para corroborar la posicion de la camara.En la Figura 5.10 se observa el paquete de informacion que se envıa a la camara y elprotocolo de comunicacion.

Encabezado

1 byte 1 a 14bytes

0xFF

1 byte

Mensaje

(a) Paquete de informacion delprotocolo VISCA

Cámara

Comando

Ack

Computadora Comando

Comandoejecutado Ack

AckR AckR

(b) Protocolo de comunicacion entre la computadora y lacamara

Figura 5.10: Paquete de comunicacion y protocolo de comunicacion entre lacomputadora y la camara

5.4.3 Algoritmo de seguimiento

El algoritmo de seguimiento del vehıculo esta basado en el algoritmo de desplaza-miento medio, el cual esta descrito en la Seccion 3.2. El algoritmo de seguimiento serealiza utilizando imagenes en escala de grises. En pruebas iniciales de seguimien-to del vehıculo, el seguidor se atrasaba constantemente con respecto al vehıculo.Originalmente, el algoritmo toma una nueva imagen y comienza la busqueda delobjeto candidato desde la posicion anterior dentro de la imagen segun se describe en

Page 79: Control Visual de Trayectorias para un Vehículo Autónomo ...

5.4. Sistema de vision 55

Tabla 5.2: Comparacion entre algoritmo de seguimiento sin modificacion y conun adelanto antes de la busqueda.

Tipo de seguimiento Grado de similitud Numero de iteracionesSin adelanto 98% 7Con adelanto 99% 5

el Capıtulo 3, lo cual provoca que el algoritmo realice demasiadas busquedas paradeterminar el sentido de desplazamiento del vehıculo. Al conocer las caracterısticas dedesplazamiento del vehıculo gracias al modelo cinematico, en terminos de su posicion,orientacion y sentido de avance, se utiliza esa informacion para agilizar el seguimientovisual. Antes de realizar la nueva busqueda, el algoritmo de seguimiento desplaza laventana de busqueda, de la posicion anterior, en sentido del vector de desplazamiento;como resultado, el numero de iteraciones que realiza el algoritmo de seguimiento sedecrementa. La Figura 5.11 muestra cuando la ventana de seguimiento se adelantasegun la orientacion del vector de desplazamiento del VA.

θt−1

(xt-1,yt-1)

(xt,yt)

Figura 5.11: Adelanto de la ventana de seguimiento en la orientacion delvector de desplazamiento del VA.

Los resultados del adelanto del vector de desplazamiento segun el modelocinematico, antes de realizar la busqueda, se observan en la Tabla 5.2. Se midieronel numero de iteraciones que realiza el algoritmo para encontrar al vehıculo en la nuevaposicion y la similitud que tiene la distribucion del vehıculo en la nueva posicion conrespecto a la distribucion inicial del vehıculo. Se utiliza el coeficiente de Bhattacharyyapara medir el grado de similitud. En la tabla se muestra el promedio de los resultadosde varias corridas.

Page 80: Control Visual de Trayectorias para un Vehículo Autónomo ...

56 Capıtulo 5. Implementacion y Experimentos

5.4.4 Obtencion de la posicion y orientacion

El seguimiento del VA y la transformacion de coordenadas se realizan de formaiterativa con cada imagen obtenida de la camara. La salida del sistema visual es laposicion del centro de la ventana de busqueda del seguidor en coordenadas del mundoreal, esta posicion se toma como la posicion del VA. El sistema visual no estima laorientacion del VA, este se obtiene mediante la diferencia entre la posicion actual y laposicion anterior,

θ = arctan

(yt − yt−1

xt − xt−1

)(5.1)

donde (xt,yt) es la posicion actual y (xt−1,yt−1) es la posicion anterior, de acuerdo alcentro de la ventana de busqueda del seguidor.

El seguidor calcula una estimacion de posicion mas rapido que el desplazamientoperceptible del vehıculo. Ya que la transformacion de coordenadas se realiza encada ciclo, la retroalimentacion al vehıculo se pudiera realizar a dicha frecuencia. Laobtencion repetida de la posicion no implica ningun problema en su estimacion, encambio, para la obtencion de la orientacion del vehıculo si presenta un problema yaque introduce ruido en su estimacion.

Se incluyo un umbral el cual determina que el vehıculo se desplazo en el espacio detrabajo de forma perceptible para el sistema de vision. El sistema visual, al estimar laposicion del vehıculo establece el desplazamiento mınimo que el vehıculo debe realizar,para tomar en cuenta la medicion,

Um <√

(xt − xt−1)2 + (yt − yt−1)2 (5.2)

donde Um es la distancia umbral de movimiento que se debe de superar.

La Figura 5.12 es una comparacion de los resultados obtenidos utilizando la distan-cia de umbral como filtro, contral el uso de los datos crudos.

Para evitar que el ruido en la estimacion de la posicion, se propague en laestimacion de la orientacion del vehıculo, se agrego un filtro digital a la estimacion dela orientacion. Se utiliza un filtro digital pasabajos descrito en la ecuacion 5.3, dondeθt es la senal filtrada por el pasa bajo. El filtro responde solo a los cambios pequenos,ignorando los cambios drasticos de posicion,

θt = (WcTθt + θt−1)1

1 + WcT(5.3)

θt es la senal filtrada, θt−1 es la senal en un tiempo de muestreo anterior, Wc es lafrecuencia de corte y T es el tiempo de muestreo.

La Figura 5.13 muestra las graficas de la orientacion del vehıculo, en el seguimientode una trayectoria, al utilizar el filtro de primer orden y cuando no se utiliza. Graciasal filtro, el dato de orientacion del vehıculo es mas estable, con menor ruido.

Page 81: Control Visual de Trayectorias para un Vehículo Autónomo ...

5.4. Sistema de vision 57

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

-1 -0.5 0 0.5 1 1.5 2 2.5 3 3.5

X

Y

(a) Posicion obtenida con Um = 0

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

-1 -0.5 0 0.5 1 1.5 2 2.5 3 3.5

X

Y

(b) Posicion obtenida con Um = 0.13

-3

-2

-1

0

1

2

3

0 100 200 300 400 500 600 700 800Rad

ian

es

(c) Orientacion obtenida con Um = 0

-3.5

-2.5

-1.5

-0.5

0.5

1.5

2.5

3.5

0 10 20 30 40 50 60Ra

dia

nes

(d) Orientacion obtenida con Um = 0.13

Figura 5.12: Datos comparativos entre los datos crudos (Um = 0) en ori-entacion (a) y (c) respectivamente, contra el uso de un filtro de distancia

Um = 0.13 (b) y (d).

Page 82: Control Visual de Trayectorias para un Vehículo Autónomo ...

58 Capıtulo 5. Implementacion y Experimentos

-3.5

-2.5

-1.5

-0.5

0.5

1.5

2.5

3.5

0 10 20 30 40 50 60Rad

iane

s

(a) Datos crudos al calcular la orientacion θ

-3.5

-2.5

-1.5

-0.5

0.5

1.5

2.5

3.5

0 10 20 30 40 50 60Rad

iane

s

(b) Utilizando el filtro de primer orden, Wc = 5 yT = 0.18.

Figura 5.13: Orientacion del vehıculo con datos crudos y al incluir el filtro deprimer orden con Wc = 5 y T = 0.18

5.5 Experimentos y resultados

En esta seccion se presentan los experimentos realizados con el objetivo de obteneruna medida de desempeno del sistema. Los experimentos se realizaron en un area detrabajo de 10m×8m en ambientes exteriores. El area se encuentra libre de obstaculos.

Se realizaron cuatro etapas de experimentacion, para obtener la integracion de todoel sistema. En la primera etapa se caracterizo el vehıculo para obtener la informacionque alimenta la estimacion la posicion por medio de sensores de odometrıa. Durante lasegunda etapa se realizaron trayectorias con el vehıculo utilizando solamente sensoresde odometrıa. Para esos experimentos el sistema de vision supervisa el desempeno delvehıculo, pero no retroalimento esta informacion. La tercera etapa involucra la fusionentre la estimacion de posicion del sistema de odometrıa, con la informacion de vision;seguida por la retroalimentacion de dicha fusion hacia el vehıculo. Finalmente, la cuartaetapa involucra mover la camara y realizar la estimacion, ası como la retroalimentacionde la posicion del vehıculo.

5.5.1 Radios de giro del vehıculo

Posteriormente al acople del servomotor con el eje de direccion y la implementaciondel control de la direccion, se realizaron las pruebas consistentes en la estimacionde posicion por medio de los sensores de odometrıa. Resulta entonces necesarioconocer los radios de giro del vehıculo para cada una de las manipulaciones de ladireccion. Para caracterizar los radios de giro del vehıculo, se coloca al vehıculo enforma transversal a una cinta metrica. A continuacion se aplica una manipulacion

Page 83: Control Visual de Trayectorias para un Vehículo Autónomo ...

5.5. Experimentos y resultados 59

Tabla 5.3: Relacion entre las manipulaciones y radios de giro.

Manipulacion Radio (metros) Sentido1 0.9 Derecha2 1.05 Derecha3 1.4 Derecha4 1.95 Derecha5 No medido6 No medido7 6 Izquierda8 4.5 Izquierda9 1.585 Izquierda10 1.275 Izquierda11 0.925 Izquierda

conocida en la direccion; se deja avanzar el vehıculo hasta que regrese al punto departida, para medir el diametro de la circunferencia realizada por el vehıculo. Serepite el experimento varias veces, para cada una de las manipulaciones posibles enel motor de la direccion. Al final se obtiene el radio del cırculo para cada una de lasmanipulaciones disponibles. La Tabla 5.3 muestra el radio de giro para cada una delas manipulaciones del actuador de direccion, dos manipulaciones no pudieron sermedidas debido a su dimension. Las manipulaciones se numeraron comenzando con lamanipulacion localizada en el extremo derecho.

x

y-1-2-3-4-5-6 1 2

Figura 5.14: Representacion grafica de los radios de giro realizados por el VApara su caracterizacion.

Los datos anteriores se introdujeron al modelo cinematico del vehıculo para estimarsu posicion. Para comprobar la estimacion, se repite el experimento y se comparan los

Page 84: Control Visual de Trayectorias para un Vehículo Autónomo ...

60 Capıtulo 5. Implementacion y Experimentos

radios descritos por el vehıculo contra los radios estimados. Si la diferencia entre ambasmedidas es pequena, entonces la estimacion es correcta, en caso contrario se modificala estimacion de los radios para mejorar la estimacion de la posicion.

5.5.2 Pruebas con uso exclusivo de odometrıa

Para las pruebas de odometrıa, el vehıculo se desplaza solamente utilizando lossensores internos. El sistema de vision localiza al vehıculo, aunque opera en lazoabierto; ası solamente estima la posicion del vehıculo, pero no retroalimenta laestimacion.

En primera instancia, se realizaron pruebas para medir el error del vehıculo en elseguimiento de una lınea recta. Se le asigna un punto a seguir, a una distancia de 7metros. Como se menciono anteriormente, el vehıculo solamente tiene 11 manipula-ciones disponibles; por tanto, se realizaron las pruebas con las dos manipulaciones queno pudieron ser medidas en las pruebas anteriores de radios de giro (5 y 6) ya que sonlas que centran mas a las llantas. En la Figura 5.15 se muestran los resultados de lapruebas, al seguir una lınea recta.

0

1

2

3

4

5

-0.5 0.5 1.5 2.5 3.5 4.5 5.5

(a) Prueba con la manipulacion de direccion6

0

1

2

3

4

5

0 1 2 3 4 5

(b) Prueba con una manipulacion de direc-cion 5

Figura 5.15: Pruebas de seguimiento de una recta utilizando la manipulacionesno medidas en los radios de giro.

En la prueba utilizando la manipulacion de 6 el vehıculo se encuentra cargadohacia la derecha, de manera que siempre acabo el seguimiento de ese lado de larecta. Los resultados de la prueba utilizando la manipulacion de 5, fueron menossatisfactorios, ya que el vehıculo tiende realizar una circunferencia mas que a seguiruna lınea recta. El error promedio, en terminos de su desviacion lateral, que presento elvehıculo en el seguimiento de la recta con manipulacion de 6 fue de 1.11m. Debido

Page 85: Control Visual de Trayectorias para un Vehículo Autónomo ...

5.5. Experimentos y resultados 61

a la discretizacion de posiciones del motor de la direccion, no es posible colocar lasllantas en cualquier punto. Ninguna de las posiciones del actuador hace que las llantasqueden bien centradas hacia el frente; por tanto, el vehıculo siempre se carga hacia laderecha, siendo la posicion mas centrada la manipulacion 6.

A continuacion se realizaron pruebas de seguimiento de trayectorias. El vehıculoejecuto dos trayectorias diferentes: una con giros hacia la derecha y otros con giroshacia la izquierda. Se realizaron ambas trayectorias utilizando 3 diferentes aproxi-maciones para la estimacion del angulo φ. Como vimos en el Capıtulo 2, el radiogenerado por el vehıculo se relaciona con el angulo φ de las llantas y es la base para laestimacion de la posicion por odometrıa.

La estimacion interna realizada por el sistema de odometrıa, para todas laspruebas, se muestra en la Figura 5.16. Las graficas obtenidas por la estimacion deodometrıa son trayectorias que siguen fielmente la trayectoria planeada, con escasoerror en los puntos de control. En cambio, la estimacion por medio del sistemavisual reportaba gran error, con respecto a los puntos de control, durante todo elseguimiento de la trayectoria y la posicion final del vehıculo. Ası, la estimacion porodometrıa no es certero, ya que aunque no haya pasado por los puntos de control,ni quedado cerca de la posicion final, el sistema de odometrıa estima ası ocurrio yque no hay error, segun lo muestran las graficas de la Figura 5.16. Es sabido que elerror por conteo interno es incremental; por tanto, a medida que el vehıculo realiza elseguimiento el error se incrementa. Por otra parte, el sistema de vision proporcionainformacion mas certera de la trayectoria ejecutada por el vehıculo. En la Figura5.17 aparecen las graficas de la estimacion realizada por el sistema de vision en elseguimiento de las dos trayectorias, utilizando tres diferentes estimaciones del angulo φ.

De los resultados de las pruebas obtenidas por el sistema de odometrıa, se obtuvoun error cuadratico inicial en el seguimiento de trayectorias. El error cuadratrico, es elarea que existe entre la trayectoria que forman los puntos de control y la realizada porel vehıculo. A menor area entre ambas trayectoria mas se parecen una a otra; por tantomejor es el seguimiento realizado por el vehıculo. Para medir el error se utilizo unaherramienta computacional llamada “Graphmatica”, la cual permite graficar curvasingresando una serie de puntos. Se ingresaron al programa tanto la trayectoria aseguir como la obtenida por el VA, posteriormente, se selecciono el area entre ambastrayectoras a integrar por el programa. La seleccion del area a integrar es realizadamanualmente, procurando no repetir areas ya previamente integradas. El softwaremaneja varios tipos de integracion, se escogio el metodo de integracion trapezoidal paraobtener el area. La Figura ?? muestra un ejemplo del area obtenida la cual representael error que tuvo el VA en dicha ejecucion, el area sombreada se considera como el error.

La Tabla 5.4 muestra el error obtenido con las estimaciones realizadas con elsistema de odometrıa.

Page 86: Control Visual de Trayectorias para un Vehículo Autónomo ...

62 Capıtulo 5. Implementacion y Experimentos

0

0.5

1

1.5

2

2.5

3

3.5

4

0 0.5 1 1.5 2 2.5 3 3.5

(a) Prueba hacia la derecha

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

0.5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5

(b) Prueba hacia la izquierda

Figura 5.16: Pruebas utilizando solamente los sensores de odometrıa, resulta-dos obtenidos por el sistema de odometrıa.

Tabla 5.4: Error inicial en el seguimiento de la trayectoria, basado en lasgraficas de la Figura 5.16.

Sensores de odometrıaTrayectoria Izquierda Derechaerror ei (m2) 0.3445 0.2726

Con base en los recorridos ilustrados en la Figura 5.17, se obtuvieron los erroresdel sistema de vision, para cada una de las aproximaciones de φ. Los resultadosse muestran en la Tabla 5.5 donde se aprecia que el error mas grande se presentacuando se utiliza la aproximacion de φ2 y el menor error se obtiene utilizando φ3.Se constata que el error es mayor siempre en las trayectoria hacia la izquierda,debido a caracterısticas mecanicas del vehıculo. En la Figura 5.14 se observa queel incremento en los radios hacia la derecha es pequeno, en comparacion a losradios la realizados hacia el lado izquierdo. Un pequeno cambio en la manipu-lacion hacia la izquierda provoca un cambio grande en el radio de giro. Este efectoproduce que sea mas difıcil el control cuando se realizan trayectorias hacia la izquierda.

Page 87: Control Visual de Trayectorias para un Vehículo Autónomo ...

5.5. Experimentos y resultados 63

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

0.5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5

X

Y

(a) Prueba hacia la derecha utilizando φ1

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5

X

Y

(b) Prueba hacia la izquierda utilizando φ1

-3.8

-3.3

-2.8

-2.3

-1.8

-1.3

-0.8

-0.3

0.2

-0.5 0 0.5 1 1.5 2 2.5 3 3.5

X

Y

(c) Prueba hacia la derecha utilizando φ2

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

-0.8 -0.3 0.2 0.7 1.2 1.7 2.2 2.7 3.2 3.7

X

Y

(d) Prueba hacia la izquierda utilizando φ2

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

0.5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5

X

Y

(e) Prueba hacia la derecha utilizando φ3

-0.8

-0.3

0.2

0.7

1.2

1.7

2.2

2.7

3.2

3.7

-0.3 0.2 0.7 1.2 1.7 2.2 2.7 3.2

X

Y

(f) Prueba hacia la izquierda utilizando φ3

Figura 5.17: Pruebas utilizando solamente los sensores de odometrıa, medi-ciones obtenidas con el sistema de vision. Los resultados de las pruebas varıan

al variar φ ya que se se modifica la estimacion de la posicion.

Page 88: Control Visual de Trayectorias para un Vehículo Autónomo ...

64 Capıtulo 5. Implementacion y Experimentos

Tabla 5.5: Error obtenido por el sistema de vision, basado en las graficas queaparecen en la Figura 5.17.

Vision φ1 Vision φ2 Vision φ3

Trayectoria Izquierda Derecha Izquierda Derecha Izquierda Derechaerror en (m2) 2.5265 1.4549 2.9031 1.5203 2.2618 1.2368en-ei 2.182 1.1823 2.5586 1.2477 1.9173 0.9642

Tabla 5.6: Error de los diferentes sensores utilizando retroalimentacion visual,basado en la Figura 5.18.

Odometrıa Vision FusionTrayectoria Izquierda Derecha Izquierda Derecha Izquierda DerechaError en(m2) 3.2091 2.4720 0.975 1.0613 0.8271 0.952

5.5.3 Pruebas con retroalimentacion visual estatica

En la tercera etapa se realizo la fusion y la retroalimentacion de la posicionutilizando el sistema de vision en su modo estatico. Se realizaron las mismas dostrayectorias hacia la derecha y la izquierda, como en el caso de la primera etapa. Setomo la mejor estimacion de φ (φ3) obtenida de las pruebas anteriores, para realizarestas pruebas. Las pruebas consisten en realizar una trayectoria hacia la derecha yotra hacia la izquierda, el vehıculo estima su posicion por medio de la odometrıa yrecibe retroalimentacion del sistema visual. La camara, dentro de esta prueba, no tienemovilidad y se encuentra fija observando el area de trabajo. La trayectoria realizadaesta dentro del area de vision de la camara.

El resultado de las pruebas se observan en la Figura 5.18 donde se ilustran lasmediciones obtenidas por el sistema de odometrıa, el sistema de vision y la fusion dedatos. Se observa que las estimaciones obtenidas por el sistema de vision y la fusion dedatos son muy similares, debido a la mayor confianza otorgada a la estimacion hechapor el sistema de vision.

Los errores obtenidos utilizando la retroalimentacion visual se muestran en la Tabla5.6, donde se observan los tres distintos errores: el obtenido por el sistema de odometrıa,el del sistema de vision y el error de la fusion de ambos sensores. Se aprecia que el errorobtenido por la fusion de ambos sensores es menor que el error obtenido individualmentepor cada uno de los sensores.

Page 89: Control Visual de Trayectorias para un Vehículo Autónomo ...

5.5. Experimentos y resultados 65

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

0.5

1

-0.5 0 0.5 1 1.5 2 2.5 3 3.5

(a) Giro hacia la derecha, estimacion deodometrıa

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

-0.6 -0.1 0.4 0.9 1.4 1.9 2.4 2.9 3.4 3.9

(b) Giro hacia la izquierda, estimacion deodometrıa

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

0.5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5

(c) Giro hacia la derecha, estimacion del sistemade vision

-1

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4

(d) Giro hacia la izquierda, estimacion del sis-tema de vision

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

0.5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5

(e) Giro hacia la derecha, estimacion con lafusion de datos

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4

(f) Giro hacia la izquierda, estimacion con lafusion de datos

Figura 5.18: Pruebas utilizando retroalimentacion visual, (a) y (b) es la medi-cion de los sensores de odometrıa, (c) y (c) es la medicion del sistema de vision

y (e) y (f) la fusion de las dos mediciones anteriores.

Page 90: Control Visual de Trayectorias para un Vehículo Autónomo ...

66 Capıtulo 5. Implementacion y Experimentos

Tabla 5.7: Error de los diferentes sensores utilizando retroalimentacion visualdinamica, basado en la Figura 5.19.

Odometrıa Vision FusionTrayectoria Rectangulo Ocho Rectangulo Ocho Rectangulo OchoError en(m2) 5.0451 12.2884 4.5851 4.4008 3.9138 3.8876

5.5.4 Pruebas con retroalimentacion visual dinamica

En esta ultima fase se integran todos los elementos de la experimentacion; se utilizala camara movil para seguir al vehıculo durante su trayectoria y se retroalimentala fusion de la informacion. Debido al incremento del area de trabajo por el uso dela camara movil, se le asigna al vehıculo una trayectoria de mayor longitud, que enlas pruebas anteriores. Se realizaron dos trayectorias dentro de la experimentacion:la primera trayectoria tiene forma similar a las anteriores, solamente que de mayorlongitud; la segunda trayectoria es en forma de ocho, para incluir giros en ambossentidos. La primera trayectoria tiene una longitud de 15m, mientras que la segundaesta compuesta por dos cırculos de 2m. de radio cada uno. Las graficas obtenidas delos experimentos se pueden observar en la Figura 5.19. En cada una de las graficas sepueden observar las estimaciones obtenidas por el sistema de odometrıa, el sistema devision y la fusion de ambos sensores.

Los errores obtenidos de cada una de las trayectorias se observan en la Tabla 5.7.Se puede apreciar en la tabla como el error con sensores de odometrıa es mucho mayorque el error del sistema visual. El sistema visual mantiene acotado este incrementoen error y permite que el vehıculo realize una mejor seguimiento de la trayectoria. Lafusion de ambas mediciones sigue siendo la mejor estimacion, ya que toma lo mejor deambos sensores: la suavidad en el incremento del sistema de odometrıa y la precision delsistema visual. Un claro ejemplo de ello es en la Figura 5.19 (a), el sistema visual tieneruido el cual es eliminado por la fusion, dejando mas suave la trayectoria realizada. LasFiguras 5.20 y 5.21 son imagenes de computadora de las corridas que aparecen en laFigura 5.19-

Page 91: Control Visual de Trayectorias para un Vehículo Autónomo ...

5.5. Experimentos y resultados 67

-7

-6

-5

-4

-3

-2

-1

0

1

-0.6 0.4 1.4 2.4 3.4 4.4

Fusión

Visión

Odometría

Trayectoria

(a) Trayectoria con giro hacia la derecha utilizandoretroaliementacion visual dinamica.

-9

-8

-7

-6

-5

-4

-3

-2

-1

0

1

-2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 3

Fusion

Vision

Trayectoria

Odometria

(b) Trayectoria en forma de ocho, se forma utilizando 16 puntos decontrol.

Figura 5.19: Pruebas utilizando la camara movil y retroalimentando la fusionde los datos.

Page 92: Control Visual de Trayectorias para un Vehículo Autónomo ...

68 Capıtulo 5. Implementacion y Experimentos

(a) Posicion de inicio (b) Primer punto de control (c) Segundo punto de control

(d) Tercer punto de control (e) Cuarto punto de control (f) Quinto punto de control

(g) Sexto punto de control (h) Posicion final

Figura 5.20: Evolucion de la trayectoria tipo rectangular, recorrida por el VA,integrada por 7 puntos de control.

Page 93: Control Visual de Trayectorias para un Vehículo Autónomo ...

5.5. Experimentos y resultados 69

(a) Posicion de inicio (b) Primer punto de control (c) Tercer punto de control

(d) Cuarto punto de control (e) Sexto punto de control (f) Septimo punto de control

(g) Octavo punto de control (h) Decimo punto de control (i) Decimo primer punto de con-trol

(j) Decimo tercer punto de con-trol

(k) Decimo quinto puntode con-trol

(l) Punto de control final

Figura 5.21: Evolucion de la trayectoria tipo ”8”, recorrida por el VA, in-tegrada por 16 puntos de control.

Page 94: Control Visual de Trayectorias para un Vehículo Autónomo ...
Page 95: Control Visual de Trayectorias para un Vehículo Autónomo ...

Capıtulo 6

Conclusiones

Esta tesis describe la integracion de un sistema vision con camara movil, como unsensor adicional dentro de una arquitectura de control para un Vehıculo Autonomo(VA). Se cuentan con dos componentes principales en el desarrollo de este trabajo:el VA y el sistema de vision. El VA sigue una trayectoria establecida por el usuario,gracias a la automatizacion de la velocidad y la direccion, con base a una arquitecturade control. El sistema de vision por su parte, se encarga de realizar el seguimientovisual del vehıculo y la estimacion de su posicion.

El sistema de vision y el VA interactuan durante el seguimiento de la trayectoria.La arquitectura esta separada en dos partes: una parte se encuentra dentro delvehıculo y la otra en una computadora la cual tiene conectada la camara. El vehıculoenvıa constantemente su estimacion de la posicion hacia la computadora. Dentro dela computadora se realiza el procesamiento visual, incluyendo la estimacion visual dela posicion. Posteriormente, se realiza la fusion entre ambas estimaciones de posiciony se retroalimenta, al vehıculo, la correccion de la posicion, con el proposito de seguirfielmente la trayectoria planeada.

La arquitectura utilizada dentro del vehıculo contiene varios controladores encascada; en el nivel mas bajo de la arquitectura se encuentran los controles basicosdel vehıculo, que conciernen a la velocidad y la direccion. En los niveles superiores,se encuentran el control a punto y de trayectoria los cuales generan las consignas debajo nivel que aseguran el seguimiento de la trayectoria. Esta arquitectura facilita eldesarrollo del VA ya que es posible cambiar individualmente cada modulo de control,sin afectar a los demas.

La implementacion del VA se realizo en un vehıculo comercial, de control remoto, elcual cuenta con dos motores de corriente directa para la traccion y un servomotor parala direccion. Se realizo la instrumentacion sobre el vehıculo para controlar la tracciony la direccion. Para el caso de la traccion se utilizo un puente-H, controlado por unasenal de PWM. Para medir la velocidad del vehıculo se acoplaron codificadores opticosa ambas llantas traseras. El servomotor de direccion es controlado igualmente, por

71

Page 96: Control Visual de Trayectorias para un Vehículo Autónomo ...

72 Capıtulo 6. Conclusiones

una senal de PWM y se acoplo un potenciometro al eje de giro de una llanta delanterapara medir la orientacion de las llantas.

La implementacion del sistema de vision se llevo a cabo en una estacion detrabajo, que cuenta con una tarjeta de captura de video. El algoritmo de visionimplementado para el seguimiento del vehıculo esta basado en la obtencion de unadistribucion estadıstica del vehıculo y la obtencion de la posicion mas probable dedicha distribucion en la siguiente imagen de video. Este tipo de seguidor permiterealizar pruebas, sin necesidad de hacer ajustes para diferentes niveles de luz o enlas caracterısticas especıficas del vehıculo. Para realizar la estimacion visual de laposicion utilizando la camara movil fue necesario realizar ajustes a los algoritmos decamara fija. Dentro de los ajustes se agrego la posicion de la camara para estimarcorrectamente la nueva posicion, cuando la camara se mueve.

Un trabajo similar al actual, dentro del Grupo Vision del CSI, fue realizado por[Vazquez 02]; donde se utilizo una camara fija para realizar el seguimiento y controlde un vehıculo a escala. Las principales diferencias entre ambos trabajos se puedenobservar en la Tabla 6.1 las cuales se dividen en tres: sensores del vehıculo, carac-terısticas del sistema de vision e integracion del sistema. Entre las mejoras realizadascon respecto a ese trabajo se encuentran: la cantidad de informacion transmitida, eluso de un metodo de fusion de datos en la retroalimentacion y la incorporacion deuna camara movil. Al utilizar una camara movil se incrementa el area de trabajo delvehıculo y, por tanto, las trayectorias que realiza pueden ser mas extensas.

Para validar la arquitectura se realizaron varios experimentos de seguimientode trayectoria, los cuales incluyen seguimiento utilizando solamente sensores deodometrıa, la retroalimentacion con camara fija y la retroalimentacion con camaramovil. El sistema fue probado en condiciones de exterior, en donde la iluminacionpuede afectar al sistema de vision y donde la exposicion de los componentes aaltas temperaturas puede hacer que no funcionen adecuadamente. Los resultadosobtenidos muestran que el seguimiento de la trayectoria se realiza mejor cuando elvehıculo es retroalimentado con la informacion del sistema visual. El sistema funcionacorrectamente utilizando la camara tanto es su modo estatico, como en modo movil.

Los resultados obtenidos comprueban la hipotesis inicial que el vehıculo se de-sempena mejor al incorporar el sistema de vision como un sensor adicional, al puro usode sensores de odometrıa. La incorporacion de una camara movil incrementa el areade desplazamiento del VA. Los resultados mostrados en el Capıtulo 5 muestran queel vehıculo alcanza mayor precision al recibir la retroalimentacion y por tanto realizacon mayor fidelidad la trayectoria planeada. La posicion obtenida por el sistema deodometrıa se incrementa con suavidad, pero acumula error; mientras tanto, la posicionobtenida por el sistema de vision tiene menor error en el posicionamiento pero realizacambios bruscos y ruidosos. Al fusionar ambas mediciones obtenemos las mejorescaracterısticas de ambos, una senal que se incrementa con suavidad teniendo poco

Page 97: Control Visual de Trayectorias para un Vehículo Autónomo ...

73

Tabla 6.1: Diferencias entre el trabajo aquı reportado y el trabajo realizadopor [Vazquez 02] dentro del Laboratorio de Robotica del CSI.

[Vazquez 02] Trabajo actualCaracterısticas del VA

Sensor de desplazamiento Un codificador optico. Dos codificadores opticos.Sensor para la Ninguno. Potenciometro analogo.orientacion de llantasComunicacion RF 9,200bps RF 38,400bps

Caracterısticas del Sistema de VisionTipo de camara Camara fija Camara movilTecnica de Metodos derivativos. Metodo Integralesseguimiento (vector de

desplazamiento medio).Estimacion de la Metodos geometricos a Matriz deposicion partir de los valores de homografıa basado

distancia visibles mınimo y en [Zhang 99].maximo y el angulo deinclinacion de la camara.

Caracterısticas del Sistema IntegradoRetroalimentacion Estimacion de posicion Estimacion de posicion

del sistema visual. obtenida de la fusionde varios sensores.

error en el posicionamiento.

Las contribuciones de este trabajo se divide en tres partes:

VA. Se le da seguimiento a la tecnica de automatizacion de VA a escala desarrolladadentro del Laboratorio de Robotica del CSI, se integran un mayor numero desensores al vehıculo haciendolo mas robusto, se mejoro la comunicacion por RFpermitiendo la transmision de una mayor cantidad de informacion y se le cam-bio su unidad de procesamiento incrementando el numero de puertos para recibiry enviar informacion.

Sistema de vision. El seguimiento a los trabajos de vision desarrollados dentro delLaboratorio del CSI en cuanto al, uso de una camara movil como sensor paraun VA, el desarrollo de algoritmos para la estimacion de la posicion utilizando lacamara movil, ası como mejoras al algoritmo de seguimiento para seguir al VA.

Arquitectura. La creacion de una arquitectura la cual integra dos diferentes trabajosrealizados dentro del Laboratorio del CSI, uno en el area de la robotica y otro enel campo de la vision computacional, y el uso de algoritmos de fusion de datos

Page 98: Control Visual de Trayectorias para un Vehículo Autónomo ...

74 Capıtulo 6. Conclusiones

para obtener una mejor estimacion de la posicion del vehıculo.

Existen varios elementos que afectan el desempeno del sistema los cuales quedaronsin resolver dentro del presente trabajo, repartidos entre el VA, el del sistema devision y la arquitectura. Los elementos que afectan el desempeno del VA son las fallasde ciertos componentes electronicos por causa del uso y el incremento en el consumode corriente por algunos elementos sobre el vehıculo. Dentro del sistema de visionsobresalen el tamano fijo de la ventana de seguimiento, pues no se ajusta al cambiode tamano, ni a la orientacion del vehıculo, y las perturbaciones generadas por elalgoritmo de seguimiento que presenta, pequenos desplazamientos aun cuando ya haencontrado al vehıculo, afectando la estimacion de la posicion. La arquitectura esafectada mayormente por la comunicacion entre el VA y el control central, siendo lacomunicacion su cuello de botella, ya que existe un retraso para al enviar y recibir lainformacion y estando limitada la cantidad de informacion que se puede enviar.

Ası, en una etapa futura se puede extender este trabajo para robustecer tanto alvehıculo, al sistema de vision y a la arquitectura. Por parte del vehıculo, se puederobustecer la estimacion de la posicion agregando mas sensores redundantes como giro-scopios y acelerometros; buscar una mejor distribucion de las baterıas de alimentacionpara darles mayor vida util; y con la generacion de nuevas tarjetas electronicaseliminar errores de las deterioradas tarjetas actuales. Dentro del sistema visual sepueden inducir mejoras al incorporar algoritmos para modificar dinamicamente laventana de seguimiento visual, ya que se conoce tanto el area de trabajo como elvehıculo utilizado; e incluir la deteccion de obstaculos utilizando el sistema de visionpara evadir obstaculos que se encuentren en su trayectoria. En lo que respecta a laarquitectura fısica, se recomienda cambiar los modulos de comunicacion por unos quepermitan transmitir mayor cantidad de informacion y en un menor tiempo que losactuales.

Page 99: Control Visual de Trayectorias para un Vehículo Autónomo ...

Apendice A

Diagramas Electricos

Este apendice muestra los diagramas electricos implementados sobre el vehıculo.Los circuitos electricos realizados para el vehıculos son: la tarjeta del microcontro-lador, la tarjeta de potencia del puente-H, un circuito doblador de voltaje y la tarjetaconcentradora de perifericos.

A.1 Tarjeta del microcontrolador

El comando completo del VA utiliza un microcontrolador de tipo MEGA 128. Eldiagrama de esta tarjeta se muestra en la Figura A.1. La tarjeta del microcontroladorse diseno como una tarjeta generica para usarse en diferentes aplicaciones. La mayorparte de las conexiones del microcontrolador incluyendo interrupciones, contadores,convertidores analogos-digital y pines de comunicacion estan conectados a pines desalida. La tarjeta cuenta con salidas para comunicacion de tipo RS-232 y RS-485 deforma que se permite construir redes con arreglos de microcontroladores. Ası, la tarjetatiene modalidad de maestro o esclavo para integrarse en una red de microcontroladores.Ası mismo, tiene un conector dedicado para la programacion del microcontrolador. Seutilizan “jumpers” para cambiar el tipo de comunicacion que se va a utilizar y el modo(maestro o esclavo) en que trabaja el microcontrolador.

A.2 Tarjeta de potencia

El circuito para controlar el motor esta ilustrado en la Figura A.2. Existen trespartes esenciales en la tarjeta de control del motor de CD:

Aislamiento. El motor genera demasiado ruido que interfiere con las senales digitalesy con el funcionamiento del microcontrolador. Se utilizaron optoaisladores paraseparar la tierra del circuito del microcontrolador y del controlador del motor demanera que no se propague el ruido generado por el motor, hacia el microcontro-lador.

75

Page 100: Control Visual de Trayectorias para un Vehículo Autónomo ...

76 Apendice A. Diagramas Electricos

Logica. Esta etapa valida el envıo desde el microcontrolador al puente-H de configu-raciones correctas. En caso de detectar una combinacion invalida, no se accionael puente-H.

Potencia. Es la parte de alimentacion del motor, compuesta por dos puentes-H. Elprimer puente-H utiliza transistores de baja potencia, los cuales sirven para in-troducir, a los transistores de potencia, el voltaje necesario para su activacion.El segundo puente-H esta compuesto por transistores de potencia, los cuales alser activados por los de baja potencia, dejan fluir corriente hacia el motor. Lostransistores de alta potencia son de tipo Mosfet, canal N, mientras que los debaja potencia son de tipo NPN y PNP.

A.3 Doblador de voltaje

La tarjeta dobladora de voltaje, se encarga de duplicar el voltaje de entrada. Elobjetivo de esta tarjeta es alimentar correctamente al puente-H de potencia, para quese abran correctamente los transistores y permita fluir la corriente hacia el motor. Estecircuito se observa en la Figura A.3 y esta compuesto por dos circuitos dobladores devoltaje (ICL 7662 ) y un regulador de voltaje variable (LM-317 ). La entrada al circuitoes de 7V y la salida del circuito son 20V . En primera instancia el circuito dobla elvoltaje de entrada; posteriormente con el regulador de voltaje variable se baja a 10Vy finalmente el siguiente doblador ajusta el voltaje a 20V .

A.4 Concentradora de perifericos

Esta tarjeta se encarga de enlazar las senales de los actuadores y sensores con elmicrocontrolador. A esta tarjeta se conectan los sensores de velocidad y orientacion, losactuadores de velocidad y direccion y la comunicacion por RF. Los sensores de veloci-dad, son codificadores opticos, envıan senales digitales que son “levantadas”por mediode un “pull-up”, antes de conectarse al microcontrolador. La senal del sensor de direc-cion se conecta al convertidor A/D del microcontrolador. En el caso de los actuadores,actuador de direccion se enlaza directamente hacia una senal del microcontrolador; enel caso de la velocidad, se validan las senales de control del punte-H, antes de enviarsehacia la tarjeta de potencia. Finalmente, las senales de comunicacion serial, se enlazanhacia un conector tipo macho en el cual se conecta el modulo de RF. La Figura A.4muestra los componentes que conforman a la tarjeta concentradora de perifericos.

Page 101: Control Visual de Trayectorias para un Vehículo Autónomo ...

A.4

.C

oncen

tradora

de

periferico

s77

RE2

RO1

VC

C8

GN

D5

DE3 DO/RI 6

DO/RI7

DI4

U5

DS75176BM(8)

RE2

RO1

VC

C8

GN

D5

DE3

DO/RI6

DO/RI7

DI4

U6

DS75176BM(8)

R5

1K

1

2

3

J3

CON3

1

2

3

J4

CON3

R6

1K

R71K

WER

_POWER

VCC

T12

T9

T14

T7

+4

-5

+ C12

CAPACITOR POL

+

PACITOR POL

POL+

C10

CAPACITOR POL

D0_232

B2_485

B2_232

12

3

T2_OUT - R2_IN

CON3

GND_POWER

R2_INT2_OUT

T2_OUT

+ C14

CAPACITOR R2 OUT

GND_POWER

B2_232

1

23

14

7

U1A

74LS08

C6

+1

2C3

C5

Y1CRISTAL

1 2

3 4

5 67 8

9 10

JP1

Programación

C4

+

12

C1

R1

GND_POWER

R8

RES1

1

2

4

3

SW1

SW DIP-2

VCC

1

2

J8

CON2D1

LED

RE2

RO1

VC

C8

GN

D5

DE3 DO/RI 6

DO/RI7

DI4

U3

DS75176BM(8)

RE2

RO1

VC

C8

GN

D5

DE3

DO/RI6

DO/RI7

DI4

U4

DS75176BM(8)

1

2

3

J1

CON3

1

2

3

J2

CON3

R3

1K

R41K

1 2

JP4

HEADER 2

12

JP5

HEADER 2

1 2

JP3HEADER 2

12

JP2

HEADER 2

D1_p B3B2

VCC

VCC

GND_PO

GND

R1 IN13

R2 IN8

T1 IN11

T2 IN10

GN

D1

5V

+2

V-

6

VC

C1

6

R1 OU

R2 OUT1 OU

T2 OU

C1+1

C1 -3

C2

C2

U7

MAX232ACPE(16)

C9

CA

+

C8

CAPACITOR

+ C11

CAPACITOR POL

1

6

27

3

8

49

5

J7

DB9

R2

1K

Vin1

GN

D2

+5V3

U20

MC7805T

1 23 4

5 6

7 8

9 10

JP15

HEADER 5X2GND_POWER

C0

C1C2

C3

C4

C5

B6

B7

1 2

3 4

5 67 8

9 10

JP6

PWM

D4

RST

XTL2XTL1

VCC

C6

C7

GND_POWER

1 2

3 4

5 6

7 89 10

JP8

HEADER 5X2

VCC

GND_POWER

A0A1

A2

A3

A4A5

A6

A7

B5

VCC

1

2

3

Selector D1

CON3

D0_p1

2

3

Selector D0

CON3

D0_232

D0_485

D0_485

D1_232

D1_485

D1_485

D1_232

1

2

3

Selector B2

CON3

1

2

3

Selector B3

CON3

B2_485 B3_485

B3_485

RadioFreq

1

2

3

Selector RadioFreq

CON3

RadioFreq

7V

7V

B3_232

B2_232 B3_232

R1_IN

T1_OUT

12

3

R1_IN - T1_OUT

CON3

T1_OUTR1_IN

GND_POWER

R2_INR2_IN

+ C13

CAPACITOR R1 OUT

GND_POWER

D0_232

D2

LED

D0D1

B2

B3

A0

A1

A2

C0

C1

C2

C3C4

C5

C6

C7

A3

A4A5

A6

A7

XTL1

XTL2

RST

B6

B7

B5

(AD0) PA051

(AD1) PA150

(AD2) PA249

(AD3) PA348

(AD4) PA4 47

(AD5) PA546

(AD6) PA645

(AD7) PA744

(ALE) PG243

(A8) PC035

(A9) PC136

(A10) PC237

(A11) PC3 38

(A12) PC439

(A13) PC540

(A14) PC641

(A15) PC742

(RD) PG134

(WR) PG033

PF0 (ADC0)61

PF1 (ADC1)60

PF2 (ADC2)59

PF3 (ADC3)58

PF4 (ADC4 / TCK)57

PF5 (ADC5 / TMS)56

PF6 (ADC6 / TDO)55

PF7 (ADC7 / TDI)54

AREF62

AGND63

AVCC64

PE0 (PDI / RXD0)2

PE1 (PDO / TXD0) 3

PE2 (AC+ / XCK0)4

PE3 (AC- / OC3A)5

PE4 (INT4 / OC3B)6

PE5 (INT5 / OC3C)7

PE6 (INT6 / T3)8

PE7 (INT7 / IC3)9

PB0 ( SS )10

PB1 (SCK)11

PB2 (MOSI)12

PB3 (MISO)13

PB4 (OC0)14

PB5 (OC1A)15

PB6 (OC1B)16

PB7 (OC2 / OC1C)17

(INT0 / SCL) PDO 25

(INT1 / SDA) PD126

(INT2 / RXD1) PD227

(INT3 / TXD1) PD328

(IC1) PD4 29

(XCK1) PD530

(T1) PD631

(T2) PD732

XTAL223

XTAL1 24

GN

D5

3G

ND

22

VC

C2

1V

CC

52

PEN1

RESET20

PG4 (TOSC1)19

PG3 (TOSC2)18

U78

ATMEGA128

GND_POWER

VCC

VCCGND_POWER

F0

F1

F2

F3

F4F5

F6

F7

1 2

3 4

5 6

7 89 10

JP16

HEADER 5X2

VCC

GND_POWER

F0F1

F2

F3

F4F5

F6

F7

D11

23

Selector D1T

CON3

D01

23

Selector D0R

CON3

D4

1

23

Selector PEN

CON3GND_POWER

VCC

PEN

PEND1_pD0_p

I0

I1

I2I3

I0

I1I2

I3

1 23 4

5 6

7 8

9 10

JP9

INT

VCC

GND_POWER

P0

P1P2

P3P4

P5

P6

P0

P1

P2

P3

P4

P5

P6

1 2

3 4

5 6

7 89 10

JP7

External Counters

VCC

GND_POWER

CNT0

CNT1

CNT2

CNT3

CNT0

CNT1

CNT2

CNT3

AREF

AREF1

23

Selector AREF

CON3GND_POWER

VCC

GND_POWER

GND_POWER

Programación

Jumpers

Pines de salida

MicrocontroladorComunicación 485

Comunicación 232

GND_POWER

GND_POWER

GND_POWER

VCC

VCC

VCC

Alimentación

Fig

ura

A.1

:Tarjeta

generica

del

micro

controlad

orM

EG

A128.

Se

div

ide

latarjeta

ensiete

secciones

dep

endien

do

de

sufu

ncion

:logica

de

program

acion,

alimen

tacion,pin

esde

salida,

jum

pers,

comunicacion

485,com

unicacion

232y

elm

icrocon

trolador.

Page 102: Control Visual de Trayectorias para un Vehículo Autónomo ...

78

Apen

dice

A.

Dia

gra

mas

Electrico

s

Q10

MTP50N05E

Q9

MTP50N05E

R16

10kR17

10k

R18

100

R15

10k

D22

DIODE

D23DIODE

Y

C14

10uF

C15

10uF

GND

.

VoltajeMotor

GND

7v

Q5

2N3904

C3

B2E

1

Q3

2N3906VER2

errita

etroceso

Avance

VoltajeDoblado

VoltajeDoblado

de potencia

Q11

MTP50N05E

Q12

MTP50N05E

R25

10k

R2610k

R24

100

R21

10k

D21

DIODE

D20DIODE

C20

470 uF

VoltajeMotor

1 2

JP1

Motor

R1

330

R6

330

R7

330

1

2

3JP2

R8

10K

R9330

R4

10K

R5330

R2

10K R3330

1

2

4

5

6

U4A

74LS21

9

10

12

13

8

U4B

74LS21

VCC

VCC

GND

REV.

AVAN.

GNDext.

Protecc.ext.

Aislamiento óptico mediante optoacopladores

1 2

U23A

74F04

3 4

U23B

74F04

1

2

3

U45A

74F08

4

5

6

U45B

74F08

X

Y

X

R14 100

1A

2K

LED1

VIN1

GN

D2

VOUT3

U5LM78L05AC/TO92

C13

100uF

GND

VCC

7.2V.

GND

14.4V

7v

GND

11

22

5 5

44

U54

Component_1

11

22

55

44

U55

Component_1

11

22

5 5

44

U56

Component_1

A1

K2

DZ1

5.1v

R10

330

R13

10K R12330

GND

11

22

55

44

U58

Component_1

1 23 4

5 6

7 8

9 10

JP18

HEADER 5X2

Freno

N1

N2

N1

N2

Z

Puente H

5v ext

11

22

33

44

55Frenado

RELAY-SPDT

GND

Q

9

10

8

U45C

74F08

12

13

11

U45D

74F08

ZQ

corriente1corriente2

corriente4

Reversa

Avance

Vcc

Freno

C1

B2

E3

Q13

BC548B

C1

B2

E3

Q14

BC548B

C1

B2

E3

Q15BC548B

C1

B2

E3

Q16BC548B

C1

B2

E3

Q4

2N3904

C3

B2 E

1

Q6

2N3906VER2

R27RES1

Corriente6

ti

tierrita

Avance R

Retroceso

VoltajeDoblado

corriente3sietev

1

2

3

45

J1

CON5

Parte lógica y aislamiento

Dos puentes-H para el motor de velocidad

Regulador de voltajeAlimentación

Fig

ura

A.2

:La

tarjetade

poten

ciade

velocid

adse

div

ide

entres

partes,

aislamien

to,logica

ypoten

cia.

Page 103: Control Visual de Trayectorias para un Vehículo Autónomo ...

A.4. Concentradora de perifericos 79

C1

CAPACITOR

1 3

2

V V

ADJ

IN OUT

U1

LM317

+ C2

CAPACITOR POL

R2

RES1

1 23 4

5 67 8

JP1

ICL7662

7v

D1DIODE

D2

DIODE+

C3

CAPACITOR POL + C4

CAPACITOR POL

1

2

J1

CON2

7v

11

22

33

R1

POTENCIOMETRO

12

J2

CON2

1 2

3 45 67 8

JP2

ICL7662 D3

DIODE D4

DIODE

+

C5CAPACITOR POL

+ C6

CAPACITOR POL

Figura A.3: La tarjeta dobladora de voltaje se divide en tres secciones: dosdobladores de voltaje y un regulador variable de voltaje.

1 23 45 6

7 89 10

JP8

HEADER 5X2

A0A1A2

A3

A4A5A6

A7

1 2

3 45 67 89 10

JP16

HEADER 5X2

VCC

GND_POWER

F1

F2F3

F4F5

F6F7

1 2

3 45 67 89 10

JP6

PWM

I1

I2I3

1 2

3 45 67 89 10

JP9

INT

P0P1

P2P3

P4P5

P6

1 2

3 45 67 89 10

JP7

External Counters

CNT0CNT1

CNT2CNT3

R8RES1

VCC

D1LED

GND_POWER

R1RES1

VCC

GND_POWER123

J2

CON3

123

J1

CON3

R2RES1

VCC

GND_POWER

123

PWM Dir

CON3

GND_POWER

VCC

1 23 4

5 67 89 10

JP2

Puerto A

A0

A1

A2

A4A5

VCC

GND_POWER

4

56

U1B

74F08

9

108

U1C

74F08

P3

P4

P4

I0CNT3

GND_POWER

VCCF0

GND_POWERVCC

1

234

5

J91

CON5

12

345

J90

CON5

F1F2

F3

I0

162738495

J6

DB9

162738495

J7

DB9

F0

GND

Sensores de velocidad

Motor de velocidad

Indicador prendido

Convertidores Analogo-Dital

Señales de potencia

Puertos de entrada

Comunicacion RF

Figura A.4: La tarjeta concentradora de perifericos enlaza las senales de lossensores y actuadores hacia el microcontrolador.

Page 104: Control Visual de Trayectorias para un Vehículo Autónomo ...
Page 105: Control Visual de Trayectorias para un Vehículo Autónomo ...

Apendice B

Interfaz grafica

El desarrollo requirio unir dos programas computacionales independientes: elprograma que controla a los VA del Laboratorio de Robotica del CSI y un sistemavisual con camara movil[Vazquez 02, Ortega 06]. Ambos trabajos se han desarrolladodurante varios anos por diferentes estudiantes. Con el fin de mostrar las herramientasque el sistema proporciona al usuario, a continuacion se describe la interfaz realizaday su modo de operacion.

La Figura B.1 muestra la ventana principal del programa. Desde esta ventana seabren los programas del VA y de vision computacional que se han realizado en este yotros proyectos de investigacion dentro del laboratorio.

Figura B.1: Ventana principal de la interfaz grafica.

En la parte superior de la ventana se ubica el menu de opciones. Existen cuatro op-ciones principales a escoger: Configuracion, Progs. VA, Progs. Camara, Sensoresy la opcion de Ayuda, la cual contiene una descripcion del proyecto y sus autores.

81

Page 106: Control Visual de Trayectorias para un Vehículo Autónomo ...

82 Apendice B. Interfaz grafica

B.1 Configuracion

Dentro de la opcion de Configuracion se encuentran la opcion de Configuracion

y Salir. En la primera opcion se abre una ventana para configurar las opciones decomunicacion con el vehıculo y los sensores, ası como los valores de configuracion parael vehıculo. La segunda opcion cierra el programa.

La ventana de Configuracion contiene varios parametros de configuracion para laejecucion del seguimiento de la trayectoria. La Figura B.2 muestra la ventana de con-figuracion. A continuacion se describen los diferentes conjuntos de parametros a con-figurar:

Puertos de comunicacion. Se coloca el numero del puerto serial a utilizar para elvehıculo y para los diversos sensores.

Datos a grabar. Se seleccionan los datos a grabar.

Sensores. Se seleccionan los sensores que se utilizan en la prueba, ya sea GPS, lasero camara.

Vehıculo a utilizar. Se escoge entre los diferentes VA, vehıculo a escala o tamanoreal.

Ventanas visibles. Se seleccionan las ventanas que se quieren que se abran al prin-cipio de la ejecucion de la trayectoria.

Ajustes a Johnny. Se colocan valores de ajuste para el sensor GPS y el centro de ladireccion (no para uso en este proyecto).

Caracterısticas fusion:. Se selecciona si se utiliza o no la fusion de datos y que tipode fusion se va a realizar, en este caso se utiliza la fusion de Kalman.

Sensores a fusionar. Se escogen los sensores entre los cuales se va a realizar la fusionde datos.

Opciones varias .

Load. Se carga un archivo de configuracion de una direccion especıfica.

Save as. Se graba con un nombre diferente el archivo de configuracion.

Save default. Se graba con el nombre predeterminado el archivo de configu-racion.

OK. Se acepta la configuracion que tiene.

Cancel. Se sale de la ventana de configuracion sin hacer modificaciones.

Page 107: Control Visual de Trayectorias para un Vehículo Autónomo ...

B.2. Progs VA 83

Figura B.2: En la ventana de parametros de configuracion del VA se seleccio-nan los valores de ajuste para las pruebas.

B.2 Progs VA

En la opcion de Progs VA aparecen varios programas orientados hacia el VA. Lasopciones dentro de este menu son las siguientes:Simulacion, Calibracion de llantas,Planeacion de trayectoria, A continuacion se describe el funcionamiento de cadauna de las opciones a escoger:

Simulacion. Realiza la simulacion del avance del VA, utilizando datos de los variossensores que posee el vehıculo. Se utiliza para ajustar los algoritmos de fusion dedatos.

Calibracion de llantas. Esta opcion se utiliza para ajustar la orientacion de las llan-tas del vehıculo de tamano real, la opcion no esta habilitada para el vehıculo aescala.

Planeacion de trayectoria. Se utiliza esta ventana para planear trayectorias de for-ma manual o automatica. Es posible agregar obstaculos estaticos antes de planearlas trayectoria.

Corrida VA. Abre las ventanas para controlar al VA.

Page 108: Control Visual de Trayectorias para un Vehículo Autónomo ...

84 Apendice B. Interfaz grafica

Obtener puntos. Extrae puntos caracterısticos de una trayectoria realizada manual-mente, para volver a repetirla.

Graficar. Grafica la trayectoria realizada por el VA y las estimaciones hechas por lossensores.

Generar trayectoria. Abre un planeador, el cual genera trayectorias de forma au-tomatica o manual. Es posible agregar obstaculos fijos inicialmente, antes deplanear la trayectoria.

B.2.1 Corrida VA

Esta opcion abre la ventana principal para el seguimiento de trayectorias de los VA.Desde esta ventana, que se abre segun muestra la Figura B.3, se realizan las siguientesfunciones:

Ver. Abre diferentes ventanas para la supervision y control de VA. Entre las op-ciones de ventanas se encuentran: Manejo manual, graficas, indicadores graficos,planeador de trayectorias, laser y sistema visual.

Grabar. Se selecciona la informacion de los sensores que se va a grabar. Tambien semaneja el inicio y paro a la grabacion de la informacion.

Comunicacion. Abre y cierra los canales de comunicacion entre la computadora y elVA o bien entre la computadora y los sensores.

Graficador. Se maneja el inicio y paro del graficado de la posicion del vehıculo.

Figura B.3: La ventana del manejo de los VA permite enviar comandos haciael vehıculo para manejarlo de forma manual o automatico.

Page 109: Control Visual de Trayectorias para un Vehículo Autónomo ...

B.2. Progs VA 85

Dentro de las opciones de Ver, el manejo manual es de gran importancia, ya quedesde esta ventana se manipula al vehıculo en forma manual y se envıan los coman-dos para iniciar el seguimiento autonomo de una trayectoria. Por ello se ampliara lainformacion sobre esta ventana.

B.2.2 Manejo Automatico y Manual

La ventana de manejo manual sirve para enviar comandos desde la computadorahacia el VA. La ventana, que se muestra en la Figura B.4, se puede dividir en tressecciones horizontales numeradas de izquierda a derecha. Para el manejo automaticodel vehıculo solamente se utiliza la primera seccion, la cual se encuentra en el extremoizquierdo de la ventana. Las dos secciones restantes envıan comandos para el manejomanual del vehıculo. A continuacion se describe cada una de las secciones de la ventana:

Figura B.4: Ventana para el envıo de comandos al VA.

Primera seccion .

Asignar. Se envıa la trayectoria hacia el vehıculo.

Comenzar. Inicia el seguimiento automatico de la trayectoria.

Stop. Se detiene el vehıculo.

Segunda seccion .

Env. : Se envıa un comando y un valor seleccionado dentro de la casilla superior.

Obt. : Obtiene el valor del comando seleccionado.

Encendido/Apagado. Enciende o apaga el vehıculo (solamente el VA detamano real).

Adelante. Establece el avance del vehıculo hacia adelante.

Reversa. Establece el avance del vehıculo hacia atras.

Luz Delantera. Prende la luz delantera (solamente el VA de tamano real).

Page 110: Control Visual de Trayectorias para un Vehículo Autónomo ...

86 Apendice B. Interfaz grafica

Luz Trasera. Prende la luz trasera (solamente el VA de tamano real).

Claxon. Prende el claxon (solamente el VA de tamano real).

Tercera seccion .

Direccion. Se envıa un comando de direccion al vehıculo, con el valor especifi-cado en la caja de texto a su izquierda.

Velocidad. Se envıa un comando de velocidad al vehıculo, con el valor especifi-cado en la caja de texto a su izquierda.

Activa la direccion (solamente el VA de tamano real).

Aumenta la velocidad.

Activa la velocidad (solamente el VA de tamano real).

Gira la direccion hacia la izquierda.

Disminuye la velocidad.

Gira la direccion hacia la derecha.

B.3 Progs Camara

La opcion de Progs Camara contiene varios programas orientados a la operaciondel sistema visual. Las opciones dentro del menu son las siguientes: Calibracion yRecording. A continuacion se describe el funcionamiento de cada una de las opcionesa escoger:

Calibrator. Esta ventana se utiliza para obtener los valores intrınsecos y extrınsecosde la camara.

Recording. Sirve para grabar una secuencia de imagenes desde la camara.

La ventana principal de la camara se muestra en la Figura B.5, en la cual se mues-tran las imagenes capturadas por la camara en tiempo real o se reproducen grabacioneshechas con anterioridad. Para realizar el seguimiento se selecciona el VA dentro de laimagen y se aprieta el boton Tr. Desde esta ventana se mueve la camara haciendo uso

Page 111: Control Visual de Trayectorias para un Vehículo Autónomo ...

B.3. Progs Camara 87

Figura B.5: Ventana principal del seguimiento visual, en ella se despliega laimagen de la camara y el seguimiento del VA.

de las flechas que se encuentran dentro de la ventana.

A continuacion se describen brevemente cada uno de los botones de la ventana:

On: Comienza la adquisicion de imagenes desde la camara o reproduce una secuenciagrabada anteriormente.

Re. Envıa el reinicio (“reset”) en la posicion de la camara.

Tr. Comienza el seguimiento del objeto seleccionado.

En. Adquiere imagenes de posiciones especıficas.

Gr. Comienza a grabar las imagenes adquiridas desde la camara.

PCf. Abre la ventana para la configuracion de parametros de la camara.

Cfg. Abre la ventana de configuracion de parametros del seguimiento visual.

B.3.1 Configuracion de parametros de la camara

La Figura B.6 muestra la pantalla de configuracion de parametros de la camaradesde la cual se modifican parametros de posicion y del lente de la camara. Esta ventana

Page 112: Control Visual de Trayectorias para un Vehículo Autónomo ...

88 Apendice B. Interfaz grafica

se habilita presionando la opcion “PCF”de la ventana anterior. En esta ventana sedefine el nivel de intensidad luminosa, disminuyendolo para mejorar las imagenes endıas con mucho sol o aumentandolo para cuando hay poca luz. Se modifica, de igualforma, la opcion de la camara segun opera en interior o en exterior. A continuacion sedescriben los parametros que se modifican de la camara:

Move camera. Mueve horizontal o verticalmente la camara. La opcion “H” coloca ala camara en la posicion inicial de la camara.

Zoom. El acercamiento de la camara.

Camera white balance. Varıa el balance de lo colores, para ajustar segun la camarase encuentre en interiores o en exteriores.

Camera automatic exposure. Escoge el tipo de apertura del lente que se quiere enla camara: automatico o por intensidad luminosa.

Camera Bright. Varıa la intensidad luminosa de la imagen.

Camera exposure compensation. Varia la exposicion del lente.

Camera Backlight. Prende o apaga la luz interna de la camara.

Camera FlkrCancel. Activa o desactiva un filtro de cancelacion.

Go to. Se introducen coordenadas especıficas en las cuales se quiere colocar la camara.Los parametros de entrada son la posicion X y Y

B.4 Sensores

La opcion de Sensores contiene programas para verificar el funcionamiento deutilizacion del sensor laser y visual del vehıculo. Las opciones dentro del menu son lassiguientes: Laser y Camara. A continuacion se describe el funcionamiento de cadauna de las opciones a escoger:

Laser. En esta ventana se dibujan los datos percibidos por el sensor laser y el resultadode algunos algoritmos aplicados sobre la imagen lineal, producidos por ese sensor.

Camara. Esta opcion abre la ventana para observar la imagen capturada desde lacamara, donde se realiza el seguimiento visual.

Page 113: Control Visual de Trayectorias para un Vehículo Autónomo ...

B.4. Sensores 89

Figura B.6: Ventana para modificar diversos parametros de la camara, entreellos, la posicion, intensidad luminosa y contraste.

Page 114: Control Visual de Trayectorias para un Vehículo Autónomo ...
Page 115: Control Visual de Trayectorias para un Vehículo Autónomo ...

Apendice C

Instrumentacion del vehıculo

Para darle movimiento a un vehıculo es necesario incluir actuadores que manipulentanto la velocidad como la direccion. Los actuadores tienen cierto grado de error, elcual se disminuye agregando sensores. La instrumentacion es la primera etapa en eldesarrollo de un VA y necesaria para manipular al vehıculo, con precision, utilizandoun microcontrolador o computadora.

Esta seccion describe los actuadores y sensores implementados en el vehıculo loscuales le permiten realizar trayectorias de manera autonoma. El procesamiento delvehıculo se realiza dentro de un microcontrolador, el cual envıa senales digitales;por tanto es necesario crear dispositivos que transformen esa senal digital en algunmovimiento fısico. De igual forma, para sensar la velocidad es necesario un dispositivoque transforme ese desplazamiento, sobre perıodos de tiempo, en una senal digital.

Se crearon dos tarjetas de circuitos impresos: una de ellas sirve para el control delmotor de velocidad y la otra para el control del motor de direccion. En el caso de latarjeta de velocidad fue necesario crear una etapa de potencia para alimentar correcta-mente el motor. La tarjeta de control del motor de direccion es solamente una tarjetaque sirve de puente a las senales de comunicacion con el servomotor. Este servomotorse encarga de transformar una senal de PWM, enviada desde el microcontrolador, enun desplazamiento del mecanismo Ackerman para la direccion.

C.1 Actuador de velocidad

Para otorgar movilidad al vehıculo es necesario controlar el motor que se encuentraacoplado al eje trasero del vehıculo. El modo mas comun para controlar motores de CDes utilizar un puente-H como se ve en el trabajo realizado por [Vazquez 02]. Un puente-H es un arreglo de 4 compuertas, o elementos que permitan cerrar un circuito electricocoordinadamente. El puente-H funciona cuando se activan en pareja las compuertaspara dejar fluir la corriente en un sentido y por tanto hacer girar el motor en ese mismosentido. Para mover al motor en sentido contrario, se activan la pareja de compuertascontrarias. La tarjeta de potencia, que maneja el motor del vehıculo, utiliza transistores

91

Page 116: Control Visual de Trayectorias para un Vehículo Autónomo ...

92 Apendice C. Instrumentacion del vehıculo

para construir el puente-H. La mayor ventaja de utilizar transistores para manejar unpuente-H es su velocidad, ya se activan y responden mucho mas rapido que elementoscomo los relevadores.

V+

T 1

T 3

T 2

T 4

M

V+

T 1

T 3

T 2

T 4

M

I I

Figura C.1: Diagramas del funcionamiento de un puente-H, a la izquierdaestan activados los transistores T1 y T4 mientras que a la derecha T2 y T3.

La Figura C.1 aparecen las representaciones de los dos unicos casos validos dentrodel puente-H. Cuando se activa T1 y T4 la corriente hace girar el motor hacia laderecha. Cuando se activan T2 y T3 la corriente fluye en el motor hacia la izquierda.Cualquier otra combinacion de transistores activados causarıan un serio dano alcircuito: en especial el caso de activar los 4 transistores al mismo tiempo.

El puente-H controla el avance hacia adelante o hacia atras del vehıculo, pero fal-ta regular su velocidad. Para controlar esta velocidad se utiliza una senal de pulsomodulado o PWM, la cual es una senal digital que genera el microcontrolador, con lassiguientes caracterısticas: es una senal cuadrada de voltaje constante; mantiene unafrecuencia constante; el tiempo que se mantiene en alto la senal dentro de frecuenciaes variable.

En la Figura C.2 viene un ejemplo con una senal de PWM a varios ciclos de trabajo.A un mayor ciclo de trabajo, mayor es el tiempo que se mantiene la senal en alto. Lasenal de PWM permite manipular la velocidad del motor ya que solamente en ciertosmomentos va a recibir corriente el motor y en el resto del ciclo no. Si se quiere teneruna velocidad mas grande, se incrementa el tiempo de la senal que mantiene al motoralimentado y si se quiere disminuir la velocidad, se disminuye el tiempo que la senalse encuentra en un nivel de alimentacion. Ası, el ciclo de trabajo o “duty cicle” de lasenal de PWM indica en que porcentaje se encuentra activa la senal que se envıa. Elciclo de trabajo de la senal obedece a la proporcion,

DC =tH

T× 100 (C.1)

Page 117: Control Visual de Trayectorias para un Vehículo Autónomo ...

C.2. Actuador de la direccion 93

25%

50%

75%

tH

T

Figura C.2: Diferentes frecuencias de la senal de PWM, a mayor frecuenciatH tiende a T .

de donde tH es el tiempo que se mantiene en alimentando el motor, T es el perıodo dela senal.

C.2 Actuador de la direccion

Para mover la direccion del vehıculo utilizando una senal digital del microcontro-lador es necesario un elemento que transforme tal senal digital, en un movimientode las llantas. Al vehıculo se le acoplo un servomotor para mover la direccion delas llantas, el cual se maneja a traves de una senal de PWM con un rango de giromaximo de 180°. Aunque el servomotor cuente con amplio rango de giro, solamente seutiliza una porcion de ese rango, pues se encuentra limitado fısicamente por los girosmaximos del vehıculo. Cada ciclo de trabajo de la senal de PWM es una posicion delmotor; si se incrementa el ciclo de trabajo, el servomotor gira hacia un sentido y giraen sentido contrario con el decremento del ciclo de trabajo.

El servomotor tiene un sistema de retroalimentacion interno; por tanto llega siemprecorrectamente a la posicion requerida. Ahora bien, aunque el servomotor siempre lleguea la posicion, no significa que las llantas van a hacer lo mismo, ya que existe juego entreel sistema de acoplamiento a la direccion hasta el acoplamiento de las llantas. Losresultados de la implementacion del actuador de la direccion se detallan en la Seccion5.3.8.

C.3 Sensado de la velocidad

La velocidad se mide mediante un sensor incremental que indica el desplazamientode las llantas entre un perıodo de tiempo y otro [Palacios 00]. Los codificadoresopticos y discos ranurados colocados en ambas llantas traseras sensan el movimientode las llantas. Los discos ranurados se colocaron en los ejes de las llantas mientras

Page 118: Control Visual de Trayectorias para un Vehículo Autónomo ...

94 Apendice C. Instrumentacion del vehıculo

los codificadores, que generan una senal pulsada por el paso de la luz, en una parteestatica del vehıculo. La ventajas de este tipo de sensor es su economicidad y facilidadde implementacion; la desventaja es que no se detecta el sentido del desplazamiento.Ademas, al patinar las llantas, se detecta un desplazamiento del vehıculo.

El codificador optico se coloca en una posicion que sense los agujeros del disco ranu-rado. El disco ranurado gira con la llanta, el codificador optico detecta el desplazamientocuando una parte vacıa del disco pasa por el codificador. La salida del codificador esuna senal cuadrada; cada pulso detectado es un pequeno desplazamiento del vehıculo.La distancia recorrida por cada pulso es una proporcion del perımetro de la llanta ylas ranuras del sensor,

D =Pll

Npulsos

(C.2)

donde Pll es el perımetro de la llanta y Npulsos es el numero de pulsos en una vueltade la llanta. El desplazamiento total de vehıculo en un perıodo de tiempo se obtienemultiplicando el desplazamiento por pulso (D) y la cantidad de pulsos registrados enese periodo.

C.4 Sensado de la direccion

La retroalimentacion para el controlador de direccion consiste en la medicion de laorientacion actual de las llantas. Ası, se debe colocar un sensor lo mas cercano al lugarde movimiento; por tanto, mientras mas cerca se encuentre de la llanta mejor sera sudesempeno.

Debido a que el sistema esta implementado en un microcontrolador, el valor desalida del sensor debe de ser un valor digital. Para medir el desplazamiento de lasllantas se tienen las opciones de utilizar un potenciometro o codificadores opticos.El principal problema de los codificadores opticos es que la calidad depende deltamano del codificador; lo cual es una limitante para un vehıculo a escala. Lospotenciometros son mas pequenos, mas sencillos de conseguir y su implementaciones sencilla [Vazquez 02]. El potenciometro se compone de una resistencia con undevanado central que recorre todo el rango. La salida es una senal analoga; por tantose debe de discretizar y convertir a una senal digital. El microcontrolador utilizadocontiene un convertidor analogo-digital de 10 bits.

El sensor mide la orientacion de la llanta en el eje de giro de la llanta. El voltajede salida indica la orientacion las llantas del vehıculo,

Vo =Vi

R1 + R2

R1, (C.3)

donde R1 y R2 es la resistencia en la cual se divide el potenciometro y Vi es el voltajede entrada.

Page 119: Control Visual de Trayectorias para un Vehículo Autónomo ...

Bibliografıa

[Aguilar 02] C. Aguilar. Seguimiento visual de personas en tiempo real usandometodos derivativos. Tesis de Maestria, ITESM, Campus Monterrey,Monterrey, N.L., Mexico, 2002.

[Albores 06] C. Albores. Analysis, Architecture, and Fusion Methods for VehicleAutomation. Tesis Doctoral, ITESM, Campus Monterrey, Monterrey,N.L., Mexico, 2006.

[Belongie 04] S. Belongie. Planar Scenes and Homography, 2004.

[Comaniciu 99] D. Comaniciu y V. Ramesh. Mean shift and optimal prediction forefficient object tracking. 1999.

[Comaniciu 00] D. Comaniciu y P. Ramesh V. Meer. Real-time Tracking of Non-RigidObjects Using Mean Shift. 2000.

[Comaniciu 02] D. Comaniciu y P. Meer. Mean Shift: A Robust Approach TowardFeature Space Analysis. IEEE Transactions on Pattern Analysis andMachine Intelligence, Vol. 24, No. 5, pp. 603–619, 2002.

[de Agapito 01] L. de Agapito, E. Hayman y I. Reid. Self-Calibration of Rotating andZooming Cameras. International Journal of Computer Vision, Vol. 45,No. 2, 2001.

[Devroye 97] L. Devroye, L. Gyrfi y Lugosi G. A probabilistic theory of patternrecognition. Number 31 in Applications of Mathematics StochasticModelling and Applied Probability. Springer, New York, USA, 1997.

[Drolet 00] L. Drolet, F. Michaud y J Cote. Adaptalbe sensor fusion using multipleKalman filters. In Proceedings IEEE/RSJ International Conference onIntelligent Robots and Systems (IROS), Takamatsu, Japan, 2000.

[Forsyth 02] D. A. Forsyth y J. Ponce. Computer vision: a modern approach.Prentice-Hall, 2002.

[Gonzalez 05] F. Gonzalez. Automatizacion de la direccion de un vehıculo autonomo.Tesis de Maestria, ITESM, Campus Monterrey, Monterrey, N.L., Mexi-co, 2005.

95

Page 120: Control Visual de Trayectorias para un Vehículo Autónomo ...

96 Bibliografıa

[Guevara 00] E. Guevara. Seguimiento visual de personas usando metodos integra-tivos. Tesis de Maestria, ITESM, Campus Monterrey, Monterrey, N.L.,Mexico, 2000.

[H. 02] William H., Lin Ch. y V. Tyrone. 3-D Motion and Structure Esti-mation Using Inertial Sensors and Computer Vision for AugmentedReality. Presence: Teleoperators and Virtual Environments, Vol. 11,No. 5, pp. 474–492, 2002.

[Laumond 97] J.P. Laumond, editeur. Robot motion planning and control. SpringerLAAS-CNRS, Toulouse, France, 1997.

[Ollero 93] A. Ollero, A. Simon, F. Garcıa y V. Torres. Integrated MechanicalDesign o a New Mobile Robot. In Proc. SICICA ’92 IFAC Symposium,volume 29-4, pp. 3–18, 1993.

[Ollero 01] A. Ollero. Robotica : manipuladores y robots moviles. Marcombo,Barcelona, 2001.

[Ortega 06] H. Ortega. Visual tracking of multiple objects with mobile camera indynamic enviroments. Tesis de Maestria, ITESM, Campus Monterrey,Monterrey, N.L., Mexico, 2006.

[Palacios 00] G. Palacios. Control de direccion de un vehıculo autonomo. Tesis deMaestria, ITESM, Campus Monterrey, Monterrey, N.L., Mexico, 2000.

[Tebo 04] A. Tebo. Sensor fusion employs a variety of architecture, algorithms,and applications, 2004.

[Tsai 87] R. Tsai. A versatile camera calibration technique for high-accuracy 3Dmachine vision metrology using off-the-shelf TV cameras and lenses.IEEE Journal of Robotics and Automation, Vol. 3, No. 4, pp. 323–344,1987.

[vis 96] VISCA/RS-232C Command List, 1996. ©Sony Corporation.

[Vazquez 02] J. Vazquez. Control de direccion de un vehıculo autonomo con retroal-imentacion visual. Tesis de Maestria, ITESM, Campus Monterrey,Monterrey, N.L., Mexico, 2002.

[Zhang 99] Z. Zhang. Flexible camera calibration by viewing a plane from unknownorientations. IEEE Interntional Conference on Computer Vision (IC-CV99), pp. 666–673, 1999.