• No se han encontrado resultados

Propuesta de una herramienta para la evaluación automática del desempeño en la navegación de un robot: Un caso de estudio

N/A
N/A
Protected

Academic year: 2020

Share "Propuesta de una herramienta para la evaluación automática del desempeño en la navegación de un robot: Un caso de estudio"

Copied!
79
0
0

Texto completo

(1)

Propuesta de una herramienta para la

evaluaci´

on autom´

atica del desempe˜

no en la

navegaci´

on de un robot: Un caso de estudio

Luis Felipe Mar´ın Ur´ıas

Maestr´ıa en Inteligencia Artificial

Director:

Dr. H´

ector Gabriel Acosta Mesa

Revisores:

M.C. V. Ang´

elica Garc´ıa Vega

Dr. Antonio Mar´ın Hern´

andez

(2)

´

Indice general

1. Introducci´on 1

1.1. Evaluaci´on . . . 3

1.1.1. Evaluaci´on de desempe˜no de robots . . . 3

1.2. Navegaci´on Rob´otica . . . 5

1.3. Concursos de Robots . . . 6

2. Antecedentes 10 2.1. Trabajo Previo en Evaluaci´on . . . 10

3. Propuesta 14 3.1. Metodolog´ıa . . . 16

3.2. Descripci´on de la Herramienta . . . 17

3.2.1. Adquisici´on de imagen . . . 17

3.2.2. Tratamiento de la imagen y reconocimiento de objetos . . . 18

3.2.2.1. Binarizaci´on . . . 20

3.2.3. Evaluaci´on y asignaci´on de la escala de puntuaci´on . . . 22

3.3. Resultados . . . 25

3.3.1. Seguimiento de Trayectoria . . . 28

3.3.2. Evaluaci´on . . . 30

4. Conclusiones y Trabajo Futuro 37 4.1. Conclusiones . . . 37

4.2. Trabajo Futuro . . . 38

Apendices 40 A. Conceptos de Visi´on 40 A.1. Modelos de Color . . . 40

(3)

A.2. An´alisis y procesamiento de im´agenes digitales . . . 42

A.2.1. Representaci´on de im´agenes digitales. . . 43

A.2.2. Procesamiento de Im´agenes Digitales . . . 44

A.3. Segmentaci´on . . . 45

A.4. Aplicaci´on de umbrales en la binarizaci´on. . . 46

A.5. Segmentaci´on por color . . . 47

B. Navegaci´on rob´otica 49 B.1. Tipos de Navegaci´on . . . 49

B.1.1. Topol´ogica . . . 50

B.1.1.1. Marcas (Landmarks) . . . 50

B.1.1.2. Compuertas Gateways . . . 51

B.1.1.2.1. M´etodos Relacionales . . . 52

B.1.1.2.2. M´etodos Asociativos . . . 52

B.1.2. M´etrica . . . 53

B.2. Localizaci´on de un robot m´ovil en un ambiente . . . 54

B.3. Locomoci´on . . . 56

C. C´odigo documentado de EVAN 58 D. Manual de usuario 64 D.1. Gu´ıa de Instalaci´on . . . 64

D.2. Uso de la Interfaz . . . 65

D.2.1. Ventana Principal . . . 65

D.2.2. Ventana de Mensajes . . . 68

D.2.3. Men´u Popup . . . 68

D.2.4. Ventana de Par´ametros . . . 68

D.2.5. Ventana de Evaluaci´on . . . 69

(4)

´

Indice de figuras

3.1. Vista de la arena del torneo con un obst´aculo, en este caso una peque˜na silla . . 15

3.2. Esquema de la estructura de la herramienta . . . 17

3.3. C´amara para adquisici´on de im´agenes colocada en la parte superior de la arena, Tambi´en en la parte inferior de la imagen se puede observar la arena en donde navegan los robots . . . 18

3.4. La imagen muestra al robot dentro del ´area de la arena . . . 19

3.5. Imagen original y Binarizada con centroide . . . 20

3.6. Plantilla de colores captada por la c´amara para su prueba . . . 21

3.7. Binarizaci´on del color negro en umbral (U) 15 (izq) y umbral 10 (der) . . . 21

3.8. Binarizaci´on del color rojo en umbral 15 (izq) y umbral 10 (der) . . . 22

3.9. Binarizaci´on del color amarillo y rojo en umbral 15 para dos objetivos (izq) y umbral 9 (der) . . . 22

3.10. Distribuci´on de basura en una sola celda (No. celdas sucias= 1) . . . 24

3.11. Distribuci´on de la misma cantidad de basura en varias celdas (No. celdas sucias= 0) . . . 24

3.12. Interfaz completa . . . 26

3.13. Ventana de parametros . . . 27

3.14. Ventana de mensajes . . . 27

3.15. Inicio de la trayectoria . . . 28

3.16. Trayectoria en tiempo 179 ciclos . . . 29

3.17. Trayectoria en tiempo 326 ciclos . . . 29

3.18. Fin de la trayectoria mostrando grid, gr´afica de comportamiento y trayectoria en la subsecci´on de binarizaci´on . . . 30

3.19. Objetivos iniciales (Izq) y Objetivos alcanzados al 52.54 % (der) . . . 31

(5)

3.21. Porcentajes obtenidos del alcance de objetivos de esta imagen por: F´ormula Tor-neo = 0 % F´ormula EVAN = 0.33 %. Como podemos observar en la parte de la derecha de la imagen los pixeles que se toman en cuenta para la f´ormula de EVAN

son m´as que aquellos que son contemplados por la f´ormula original del torneo. . 32

3.22. Porcentajes obtenidos del alcance de objetivos de esta imagen por: F´ormula Tor-neo = 88 % F´ormula EVAN = 92 %. Al igual que en el caso anterior la flecha nos indica una celda ejemplo en la cual existen pixeles que no forman parte de la evaluaci´on de la f´ormula del torneo, y los cuadros marcados muestran cuales celdas son tomadas en cuenta. . . 33

3.23. Evaluaci´on de prueba con objetivos alcanzados al 0 % . Las diferentes calificacio-nes se deben a la sensibilidad al ruido . . . 33

3.24. Evaluaci´on con objetivos alcanzados al 25 %, distancia recorrida de 47.96 y Tiem-po de 1379 ciclos . . . 35

3.25. Evaluaci´on con objetivos alcanzados al 79.62 %, distancia recorrida de 60.40 y Tiempo de 1360 ciclos . . . 36

A.1. Diagrama de cromaticidad CIE. Imagen obtenida de [Paj02] . . . 41

A.2. Representaci´on del tetraedro RGB. Imagen obtenida de [Gon93] . . . 42

A.3. Esquema del procesamiento de im´agenes . . . 42

A.4. Imagen digital, f (x,y) representa la intensidad de un punto de la imagen corres-pondiente a las coordenadas x , y. . . 43

A.5. Esquema de los pasos b´asicos en el procesamiento de im´agenes. Imagen obtenida de [Gon93] . . . 45

B.1. Marcas artificiales pasivas utilizadas para la navegaci´on . . . 51

B.2. Diferencia entre la ruta realmente seguida y la ruta estimada por odometr´ıa . . 54

B.3. Disco de Sharp encoder . . . 55

B.4. Posible mapa y grafo generados para el posicionamiento por landmarks . . . 55

B.5. Mapa generado con las lecturas de determinados sensores . . . 56

B.6. Ejemplo de movimiento no holon´omico . . . 57

D.1. Ventana principal y las subsecciones . . . 66

D.2. Menus de selecci´on de regiones de objetos y vista del rect´angulo definido por el usuario . . . 67

D.3. Menus de trayectoria y evaluaci´on . . . 68

D.4. ventana de mensajes . . . 69

(6)
(7)

´

Indice de cuadros

1.1. Tabla comparativa de las caracter´ısticas comunes entre las diferentes evaluaciones, [Bur01] . . . 4 1.2. Comparativa de la evaluaci´on en concursos de robots . . . 8 3.1. Ejemplo de datos obtenidos y almacenados para la medici´on de la distancia y

(8)

Cap´ıtulo 1

Introducci´

on

En la rob´otica como en muchas ´areas de la computaci´on, se requiere de comparar y evaluar las nuevas metodolog´ıas, algoritmos o arquitecturas que se proponen. Esto con el objeto de mejorar o cambiar las deficiencias que presenten, de igual modo se pretende verificar si alg´una teor´ıa planteada es la correcta. Para evaluar el desempe˜no de las nuevas metodolog´ıas de navegaci´on de los robots m´oviles, se requiere observar y calificar como se comportan durante pruebas realizadas a los mismos en ambientes controlados, y as´ı lograr una medici´on de la evoluci´on de los enfoques que van surgiendo. Es por esta raz´on que se realizan concursos de robots, logrando con esto el poder comparar entre las diversas concepciones de un mismo problema. Actualmente no existe un criterio estandarizado para la evaluaci´on del desempe˜no de un robot m´ovil, lo m´as com´un es la evaluaci´on por medio del criterio humano el cual es muy subjetivo y por consiguiente poco preciso. En los concursos de robots m´oviles se debe medir, entre otras cosas, la manera en como dichos robots desempe˜nan la navegaci´on.

