101

EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS
Page 2: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

A F F O R D A N C E S Y FLUJO ÓPTICO:

EVITACIÓN DE COL IS IONES DE UN VEHÍCULO

A U T Ó N O M O

TESIS

MAESTRÍA EN CIENCIAS C O N ESPECIALIDAD EN

S I S T E M A S INTELIGENTES

INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY

POR

C E S A R DE L O S RÍOS GONZÁLEZ

A G O S T O 2011

Page 3: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

AFFORDANCES Y FLUJO ÓPTICO: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO

TESIS

MAESTRÍA EN CIENCIAS CON ESPECIALIDAD EN

SISTEMAS INTELIGENTES

INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY

POR: CÉSAR DE LOS RÍOS GONZÁLEZ

AGOSTO DE 2011

Page 4: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

© César de los Ríos González, 2011

Page 5: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

AfFordances y Flujo Óptico: Evitación de Colisiones

de un Vehículo Autónomo

por

Ing. César de los Ríos González

Tesis

Presentada al Programa de Graduados de la

Escuela de Ingeniería y Tecnologías de Información

como requisito parcial para obtener el grado académico de

Maestro en Ciencias

especialidad en

Sistemas Inteligentes

Instituto Tecnológico y de Estudios Superiores de Monterrey

Campus Monterrey

Agosto de 2011

Page 6: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

A mi madre.

Page 7: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

Reconocimientos

Extiendo un reconocimiento al Dr. Arturo Galván por su asesoría, dirección, dedi­

cación y paciencia para concretar el presente trabajo. Sin su apoyo esta obra no habría

sido posible.

Mi más sincero reconocimiento también para el Dr. Santiago Conant y el Ing.

Miguel González. Sus aportaciones enriquecieron significativamente el presente trabajo.

Extiendo un reconocimiento también a mi madre quien me alentó a seguir adelante;

y a valorar los desvelos y sacrificios para concretar esta meta.

El apoyo de mi esposa y el entusiasmo de mis hijos y mis afectos fueron importantes

en momentos críticos del desarrollo de esta empresa. Va mi reconocimiento para ellos.

Agradezco también a los profesores de la maestría quienes con su trabajo dentro

y fuera del aula han enriquecido mi formación académica.

Las conversaciones informales y proyectos realizados con mis compañeros de la

maestría han influeciado positivamente el desarrollo de este trabajo. También extiendo

un gran reconocimiento a ellos.

CÉSAR DE LOS RÍOS GONZÁLEZ

Instituto Tecnológico y de Estudios Superiores de Monterrey

Agosto 2011

v

Page 8: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

Affordances y Flujo Óptico: Evitación de Colisiones

de un Vehículo Autónomo

César de los Ríos González, M.C. Instituto Tecnológico y de Estudios Superiores de Monterrey, 2011

Asesor de la tesis: Dr. Arturo Galván Rodríguez

Los siguientes elementos constituyen un marco referencial consistente para guiar la construcción de un agente inteligente móvil: (1) la utilización de sensores de flujo óptico (2) la utilización de perceptos bajo el enfoque de extracción de características y (3) una estrategia basada en la teoría de percepción directa y affordances. Este es el marco referencial de esta tesis.

En la naturaleza hay insectos que extraen información del flujo óptico para dirigir su vuelo, reaccionar y cambiar de dirección en menos de 30 milisegundos. Trasladar este fenómeno a un agente inteligente de diferentes capacidades motrices constituye una oportunidad en la Inteligencia Artificial.

Se desarrolla una estrategia basada en affordances y sensores de flujo óptico para la evitación de colisiones de un vehículo autónomo que opera en el espacio proximal. El método está integrado por la teoría de percepción directa y affordances. De acuerdo a los experimentos realizados, el vehículo autónomo que se implemento en esta tesis es capaz de detectar y evitar colisiones con obstáculos que se encuentran en un rango de distancia de 10 a 80 centímetros cuando viaja a una velocidad máxima de 4.8 m/s.

Page 9: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

Índice general

Reconocimientos V

Resumen VI

Indice de cuadros X

Índice de figuras XI

Capítulo 1. Introducción 1

1.1. L a evitación de colisiones y sus técnicas 1

1.2. F lu jo Óptico: breve introducción 4

1.3. Affordances: algunos conceptos 7

1.4. E l espacio proximal del V A y su contexto en el alcance de este trabajo . 8

Capítulo 2. Marco Teórico 11

2.1. Teoría de la percepción directa y affordances 11

2.2. Percepción y Affordances en la Inteligencia Art i f i c ia l (IA) 12

2.3. F lu jo Óptico: Desarrollo Teórico 14

2.4. Técnicas para el cálculo de flujo óptico 17

2.4.1. Rastreo en una secuencia de imágenes 18

2.4.2. Rastreo de puntos significativos en la escena 19

2.4.3. Cálculo del F lu jo Óptico 22

VII

Page 10: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

2.4.4. Método de Lucas-Kanade (flujo óptico disperso) 23

2.4.5. Método de Horn-Schunck (flujo óptico denso) 30

2.5. Actuadores y Control 31

2.5.1. Servomotores RC 31

2.5.2. Sistema de Control Motriz 32

2.6. Resumen 33

Capítulo 3. Arquitectura y Diseño 34

3.1. Arquitectura Conceptual 34

3.2. Arquitectura Lógica 37

3.2.1. Procesador de Flujo Óptico 38

3.2.2. Procesador de Affordances 40

3.2.3. Comando de Trayectorias 41

3.2.4. Sistema de Control Motriz 42

3.2.5. Actuadores 44

3.3. Arquitectura Física 45

Capítulo 4. Implementación 48

4.1. Sistema de Procesamiento Central - desarrollo 50

4.2. Sistema Mínimo - desarrollo 51

4.3. Sensor de Aceleración - desarrollo 53

Capítulo 5. Resultados 54

5.1. Diseño de experimentos 54

5.2. Categorización de los Resultados 56

5.2.1. Affordance colisión correctamente asociado 56

5.2.2. Affordance pasaje correctamente asociado 57

5.2.3. Falso positivo: Affordance colisión sin obstáculo próximo 57

VIII

Page 11: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

5.2.4. Falso negativo: Affordance pasaje con obstáculo próximo 58

5.3. Problemas presentados 67

5.3.1. Lentitud en la comunicación y su impacto en falsos positivos y

falsos negativos 67

5.3.2. Confusión de puntos de la escena 70

5.4. Otros resultados 71

Capítulo 6. Conclusiones 73

Bibliografía 76

Apéndice A. Experimentos para la calibración de los servomotores 79

A.l. Calibración del servomotor que controla la dirección 82

A.2. Calibración del servomotor que controla la velocidad 85

Vita 86

IX

Page 12: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

índice de cuadros

1.1. Desempeño de sonares y flujo óptico en la evitación de colisiones 5

3.1. Elementos de la Arquitectura Física 45

4.1. Sistema operativo y hardware del Sistema de Procesamiento Central . . 49

4.2. Componentes de software relevantes para este proyecto y hospedados en

el Sistema de Procesamiento Central 50

4.3. Sistema operativo y hardware del Sistema Mínimo 52

4.4. Componentes de software relevantes para este proyecto y hospedados en

el Sistema Mínimo 52

4.5. Sistema operativo y hardware del Sensor de Aceleración 53

5.1. Resultados obtenidos del VA ante experimentos realizados 55

x

Page 13: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

índice de figuras

1.1. Procesos participantes en una estrategia para la evitación de colisiones. . 3

1.2. Técnicas y tecnologías para la detección de obstáculos 4

1.3. Evitación de colisiones en un robot humanoide mediante flujo óptico y

sonar 6

2.1. Teorías de Percepción y sus implicaciones en la Utilización de Perceptos

en la IA 14

2.2. Flujo óptico en imágenes 16

2.3. Foco de expansión en imágenes 17

2.4. Las esquinas son buenas características para rastrear. 20

2.5. Problema de la apertura 27

2.6. Tren de pulsos para el control de un servomotor 32

3.1. Arquitectura Conceptual 35

3.2. Arquitectura Lógica del Procesador de Flujo Óptico 38

3.3. Arquitectura Lógica del Procesador de Affordances 40

3.4. Arquitectura Lógica del Comando de Trayectorias 42

3.5. Arquitectura Lógica del Sistema de Control Motriz 43

3.6. Arquitectura Lógica de los Actuadores 44

3.7. Arquitectura Física 46

4.1. Despliegue físico del Vehículo Autónomo 49

XI

Page 14: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

5.1. Affordance colisión correctamente asociado - primera muestra 57

5.2. Aceleración propioceptiva del VA (affordance colisión correctamente aso­

ciado) - primera muestra 58

5.3. Histograma de flujo óptico medido (affordance colisión correctamente

asociado) - primera muestra 59

5.4. Affordance colisión correctamente asociado - segunda muestra 59

5.5. Aceleración propioceptiva del VA (Affordance colisión correctamente

asociado) - segunda muestra 60

5.6. Histograma de flujo óptico medido (affordance colisión correctamente

asociado) - segunda muestra 60

5.7. Affordance pasaje correctamente asociado - primera muestra 61

5.8. Aceleración propioceptiva del VA (Affordance pasaje correctamente aso­

ciado) - primera muestra 61

5.9. Histograma de flujo óptico medido (affordance colisión correctamente

asociado) - primera muestra 62

5.10. Affordance pasaje correctamente asociado - segunda muestra 62

5.11. Aceleración propioceptiva del VA (Affordance pasaje correctamente aso­

ciado) - segunda muestra 63

5.12. Histograma de flujo óptico medido (affordance colisión correctamente

asociado) - segunda muestra 63

5.13. Affordance colisión erróneamente asociado 64

5.14. Aceleración propioceptiva del VA (Affordance colisión erróneamente aso­

ciado) 64

5.15. Histograma de flujo óptico medido (Affordance colisión erróneamente

asociado) 65

5.16. Affordance pasaje erróneamente asociado 65

XII

Page 15: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

5.17. Aceleración propioceptiva del VA (Affordance pasaje erróneamente aso­

ciado) 66

5.18. Histograma de flujo óptico medido (Affordance pasaje erróneamente aso­

ciado) 66

5.19. Lentitud en la comunicación inalámbrica 68

5.20. Lentitud en la comunicación inalámbrica y su impacto en los falsos ne­

gativos 69

5.21. Lentitud en la comunicación inalámbrica y su impacto en los falsos po­

sitivos 70

5.22. Confusión de puntos en la escena 71

5.23. Efecto de la iluminación natural en el desempeño del VA 72

A.l . Calibración de la dirección: inicio desde el valor mínimo seguro del ser­

vomotor 79

A.2. Calibración de la dirección: avance desde el valor mínimo seguro del

servomotor 80

A.3. Calibración de la dirección: rotaciones mínimas encontradas 81

A.4. Calibración de la dirección: aumenta la amplitud de rotación nuevamente. 82

A.5. Calibración de la dirección: aproximación a los valores más altos del

sevomotor 83

A.6. Calibración de la dirección: los valores más altos del servomotor que

controla la dirección 83

A.7. Calibración de la dirección: trayectoria lineal - parte 1 84

A.8. Calibración de la dirección: trayectoria lineal - parte II 84

A.9. Calibración de la velocidad. Aceleración en el eje X en una trayectorial

lineal) 85

XIII

Page 16: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

Capítulo 1

Introducción

En este capítulo se presenta:

• Una breve introducción a la relevancia de las técnicas de evitación de colisiones

en los Vehículos Autónomos (VA).

• Una explicación de alto nivel acerca de las técnicas en la evitación de colisiones.

Se incluyen los procesos de alto nivel; asi como algunos sensores utilizados para

este propósito.

• Una descripción del flujo óptico y su utilización en la detección de obstáculos.

• Una breve introducción al concepto affordance y su relevancia en la evitación de

colisiones.

• Una breve explicación contextual del espacio proximal en el alcance de este tra­

bajo.

1.1. La evitación de colisiones y sus técnicas

Las técnicas para la evitación de colisiones son un tema de interés común en la

construcción de vehículos autónomos (VA). Es un requerimiento mandatorio que los VA

planifiquen y ejecuten trayectorias libres de obstáculos para cumplir con las demandas

1

Page 17: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

de seguridad y cuidado de los mismos VA; los cuales normalmente llevan consigo equipos

de instrumentación altamente especializados y costosos; o bien, transitan en ambientes

operativos que demandan una extrema precaución [2].

La evitación de colisiones inicia primero con la detección de posibles obstáculos

y esta detección permite prever una posible colisión tomando en cuenta información

tanto del VA como del medio ambiente. Es común ubicar la detección de obstáculos

en la dirección de movimiento del VA y utilizar medidas de proximidad calculadas a

partir de la adquisición de datos provistas por sensores.

Es importante aclarar que los algoritmos para la evitación de colisiones son habi-

tualmente implementados como funciones en tiempo real; cuyo objetivo, una vez que

se detecta una posible colisión, es planificar y ejecutar acciones evasivas que permitan

evitarla [2]. Así por ejemplo: un VA puede disminuir la velocidad, detener la marcha

o realizar una maniobra segura; y posteriormente notificar al sistema central acerca

de la situación para que se actualice el estado proprioceptivo del VA y emprenda las

acciones correctivas pertinentes. En la figura 1.1 se muestran los procesos que se han

mencionado.

Las técnicas para la evitación de colisiones en un VA pueden utilizar: información

provista por sensores en tiempo real y modelos detallados del medio ambiente en el cual

operan. Ambas técnicas no son mutuamente excluyentes (bien un VA puede perfecta­

mente incorporar las dos). Asimismo, estas técnicas deben considerar la velocidad del

VA durante su desplazamiento; así como las restricciones de tiempo que imponen las

condiciones de operación. El presente trabajo toma como uno de sus pilares la primera

técnica. Más adelante se describe el interés en esta técnica tomando como criterios el

costo computacional versus los modelos detallados del medio ambiente.

Existen diversas tecnologías utilizadas en la evitación de colisiones. Algunos sen­

sores que se utilizan para este propósito son: sensores de contacto, sensores de tacto,

sonares, láseres y sensores ópticos. Cada uno de ellos provee funciones específicas según

2

Page 18: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

Figura 1.1: Procesos participantes en una estrategia para la evitación de colisiones.

su naturaleza; y son utilizados en condiciones operativas que favorecen su uso. A muy

alto nivel, la figura 1.2 esquematiza las técnicas y tecnologías que se utilizan para la

detección de obstáculos.

Los sensores de contacto y de tacto son utilizados para el posicionamiento fino de

un VA y para evitar un contacto brusco con objetos muy cercanos. Normalmente se

utilizan para detectar obstáculos en las trayectorias de los manipuladores del VA. Su

utilización es limitada en la evitación de colisiones durante la navegación del mismo.

Los sonares y láseres tienen una amplia utilización en la navegación de VAs. Estos

sensores tienen una gran efectividad cuando el ambiente en el que operan está compues­