La navegaci´on rob´otica es un conjunto de procesos orientados a encontrar un camino que une un punto origen con un punto destino y a su correcto seguimiento sin colisiones. Esta navegaci´on puede tener un objetivo particular por el cual se debe realizar esta acci´on. Para poder desplazarse en un entorno, el robot debe de cumplir con las necesidades de posicionamiento, reconocimiento, determinaci´on de caminos, la elecci´on y el seguimiento del mejor de estos caminos. Durante el movimiento debe evitar obst´aculos as´ı como alcanzar los objetivos planteados.

(9)

mapa por medio del reconocimiento y registro de las paredes y/u obst´aculos que se encuentran en el ambiente.

Un dato muy importante que se utiliza en la evaluaci´on de robots navegantes es el seguimiento de la trayectoria para medir la distancia recorrida. Para el c´alculo de la trayectoria generalmente se cuenta con los m´etodos de posicionamiento anteriormente mencionados donde la localizaci´on de un robot en un ambiente puede proveer una distancia recorrida y as´ı tambi´en proporcionar un par´ametro a evaluar; Sin embargo, Estos m´etodos son poco factibles para su uso en la evaluaci´on, ya que presentan varios problemas con la informaci´on adquirida; como por ejemplo, el error o la falta de precisi´on en la obtenci´on de la posici´on real, lo que significa no poder obtener un valor absoluto para poder tomarlo en cuenta dentro de la evaluaci´on final.

En las competencias de robots que navegan, por ejemplo la Robocup, es necesario que los robots alcancen ciertas metas, por lo que se requiere de un sistema de evaluaci´on objetiva que arroje resultados m´as cofiables a los obtenidos con la evaluaci´on humana. Un claro ejemplo de ello son las competencias en donde varios robots deben realizar la misma tarea repetidas veces, en cuyo caso la percepci´on humana da pie a la omisi´on de ciertos detalles importantes durante la evaluaci´on de desempe˜no de los robots, debido a la monoton´ıa, cansancio o alg´un otro factor. Un caso particular de este tipo de concursos, es el Primer Torneo Mexicano de Robots Lim-piadores, en el cual se debe cumplir con la tarea de quitar del ´area tres tipos de objetivos1

denominados ’basura’, no importando la metodolog´ıa usada, para lo cual se necesita de una herramienta que efect´ue una evaluaci´on imparcial del desempe˜no de los robots concursantes. A lo largo de este trabajo se describe m´as a detalle las caracter´ısticas de este torneo.

En el presente trabajo, se propone una herramienta capaz de realizar una evaluaci´on de alcance de metas, de rapidez y de la eficacia con la que realiza determinada tarea un robot navegante, con base a las especificaciones y reglas planteadas en un caso particular de estudio: el Torneo Mexicano de Robots Limpiadores. Esto se llevo a cabo, siguiendo la trayectoria de un robot y evaluando los objetivos alcanzados2, ubicando estos dentro del ´area y comparando el estado

original con el final. EVAN3, es una herramienta de evaluaci´on autom´atica creada con la finalidad de subsanar las deficiencias en la evaluaci´on del desempe˜no de robots en los concursos en ´areas cerradas, propiciadas por la falta de precisi´on del juicio humano.

1los elementos utlizados son: caf´e, hojas y confetti

(10)

1.1.

Evaluaci´

on

Partiendo de la definici´on de evaluar de la real academia de la lengua[RAE04], definimos la evaluaci´on como el proceso por el cual se estima, mide u observa el nivel, comportamiento, desempe˜no o mejor´ıa de alg´un elemento o sistema de elementos que deba realizar una o varias tareas. Este proceso se puede implementar en varios campos como lo son, el desempe˜no de empleados en una empresa, el comportamiento animal o el desempe˜no de arquitecturas rob´oticas, entre otros.

Entre las ventajas que se pueden obtener a trav´es de la evaluaci´on podemos encontrar:

La mejora del desempe˜no, mediante la retroalimentaci´on. La determinaci´on del mejor desempe˜no.

Las necesidades: el desempe˜no insuficiente puede indicar la necesidad de replantear la problem´atica.

Los errores de dise˜no: el desempe˜no insuficiente puede indicar errores en el dise˜no de alguna metodolog´ıa.

Los desaf´ıos externos: en ocasiones, el desempe˜no se ve influido por factores externos.

Para la evaluaci´on del desempe˜no, que es el objetivo de este trabajo, nos centraremos en la evaluaci´on del desempe˜no de robots m´oviles en el ambiente especificado por el torneo mexicano de robots limpiadores.

1.1.1.

Evaluaci´

on de desempe˜

no de robots

Investigadores de diversas ´areas de la rob´otica como lo son el dise˜no, control, navegaci´on, etc. Utilizan t´ecnicas de evaluaci´on para la medici´on del desempe˜no de los diferentes algoritmos o es-tructuras que proponen. Los enfoques de evaluaci´on, generalmente son de dos tipos: cuantitativa (Objetiva) y cualitativa(subjetiva).

(11)

Caracter´ısticas Comunes Cuantitativa Cualitativa

Definici´on de Objetivos -Bien definida -Vagamente definida -M´etricas establecidas -M´etricas desconocidas Ventajas -Resultados Bien definidos -Permite la exploraci´on

-Comparaci´on de metodolog´ıas -Permite la evaluaci´on Humana -Incita a la diversidad

Desventajas -Enfoque reducido -No esta bien definida -No permite la evaluaci´on - Dif´ıcil comparaci´on

humana de metodolog´ıas

-No concluyente Resultados -Desempe˜no mejorado -Descubrimiento

post-evaluaci´on de nuevos enfoques

-Identificaci´on de puntos fuertes.

Cuadro 1.1: Tabla comparativa de las caracter´ısticas comunes entre las diferentes evaluaciones, [Bur01]

explicamos anteriormente, en este tipo de evaluaci´on no se sabe si el desempe˜no es el ´optimo, pero si se sabe si es mejor que la otra metodolog´ıa implementada en el otro equipo.

El otro tipo de evaluaci´on, la cualitativa, no verifica la cantidad de metas alcanzadas, si no que tan efectivos o relacionados estan con respecto a los datos o tareas solicitadas con ´este m´etodo. En general, este tipo de evaluaci´on es menos confiable, porque eval´uan situaciones hipot´eticas, adem´as de ser calificaciones no verificables, que pueden considerarse como opiniones del evaluador. Un ejemplo, que requiere de este tipo de evaluaci´on son las competencias de la AAAI en donde se otorgan premios t´ecnicos al dise˜no de robots o en donde no es f´acil obtener alg´un par´ametro de evaluaci´on. En el cuadro 1.1 se describe a detalle las diferencias, ventajas y desventajas entre las evaluaciones cuantitativas y cualitativas.

(12)

de evaluaci´on de comportamiento inteligente, etc.

La evaluaci´on del desempe˜no de los robots es importante para tres principales grupos de perso-nas, el primero son los investigadores que necesitan probar la evoluci´on sus nuevas tecnolog´ıas realizadas, el segundo sector es el de los patrocinadores de las investigaciones, que desean com-parar que proyecto es mejor bajo que circunstancias, y finalmente el grupo de los usuarios de los robots se beneficiar´a con las metricas de desempe˜no realizadas.

El evaluar un robot navegante puede ser una tarea dif´ıcil, pero muy importante para poder conocer y valorar el desempe˜no de un robot en un ambiente y para poder evolucionar m´as r´apido sobre ´esta ´area de la evaluaci´on. La evaluaci´on de este tipo de robots puede darse ya sea en un lugar cerrado y controlado, por ejemplo para los robots de un concurso, o en lugares abiertos, como para un robot de exploraci´on terrestre o espacial. El primer tipo de evaluaci´on es frecuentemente utilizado tambi´en para evaluar robots para lugares abiertos, simulando un espacio abierto en un lugar cerrado, esto para facilitar su evaluaci´on. Para los prop´ositos de este trabajo, el tipo de evaluaci´on que interesa es el primero.

1.2.

Navegaci´

on Rob´

otica

Para entender mejor lo que se desea evaluar de los robots en los torneos y competencias de robot m´oviles, se necesita saber que acciones son las que ´estos realizan. Por lo que, s´ı el objetivo es que un robot pueda desplazarse satisfactoriamente en un ´area, se requiere de su interacci´on con el ambiente que lo rodea, siendo que esta interacci´on puede darse ya sea planeando los movimientos dentro de un ´area o arena en el momento de la competencia, motivo por el cu´al dicho concepto se explica en esta secci´on.

(13)

Para un robot navegante que interact´ua con su entorno hay cuatro preguntas b´asicas que debe realizarse [Mur00]:

¿Hacia d´onde voy? Esta pregunta se produce generalmente por un humano o por un planeador. Se refiere al objetivo a donde se debe dirigir, no es com´unmente considerada por los roboticistas como una pregunta que sea parte de la navegaci´on.

¿Cu´al es el mejor camino que hay? Aqu´ı es un problema de planeaci´on de ruta, y el ´

area de navegaci´on es la que m´as atenci´on recibe. Los m´etodos de planificaci´on de ruta generalmente se dividen en 2[Mur00]: cualitativos y cuantitativos.

¿D´onde he estado? La realizaci´on de mapas solo es revisada brevemente por la navegaci´on. Un robot puede mejorar su desempe˜no notando los cambios en un ambiente ya conocido. ¿D´onde estoy? Esta pregunta se debe hacer con el prop´osito de seguir una ruta ya esta-blecida, construir un mapa o en general, para la localizaci´on de un robot dentro de un ambiente establecido.

1.3.

Concursos de Robots

Durante a˜nos se han realizado diferentes concursos de robots en todo el mundo, con el objetivo de realizar foro para intercambio de ideas, comparaciones entre las diversas arquitecturas o evaluaciones de sus propuestas. M´exico como en otros pa´ıses, ha puesto especial inter´es en esta ´area, siendo as´ı sede de algunos concursos y muestras de rob´otica de ´ındole nacional e internacional, entre los cuales se pueden mencionar como los m´as representativos:

Latin American IEEE Student Robotics Competition [IEE04], en el ITESM Campus Es-tado de M´exico y ITAM Campus R´ıo Hondo, M´exico, del 25 al 29 de octubre del 2004 en el cual se realizan concursos de eventos relativos a la liga Robocup y FIRA .

(14)

Torneo Mexicano de Robots Limpiadores [INA04] es una iniciativa original de instituciones y personas mexicanas. Las cuales tienen el objetivo de hacer de este concurso un evento anual en el cual se pueda demostrar la habilidades en el campo de la navegaci´on rob´otica de los integrantes de diferentes instituciones nacionales, as´ı como motivar a la creaci´on de mejores metodolog´ıas y arquitecturas dentro de este campo.

Existen concursos en los que se pueden medir f´acilmente los objetivos alcanzados debido a que su estructura asi lo permite, como lo son los torneos de soccer, en donde se mide el desempe˜no por la cantidad de goles anotados, ya sea por merito propio del equipo o por un autogol del equipo contrario. El problema con este tipo de concursos es que dan lugar a la ocurrencia de eventos que, sin ser intensionales, afectan la evaluaci´on, ya que si un equipo anota un gol en su propia porter´ıa, ya sea por alg´un rebote de la pelota o por azar, esta anotaci´on cuenta como punto bueno dentro del desempe˜no del equipo contrario, cuando no deber´ıa, ya que la ’suerte’ no deber´ıa intervenir en ning´un aspecto en la medici´on del desempe˜no.

En el caso de la competencia de ascenso a la pir´amide perteneciente al IEEE[IEE04], se obtiene una puntuaci´on en base al recorrido realizado por cada rampa completada y presenta el problema de que no importando que tanta distancia exactamente recorra por cada rampa, tiene que terminar cada una de estas para que se le asigne una puntuaci´on, no considerando si un robot estuvo mas cerca de terminar que otro, asignando la misma puntuaci´on.

En otros concursos, como lo son el seguimiento de discontinuidades y bifurcaciones, laberinto y robot de carreras[Mic04a], presentan m´etricas de evaluaci´on de desempe˜no muy parecidas, como lo es el tiempo y la fidelidad con que se lleva a cabo la tarea de seguimiento de l´ınea.

Muchas veces se establece una penalizaci´on al momento de la evaluaci´on, ya sea quitando puntos o dando ventajas al equipo contrario, debido a que el robot puede realizar ciertas acciones que no esten permitidas o que impiden un buen desarrollo del evento. A veces esta penalizaci´on puede llegar a la descalificaci´on, para facilitar la evaluaci´on eliminando a aquellos que no logren los objetivos en cierto tiempo o en cierto n´umero de oportunidades.

(15)
(16)

Yanco [Yan01] clasifica a los concursos donde participan los robots en tres tipos, basado en la evaluaci´on que se realiza en estos. El primer tipo es el concurso con calificaci´on con evaluaci´on subjetiva, el segundo tipo es el concurso con calificaci´on con evaluaci´on ’objetiva’ y el tercer ´

ultimo tipo es aquel no tiene calificaci´on como tal, pero si dan premios o m´eritos t´ecnicos sobre el dise˜no o alg´un otro aspecto. La evaluaci´on que se realiza en los primeros dos tipos de competencias es muy parecida, ya que se basan en ciertos parametros o gu´ıas predefinidas para poder otorgar una calificaci´on, la diferencia radica en que el segundo tipo debe tener m´etricas muy bien definidas como lo puede ser el n´umero de objetivos alcanzados o tambi´en el tiempo que se tomo para realizar las tareas enconmendadas.

(17)

Cap´ıtulo 2

Antecedentes

2.1.

Trabajo Previo en Evaluaci´

on

Actualmente no existe mucho trabajo realizado enfocado a la evaluaci´on de desempe˜no de robots m´oviles [SB96] [SBB97] [Jac]. Probablemente ha sido menospreciada la importancia de esta tarea, sin embargo es un tema que no se puede dejar de lado, sobretodo con el creciente desarrollo de nuevas metodolog´ıas para la navegaci´on. El objetivo de este trabajo es el proponer una metodolog´ıa de evaluaci´on de desempe˜no de robots navegantes basada en una herramienta de visi´on, que proporcione informaci´on que pueda proveer una m´etrica objetiva.

En el desarrollo de nuevas metodolog´ıas de evaluaci´on, muchos investigadores han presentado su muy particular forma de evaluar, es por ello que se considera importante analizar la literatura existente sobre la materia. Algunos de estos investigadores son Burnnet y Rainsford [Bur01] quienes propusieron un enfoque de evaluaci´on computacional h´ıbrido, en el cual se mezclan los dos tipos de evaluaciones tanto cualitativa como cuantitativa. Este enfoque se propone con el prop´osito de aplicarlo a ambientes de computaci´on ubicua 1.

1Definen la computaci´on ubicua con las siguientes caracter´ısticas:

Ubicuidad. Con muchos dispositivos de procesamiento computacional.

Invisibilidad. Sin interfaz usuario-dispositivo en muchas situaciones, por lo que no se sabe que ahi se encuentra.

(18)

Ellos mencionan que para poder evaluar un ambiente, se deben realizar dos acciones: Elegir un ambiente bien definido para la experimentaci´on y elegir tareas bien definidas relacionadas con lo que se pretende realizar. De esto podemos tomar que el ambiente provendra de las especifi-caciones de la arena en la cual se desarrolle el torneo de robots limpiadores, as´ı especificamos un ambiente bien definido en el cual se pueda evaluar a los robots concursantes.

Burnnet y Rainsford definen tambi´en como realizar la evaluaci´on en un ambiente ubicuo, hacien-dolo de manera cualitativa, el principal problema que se presento en este enfoque de evaluaci´on, es que no se sabe exactamente que es lo que se esta evaluando; por lo que para la evaluaci´on de concursos se realiza una evaluaci´on cuantitativa ya que se debe comparar el desempe˜no entre diferentes arquitecturas de robots.

M´as enfocado a la evaluaci´on de desempe˜no de robots navegantes, Gat, en [Gat95], menciona una primera versi´on de la evaluaci´on enfocada a objetivos de la locomoci´on de un robot de exploraci´on espacial que va dirigido a Marte, realizando esta evaluaci´on en t´erminos estad´ısticos tomando factores como el promedio de varias pruebas de la medici´on el tiempo y la distancia. Esto se lleva a cabo con una c´amara que, de manera independiente, observa al robot por arriba (sin especificar detenidamente la ubicaci´on exacta). Gat, no propone un ´ındice o una m´etrica mesurable, pero con el an´alisis estad´ıstico (fisicamente y en simulaci´on) que realiza, intenta predecir el desempe˜no del robot en base al promedio de tiempo y distancia que realiza el robot en diferentes pruebas en un ambiente simulado de Marte. El factor que toma Gat para la medici´on del desempe˜no es muy importante, pero, la principal desventaja con este tipo de evaluaci´on es que toma un solo factor (tiempo/distancia) que no es suficiente para evaluar elementos tales como la realizaci´on las tareas enconmendadas, pero si mide si se realiz´o el recorrido pasando por todos los objetivos, suponiendo as´ı que si realiza la tarea.

Matthies [Mat95] retoma el enfoque de Gat y propone la evaluaci´on del desempe˜no de robots m´oviles enfocado a los robots Rover de exploraci´on marciana, en el cual, tomando como base a una simulaci´on de la distribuci´on de las rocas de Marte proveniente del modelo de Moore [Moo89] y la misma estructura para la simulaci´on de la superficie de marte que Gat; realiza la evaluaci´on tomando como par´ametros cuatro elementos:

Designaci´on de la meta: A donde necesita terminar el robot. Localizaci´on del rover: En donde se encuentra el robot. Detecci´on de peligro: Localizaci´on de los obst´aculos

(19)

Cada uno de estos puntos los evalua calculando el error que se obtiene de cada prueba realizada compar´andolos con los resultados ’ideales’(definidos por el autor) que deber´ıan ser obtenidos. Por ejemplo, para la medici´on de la distancia recorrida se utiliz´o el m´etodo de ’deadreckoning’ para la localizaci´on de si mismo en el ambiente, el cual proporciona datos incorrectos de la posici´on real por lo que compara el resultado con la localizaci´on del robot obtenida por medio de un sistema de rastreo en base a fotos a´ereas de la posici´on del robot, con eso mide el error del c´alculo de su trayectoria y corrige su posici´on. Partiendo de la ’cantidad’ de error obtenida en cada prueba toma las frecuencias y genera un comportamiento promedio, as´ı puede dar una evaluaci´on del desempe˜no.