to por superficies planas con una alta capacidad de reflexión y que están posicionadas

perpendicularmente con respecto a la emisión del haz que emite el sonar o láser. Sin

embargo, su desempeño se ve negativamente afectado cuando los obstáculos carecen

de dichas superficies reflexivas; o bien, estos obstáculos están posicionados de tal for­

ma que no ofrecen superficies perpendiculares a la emisión del haz. Bajo estas últimas

3

Page 19: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

Figura 1.2: Técnicas y tecnologías para la detección de obstáculos

condiciones, es habitual que los sonares y láseres no sean efectivos para la evitación de

colisiones.

Los sensores ópticos —en particular las cámaras de visión—toman en cuenta la

información contenida en una imagen y básicamente se utilizan bajo dos enfoques:

para hacer una modelación del medio ambiente y a partir de ahí calcular obstáculos

en la trayectoria planeada que lleven hacia la evitación de colisiones; o bien, estos

sensores extraen información directamente de la imagen y partir de ahí determinan si

hay un posible obstáculo sin necesidad de modelar el ambiente operativo del VA. En la

figura 1.2 se señala el área (en líneas punteadas) que cubre las técnicas y tecnologías

para la detección de obstáculos que incorpora este trabajo. En el siguiente apartado

se mostrará que el flujo óptico (relevante en este desarrollo) es una técnica que se

implementa en cámaras de visión (i.e. cámara fotográfica).

1.2. Flujo Óptico: breve introducción

El presente trabajo utiliza la técnica del flujo óptico bajo el enfoque de extracción

de información sin modelación del medio ambiente. Más adelante se explica el deta-

4

Page 20: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

lie de este enfoque. Por ahora, se puede adelantar que la utilización del flujo óptico

complementa a la utilización de los sonares; pues su desempeño mejora en aquellas

situaciones en las que los sonares son negativamente afectados y viceversa; los sonares

se desempeñan mejor en aquellas situaciones en las que el flujo óptico tiene un bajo

desempeño (véase el cuadro 1.1).

Precisamente el desempeño de ambas tecnologías en la evitación de colisiones fue

experimentado empíricamente por el autor durante la ejecución del proyecto Planea-

ción de Trayectorias y Control de Movimientos en un Robot Humanoide. Este proyecto

involucró la utilización de robots humanoides y uno de los requerimientos era que éstos

no colisionaran ni con otros robots ni con las paredes del medio ambiente. El desem­

peño de los sonares en la evitación de colisiones con las paredes fue muy efectivo; pero

su desempeño cuando se aproximaba a otros robots era pobre: varias veces fallaron

en proveer la información para evitar la colisión con ellos. El trabajo desarrollado en

esta tesis para el cálculo de flujo óptico se utilizó para complementar la detección de

obstáculos mediante los sonares. De esta manera la suma de ambos permitió la detec­

ción efectiva de obstáculos tanto con paredes (detectadas por los sonares) como con

otros robots (detectados por el flujo óptico).

Cuadro 1.1: Desempeño de sonares y flujo óptico en la evitación de colisiones

Se puede obtener información valiosa mediante el análisis de secuencias de imáge­

nes que varían en el tiempo. En primera instancia pareciera que procesar secuencias

de imágenes es extremadamente complejo dado que el análisis de una sola imagen

es en sí mismo un reto considerable. Curiosamente, hay información que es más fácil

5

Page 21: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

(a) flujo ópt ico ( b ) sonar

Figura 1.3: Evitación de colisiones mediante flujo óptico y sonar. En la imagen de la izquierda el robot utilizó el flujo óptico que registró el robot frente a él para evitar la colisión. En la imagen de la derecha utilizó los sonares para evitar la colisión con el tubo de la portería y la pared ubicados frente a él.

de obtener en una secuencia de imágenes que varían en el tiempo [15]. Precisamente,

el flujo óptico proporciona información cuantitativa del movimiento aparente de los

objetos cuando la cámara se desplaza con respecto a ellos (o viceversa, cuando los ob­

jetos se desplazan con respecto a la cámara). En otras palabras, El flujo óptico extrae

información diferencial en una secuencia de imágenes que varían en el tiempo. Esta

información acerca del movimiento aparente es la que se explota en el presente trabajo

para la evitación de colisiones. En un sentido intuitivo, se puede afirmar que un mo­

vimiento aparente menor en la imagen, corresponde a una distancia mayor relativa; y

un movimiento aparente mayor, corresponde a una distancia más cercana del objeto en

cuestión.

Existen diversas técnicas para calcular el flujo óptico. Algunas de ellas privilegian

la exactitud y exhaustividad de los puntos de la imagen (incluyen la mayor cantidad

posible de pixeles y proveen un cálculo del movimiento aparente de mayor precisión).

Otras técnicas privilegian el costo (una menor complejidad computacional) compro­

metiendo la exhaustividad y admitiendo un nivel razonable de error; muchas veces,

parametrizable. Por la naturaleza de este proyecto, se escogió una técnica compatible

6

Page 22: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

con estos últimos criterios: un algoritmo que provee un desempeño razonable en cuanto

a precisión y exhaustividad a un costo computacional también razonable. Recuérdese

que este trabajo requiere detección de colisiones en tiempo real. El algoritmo utiliza­

do para calcular el flujo óptico se llama lukas-kanade en su modalidad piramidal (en

inglés se le conoce como Pyramid Lucas-Kanade optical flow). Mas adelante se explica

el detalle de esta técnica y su contexto en comparación con otras técnicas.

1.3. Affordances: algunos conceptos

El concepto de affordance fue creado por James J. Gibson en el dominio de la

psicología ecológica (particularmente en la disciplina de percepción visual) y pronto fue

utilizado en otros dominios como la Inteligencia Artificial. Los affordances son propie­

dades perceptuales del medio ambiente, que devienen aparentes cuando se aproxima a

la percepción desde una perspectiva ecológica [27]. De acuerdo a Gibson, los affordan­

ces del medio ambiente son lo que éste ofrece al animal, lo que le provee o proporciona

[12]. En otras palabras los affordances de un medio ambiente son las oportunidades de

acción que tiene un animal en dicho medio ambiente y son sistémicos en la interacción

animal-medio ambiente. Existen naturalmente sin necesidad de ser visibles, conocidos

o deseables por el animal.

Para un animal en locomoción, Gibson propone dos casos generales: obstáculo y

apertura. Un obstáculo es un objeto rígido -individual o ligado a otro objeto; una super­

ficie con oclusión de los bordes. Una apertura es un hueco o brecha en una superficie;

también con oclusión de los bordes. Un obstáculo ofrece un affordance colisión; y una

apertura ofrece un affordance pasaje (es decir, que permite pasar a través de él). Ambos

-obstáculo y apertura- tienen un contorno cerrado o casi cerrado en el arreglo óptico

ambiental. Se diferencian en que el borde de un obstáculo está dentro del contorno;

mientras que el borde de una apertura está fuera de dicho contorno [11].

7

Page 23: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

Trasladar el concepto de affordance a la Inteligencia Artificial es un paso natural

en el diseño de agentes inteligentes que interactuan de manera autónoma con su me­

dio ambiente. Si se reemplaza el término animal por agente inteligente y acotamos el

arreglo óptico ambiental a flujo óptico; la teoría de affordances adquiere un carácter

pragmático en esta disciplina. Una oportunidad concreta es la siguiente: las moscas

extraen información del flujo óptico y dicha información la proveen directamente a los

músculos encargados de la dirección del vuelo. Esto les permite reaccionar ante obstácu­

los -se sabe que éstos ofrecen un affordance colisión- del medio ambiente y cambiar de

dirección en menos de 30 milisegundos [23]. La oportunidad que se presenta en la In­

teligencia Artificial es trasladar esta habilidad de las moscas a un agente inteligente

de otras características motrices (es a este agente inteligente al que llamamos vehículo

autónomo). El presente trabajo explota dicha oportunidad acotado al siguiente alcan­

ce: desarrollar una estrategia basada en affordances y sensores de flujo óptico para la

evitación de colisiones de un vehículo autónomo.

1.4. El espacio proximal del VA y su contexto en

el alcance de este trabajo

El alcance y estrategia de la evitación de colisiones mencionado en la sección an­

terior se realiza y delimita al espacio proximal del vehículo autónomo. Esto significa

que este último operará considerando los estímulos registrados en sus sensores (tanto

internos como externos); independientemente del medio ambiente en el que se desen­

vuelve. Dicho en otras palabras, se da prioridad a las magnitudes del espacio proximal

del VA versus la relevancia de las magnitudes de los objetos (y sus propiedades) en el

espacio distal (también llamado euclidieano). Aquí cabe mencionar que en la estrate­

gia utilizada en este trabajo se renuncia a cualquier modelación persistente del medio

8

Page 24: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

ambiente; lo que equivale a decir que la operación del VA se da en su espacio proximal.

De lo anterior se puede hacer una analogía con el «operar» de las amibas en su

medio ambiente natural: éstas no evolucionaron mediante la modelación de los objetos

físicos concretos de su medio ambiente; sino que son los estímulos que registran sus

sentidos los que gatillan las acciones de las amibas para «operar» en dicho medio. En

concreto: las amibas «operan» en su espacio proximal. De esta misma forma, el agente

inteligente objeto de este trabajo, opera también en su espacio proximal.

En el capítulo 2 se presentan algunos conceptos teóricos en los que se sustenta

el presente trabajo. Ahí se describen brevemente algunas teorías de percepción y su

relevancia en el diseño de agentes inteligentes; así como el desarrollo de los conceptos

matemáticos relacionados con el flujo óptico y algunos algoritmos más populares para

su cálculo. Finalmente, en este capítulo se hace una breve descripción de los actuadores

y el servocontrol relevantes a este trabajo.

En el capítulo 3 se presentan los aspectos relevantes de arquitectura y diseño. Se

inicia con un análisis de la arquitectura conceptual en la cual se identifican los macro-

componentes funcionales; así como la integración e interacción de dichos componentes.

Esta información en conjunto, da cuenta del alcance funcional de este proyecto. Ense­

guida se hace un mayor acercamiento a la estructura del proyecto mediante la exposi­

ción de la arquitectura lógica.Aquí se hace un acercamiento que identifica a los distintos

módulos que forman a los macrocomponentes funcionales. Este acercamiento habilita el

análisis de las interacciones entre los distintos módulos (relaciones intra-componente); y

de las integraciones con otros componentes funcionales (relaciones extra-componente).

Finalmente, se muestra la arquitectura física; en ella, se mapea la distribución de los

componentes funcionales y sus módulos (software) al equipo de cómputo y equipo pe­

riférico (hardware) aprovisionado para el desarrollo del presente trabajo.

En el capítulo 4 se entregan los aspectos relevantes de la implementación. Ahí se

describen: los componentes concretos de la implementación, los resultados de las prue-

9

Page 25: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

bas realizadas y los problemas presentados durante el desarrollo de este trabajo. Adi-

cionalmente se incluyen otros resultados relevantes.

El capítulo 5 entrega las conclusiones; así como las aportaciones y los trabajos

futuros sugeridos en relación con este proyecto. Y finalmente, el apéndice A describe

brevemente los experimentos realizados para la calibración de los actuadores.

10

Page 26: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

Capítulo 2

Marco Teórico

El presente capítulo describe los conceptos teóricos en los que se apoya el desarrollo

de este trabajo. Aquí se presentan:

• Algunas teorías de percepción y su relevancia en el diseño de agentes inteligentes.

• El flujo óptico y algunos de los algoritmos más populares para su cálculo.

• Una breve descripción de los actuadores y el servocontrol relevantes a este trabajo.

2.1. Teoría de la percepción directa y affordances

La teoría de percepción indirecta de Rene Descartes postula que nuestra conciencia

perceptual deviene después de construir una representación interna del medio ambiente

[7]. A esta representación interna se le ha dado el nombre de Teatro Cartesiano. En

contraste, la teoría de percepción directa iniciada por James J. Gibson establece que

el medio ambiente ya contiene toda la información requerida para especificar sus pro­

piedades. Según Gibson, el problema para percibir estas propiedades se resuelve con

la detección de información ya disponible en el ambiente [10]. La teoría de percepción

directa rechaza que los seres sensibles aprenden las características del medio ambiente

a través de representaciones simbólicas en la mente. Más aún, Gibson afirma que en

esta percepción directa, estos seres sensibles perciben lo que el ambiente permite a sus

11

Page 27: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

cuerpos; es decir, lo que pueden hacer con y en el medio en que viven. A las carac­

terísticas del medio ambiente que se aprenden mediante la percepción directa, Gibson

las llamó affordances [7].

En el marco de la teoría de affordances, Gibson propuso que la luz ambiental con­

tiene estructuras de información del medio ambiente. A estas estructuras de información

las llamó arreglo óptico ambiental [7]. Se observa que dentro de esta teoría el problema

de la percepción visual se resuelve mediante la extracción de información contenida en

dicho arreglo óptico [11]. Estas ideas de Gibson, resultan en una aplicación práctica

en el área de la Inteligencia Artificial y particularmente en las técnicas de evitación

de colisiones en la robótica móvil: desde la perspectiva de un vehículo autónomo, la

información contenida en el arreglo óptico ambiental podría indicar la presencia próxi­

ma de un obstáculo que posee un affordance de tipo colisión. Es oportuno mencionar

que el flujo óptico (de él se hablará en detalle más adelante) se extrae directamente del

arreglo óptico ambiental.

2.2. Percepción y Affordances en la Inteligencia

Artificial (IA)

La capacidad de percepción en un agente inteligente (AI) inicia con la informa­

ción que proveen sus sensores. Los sensores de visión son los más importantes para la

navegación [23] y facilitan la autonomía de los AI autónomos en habilidades como ad­

quisición de conocimientos y toma de acciones, entre otras [29]. Los sensores de visión

son los más útiles para interactuar con el mundo físico.

Un percepto es una entrada perceptual del AI en un instante dado [23]. Existen

dos tácticas para la utilización de los perceptos:

1. Enfoque basado en modelos: los estímulos sensoriales se utilizan para reconstruir

12

Page 28: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

un modelo del medio ambiente.

2. Enfoque basado en extracción de características: el agente detecta un número

mínimo de características particulares en su entrada sensorial y lo pasa direc­

tamente al programa del agente; el cual puede reaccionar a las características

presentadas.

Un ejemplo del primer enfoque es la modelación del medio ambiente a partir

del procesamiento digital de imágenes y un ejemplo del segundo es la extracción de

información ambiental a partir del flujo óptico. Se observa que el primer enfoque es

computacionalmente más complejo y que en el segundo, se renuncia a cualquier mo­

delación interna -y persistente- del medio ambiente Esto nos lleva a que el enfoque

basado en modelos es compatible con la teoría de percepción indirecta de Descartes;

mientras que el enfoque basado en extracción de características lo es con la teoría de

percepción directa y affordances.

Lo anterior nos permite formular la siguiente hipótesis:

• una estrategia basada en la teoría de percepción directa y affordances,

• la utilización de perceptos bajo el enfoque de extracción de características y

• la utilización de sensores de flujo óptico

son elementos cohesivos y consistentes para guiar la construcción de un agente inte­

ligente autónomo que tenga como meta la evitación de colisiones. Dichos elementos

Podemos ser más rigurosos. A partir de la ontología que genera el procesamiento digital de imágenes y el procesamiento de flujo óptico es posible establecer una diferencia más concreta -y específica- entre ambos enfoques: el procesamiento digital de imágenes se encamina hacia una modelación ontológica del medio ambiente en el que está situado el agente inteligente. Modelación que está caracterizada por la representación interna de las dimensiones concretas (físico-geométricas) y persistencia de dicho medio ambiente en la memoria interna del agente inteligente. Por el contrario, el flujo óptico solamente abstrae -modela- aspectos puntuales de la escena que persisten en el mejor de los casos, en dos imágenes consecutivas de dicha escena. Su ontología -si se nos permitiera decirlo de esa manera- está limitada a unos cuantos pixeles de características especiales y el interés en dichos pixeles es exclusivamente su desplazamiento relativo dentro de la imagen.

13

Page 29: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

constituyen el maxco teórico referencial de esta tesis 2

En la figura 2.1 se muestran las implicaciones de las teorías de percepción en la

utilización de perceptos en la IA. El área «punteada» resalta los elementos en los que

se basa este trabajo.

Figura 2.1: Teorías de Percepción y sus implicaciones en la Utilización de Perceptos en la IA.

* 2.3. Flujo Óptico: Desarrollo Teórico

El término flujo óptico se refiere a un fenómeno visual que experimentan los anima­

les cotidianamente. Es tal su importancia, que se han realizado diversos experimentos

neurológicos con primates para analizar su procesamiento en el cerebro [19] [20] [21].

2Compárese lo aquí declarado, con el trabajo realizado en [14]. Ahí los autores abandonan el «purismo» del concepto de affordance propuesto por Gibson y adoptan un enfoque pragmático: eti­quetan a priori los elementos del medio ambiente; los procesan semánticamente y luego, obtienen un modelo ontológico persistente de dicho medio ambiente.

14

Page 30: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

Asimismo, se ha sugerido que el flujo óptico es el punto de inicio para descubrir la

maquinaria fisiológica del sistema biológico de visión [17].

En esencia, el flujo óptico es el movimiento visual aparente que los animales ex­

perimentan cuando se desplazan en el medio ambiente (esto es, cuando entran en loco­

moción). Considere por ejemplo el movimiento aparente de los edificios y árboles que

experimenta una persona cuando va conduciendo un auto: pareciera que estos objetos

se mueven en dirección hacia el conductor. Este movimiento aparente es precisamente

resultado del flujo óptico; y entre otras cosas nos muestra que tan cerca se está de los

diferentes objetos que se observan. Objetos distantes tales como montañas o nubes tie­

nen un movimiento aparente tan pequeño que parecen inmóviles; mientras que objetos

más cercanos tales como árboles y edificios parecen moverse hacia el observador. En

apariencia, los objetos más cercanos se mueven más rápido que los objetos más lejanos

[8]. En otras palabras, le llamamos flujo óptico al movimiento aparente de objetos que

resulta en la imagen -o imágenes- que percibe el observador [23].

Hay claramente una relación matemática entre la magnitud del flujo óptico y la

colocación de los objetos con respecto al observador. Si el observador duplica la veloci­

dad de desplazamiento, entonces la magnitud del flujo óptico también se multiplica en

aproximadamente la misma proporción. Si un objeto se acerca a la mitad de la distancia

original con respecto al observador; nuevamente se espera que el flujo óptico medido

se duplique (aproximadamente). De ahí que la velocidad del observador y la distancia

a los objetos sean dos aspectos a considerar cuando se interpreta el flujo óptico medi­

do. Asimismo, el flujo óptico que se obtiene es diferente dependiendo del ángulo que

se forma entre la dirección del observador y la dirección de movimiento del objeto al

que se está observando en la escena [8]. Por ejemplo: si un observador se desplaza hacia

adelante en línea recta, el flujo óptico de mayor magnitud se obtiene de aquellos objetos

que están a su lado a 90 grados; es decir, posicionados perpendicularmente con respecto

a su dirección de movimiento -y observación. Si el objeto está más cerca de la dirección

15

Page 31: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

de movimiento el flujo óptico será menor. De hecho, un objeto exactamente en frente

del observador no arrojará flujo óptico alguno. Sin embargo, dado que los bordes del

objeto no están exactamente enfrente (es decir, en el centro de la escena), estos bordes

son los que se moverán en apariencia; y el objeto en general parecerá hacerse cada vez

más grande.

(a) manos en movimiento (b) persona estática

Figura 2.2: Flujo óptico en imágenes

Nótese que desde el punto de vista del observador, el flujo óptico encodifica in­

formación útil acerca de la estructura de la escena que observa (ya sea porque él y/o

los objetos en la escena están en movimiento). En concreto: objetos distantes tienen

un movimiento aparente menor que los objetos cercanos; por lo tanto, la rapidez del

movimiento aparente encodifica -cuantitativamente- la distancia de dichos objetos con

respecto al observador [23]. También es pertinente acotar el alcance del flujo óptico: si

el observador está en reposo y en la escena no hay movimiento alguno; el flujo óptico

arrojará mediciones nulas de movimiento aparente (lo cual, en si mismo puede ser infor­

mación relevante en una aplicación en particular. Considérese su utilización en alarmas

contra intrusos).

Otra información importante que se encodifica en el flujo óptico es el patrón que

se obtiene cuando el observador se aproxima a un objeto. Al punto central de la imagen

16

Page 32: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

que registra un flujo óptico nulo se le llama foco de expansión (FOE, por sus siglas

en inglés: focus of expansión) y éste indica la dirección específica a la que se dirige el

observador; o bien, si el observador está en reposo, indica que el objeto en el que se

registra el FOE se aproxima directamente hacia él.

Existen diversas aplicaciones del flujo óptico. En el presente trabajo nos interesa su

utilización para la detección de obstáculos y la correspondiente evitación de colisiones.

Para este propósito, son criterios relevantes la magnitud de la distancia y el FOE

encodificados en el flujo óptico 3 .

(a) (b )

Figura 2.3: Foco de expansión en imágenes

2 . 4 . T é c n i c a s p a r a el cá lcu lo de flujo óp t i co

Ya se mencionó que el flujo óptico se utiliza para el rastreo de movimiento en una

secuencia de imágenes. Existen diversas técnicas para el cálculo de flujo óptico: métodos

diferenciales, métodos basados en frecuencia, métodos basados en correlación, métodos

basados en múltiples movimientos y métodos de refinamiento temporal [3]. Asimismo;

3 P o r razones prácticas y considerando la técnica que se escogió en el presente trabajo, calcular el F O E experimentalmente no siempre es factible; o bien, aumenta considerablemente la compleji­dad computac ional (aspecto muy sensible en aplicaciones de t iempo real c o m o lo es la evitación de col is iones) . Afortunadamente, el F O E no es estrictamente necesario para el propósi to de este trabajo.

17

Page 33: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

muchas de estas técnicas han sido acotadas para escenarios de dos y tres dimensiones

[1]. En esta sección se describirán algunos conceptos y técnicas matemáticas utilizadas

para el cálculo del flujo óptico desde un punto de vista pragmático y orientado al alcance

del presente trabajo 4 .

2.4.1. Rastreo en una secuencia de imágenes

En el análisis de una sola imagen, normalmente se tiene un interés en aislar un

particular objeto (i.e. mesa, persona, etc.) para posteriormente tomar una decisión

computacional según el hallazgo que arroja el procesado digital de la escena. Cuando

analizamos una secuencia de imágenes (video), el interés ahora está en un objeto u

objetos que queremos rastrear a lo largo del campo de visión; y a lo largo de la secuencia

de imágenes. Como se verá más adelante, es importante mencionar que el aislamiento

de dicho objeto del resto de la escena, no es requerido para rastrear su movimiento.

Dicho rastreo requiere de dos tareas principales: la identificación y la modelación.

La identificación es una tarea que consiste en delimitar el objeto de interés dentro

de un frame y posteriormente encontrarlo en un frame subsecuente del video. Existen

algunas técnicas como los histogramas de color o el cálculo de momentos que ayudan

a identificar a dicho objeto. Un problema distinto -pero relacionado- es precisamente

el rastreo de objetos que no han sido identificados previamente. El rastreo de objetos

sin identificar a priori es importante cuando lo que deseamos determinar está basado

en su movimiento; o inclusive, si precisamente es el movimiento el objeto de interés.

Las técnicas para el rastreo de objetos no identificados a priori típicamente implican

el rastreo visual de puntos significativos de la escena; en vez de objetos extendidos.

Aqui abordaremos dos técnicas: El algoritmo flujo óptico disperso de Lucas-Kanade y