Con el mismo objetivo, Sukhatme en [SB96] propone que para la realizaci´on de la evaluaci´on estos tipos de robots de exploraci´on marciana no es suficiente que se tome en cuenta un simple elemento como lo es la distancia contra el tiempo, y, bas´andose en el trabajo previo de [Gat95] y [Mat95] expone una evaluaci´on multicriterios en donde tambi´en toma en cuenta el gasto de energ´ıa, que aunque generalmente es directamente proporcional a la distancia recorrida, hay posibles factores que pueden hacer que el consumo de energ´ıa difiera. Con esto, Sukhatme pretende influir no solo en el dise˜no del algoritmo de navegaci´on del robot, si no tambi´en en el dise˜no f´ısico del robot.

Posteriormente, el mismo Sukhatme en [SBB97] retoma la evaluaci´on multicriterios, explicada arriba, y los implementa en una simulaci´on din´amica con una herramienta llamada SD/FAST, con la cual genera c´odigo que representa las din´amicas de un conjunto de cuerpos r´ıgidos. As´ı rea-liza evaluaci´on de tiempo, distancia del desempe˜no de robots en un simulador en base a leyes f´ısicas. En su tesis doctoral [Suk97], Sukhatme explica detalladamente sus trabajo realizados en los art´ıculos publicados, haciendo un an´alisis comparativo y la evaluaci´on del desempe˜no de tres robots reales.

Los estudios de Matthies y Sukhatme se enfocan a evaluar un robot el cual tienen controlado ellos mismos, y que pueden manipular para hacer mediciones como, por ejemplo la energ´ıa consumida y que pueden obtener datos de el robot, como la informaci´on dada por el sistema de localizaci´on por medio de ’dead reackoning’. Esto no es muy fiable si se necesita realizar para varios objetivos independientes. El principal problema dentro de la evaluaci´on es que al tomar la energ´ıa consumida del robot, el dato no difiri´o mucho en cuanto a la informaci´on adquirida de la distancia recorrida, y aunque si se toman en cuenta diferentes criterios estos estan directamente ligados, por ejemplo, entre m´as distancia recorra un robot m´as energ´ıa consumira, las dos gr´aficas presentan formas muy similares.

(20)

para proponer una forma de evaluar cuantitativamente a los robots concursantes. El trabajo de Yanco esta relacionado con la cantidad de objetivos alcanzados, tratando de dar una calificaci´on ’objetiva’ en base a la siguiente f´ormula:

Calif =N ∗ Nr

(1+N0)3 ∗A

N =P

i={amarillo,naranja,rojo}

Ci∗NvitimasDetectadasSi NactualV ictimasSi

Esta f´ormula en res´umen es el conteo de las victimas encontradas, cada v´ıctima que se encontro se le asigna un valor dependiendo el nivel de dificultad as´ı como la medida de precisi´on para la localizaci´on de estos. Esta parte de la evaluaci´on permite asignar f´acilmente una escala pero no toma en cuenta el tiempo exacto con que realiza sus actividades dentro la f´ormula, lo cual es muy importante ya que se trata de vidas humanas. Por supuesto que el factor tiempo no es un par´ametro que no se tome en cuenta en ning´un modo, se les asigna 25 min., y aqu´ı suponen que en ese tiempo de realizaci´on se encontrar´a la arquitectura con mejor desempe˜no.

En caso de que los robots tuvieran que rescatar a los humanos otros factores entrar´ıan en juego como lo es que tanto cuidado se pone en el humano en el momento del rescate.

(21)

Cap´ıtulo 3

Propuesta

Para evitar los problemas de evaluaci´on subjetiva que se presentan en los concursos de ro-bots m´oviles, se desarroll´o EVAN (Evaluador Autom´atico de desempe˜no en Navegaci´on). Este trabajo, esta inspirado b´asicamente en el primer torneo mexicano de robots limpiadores, y en concursos similares como los mencionados anteriormente. Tomando como primer enfoque el los trabajos realizados por Sukhatme y sus antecesores, comentados en el cap´ıtulo 2, se analizaron robots en un ambiente delimitado dentro del laboratorio de c´omputo, por medio de una c´amara a´erea.

A diferencia de Sukhatme et al. este proyecto se realiz´o con una observaci´on independiente y sin comunicaci´on con el robot. Por otro lado, tambi´en se tom´o en cuenta el trabajo realizado por Yanco en donde establece una f´ormula cuantitativa para la evaluaci´on de desempe˜no en concursos de robots enfocados al alcance de objetivos, respecto a la cual se hizo una adaptaci´on tomando como base los objetivos a alcanzar en el torneo de los robots limpiadores. As´ı mismo, del trabajo realizado por Burnnet y Rainsford se tomaron par´ametros para enfocar la herramienta y de este modo proporcionar elementos cuantitativos que permitan evitar la subjetividad dentro de la evaluaci´on.

(22)

Figura 3.1: Vista de la arena del torneo con un obst´aculo, en este caso una peque˜na silla

En la primera etapa (Eliminatoria), la evaluaci´on total considera dos pruebas: la limpieza diri-gida y la limpieza en la habitaci´on, cada prueba toma en cuenta el n´umero de celdas limpiadas, a diferencia que en la segunda prueba se le asigna un nivel de dificultad para cada celda; las formulas que se utilizan para realizar la evaluaci´on es:

P T =P LD+P LH (3.1)

P LD =N CL∗ TM ax

TOper

(3.2)

P LH =X i

(CLi∗DAi)∗

TM ax

TOper

(3.3)

Para la etapa final, el puntaje total solo considera la prueba de limpieza en habitaci´on, la formula que se utiliza es:

P T =P LH (3.4)

P LH =X i

(CLi∗DAi)∗

TM ax

TOper

(3.5)

(23)

P LH es el puntaje de la prueba de limpieza realizada en una habitaci´on, N CL es el n´umero total de celdas limpiadas, TM ax es el tiempo m´aximo para llevar a cabo la prueba, TOper es el Tiempo de operaci´on del robot,CLi es la i-´esima celda limpiada yDAi es el valor de dificultad de acceso a la i-´esima celda limpiada

Una celda se considera limpia con base en un criterio humano que considera la celda sucia si un 25 % de su superfice esta cubierta de basura. Por otra parte, se penaliza si el robot modifica en alg´un modo el ambiente en el que navega.

3.1.

Metodolog´ıa

Como se puede observar en el cuadro 1.2 en todos los concursos mencionados la evaluaci´on es realizada por medio del juicio humano (juez o comit´e), el cual muchas veces, como ya se ha dicho, carece de precisi´on en el momento de la asignaci´on de una calificaci´on. Sobre todo, cuando se trata de evaluar porcentajes, como es el caso antes mencionado del concurso en el que este trabajo est´a inspirado[INA04].

Tomando en cuenta los puntos del cuadro 1.2 y de los puntos a evaluar en el concurso se escogieron ciertos criterios existentes para evaluar el desempe˜no de la navegaci´on, as´ı tambi´en se establecen criterios nuevos, como lo es la evaluaci´on de los objetivos alcanzados (enfocado al concurso [INA04]).

Para la evaluaci´on de la movilidad, se tom´o el alcance de objetivos sobre la distancia que se necesit´o, debido a que es un factor f´acil de medir en una escala y que trabajos anteriores no tomaron en cuenta, tambi´en se escogi´o ese factor por la informaci´on que estos datos proporcionan acerca de la rapidez y eficacia del desempe˜no de un robot. Esto se logr´o tomando im´agenes en tiempo real de una r´eplica del ´area del torneo de robots limpiadores y en el que el robot se desenvolvi´o por medio de una c´amara colocada en techo. Con esto se logr´o reconocer al robot en cada momento y medir el tiempo relativo que se tard´o en cada punto de la navegaci´on. Para la evaluaci´on del alcance de los objetivos se realiz´o una toma inicial del arena con los objetivos colocados y posteriormente otra toma con los objetivos que quedaron. Entre las dos tomas se realiza una diferencia de im´agenes y se mide el porcentaje de elementos recogidos en la arena.

(24)

Tiempo X Y

1 280 56

2 250 72

... ... ...

n Xn Yn

Cuadro 3.1: Ejemplo de datos obtenidos y almacenados para la medici´on de la distancia y tiempo

Figura 3.2: Esquema de la estructura de la herramienta

3.2.

Descripci´

on de la Herramienta

La herramienta de evaluaci´on no solo necesita un dise˜no de software en el programa, si no tambi´en de analizar el modo en como obtener las im´agenes y la estructura que debe tener todo el sistema. En las partes subsecuentes se explica el dise˜no de la estructura de EVAN y las formas de evaluaci´on.

3.2.1.

Adquisici´

on de imagen

(25)

rectangular correspondiente a la r´eplica de la arena. En las im´agenes 3.3 y 3.4 se puede observar el ´area de trabajo, la arena y la c´amara dentro del laboratorio.

Figura 3.3: C´amara para adquisici´on de im´agenes colocada en la parte superior de la arena, Tambi´en en la parte inferior de la imagen se puede observar la arena en donde navegan los robots

En el desarrollo del software que maneja la c´amara se utiliz´o el lenguaje C con el compilador Visual C [Mic04b], utilizando las librer´ıas de Open GL [Ope04] y Vision SDK [Vis04], con lo que se adquiri´o cada imagen y se desarroll´o la estructura de la herramienta. El c´odigo fuente se encuentra documentado en el ap´endice C.

3.2.2.

Tratamiento de la imagen y reconocimiento de objetos

Desafortunadamente no se conoce la geometr´ıa de todos los robots que se puedan evaluar por medio de la herramienta, por lo que para lograr la identificaci´on del robot y los objetivos fue necesario analizar y segmentar la imagen, y as´ı poder separar la informaci´on distintiva de aquellos datos no relevantes del fondo.

(26)

Figura 3.4: La imagen muestra al robot dentro del ´area de la arena

de la interfaz de la herramienta, as´ı como de los objetivos, obst´aculos y del ’Nicho’1. Con el objeto de facilitar la segmentaci´on, los elementos anteriormente mencionados ten´ıan marcas o colores distintivos. La segmentaci´on de cada elemento se realiz´o por medio de distancia lineal por medio de color (V´ease Apendice A), as´ı se logro la segmentaci´on de los objetos que constituyen el espacio a analizar. Se opt´o por utilizar im´agenes de color debido a que la informaci´on de las im´agenes blanco y negro no es suficiente, y el color puede proveer informaci´on particular de cada elemento que se encuentra en el ambiente y facilita la segmentaci´on.

La asignaci´on del punto en donde se encuentra el robot y el seguimiento de su trayectoria, se llevo a cabo calculando el centroide del conjunto de pixeles binarizados que representaban al robot. Esto se realiz´o por medio del valor en las coordenadas promedio de la suma de todos sus puntos, as´ı se logra definir un punto central en donde se encuentra el robot y que trayectoria ha seguido llevando un registro del camino recorrido.

La asignaci´on del punto en donde se encuentra el robot y el seguimiento de su trayectoria, se llevo a cabo calculando el centroide del conjunto de pixeles binarizados que representaban al robot. Esto se realiz´o por medio del valor en las coordenadas promedio de la suma de todos sus puntos, as´ı se logra definir un punto c´entral en donde se encuentra el robot y que trayectoria ha seguido llevando un registro del camino recorrido.

En la figura 3.5 se puede observar un objeto captado por la c´amara simulando ser el identificador del robot, donde se puede observar el centroide obtenido de ese objeto.

(27)

Figura 3.5: Imagen original y Binarizada con centroide

3.2.2.1. Binarizaci´on

La binarizaci´on es importante por que es una parte b´asica para poder obtener los resultados en esta herramienta. Entendemos a este proceso como una serie de pasos que sirve para la detecci´on de regiones en una imagen digital, asignando valores (0 y 1 generalmente) en base a un umbral. Para la binarizaci´on se utiliz´o la distancia lineal que hay entre los colores en el espacio tridimensional del Cubo RGB2, y un umbral definido emp´ıricamente (que puede ser ajustado posteriormente dentro de la herramienta). Para llevar a cabo esto se utiliz´o la siguiente f´ormula:

DColor = p

(R2−RP rom)2+ (G2−GP rom)2+ (B2 −BP rom)2 (3.6) Con esto se obtiene una esfera en el espacio del cubo RGB con el radio definido por el umbral, que rodea al valor promedio obtenido de los colores contenidos dentro del ´area definida por el usuario, para cualquiera de los elementos 3 que conforman el ambiente. Todos los elementos

dentro de la imagen que contengan un color que este dentro de la esfera, ser´an binarizados como parte de la regi´on correspondiente.

Para la binarizaci´on se ocup´o el siguiente criterio:

IMbinarizada = (

ColorRegion SiDColor < U

0 En cualquier otro caso (3.7)

2ease Ap´endice A

(28)

Donde U es el umbral emp´ırico y 0<= U <= 255 (255 es el valor m´aximo de distancia lineal que puede encontrarse en el cubo RGB). El valor ColorRegion es diferente para cada elemento del ambiente, este esta definido en una escala del 0 al 255. Para la distinci´on de los elementos se utiliz´o, como se explic´o anteriormente, el color, por lo que estos elementos deben tener colores distintivos. Para observar la capacidad de la c´amara para percibir colores se crearon plantillas de prueba con distintos colores. Las siguientes figuras muestran una tabla de colores 3.6 captada por la c´amara para la distinci´on de los diferentes elementos, as´ı como tambi´en las binarizaciones obtenidas del color asignado al robot.

Figura 3.6: Plantilla de colores captada por la c´amara para su prueba

(29)

Por otro lado se muestra la binarizaci´on de los objetivos en las figuras 3.8 y 3.9, en las que se puede visualizar que al igual que en el caso anterior, el ruido afecta en la similitud de colores entre el rojo y el rosado as´ı como entre el naranja y el amarillo.

Figura 3.8: Binarizaci´on del color rojo en umbral 15 (izq) y umbral 10 (der)

Figura 3.9: Binarizaci´on del color amarillo y rojo en umbral 15 para dos objetivos (izq) y umbral 9 (der)

3.2.3.

Evaluaci´

on y asignaci´

on de la escala de puntuaci´

on

La evaluaci´on es el objetivo primordial de este trabajo y esta inspirado en las reglas del concurso[INA04]. Se tom´o una estructura similar a la que [Gat95] y [SB96] ocuparon para obtener los datos con los que se eval´ua la distancia y, a diferencia de ellos que eval´uan la energ´ıa y distancia recorrida contra el tiempo, y con eso intentar preveer el comportamiento; este proyecto necesita evaluar diferentes robots en muy pocas muestras, por lo que se toma el comportamiento realizado en un solo desempe˜no, buscando por eliminatoria obtener aquellos que adquieran mayor puntaje.

El sistema de visi´on con c´amara a´erea que utiliza Sukatme en [SB96], [SBB97] y en [Suk97], no es una herramienta que lleve a cabo la evaluaci´on de manera autom´atica, si no que se ocupa ´

(30)

A diferencia de lo anterior, el presente trabajo realiza toda la evaluaci´on por medio de EVAN, logrando con esto una evaluaci´on automatizada del desempe˜no en la navegaci´on del robot. La asignaci´on del puntaje del desempe˜no en los concursos de robots, es realizada generalmente por humanos, por lo que se desarroll´o esta herramienta con la finalidad de facilitar una evaluaci´on objetiva y m´as precisa, de lo que el criterio humano puede proporcionar. Los par´ametros que se tomaron en cuenta para asignar la calificaci´on del desempe˜no fueron la distancia, el tiempo y el porcentaje de limpieza de basura, este ´ultimo basado tanto en el trabajo de Yanco [Yan01]( sobre la medici´on de objetivos alcanzados), como en el torneo de robots limpiadores.

Para obtener la puntuaci´on de la basura limpiada (objetivos alcanzados), se eligieron los elemen-tos reconocidos en la binarizaci´on de los objetivos guardados en una toma de la imagen inicial, y se compararon con los obtenidos en una toma posterior una vez acabado el recorrido. EVAN tiene una f´ormula de evaluaci´on muy similar a la propuesta en el torneo de robots limpiadores, con la diferencia que con esta herramienta se pueden realizar c´alculos m´as precisos por que las celdas pueden ser definidas a nivel de pixel y as´ı analiza toda la basura que se encuentra en la arena. Las f´ormulas 3.8 a la 3.10 muestran el m´etodo de evaluaci´on de alcance de objetivos.

Snapini = H X i W X j

IMij (3.8)

Snapf in = H X i W X j

IMij (3.9)

P l= 100−(Snapf in

Snapini

∗100) (3.10)

0< IMij < U (3.11) Donde Snapini y Snapf in son las sumas de los pixeles ij pertenecientes a los objetivos dentro de la imagen IM provenientes de los Snapshots 4 tomados al principio y final del recorrido,

respectivamente. P l es el porcentaje de limpieza realizado en el ´area de la c´amara y U es el umbral de la distancia de color de los objetivos.

La diferencia principal entre la evaluaci´on de alcance de objetivos realizada en la f´ormula de la primera etapa del torneo y la que se propone para esta herramienta de evaluaci´on, radica en que la primera presenta el problema de que puede presentarse el caso en el que varias celdas se

(31)

consideren limpias a´un cuando presentan el 25 % de basura cada una, siendo que si concentramos toda esta basura en una sola celda, esta se considerar´ıa sucia, de modo que es la distribuci´on de la basura lo que determina la evaluaci´on del desempe˜no. Por otro lado, si se toma en cuenta todo el ambiente y la basura que se encuentra en ´el, la distribuci´on de la basura no afecta la evaluaci´on. Las figuras 3.10 y 3.11 muestran de manera gr´afica la problem´atica expuesta.

Figura 3.10: Distribuci´on de basura en una sola celda (No. celdas sucias= 1)

Figura 3.11: Distribuci´on de la misma cantidad de basura en varias celdas (No. celdas sucias= 0)

En este trabajo se contempla solamente la primera etapa del concurso, por lo que no se considera el nivel de dificultad de cada celda (o en este caso, de cada pixel) que se establece para la f´ormula de evaluaci´on en la segunda etapa, en donde el nivel de dificultad de cada celda es calculado en base a los obst´aculos

La distancia es un par´ametro que no es tomado en cuenta actualmente para la evaluaci´on que se realiza en el concurso, debido a que es pr´acticamente imposible el seguimiento de la trayectoria del robot por humanos; pero es un factor importante que se debe tomar en cuenta. La siguiente f´ormula proporciona el dato de la evaluaci´on de la distancia en diferentes tiempos:

Dt = X

i

Di (3.12)

Di = p

(xi−xi−1)2+ (yi−yi−1)2

(32)

En donde Dt es la distancia total recorrida y Di es la distancia lineal que hay entre cada punto obtenida en un tiempo i. S es la constante de la escala a la que se somete la distancia lineal, para no obtener n´umeros muy grandes en el dato. El valor de S se eligi´o de 100 para darle una escala 1:100 de la medida le´ıda de la c´amara a la real.

Una vez concluidos los c´alculos necesarios para obtener los datos que se requieren para realizar la evaluaci´on, se procede a dar precedencia a cada punto a evaluar. En la f´ormula siguiente se puede observar como se calcula el puntaje total.

C = P l

Dt

+ (N CL∗ TM ax

TOper

) (3.14)

Donde T es el tiempo, C es la calificaci´on recibida, y los dem´as elementos provienen de la formula del concurso en la etapa eliminatoria 3.1 a 3.3. El total se pone en una escala abierta y as´ı se pueda separar mejor a aquel robot navegante que obtenga la mayor calificaci´on.

La gr´afica que se presenta en la interfaz es la representaci´on de la distancia contra el tiempo lo cual nos ayuda a visualizar el comportamiento de actividad del los robots, esto nos ayuda a ver si el robot estuvo inm´ovil por largo tiempo.

3.3.

Resultados

Para poder obtener de manera autom´atica la evaluaci´on del desempe˜no de la navegaci´on de los robots, fue necesario desarrollar una herramienta que de manera amigable mostrara los procesos y resultados que se realizaban u obten´ıan de la informaci´on de la imagen. A este programa se le denomin´o EVAN (EValuador Autom´atico del desempe˜no en la Navegaci´on). Esta herramienta fue probada en una PC Laptop con procesador Pentium IV [Int04] a 2.66 mhz y una webcam USB est´andar como hardware de adquisici´on de video.

La interfaz de EVAN permite al usuario establecer los elementos que se desean reconocer, esto en base a un rect´angulo definido por el usuario sobre la imagen que se muestra obtenida de la c´amara, este rect´angulo especifica el ´area de pixeles que se van a tomar en cuenta para realizar los c´alculos necesarios para la binarizaci´on, los cuales se explicaron anteriormente.

(33)

subsecciones (Despligue de imagen de la c´amara, de trayectoria, de binarizaci´on y la gr´afica Distancia/tiempo). La segunda secci´on, ubicada en el extremo derecho de la ventana, esta tam-bi´en dividida en cuatro submen´us retr´actiles (Regiones, Objetivos, Trayectoria y Evaluaci´on), as´ı como de dos ’checkboxes’ para ciertos procesos (Definir ´area y Binarizar). Los dos primeros submenues as´ı como los ’checkboxes’ conciernen a la definici´on de par´ametros ´utiles a la binari-zaci´on, y los ´ultimos dos corresponden a la evaluaci´on. En la figura 3.12 se puede observar toda la interfaz, lo obtenido por la c´amara y la binarizaci´on del robot y de dos tipos de objetivos.

Figura 3.12: Interfaz completa

Si se oprime el bot´on derecho del mouse, sobre la secci´on de despliegue de informaci´on apare-cer´a un submen´u con algunas opciones de configuraci´on de la herramienta, entre las cuales los par´ametros que utiliza para la evaluaci´on. Si se elige la opci´on de par´ametros, aparecer´a una ventana en la cual permitir´a cambiar ciertos valores como lo son el umbral para la binarizaci´on y Tmax5. Otro de los par´ametros que se pueden definir es el tama˜no de la celda. En el presente trabajo, una celda es un conjunto de pixeles definido por un cuadrado de n x n, y estas celdas se identifican por medio de coordenadas cartesianas.En la figura 3.13 se muestra la ventana de par´ametros en donde se puede ajustar los valores.

El tiempo que la herramienta utiliza para los c´alculos es en ciclos. Un ciclo se define en el presente trabajo, como el tiempo que se requiere para ejecutar el conjunto de instrucciones que

5Tmax es el tiempo m´aximo que se le da a un robot para que concluya su tarea. Tiene este nombre en base

(34)

Figura 3.13: Ventana de parametros

conforman la herramienta donde se realicen todas las tareas encomendadas, en otras palabras, un ciclo tarda lo que tarde en adquirir la imagen y todos los procesos subsecuentes, explicados en la figura 3.2. La distancia recorrida por el robot se calcula en base a los pixeles de la imagen, por eso se denomina como distancia relativa, ya que no pertenece a un sistema m´etrico internacional de medida. Los resultados obtenidos de diferentes evaluaciones realizadas, se explican en las siguientes secciones.

Todos los mensajes que env´ıa la herramienta al usuario como por ejemplo el alcance de objetivos, lo hace por medio la ventana de mensajes, que se muestra en la figura 3.14

(35)

3.3.1.

Seguimiento de Trayectoria

El seguimiento de la trayectoria se realizo en base a la binarizaci´on del objeto elegido como robot y el centroide que se obtuvo, en las figuras 3.15 a la 3.18 se muestra una secuencia del seguimiento de la trayectoria del robot realizada por la herramienta.

Figura 3.15: Inicio de la trayectoria

Una vez realizada una binarizaci´on, el seguimiento de una trayectoria puede llegar a ser muy f´acil de realizar. Sin embargo, dentro de la aplicaci´on, la trayectoria es mostrada en una secci´on independiente de la que muestra el recorriendo del robot, lo cual puede ser llegar a ser confuso para la observaci´on humana, ya que la revisi´on de la posici´on de los objetos con respecto al recorrido realizado por el robot es complicada. Debido a esto, en la figura 3.18 se muestran opciones de la herramienta que pueden facilitar la observaci´on y seguimiento visual humano del recorrido realizado por el robot, tal como lo son el grid, la trayectoria en el lugar de la binarizaci´on y la grafica de distancia contra el tiempo. El grid no sirve ´unicamente para ayudar en el seguimiento de la trayectoria al usuario, si no que tambi´en muestra las celdas que se toman en cuenta para el alcance del objetivos.

(36)

Figura 3.16: Trayectoria en tiempo 179 ciclos

(37)

Figura 3.18: Fin de la trayectoria mostrando grid, gr´afica de comportamiento y trayectoria en la subsecci´on de binarizaci´on

3.3.2.

Evaluaci´

on

Una vez adquiridos todos los datos necesarios (distancia recorrida, tiempo, y alcance de obje-tivos), as´ı como realizada la definici´on la f´ormula de evaluaci´on, todo el proceso para calificar se vuelve mecanizado. Para asignar la escala de calificaci´on se realizaron varias pruebas con di-ferentes recorridos para poder observar las distintas evaluaciones obtenidas. Esto con el objeto de simular el desempe˜no de un robot en un concurso en las diferentes etapas de la navegaci´on. En las figuras 3.19 y 3.20, se observan los resultados de evaluaci´on con respecto al porcentaje de los objetivos alcanzados en diferentes partes del recorrido.

Para el c´alculo de recorrido se utiliz´o la formula de la distancia lineal entre dos puntos en un plano. En la figura 3.18 se muestra una distancia6 con valor de 125.53 en un tiempo de 435 ciclos, y con sus respectivas gr´aficas.

La evaluaci´on final se hace tomando en cuenta todos las calificaciones adquiridas sobre la distan-cia, tiempo y alcance de objetivos, y en la ventana de evaluaci´on se integran todas estas m´etricas utilizadas y as´ı proporcionar una calificacion total. El tiempo es el factor que influye sobre todas las calificaciones parciales por lo que entre mas tiempo pase la calificaci´on disminuir´a.

(38)

Figura 3.19: Objetivos iniciales (Izq) y Objetivos alcanzados al 52.54 % (der)

(39)

En la figura 3.20 se muestra la ventana de evaluaci´on con un desglose de la calificaci´on total, mostrando las m´etricas que se utilizaron para realizar la evaluaci´on. Esta calificaci´on otorgada a cada robot, nos permite evaluar cual desempe˜no fue el mejor.

Con el objetivo de comparar entre la forma de evaluar el alcance de objetivos en el torneo y en como se propuso para EVAN, se implemento un m´odulo de evaluaci´on basado en celdas. Se tom´o como par´ametro que una celda esta limpia si la basura que en ella se encuentra es menor al 25 %, este valor es calculado con respecto al n´umero de pixeles correspondientes a cada celda, el ancho y alto predeterminado para cada celda es de 10 x 10 pixeles. En las figuras 3.21 y 3.22 se presentan dos de los diferentes experimentos en los cuales se realizaron los dos tipos de evaluaci´on simult´aneamente. En los ejemplos se puede observar como la forma de evaluar de EVAN percibe ciertos detalles que no se toman en cuenta con el m´etodo con celdas y, como se explica en una secci´on anterior de este cap´ıtulo, pueden no evaluarse elementos importantes.

Figura 3.21: Porcentajes obtenidos del alcance de objetivos de esta imagen por: F´ormula Torneo = 0 % F´ormula EVAN = 0.33 %. Como podemos observar en la parte de la derecha de la imagen los pixeles que se toman en cuenta para la f´ormula de EVAN son m´as que aquellos que son contemplados por la f´ormula original del torneo.

(40)

Figura 3.22: Porcentajes obtenidos del alcance de objetivos de esta imagen por: F´ormula Torneo = 88 % F´ormula EVAN = 92 %. Al igual que en el caso anterior la flecha nos indica una celda ejemplo en la cual existen pixeles que no forman parte de la evaluaci´on de la f´ormula del torneo, y los cuadros marcados muestran cuales celdas son tomadas en cuenta.

pertenecientes a los objetivos que no se encontraban en el ’snapshot’ inicial, la diferencia de informaci´on entre dos ’snapshots’ de la misma escena la denominamos como error. El margen de error promedio de la f´ormula en el alcance de los objetivos es de +/- 1.27 %, esto se calcul´o en base a los porcentajes proporcionados por la herramienta. En la figura 3.23 se puede observar el efecto del ruido en la evaluaci´on, en el parte referente al NCL(N´umero de Celdas Limpiadas) todas marcan diferentes valores pero el alcance de objetivos deber´ıa ser el mismo.

Figura 3.23: Evaluaci´on de prueba con objetivos alcanzados al 0 % . Las diferentes calificaciones se deben a la sensibilidad al ruido

(41)

presentar al momento de la evaluaci´on, se dise˜naron experimentos con diferentes distancias recorridas, objetivos alcanzados y tiempo utilizado. En las figuras 3.24 a la 3.25 se muestran diferentes evaluaciones para diferentes casos posibles.

(42)
(43)
(44)

Cap´ıtulo 4

Conclusiones y Trabajo Futuro

4.1.

Conclusiones

El saber como se desempe˜na un robot navegante sobre un ambiente es una de las tareas m´as complicadas e importantes que se deben realizar. En los concursos no es la excepci´on, ya que siempre debe haber un ganador y por eso la evaluaci´on del desempe˜no es primordial.

La evaluaci´on del desempe˜no de robots navegantes ha despertado el inter´es de diversos inves-tigadores, propiciando con esto su estudio desde hace aproximadamente 10 a˜nos. Algunos de estos investigadores son, Gat[Gat95] quien propone que el desempe˜no de un robot m´ovil se debe evaluar y lo hace basandose en la distancia recorrida de un robot de exploraci´on espacial, as´ı mismo Matthies en [Mat95] estudia lo realizado por Gat, y establece otras m´etricas a tomar-se en cuenta para la evaluaci´on del desempe˜no. Por otro lado, Sukatme en [SB96], [SBB97] y en [Suk97] retoma a Gat, principalmente, y propone otra m´etrica que es el consumo de energ´ıa del robot durante su trayecto. Las investigaciones antes mencionadas, sirvieron como base para la realizaci´on del presente trabajo, retomando la infraestructura que los autores utilizaron para llevar a cabo la evaluaci´on. Este trabajo tambi´en se vi´o influenciado por la investigaci´on que realiz´o Yanco en [Yan01] an la cual analiza el concurso de Robocup Rescue, y explica como evaluar un concurso de esta ´ındole estableciendo una f´ormula de evaluaci´on cuantitativa, pero realizada por humanos.

(45)

De todo lo anterior se concluye que fue posible realizar una evaluaci´on objetiva basada en diversos criterios, en t´erminos de las especificaciones de evaluaci´on del torneo mexicano de robots limpiadores. El aporte que da EVAN resulta significativo, ya que propicia la evaluaci´on justa y objetiva evitando errores de criterio, lo cual sucede si la evaluaci´on es realizada ´unicamente por humanos.

EVAN es una herramienta cap´az de generar autom´aticamente una escala para poder facilitar la evaluaci´on de eventos de navegaci´on. En este trabajo se present´o una metodolog´ıa nueva de evaluaci´on enfocada a varios par´ametros como son: Distancia Recorrida, Tiempo y Objetivos alcanzados. Una de las metas planteadas inicialmente era la simplicidad de la evaluaci´on, lo que se logr´o con ´exito. El reconocimiento de dichos objetivos no fue el ´optimo debido probablemente a que la c´amara utilizada no capt´o adecuadamente los colores; sin embargo esta captura fue lo suficientemente aceptable para dar los resultados necesarios para realizar las tareas requeridas; Por otro lado, se pudo observar que el dispositivo de adquisici´on de video utilizado, influye en gran medida sobre los resultados de evaluaci´on.

La implementaci´on de este proyecto permiti´o el estudio de la trayectoria de un objeto m´ovil en determindado color, as´ı como tambien el cumplimiento de las tareas que ten´ıa que realizar, en t´erminos de las especificaciones particulares del torneo de robots limpiadores. La evaluaci´on autom´atica del desempe˜no de la navegaci´on, puede llegar a ser un elemento b´asico en los con-cursos de robots navegantes, con el objetivo de otorgar calificaciones m´as precisas y objetivas, evitando as´ı posibles evaluaciones err´oneas.

4.2.

Trabajo Futuro

Como extensi´on sobre esta propuesta, se plantea realizar algunas modificaciones para mejorar los resultados que puede proporcionar la herramienta. Por ejemplo, el segmentar cada objetivo como elemento aislado y calcular la ruta mas corta para el alcance de las metas y as´ı poder incluirlo a los par´ametros de evaluaci´on como elemento comparativo para la calificaci´on total. Esto otorgar´a un punto de comparaci´on en cuanto a la distancia m´ınima que podr´ıa recorrer el robot y en base a lo cual establecer que tan amplia es la brecha entre las dos distancias y entre menor sea la diferencia mayor ser´a el puntaje.

(46)

de un sistema de visi´on se basa en gran parte en la realizaci´on de una buena segmentaci´on. En cuanto a la evaluaci´on, se han proponen las siguientes mejoras:

Mostrar las gr´aficas de cada elemento que se est´a evaluando en tiempo real. Esto propor-cionar´a al usuario herramientas visuales para facilitar la predicci´on del desempe˜no Utilizar una penalizaci´on en la evaluaci´on por tiempo perdido (Por ejemplo, cuando un robot se atora o consume energ´ıa sin desplazarse hacia el objetivo) o por pasar cerca de un objetivo y no limpiarlo. Con lo que se realizar´a una evaluaci´on m´as amplia del desempe˜no Asignar valor de dificultad a los objetivos, dependiendo si se encuentran en una posici´on dif´ıcil para alcanzar. Esto para reforzar la evaluaci´on tomando en cuenta obst´aculos que se puedan presentar en el ambiente, lo cual har´ıa una herramienta m´as robusta. Esta m´etrica se requiere en la segunda etapa de evaluaci´on que se realiza en el torneo, pero esta herramienta solo considera la primera etapa.

(47)

Ap´

endice A

Conceptos de Visi´

on

A.1.

Modelos de Color

Los modelos de color fueron creados con el fin de establecer un est´andar para facilitar las especificaciones de los colores. Un modelo de color es una representaci´on en un sistema de coordenadas en tres dimensiones y un subespacio dentro de dicho sistema donde cada color se representa por un punto.

Varios modelos de color que se usan actualmente est´an generalmente divididos en dos partes [Gon93]; por un lado se tiene aquellos modelos basados en el despliegue, o de otra forma, al hardware (monitores a color e impresoras). Por otra parte se tiene aquellos modelos enfocados hacia la percepci´on, en donde la manipulaci´on del color es objetivo (animaci´on y gr´aficas por computadora a color).

RGB, CMY y YIQ/YIV son los modelos m´as comunes aplicados al hardware. El modelo RGB (rojo, verde y azul) es el m´as usado para los monitores de computadora y en varias video c´amaras existentes en el mercado; el modelo CMY (cyan, magenta, amarillo) es utilizado para impresoras y el YIQ/YIV para la televisi´on a color.

(48)

La Comisi´on Internacional sobre Iluminaci´on es una organizaci´on mundial que fue la encargada de desarrollar la primera versi´on del modelo medido espectralmente conocido como CIE en el a˜no 1931. El CIE es una medida precisa espectral usada para precisar colores y remover la ambig¨uedad de ellos.

Figura A.1: Diagrama de cromaticidad CIE. Imagen obtenida de [Paj02]

Los modelos m´as utilizados en el procesamiento de im´agenes son RGB, HSI, HSV y YIQ. De los cuales solo se describir´an los m´as significativos y que servir´an en el desarrollo del proyecto.

A.1.1.

El Modelo RGB.

(49)

Figura A.2: Representaci´on del tetraedro RGB. Imagen obtenida de [Gon93]

A.2.

An´

alisis y procesamiento de im´

agenes digitales

El origen de la digitalizaci´on de las im´agenes proviene del objetivo de transmitir im´agenes de un lugar a otro, en un tiempo mucho m´as corto del que se obten´ıa mandando una copia por otro medio.

El hecho de que la transmisi´on u obtenci´on de las im´agenes que se ten´ıan provocaba ciertos errores y deficiencias en la claridad de las im´agenes se empez´o a realizar el procesamiento de im´agenes. Como por ejemplo, lo realizado a aquellas im´agenes que se obtuvieron de la luna y que fueron enviadas a la tierra de la nave Ranger 7 para poder clarificar las im´agenes adquiridas por la c´amara que estaba a bordo.

El procesamiento de imagen es la generaci´on de una imagen nueva a partir de una existente, con el objetivo de mejorar la apariencia de las im´agenes y poder resaltar ciertas caracter´ısticas que pueden ser ´utiles para alg´un objetivo que se tenga. La nueva imagen puede tener menos ruido, estar m´as definida, o bordes resaltados. Este tipo de procesos puede ser de manera ´optica o digital.

(50)

A.2.1.

Representaci´

on de im´

agenes digitales.

Una imagen digital monocrom´atica la podemos definir como un arreglo bidimensional de puntos, cada punto en una escala de gris definida en un rango. En [Gon93] esta definida como funci´on f (x, y) bidimensional de intensidad de luz en donde x y y denotan coordenadas espaciales y el valor de f en cualquier punto es el proporcional al brillo de la imagen en ese punto.

Figura A.4: Imagen digital, f (x,y) representa la intensidad de un punto de la imagen corres-pondiente a las coordenadas x , y.

Cada punto de la imagen discretizada, o de la matriz como la definimos anteriormente, se le puede llamar de varias formas aunque la denominaci´on mas conocida es ”p´ıxel”, que es una abreviaci´on de la palabra en ingles ”picture element.oelemento de imagen. Con todo el conjunto

(51)

Por otra parte, una imagen en color var´ıa un poco de la definici´on anterior en el hecho de que no solo es bidimensional si no que dependiendo del modelo de color (el cual se define posteriormente en este cap´ıtulo). Por ejemplo en el modelo de color RGB cada p´ıxel de la imagen en lugar de contener el grado de brillantez (escala de gris) contendr´ıa le conjunto de color rojo, verde y azul que le corresponder´ıa a ese p´ıxel, en otras palabras, para representar una imagen digital a color ser´ıa con una matriz tridimensional.

A.2.2.

Procesamiento de Im´

agenes Digitales

Para llevar a cabo el procesamiento de una imagen digital se requiere de la realizaci´on de un conjunto tareas que implican tanto software como hardware. La mayor´ıa de las funciones que se utilizan para el procesamiento de im´agenes pueden implementarse en programas de computadora.

El hardware especializado para el procesamiento de im´agenes generalmente se utiliza para aplica-ciones que requieran de una rapidez superior o para superar ciertas limitaaplica-ciones computacionales como lo puede ser la nula o baja luminosidad.

Como se menciono anteriormente, la concepci´on general de procesamiento de im´agenes es el generar una imagen nueva de una anterior, pero desde el punto de vista de los sistemas de visi´on artificial el principal, o ´unico, objetivo del procesamiento de im´agenes digitales es el hacer un an´alisis posterior m´as simple y fiable.

Entre las etapas que conforman el procesamiento de im´agenes tenemos las siguientes [Gon93]:

Adquisici´on de im´agenes. En esta etapa se adquiere una imagen digital. Para su realizaci´on se requiere un sensor de imagen y la capacidad de digitalizar lo que se produce por este sensor. En otras palabras, el sensor puede ser una c´amara o un scanner, que produscan la imagen digitalizada de lo que captan.

Preprocesamiento de la imagen obtenida. Aqu´ı se pasa por un proceso de mejora de la ima-gen, en donde se intenta perfeccionar ciertos detalles de la imaima-gen, como lo son contraste, eliminaci´on de ruido, separaci´on de regiones con algunas caracter´ısticas especiales.

(52)

Representaci´on y descripci´on. Despu´es de la segmentaci´on, se debe describir, en otras palabras extraer caracter´ısticas de inter´es para clasificar y diferenciar un objeto de otro. Reconocimiento e interpretaci´on. Esta es la ´ultima etapa, consiste en asignar descriptores a cada objeto para su reconocimiento posterior e interpretar el significado de un conjunto de elementos que se reconocieron, ya sea para ubicarse o simplemente para especificar que ese es un objeto buscado.

Figura A.5: Esquema de los pasos b´asicos en el procesamiento de im´agenes. Imagen obtenida de [Gon93]

A.3.

Segmentaci´

on

La segmentaci´on es un proceso por medio del cual se extrae de la imagen cierta informaci´on de inter´es para su uso posterior. La segmentaci´on est´a basada en dos principios fundamentales [Paj02]: discontinuidad, tambi´en llamada orientada a bordes, en la que se tratan puntos, con-tornos, lineas, etc. Obtenidas de la imagen; y similitud, o enfocada a regiones. Una regi´on es, a groso modo, un ´area de la imagen en la que sus p´ıxeles poseen propiedades similares (de inten-sidad, de color, etc.), mientras que un borde es una l´ınea que separa dos regiones de diferentes propiedades.

Las dos t´ecnicas, detecci´on de bordes y de regiones, se basan en un manejo de la imagen original, que implica un cambio en la imagen original, en otras palabras, los valores de los p´ıxeles originales son modificados mediante ciertas funciones de transformaci´on u operadores.

(53)

Operadores primera derivada Operadores segunda derivada Operadores morfol´ogicos

Por otro lado, para la detecci´on de regiones se utilizan t´ecnicas basadas en el hecho de la similitud [Paj02]:

Binarizaci´on basada en el uso de umbrales.

Crecimiento de regiones mediante la adici´on de p´ıxeles. Divisi´on de regiones.

Similitud de textura, color o nivel de gris.

Cuando la calidad de la imagen no satisface el hecho de que se pueda extraer de ella la infor-maci´on necesaria adecuadamente, se necesita utilizar las t´ecnicas de mejora de calidad de la imagen original. Como lo puede ser el suavizado para disminuir el ruido que se obtuvo en la captura de la imagen, entre otros procesos.

La imagen adquirida puede tener la calidad suficientemente buena para la aplicaci´on en cuesti´on, dado el caso la etapa arriba mencionada puede omitirse.

La mayor´ıa de las operaciones que se describen anteriormente se pueden enfocar desde dos perspectivas distintas [Paj02]:

Dominio Espacial: este proceso se realiza mediante operaciones que consideran los p´ıxeles en sus posiciones espaciales dentro del plano de la imagen y los niveles de intensidad asociados.

Dominio de la frecuencia (espectral): es necesario realizar alg´un tipo de transformaci´on de forma que trabaje con las componentes de frecuencia. Entre las transformaciones m´as ´

utiles se pueden mencionar la transformada de Fourier, del coseno, etc.

A.4.

Aplicaci´

on de umbrales en la binarizaci´

on.

(54)

parte al ´exito de una buena separaci´on de regiones. Si se tiene alg´un conocimiento previo de la imagen a analizar, se puede establecer un umbral constante para todo el proceso.

Se puede elegir un umbral para varias im´agenes similares, pero si el caso es que las condiciones de las im´agenes var´ıan, se puede analizar y utilizar las propiedades particulares de cada imagen, como lo son el brillo m´aximo y valores de obscuros.

Para poder establecer un umbralT en una imagenf(x, y) que contiene, por ejemplo, elementos claros sobre un fondo oscuro nos da un histograma que f´acilmente se puede dividir en dos intensidades, y aquel grupo que contenga la mayor intensidad ser´a parte del objeto y lo que no pase de ese umbral es parte del fondo. As´ı, un p´ıxel (x, y) para el cualf(x, y)> T ser´a un p´ıxel del objeto, y en caso contrario ser´a parte del entorno. Se puede tener m´as de 1 umbral para diferentes objetos, por ejemplo si se tuviesen 2 umbrales T1 y T2 se clasificar´ıa un punto como

perteneciente a una de las clases de objetos si T1 < f(x, y) ≤ T2, a la otra clase de objeto si

f(x, y)> T2 y al entorno si f(x, y)≤T1.

La forma general para las pruebas de la fijaci´on de un umbral con respecto a una funci´on T se ve de la forma [Paj02]:

T =T [x, y, p(x, y), f(x, y)]

Donde f(x, y) es la intensidad en el punto (x, y) y p(x, y) es alguna propiedad del punto, como puede ser la intensidad media de una vecindad centrado en (x, y). En la forma m´as general, el establecimiento de umbrales se describe matem´aticamente para obtener una imagen binaria

g(x, y) como [Gon93]:

g(x, y) = (

0 si f(x, y)> T

1 si f(x, y)≤T

Cuando T depende s´olo de f(x, y), el umbral se llama global. Si T depende tanto de f(x, y) como de p(x, y), entonces el umbral se llama local. Si T depende de las coordenadas x y y, se llama umbral din´amico.

A.5.

Segmentaci´

on por color

(55)

extracci´on de objetos en una imagen, por otro lado se toma como base al ojo humano el cual puede percibir una amplia gama de colores, en comparaci´on de los tonos de gris.

Referencias

Documento similar