4 Las técnicas que aquí se describen han sido implementadas en la librería de funciones de visión computacional Opencv (Open Source Computer Vision, por sus siglas en inglés) [6j. Precisamente se escogieron estas técnicas pues nuestro desarrollo utiliza sustancialmente esta librería de funciones.

18

Page 34: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

el algoritmo flujo óptico denso de Horn-Chunk.

La segunda tarea -la modelación, se hace cargo del hecho de que estas técnicas

nos proveen con información ruidosa de la posición real del objeto. Existen técnicas

matemáticas poderosas que han sido desarrolladas para estimar la trayectoria de un

objeto que ha sido obtenida de esta forma ruidosa. Estos métodos tienen su aplicación

en modelos de 2 y 3 dimensiones tanto de objetos como de sus localizaciones en el

espacio.

2.4.2. Rastreo de puntos significativos en la escena

Existen diversas clases de puntos locales que se pueden rastrear en una imagen. Sin

embargo, el objetivo es identificar y localizar a aquellos puntos que de forma efectiva

pueden ser localizados en imágenes posteriores. Por ejemplo: si en un primer frame se

escoge un punto dentro de una gran hoja de papel; entonces no será fácil localizar ese

mismo punto en frames posteriores. Esto se debe a lo siguiente: si todos los puntos son

idénticos o muy similares, será poco exitosa la identificación efectiva de un punto en

particular (se confundiría con los demás puntos). Por el contrario, si se escoge un punto

que es posible identificar de manera única, entonces existe una muy buena probabilidad

de encontrar dicho punto en los frames posteriores del video. En la práctica el punto o

característica que se selecciona, debe ser único o casi único; y debe ser parametrizable

de tal forma que pueda ser comparado con otros puntos localizables en una imagen

distinta.

Dado lo anterior, intuitivamente se escogen puntos que contienen cambios signifi­

cativos -contrastes- en ellos; y que en consecuencia, arrojan derivadas de gran magnitud.

Los puntos en los bordes son normalmente los que se asocian a estas características.

Pero no es suficiente; pues estos puntos se pueden confundir con otros que existen a lo

largo del borde. Sin embargo, si encontramos un punto que arroja derivadas de gran

19

Page 35: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

magnitud en dos direcciones ortogonales; entonces podemos tener mayor confianza en

que se trata de un punto único; o que por lo menos, podemos reconocerlo de manera

efectiva en frames subsecuentes del video. Por esta razón, muchos puntos significativos

-y que son rastreables- se les llama esquinas. Intuitivamente, las esquinas -y no los

bordes- son puntos que contienen suficiente información para identificarlos de manera

única y rastrearlos de un frame a otro. Véase la figura 2.4.

Figura 2.4: Las esquinas son buenas características para rastrear.

Harris creó la definición de esquina mas comúnmente utilizada. Esta definición

se basa en la Matriz de Derivadas de Segundo Orden (d2x,d2y,d2z) asociada a las

intensidades de la imagen [13]. Estas derivadas de segundo orden (también llamadas

imágenes de segundas derivadas), forman una imagen Hessiana cuando se toman en

cuenta todos los puntos de la imagen y se combinan en una sola matriz. La terminología

viene de la matriz Hessiana que se calcula alrededor de un punto. Su definición en dos

20

Page 36: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

dimensiones está dada por:

(2.1)

Asimismo, la definición de Harris (para una esquina), implica la matriz de autoco-

rrelación de las imágenes de segundas derivadas que se aplican sobre una pequeña ven­

tana alrededor de cada punto. Matemáticamente la matriz de autocorrelación está dada

por:

\ /

Nótese que Wi¿ es un término ponderado que puede ser uniforme; o bien, puede

ser utilizado para crear una ventana circular o una ponderación gaussiana. De acuerdo

a la definición de Harris, las esquinas son lugares en la imagen donde la matriz de

autocorrelación tiene dos eigenvalues de gran magnitud. En términos prácticos, esto

significa que existe textura o bordes que se dirigen hacia al menos dos direcciones

separadas y cuyo centro es el punto en cuestión. Precisamente eso es lo que se observa

en las esquinas «reales»: tienen al menos dos bordes que se conectan en dicho punto.

Las segundas derivadas son útiles porque no responden a gradientes uniformes. Esta

definición también tiene la siguiente ventaja: si se consideran los eigenvalues de la

matriz de autocorrelación, se están tomando en cuenta magnitudes que son invariantes

también a la rotación; lo cual es importante ya que los objetos que se rastrean, pueden

moverse y rotar. Nótese que estos dos eigenvalues además de determinar si un punto es

una «buena característica para rastrear» de manera efectiva; también provee una firma

de identificación para dicho punto.

21

Page 37: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

La definición original de Harris implicaba calcular la determinante de H(p) restando

la traza de H(p) y luego comparar la diferencia versus un umbral predeterminado. Más

tarde, Shi y Tomasi encontraron que se obtenían buenas esquinas siempre que el más

pequeño de los dos eigenvalues fuera mayor que un umbral mínimo [24]. El método de

Shi y Tomasi fue suficiente y en muchos casos arrojó resultados más satisfactorios que

el método de Harris. El presente trabajo utiliza el método de Shi y Tomasi para escoger

los puntos de la escena que son «buenas características para rastrear».

Se sabe que existen otras técnicas poderosas para identificar esquinas. Una que

se utiliza comúnmente es conocida como SIFT (por sus siglas en inglés scale-invariant

feature transform). Esta técnica detecta la orientación de gradiente dominante en su

localización; y registra los resultados que arrojan los histogramas de gradientes locales

con respecto a esta orientación. Esto permite que SIFT sea también invariante a la

rotación [5]. Sin duda, una técnica que también ha demostrado ser poderosa 5 .

2.4.3. Cálculo del Flujo Óptico

Recuérdese nuestro objetivo: lo que se busca es evaluar el movimiento aparente en

dos frames (o una secuencia de frames) sin tener algún conocimiento previo acerca del

contenido de dichos frames. Típicamente, el movimiento mismo es el objeto de interés

cuando se analiza una secuencia de imágenes.

Ya se comentó que podemos asociar alguna clase de velocidad a cada pixel en el

frame. De manera equivalente, también se puede asociar desplazamientos que represen­

tan la distancia recorrida por un pixel que se ha «movido» entre un primer frame y

el segundo. A esta construcción se le conoce comúnmente como flujo óptico denso; y

esta técnica asocia una velocidad a cada pixel de la imagen. El método de Horn-Chunk

5 L a librería OpenCV 2.0 cuenta con un módulo que implementa la técnica de Shi-Tomasi pero no

incluye módulo alguno que implemente la técnica SIFT. Esta es la razón por la que este trabajo utiliza

la primera técnica.

22

Page 38: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

intenta precisamente calcular dicha velocidad de campo [16].

En la práctica, calcular el flujo óptico denso no es una tarea trivial. Por ejemplo:

consideremos el movimiento de una hoja de papel. Muchos de los pixeles blancos en un

frame simplemente permanecerán blancos en el frame siguiente. Solo los bordes podrían

cambiar, y se notarían los cambios perpendiculares a la dirección de movimiento. El

resultado es que las técnicas «densas» deben incluir algún método de interpolación para

los puntos que son fácilmente rastreables; y a partir de ahí resolver aquellos puntos de

la imagen que son más ambiguos. Estas dificultades se reflejan claramente en los altos

costos computacionales del flujo óptico denso.

Existe otra alternativa: el flujo óptico disperso. Los algoritmos de esta naturaleza

dependen de algunos mecanismos que les indiquen a priori el subconjunto de puntos

de la imagen que deben ser rastreados a posteriori. Si estos puntos cuentan con ciertas

propiedades deseables; como las esquinas mencionadas anteriormente, el rastreo será ro­

busto y confiable. Para muchas aplicaciones prácticas -como la evitación de colisiones-

el costo computacional del rastreo disperso es mucho menor que las técnicas de rastreo

denso; por lo que estás últimas están mayormente relegadas a un interés puramente

académico. En el siguiente apartado se discutirá el método de Lucas-Kanade (flujo

óptico disperso) y se hará una breve reseña del método Horn-Schunck (flujo óptico

denso).

2.4.4. Método de Lucas-Kanade (flujo óptico disperso)

El algoritmo de Lucas-Kanade (LK) fue propuesto originalmente para producir

resultados densos. Sin embargo, este algoritmo también es fácilmente aplicado a un

subconjunto de puntos de la imagen; lo que lo habilita a ser una técnica dispersa [18].

LK puede ser utilizado en un contexto disperso porque se basa en información local

que se obtiene a partir de pequeñas ventanas alrededor del punto de interés. Esto

23

Page 39: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

en contraste con la naturaleza global intrínseca del algoritmo de Horn y Schunck. La

desventaja en utilizar pequeñas ventanas alrededor del punto de interés es que algunos

movimientos de gran magnitud pueden hacer que los puntos de interés «caigan» fuera

de la ventana local; lo que hace que el algoritmo no pueda encontrarlos en la siguiente

imagen. Este problema motivó el desarrollo de una versión piramidal del algoritmo LK.

Esta versión piramidal inicia el rastreo desde el nivel más alto de la imagen piramidal

(menor detalle) y continua el rastreo hacia los niveles inferiores (detalle más fino). El

rastreo a través de imágenes piramidales permite que movimientos de gran magnitud

sean interceptados por las ventanas locales alrededor del punto de interés.

El algoritmo LK descansa en tres premisas:

1. Constancia en el brillo. Un pixel tomado de la imagen (la cual representa a un

objeto y su escena); no cambia en apariencia cuando se mueve de un frame a otro.

Para imágenes en escala de grises (aunque el algoritmo LK también funciona a

color), esto implica que el brillo de un pixel no cambia cuando es rastreado de un

frame a otro.

2. Persistencia temporal o «pequeños movimientos». El movimiento de una cuadrícu­

la se da lentamente a través del tiempo. En términos prácticos, esto implica que

el delta temporal entre un frame y otro es lo suficientemente rápido relativo a

la escala de movimiento de la cuadrícula (su desplazamiento entre una imagen y

otra).

3. Coherencia espacial. Los puntos vecinos en una escena pertenecen a la misma

superficie, tienen un movimiento similar y se proyectan sobre puntos cercanos en

el plano de la imagen.

Obsérvese cómo estas premisas llevan a un algoritmo efectivo de rastreo. El primer

requerimiento, constancia en el brillo, nos indica que los pixeles contenidos en una

24

Page 40: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

cuadrícula rastreada se ven igual a través del tiempo:

(2.3)

Y significa que la intensidad del pixel que rastreamos tampoco exhibe cambios a

través del tiempo:

(2.4)

La segunda premisa, persistencia temporal, esencialmente significa que los movi­

mientos son pequeños entre un frame y otro. En otras palabras, se puede observar este

cambio como una aproximación de la derivada de la intensidad con respecto al tiempo

(i.e. el cambio entre un frame y el siguientes es diferencialmente pequeño). Para en­

tender las implicaciones de esta premisa, se iniciará el análisis considerando el caso de

una sola dimensión espacial.

Tómese como punto de partida, la ecuación de constancia de brillo. Ahí se sustituye

la definición de brillo f(x,t), pero se toma en cuenta la dependencia implícita de x con

respecto a i en I(x(t),t). Ahora se aplica la regla de la cadena para diferenciaciones

parciales y obtenemos:

(2.5)

Donde Ix es la derivada espacial a través de la primera imagen, / ( es la derivada

con respecto al tiempo entre las imágenes, y v es la velocidad que se está buscando. Así,

se obtiene la ecuación de velocidad de flujo óptico para el caso de una sola dimensión

espacial:

(2.6)

Obsérvese que la premisa de mantener constante la intensidad a través del tiempo

25

Page 41: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

es una condición ideal que en imágenes reales no se mantiene la mayoría de las veces.

Tómese en cuenta que una cámara no provee un brillo estable y que los deltas de tiempo

(también provistos por la cámara) no son tan rápidos con respecto a la velocidad de

movimiento. De ahí que nuestra solución para la velocidad no es exacta. Sin embargo,

si nuestra primera estimación es confiable, entonces podemos iterar hacia una solución

más precisa. Dado que estamos considerando la constancia de brillo como premisa,

nótese que podemos mantener la misma derivada espacial en x tal y como se calculo en

el primer frame. La reutilización de esta derivada espacial previamente calculada nos

proporciona ahorros computacionales significativos. La derivada con respecto al tiempo

todavía tiene que ser recalculada en cada iteración y en cada frame, pero si el cálculo

se inició con una buena primera estimación, entonces estas iteraciones convergerán a

una solución cercana a la «real» dentro de cinco iteraciones. A esto se le conoce como el

método de Newton. Si la primera estimación no fue muy precisa, el método de Newton

divergirá y tendremos que repetir el proceso desde el principio.

Ahora se generalizará la solución en dos dimensiones: llamemos v a la componente

y y u a la componente x:

(2.7)

Nótese que en esta ecuación hay dos incógnitas para cualquier pixel dado. Esto im­

plica que la ecuación está subrestringida y que no es posible obtener una única solución

para al movimiento bidimensional en ese punto. Solo se puede obtener una solución pa­

ra la componente normal (perpendicular) a la línea que describe esta ecuación de flujo.

El flujo óptico normal resulta del problema de la apertura; el cual surge cuando se tiene

una pequeña apertura o ventana a través de la cual se medirá el movimiento. Cuando

el movimiento se detecta a través de una pequeña apertura, es común ver solamente los

bordes y no las esquinas. Pero un borde es insuficiente para determinar exactamente

en qué dirección se está moviendo el objeto completo (si bien, este objeto no lo hemos

26

Page 42: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

identificado a priori, si es nuestro interés conocer la dirección de su movimiento). En

la figura 2.5 se muestra gráficamente el problema de la apertura.

Figura 2.5: Problema de la apertura: en la ventana de apertura (imágenes superiores) se observa un borde desplazándose hacia la derecha; pero no es posible detectar el movimiento simultáneo hacia abajo del cuerpo en su totalidad (imágenes inferiores).

La tercer premisa del algoritmo LK resuelve el problema de la subrestricción: si

una cuadrícula local de pixeles se mueve coherentemente, entonces podemos encontrar

el movimiento del pixel central. Para ello, utilizaremos los pixeles alrededor y entonces

podremos establecer un sistema de ecuaciones. Por ejemplo: si utilizamos una cuadrícula

(también la llamaremos ventana) de 5x5 alrededor de un pixel dado para calcular su

movimiento; obtendremos un sistema de 25 ecuaciones 6 . El sistema de ecuaciones

tomará la siguiente forma:

6 el tamaño de la ventana es un valor parametrizable: se puede establecer una ventana de 3x3, 7x7,

etc. Es importante tomar en cuenta que si se escoge una ventana muy pequeña, se caerá nuevamente en

el problema de la apertura y si se escoge una ventana muy grande, se violará la premisa del movimiento

coherente y será poco factible el rastreo. También tómese en cuenta que si se utiliza el algoritmo LK en

imágenes a color; entonces el número de ecuaciones se triplicará; aumentando el costo computacional.

27

Page 43: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

Donde A es una matriz de 25x2, d es un vector de 2x1 y 6 es un vector de 25x1. Nótese

que ahora se tiene un sistema sobrecondicionado de ecuaciones. Para resolverlo, se

aplicará una reducción a la ecuación mediante mínimos cuadrados; donde min\\Ad - b\ |2

se resuelve convencionalmente como:

(2.8)

(2.9)

A partir de esta ecuación se obtienen las componentes de movimiento u y v. Re-

escribiendo la ecuación anterior en su forma extendida, se tiene:

(2.10)

Por lo que la solución a la ecuación es:

(2.11)

Se observa que la ecuación anterior tiene solución cuando (ATA) es invertible. Y

(ATA) es invertible cuanto tiene un rankeo completo (2); lo cual ocurre cuando tiene

dos eigenvalues de gran magnitud. Esta situación se da en regiones de la imagen que

incluyen texturas dirigiéndose en al menos dos direcciones distintas. Considerando estas

condiciones, (ATA) tendrá las mejores propiedades (para ser resolvible) cuando la ven-

28

Page 44: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

tana de rastreo está centrada en una esquina de la imagen. Esto nos lleva a la discusión

previa acerca del método de Harris para detectar esquinas. De hecho, esas esquinas son

«buenas características para rastrear» precisamente porque {ATA) tiene dos eigenvalues

de gran magnitud. Se observa como el método de Harris -o el subsecuente de Shi y

Tomasi- complementan de forma efectiva el algoritmo de LK.

Ahora considérense las premisas de movimientos coherentes y pequeños que exige

el algoritmo LK. Se observa que en un escenario real no siempre se cumplen; sobretodo

con las cámaras comunes que capturan imágenes a 30 Hertz. Con estos dispositivos

es común obtener movimientos grandes y no coherentes. De hecho, el algoritmo LK

«puro» no se desempeña de forma aceptable precisamente por esa causa: normalmente

se establecen ventanas grandes para detectar movimientos de gran magnitud; pero esa

misma ventana de gran tamaño rompe la premisa de movimiento coherente. Para evitar

esta problemática, se puede rastrear primero sobre grandes escalas espaciales usando

una imagen piramidal. Después, se pueden retinar las premisas iniciales de la velocidad

del movimiento mediante el rastreo en los niveles inferiores de la imagen piramidal

hasta llegar a los pixeles de la imagen «pura» 7 .

De ahi que la técnica recomendada sea calcular el flujo óptico en el nivel superior

de la imagen piramidal y utilizar los resultados estimados de movimiento como entra­

da para el siguiente nivel inmediato inferior; hasta llegar al primer nivel (el nivel más

inferior). De esta manera se minimizan las violaciones a las premisas de movimiento y

entonces se pueden rastrear movimientos más rápidos y de mayor magnitud. Al algo­

ritmo mejorado que implementa el rastreo en imágenes piramidales se le conoce como

flujo óptico piramidal de Lukas-Kanade. Esta versión mejorada del algoritmo LK es la

que se utiliza en el desarrollo del presente trabajo.

7 A este enfoque piramidal para el análisis de imágenes también se le conoce como procesamiento

jerárquico [3]

29

Page 45: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

2.4.5. Método de Horn-Schunck (flujo óptico denso)

El método de Horn-Schunck fue desarrollado en 1981 [16]. Esta técnica fue una

de las primeras que utilizó la premisa de la constancia en el brillo y partir de ella

se derivaron las ecuaciones básicas de brillo constante. Horn y Schunck propusieron

una solución a estas ecuaciones mediante la hipótesis de restricción de suavidad o

lisura en las velocidades vx y vy. Esta restricción se derivó utilizando una estrategia de

minimización para el laplaciano regularizado de los componentes del flujo óptico:

(2.12)

Donde a es un coeficiente de ponderación conocido como constante de regula-

rización. Grandes valores de a conllevan a vectores más «suaves» (más consistentes

localmente) del flujo de movimiento. Esta es una manera relativamente simple de res­

tringir la «suavidad» y su efecto es penalizar aquellas regiones en las cuales el flujo

cambia de magnitud. Al igual que el algoritmo LK, la técnica de Horn-Schunck realiza

iteraciones para resolver las ecuaciones diferenciales.

Como ya se ha mencionado anteriormente, las técnicas de flujo óptico denso son

costosas desde el punto de vista computacional. A pesar de ello, Black y Añadan desa­

rrollaron una técnica de flujo óptico denso que se utiliza frecuentemente en la produc­

ción de películas [4]. Las casas productoras, motivadas por mejorar la calidad visual de

las películas; están dispuestas a invertir el tiempo requerido para obtener información

detallada del flujo óptico.

30

Page 46: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

2.5. Actuadores y Control

2.5.1. Servomotores R C

Los servomotores RC son dispositivos electromecánicos utilizados en modelos de

radio control y son muy útiles en prototipos de robótica porque son pequeños, com­

pactos y de costo razonable. Estos servomotores contienen: el motor mismo, una caja

de cambios, un mecanismo de retroalimentación para el posicionamiento y circuitos

electrónicos de control. Pueden ser controlados para moverse a cualquier posición me­

diante pulsos simples de control [9].

Los servomotores RC tienen una interfase de tres cables que se utilizan para recibir

los comandos de control y el abastecimiento de la energía. Los cables se identifican

mediante el siguiente código de colores:

• NEGRO: tierra.

- BLANCO: PIN de control.

• ROJO: fuente de voltaje de +4.8 V (+5 V también puede funcionar adecuada­

mente) .

Ya mencionamos que el control de los servomotores RC se realiza mediante pulsos

de control. El pulso de control debe ser positivo llevando un pulso con una duración de

1 a 2 milisegundos que debe ser repetido entre 50 y 60 veces en un segundo aproxima­

damente. Véase la figura 2.6

Los pulsos de un (1) milisegundo posicionan al servomotor en una posición y

el pulso de dos (2) milisegundos cambia la posición a otra distinta. Un pulso de 1.5

milisegundos posiciona al servomotor en la posición central de las dos anteriores.

El esquema de control es muy sencillo de implementar. En nuestro caso, la inge­

niería de control de estos servomotores RC se implementa a muy alto nivel mediante

31

Page 47: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

Figura 2.6: Tren de pulsos para el control de un servomotor.

hardware especializado en el control de esta clase de servomotores (ver siguiente sec­

ción).

La utilización de servomotores en este trabajo versus otras clases de motores (i.e.

motores de corriente directa, motores de paso, etc.) obedece principalmente a la dis­

ponibilidad de componentes físicos asignados y a que cumplen su función de manera

efectiva para el alcance de este trabajo.

2.5.2. Sistema de Control Motriz

El sistema de control motriz utilizado en el desarrollo del prototipo principal de

nuestro trabajo; se basa completamente en un hardware especializado y comercial deno­

minado ServoCenter™3.1 USB [31]. Los servocontroladores incrustados en la solución

ServoCenter™ permite el control de servomotores RC estándar desde cualquier dispo­

sitivo que contenga una interfase USB o RS-232. ServoCenter™provee interfases USB

y serial para facilitar el control de la posición y velocidad de hasta 16 servomotores RC

de manera simultánea e independiente. Este esquema de control independiente permite

por ejemplo que un servomotor se mueva a una posición específica lentamente; mientras

que otro se desplace a otra posición -completamente diferente- a una mayor velocidad;

y hasta un tercer o cuarto servomotor que se desempeñe con sus propios valores de

32

Page 48: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

posición y velocidad distintos de los anteriores.

ServoCenter™cuenta con comandos de control absolutos y relativos; lo que per­

mite establecer modos de posicionamiento «crudos» o escalados. Puede ser programa­

do utilizando comandos directamente a través de la interfase serial; o bien, mediante

lenguajes de programación de alto nivel que consuman las interfases ActiveX y DLL

provistas con la solución (algunos de esos lenguajes pueden ser: Visual Basic y Visual

C++) 8 . *

2.6. Resumen

En resumen, el presente trabajo se basa en:

• La teoría de affordances desarrollada por Gibson.

• La utilización de perceptos bajo el modelo de extracción de características (y se

renuncia a cualquier modelación de objetos del medio ambiente).

• El flujo óptico como técnica de visión.

• El algoritmo de Shi y Tomasi para determinar las «buenas características para

rastrear» en una imagen.

• La estrategia de flujo óptico disperso decantada en el algoritmo flujo óptico pira­

midal de Lukas-Kanade (con imágenes en escala de grises).

Es posible habilitar otros lenguajes de programación para acceder las interfases de control de ServoCenter™. La condición es que se desarrollen métodos de acceso a la interfase serial provista en la solución (RS-232). Tal es el caso de este trabajo, en el que se desarrollaron métodos de acceso desde Python; habilitando así el desarrollo completo del prototipo en este lenguaje de programación.

33

Page 49: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

Capítulo 3

Arquitectura y Diseño

El presente capítulo describe los aspectos de arquitectura y diseño relevantes al

presente trabajo. Aquí se describen:

• La arquitectura conceptual.

• La arquitectura lógica.

• La arquitectura física.

3.1. Arquitectura Conceptual

En la figura 3.1 se muestra la arquitectura conceptual del presente trabajo. En este

diagrama se hace un primer acercamiento (de alto nivel) a los componentes funcionales

que forman el alcance de este proyecto; así como a la interacción e integración de dichos

componentes.

A continuación se muestra una descripción de cada uno de los componentes de la

arquitectura conceptual:

1. Comando de Trayectorias: este componente es responsable de establecer la

trayectoria en el espacio aproximal que debe realizar el VA. Asimismo, es res­

ponsable de interactuar con el usuario de manera directa (teclado) o indirecta

34

Page 50: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

Figura 3.1: Arquitectura Conceptual

(archivos). El Comando de Trayectorias tiene como salida el comando (velocidad

y posición) que debe interpretar el Sistema de Control Motriz.

2. Procesador de Affordances: este componente recibe como entrada el campo

de flujo óptico y a partir del procesamiento de la información ahí codificada; esta­

blece si el VA enfrenta un obstáculo o una apertura. El Procesador de Affordances

asocia al obstáculo un affordance colisión y a la apertura un affordance pasa­

je. Finalmente, en función del affordance calculado, este componente da como

salida una estrategia de evasión (para evitar la colisión con el obstáculo identifi­

cado); o bien, una señal de aprobación (para que el VA mantenga la trayectoria

previamente establecida).

35

Page 51: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

3. Sistema de Control Motriz: este componente es responsable del control motriz

del VA. Recibe señales de control tanto del Comando de Trayectorias como del

Procesador de Affordances. Nótese que este componente puede recibir señales

confiictivas a través de sus entradas (i.e. cuando el Procesador de Affordances le

envia la señal para que ejecute una estrategia de evasión). En este caso, el Sistema

de Control Motriz otorga mayor prioridad al Procesador de Affordances.

4. Actuadores: estos componentes son los que ejercen las acciones del VA sobre

el Medio Ambiente. Reciben las señales de control desde el Sistemas de Control

Motriz y de acuerdo a ellas, realizan las acciones pertinentes (cambio de velocidad

y dirección, según sea el caso).

5. Medio Ambiente: no es en sí mismo un componente del proyecto; pero se enfa-

tiza su identificación en la arquitectura conceptual pues proporciona el escenario

sobre el cual se desplazará el VA. El Medio Ambiente cuenta con características

físicas propicias que favorecen una correcta tracción del VA; así como una ade­

cuada luminosidad para la identificación de los obstáculos mediante una cámara

común de visión (esto es, que carece de visión nocturna)

6. Procesador de Flujo Óptico: este componente procesa las imágenes que recibe

del Medio Ambiente (dichas imágenes son captadas mediante una cámara común

de visión). El procesamiento de las imágenes tiene como objetivo calcular el campo

de flujo óptico que posteriormente envía al Procesador de Affordances.

A partir de la arquitectura conceptual se puede inferir que el VA ejecutará una

trayectoria en el espacio proximal; cuando se enfrente a un obstáculo ejecutará una

acción evasiva, actualizará su estado proprioceptivo y ejecutará una acción correctiva.

1 E n el decir de Gibson, este medio ambiente ofrece affordances para la locomoción y la visión del

VA [11].

36

Page 52: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

Nótese también que los componentes Comando de Trayectorias y Procesador de

Affordances son dos procesos paralelos que concurrentemente se comunicarán con el

Sistema de Control. Cabe mencionar que esta estrategia de procesamiento concurrente

corresponde a una arquitectura computacional robótica denominada híbrida (llamada

de esta manera por combinar aspectos del control reactivo y control deliberativo)[25].

El procesamiento de affordances se enmarca en esta arquitectura computacional. A

diferencia de la arquitectura mostrada en [25], en este trabajo no se realiza ninguna

modelación del medio ambiente y el VA opera solamente en el espacio proximal.

3.2. Arquitectura Lógica

En la arquitectura lógica hacemos un análisis más cercano a cada uno de los com­

ponentes funcionales identificados en la arquitectura conceptual. Esta arquitectura ha

sido dividida en varios diagramas para una mejor descripción y análisis de los módulos

que forman a los distintos componentes identificados previamente.

Cada diagrama de arquitectura lógica hace un mayor acercamiento a los elemen­

tos de la solución. Este acercamiento permite el análisis de las interacciones entre los

distintos módulos (relaciones intra-componente); y de las integraciones con otros com­

ponentes funcionales (relaciones extra-componente). En estos diagramas el componente

funcional objeto del análisis está indicado por un recuadro en línea punteada; y los

módulos que lo integran se resaltan mediante recuadros de línea gruesa.

En las siguientes secciones se muestra la arquitectura lógica de los componentes

funcionales:

• Procesador de Flujo Óptico.

• Procesador de Affordances.

• Comando de Trayectorias.

37

Page 53: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

Sistema de Control Motriz

• Actuadores

3.2.1. Procesador de Flujo Óptico

En la figura 3.2 se muestra la arquitectura lógica del Procesador de Flujo Óptico.

En este diagrama se hace un mayor acercamiento a los módulos que lo componen.

Figura 3.2: Arquitectura Lógica del Procesador de Flujo Óptico

A continuación se describen los módulos de la arquitectura lógica de este compo­

nente:

• Módulo de Adquisición de Imágenes: como su nombre lo indica, mediante

la cámara de visión este módulo recibe las imágenes del medio ambiente y como

38

Page 54: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

resultado de su proceso genera una imagen digitalizada de un solo canal (i.e. en

escala de grises) a 8 bits.

• Extractor de Buenas Características: este módulo recibe como entrada la

imagen digitalizada que entrega el Módulo de Adquisición de Imágenes (tiene

como requerimiento que sea una imagen en un solo canal, de 8 ó 32 bits); y la

procesa mediante el algoritmo de Shi y Tomasi para obtener un arreglo de esqui­

nas. Este arreglo constituye precisamente las buenas características para rastrear

que el módulo entrega a su salida. Este módulo tiene los siguientes requerimientos

técnicos:

• Se debe especificar el número máximo de esquinas que el módulo pueda

procesar (este valor es sustituido por el número de esquinas que el módulo

realmente encontró).

• Se debe definir un nivel de calidad. Este nivel de calidad indica el valor

mínimo aceptable de un eigenvalue de un punto para ser considerado como

esquina.

• Se debe incluir una distancia mínima para garantizar que dos o más esquinas

no se conglomeren en una región de la imagen especificada por el parámetro

distancia mínima.

• Módulo para el Cálculo de Flujo Óptico: este módulo tiene como principales

entradas a dos imágenes secuenciales (provistas directamente por el Módulo de

Adquisición de Imágenes) y las buenas características para rastrear. Su función

básica consiste en buscar las buenas características para rastrear en la segunda

imagen y calcular el desplazamiento de dichos puntos dentro de la imagen. El

resultado de este cálculo lo entrega a su salida como el campo de flujo óptico.

Este módulo tiene los siguientes requerimientos técnicos:

39

Page 55: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

• Las imágenes secuenciales deben ser de un solo canal a 8 bits.

• Se deben reservar dos buffers de memoria correspondientes a las dos imáge­

nes que recibe como entrada.

• Se debe especificar un criterio de terminación; ya sea especificando un núme­

ro máximo de iteraciones; o bien, cuando el algoritmo alcanza una métrica

de convergencia menor a un valor especificado.

Este módulo implementa el algoritmo Lucas - Kanade Piramidal.

3.2.2. Procesador de Affordances

En la figura 3.3 se muestra la arquitectura lógica del Procesador de Affordances.

En este diagrama se hace un mayor acercamiento a los módulos que lo componen.

Figura 3.3: Arquitectura Lógica del Procesador de Affordances

A continuación se describen los módulos de la arquitectura lógica de este compo­

nente:

• Discriminador de Patrones: este módulo recibe como entrada el campo de

40

Page 56: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

flujo óptico y entrega a su salida el affordance correspondiente al patrón de en­

trada codificado en el flujo óptico. Este módulo discrimina dos casos de interés:

si el vehículo autónomo (VA) enfrenta un obstáculo; entonces entrega a su salida

un affordance colisión; y si el VA enfrenta una apertura, entonces entrega un

affordance pasaje. Para la asociación de affordances se utiliza el siguiente cri­

terio: encontrar un número mínimo de vectores de flujo óptico que excedan una

magnitud umbral. Si se satisface este criterio, se asocia un affordance colisión;

de lo contrario, se asocia un affordance pasaje. Nótese que son dos los paráme­

tros a cuantificar: magnitud umbral y total de vectores que exceden este umbral.

Los valores asignados a ambas variables son: 40 pixeles (magnitud umbral) y 10

(vectores que exceden la magnitud umbral).

• Selector de Acciones Reactivas: este módulo recibe como entrada un affor­

dance que indica si es seguro mantener al VA en estado de locomoción de acuerdo

a la trayectoria previamente establecida. En cualquier caso entrega a su salida la

acción reactiva que debe seguir el VA: si recibe un affordance pasaje; enton­

ces entrega una señal de aprobación a su salida (indicando que es seguro que el

VA mantenga la trayectoria previamente establecida; y si recibe un affordance

colisión, entonces entrega una estrategia de evasión a su salida.

3.2.3. Comando de Trayectorias

En la figura 3.4 se muestra la arquitectura lógica del Comando de Trayectorias.

En este diagrama se hace un mayor acercamiento a los módulos que lo componen.

A continuación se describen los módulos de la arquitectura lógica de este compo­

nente:

Monitor de Trayectoria: este módulo monitorea las variables proprioceptivas

del VA y la reporta a su salida.

41

Page 57: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

Figura 3.4: Arquitectura Lógica del Comando de Trayectorias

• Módulo Ajustador de Trayectoria: este módulo toma lectura de la trayecto­

ria en el espacio proximal que establece el usuario y hace una comparación con

el estado actual que recibe del Monitor de Trayectoria. Envía un comando de

ajuste al Sistema de Control Motriz de acuerdo a la diferencia encontrada entre

la trayectoria previamente establecida y el estado actual reportado por el Monitor

de Trayectoria.

3.2.4. Sistema de Control Motriz

En la figura 3.5 se muestra la arquitectura lógica del Sistema de Control Motriz.

En este diagrama se hace un mayor acercamiento a los módulos que lo componen.

A continuación se describen los módulos de la arquitectura lógica de este compo­

nente:

• Módulo Discriminador de Comandos: este módulo recibe dos entradas que

potencialmente entran en conflicto: por un lado recibe del Comando de Trayecto­

rias un comando que en la práctica implica un cambio en la velocidad o dirección

42

Page 58: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

Figura-3.5: Arquitectura Lógica del Sistema de Control Motriz

del VA; y por otro, recibe del Procesador de Affordances una acción reactiva que

potencialmente implica un cambio en la velocidad y dirección del VA. Para resol­

ver este conflicto, este módulo le da mayor prioridad a la entrada que recibe del

Procesador de Affordances. Una vez resuelto este conflicto, entrega a su salida un

comando filtrado.

Interfase de Control Motriz: este módulo recibe como entrada un comando

que indica un cambio en la velocidad y/o dirección del VA; y lo traduce en una

señal de control (eléctrica) que entrega a su salida a los actuadores.

43

Page 59: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

3.2.5. Actuadores

En la figura 3.6 se muestra la arquitectura lógica de los Actuadores. En este

diagrama se hace un mayor acercamiento a los módulos que lo componen.

Figura 3.6: Arquitectura Lógica de los Actuadores

A continuación se describen los módulos de la arquitectura lógica de este compo­

nente:

• Servomotor - velocidad: este componente recibe como entrada una señal de

control (eléctrica) que le indica un cambio en la velocidad del VA. Entrega como

salida (al medio ambiente) un cambio de velocidad proprioceptiva (física).

• Servomotor - dirección: este componente recibe como entrada una señal de

control (eléctrica) que le indica un cambio en la dirección del VA. Entrega como

salida (al medio ambiente) un cambio de dirección proprioceptiva (física).

44

Page 60: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

3.3. Arquitectura Física

En la arquitectura física se mapea la distribución de los componentes funcionales

y sus módulos (software) al equipo de cómputo y equipo periférico (hardware) aprovi­

sionado para el desarrollo del presente trabajo. Véase el cuadro 3.1.

Cuadro 3.1: Elementos de la Arquitectura Física

Desde el punto de vista de arquitectura física, identificamos los siguientes elemen­

tos:

• Sistema Mínimo: es un equipo de cómputo móvil que se monta físicamente en

el VA. Cuenta con las siguientes características:

• Bajo nivel de consumo de energía

• Peso liviano

• Limitada capacidad de cómputo

• Comunicación inalámbrica (Wi-Fi).

• interfases USB y Serial.

• Interfase de Control Motriz: es un hardware especializado para el control de

servomotores RC estándar. También cuenta con una interfase USB y se conecta

con el Sistema Mínimo a través de ella. Este elemento físico corresponde al módulo

del mismo nombre identificado en la arquitectura lógica.

45

Page 61: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

Figura 3.7: Arquitectura Física

• Actuadores: son dos servomotores RC que entregan la velocidad y dirección del

VA. Este elemento físico corresponde al componente funcional del mismo nombre

identificado en la arquitectura conceptual.

• Sensor de aceleración: como su nombre lo indica, es un hardware especia­

lizado para proveer la aceleración proprioceptiva del VA. Cuenta con conexión

inalámbrica (Wi-Fi) y a través de esta conexión entrega las lecturas de acelera­

ción al Sistema de Procesamiento Central.

• Sistema de Procesamiento Central: es un equipo de cómputo estándar que

se mantiene estático; es decir, no se monta en el VA. Cuenta con las siguientes

características.

• Nivel medio de consumo de energía.

• Peso considerable.

46

Page 62: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

• Alta capacidad de cómputo

• Comunicación inalámbrica (Wi-Fi).

Las características de peso y consumo de energía de este elemento hacen que no

sea apto para montarse en el VA.

En la figura 3.7 se muestra la interacción entre los distintos elementos físicos.

47

Page 63: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

Capítulo 4

Implement ación

En este capítulo se mostrarán los componentes desarrollados y su ubicación en

los elementos identificados en la arquitectura física. Concretamente, se desarrollaron

librerías y rutinas de software para los elementos: Sistema de Procesamiento Central,

Sistema Mínimo y Sensor de Aceleración 1 .

Cabe mencionar que además de los componentes desarrollados durante el presente

trabajo; se reutilizaron e integraron otros componentes de software ya existentes; al­

gunos de ellos provistos por los proveedores del hardware utilizado para este proyecto;

y otros, desarrollados previamente por miembros de la comunidad del ITESM. En la

mención de cada componente se acotará si se trata de un elemento desarrollado durante

este proyecto o si es un componente reutilizado. Cabe mencionar que los componentes

de software desarrollados durante el presente trabajo se programaron en Python. Esto

por tres razones:

1. Python es un lenguaje de programación flexible y potente que facilita el desarrollo

rápido de prototipos.

2. Python cuenta con diversas librerías y utilerías de propósito general que permiten

acortar el ciclo de desarrollo de software. 1E1 sensor de aceleración es en rigor un sistema de procesamiento completo y flexible que incluye

muchas otras funciones. Esta flexibilidad permitió el desarrollo de un componente requerido para su integración en este proyecto.

48

Page 64: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

3. La reutilización de librerías para la comunicación con ServoCenter™ y el ace-

lerómetro 2 .

(a) (b )

Figura 4.1: Despliegue físico del Vehículo Autónomo.

La figura 4.1 muestra el desarrollo y despliegue de los componentes físicos del VA.

En ella se distinguen los siguientes elementos físicos: cámara de visión, sistema mínimo,

acelerómetro, el hardware ServoCenter™y el vehículo automotriz propriamente.

Cuadro 4.1: Sistema operativo y hardware del Sistema de Procesamiento Central

2 A u n q u e el acelerómetro original ( M T I de Xsens) no fue utilizado; el nuevo acelerómetro (Neo-O p e n m o k o ) ofrece una interfase amigable en Python desde la cual expone la información relevante de la aceleración [28].

49

Page 65: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

4.1. Sistema de Procesamiento Central - desarrollo

En este elemento se concentra la mayor parte de las librerías y desarrollo del

software programados para este trabajo. El cuadro 4.1 concentra los aspectos relevantes

de sistema operativo y hardware; y en el cuadro 4.2 se muestran los componentes

particulares desarrollados así como los componentes de software reutilizados para este

proyecto.

Cuadro 4.2: Componentes de software relevantes para este proyecto y hospedados en el Sistema de Procesamiento Central.

50

Page 66: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

4.2. Sistema Mínimo - desarrollo

Este elemento físicamente se monta en el VA y concentra las librerías y desarrollo

del software encargados de capturar las imágenes y controlar los actuadores (servo­

motores de velocidad y dirección). El cuadro 4.3 concentra los aspectos relevantes de

sistema operativo y hardware. Nótese la modesta capacidad de cómputo3 que entre­

ga este elemento. Esta condición forzó la opción de una arquitectura distribuida de

software.

En el cuadro 4.4 se muestran los componentes particulares desarrollados así como

los componentes de software reutilizados para este proyecto y que se hospedan en el Sis­

tema Mínimo. Cabe mencionar que en este cuadro se menciona la modalidad asincrona

del módulo imageServer.py. Esta modalidad asincrona permitió la optimización de los

recursos escasos del Sistema Mínimo, pues este módulo solo utiliza dichos recursos bajo

demanda. Sin embargo, en algunas ocasiones de saturación en el ancho de banda de la

red inalámbrica, esto ocasionó que existiera un intervalo de tiempo entre dos imágenes

consecutivas mayor a un segundo (una latencia muy alta para una reacción oportuna);

lo cual derivó en un pobre desempeño del VA bajo estas condiciones (véase el apartado

5.3.1).

El cuadro 4.4 muestra también el componente commandListener.py que de igual

forma opera bajo una modalidad asincrona. Esta modalidad habilita también la opti­

mización de recursos escasos del Sistema Mínimo. Sin embargo, esto nuevamente oca­

sionó que en situaciones de saturación de ancho de banda, el VA no recibiera opor­

tunamente comandos de acción evasiva cuando el VA enfrentaba obstáculos; dando

como resultado un pobre desempeño bajo estas condiciones (véase también el apartado

5.3.1).

3 E n las pruebas preeliminares, al Sistema Mínimo le tomó 650 milisegundos en promedio el proce­

samiento del flujo óptico; mientras que al Sistema de Procesamiento Central le toma 180 milisegundos

en promedio.

51

Page 67: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

Cuadro 4.3: Sistema operativo y hardware del Sistema Mínimo

Cuadro 4.4: Componentes de software relevantes para este proyecto y hospedados en el Sistema Mínimo.

52

Page 68: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

4.3. Sensor de Aceleración - desarrollo

Este elemento físicamente también se monta en el VA y sus funciones en relación

con este proyecto son: tomar la lectura del sensor de aceleración y (2) entregarla al Siste­

ma de Procesamiento Central. El módulo funciona bajo una modalidad cliente-servidor

asincrona; es decir, solo captura y entrega las lecturas del sensor de aceleración bajo

petición explícita del Sistema Central de Procesamiento. El módulo desarrollado para

este propósito se llama accelServer.py. Este elemento es un sistema de procesamiento

completo; razón por la cual se dedicó este apartado para su descripción. El cuadro 4.5

concentra los aspectos relevantes del sistema operativo y hardware.

Cuadro 4.5: Sistema operativo y hardware del Sensor de Aceleración

53

Page 69: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

Capítulo 5

Resultados

En este capítulo se entregan los resultados obtenidos. Aquí se describen:

• El diseño de los experimentos.

• Resultados de los experimentos realizados.

• Problemas presentados.

• Otros resultados relevantes.

5.1. Diseño de experimentos

Las condiciones que el medio ambiente debe cumplir para la realización de los

experimentos son:

1. No incluir objetos móviles en el campo de visión del VA.

2. Los obstáculos frente a él deben ofrecer superficies rugosas (no lisas).

3. Carecer de túneles que tengan un diámetro menor a 0.6 metros.

4. Ofrecer un nivel de iluminación al VA en el rango de 80 a 400 lux [26].

54

Page 70: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

El cumplimiento de la primera condición evita que el VA potencialmente asocie

un affordance colisión a un objeto móvil que no obstaculiza su locomoción. Lo anterior

arrojaría como resultado un falso positivo.

La segunda condición da cuenta de que el algoritmo de Shi-Tomasi extrae de la

imagen las esquinas que después reporta como buenas características para rastrear.

Ya se comentó anteriormente que las superficies lisas no cumplen con las condiciones

requeridas para alojar esquinas. Esto daría como resultado un falso negativo.

La tercera condición se requiere porque las esquinas pueden ser identificadas pre­

cisamente en el borde del túnel. Lo anterior puede ocasionar que el VA asocie un

affordance colisión a dicho borde, cuando en rigor no enfrenta obstáculo alguno que

bloquee su locomoción. Esto nuevamente daría como resultado un falso positivo.

Por último, la cuarta condición es necesaria porque el VA debe desempeñarse en un

ambién óptimo de iluminación: una iluminación escasa (menor a 50 lux) impide que el

VA pueda identificar las esquinas de manera efectiva; y una iluminación excesiva (mayor

a 400 lux) también tiene un efecto de «ceguera» sobre el VA y de igual forma dificulta

la identificación de las esquinas. Los resultados serían imprevisibles en la ausencia de

esta cuarta condición.

Cuadro 5.1: Resultados obtenidos del VA ante experimentos realizados. En total se consideraron 51 experimentos en los que el VA enfrentó un obstáculo y 17 experimentos en los que el VA enfrentó una apertura.

55

Page 71: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

5.2. Categorización de los Resultados

En esta sección se categorizan los resultados obtenidos después de realizar diversos

experimentos. En general, podemos hablar de cuatro grandes escenarios que esquema­

tizan los resultados de estos experimentos:

1. Affordance colisión correctamente asociado.

2. Affordance pasaje correctamente asociado.

3. Falso positivo: Affordance colisión sin obstáculo próximo.

4. Falso negativo: Affordance pasaje con obstáculo próximo.

En el cuadro 5.1 se muestra la frecuencia con la que se presentaron cada uno de

los escenarios arriba mencionados. Aquí se puede anticipar el desempeño efectivo del

VA.

En los siguientes apartados se entregan imágenes y gráficas relevantes al desem­

peño del VA bajo cada uno de estos escenarios.

5.2.1. Affordance colisión correctamente asociado

En la ejecución de estas pruebas el VA identificó oportunamente el obstáculo

frente a él y asoció de manera correcta el affordance colisión. En las figuras 5.1 y 5.2

se muestra el desempeño del VA en un experimento perteneciente a esta categoría. La

figura 5.3 muestra un histograma de la magnitud del flujo óptico calculado al momento

de identificar el obstáculo.

A partir de la información recopilada en los experimentos, se observó que el VA

detecta obstáculos en un rango de distancias de 10 a 80 centímetros; siempre que no

viaje a una velocidad mayor a 4.8 m/s.

Las figuras 5.4, 5.5; y 5.6 muestran también el desempeño del VA en otro experi­

mento de esta categoría.

56

Page 72: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

(a) Flujo óp t ico (colisión) ( b ) Imagen posterior

Figura 5.1: Affordance colisión correctamente asociado - primera muestra. Aquí el VA extrajo oportunamente las esquinas del obstáculo que enfrentaba y asoció el affordan­ce correspondiente evitando la colisión con el obstáculo. El tamaño de las flechas es proporcional a la magnitud de los vectores de flujo óptico calculados por el VA.

5.2.2. Affordance pasaje correctamente asociado

En la ejecución de estas pruebas el VA identificó continuamente la «apertura»

frente a él (es decir, la ausencia de un obstáculo próximo) y asoció de manera correcta

el affordance pasaje bajo estas condiciones. En las figuras 5.7 y 5.8 se muestra el desem­

peño del VA en un experimento perteneciente a esta categoría. La figura 5.9 muestra

un histograma de la magnitud del flujo óptico durante un instante de su trayecto.

Las figuras 5.10, 5.11 y 5.12 muestran también el desempeño del VA en otro

experimento de esta categoría.

5.2.3. Falso positivo: Affordance colisión sin obstáculo próxi­

mo

En la ejecución de estas pruebas el VA identificó la existencia de un obstáculo

próximo cuando no lo había; y por lo tanto, asoció erróneamente un affordance colisión

57

Page 73: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

(a) (b)

Figura 5.2: Aceleración propioceptiva del VA (affordance colisión correctamente aso­ciado) - primera muestra. Nótese la alta vibración a la que esta expuesta el VA y la pérdida de comunicación hacia el final del experimento por más de un segundo. A pesar de estas condiciones el VA se desempeñó satisfactoriamente.

bajo estas condiciones. En la sección 5.3 se señalan algunas causas que originaron estos

incidentes.

En las figuras 5.13 y 5.14 se muestra el desempeño del VA en un experimento

perteneciente a esta categoría. La figura 5.15 muestra un histograma de la magnitud

del flujo óptico calculado en el momento de identificar el falso obstáculo.

5.2.4. Falso negativo: Affordance pasaje con obstáculo próxi-

En la ejecución de estas pruebas el VA no identificó correctamente la presencia

de un obstáculo próximo que impedía su movilidad de manera segura; y por lo tanto,

asoció erróneamente un affordance pasaje bajo estas condiciones y colisionó con el

obstáculo. En la sección 5.3 se señalan algunas causas que originaron estos incidentes.

En las figuras 5.16 y 5.17 se muestra el desempeño del VA en un experimento

perteneciente a esta categoría. La figura 5.18 entrega un histograma de la magnitud del

flujo óptico en un instante de la colisión con el el obstáculo.

mo

58

Page 74: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

Histograma (flujo óptico)

0 10 20 30 40 50 60 70

magnitud (pixeles)

Figura 5.3: Histograma de flujo óptico medido (affordance colisión correctamente aso­ciado) - primera muestra. Nótese la cantidad de vectores de flujo óptico que exceden la magnitud umbral (40) para asociar un affordance colisión.

(a) Flujo óp t i co (colisión) (b ) Imagen posterior

Figura 5.4: Affordance colisión correctamente asociado - segunda muestra. Aquí el VA extrajo oportunamente las esquinas del obstáculo que enfrentaba y asoció el affordance correspondiente evitando la colisión con el obstáculo. El tamaño de las flechas es pro­porcional a la magnitud de los vectores de flujo óptico calculados por el VA. En este experimento el VA frenó cuando la distancia al obstáculo era menor a la distancia de frenado que se muestra en la figura 5.1. Razón por la cual los vectores de flujo óptico son de una magnitud mayor.

59

Page 75: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

tiempo (segundos) (a)

tiempo (segundos)

(b)

Figura 5.5: Aceleración propioceptiva del VA (Affordance colisión correctamente asocia­do) - segunda muestra. Nótese la alta vibración a la que esta expuesta el VA y la pérdida de comunicación por mas de un segundo después de aproxidamente tiempo = 4 segundos. A pesar de estas condiciones el VA se desempeñó satisfactoriamente.

Histograma (flujo óptico)

0 10 20 30 40 50 60 70

magnitud (pixeles)

Figura 5.6: Histograma de flujo óptico medido (affordance colisión correctamente aso­ciado) - segunda muestra. Nótese que en este histograma la mayoría de los vectores de flujo óptico exceden la magnitud umbral (40) para asociar un affordance colisión. Esto se debe a que el VA asoció el affordance colisión cuando la distancia al obstáculo era menor a la distancia que se muestra en la figura 5.1.

60

Page 76: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

(a) Flujo óp t ico (pasaje) ( b ) Imagen posterior

Figura 5.7: Affordance pasaje correctamente asociado - primera muestra. El tamaño de las flechas es proporcional a las magnitudes del flujo óptico calculados por el VA. Nótese que éstas son de un tamaño considerablemente menor que aquellas que se muestran en los experimentos en los que el VA asoció correctamente un affordance colisión (figuras 5.1 y 5.4).

Aceleración proprioceptiva del VA Aceleración proprioceptiva del VA

(a) (b)

Figura 5.8: Aceleración propioceptiva del VA (Affordance pasaje correctamente aso­ciado) - primera muestra. Nótese la alta vibración a la que esta expuesto el VA y que la duración del experimento fue de 25 segundos. Durante este tiempo el VA se desempeñó satisfactoriamente.

61

Page 77: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

Histograma (flujo óptico)

20 30 40 50

magnitud (pixeles)

Figura 5.9: Histograma de flujo óptico medido (affordance pasaje correctamente aso­ciado) - primera muestra. Nótese que en este histograma la magnitud de los vectores de flujo óptico no exceden a 10. Los valores son muy pequeños en relación a la magnitud umbral (40) para asociar un affordance colisión.

(a) Flujo óp t ico (pasaje) (b ) Imagen posterior

Figura 5.10: Affordance pasaje correctamente asociado - segunda muestra. El tamaño de las flechas es proporcional a las magnitudes del flujo óptico calculados por el VA. Nótese que éstas son de un tamaño considerablemente menor que aquellas que se muestran en los experimentos en los que el VA asoció correctamente un affordance colisión (figuras 5.1 y 5.4).

G2

Page 78: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

(a) (b)

Figura 5.11: Aceleración propioceptiva del VA (Affordance pasaje correctamente aso­ciado) - segunda muestra. Nótese la alta vibración a la que esta expuesta el VA y la pérdida de comunicación en dos intervalos del experimento. La primera pérdida suce­dió aproximadamente en tiempo = 1,4 segundos y la segunda sucedió aproximadamente en tiempo = 3,4 segundos. A pesar de estas condiciones el VA se desempeñó satisfactoria­mente.

Histograma (flujo óptico)

30 40

magnitud (pixeles)

Figura 5.12: Histograma de flujo óptico medido (affordance pasaje correctamente aso­ciado) - segunda muestra. Nótese que en este histograma la magnitud de los vectores de flujo óptico es muy cercana a cero. Estos valores son muy pequeños en relación a la magnitud umbral (40) para asociar un affordance colisión.

63

Page 79: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

(a) Flujo óp t ico (falsa colisión) (b ) Imagen posterior

Figura 5.13: Affordance colisión erróneamente asociado. El tamaño de las flechas es proporcional a las magnitudes del flujo óptico calculados por el VA. Aquí se observa que el cálculo de flujo óptico de las esquinas identificadas en el extremo derecho de la primera imagen (que corresponden a un árbol) es excesivo con respecto al movimiento aparente de la imagen. Esta cálculo erróneo provoca que el VA asocie un affordance colisión cuando no enfrente obstáculo alguno.

tiempo (segundos) (a)

tiempo (segundos)

(b )

Figura 5.14: Aceleración propioceptiva del VA (Affordance colisión erróneamente aso­ciado) . Nótese que la comunicación se perdió por más de cuatro segundos. Esta condi­ción fue decisiva en el desempeño negativo del VA.

64

Page 80: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

Histograma (flujo óptico)

magnitud (pixeles)

Figura 5.15: Histograma de flujo óptico medido (Affordance colisión erróneamente aso­ciado). Nótese que en este histograma la magnitud de la mayoría de los vectores de flujo óptico está muy por encima de la magnitud umbral (40) para asociar un affordan­ce colisión. Esta lectura ocasionó que el VA detuviera su marcha.

(a ) Flujo ópt ico (falsa colisión) (b) Imagen posterior

Figura 5.16: Affordance pasaje erróneamente asociado. Dado que permanece inmóvil, el VA asocia un affordance pasaje cuando de hecho ya ha colisionado con el obstáculo (segunda imagen). El mínimo tamaño de las flechas en la imagen de la derecha indican que el VA no registra movimiento aparente.

65

Page 81: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

tiempo (segundos) (a)

tiempo (segundos) (b )

Figura 5.17: Aceleración propioceptiva del VA (Affordance pasaje erróneamente aso­ciado). Nótese la alta vibración a la que esta expuesta el VA durante la locomoción y la pérdida de comunicación por más de un segundo en tiempo = 5,5 segundos. La baja vibración que se observa después de tiempo = 7,1 segundos corresponde al vehículo en un estado de no locomoción. El VA colisionó con el obstáculo.

70

Figura 5.18: Histograma de flujo óptico medido (Affordance pasaje erróneamente aso­ciado). Nótese que en este histograma la magnitud de los vectores de flujo óptico es prácticamente cero. El VA estaba inmóvil (colisionado) cuando se tomó esta muestra.

66

Page 82: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

5.3. Problemas presentados

Durante la ejecución de las pruebas se presentaron principalmente dos clases de

problemas:

• La lentitud ocasional en la comunicación inalámbrica.

• La asociación incorrecta de puntos en la escena de un frame a otro ocasionado

por la baja resolución de la cámara (320x240).

La lentitud inalámbrica incidió en el 85 % de los experimentos que arrojaron un

desempeño negativo del VA. La asociación incorrecta de puntos en la escena incidió en

apenas un 15% de dichos experimentos (véase el cuadro 5.1. En total se dieron 13

experimentos que arrojaron un desempeño adverso del VA).

Una tercera situación adversa -aunque de menor relevancia en los incidentes- es

la vibración propia que presenta el vehículo en locomoción. Sin embargo, esta última

situación se compensó con una calibración en los criterios para asociar un affordance

colisión (básicamente se establecieron valores de umbral en la magnitud de los vectores

del flujo óptico que demostraron ser más inmunes a esta condición).

5.3.1. Lentitud en la comunicación y su impacto en falsos po­

sitivos y falsos negativos

El problema de la lentitud en la comunicación inalámbrica dio origen a dos situa­

ciones:

1. Retraso de 1 (uno) o más segundos en la recepción de imágenes (envío de imágenes

desde el Sistema Mínimo hacia el Sistema de Procesamiento Central). En la figura

5.19 se muestra esta condición (nótese el desplazamiento del VA entre una imagen

y otra).

67

Page 83: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

Figura 5.19: Lentitud en la comunicación inalámbrica. Obsérvese que el tamaño de la persona en la imagen derecha es significativamente mayor que el de la imagen izquierda. Dado que éstas son imágenes consecutivas tomadas por el VA, esto nos muestra que el lapso de tiempo entre una imagen y otra es también significativamente mayor al requerido para una operación efectiva del VA (un segundo como máximo). Bajo estas condiciones el VA tiene un desempeño negativo.

2. Retraso de 1 (uno) o más segundos en la recepción de comandos (Envío de co­

mandos desde el Sistema de Procesamiento Central hacia el Sistema Mínimo).

Esta condición en la comunicación inalámbrica fue la que originó el mayor número

de incidentes (85%) tanto en los falsos negativos (El VA colisiona con un obstáculo)

como en los falsos positivos (el VA detiene su marcha cuando no enfrenta obstáculo

alguno).

La incidencia de falsos negativos se origina en las siguientes situaciones:

• Si el VA identifica correctamente la presencia de un obstáculo próximo, pero aso­

cia tardíamente un affordance colisión a estas condiciones. En este caso el Sistema

de Procesamiento Central recibe la imagen y la procesa; pero para entonces el

VA ya ha colisionado con el obstáculo, y tardíamente se realiza la acción evasiva

(precisamente la ejecución de la acción evasiva y la revisión post-mortem del video

es lo que nos permite afirmar que el VA sí identificó el obstáculo).

68

Page 84: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

• Si el VA identifica correctamente la presencia de un obstáculo próximo; asocia

oportunamente un affordance colisión; pero recibe tardíamente el comando para

ejecutar la acción evasiva. También en este caso el VA ya ha colisionado con el

obstáculo antes de realizar la acción evasiva.

(a) (b )

Figura 5.20: Lentitud en la comunicación inalámbrica y su impacto en los falsos nega­tivos. Obsérvese que en la figura de la derecha apenas si se" distingue uno de los dedos (extremo derecho de la imagen) que corresponde a la mano completa que se muestra en la primera imagen. Esto nos muestra que el lapso de tiempo entre una imagen y otra es significativamente mayor al requerido para una operación efectiva del VA (un segundo como máximo). Cuando el VA asocia el affordance colisión al obstáculo, ya es demasiado tarde. Para entonces el VA ya ha colisionado.

En las figura 5.20 se muestra el efecto de esta condición en el desempeño del VA.

Nótese que en la secuencia de imágenes si se asocia un affordance colisión, solo que

para entonces el VA ya colisionó con el obstáculo.

La incidencia de falsos positivos se origina cuando el Sistema de Procesamiento

Central recibe dos imágenes consecutivas con una ventana de tiempo entre ellas mayor

o igual a 1 (un) segundo para el cálculo de flujo óptico. En este caso, el movimiento

aparente de las esquinas (también llamadas «buenas característcas para rastrear») en

la imagen da lugar al cálculo de magnitudes de flujo óptico mayores al umbral definido

69

Page 85: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

para asociar affordances colisión al evento presentado. En la figura 5.21 se entrega una

muestra de esta clase de incidentes.

Figura 5.21: Lentitud en la comunicación inalámbrica y su impacto en los falsos posi­tivos. Obsérvese que el tamaño del objeto al centro de la imagen derecha es significati­vamente mayor con respecto al de la imagen izquierda (se trata del mismo objeto). En ambos casos están situados a una distancia que no compromete la locomoción del VA. Sin embargo, el lapso de tiempo transcurrido entre una imagen y otra provoca que el VA calcule magnitudes de flujo óptico que exceden el umbral definido para asociar af­fordances. Esto ocasiona que el VA detenga su marcha cuando no enfrenta un obstáculo próximo.

En resumen, la lentitud en la comunicación inalámbrica incide en los dos escenarios

no favorables: los falsos positivos y los falsos negativos.

5.3.2. Confusión de puntos de la escena

Esta situación se presentó con menor frecuencia (15%) durante la ejecución de los

experimentos. La figura 5.22 muestran el problema presentado. Nótese que entre una

imagen y otra el desplazamiento de los puntos dentro de la imagen es significativamente

menor a la magnitud de los vectores del flujo óptico asociados a dichos puntos. No

solo eso, la dirección de estos vectores no es coherente con el foco de expansión de

la escena. Esto se debe a que la baja resolución de la cámara ocasiona que en raras

(a) (b)

70

Page 86: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

ocasiones el algoritmo LK calcule el campo de flujo óptico con puntos ajenos (en la

imagen posterior) a los identificados en la imagen original. Si estos puntos ajenos están

localizados a una distancia considerable de los puntos originales; el algoritmo calcula

vectores de flujo óptico de grandes magnitudes que no corresponde al desplazamiento

«real» de los puntos dentro de la escena. El resultado: asociación de affordances colisión

cuando el VA no tiene un obstáculo próximo. Esta condición es también una causa de

los falsos positivos.

Figura 5.22: Confusión de puntos en la escena. Nótese que en ambas imágenes existen vectores de flujo óptico cuya dirección no es coherente ni con el foco de expansión que ellas exhiben; ni con la magnitud de los demás vectores. En estos casos el VA calcula el flujo óptico con puntos ajenos (en la imagen posterior) a los identificados en la imagen original.

5 .4 . O t r o s resu l t ados

Recuérdese que para la asociación del affordance colisión a un obstáculo se uti­

lizó el siguiente criterio: encontrar un número mínimo de vectores de flujo óptico que

exceden una cierta magnitud umbral. Se probó también otro criterio basado en el FOE

(focus of expansión por sus siglas en inglés), tomando como premisa que el centro del

71

Page 87: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

FOE coincide aproximadamente con el centro de la imagen. Los resultados preelimina-

res utilizando este último criterio fueron más desfavorables que el criterio original: si

bien el criterio de la aproximación al FOE no arrojó falsos positivos; sí entregó falsos

negativos en el 80 % de los casos preliminares probados.

(a) (b)

Figura 5.23: Efecto de la iluminación natural en el desempeño del VA. En ambas imáge­nes se observa que la mayoría de las esquinas identificadas por el VA corresponden al obstáculo frente a él. Esto es positivo para el desempeño del VA, pues permite que su «atención» se concentre en dicho obstáculo.

Por otra parte, la iluminación natural en algunos de los escenarios probados al

aire libre tuvo un impacto positivo en los resultados. Esta iluminación natural «oculta»

detalles de la escena y permite al VA «concentrar su atención» en los obstáculos que

se colocan frente a él. Nótese que en la figura 5.23 la mayor cantidad de esquinas

identificadas por el VA están concentradas en el obstáculo frente a él.

72

Page 88: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

Capítulo 6

Conclusiones

Dados los resultados obtenidos en los experimentos realizados, concluyo que una

estrategia basada en affordances y flujo óptico es efectiva para la evitación de colisiones

en un vehículo autónomo que opera en el espacio proximal. Los incidentes adversos que

encontré durante la ejecución de los experimentos (falsos positivos y falsos negativos)

tuvieron su causa raíz en la lentitud ocasional de la comunicación inalámbrica y en la

baja resolución de imagen configurada en la cámara de visión. Precisamente la primera

problemática condicionó a la segunda: tuve que utilizar una resolución baja de imagen

(320x240) que no consumiera una cantidad considerable del ancho de banda de la red

inalámbrica y permitiera una transmisión de las imágenes en un tiempo menor a 100

milisegundos. Dicho en otras palabras, los incidentes con los que me enfrenté fueron

causados por los elementos físicos con los que trabajé y no a causa de la efectividad del

método de cálculo de flujo óptico (algoritmo piramidal de Lukas-Kanade) y del proce­

samiento de affordances (ambos aspectos centrales de esta tesis) que adapté, diseñé y

desarrollé para este trabajo.

Considero que el análisis cualitativo y cuantitativo del desempeño del VA en la

evitación de colisiones demuestra la robustez y efectividad de la estrategia que diseñé y

desarrollé. Lo anterior lo afirmo tomando en cuenta lo siguiente:

• El VA evitó colisiones en el 85 % de los experimentos realizados con obstáculos.

73

Page 89: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

• Los videos tomados por la misma cámara montada en el VA muestran gráfica­

mente el foco de expansión de acuerdo a lo que se espera empíricamente.

• Los datos numéricos recolectados durante la ejecución de los experimentos y re­

lacionados con el desempeño del VA son coherentes con mis observaciones de los

experimentos y el análisis post-mortem de los videos. En otras palabras, cuando

yo observé que el VA asoció correcta y oportunamente un affordance pasaje a

una ausencia de obstáculo; observé que el video tomado por la cámara del VA

mostró campos de flujo óptico de menor magnitud (flechas de corta longitud)

y observé también que los datos numéricos recolectados eran coherentes con lo

anterior: la magnitud numérica para los vectores de flujo óptico eran menores

(en magnitud y frecuencia) al umbral definido para la identificación de un affor­

dance colisión. Esta misma coherencia observé cuando el VA asoció correcta y

oportunamente un affordance colisión a un obstáculo próximo.

• Los resultados que obtuve fueron consistentes en experimentos realizados al aire

libre y en áreas de trabajo cerradas.

Considero que mis aportaciones derivadas de mi trabajo en esta tesis son:

1. Una estrategia y arquitectura que no depende del modelo cinemático del VA.

2. Una arquitectura conceptual y lógica, independiente de la arquitectura física.

3. Una arquitectura computacional híbrida que opera exclusivamente en el espacio

proximal. A diferencia de la arquitectura híbrida mostrada en [25], en este trabajo

no se realiza representación alguna del entorno (el VA no percibe obstáculos-

solo registra el flujo óptico y otras variables proprioceptivas que le entregan sus

sensores).

Identifiqué los siguientes trabajos a futuro relacionados con esta tesis:

74

Page 90: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

• Implementar la arquitectura conceptual y lógica aquí desarrollada en un arqui­

tectura física «monolítica» de mayor potencia (mayor capacidad de cómputo y

mayor resolución de imagen). El objetivo general de esta iniciativa será habili­

tar el procesamiento in-situ de los affordances y el flujo óptico. Los objetivos

particulares que esta iniciativa deberá considerar son:

1. Evitar la tercerización de estos procesos en una computadora que no esté físi­

camente montada en el VA.

2. Minimizar la comunicación inalámbrica durante la ejecución en tiempo real

de los experimentos.

• Diseñar y desarrollar una respuesta evasiva del VA que sea dinámica y parame-

trizable.

• Integrar el monitoreo de las variables proprioceptivas al análisis de flujo óptico

para un procesamiento de affordances más preciso.

• Desarrollar una estrategia que permita al VA el aprendizaje autónomo de affor­

dances pasaje y affordances colisión.

• Trasladar el diseño y desarrollo del procesamiento de affordances y flujo óptico

para la evitación de obstáculos en la locomoción de robots humanoides. Esta

iniciativa tiene un impacto inmediato en los robots NAO que se utilizan en las

competencias ROBOCUP: en ellas existe una penalización si un robot colisiona

con otro [22].

75

Page 91: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

Bibliografía

[1] J. L. Barron and N. A. Thacker. Tutorial: Computing 2d and 3d optical flow. Tina

Memo No. 2004-012, 2004.

[2] Aníbal Ollero Baturone. Robótica. Manipuladores y robots móviles. Marcombo,

2001.

[3] S. S. Beauchemin and J. L. Barron. The computation of optical flow. ACM

Comput. Surv., 27:433-466, September 1995.

[4] M. K. Black and P. Anandan. The robust estimation of múltiple motions: Parame-

tric and piecewise-smooth flow fields. Computer Vision and Image Understanding,

17:185-203, 1981.

[5] G. Bradski and A. Kaehler. Learning OpenCV: computer visión wüh the OpenCV

library. O'Reilly Series. O'Reilly, 2008.

[6] Gary Bradski. OpenCV, 2011 (accessed April 27, 2011).

[7] Michael J. Braund. The structures of perception: An ecological perspective. Kri-

tike: An Online Journal of Philosophy, 2(2):123-144, June 2008.

[8] Centeye. Optical Flow, 2000 (accessed March 20, 2011).

[9] ePanorama.net. RC servo controlling, 1994 (accessed April 22, 2011).

76

Page 92: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

[10] James J. Gibson. The Senses Considered as Perceptual Systems. Houghton Mifflin

Company, 1966.

[11] James J. Gibson. The Ecological Approach to Visual Perception. Laurence Elbraum

Associates, Inc., 1979.

[12] E.B. Goldstein. Sensation and perception. Wadsworth Cengage Learning, 2009.

[13] H. Harris and M. Stephens. A combined comer and edge detector. In J^th Alvey

Vision Conference, 1988.

[14] Kim B.K. Hidayat, S. and K. Ohba. Learning affordance for semantic robots using

ontology approach. In IEEE International Conference on Intelligent Robots and

Systems, 2008.

[15] B. Horn. Robot visión. MIT electrical engineering and computer science series.

MIT Press, 1986.

[16] Berthold K. P. Horn and Brian G. Schunck. Determining optical flow. ARTIFICAL

INTELLIGENCE, 63:75-104, 1996.

[17] D.N. Lee and H. Kalmus. The optic flow field: The foundation of visión [and

discussion]. 290(1038):169-179, 1980.

[18] Bruce D. Lucas and Takeo Kanade. An iterative image registration technique with

an application to stereo visión. In DARPA Imaging Understanding Workshop,

1981.

[19] G A Orban, L Lagae, A Verri, S Raiguel, D Xiao, H Maes, and V Torre. First-order

analysis of optical flow in monkey brain. Proceedings of the National Academy of

Sciences, 89(7):2595-2599, 1992.

77

Page 93: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

[20] Raymond E. Phinney and Ralph M. Siegel. Speed selectivity for optic flow in área

7a of the behaving macaque. Cerebral Coriex, 10(4):413-421, 2000.

[21] Milena Raffi, Salvatore Squatrito, and María Grazia Maioli. Neuronal responses to

optic flow in the monkey parietal área pee. Cerebral Coriex, 12(6):639-646, 2002.

[22] Robocup. Regulations and Rules - Robocup, 2011 (accessed Jun 23, 2011).

[23] Stuart Russell and Peter Norvig. Artificial Intelligence: A Modern Approach.

Prentice-Hall, Inc., 1995.

[24] J. Shi and C. Tomasi. Good features to track. In 9th IEEE Conference on Com­

puter Vision and Pattern Recognition., 1994.

[25] B. Siciliano and O. Khatib. Springer handbook of robotics. Springer, 2008.

[26] Mike Thomann. Low-Light Performance Calculator, 2011 (accessed Jul 14, 2011).

[27] Manuela Viezzer and C.H.M. Nieuwenhuis. Learning affordance concepts: some

seminal ideas. In IJCAI05 Workshop on modeling natural action selection, 2005.

[28] Openmoko wiki. Accelerometer data retrieval, 2011 (accessed Jun 21, 2011).

[29] Min Xie. Fundamentáis of robotics: linking perception to action. World Scientific,

2003.

[30] Inc. Xsens. Xsens MTi: Miniature AHRS - Attitude and Heading Sensor, 2011

(accessed May 27, 2011).

[31] Inc. Yost Engineering. ServoCenter 3.1 USB - User's Manual and Programming

Guide, 2005.

78

Page 94: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

Apéndice A

Experimentos para la calibración de los

servomotores

En este apéndice se describirá brevemente los experimentos realizados para la

calibración de los servomotores. Esta calibración implica definir los rangos de velocidad

y dirección seguros para ser ejecutados por el VA; así como sus valores óptimos de

operación.

(a) direccion=105, velocidad=140 tiempo (segundos)

(b) direccion=110, velocidad=140

Figura A.l : Calibración de la dirección: inicio desde el valor mínimo seguro del servo­motor. Nótese que el rango de rotación del VA es muy amplio en ambas imágenes (va de -200 a 200 grados) cuando se establecen estos valores en los servomotores.

Los objetivos de la calibración de los servomotores son:

1. Encontrar los parámetros que permiten que el VA despliegue una trayectoria en

79

Page 95: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8

tiempo (segundos) tiempo (segundos) (a) direccion=115, velocidad=140 (b) direccion=120, velocidad=140

Figura A.2: Calibración de la dirección: avance desde el valor mínimo seguro del servo­motor. Nótese que en la gráfica de la izquierda la amplitud de la rotación sigue siendo amplia (va desde 0 a 100 grados). En la gráfica de la derecha la amplitud de la rotación va de 0 a 6 grados (muy cerca de una trayectoria lineal).

línea recta; o lo más cercano posible a una línea recta. Esto implica hacer pruebas

con distintos valores para el servomotor de la dirección del VA.

2. Encontrar los parámetros que permitan al VA mantener una velocidad mínima

constante (tómese en cuenta el peso de los componentes extra que el VA trans­

porta: sistema mínimo, acelerómetro, cámara de visión, sistema de control motriz

y pilas para alimentar estos componentes).

3. Encontrar los parámetros que permitan al VA alcanzar una velocidad máxima

constante.

4. Encontrar los parámetros que permitan al VA realizar un frenado confiable hasta

llegar al reposo.

En términos generales, la calibración de los servomotores se realizó con la ayuda de

un dispositivo especializado en el rastreo de movimiento. Este dispositivo -denominado

MTi y fabricado por la compañía Xsens- contiente acelerómetros, giróscopos y mag-

netómetros que facilitan el rastreo de movimiento en 3D [30]. Los ejercicios de calibra­

ción consistieron en:

80

Page 96: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

tiempo (segundos) (a) direccion=121, velocidad=140

tiempo (segundos) (b) direccion=121, velocidad=140 (segunda muestra)

Figura A.3: Calibración de la dirección: rotaciones mínimas encontradas. La amplitud de rotación en ambas gráficas es apenas de dos grados. En términos prácticos, el VA despliega una trayectoria en línea recta.

Establecer valores específicos de prueba para ambos servomotores.

Registrar y normalizar los datos que arrojaba el dispositivo MTi (la normalización

de los datos fue necesaria debido a que el dispositivo MTi presentaba un pequeño

error en reposo).

Obtener gráficas de aceleración en los ejes X y Y (en el eje Z se desprecia pues el

movimiento del VA es en dos dimensiones solamente).

Obtener gráficas de rotación con respecto a la orientación original (en reposo) del

VA.

81

Page 97: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

tiempo (segundos) tiempo (segundos) (a) direccion=122, velocidad=140 (b) direccion=125, velocidad=140

Figura A.4: Calibración de la dirección: aumenta la amplitud de rotación nuevamente. El rango de la rotación es significativamente mayor que cuando el valor de la dirección se estableció en 121 (ver figura A.3).

A . l . Calibración del servomotor que controla la di­

rección

En las figuras A.l , A.2, A.3, A.4, A.5, A.6, A.7, A.8 y ?? se muestra la rotación que

exhibió el VA ante los distintos valores que se asignaron al servomotor de la dirección.

El rango de valores seguros en el servomotor que se encontraron después de varios

experimentos es desde 105 hasta 145. Es en este rango en el que el mecanismo de la

dirección opera normalmente sin dañarse.

Obsérvese que los valores mínimos de rotación se obtuvieron cuando el servomotor

que controla la dirección se le asignó el valor de 121. Este valor es que el que se

escogió para que el VA exhibiera trayectorias en línea recta. Véanse las figuras A.7

y A.8.

82

Page 98: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

tiempo (segundos) (a) direccion=130, velocidad=140

tiempo (segundos) (b) díreccion=135, velocidad=140

Figura A.5: Calibración de la dirección: aproximación a los valores más altos del servo­motor. Obsérvese que la amplitud en la rotación del VA aumenta nuevamente.

tiempo (segundos) tiempo (segundos) (a) direccion=140, velocidad=140 (b) direccion=145, velocidad=140

Figura A.6: Calibración de la dirección: los valores más altos del servomotor que controla la dirección. Obsérvese que la máxima amplitud de la rotación se consigue en un menor tiempo que en la figura A.5.

83

Page 99: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

tiempo (segundos) (a) direccion=121, velocidad=140

tiempo (segundos) (b) direccion=121, velocidad=145

Figura A.7: Calibración de la dirección: trayectoria lineal - parte I. Obsérvese la mínima amplitud de rotación que exhibe el VA. En la imagen de la izquierda fue de apenas 2.5 grados y una velocidad mayor (imagen de la derecha) la amplitud de la rotación aumentó a 10 grados.

tiempo (segundos) tiempo (segundos) (a) direccion=121, velocidad=145 (b) direccion=121, velocidad=150 (primera muestra)

Figura A.8: Calibración de la dirección: trayectoria lineal - parte II. Obsérvese que la amplitud de la rotación en la gráfica de la izquierda fue de apenas 4 grados y a una velocidad aún mayor (gráfica de la derecha) fue de cinco grados. Un desempeño efectivo para exhibir una trayectoria lineal en los términos prácticos del proyecto.

84

Page 100: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS

A.2. Calibración del servomotor que controla la ve­

locidad

El rango de valores seguros que se encontraron para el servomotor que controla la

velocidad después de varios experimentos es desde 140 hasta 170. Sin embargo, debido a

la capacidad de cómputo del Sistema Mínimo y el ancho de banda de la red inalámbrica,

el único valor que asignó al servomotor que controla la velocidad fue de 140 (este valor

permite que el VA se desplace a una velocidad mínima constante).

La gráfica A.9 muestran la aceleración en el eje X (dirección de movimiento del

VA). Para estas gráficas no se utilizó filtro alguno. Nótese el ruido excesivo que se ob­

tiene con el muestreo del dispositivo MTi (este comportamiento se observó a cualquier

velocidad del VA). Debido a este comportamiento y al efecto negativo del motor prin­

cipal del VA sobre el MTi (el magneto afecta las mediciones de orientación y rotación);

se optó por no utilizarlo para el desarrollo del proyecto. Sin embargo, este dispositivo

si fue útil en la calibración de los servomotores.

tiempo (segundos) tiempo (segundos) (a) direccion=121, velocidad=150 (b) direccion=121, velocidad=150 (segunda muestra)

Figura A.9: Calibración de la velocidad. Aceleración en el eje X (dirección de movimien­to del VA) en una trayectorial lineal. Obsérvese el ruido excesivo que se exhibe en ambas gráficas. Este comportamiento se encontró en todos los experimentos de calibración.

85

Page 101: EVITACIÓN DE COLISIONES DE UN VEHÍCULO AUTÓNOMO TESIS