173
Planificaci´ on de Vistas para Reconstrucci´ on Tridimensional de Objetos con Robots M ´ oviles por Juan Irving V´ asquez G´ omez Tesis sometida como requisito parcial para obtener el grado de Doctor en Ciencias en el Instituto Nacional de Astrof´ ısica, ´ Optica y Electr´ onica Supervisada por: Dr. Luis Enrique Sucar Succar, INAOE Dr. Rafael Murrieta Cid, CIMAT c INAOE 2014 El autor otorga al INAOE el permiso de reproducir y distribuir copias en su totalidad o en partes de esta tesis

Planificaci on de Vistas para´ Reconstruccion ... · Planificaci on de Vistas para´ Reconstruccion Tridimensional´ de Objetos con Robots Moviles´ por Juan Irving Vasquez G´

  • Upload
    vodiep

  • View
    218

  • Download
    0

Embed Size (px)

Citation preview

Planificacion de Vistas paraReconstruccion Tridimensionalde Objetos con Robots Moviles

por

Juan Irving V asquez Gomez

Tesis sometida como requisito parcial para obtener el gradodeDoctor

en Ciencias en el Instituto Nacional de Astrofısica,Optica y

Electronica

Supervisada por:

Dr. Luis Enrique Sucar Succar, INAOEDr. Rafael Murrieta Cid, CIMAT

c©INAOE 2014El autor otorga al INAOE el permiso de reproducir y distribuir copias

en su totalidad o en partes de esta tesis

2

Resumen

En robotica, los modelos tridimensionales (3D) de objetos fısicos se utilizan en

tareas como manipulacion, reconocimiento o estimacion de posicion. Por lo tanto,

es importante que los robots puedan reconstruir los modelos 3D de los objetos de

su ambiente. Para reconstruir un objeto es necesario colocar un sensor de rango

en diferentes posiciones y orientaciones (vistas). Desde cada vista se observa y se

reconstruye la superficie del objeto. Debido a que el objeto es desconocido cada

vista se determina de forma iterativa. Determinar cada vista involucra resolver el

problema de la “siguiente mejor vista”. Se ha demostrado que el problema es de

complejidad NP-Duro.

Suponemos que el sensor esta montado en el efector final de un robot manipu-

lador movil. Por lo tanto, determinar la siguiente mejor vista involucra determinar

el estado del robot tal que el sensor satisface las restricciones de la “siguiente mejor

vista”. A dicho estado le llamamos siguiente mejor estado/vista. Ademas, el robot

tiene un posicionamiento imperfecto que afecta la superficie observada o puede

causar una colision del robot. El problema abordado en esta tesis es determinar

el siguiente mejor estado/vista robusto a errores de posicionamiento del robot.

La mayor parte del trabajo relacionado se ha centrado en determinar la vista del

sensor sin considerar las capacidades del robot. Los trabajos que determinan el

estado del robot lo hacen mediante cinematica inversa, sin embargo, dichos tra-

bajos pueden generar estados inalcanzables o caer en singularidades durante el

calculo de la cinematica inversa.

i

ii

En esta tesis se presenta un metodo de planificacion de vistas robusto a errores

de posicionamiento para reconstruccion 3D de objetos con robots manipuladores

moviles. El metodo determina el siguiente estado del robot, la vista del sensor y la

serie de controles que se debe ejecutar desde el estado actual del robot. El metodo

desarrollado planifica directamente en el espacio de estados evitando problemas

con el calculo de la cinematica inversa o estados inalcanzables.

El metodo propuesto se basa en generar estados candidatos y evaluarlos con

una funcion de utilidad. La evaluacion verifica si un candidato aumenta la su-

perficie reconstruida y satisface las restricciones de sensado (dependientes de la

capacidad del sensor), de registro y posicionamiento (donde se verifica que el es-

tado del robot y la trayectoria seguida sean libre de colision).

Las contribuciones son: i) un metodo de trazado de rayos jerarquico que en

menor tiempo que un trazado de rayos uniforme aproxima la visibilidad de un

candidato, ii) una estrategia de evaluacion que aplica la funcion de utilidad como

una serie de filtros que se deben satisfacer y iii) dos metodos para robustecer la

planificacion ante incertidumbre en el posicionamiento. El primer metodo calcula

la convolucion de la utilidad y la distribucion del error. El segundo metodo calcula

la utilidad esperada de una estado/vista dependiendo de la serie de controles que

se aplica desde el estado actual del robot.

El metodo se implemento como un sistema integral de reconstruccion de ob-

jetos. Se realizaron experimentos en simulacion y en un robot manipulador movil

de 8 grados de libertad. Como resultado, el sistema fue capaz de generar de forma

autonoma modelos 3D de diversos objetos. El tiempo de planificacion de cada es-

tado/vista esta en el orden de segundos cuando no hay error de posicionamiento

y en el orden de minutos cuando existe error. Los porcentajes de cobertura son en

promedio mayores al 90% incluso para objetos con huecos y auto oclusiones. El

algoritmo redujo casi a cero la tasa de colision del robot y aumento el porcentaje

de superficie cubierta. Este es uno de los primeros algoritmos que reconstruye

objetos reales con un robot manipulador movil.

Abstract

Three-dimensional (3D) models from real objects have several applications

in robotics. For example, manipulation, object recognition, pose estimation, etc.

Therefore, a robot must have the ability of building 3D models from the objects

in its environment for interacting with them further. To build a 3D model a range

sensor has to be placed at different poses (views). From each view the surface

is observed and reconstructed. To determine the next view is known as the next

best view problem. It has been demonstrated that the complexity of the problem

is NP-Hard.

We assume that the sensor is mounted on the end effector of a mobile manipu-

lator robot. Therefore, it is necessary to determine the robot state that matches

the next best view. We call to such state the next best view/state. In addition

the mobile manipulator has imperfect positioning which alters the coverage and

cause robot collisions. The problem addressed in this thesis is to plan the next

best view/state robust to positioning errors of the robot. The related work has

focused on calculate the view state without considering the robot capabilities. The

few works that calculate the robot state use inverse kinematics. However inverse

kinematics could generate unreachable states or fall into singularities during the

calculation.

We propose a view planning method for object reconstruction robust to posi-

tioning errors. The algorithm calculates the sensor view, the robot state and the

set of controls that the robot has to apply. The method calculates the next best

iii

iv

view directly in the state space avoiding inverse kinematics calculation. The met-

hod is based on generating candidates and evaluated them with a utility function.

The evaluation verifies if a candidate could increase the reconstructed surface and

satisfies the constraints of sensing (according to the range sensor), registration

and positioning (where the state and trajectory are tested for collision).

The contributions are: i) a hierarchical ray tracing method that approximates

the visibility in a shorter time than a uniform ray tracing, ii) an evaluation strategy

by filters that efficiently evaluates the restrictions of the problem and iii) two

strategies to deal with positioning uncertainty. The fist strategy is a convolution of

the utility function and the error distribution. The second strategy is the expected

utility calculation depending on the controls that are going to be applied.

The method was implemented as an integral system for object reconstruction.

Several experiments in simulation and with a real robot of 8 degrees of freedom

were performed. The results show that the system is capable of reconstructing

an object despite of their shape. The processing time for each view was several

seconds for the case of perfect positioning and several minutes for the case of

imperfect positioning. The average percentages of covered surface are bigger than

90%, even for objects with difficult auto occlusions. The method decreases the

collision rate almost to zero and increases the covered surface. This is one of the

first methods that reconstructs real objects with a mobile manipulator robot.

Agradecimientos

Primero quiero agradecer a mis asesores, Dr. Luis Enrique Sucar y Dr. Rafael

Murrieta, por su guıa, paciente y certera, durante toda la investigacion. Ademas,

por el aporte de ideas y discusiones ya sea de forma presencial o remota. En

especial al Dr. Sucar que desde mi residencia profesional y maestrıa ha confiado

en mi y me ha motivado para seguir adelante.

Quiero agradecer tambien a mis revisores: Dr. Miguel Arias, Dr. Jesus Gonza-

lez, Dr. Eduardo Morales, Dr. Enrique Munoz y Dr. Abraham Sanchez, quienes

con sus crıticas constructivas han mejorado sustancialmente el contenido de esta

tesis.

Ademas quiero dar las gracias a Luis Valentın y Rigoberto Lopez, quienes

me ayudaron a entender los RRTs y a graficar el movimiento del robot. Gracias

tambien al Dr. Felipe Orihuela, quien me ayudo a entender algunos conceptos de

estadıstica y en la implementacion de la convolucion.

Gracias a todas las personas miembros del laboratorio de robotica y del equi-

po Markovito, quienes han colaborado en mi investigacion. Entre ellos a David

Carrillo, quien que me ayudo con la configuracion fısica del robot.

No podıa faltar Kika Varela, a quien le agradezco su disponibilidad y apoyo en

los experimentos en simulacion y con el robot real. Finalmente quiero reconocer

el apoyo de mis padres y familia que siempre estuvieron pendientes de mi avance.

v

vi

Dedicatorias

A Dios por brindarme la salud para llegar hasta este punto de mi vida.

A mis padres, Roberto Enrique Vasquez Martınez y Batilde Valeria Gomez

Carrera, quienes me han inculcado las ganas de luchar por mis suenos.

vii

viii

Indice general

1. Introduccion 1

1.1. Motivacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2. Reconstruccion Tridimensional de Objetos . . . . . . . . . . . . . 2

1.3. Planificacion de Vistas . . . . . . . . . . . . . . . . . . . . . . . . 4

1.4. Planificacion del Siguiente Mejor Estado/Vista . . . . . . . . . . . 6

1.4.1. Retos del Problema . . . . . . . . . . . . . . . . . . . . . . 6

1.5. Pregunta de Investigacion . . . . . . . . . . . . . . . . . . . . . . 7

1.6. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.7. Hipotesis y Resultados . . . . . . . . . . . . . . . . . . . . . . . . 8

1.8. Contribuciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.9. Algoritmo General de Planificacion . . . . . . . . . . . . . . . . . 11

1.10. Organizacion de la Tesis . . . . . . . . . . . . . . . . . . . . . . . 11

2. Fundamento Teorico y Establecimiento del Problema 15

2.1. Escena de Reconstruccion . . . . . . . . . . . . . . . . . . . . . . 16

2.1.1. El Objeto y el Espacio de Trabajo . . . . . . . . . . . . . . 16

2.1.2. El Sensor y el Espacio de Vistas . . . . . . . . . . . . . . . 17

2.1.3. El Robot, Espacio de Configuraciones y Espacio de Estados 19

2.1.4. Definicion de Estado/Vista . . . . . . . . . . . . . . . . . . 21

2.2. Posicionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.2.1. Control y Transicion de Estados . . . . . . . . . . . . . . . 22

ix

x INDICE GENERAL

2.2.2. Caminos y Trayectorias . . . . . . . . . . . . . . . . . . . . 22

2.3. Percepcion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.3.1. Oclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.4. Actualizacion del Modelo . . . . . . . . . . . . . . . . . . . . . . . 24

2.4.1. Registro . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.4.2. Algoritmo Iterative Closest Point . . . . . . . . . . . . . . 25

2.5. Problema del Siguiente Mejor Estado/Vista . . . . . . . . . . . . 26

3. Trabajo Relacionado 29

3.1. Clasificacion de la Planificacion de Vistas . . . . . . . . . . . . . . 30

3.2. Reconstruccion de Objetos . . . . . . . . . . . . . . . . . . . . . . 31

3.2.1. Sistemas de Posicionamiento Fijo . . . . . . . . . . . . . . 31

3.2.2. Sistemas de Posicionamiento Movil . . . . . . . . . . . . . 36

3.3. Exploracion de Ambientes . . . . . . . . . . . . . . . . . . . . . . 37

3.3.1. Exploracion 2D de ambientes . . . . . . . . . . . . . . . . 39

3.3.2. Reconstruccion 3D de Ambientes . . . . . . . . . . . . . . 40

3.4. Planificacion de Movimientos en Condiciones de Incertidumbre . . 41

3.5. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

4. Modelo de la Escena y Modelo de Percepcion 45

4.1. Modelo de la Escena de Reconstruccion . . . . . . . . . . . . . . . 45

4.1.1. Nube de Puntos del Objeto . . . . . . . . . . . . . . . . . 47

4.1.2. Octree Probabilista . . . . . . . . . . . . . . . . . . . . . . 47

4.1.3. Malla Triangular de la Escena . . . . . . . . . . . . . . . . 49

4.2. Modelo del Sensor y Actualizacion del Octree . . . . . . . . . . . 49

4.2.1. Actualizacion con una Imagen de Rango . . . . . . . . . . 52

4.3. Calculo de la Visibilidad . . . . . . . . . . . . . . . . . . . . . . . 53

4.3.1. Trazado de Rayos Jerarquico . . . . . . . . . . . . . . . . . 53

4.3.2. Profundidad Inicial . . . . . . . . . . . . . . . . . . . . . . 54

4.3.3. Arbol de rayos . . . . . . . . . . . . . . . . . . . . . . . . 54

INDICE GENERAL xi

4.3.4. Algoritmo de Trazado de Rayos Jerarquico . . . . . . . . . 57

4.4. Deteccion de Colisiones . . . . . . . . . . . . . . . . . . . . . . . . 57

4.5. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

5. Planificacion del Sig. Mejor Estado/Vista 61

5.1. Utilidad de un Estado/Vista Candidato . . . . . . . . . . . . . . . 62

5.1.1. Funcion de Utilidad . . . . . . . . . . . . . . . . . . . . . . 63

5.2. Algoritmo de Siguiente Mejor Estado/Vista . . . . . . . . . . . . 65

5.3. Planificacion de Movimientos . . . . . . . . . . . . . . . . . . . . 68

5.4. Criterio de Paro . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

5.5. Analisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

5.5.1. Tiempo de Procesamiento . . . . . . . . . . . . . . . . . . 71

5.5.2. Convergencia . . . . . . . . . . . . . . . . . . . . . . . . . 73

5.5.3. Eficiencia contra Optimalidad . . . . . . . . . . . . . . . . 74

5.6. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

6. Planif. bajo Incertidumbre en el Pos. 77

6.1. Error de Posicionamiento . . . . . . . . . . . . . . . . . . . . . . . 78

6.2. Error de Posicionamiento en el Espacio de Trabajo . . . . . . . . 79

6.2.1. Modelo del Error . . . . . . . . . . . . . . . . . . . . . . . 79

6.2.2. Convolucion de la Utilidad . . . . . . . . . . . . . . . . . . 79

6.3. Error en el Espacio de Estados . . . . . . . . . . . . . . . . . . . . 81

6.3.1. Modelo del Error . . . . . . . . . . . . . . . . . . . . . . . 82

6.3.2. Modelo de Movimiento . . . . . . . . . . . . . . . . . . . . 85

6.3.3. Utilidad Esperada . . . . . . . . . . . . . . . . . . . . . . . 87

6.3.4. Analisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

6.4. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

7. Experimentos y Resultados 95

7.1. Simulacion sin Error de Posicionamiento . . . . . . . . . . . . . . 95

xii INDICE GENERAL

7.1.1. Notacion y Escena de Reconstruccion Simulada . . . . . . 95

7.1.2. Validacion de la Funcion de Utilidad . . . . . . . . . . . . 97

7.1.3. Tiempo de Procesamiento . . . . . . . . . . . . . . . . . . 100

7.1.4. Reconstruccion de Objetos Complejos . . . . . . . . . . . . 101

7.1.5. Comparacion de Variantes . . . . . . . . . . . . . . . . . . 102

7.2. Simulacion con Error de Pos. en el Espacio de Trabajo . . . . . . 104

7.3. Simulacion con Error de Pos. en el Espacio de Estados . . . . . . 109

7.3.1. Tasa de Colision . . . . . . . . . . . . . . . . . . . . . . . 110

7.3.2. Reconstruccion de Objetos . . . . . . . . . . . . . . . . . . 110

7.4. Reconstruccion en una Escena Real . . . . . . . . . . . . . . . . . 112

7.4.1. Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

7.4.2. Escena de Reconstruccion . . . . . . . . . . . . . . . . . . 113

7.4.3. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

7.4.4. Discusion . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

7.5. Reconstruccion en una Escena Real con Obstaculos . . . . . . . . 121

7.6. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

8. Conclusiones y Trabajo Futuro 127

8.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

8.2. Trabajo Futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

A. Parametros de Configuracion. 131

B. Datos Adicionales del Experimento con el Robot Real 137

C. Publicaciones 141

Bibliografıa 141

Indice de figuras

1.1. Imagen de rango parcial y modelo tridimensional completo. . . . . 3

1.2. Ejemplo de diferentes vistas que observan un objeto. . . . . . . . 5

1.3. Proceso de reconstruccion de objetos con planificacion de la siguien-

te mejor vista. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.4. Diagrama de flujo del proceso de reconstruccion tridimensional de

objetos y planificacion del siguiente mejor estado/vista. . . . . . . 12

2.1. Proceso de reconstruccion de objetos. . . . . . . . . . . . . . . . . 15

2.2. Vista, geometrıa y cono de visibilidad de un sensor . . . . . . . . 18

2.3. Configuracion del robot. . . . . . . . . . . . . . . . . . . . . . . . 19

2.4. Oclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.1. Clasificacion de los algoritmos de planificacion de vistas. . . . . . 30

4.1. Representacion de la escena de reconstruccion . . . . . . . . . . . 46

4.2. Estructura de un octree . . . . . . . . . . . . . . . . . . . . . . . . 48

4.3. Ejemplos de la representacion del ambiente. . . . . . . . . . . . . 50

4.4. trazado de Rayos . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

4.5. Trazado de rayos uniforme y trazado de rayos jerarquico . . . . . 54

4.6. Trazado de rayos jerarquico . . . . . . . . . . . . . . . . . . . . . 55

4.7. Malla triangular del robot movil. . . . . . . . . . . . . . . . . . . 59

5.1. Paradigma basado en busqueda para planificar vistas. . . . . . . . 62

xiii

xiv INDICE DE FIGURAS

5.2. Algoritmo para determinar el siguiente mejor estado/vista (SMEV). 66

5.3. Extension del Rapidly-Exploring Random Tree (RRT). . . . . . . 69

6.1. Grafica de la utilidad de las vistas candidatas antes y despues de

la convolucion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

6.2. Transformacion de las muestras del espacio de controles al espacio

de utilidades. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

6.3. Ilustracion de muestras generadas para calcular la utilidad esperada. 88

6.4. Volumen de muestreo . . . . . . . . . . . . . . . . . . . . . . . . . 91

7.1. Escena simulada de reconstruccion. . . . . . . . . . . . . . . . . . 97

7.2. Objetos sinteticos utilizados para simular diversas reconstrucciones. 97

7.3. Comparacion del la superficie cubierta usando los enfoques de Ga-

nancia de Informacion (IG) y Utilidad Combinada (UC). . . . . . 99

7.4. Comparacion de los volumenes desconocidos en el octree utilizando

los enfoques de Ganancia de Informacion (IG) y Utilidad Combi-

nada (UC). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

7.5. Reconstruccion del objeto Conejo . . . . . . . . . . . . . . . . . . 102

7.6. Ilustracion del octree probabilista durante la reconstruccion del ob-

jeto Conejo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

7.7. Nube de puntos de los objetos reconstruidos. . . . . . . . . . . . . 103

7.8. Objetos tridimensionales del experimento con el metodo convolu-

cion despues de evaluacion (CAE). . . . . . . . . . . . . . . . . . 106

7.9. Reconstruccion de los objetos esfera y taza bajo error de posicio-

namiento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

7.10. Reconstruccion del objeto SGI-Logo bajo error de posicionamiento 108

7.11. Tasa de colision para diferentes k . . . . . . . . . . . . . . . . . . 111

7.12. Porcentajes de cobertura de los objetos Conejo y Tetera. . . . . . 111

7.13. Escena de reconstruccion. . . . . . . . . . . . . . . . . . . . . . . 113

7.14. Comparacion del modelo obtenido con respecto del objeto real. . . 116

INDICE DE FIGURAS xv

7.15. Ejemplos de las diferentes configuraciones que el robot toma para

observar el objeto. . . . . . . . . . . . . . . . . . . . . . . . . . . 117

7.16. Octree final de la reconstruccion. . . . . . . . . . . . . . . . . . . 117

7.17. Ejemplos del desplazamiento del robot. . . . . . . . . . . . . . . . 118

7.18. Ejemplo del registro de dos nubes de puntos del objeto. . . . . . . 120

7.19. Escena de reconstruccion con obstaculos. . . . . . . . . . . . . . . 121

7.20. Nube de puntos acumulada del objeto. . . . . . . . . . . . . . . . 122

7.21. Proyeccion de los estados del robot desde donde se hizo una per-

cepcion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

7.22. Ejemplo de evasion de obstaculos. . . . . . . . . . . . . . . . . . . 123

B.1. Primera parte de las percepciones realizadas en una reconstruccion

del objeto real. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

B.2. Segunda parte de las percepciones realizadas en una reconstruccion

del objeto real. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

xvi INDICE DE FIGURAS

Indice de tablas

3.1. Algoritmos de planificacion para sistemas de posicionamiento fijo. 35

3.2. Planificacion de vistas para sistemas de posicionamiento movil. . . 38

3.3. Planificacion para exploracion de ambientes. . . . . . . . . . . . . 42

7.1. Tiempo promedio de evaluacion de una vista utilizando trazado de

rayos jerarquico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

7.2. Resultados de la reconstruccion de cada uno de los objetos sinteticos.101

7.3. Resultados de la reconstruccion para cada variante. . . . . . . . . 104

7.4. Cobertura para cada enfoque. UE-PE incrementa el porcentaje de

cobertura y decrementa la tasa de colision. . . . . . . . . . . . . . 112

7.5. Resultados de la reconstruccion de la silla de oficina. . . . . . . . 115

7.6. Reconstruccion de objetos en un escenario con obstaculos. . . . . 123

A.1. Configuracion del sensor en los experimentos en simulacion. . . . . 131

A.2. Configuracion del experimento de la seccion 7.1. Validacion de la

funcion de utilidad. . . . . . . . . . . . . . . . . . . . . . . . . . . 132

A.3. Configuracion del experimento sobre el tiempo de procesamiento y

el calculo de la visibilidad. Seccion 7.1.3 . . . . . . . . . . . . . . 133

A.4. Configuracion del experimento de la reconstruccion de objetos di-

ferentes. Seccion 7.1.4 . . . . . . . . . . . . . . . . . . . . . . . . . 134

A.5. Configuracion del experimento para probar las variantes del algo-

ritmo. Seccion 7.1.5. . . . . . . . . . . . . . . . . . . . . . . . . . 134

xvii

xviii INDICE DE TABLAS

A.6. Parametros del experimento de planificacion del siguiente mejor

estado/vista con error de posicionamiento. . . . . . . . . . . . . . 135

A.7. Parametros de la distribucion del error usados en los experimentos

en simulacion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

B.1. Configuracion de la planificacion de movimientos para la recons-

truccion de la silla de oficina. . . . . . . . . . . . . . . . . . . . . 137

B.2. Parametros del sensor utilizado en el experimento en un ambiente

real. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

B.3. Configuracion de la reconstruccion en una escena con obstaculos. . 138

Nomenclatura

ι Nube de puntos percibida por el sensor.

A Robot

C Espacio de configuraciones

Cfree Espacio de configuraciones libre

Cobs Espacio de configuraciones en colision

F(v) Frustum del sensor.

O Region de obstaculos

V Espacio de vistas

W Espacio de trabajo. W = R3

Wfree Espacio de trabajo libre

Wobj Objeto. Wobj ⊂ W

Wunk Region desconocida del espacio de trabajo

X Espacio de estados

Xfree Espacio de estados libre de colision

τ Trayectoria. τ : [0, T ]→ Xfree

xix

xx INDICE DE TABLAS

oc(v) Numero de voxeles ocupados dentro del cubo encapsulador visibles desde

v

unk(v) Numero de voxeles desconocidos dentro del cubo encapsulador visibles

desde v

D Sensor de rango

M Octree probabilista

Mbbox Conjunto de voxeles dentro del cubo encapsulador

Mfree Conjunto de voxeles libres

Munk Conjunto de voxeles desconocidos

Pobj Nube de puntos acumulada del objeto.

q Configuracion del robot. q = [x, y, z, θ0, . . . , β5]T

U Conjunto de controles posibles.

u Control. Conjunto de velocidades o aceleraciones aplicadas al robot. Tam-

bien se puede referir a la funcion de entrada, u : [0, T ]→ U

v Vista. v = [x, y, z, α, β, γ]T

x Estado del robot. x = {q, q}

PPV Problema de planificacion de vistas.

RTO Reconstruccion tridimensional de objetos

Capıtulo 1

Introduccion

En robotica, los modelos tridimensionales (3D) de objetos fısicos se utilizan en

tareas como manipulacion, reconocimiento o estimacion de posicion. Por lo tanto,

es importante que los robots puedan reconstruir los modelos 3D de los objetos de

su ambiente. Para reconstruir un objeto es necesario colocar un sensor de rango

en diferentes posiciones y orientaciones (vistas). Desde cada vista se observa y se

reconstruye la superficie del objeto. Debido a que el objeto es desconocido cada

vista se determina de forma iterativa. Determinar cada vista involucra resolver el

problema de la “siguiente mejor vista”. Se ha demostrado que el problema es de

complejidad NP-Duro [Scott et al, 2003]. En esta tesis se propone un algoritmo de

planificacion de vistas para robots manipuladores moviles, con un enfoque particu-

lar en el tiempo de procesamiento, debido a que el tiempo disponible esta limitado

por la autonomıa del robot, y considerando la incertidumbre de la percepcion y

la incertidumbre en los movimientos del robot.

1.1. Motivacion

Los modelos tridimensionales de objetos reales tienen hoy en dıa aplicaciones

en areas tan diversas como la industria, la medicina, la arqueologıa, la robotica,

etc. En robotica, los modelos tridimensionales les permiten a los robots interactuar

1

2 CAPITULO 1. INTRODUCCION

con su ambiente y realizar tareas como:

Manipulacion. Si se conoce el modelo tridimensional del objeto, es posible

determinar los puntos de contacto donde el robot debe colocar los dedos del

efector final para garantizar sujecion. El software GraspIt [Miller et Allen, 2004],

desarrollado en la Universidad de Columbia, tiene implementados varios al-

goritmos para planificar sujecion; todos ellos requieren un modelo tridimen-

sional (en su caso una malla triangular) del objeto para calcular los puntos

de contacto y detectar posibles colisiones.

Estimacion de pose. Para estimar la pose (posicion y orientacion) de un

objeto es necesario saber la transformacion traslacional y rotacional entre el

objeto observado y uno de referencia. El objeto de referencia es usualmente

un modelo tridimensional, ya sea una nube de puntos o una malla triangular.

En [Kehoe et al, 2013] se estima la pose de un objeto mediante un ajuste

de mınimos cuadrados entre nubes de puntos.

Planificacion de movimientos. Cuando el robot consiste de dos o mas

cuerpos rıgidos o el ambiente tiene obstaculos, es necesario verificar que el

robot no tenga auto colisiones o colisiones con el ambiente. La deteccion de

colisiones se hace con algoritmos de proximidad. Por ejemplo, el propuesto

en [Eric Larsen et Manocha, 2000] utiliza mallas triangulares del robot y los

objetos del ambiente.

Ası que para que un robot manipulador movil pueda realizar diversas tareas

de forma autonoma, es necesario que sea capaz de reconstruir los objetos de su

ambiente.

1.2. Reconstruccion Tridimensional de Objetos

Hay al menos dos formas de generar un modelo tridimensional. La primera

es mediante modelado asistido por computadora (CAD); esta alternativa requiere

1.2. RECONSTRUCCION TRIDIMENSIONAL DE OBJETOS 3

largas horas de trabajo de un especialista en el area, con la limitante de que

los modelos generados muchas veces no tienen detalles muy precisos. La segunda

forma es mediante la reconstruccion tridimensional de objetos (RTO), que consiste

en generar el modelo 3D haciendo mediciones de la superficie del objeto. La RTO

es mas adecuada cuando el proceso requiere ser automatico, como es el caso de

los robots autonomos que interactuan con el ambiente.

(a) (b)

Figura 1.1: A la izquierda se muestra una imagen de rango del objeto Conejo deStanford. Una imagen de rango solo contiene una parte del objeto. En consecuen-cia es necesario tomar varias imagenes desde diferentes posiciones y orientaciones,llamadas vistas. A la derecha se muestra el modelo 3D completo. Imagenes toma-das del repositorio 3D de la Universidad de Stanford [Stanford University, 2009].

En la reconstruccion tridimensional de objetos intervienen tres elementos: el

objeto, el sensor de rango y el sistema de posicionamiento. El objeto es la enti-

dad a ser modelada. En esta tesis, los objetos a reconstruir son aquellos que se

encuentran en ambientes de oficina, tanto objetos de tipo manipulable como mo-

biliario. El sensor de rango adquiere la forma del objeto y la representa con una

imagen de rango (consideramos una imagen de rango como un conjunto de puntos

que pertenecen a la superficie del objeto). La figura 1.1(a) muestra el ejemplo de

una imagen de rango. El sistema de posicionamiento cambia la perspectiva del

sensor con respecto del objeto. Hay dos clases de sistemas de posicionamiento,

los que cambian la posicion del objeto, como un tornamesas, o los que cambian

la perspectiva del sensor como es el caso de un brazo manipulador. En esta tesis

suponemos que el sistema de posicionamiento es un robot manipulador movil que

4 CAPITULO 1. INTRODUCCION

tiene montado el sensor de rango en el efector final, a esta configuracion se le

llama “sensor en mano” del ingles eye-in-hand sensor.

El proceso de RTO consiste en percibir con el sensor varias imagenes de rango

desde diferentes poses, de tal forma que la mayorıa de la superficie del objeto sea

observada. Una vez que se han percibido mas de dos imagenes de rango, estas

se registran y se fusionan. El registro consiste en trasladar y rotar las image-

nes a un mismo marco de referencia [Besl et McKay, 1992], de tal forma que los

traslapes entre imagenes coincidan. La etapa de fusion consiste en eliminar las

partes redundantes del modelo. Al finalizar la reconstruccion es comun aplicar

un proceso de rellenado de superficies faltantes y refinado del modelo construido

[Weyrich et al, 2004].

1.3. Planificacion de Vistas

Una vista de un sensor describe la posicion y orientacion del sensor. Para

reconstruir un objeto es necesario un conjunto de vistas desde donde el sensor

hace observaciones. La figura 1.2 a) muestra un conjunto de vistas que observa

un objeto. Determinar el conjunto de vistas necesario para reconstruir un objeto,

cumpliendo las restricciones de sensado, posicionamiento y registro, es conocido

como el problema de planificacion de vistas (PPV). A menos que se trate de

un objeto muy sencillo, como una esfera, el PPV no es un problema facil, dado

que el espacio de busqueda de la siguiente vista (o estado del robot como se

vera mas adelante) es muy grande (usualmente infinito). De acuerdo con Scott

[Scott et al, 2003] el problema de planificacion de vistas es un problema NP-Duro.

Cuando se conoce a priori la superficie completa del objeto, el problema se

modela como el problema de la galerıa de arte, donde se busca hallar el mınimo

numero de guardias que observen (vigilen) la galerıa. Para dicho problema existen

diversas soluciones basadas en geometrıa computacional [O’Rourke, 1987], de tal

forma que es posible determinar en una iteracion el conjunto de vistas que observa

1.3. PLANIFICACION DE VISTAS 5

(a) (b)

Figura 1.2: Ejemplo de diferentes vistas que observan un objeto. La sub-figuraa) muestra varias vistas (posiciones y orientaciones del sensor) que observan unobjeto. La sub-figura b) muestra un conjunto de estados del robot desde donde elsensor montado en el efector final observa el objeto. Cuando el sensor esta montadoen el efector final es necesario determinar ademas de la vista del sensor el estadodel robot.

toda la superficie. Sin embargo, en este trabajo suponemos que no se conoce la

superficie del objeto que se quiere modelar. Ası que la solucion al problema consiste

de un proceso iterativo de observar el objeto y decir donde observar a continuacion.

En especıfico, el proceso consiste en cuatro pasos: posicionamiento del sensor,

percepcion de la imagen de rango, actualizacion del modelo y determinacion de la

siguiente vista o estado del robot. La figura 1.3 ilustra el proceso. A la siguiente

vista se le llama por definicion la siguiente mejor vista (SMV) [Connolly, 1985].

Figura 1.3: Proceso de reconstruccion de objetos con planificacion de la siguientemejor vista. Proceso iterativo de cuatro pasos que se repite hasta que se alcanzaun criterio de paro.

6 CAPITULO 1. INTRODUCCION

1.4. Planificacion del SiguienteMejor Estado/Vista

Tradicionalmente la siguiente mejor vista (SMV) es aquella posicion y orien-

tacion del sensor que maximiza el incremento de superficie reconstruida. En esta

tesis nos interesa determinar la vista del sensor, el estado del robot y la serie de

controles que al aplicarse generan una trayectoria libre de colision desde el estado

actual del robot. A este problema le llamamos planificacion del siguiente mejor

estado/vista (SMEV). La definicion formal del problema se hace mas adelante en

la seccion 2.5.

1.4.1. Retos del Problema

El problema del siguiente mejor estado/vista cambia el espacio de busqueda,

del espacio de vistas al espacio de estados, y aumenta las restricciones del pro-

blema. El nuevo espacio de busqueda tiene dimensionalidad igual a la dimension

del estado del robot, la cual es usualmente mayor al espacio de vistas. Las res-

tricciones tradicionales del problema de SMV son sensado (asegurar visibilidad),

posicionamiento del sensor y registro. A ellas se aumenta la restriccion de posi-

cionamiento del robot. La incorporacion de esta nueva restriccion hace necesario

resolver problemas de robotica movil, como son: planificacion de movimientos,

manejo de la incertidumbre en posicion, reduccion de la distancia de navegacion

y rapido procesamiento debido a los recursos de computo limitados.

Manejo de incertidumbre en el posicionamiento

En particular, suponemos que el robot ejecuta un lazo de control abierto, es

decir, el robot no se localiza hasta que percibe una imagen de rango. La consecuen-

cia natural es que, mientras el robot se desplaza, su incertidumbre en la posicion

aumenta, provocando disminucion en la superficie cubierta, fallo en el registro o

colisiones del robot con el objeto o el ambiente. Por lo tanto, es necesario que

los estados/vista determinados sean robustos a un posicionamiento incierto. Con

1.5. PREGUNTA DE INVESTIGACION 7

robusto queremos decir que existe una muy baja probabilidad (menor que la que

existe con la planificacion tradicional) de que el robot colisione y que el porcentaje

de cobertura sea similar al que se tuviera si no existiera error de posicionamiento.

Reduccion de la distancia de navegacion

A diferencia del problema de la siguiente mejor vista, donde el costo de re-

construccion es unicamente el numero de percepciones, en el problema del SMEV

es necesario contemplar el esfuerzo que realiza el robot para llegar a cada esta-

do/vista. Una forma de estimar el esfuerzo que realiza el robot es mediante la

distancia de navegacion. Por lo tanto es importante que el siguiente mejor esta-

do/vista reduzca la distancia viajada por el robot.

Tiempo de procesamiento adecuado

El algoritmo de planificacion del siguiente mejor estado/vista debe funcionar

en un tiempo adecuado para poder ser implementado en robots moviles. El robot

que utilizamos en los experimentos tiene una autonomıa aproximada de una hora

y media. Esto limita la reconstruccion a ese tiempo. En promedio se hacen quince

iteraciones para reconstruir un objeto, quedando un tiempo de seis minutos por

iteracion. Estos seis minutos se deben repartir entre el posicionamiento, registro,

actualizacion y planificacion. Por lo tanto, un tiempo de procesamiento adecuado

para planificar el siguiente mejor estado/vista debe ser menor a seis minutos.

1.5. Pregunta de Investigacion

La pregunta de investigacion de esta tesis es:

¿De que forma es posible determinar, en un tiempo de procesamiento adecuado

para la tarea, el siguiente mejor estado/vista para reconstruccion tridimensional

de objetos robusto a incertidumbre en el posicionamiento?

8 CAPITULO 1. INTRODUCCION

1.6. Objetivos

Dada la problematica de la planificacion de vistas para reconstruccion tridi-

mensional de objetos con robots moviles se planteo el objetivo de la investigacion

como:

Desarrollar un algoritmo de planificacion de vistas para reconstruc-

cion tridimensional de objetos para robots manipuladores moviles que

genere, en un tiempo adecuado para la tarea, estados/vista robustos a

errores de posicionamiento y eficientes en la distancia de navegacion.

El objetivo general se divide en los siguientes objetivos parciales:

1. Establecer un modelo que caracterice el error de posicionamiento del robot

y el costo de la nevegacion en la reconstruccion.

2. Establecer una funcion de utilidad que evalue un estado del robot a partir

de las restricciones de percepcion y la restricciones de posicionamiento.

3. Disenar un algoritmo de planificacion del siguiente mejor estado/vista (SMEV)

basado en el paradigma de busqueda (generacion y evaluacion de candida-

tos).

4. Reducir el tiempo de procesamiento del algoritmo de planificacion del si-

guiente mejor estado/vista.

5. Extender el algoritmo de planificacion del siguiente mejor estado/vista para

que sea robusto a errores de posicionamiento.

1.7. Hipotesis y Resultados

Partiendo de que la tarea es la de reconstruccion tridimensional de objetos

con robots moviles, que el tiempo de procesamiento adecuado esta en el orden

de minutos y que sea robusto a incertidumbre de posicionamiento significa que

1.8. CONTRIBUCIONES 9

existe una muy baja probabilidad de que el robot colisione y que el porcentaje

de cobertura de la superficie es similar al que se tuviera si no existiera error de

posicionamiento; la hipotesis de este trabajo es la siguiente:

Es posible determinar, en un tiempo de procesamiento aceptable para la tarea,

el siguiente mejor estado/vista, robusto a incertidumbre en el posicionamiento,

mediante un enfoque de generacion de candidatos y evaluacion de la utilidad es-

perada.

A fin de mostrar la veracidad de la hipotesis, se ha investigado, desarrollado e

implementado, un algoritmo de planificacion que cumple con los requisitos estable-

cidos. El algoritmo evalua los candidatos con la utilidad esperada, que incorpora

la incertidumbre en posicion, de tal forma que el estado/vista seleccionado como

el mejor es robusto a la incertidumbre en el posicionamiento. Ademas, el algorit-

mo reduce el tiempo de procesamiento mediante un esquema de evaluacion por

filtrado y una aproximacion de la visibilidad mediante trazado de rayos jerarquico.

El algoritmo se implemento y se realizaron diversos experimentos en simulacion

y con un robot manipulador movil de ocho grados de libertad que lleva montado un

sensor Kinect. En los experimentos en simulacion se comparo la funcion de utilidad

propuesta basada en superficie de oclusion contra Ganancia de Informacion, se

midio el tiempo de procesamiento, se reconstruyeron diversos objetos y se midio el

desempeno del algoritmo cuando existe error de posicionamiento.

Los resultados muestran que el algoritmo es capaz de reconstruir objetos reales

diversos a pesar de la incertidumbre en el sensor y en el posicionamiento robot.

El porcentaje de reconstruccion alcanzado es cercano al cien por ciento.

1.8. Contribuciones

La contribucion principal de la tesis es:

10 CAPITULO 1. INTRODUCCION

Un algoritmo de planificacion que determina en un tiempo aceptable para la

tarea el siguiente mejor estado/vista, robusto a errores de posicionamiento,

para reconstruccion 3D de objetos con robots moviles.

De la cual se derivan las siguientes contribuciones:

Una funcion de utilidad y una estrategia de evaluacion. La funcion de uti-

lidad incorpora las restricciones de posicionamiento, percepcion y registro

del problema del siguiente mejor estado/vista. La estrategia de evaluacion

disminuye el tiempo de procesamiento requerido al aplicar cada restriccion

como un filtro. El orden de los filtros se coloco de menor a mayor con res-

pecto del tiempo de procesamiento que requieren para calcularse.

Un algoritmo de trazado de rayos jerarquico que aproxima la visibilidad de

una vista en menor tiempo de procesamiento. El algoritmo es jerarquico

por que aprovecha la estructura jerarquica de la representacion del objeto

(la representacion del objeto por octree se describe en el capıtulo 4) para

calcular la visibilidad en una resolucion burda y solo aplicar una resolucion

fina en las regiones importantes.

El metodo de evaluacion por convolucion despues de la evaluacion (CAE)

que aumenta el porcentaje de cobertura de la reconstruccion cuando existe

un error de posicionamiento en el espacio de trabajo (unicamente en la

posicion del sensor).

Un algoritmo para calcular la utilidad esperada de una vista. La utilidad

esperada determina la utilidad mas probable que se alcanzara en una percep-

cion. Al utilizar la utilidad esperada como utilidad se aumenta el porcentaje

de cobertura y se disminuye la tasa de colision del robot cuando existe in-

certidumbre en el posicionamiento.

1.9. ALGORITMO GENERAL DE PLANIFICACION 11

1.9. Algoritmo General de Planificacion

El algoritmo propuesto para determinar el siguiente mejor estado/vista (SMEV)

se basa en generacion de candidatos y evaluacion de los mismos. La figura 1.4

muestra el diagrama de flujo de la reconstruccion junto con la planificacion del

SMEV. La evaluacion, que es el proceso mas costoso computacionalmente, se rea-

liza a traves de una serie de filtros. Los primeros filtros son posicionamiento y

registro. Despues se restringe el numero de candidatos a un conjunto pequeno.

A continuacion se planifican trayectorias a cada candidato desde el estado actual

del robot. En seguida se evalua la utilidad o la utilidad esperada, dependiendo de

si el posicionamiento es perfecto o existe error en el posicionamiento. Al final, se

ordenan los candidatos restantes y se determina el SMEV como el candidato con

mejor evaluacion.

1.10. Organizacion de la Tesis

El resto de la tesis se organiza de la siguiente forma. El capıtulo 2, Marco

Teorico, describe los fundamentos teoricos y la definicion del problema que se

aborda en la tesis. El capıtulo 3, Trabajo Relacionado, hace una revision de los

trabajos cercanos; tres areas son tratadas, reconstruccion de objetos, exploracion

de ambientes e incertidumbre en la planificacion de movimientos. El capıtulo 4,

Modelo del Ambiente y Modelo de Percepcion, describe la forma en que se repre-

senta la informacion y describe el algoritmo de trazado de rayos para aproximar

la visibilidad de una vista. El capıtulo 5, Planificacion del Siguiente Mejor Es-

tado/Vista describe el algoritmo general de planificacion, y tambien describe la

funcion de utilidad con la que se evaluan las vistas. El capıtulo 6, Planificacion

bajo Incertidumbre, describe la forma de evaluar una vista cuando existe error

de posicionamiento en el robot; para ello se utiliza la utilidad esperada. La uti-

lidad esperada se inserta en el algoritmo general, descrito en el capıtulo 5, para

12 CAPITULO 1. INTRODUCCION

Figura 1.4: Diagrama de flujo del proceso de reconstruccion tridimensional deobjetos y planificacion del siguiente mejor estado/vista (SMEV). El algoritmo deplanificacion se basa en generar estados candidatos y evaluarlos a traves de unaserie de filtros. Los primeros filtros aplicados son los que tienen un menos costocomputacional. Para finalizar la evaluacion, si existe posicionamiento perfecto secalcula la utilidad simple, de lo contrario, se calcula la utilidad esperada.

1.10. ORGANIZACION DE LA TESIS 13

poder planificar vistas robustas a errores de posicionamiento. El capitulo 7, Expe-

rimentos, describe los experimentos realizados en simulacion y con un robot real.

Finalmente, el capıtulo 8, Conclusiones y Trabajo Futuro, cierra la tesis mencio-

nando las conclusiones de la investigacion y los caminos a seguir en el trabajo

futuro.

14 CAPITULO 1. INTRODUCCION

Capıtulo 2

Fundamento Teorico y

Establecimiento del Problema

En este capıtulo se definen formalmente los conceptos de la reconstruccion

tridimensional de objetos automatica y se establece el problema de la planificacion

del siguiente mejor estado/vista (SMEV). La notacion utilizada en su mayorıa

esta de acuerdo al libro de La Valle, “Planning Algorithms” [LaValle, 2006], y se

complementa con la notacion utilizada en [Torabi et Gupta, 2012].

La primer seccion, “Escena de reconstruccion”, define los elementos que in-

tervienen en la reconstruccion. Por ejemplo el objeto, el espacio de trabajo, el

robot, etc. Las siguientes secciones describen en detalle los primeros tres pasos del

proceso de reconstruccion tridimensional de objetos. Ver figura 2.1. El capıtulo

finaliza con el establecimiento del problema de planificacion del siguiente mejor

estado vista (SMEV).

Figura 2.1: El proceso de reconstruccion de objetos se descompone en cuatro pasos:posicionamiento del robot, percepcion, actualizacion del modelo y planificacion dela siguiente vista. El proceso se repite hasta que se alcanza un criterio de paro. A laejecucion de los cuatro pasos se denomina como una iteracion de la reconstruccion.

15

16CAPITULO 2. FUNDAMENTO TEORICO Y ESTABLECIMIENTO DEL PROBLEMA

2.1. Escena de Reconstruccion

La escena de reconstruccion consiste del espacio de trabajo, el objeto, el sensor

de rango y el robot. En los siguientes parrafos se define formalmente cada uno de

los elementos de la escena.

2.1.1. El Objeto y el Espacio de Trabajo

El espacio de trabajo, o espacio fısico, es un espacio euclidiano de tres dimen-

siones (3D) que se denota conW [LaValle, 2006],W = R3. El objeto es la entidad

fısica de la cual se desea generar una representacion tridimensional. Formalmente,

el objeto es un conjunto cerrado de puntos en el espacio de trabajo y se denota

como Wobj .

Suponemos que es posible generar un cubo delimitando el espacio donde se

encuentra el objeto. A dicho cubo se le llama cubo encapsulador y se denota como

Wbox ⊂ W. Suponemos que las dimensiones del cubo son conocidas. Siempre se

cumple que Wobj ⊆ Wbox

La region desconocida es la parte del espacio de trabajo que puede esconder

superficies del objeto de interes y se denota comoWunk. Al iniciar la reconstruccion

se cumple que Wunk =Wbox.

Suponemos que el espacio de trabajo es conocido, a excepcion de la region

desconocida. El espacio de trabajo puede contener otros objetos, que no son de

interes para la reconstruccion, pero el robot puede colisionar con ellos. Definimos

estos otros objetos como obstaculos del ambiente y se representan como Oenv. La

union de los obstaculos del ambiente, la region desconocida y el objeto se llama

region de obstaculos y se denota como O, es decir, O = Oenv ∪Wobj ∪Wunk. El

espacio de trabajo libre se denota como Wfree, tal que, Wfree =W \O.

2.1. ESCENA DE RECONSTRUCCION 17

2.1.2. El Sensor y el Espacio de Vistas

El sensor de rango es el dispositivo que permite adquirir la informacion geometri-

ca en tres dimensiones de la superficie del objeto. En esta tesis, representamos un

sensor de rango, D, con una tupla de tres elementos:

D = {D, v, R} (2.1)

donde cada elemento se define a continuacion.

El espacio que ocupa el sensor es un conjunto cerrado de puntos que se denota

por D ⊂ W. La configuracion extrınseca del sensor se llama vista y se denota con

v, dicha vista esta compuesta por seis parametros, v = [x, y, z, φ, θ, γ]T , donde x,

y y z indican la posicion y φ,θ y γ indican la orientacion del rayo director. φ indica

la rotacion sobre el eje x, θ indica la rotacion sobre el eje y y γ indica la rotacion

sobre el eje z. Todos los elementos de una vista se definen con respecto del marco

de referencia global. Al conjunto de todas las posibles vistas de un sensor se le

llama espacio de vistas y se denota como V. La figura 2.2(a) ilustra la vista de un

sensor.

Suponemos que el sensor tiene una geometrıa en perspectiva, donde hay un

solo origen para todos los rayos que pasan a traves del plano de la imagen. La

figura 2.2 (b) ilustra la geometrıa del sensor. El campo de vision del sensor (FOV

por sus siglas en ingles de field of view) esta determinado por un una piramide

descrita por un conjunto de rayos,

R = {ri|0 ≤ i < n; ri = [xi, yi, zi]T} (2.2)

donde xi,yi y zi son coordenadas en el espacio de trabajo.

Al intervalo entre la distancia mınima y maxima que el sensor puede percibir

se le denomina campo de profundidad. El cono de visibilidad (frustum) del sensor

es la interseccion del campo de vision y el campo de profundidad y se denota como

18CAPITULO 2. FUNDAMENTO TEORICO Y ESTABLECIMIENTO DEL PROBLEMA

X

z

y

α

β

γ

(x,y,z)

c

(a) Vista del sensor (b) Geometrıa del sensor

F(x)

(c) Cono de visibilidad (Frustum) del sensor

Figura 2.2: La figura a) muestra los parametros extrınsecos del sensor que de-terminan su posicion y orientacion. Una vista es una combinacion particular dedichos parametros extrınsecos. La figura b) muestra la geometrıa en perspecti-va del sensor donde hay un solo origen para todos los rayos que pasan a travesdel plano de la imagen. La figura c) ilustra en dos dimensiones el Frustum delsensor, F , determinado por la combinacion del campo de vista y del campo deprofundidad. Las superficies del objeto unicamente son visibles si estan dentro deF .

2.1. ESCENA DE RECONSTRUCCION 19

(a) Configuracion de un robot movil (b) Configuracion del brazo robotico Kata-na

Figura 2.3: La figura a) muestra los parametros de la configuracion de un robotmovil, q = (x, y, θ). La figura b) muestra los parametros de la configuracion delbrazo manipulador Katana, q = (θ1, θ2, θ3, θ4, θ5).

F(v). La figura 2.2 (c) ilustra en dos dimensiones el campo de profundidad.

2.1.3. El Robot, Espacio de Configuraciones y Espacio de

Estados

El robot es el dispositivo encargado de colocar el sensor de rango en la posicion

deseada. El robot esta determinado por un conjunto cerrado de puntos en el

espacio de trabajo y se denota como A, de tal forma que A ⊂ R3. Si el robot

no es articulado entonces A es un unico cuerpo rıgido. Si el robot es articulado,

entonces el robot es una coleccion de m cuerpos rıgidos, A = {A1, A2...Am}.

Una configuracion, q, del robot es una especificacion del estado fısico del robot

con respecto de un marco de referencia Fw fijo en el ambiente [Dudek et Jenkin, 2000].

En esta tesis se escribe q = [a1, a2 . . . an]T , donde n es el numero de grados de li-

bertad. La figura 2.3 ilustra las configuraciones de un robot movil y del brazo

robotico Katana. De acuerdo con [LaValle, 2006], para un robot de n grados de

20CAPITULO 2. FUNDAMENTO TEORICO Y ESTABLECIMIENTO DEL PROBLEMA

libertad, el conjunto de configuraciones posibles describe una variedad (traduci-

do del ingles manifold) de dimension n. A dicha variedad se le llama espacio de

configuraciones y se denota como C.

El espacio de configuraciones en colision, Cobs, se define como Cobs = {q ∈

C|A(q) ∩ O 6= ∅}. El conjunto de configuraciones que no esta en colision se le

llama espacio de configuraciones libre y se define como Cfree = C \ Cobs.

Un estado, x, del robot se define como x = (q, q), donde q es la primera

derivada de q. El estado puede incluir mayores derivadas, sin embargo esos casos

no son tratados en la tesis. El espacio de estados, X , es el conjunto de todos los

posibles estados del robot.

Cinematica Directa

El conjunto de puntos en el espacio de trabajo pertenecientes al robot para una

determinada configuracion, q, se denota como A(q). A(q) se obtiene transforman-

do (traslacion y rotacion) cada cuerpo rıgido del robot de acuerdo a la cinematica

directa del robot. Suponiendo que el robot esta compuesto por una cadena ci-

nematica de m cuerpos rıgidos, A = {A1,A2...Am}. La posicion en W de cada

punto a del i-avo cuerpo rıgido esta dada por la multiplicacion de las coordenadas

del punto por la matriz de transformacion homogenea que lo transforma al marco

de referencia global [Craig, 2005].

Ai = T0T1 . . . Ti−1

ai,x

ai,y

ai,z

1

(2.3)

donde Ti es una matriz de transformacion homogenea que describe la relacion

entre el cuerpo rıgido Ai con respecto de Ai−1. En caso de A1, T0 se define con

respecto del marco de referencia global. Una forma de obtener la matriz T es

2.2. POSICIONAMIENTO 21

mediante la definicion de Denavit-Hartenberg que incorpora como parametro la

configuracion del robot. Ver [Craig, 2005] para mas detalle.

Sensor Montado en el Robot

Una de las suposiciones de esta tesis, es que el sensor esta montado sobre

el efector final del robot manipulador. Ası que, suponemos que el ultimo de los

cuerpos rıgidos es el sensor, es decir Am = D.

Proyeccion de C a V

Definimos CD como una funcion de cinematica directa que proyecta una con-

figuracion del robot en una vista del sensor, es decir CD : C → V. CD se obtiene

directamente al multiplicar la posicion y orientacion del sensor por la matriz de

transformacion homogenea T = T0T1 . . . Ti−1 [Craig, 2005].

2.1.4. Definicion de Estado/Vista

Consideramos un estado/vista, como un estado tal que el sensor montado en el

efector final observa al objeto. Ademas, suponemos que el sensor de rango es capaz

de tomar una imagen de forma instantanea, sin que haya efectos de difuminado

causados por la velocidad. Esto nos permite evaluar el estado en el instante en

que se tomara la imagen de rango.

2.2. Posicionamiento

El posicionamiento consiste en colocar el robot en un estado/vista deseado.

Para ello, el robot se debe desplazar desde su estado actual hasta el estado deseado.

A continuacion se definen conceptos relacionados al posicionamiento.

22CAPITULO 2. FUNDAMENTO TEORICO Y ESTABLECIMIENTO DEL PROBLEMA

2.2.1. Control y Transicion de Estados

Suponemos que el robot es controlado por un conjunto de velocidades o ace-

leraciones que se aplica a cada grado de libertad (DOF por sus siglas en ingles

de degree of freedom). Al conjunto de velocidades o aceleraciones aplicadas se les

llama control y se denota como u ∈ U . En caso de que el conjunto de controles

sea finito, los controles se denominan primitivas de control.

Una funcion de entrada (control) del robot se define como u : [0, T ]→ U .

La variacion con respecto del tiempo del estado del robot esta gobernada por

la ecuacion de transicion de estados [LaValle, 2006]:

x = f(x, u) (2.4)

2.2.2. Caminos y Trayectorias

Una trayectoria es un camino continuo parametrizado en el tiempo τ : [0, T ]→

X que satisface las restricciones no holonomicas [LaValle et Kuffner, 2001]. Par-

tiendo de que el estado del robot cambia dependiendo del control de entrada,

u, ecuacion 2.4, la trayectoria, x(t), para t ∈ [0, T ] se determina a traves de la

integracion de 2.4.

τ(t) = x0 +

∫ t

0

f(x(t), u(t))dt (2.5)

Un camino es una funcion continua, ρ : [0, 1] → C. Cada punto del camino

esta dado por ρ(s) para algun s ∈ [0, 1]. Si existe una serie de estados particulares

que se son visitados en el camino, estos se definen como q1, q2, . . . . Note que un

camino se define unicamente en C sin necesariamente satisfacer las restricciones

no holonomicas.

2.3. PERCEPCION 23

2.3. Percepcion

La percepcion consiste en observar, con un sensor de rango, el objeto y adqui-

rir una nube de puntos que representa la superficie del objeto. El resultado de la

percepcion es una imagen de 212dimensiones, es decir, un conjunto de puntos 3D

con respecto del marco de referencia del sensor. El conjunto de puntos transfor-

mado al marco de referencia global se le llama nube de puntos y se denota con

ι.

ι = {pi|pi = [xi, yi, zi]T} (2.6)

donde x,y y z son coordenadas en R3

La nube de puntos adquirida en la i-esima iteracion se denota como ιi. En

relacion con el estado ,x , en que se hace una percepcion, la nube de puntos se

denota como ιx.

La nube de puntos acumulada despues de k percepciones se denota como P =⋃

i=1:k ιi.

Suponemos que los puntos que pertenecen al cubo encapsulador pertenecen al

objeto. La nube de puntos acumulada que pertenece al objeto es un subconjunto

de P se denota como Pobj .

2.3.1. Oclusiones

Las oclusiones, o areas de oclusion, son generadas cuando una superficie no

es vista debido a las limitaciones de la tecnica de percepcion utilizada o por la

posicion y orientacion del sensor. Por ejemplo, un sensor de rango activo genera

oclusiones en las areas en las cuales el rayo emitido no pudo hacer contacto con la

superficie. En la figura 2.4 se muestra las oclusiones generadas por un sensor de

rango. Los planos de oclusion se forman en la union de la superficie de oclusion

con el espacio vacıo.

24CAPITULO 2. FUNDAMENTO TEORICO Y ESTABLECIMIENTO DEL PROBLEMA

Figura 2.4: Las oclusiones o areas de oclusion estan determinadas por las areasque que no son observadas por un sensor de rango.

2.4. Actualizacion del Modelo

Una vez que se ha realizado una percepcion es necesario actualizar la represen-

tacion del objeto con la nueva informacion. La actualizacion consiste de los pasos

de registro, fusion y actualizacion de otras posibles representaciones del objeto. El

registro transforma (rotacion y traslacion) la reciente adquirida imagen de rango

para que coincida con la nube de puntos acumulada del objeto. El registro es

necesario por que el sistema de posicionamiento es imperfecto. La fusion consiste

en eliminar las partes redundantes del objeto y crear un solo modelo unificado.

La actualizacion de otras representaciones del objeto pude existir o no. Si solo

se utiliza una nube de puntos como representacion del objeto, entonces la fusion

es suficiente. Sin embargo, si existen otras representaciones tales como mapas de

voxeles o mallas triangulares, estas se actualizan con la imagen de rango adquirida

y registrada. Debido a que el registro es un proceso crıtico en la reconstruccion,

este se detalla en los siguientes parrafos.

2.4.1. Registro

El registro es un proceso importante dentro de la reconstruccion. En este paso

la nube de puntos mas reciente del objeto se transforma al marco de referencia

2.4. ACTUALIZACION DEL MODELO 25

global, de tal forma que los puntos comunes con el modelo acumulado coincidan.

Utilizando el odometro del robot es posible aproximar la pose real del sensor,

y por tanto alinear las nubes de puntos de forma burda, sin embargo esta ali-

neacion no es suficiente. Por lo tanto, se desea obtener la alineacion mas precisa

posible a partir de una alineacion burda, a este problema se le llama registro fino

[Salvi et al, 2007].

La finalidad del registro no es unicamente acomodar las superficies de forma

correcta, tambien se puede usar para re-localizar al robot. Un registro exitoso

provee una posicion mas certera del sensor, y por tanto del robot. Al utilizar

el registro como re-localizacion del robot, se reduce el error acumulado por el

deslizamiento de las llantas. A continuacion se describe un metodo de registro

fino ampliamente usado, el algoritmo Iterative Closest Point.

2.4.2. Algoritmo Iterative Closest Point

El Algoritmo Iterative Closest Point (ICP) fue propuesto por Besl y Mckay

[Besl et McKay, 1992], las entradas de ICP son: i) los puntos de la superficie de

origen (la imagen de rango adquirida), ii) los puntos de la superficie objetivo (la

nube de puntos acumulada del objeto) y iii) una transformacion 3D inicial que

alinea la superficie origen de forma burda con la superficie objetivo (provista por

el odometro del robot). ICP iterativamente refina la transformacion 3D a traves

de empatar puntos de una superficie con la otra, y minimizar una metrica de error.

Esto se repite hasta que una condicion se cumple, por ejemplo cuando el cambio

en la transformacion es muy pequeno.

Usualmente se usan dos metricas. Una se conoce como la metrica “punto a

punto” y la otra se conoce como metrica “punto a plano”. Sea s = [si,x, si,y, si,z, 1]T

la forma homogenea de un punto en la superficie fuente, t = [ti,x, ti,y, ti,z, 1]T la

forma homogenea de un punto en la superficie objetivo, n = [ni,x, ni,y, ni,z, 0]T

el vector normal unitario en t, y M una matriz de transformacion homogenea,

26CAPITULO 2. FUNDAMENTO TEORICO Y ESTABLECIMIENTO DEL PROBLEMA

entonces la metrica punto a punto es:

Epunto−a−punto =∑

i

(M · si − ti)2 (2.7)

y la metrica punto a plano es:

Epunto−a−plano =∑

i

((M · si − ti) · ni)2 (2.8)

No siempre se puede lograr un registro exitoso de las superficies. De acuer-

do con [Low, 2006], algunas de las causas que pueden impedir el registro de las

superficies son las siguientes:

Insuficiente traslape entre superficies.

Insuficientes caracterısticas de forma en las transformaciones de cuerpos

rıgidos tridimensionales. Por ejemplo, un plano, que no tiene puntos carac-

terısticos (curvas, picos, etc), puede alinearse con otro plano de multiples

formas, ya que uno rota sobre el otro sin que se aumente o disminuya la

metrica de error.

Errores de medicion demasiado grandes.

Error entre las poses iniciales demasiado grande.

2.5. Problema del Siguiente Mejor Estado/Vista

El problema abordado en esta tesis es determinar un estado del robot, x∗,

llamado siguiente mejor estado/vista, que maximice la cantidad de superficie re-

construida, minimice la distancia de navegacion con respecto del estado actual del

robot, xc, y satisfaga las siguientes restricciones:

1. Restricciones de Posicionamiento. x∗ debe ser libre de colision, es decir,

2.5. PROBLEMA DEL SIGUIENTE MEJOR ESTADO/VISTA 27

x∗ ∈ Xfree. Al menos una trayectoria libre de colision, τ , que conecta xc y

x∗ es conocida.

2. Restriccion de Sensado. Las superficies a observar, contenidas en el espa-

cio desconocido, Wunk, unicamente seran visibles si estan dentro del campo

de vista y campo de profundidad del sensor definido por F(x∗).

3. Restriccion de Registro. La nube de puntos adquirida en x∗ debe ser

registrada con la nube acumulada. Por lo tanto, al menos un mınimo traslape

entre vistas es necesario. Es decir, ιx∗ ∩ Pobj 6= ∅, note que al momento que

x∗ es planificado Pobj solo tiene los puntos de las iteraciones previas.

28CAPITULO 2. FUNDAMENTO TEORICO Y ESTABLECIMIENTO DEL PROBLEMA

Capıtulo 3

Trabajo Relacionado

La planificacion de vistas abarca diversos problemas, todos ellos requieren

determinar una serie de configuraciones del sensor a fin de cubrir una espacio

determinado. Cada problema se forma a partir de la combinacion de tres variables:

el objetivo, la informacion acerca del objetivo y el sistema de posicionamiento. Los

objetivos pueden ser objetos o ambientes; la informacion del objetivo puede ser

nula, parcial o completa; y el sistema de posicionamiento puede ser fijo o movil.

En particular, esta tesis aborda el problema de encontrar una serie de vistas de

un robot manipulador movil que cubran la superficie de un objeto desconocido.

En este capıtulo se analizan los trabajos mas cercanos del area de planificacion de

vistas. El resto del capıtulo se organiza de la siguiente forma: Primero se describe

una posible clasificacion de los problemas de planificacion de vistas. Despues, se

analizan los trabajos de reconstruccion de objetos. En seguida se analizan algunos

trabajos acerca de la exploracion de ambientes. Despues se analizan los trabajos de

planificacion de movimientos con incertidumbre. Finalmente se hace un resumen

y analisis del trabajo relacionado.

29

30 CAPITULO 3. TRABAJO RELACIONADO

3.1. Clasificacion de la Planificacion de Vistas

La figura 3.1 muestra una posible clasificacion de la planificacion de vistas. La

primera division se basa en la informacion que se conoce del objetivo. Cuando se

conoce de forma parcial o completa el modelo se realiza una planificacion basada

en el modelo. El problema en esta planificacion es similar al problema de la galerıa

de arte, el cual se define como: dado un conjunto de paredes encontrar la mıni-

ma cantidad de guardias que puedan vigilar todas las paredes de la galerıa. Este

tipo de planificacion determina todas las vistas necesarias en una sola iteracion.

El lector puede consultar mas informacion acerca de los trabajos existentes en

[O’Rourke, 1987, Scott et al, 2003].

Cuando no se cuenta con informacion del objetivo se realiza una planificacion

no basada en el modelo. En el caso de reconstruccion de objetos, la informacion

disponible no va mas alla de la localizacion y posibles dimensiones del objeto.

En este caso no se puede hacer una planificacion de todas las vistas necesarias

en una sola iteracion, y utilizar un conjunto de vistas predeterminado puede ser

insuficiente debido a la variacion de tamano y forma de los objetivos. Por lo tanto,

la planificacion consiste en: determinar de forma iterativa las vistas que observen

la superficie del objetivo, donde en cada iteracion se determina una configuracion

del sensor llamada siguiente mejor vista (SMV).

Figura 3.1: Clasificacion de los algoritmos de planificacion de vistas.

Los trabajos existentes para reconstruccion de objetos se dividen en aquellos

3.2. RECONSTRUCCION DE OBJETOS 31

que utilizan sistemas de posicionamiento fijos (SPF) y los que usan sistemas de

posicionamiento movil. Los trabajos con SPF, que son la mayorıa, hacen uso

de escenarios especializados con maquinas de posicionamiento muy precisas, por

ejemplo coordinate measuring machines (CMMs) o brazos roboticos empotrados

en una base fija. Debido a las suposiciones hechas en los SPF, los algoritmos de

ese ambito no so directamente aplicables a los sistemas moviles, donde se hace

uso de robots de tipo diferencial o tipo carro.

3.2. Reconstruccion de Objetos

Durante mas de dos decadas se ha abordado el problema de planificacion de

vistas para reconstruccion 3D de objetos. La mayorıa de las investigaciones reali-

zadas se han enfocado en resolver el problema utilizando ambientes de reconstruc-

cion controlados con sistemas de posicionamiento fijo. Recientemente han surgido

investigaciones enfocadas a sistemas de posicionamiento movil donde se tienen

que satisfacer un mayor numero de restricciones. A continuacion se analizan los

principales trabajos de cada tipo.

3.2.1. Sistemas de Posicionamiento Fijo

En estos trabajos la siguiente mejor vista (SMV) solo busca incrementar la

superficie reconstruida. En la mayorıa de los casos no se necesita verificar las

restricciones de posicionamiento, dado que el ambiente es controlado, ni las res-

tricciones de registro, dado que el error de posicionamiento casi es nulo.

Entre los primeros trabajos esta el de Conolly [Connolly, 1985], un algoritmo

de busqueda, donde se representa el objeto con una rejilla de ocupacion octree y se

determina la siguiente vista con uno de dos algoritmos. El primero de ellos, llamado

planetarium, genera un conjunto de vistas candidatas alrededor del objeto. A este

conjunto tambien se le conoce como esfera de vistas. Las vistas candidatas son

32 CAPITULO 3. TRABAJO RELACIONADO

calculadas con una division uniforme de los paralelos y meridianos de una esfera

alrededor del objeto. Se toman imagenes de rango simuladas del modelo parcial y

se determina la siguiente mejor vista como aquella desde donde se “ve” la mayor

cantidad de area desconocida. Desafortunadamente este algoritmo planetarium es

demasiado lento por lo que el autor propuso el segundo algoritmo llamado normal.

El algoritmo normal toma en cuenta la cara de cada voxel que tiene adyacencia

con areas no vistas y con el espacio vacıo. Se hace una suma vectorial pesada de

las direcciones de cada cara y se obtiene la direccion de la vista. El algoritmo es

rapido, sin embargo no contempla las auto-oclusiones del objeto.

A partir del trabajo de [Connolly, 1985] siguieron varios trabajos que proponen

variaciones y mejoras, pero conservando el paradigma de generar vistas alrededor

del objeto para luego evaluarlas mediante una funcion de utilidad [Banta et al, 1995,

Banta et al, 2000, Garcıa et Velazquez, 1998, Massios et Fisher, 1998, Morooka et al, 1999,

Wong et al, 1999, Vasquez et al, 2009].

Una mejora notable fue la de Massios [Massios et Fisher, 1998], que propone

agregar un criterio de calidad. Este criterio busca que las superficies sean esca-

neadas de forma perpendicular. Sin embargo, el criterio entra en conflicto con el

criterio de observar la mayor area desconocida, debido a que cuando busca ob-

servar superficies de forma perpendicular se deja de observar nuevas superficies.

En recientes trabajos se ha complementado la calidad agregando la densidad de

puntos por unidad de superficie [Low et Lastra, 2007].

En general los algoritmos hasta ahora mencionados utilizan el paradigma de

busqueda, es decir, generan un conjunto de vistas candidatas y las evaluan. La

mayorıa de dichos algoritmos resuelvan las auto oclusiones del objeto. Sin embar-

go, tienen la desventaja de ser lentos. Por lo que, a la par surgieron algoritmos

basados en la superficie o tambien llamados de sıntesis.

Un algoritmo de sıntesis pionero en el area es el propuesto en [Maver et Bajcsy, 1993],

donde se utilizo un sensor de triangulacion y el posicionamiento se redujo a un

grado de libertad (giro del objeto). Se consideraron por separado las oclusiones

3.2. RECONSTRUCCION DE OBJETOS 33

ocasionadas por el sensor y las ocasionadas por objeto. La SMV se determina en

dos etapas. En la primer etapa se determinan, mediante un analisis de visibili-

dad, las partes ocluidas y los “arcos libres de oclusion”. En la segunda etapa se

forma un histograma con los arcos de visibilidad, para finalmente determinar la

SMV como el maximo valor del histograma. El metodo se limita al analisis de

cada imagen de rango (212dimensiones) y no del modelo 3D completo. Un meto-

do similar que agrega una etapa de rellenado de las superficies fue propuesto en

[Garcıa et Velazquez, 1998].

Han surgido tambien trabajos que combinan la sıntesis y la busqueda. Por

ejemplo, Banta y otros en [Banta et al, 1995, Banta et Abidi, 1996, Banta et al, 2000]

proponen un metodo que selecciona entre determinar una vista con el meto-

do de Maver [Maver et Bajcsy, 1993] o determinarla con el metodo de Connoly

[Connolly, 1985]. Cuando ninguna de las formas anteriores funciona se utiliza una

vista aleatoria hasta que se complete el modelo.

Trabajos recientes se han enfocado en reconstruccion de objetos utilizando

camaras monoculares, dado su bajo costo y facil implementacion en los robots

moviles. Estas camaras estiman la posicion y forma de los objetos mediante se-

guimiento de caracterısticas y optimizacion de parametros. En la serie de traba-

jos del grupo de vision de la Universidad de Jena y la Universidad de Erlangen,

Alemania [Wenhardt et al, 2006, Wenhardt et al, 2007, Trummer et al, 2010], se

propone el uso de modelos lineales estadısticos, en especial el E-Criterion. Con

este modelado calculan la SMV como aquella vista que reduce la incertidumbre

en la posicion de los puntos de la superficie observada. Sin embargo, esta tecni-

ca de planificacion carece de solucion para las auto oclusiones de los objetos, las

restricciones de posicion o las restricciones de sensado.

Pocos trabajos determinan la configuracion del robot y el camino para al-

canzarla. Torabi y Gupta en [Torabi et Gupta, 2012] proponen generar puntos

cercanos al borde de la nube de puntos del objeto, llamados target points. A

partir de esos target points y las restricciones del campo de vision del sensor

34 CAPITULO 3. TRABAJO RELACIONADO

se generan vistas candidatas, las cuales son evaluadas calculando su visibilidad.

Una vez determinada la vista, se obtiene la configuracion que empata con la

vista del sensor mediante cinematica inversa. El camino que sigue el robot pa-

ra alcanzar la trayectoria es determinado por un Probabilistic Road Map (PRM)

[Kavraki et al, 1996]. Kriegel y otros en [Kriegel et al, 2012] combinan dos enfo-

ques para determinar la SMV, un metodo basado en superficie y otro volumetrico.

Primero, se genera un conjunto de caminos candidatos sobre los bordes de la ma-

lla triangular del objeto. Despues, se utiliza un Rapidly-Exploring Random Tree

(RRT) [LaValle et Kuffner, 2001] para generar los caminos que observan los bor-

des de la malla triangular. En una segunda etapa evalua la ganancia de informacion

de cada camino en un octree probabilista. La SMV es la vista que maximiza la

ganancia de informacion.

La tabla 3.1 muestra un resumen de las caracterısticas de los algoritmos re-

visados en esta seccion. Las caracterısticas son: i) planificacion en el espacio de

vistas (seis grados de libertad), ii) planificacion en el espacio de estados del robot,

iii) generacion de la trayectoria para alcanzar el siguiente estado o vista, iv) cum-

plimiento del criterio de calidad v) satisfaccion de la restriccion de registro, vi)

sensado, vii) posicionamiento ix) planificacion robusta a la incertidumbre en el po-

sicionamiento x) reduccion la distancia de navegacion y xi) planificacion robusta

a la incertidumbre en la percepcion.

En resumen, ya sea utilizando metodos de sıntesis, busqueda o mixtos se puede

llegar, en la mayorıa de los casos, a una reconstruccion casi total del objeto, siem-

pre y cuando, la escena este controlada y se utilice un sistema de posicionamiento

fijo. Sin embargo, no es posible implementar estos algoritmos de forma directa en

sistemas de posicionamiento movil, debido a las fuertes suposiciones que se hacen.

3.2.RECONSTRUCCIO

NDEOBJETOS

35

Referencia Tecnica Planif.enV

Planif.enX

Planif.detrayectorias

Calidad

del

modelo

Res.deRegistro

Res.deSensado

Res.dePos.

Incertidumbre

enPos.

Dist.deNavegacion

Incert.en

Percepcion

[Connolly, 1985] Basado en busqueda. P - - - - P - - - -[Maver et Bajcsy, 1993] Sıntesis basada en la super-

ficie.P - - - - P n/a - - -

[Massios et Fisher, 1998] Basado en busqueda. P - - S - P - - - -[Banta et al, 1995,Banta et Abidi, 1996,Banta et al, 2000]

Combinacion de busqueda ysıntesis.

P - - - - S - - - -

[Garcıa et Velazquez, 1998] Basado en busqueda. P - - - - P - - - -[Wong et al, 1999], Basado en busqueda. P - - - - P - - - -[Wenhardt et al, 2006,Wenhardt et al, 2007]

Optimizacion de parame-tros para reducir incerti-dumbre.

P - - - - S - - - S

[Vasquez et al, 2009] Basado en busqueda. P - - S S S - - P -[Trummer et al, 2010] Optimizacion de parame-

tros para reducir incerti-dumbre.

P - - - - P - - - S

[Torabi et Gupta, 2012] Sıntesis y cinematica inver-sa

S - - - S S S - - -

[Kriegel et al, 2012] Sıntesis y Ganancia de In-formacion

S - S - S S S - - S

Tabla 3.1: Algoritmos de planificacion para sistemas de posicionamiento fijo. La tabla muestra las caracterısticas de losalgoritmos revisados. “S” indica que la restriccion o caracterıstica es satisfecha, “P” indica que se satisface de forma parcialy “-” indica no satisfecha. “n/a” indica que no aplica en el esquema propuesto.

36 CAPITULO 3. TRABAJO RELACIONADO

3.2.2. Sistemas de Posicionamiento Movil

En los ultimos anos ha aumentado el interes por los robots de servicio, como

muestra la competencia RoboCup@Home (http://www.robocupathome.org/). De

la mano del interes en los robots de servicio, se han desarrollado algoritmos de

planificacion de vistas para robots moviles. Estos algoritmos han tenido que en-

frentarse a nuevas dificultades. Entre las nuevas dificultades esta la incertidumbre

en el posicionamiento que tiene consecuencias negativas en el registro del mode-

lo [Besl et McKay, 1992] y disminuye la cobertura. A continuacion se revisan los

trabajos de planificacion de vistas aplicados a robots moviles.

El grupo de trabajo del laboratorio Franco-Japones CNRS-AIST ha desarrolla-

do un algoritmo de planificacion de vistas para robots humanoides [Stasse et al, 2007,

Foissotte et al, 2008, Foissotte et al, 2009]. El algoritmo determina la siguiente

mejor vista como aquella que cumple las restricciones del robot (altura del ro-

bot, distancia al objeto y rotacion del sensor de acuerdo al robot) y asegura una

cantidad mınima de marcas naturales visibles. Sus aportaciones radican en el

modelado de una funcion de utilidad diferenciable de acuerdo a las restricciones

del robot, y en la utilizacion del metodo de optimizacion NEWUOA. El meto-

do NEWUOA puede encontrar el mınimo de una funcion objetivo por medio de

refinar una aproximacion cuadratica. El metodo converge rapido y proporciona

vistas adecuadas. Sin embargo, cuando se compara su metodo con un metodo de

muestreo y evaluacion resulta que el muestreo da mejores resultados. Los autores

concluyen que una buena solucion es primero determinar un candidato mediante

el muestreo y evaluacion, para despues refinar el candidato mediante su metodo

de optimizacion.

Zhang y otros desarrollaron un algoritmo de planificacion para plataformas

moviles de bajo costo [Zhang et al, 2009, Zhang et al, 2010]. El objetivo de la

planificacion es encontrar una vista que contenga suficientes caracterısticas natu-

rales (esquinas 3D) para asegurar el registro. Primero se determinan las normales

3.3. EXPLORACION DE AMBIENTES 37

de la superficie y se extraen las marcas. En seguida se realiza una extension de la

superficie que contiene un mınimo de marcas. Finalmente, se determina la SMV

de tal forma que apunte a la superficie extendida. El procedimiento es rapido, con

tiempo de procesamiento promedio en el orden de segundos. Sin embargo, no se

resuelven las auto oclusiones y el algoritmo de registro, ICP, podrıa fallar dado

que no se contempla el error de posicionamiento.

Krainin y otros [Krainin et al, 2011] propusieron un metodo en que el robot

sujeta el objeto y lo mueve dentro del campo de vision del sensor. Los candidatos se

evaluan con un compromiso entre la utilidad de la vista y el costo del movimiento.

Sin embargo, el robot podrıa no tener la habilidad de sujetar el objeto, o el objeto

podrıa estar inhabilitado para ser movido, como es el caso de obras de arte o

piezas historicas.

En resumen, los algoritmos propuestos para reconstruir objetos con robots

moviles delegan el error de posicionamiento a la etapa de registro. Sin embargo,

los algoritmos de registro funcionan con margenes de error limitados. Ademas, los

algoritmos no proponen estrategias para aumentar la cobertura que se ve dismi-

nuido por el error. Por otro lado, unicamente en [Krainin et al, 2011] se propone

una forma para evaluar la distancia que se requiere para hacer las percepciones,

sin embargo, esta en terminos del brazo robotico y no para el robot manipulador

movil completo. La tabla 3.2 muestra un resumen de las caracterısticas de los

algoritmos presentados en esta seccion.

3.3. Exploracion de Ambientes

La informacion acerca del ambiente es muy valiosa para un robot. Gracias a

ella es posible realizar tareas de navegacion, evasion de obstaculos, reconocimiento

de lugares, etc. Se pueden generar al menos dos tipos de representaciones del

ambiente: i) un mapa bi-dimensional o ii) un mapa tridimensional. Para generar

cualquiera de las dos representaciones se requiere tomar varias percepciones desde

38CAPIT

ULO

3.TRABAJO

RELACIO

NADO

Referencia Tecnica Planif.enV

Planif.enX

Planif.detrayectorias

Calidad

del

modelo

Res.deRegistro

Res.deSensado

Res.dePos.

Incertidumbre

enPos.

Dist.deNavegacion

Incert.en

Percepcion

[Stasse et al, 2007,Foissotte et al, 2008,Foissotte et al, 2009]

Optimizacion de la fun-cion de utilidad mediante elmetodo NEWUOA

S - P - S P S - - -

[Zhang et al, 2009,Zhang et al, 2010]

Sıntesis de la SMV median-te el analisis de la superficieobservada.

S - P - S S - - - -

[Krainin et al, 2011] Sujecion del objeto y plani-ficacion del giro del objeto.

S S - - - S n/a n/a S -

Tabla 3.2: Planificacion para de vistas para sistemas de posicionamiento movil. La tabla muestra las caracterısticas delos algoritmos revisados. “S” indica que la restriccion o caracterıstica es satisfecha, “P” indica que se satisface de formaparcial y “-” indica no satisfecha. “n/a” indica que no aplica en el esquema propuesto.

3.3. EXPLORACION DE AMBIENTES 39

diferentes puntos de vista. El problema de determinar las vistas para explorar un

ambiente tiene la misma complejidad, NP-Duro, que el problema de reconstruccion

de objetos [Low, 2006].

Aunque el problema es similar al de reconstruccion de objetos, de acuerdo con

[Gonzalez-Banos et al, 1995] y [Surmann et al, 2003] las soluciones de un ambito

no pueden ser aplicadas directamente en otro. Dado que el objetivo es diferente

y las suposiciones que se hacen en unos trabajos no son aplicables en otro. Por

ejemplo, muchas tecnicas de planificacion para reconstruccion de objetos suponen

que el objeto esta en un espacio delimitado y en ambientes no ocurre eso.

En la exploracion de ambientes por lo general se utiliza un robot movil co-

mo sistema de posicionamiento. Por lo cual, existe incertidumbre en la posicion.

Ademas, tambien es importante reducir la distancia de navegacion. A continuacion

se revisan solo algunas de las muchas soluciones que existen para este problema.

Para facilitar el analisis se muestra la tabla 3.3 y los trabajos se clasificaron en:

exploracion 2D y reconstruccion 3D.

3.3.1. Exploracion 2D de ambientes

El objetivo de la exploracion es generar una representacion bi-dimensional

del ambiente. Comunmente el robot tiene que navegar y al mismo tiempo cons-

truir la representacion, a lo que se le llama el problema de mapeo y localizacion

simultanea (SLAM por las siglas en ingles de Simultaneos Localization and Map-

ping) [Thrun et al, 2005]. Sin embargo, a diferencia del SLAM, el problema que se

analiza en esta seccion es ¿a donde se tiene que posicionar el robot para completar

el mapa?.

Cuando existe informacion del ambiente, el problema es identico al de la ga-

lerıa de arte [O’Rourke, 1987]. Las soluciones tıpicas generan un conjunto de pun-

tos aleatorios y mediante verificar la visibilidad de cada punto se determina un

conjunto pequeno que observe toda la superficie [Gonzalez-Banos et al, 1995]. El

40 CAPITULO 3. TRABAJO RELACIONADO

conjunto pequeno es determinado con un algoritmo gloton que va seleccionando

cada vista, de tal forma que cada una vea la mayor cantidad de area desconocida.

Cuando no existe informacion disponible el problema se convierte en una

busqueda de la siguiente mejor vista. La solucion aquı por lo general es: determi-

nar un conjunto de puntos candidatos y despues seleccionar cual es el mejor para

posicionar el robot. La seleccion del mejor punto se hace mediante la evaluacion

de los candidatos con una funcion de utilidad.

En este tipo de trabajos se incorpora de forma parcial la incertidumbre en

posicionamiento, por que realiza un control de lazo cerrado, que les permite loca-

lizarse y restringir el error. En el caso de [Tovar et al, 2006], se propone reducir

la incertidumbre mediante una funcion de utilidad que valora mejor a cierto tipo

de movimientos que generan menos incertidumbre, como es el caso de moverse en

lınea recta.

3.3.2. Reconstruccion 3D de Ambientes

El problema de reconstruccion tridimensional de ambientes puede considerarse

como una extension a la exploracion 2D. En este caso, se tiene que planear la

posicion y la orientacion del sensor en el espacio 3D. El problema, cuando se

desconoce completamente el ambiente, consiste en determinar la siguiente posicion

dada la situacion actual del robot y el modelo. Nuestro analisis, resumido en la

tabla 3.3, evalua las caracterısticas de los algoritmos.

En [Sanchiz et Fisher, 1999] se propuso un algoritmo para la reconstruccion

de un ambiente con un robot con 5 grados de libertad. Satisface la restriccion

de registro, asegurando un traslape entre percepciones. Una extension al enfoque

fue el propuesto por Sanchiz y otros en [Lozano et al, 2002], donde propusieron

una funcion de utilidad que aseguraba un porcentaje de traslape especıfico, p.e.

20% de la imagen. Sin embargo, todavıa carecıa de las demas restricciones. Sur-

man y otros en [Surmann et al, 2003] desarrollaron un robot movil capaz de re-

3.4. PLANIFICACION DEMOVIMIENTOS EN CONDICIONES DE INCERTIDUMBRE41

construir un mapa 3D de un ambiente interior. La solucion para planificacion se

basa en el trabajo de Gonzalez y otros [Gonzalez-Banos et al, 1995]. Low y otros

[Low et Lastra, 2006] propusieron un algoritmo que se basa en generar vistas a

partir de las normales de pequenas piezas de la superficie, llamados parches, y

evaluarlas de forma eficiente. Su mayor contribucion esta en la funcion de utilidad

que proponen y en la forma de evaluar las vistas. La funcion de utilidad evalua si

una vista es alcanzable y si la superficie sera visible para el sensor, si la imagen

podra ser registrada. Ademas verifica que se cumpla el criterio de calidad del mo-

delo. Para evaluar las vistas propusieron una estrategia jerarquica de evaluar las

vistas. Su estrategia se basa en el concepto que llaman “coherencia espacial” que

basicamente dice que si una restriccion se cumple entre una vista v y un punto

de la superficie p, esta restriccion practicamente se cumple para otra vista v′ muy

cercana a v. Con esta idea agrupan vistas y puntos para hacer evaluaciones burdas

y si lo requieren separan los grupos para hacer evaluaciones finas.

Existe otro tipo de algoritmos, propuestos por Blaer et al [Blaer et Allen, 2006b,

Blaer et Allen, 2006a, Blaer et Allen, 2007], que se apoya en un mapa bidimen-

sional del ambiente para planificar las vistas 3D. Basandose en dicho mapa,

en una primera etapa planifican las vistas que cubren el espacio bidimensional

[Gonzalez-Banos et al, 1995]; de igual forma que el problema de la galerıa de ar-

te. En una segunda etapa completan las partes faltantes del modelo, generando

vistas candidatas de forma equidistante en el espacio 3D y utilizando una funcion

de utilidad.

3.4. Planificacion de Movimientos en Condicio-

nes de Incertidumbre

Existe una amplia gama de trabajos sobre planificacion de movimientos en con-

diciones de incertidumbre. Ellos se pueden clasificar en tres grupos [Berg et al, 2010]:

42CAPIT

ULO

3.TRABAJO

RELACIO

NADO

Referencia Tecnica Objetivo

Res.deRegistro

Res.deSensor

Res.dePos.

Incertidumbre

enPos.

Dist.deNavegacion

[Gonzalez-Banos et al, 1995] Muestreo y seleccion de conjunto mıni-mo de observacion

2D - P P - -

[Tovar et al, 2006] Muestreo y evaluacion con funcion deutilidad.

2D S S S P -

[Sanchiz et Fisher, 1999] Metodo volumetrico con busqueda Hill-climbing

3D P - S P -

[Lozano et al, 2002] Metodo volumetrico con busqueda Hill-climbing

3D P - S P -

[Surmann et al, 2003] Extension de la tecnica de exploracion2D

3D - P S P -

[Low, 2006] Metodo volumetrico con evaluacionjerarquica

3D S S S P -

[Blaer et Allen, 2007] Exploracion basada en el modelo ymetodo volumetrico

3D - S P - -

Tabla 3.3: Planificacion para exploracion de ambientes. La tabla muestra las caracterısticas de los algoritmos revisados.“S” indica que la restriccion o caracterıstica es satisfecha, “P” que es satisfecha de forma parcial y “-” indica no satisfecha.“n/a” indica que no aplica en el metodo propuesto.

3.4. PLANIFICACION DEMOVIMIENTOS EN CONDICIONES DE INCERTIDUMBRE43

i) incertidumbre en el movimiento, ii) incertidumbre en el sensado y observaciones

parciales del estado del robot y iii) incertidumbre en el ambiente. Debido a que

suponemos la ejecucion de control de lazo abierto y un ambiente que no cambia

en el tiempo, nos interesa unicamente la incertidumbre en el movimiento.

Los planificadores de movimiento que incluyen la incertidumbre de movimiento

normalmente hacen una seleccion del mejor camino basandose en una evaluacion

de los caminos disponibles. Algunos criterios de seleccion pueden ser menor incerti-

dumbre o menor probabilidad de colision. En [Melchior et Simmons, 2007] se pro-

pone una extension al Rapidly-Exploring Random Tree (RRT)[LaValle et Kuffner, 2001],

la cual modifica el RRT para que cada vez que crece el arbol (proceso de exten-

sion de nodos) se realicen varias simulaciones de la cinematica del sistema con un

parametro estocastico. El conjunto de simulaciones genera una serie de partıcu-

las que se agrupa dada una cierta medida de distancia. Al utilizar este tipo de

muestreo se cubre una mayor cantidad de posibles situaciones en las que puede

terminar el robot. En [Kewlani et al, 2009] se proponen diversas extensiones al

RRT mediante las cuales se seleccionan trayectorias que evaden terrenos agrestes.

La seleccion se hace mediante la incorporacion al RRT de modelos del terreno.

En [Huang et Gupta, 2009] se presenta un planificador de movimientos basado en

el Probabilistic Road Map (PRM) [Kavraki et al, 1996]. El planificador determina

el camino de longitud mınima que supera un umbral de probabilidad de colision.

En [Berg et al, 2010], los autores proponen utilizar un control lineal-cuadratico

con modelos Gausianos del movimiento para anticipar la distribucion sobre los

estados y determinar el mejor camino de una serie de candidatos.

Aunque se ha tratado de forma extensa el problema de planificacion de movi-

mientos con incertidumbre, en nuestro caso nos interesa el efecto que tendra dicha

incertidumbre sobre la reconstruccion ademas de las colisiones que pudieran ocu-

rrir. El metodo que proponemos se basa en la simulacion y generacion de muestras,

de forma parecida a un filtro de partıculas [Thrun et al, 2005], con la diferencia

que las muestras son utilizadas para determinar la utilidad en la reconstruccion

44 CAPITULO 3. TRABAJO RELACIONADO

de un estado/vista candidato.

3.5. Resumen

El problema de planificacion de vistas se ha abordado principalmente para de

obtener vistas optimas en terminos de cobertura; ya sea por metodos de sıntesis o

por busqueda. La mayorıa de los metodos no incorpora las restricciones de un robot

manipulador movil, como son posicionamiento y generacion de trayectorias libres

de colision. Los pocos metodos que incorporan la planificacion de movimientos

como parte de la planificacion de vistas no se preocupan de la incertidumbre en

el movimiento, dado que suponen posicionamiento perfecto o suponen que existe

un control que se encarga de eliminar la incertidumbre. Sin embargo, no siempre

es posible contar con la informacion que requieren estos metodos de control, la

cual va mas alla de la que proporciona el sensor que observa al objeto. Ademas,

dichos metodos utilizan cinematica inversa para determinar el estado del robot,

pudiendo caer en soluciones inalcanzables o en singularidades durante el calculo

de la cinematica inversa.

El metodo propuesto en esta tesis esta orientado a robots manipuladores movi-

les. Dicho metodo planifica directamente en el espacio de estados, evitando el

calculo de la cinematica inversa, incorpora la planificacion de movimientos del ro-

bot y propone un calculo de la visibilidad mediante un trazado de rayos jerarquico

que acorta el tiempo de procesamiento. Ademas, incorpora la incertidumbre tanto

de sensado como de posicionamiento, dado que se utiliza un representacion del

ambiente probabilista y se consideran controles estocasticos.

Capıtulo 4

Modelo de la Escena y Modelo de

Percepcion

El objetivo de planificar el siguiente mejor estado/vista es aumentar la canti-

dad de superficie reconstruida. Pero, como no se conoce a-piori el objeto, no se

puede saber de forma directa que movimiento aumentara la dicha superficie. Lo

que se hace, en cambio, es representar en un modelo de la escena que espacios se

han observado y que espacios faltan por observar. Despues, mediante una funcion

de visibilidad se estima cuanta superficie se podrıa observar desde una nueva vis-

ta. El modelo de la escena ademas de almacenar la informacion y determinar que

superficies son visibles, sirve para detectar posibles colisiones del robot.

En este capıtulo se describe el modelo de la escena ası como los metodos de

actualizacion, manejo de incertidumbre en la percepcion y calculo de la visibili-

dad. Una de las contribuciones de la tesis es un trazado de rayos jerarquico que

aproxima la visibilidad en un tiempo menor que un trazado de rayos uniforme.

4.1. Modelo de la Escena de Reconstruccion

Para representar la escena de reconstruccion se utilizan tres estructuras de

datos: i) una nube de puntos que representa el objeto reconstruido, ii) un octree

45

46CAPITULO 4. MODELO DE LA ESCENA Y MODELO DE PERCEPCION

(a) Escena de Reconstruccion. (b) Representacion de la escena por ma-llas triagulares.

(c) Representacion probabilista de la es-cena.

(d) Modelo del objeto

Figura 4.1: Representacion de la escena de reconstruccion.

4.1. MODELO DE LA ESCENA DE RECONSTRUCCION 47

con estimacion de ocupacion probabilista que determina que espacios han sido

observados y cuales faltan por observar y iii) una malla triangular que representa

la escena completa y se utiliza para detectar colisiones del robot. La figura muestra

como ejemplo una escena de reconstruccion y las diferentes estructuras de datos

utilizadas para representarla.

4.1.1. Nube de Puntos del Objeto

La superficie acumulada del objeto se almacena en una nube de puntos (Ver

definicion en el capıtulo 2). Esta estructura de datos facilita el registro, utilizando

el algoritmo Iterative Closest Points [Besl et McKay, 1992], y facilita la trans-

formacion a otro tipo de representaciones finales del objeto, por ejemplo mallas

triangulares.

4.1.2. Octree Probabilista

Un octree divide el espacio tridimensional en cubos y los organiza de forma

jerarquica en una estructura de arbol. El proceso para generar un octree es: pri-

mero, ajustar un cubo que cubra todo el volumen designado. Si se requiere mas

detalle del espacio, entonces, el cubo es dividido en ocho cubos iguales; los cuales

pueden ser divididos recursivamente hasta alcanzar la resolucion deseada. El cubo

mınimo de un octree se le llama voxel y su resolucion es la longitud de su lado.

Vea la figura 4.2.

El octree tiene una profundidad determinada por dmax, de forma analoga a la

profundidad de un arbol. Es posible disminuir la resolucion del octree mediante

la poda de hojas hasta un nivel de profundidad deseado. De tal forma que, una

particular instancia del octree,M , esmi, donde 0 < i < dmax indica la profundidad

del octree.

Para lidiar con la incertidumbre en el sensado, a cada voxel se le asigna un valor

de probabilidad de estar ocupado [Wurm et al, 2010]. Es decir P (n = ocupado)

48CAPITULO 4. MODELO DE LA ESCENA Y MODELO DE PERCEPCION

(a) (b)

Figura 4.2: Estructura de un octree. A la izquierda se muestra la division jerarquicadel espacio de tres dimensiones que genera un octree. A la derecha se muestra laestructura de arbol que organiza los cubos como nodos del arbol. Figuras tomadasde [Wurm et al, 2010].

que se lee la probabilidad de que el voxel n este ocupado. Esto convierte al octree

en un mapa de ocupacion probabilista u octree probabilista, que se denota con

M . Dependiendo de la probabilidad de estar ocupado, cada voxel se clasifica con

una de tres posibles etiquetas:

Ocupado. Indica que es muy probable que el espacio representado contenga su-

perficies.

Libre. Indica que la probabilidad de que haya superficies en ese volumen es baja.

Desconocido. No hay informacion suficiente para determinar si hay o no super-

ficie en ese volumen.

Cada etiqueta esta definida por un intervalo de probabilidad. En la implemen-

tacion realizada un voxel es desconocido si cae en el intervalo de probabilidad

[0.45, 0.55]. Si la probabilidad es mayor que el intervalo entonces esta ocupado.

Por el contrario, si la probabilidad es menor entonces el voxel se toma como libre.

El conjunto de voxeles desconocidos se denota con Munk. El conjunto de voxeles

4.2. MODELO DEL SENSOR Y ACTUALIZACION DEL OCTREE 49

ocupados de denota con Mocc. El conjunto de voxeles libres se denota con Mfree.

Todos los voxeles que caen dentro del cubo encapsulador del objeto se denotan

con Mbbox. Al principio de la reconstruccion todos los voxeles de Mbbox se etique-

tan con probabilidad a priori de 0.5, es decir se etiquetan como desconocidos. La

figura 4.3 muestra varios ejemplos de la representacion del ambiente.

Trazado de Rayos

Una de las funciones mas utilizadas en un octree es el trazado de rayos, que

consiste en “lanzar” un rayo desde un punto inicial hacia una direccion arbitraria

y determinar los voxeles que en el camino son atravesados. La figura 4.4 ilustra el

trazado de un rayo dentro de un octree. Existen diversos algoritmos para realizar el

trazado de rayos. El algoritmo de Amanatides [Amanatides et Woo, 1987] es uno

de los mas empleados debido a que es uno de los que requiere menos operaciones.

4.1.3. Malla Triangular de la Escena

El modelo de la escena por mallas triangulares incorpora la informacion geometri-

ca de la escena. En este modelo se incluye i) el ambiente, que suponemos conocido,

ii) el robot, formado por un conjunto de cuerpos rıgidos y cuya pose depende de

la configuracion del robot, y iii) un conjunto de cubos que representan los voxeles

ocupados y desconocidos del octree.

4.2. Modelo del Sensor y Actualizacion del Oc-

tree

El modelo directo del sensor indica la probabilidad de una lectura dado el

estado de un voxel y se especifica como P (z|n). La lectura puede ser una de

dos, z = {libre, ocupado}. Mientras que el estado del voxel puede ser uno de dos

n = {libre, ocupado}, no confundir estado del voxel con las etiquetas de un vo-

50CAPITULO 4. MODELO DE LA ESCENA Y MODELO DE PERCEPCION

(a) (b)

(c) (d)

Figura 4.3: Ejemplos de la representacion del ambiente. La figura a) muestra lanube de puntos generada despues de una percepcion. La figura b) muestra losvoxeles ocupados correspondientes al espacio ocupado por la nube de puntos. Lafigura c) muestra la estructura del octree. La figura d) muestra con diferentescolores las etiquetas asignadas a los voxeles dentro del cubo encapsulador, enazul los voxeles ocupados, en amarillo los voxeles desconocidos y en gris voxelesocupados que no estan dentro del cubo encapsulador. La figura se visualiza mejoren colores.

4.2. MODELO DEL SENSOR Y ACTUALIZACION DEL OCTREE 51

Figura 4.4: Trazado de Rayos. El trazado de rayos consiste en “lanzar” un rayodesde una posicion inicial hacia una direccion arbitraria y determinar los voxelesque son atravesados.

xel que solo se utilizan para nombrar un voxel con base en su probabilidad de

estar ocupado. El modelo inverso del sensor es P (n|z) y se lee como la probabi-

lidad de ocupacion de un voxel dada una lectura. La distribucion sobre el estado

del voxel se considera conocida dado el sensor. Es decir P (ocupado|ocupado) y

P (ocupado|libre) son valores conocidos.

Cuando existe mas de una observacion el modelo inverso del sensor estima la

distribucion sobre la variable de estado del voxel como una funcion de las lecturas.

Es decir, la probabilidad P (n, z1:t), que se lee como la probabilidad de un voxel n

de estar ocupado dadas las observaciones z1:t es estimada de acuerdo con:

P (n, z1:t) =

[

1 +1− P (n|zt)

P (n|zt)

1− P (n|z1:t−1)

P (n|z1:t−1)

P (n)

1− P (n)

]

−1

(4.1)

La probabilidad de ocupacion, ecuacion 4.1, surge de la formulacion de un

filtro de Bayes [Thrun et al, 2005]. Dado que la variable de estado es binaria y

que la probabilidad a priori es uniforme (P (n) = 0.5), si se utiliza la notacion

logOdds [Thrun et al, 2005], la ecuacion 4.1 se simplifica a la ecuacion 4.2 que se

52CAPITULO 4. MODELO DE LA ESCENA Y MODELO DE PERCEPCION

conoce como filtro de Bayes binario.

P (n, z1:t) = L(n|z1:t−1) + L(n|zt) (4.2)

donde L indica el logOdds ratio que se define como la probabilidad de un evento

dividida por la probabilidad de su complemento,

L(n) =P (n)

1− P (n)

.

Con cada observacion, unicamente las hojas del octree son actualizadas con el

modelo inverso del sensor, los nodos intermedios del octree se actualizan con la

maxima probabilidad de ocupacion, ecuacion (4.3), que proporciona una estrategia

mas conservadora que otras formas, por ejemplo ocupacion promedio.

p(n) = maxi

P (ni) (4.3)

donde ni son los hijos del nodo n.

4.2.1. Actualizacion con una Imagen de Rango

Despues de cada percepcion (captura de una imagen de rango) el octree es

actualizado. Es decir, las probabilidades y las etiquetas del octree son actualizadas,

para despues actualizar la malla triangular del octree.

El proceso de actualizacion del octree es el siguiente: supongamos que se ha

hecho una percepcion y se ha adquirido una nube de puntos, ι. Para cada punto

p de la nube, un rayo es trazado dentro del octree desde la posicion del sensor

hasta p, de acuerdo al algoritmo de Amanatides [Amanatides et Woo, 1987]. Ver

figura 4.4. Todos los voxeles atravesadas por el rayo son actualizados. El ultimo

voxel donde se observo la superficie supone una lectura z = ocupado, y para

todos los voxeles intermedios se supone una lectura z = libre. Dadas las lecturas

4.3. CALCULO DE LA VISIBILIDAD 53

se actualiza la probabilidad de ocupacion de cada voxel con el modelo inverso,

ecuacion (4.1).

4.3. Calculo de la Visibilidad

Calcular la visibilidad significa determinar que superficies son visibles desde

una vista del sensor, cumpliendo con las restricciones del sensor: campo de vista

y profundidad de vista. Calcular la visibilidad en el octree se refiere a determinar

los voxeles que son visibles desde una vista dada, es decir que entre el voxel y la

posicion del sensor solo hay espacio vacıo.

La forma de calcular la visibilidad es mediante un trazado de rayos, el cual

simula la percepcion de una imagen de rango dentro del octree. Usualmente un

trazado de rayos uniforme (URT) se utiliza para calcular la visibilidad; en el

URT se trazan dentro del octree todos los rayos, R, del sensor (de acuerdo a la

definicion del sensor en la seccion 2.1.2). La figura 4.5(a) muestra el ejemplo de

un trazado de rayos uniforme. Cada rayo pasa a traves de varios voxeles hasta

que un voxel ocupado o desconocido es “tocado”. El conjunto de voxeles que

estan en el camino de cada rayo es determinado por el algoritmo de Amanatides

[Amanatides et Woo, 1987].

Una vez que se ha calculado la visibilidad para una vista, v, se puede acceder

a i) el numero de voxeles ocupados que estan dentro del cubo encapsulador del

objeto y que son visibles desde v, denotado por oc(v), y ii) el numero de voxeles

desconocidos dentro del cubo encapsulador que son visibles desde v denotado con

unk(v).

4.3.1. Trazado de Rayos Jerarquico

Proponemos un trazado de rayos que inicia trazando un conjunto de baja

densidad de rayos en un octree burdo, es decir, un octree que ha sido podado

54CAPITULO 4. MODELO DE LA ESCENA Y MODELO DE PERCEPCION

(a) Trazado de rayos uniforme.Todos los rayos del sensor sontrazados en el octree.

(b) Rayos trazados especıfica-mente para cubrir un octree

burdo.

(c) Rayos trazados en un oc-

tree mas fino solo para losvoxeles ocupados tocados.

Figura 4.5: Ejemplos de trazado de rayos uniforme y trazado de rayos jerarquico.En gris se muestran los voxeles desconocidos, en azul los voxeles ocupados y enblanco los voxeles vacıos.

hasta una determinada profundidad (Fig. 4.5(b)). Despues, si dentro de Mbbox

un voxel ocupado o desconocido es tocado, un conjunto de mayor densidad es

trazado en un octree mas fino. El nuevo conjunto de rayos trazado trata de cubrir

unicamente el volumen ocupado por el voxel que fue tocado.

4.3.2. Profundidad Inicial

La profundidad a la cual se inicia el trazado de rayos jerarquico se denota por

dinit, donde 0 < dinit ≤ dmax. Cuando dinit = dmax el trazado de rayos jerarquico

es igual a un trazado de rayos uniforme en la maxima profundidad, conforme dinit

decrece el numero de rayos iniciales que se traza disminuye. Como se vera en los

experimentos, disminuir dinit disminuye el tiempo de computo, sin embargo hay

un momento en que el tiempo deja de disminuir, debido a que el tiempo reducido

se compensa con el tiempo que toma volver a generar los rayos.

4.3.3. Arbol de rayos

Para mantener organizados los rayos que se deben trazar en cada profundidad

del octree utilizamos una estructura de arbol. Cada nivel del arbol de rayos corres-

4.3. CALCULO DE LA VISIBILIDAD 55

ponde a una determinada profundidad del octree. Ver figura 4.6. A continuacion

se detalla la estructura.

Profundidad dmax

Profundidad 0...

...

...

Rd_init

Rd_max

Profundidad dinit

OctreeÁrbol de Rayos

Nivel 1

Nivel 0

Nivel dmax-dmin + 1

...

...

Figura 4.6: Trazado de rayos jerarquico. El objeto se representa con un octree deresolucion variable (a la derecha de la figura). Los rayos que se van a trazar seorganizan en un arbol (a la izquierda de la figura), cada nivel del arbol de rayoscorresponde a una resolucion del octree.

Rayos para cada Profundidad

Para cada nivel de profundidad del octree se calcula un conjunto de rayos que

representa un sensor adecuado para esa resolucion. Tal conjunto tiene la misma

apertura del sensor, pero, los rayos estan separados de acuerdo al tamano de voxel

de esa resolucion.

Dados un nivel de profundidad, i, tal que dinit ≤ i ≤ dmax; la resolucion

(tamano de voxel) de esa profundidad, li; las aperturas horizontales y verticales

del sensor, ah y av; y el campo de profundidad maximo lDOV . El conjunto de rayos

para esa profundidad, Ri, se calcula con la ecuacion (4.4).

Ri = {−→r (m,n)|

−→r (m,n) = [x(m,n), y(m,n), z(m,n)]T} (4.4)

56CAPITULO 4. MODELO DE LA ESCENA Y MODELO DE PERCEPCION

donde el numero de renglones, m, de la imagen esta limitado por

0 ≤ m <av

arcsin lilDOV

y el numero de columnas, n, en la imagen esta limitado por

0 ≤ n <ah

arcsin lilDOV

Las componentes de cada rayo se calculan como sigue (suponiendo un sistema

de coordenadas de mano derecha y un sensor que apunta hacia el eje positivo z):

x(m,n) = cos βm sinαn

y(m,n) = sin βm

z(m,n) = cos βm cosαn

βm = −av2+m ∗ arcsin li

lDOV

αn = −ah2+ n ∗ arcsin li

lDOV

Organizacion del Arbol

El arbol de rayos esta organizado de tal forma que sea posible reemplazar un

rayo por un conjunto de rayos de mayor densidad en el espacio que ocupaba el

rayo original. A continuacion se describen las reglas para formar el arbol de rayos.

Un nodo, nj , esta formado por una tupla de cuatro elementos:

nj = (−→rj , pj, Cj, lfj) (4.5)

donde −→rj es el vector unitario del rayo, pj es una referencia a su nodo padre,

Cj es un conjunto de referencias a sus nodos hijo, y lfj es el numero de hojas

de nj .

El nodo raız del arbol, nroot, contiene el rayo director del sensor.

4.4. DETECCION DE COLISIONES 57

El nivel k del arbol, tal que 0 < k ≤ dmax − dinit + 1, esta compuesto por

un conjunto de nodos, tal que, los nodos incluyen los rayos Rdinit+k (ver

ecuacion 4.4).

A excepcion de la raız, para cada nodo, nj, su padre, pj, es el nodo del nivel

superior tal que la distancia entre rayos es la menor. La distancia se calcula

como el angulo formado entre los dos rayos. Si existen distancias iguales con

varios nodos del nivel superior, entonces el padre es seleccionado de forma

arbitraria. De forma recıproca, a la lista de hijos del padre seleccionado se

le agrega una referencia a nj.

4.3.4. Algoritmo de Trazado de Rayos Jerarquico

El trazado de rayos jerarquico determina la cantidad de cada tipo de voxeles

que es visible desde una vista del sensor. Los datos de entrada son la vista, el

octree, la profundidad inicial y el nodo raız del arbol de rayos. A continuacion

se describe el trazado, resumido en el algoritmo 1. Primero, se traza cada ra-

yo hijo del nodo raız en el octree en la profundidad inicial (linea 2). La funcion

CastRayInAtDepth() lanza el rayo y regresa el voxel que fue tocado, ya sea ocu-

pado o desconocido. Si el voxel tocado esta dentro del cubo encapsulador y se

alcanzo la profundidad maxima entonces se incrementa el numero de voxeles to-

cados, ya sea desconocido u ocupado. En caso contrario, si el voxel esta dentro del

cubo encapsulador pero no se ha alcanzado la profundidad maxima, entonces, un

nuevo trazado de rayos es hecho en la siguiente profundidad (linea 11). El proceso

se repite de forma recursiva hasta alcanzar la maxima profundidad del octree.

4.4. Deteccion de Colisiones

Un requerimiento para planificar el SMEV es asegurar que no habra colisiones

con el ambiente. Una forma de verificar colisiones es mediante el algoritmo de

58CAPITULO 4. MODELO DE LA ESCENA Y MODELO DE PERCEPCION

Algoritmo 1: Trazado de Rayos Jerarquico. HRT(v,M ,depth,rayNode). Es-ta funcion determina cuantos voxeles de cada tipo son visibles desde unavista. Los parametros de entrada son: la vista v, el octree M , la profundidadinicial depth, el nodo raız del arbol de rayos rayNode. La salida es un vectorcon la cantidad de voxeles de cada tipo A = {occupied, unknown}.

Data: v, M , depth, ninit

Result: AA← [0, 0];1

foreach n ∈ ninit.C do2

voxel ← CastRayInAtDepth(n.r, M , depth);3

if voxel ∈Mbbox then4

if depth = dmax then5

if isOccupied(voxel) then6

Incrementar A.occupied;7

if isUnknown(voxel) then8

Incrementar A.unknown;9

else10

Atemp ← HRT( v, M , depth+ 1, n);11

A← A+ Atemp;12

Regresar A;13

proximidad propuesto por Larsen [Eric Larsen et Manocha, 2000]. El algoritmo

de Larsen necesita que los objetos, robot y ambiente, sean representados por

una malla triangular. En esta tesis se implementan los eslabones del robot y el

sensor como un cuerpo rıgido representado por una malla triangular. Utilizando

la funcion de cinematica directa, se traslada cada eslabon a la posicion que le

corresponde. La figura 4.7 muestra la malla triangular utilizada para representar

la base movil del robot utilizado en los experimentos. La malla triangular del

ambiente se genera a partir del octree. Para cada hoja del octree se genera un

cubo representado por 12 triangulos. La dimension de cada cubo corresponde a la

resolucion del octree.

Dado que se hara mencion de la deteccion de colisiones en los siguientes capıtu-

los, se define la funcion CollisionFree(q,M) : C → {0, 1} como una funcion de

deteccion de colisiones que devuelve 1, si el robot en la configuracion q esta libre

4.5. RESUMEN 59

Figura 4.7: Malla triangular del robot movil. La deteccion de colisiones se realizaentre mallas triangulares. En la figura se muestra la malla triangular usada pararepresentar el robot movil.

de colision consigo mismo y con respecto de los voxeles ocupados o desconocidos,

es decir A(q) ∩ (Munk ∪Mocc) = ∅. De lo contrario la funcion regresa 0.

4.5. Resumen

En este capıtulo se establecio el modelo de la escena conformado por un octree

probabilista y una malla triangular. Se describio el modelo de integracion de las

lecturas que determina la probabilidad de ocupacion de los voxeles del octree.

Ademas, se presento un algoritmo de trazado de rayos jerarquico que aproxima

de forma rapida la visibilidad dentro del octree. El algoritmo de trazado de rayos

jerarquico es una de las contribuciones de esta tesis y se encuentra publicado en

[Vasquez et al, 2013]. En el capıtulo 7 seccion 7.1.3 se presentan los experimentos

que miden el desempeno del trazado de rayos en la reconstruccion de objetos. En el

capıtulo siguiente, capıtulo 5, se presenta el algoritmo general para la planificacion

del siguiente mejor estado/vista.

60CAPITULO 4. MODELO DE LA ESCENA Y MODELO DE PERCEPCION

Capıtulo 5

Planificacion del Siguiente Mejor

Estado/Vista

Uno de los retos de la reconstruccion tridimensional de objetos automatica es

determinar las vistas del sensor desde donde se toma una imagen de rango del

objeto. En particular, el problema tratado en esta tesis (definido en la seccion

2.5) es determinar el estado del robot desde donde se tomara la imagen de rango

y al mismo tiempo generar una trayectoria que lleve al robot a dicho estado.

En este capıtulo se explica el algoritmo propuesto para determinar el siguiente

mejor estado/vista (SMEV), junto con su trayectoria, cuando no hay error de

posicionamiento (en el capıtulo 6 se aborda el caso cuando existe error de posicio-

namiento). El algoritmo propuesto sigue el paradigma de busqueda (figura 5.1),

que consiste en generar un conjunto de estados candidatos, medir mediante un

criterio su grado de aporte a la reconstruccion y finalmente decidir cual candidato

se elige. Este paradigma ha permitido realizar la planificacion directamente en

el espacio de estados y satisfacer las restricciones del problema. Las contribucio-

nes del algoritmo propuesto estan en la etapa de la evaluacion de los candidatos;

dichas contribuciones son: i) una funcion de utilidad que evalua los aspectos de

percepcion ası como los aspectos de la planificacion de movimientos y ii) una

61

62 CAPITULO 5. PLANIFICACION DEL SIG. MEJOR ESTADO/VISTA

estrategia basada en filtros que facilita la evaluacion de multiples candidatos.

Figura 5.1: Paradigma basado en busqueda para planificar vistas.

El resto del capıtulo se organiza de la forma siguiente. La siguiente seccion

(5.1) establece la forma de asignar un valor numerico a una vista dadas sus carac-

terısticas. La seccion 5.2 explica el algoritmo por filtrado encargado de ejecutar

la funcion de utilidad en los candidatos y determinar el SMEV. La seccion 5.3

describe el procedimiento utilizado para resolver la planificacion de movimientos.

Aunque la planificacion de movimientos se encuentra inmersa en el algoritmo que

determina el SMEV, se le ha dado una seccion especial para explicar en detalle

los algoritmos utilizados y su configuracion. La seccion 5.4 establece el criterio

de paro utilizado en el algoritmo. La seccion final (5.5) realiza un analisis crıtico

sobre el tiempo de procesamiento, la convergencia y el compromiso entre eficiencia

y optimalidad.

5.1. Utilidad de un Estado/Vista Candidato

Dado que seguimos el paradigma de busqueda, la forma de discernir entre va-

rios estados cual de ellos es mas provechoso para la reconstruccion es mediante una

funcion de utilidad que le asigna un valor numerico a un estado/vista. La funcion

de utilidad que se propone evalua las restricciones del problema establecido en la

seccion 2.5. Dichas restricciones son aumentar la cantidad de superficie recons-

truida, reducir la distancia de navegacion requerida y satisfacer las restricciones

de sensado, posicionamiento y registro.

5.1. UTILIDAD DE UN ESTADO/VISTA CANDIDATO 63

5.1.1. Funcion de Utilidad

La funcion de utilidad, g, evalua a un estado de acuerdo a su aporte para la

reconstruccion tridimensional, g : X → R. Vea la ecuacion (5.1).

g(x) = pos(x)· reg(x)· sur(x)· dist(x) (5.1)

donde cada factor evalua una restriccion, a continuacion se describe cada factor.

Posicionamiento

El factor de posicionamiento, pos(x), es una una funcion definida como pos() :

X → {0, 1}. pos(x) es igual a 1 cuando collisionFree(x) = 1 y ademas se conoce

un camino libre de colision, ρ, desde el estado actual, xc, hasta x; de otra forma

pos(x) es igual a 0.

Registro

El factor de registro es una funcion definida como reg() : X → {0, 1}. El factor

reg() es igual a 1 si un mınimo porcentaje de traslape existe; de otra forma reg()

es igual a cero. Vea la ecuacion (5.2).

reg(x) =

1 ifoc(x)

oc(xv) + un(x)> h

0 otherwise

(5.2)

donde oc(x) y un(x) devuelven el numero de voxeles ocupados y el numero de

voxeles desconocidos respectivamente (funciones definidas en la seccion 4.3) y h

es un umbral.

Superficie Desconocida

Saber con antelacion que superficies ocluidas se descubriran desde una nueva

vista no es posible. Sin embargo, es posible estimarlas, suponiendo que existe una

64 CAPITULO 5. PLANIFICACION DEL SIG. MEJOR ESTADO/VISTA

correlacion entra las superficies ocluidas y el volumen desconocido.

Proponemos un factor que usa la superficie del volumen desconocido como

una estimacion de las superficies ocluidas. El factor propuesto, sur(q), se define

como una funcion sur(x) : X → [0, 1]. sur(q) evalua una vista dependiendo de

que tanta superficie del volumen desconocido es visible, vea la ecuacion (5.3).

sur(x) =un(x)

|Munk|(5.3)

donde |Munk| indica el numero de voxeles desconocidos dentro del octree.

Distancia

El factor de distancia, dist(x), evalua a un candidato de acuerdo a su distancia

con respecto del estado actual del robot, xc. El factor es una funcion dist() : X →

[0, 1]. Vea la ecuacion (5.4).

dist(x) =1

1 + Φ(xc, x)(5.4)

donde Φ es una medida de distancia entre xc y x. Φ debe medir el camino o la

trayectoria que sigue el robot. El camino seguido en la mayorıa de los casos no es

una linea recta, debido a que el robot tiene que evitar obstaculos o satisfacer las

restricciones no holonomicas del sistema. En esta tesis, se define Φ como la suma

de las distancias pesadas entre los nodos del camino ρ = {q0, q1...qm} que conecta

el estado/vista actual (q0 en el camino ρ) con el estado/vista candidato (qm en el

camino ρ). Ver ecuacion (5.5).

Φ(ρ) =m∑

i=1

n∑

j=1

wj(qi,j − qi−1,j)2 (5.5)

donde qi,j denota el elemento j-esimo de la configuracion i-esima del camino, n

el numero de grados de libertad del robot, m el numero de configuraciones y

wj un peso asignado al grado de libertad. Se ha asignado un peso a cada grado

5.2. ALGORITMO DE SIGUIENTE MEJOR ESTADO/VISTA 65

de libertad por que deseamos que algunos grados de libertad tengan menor o

mayor movimiento. Decidir cuales motores se mueven menos depende del esfuerzo

(energıa) que requieren o de su relacion con la incertidumbre en el posicionamiento.

En los experimentos se le asigno un mayor peso a la base movil con el fin de obtener

trayectorias en las cuales la base se moviera menos que el brazo.

5.2. Algoritmo de Siguiente Mejor Estado/Vista

En el paradigma de busqueda, el proceso mas costoso computacionalmente es

la evaluacion de los candidatos. Los factores de la funcion de utilidad se evaluan de

diversas formas y en diferentes espacios. Por ejemplo, la restriccion de visibilidad

se evalua en el octree mediante trazado de rayos, la verificacion de colisiones se

realiza a partir de mallas triangulares, la planificacion de movimientos se hace en

el espacio de estados, etc. Para aminorar el tiempo de procesamiento, se propone

un algoritmo para determinar la siguiente vista a traves de filtrado. La serie de

filtros elimina los candidatos no factibles quedando solo un conjunto reducido.

Del conjunto reducido se selecciona el siguiente mejor estado/vista como aquel

candidato con la mejor evaluacion. La figura 5.2 muestra el diagrama de flujo del

algoritmo. A continuacion se detallan los pasos de la planificacion del SMEV.

1. Generar candidatos. En cada iteracion un conjunto de estados/vista es

generado muestreando el espacio de estados con una funcion de distribucion

uniforme. Si el rayo director del sensor intersecta la esfera que encapsula al

objeto entonces se considera como candidato. El espacio de estados podrıa

ser muy grande y muchas muestras se podrıan necesitar para generar un

conjunto de estados util. Sin embargo, verificar si el rayo director apunta

a la esfera es de complejidad constante. En los experimentos realizados ge-

nerar diez mil estados candidatos toma menos de un segundo. A diferencia

de trabajos relacionados donde se genera un conjunto de vistas y despues,

mediante cinematica inversa, se determina la configuracion que empata con

66 CAPITULO 5. PLANIFICACION DEL SIG. MEJOR ESTADO/VISTA

Figura 5.2: Algoritmo para determinar el siguiente mejor estado/vista (SMEV).El algoritmo utiliza una serie de filtros para evaluar el conjunto de candidatos yse determinar el SMEV. Los procesos en blanco son procesos de la reconstruccion3D. Los procesos en gris son procesos de la planificacion del SMEV.

la vista, generar directamente los candidatos en el espacio de estados elimina

el calculo de la cinematica inversa y asegura que la pose del sensor esta en

el espacio alcanzable del robot.

2. Filtro de Posicionamiento. El filtro de posicionamiento evalua parcial-

mente el factor pos(x) de la funcion de utilidad. Aquı solo se evalua si la

configuracion, xq, esta libre de colision con la funcion collisionFree(xq).

La parte restante, verificar si existe un camino, se satisface en el proceso

de planificacion de movimientos. El filtro de posicionamiento se evalua pri-

mero por que la complejidad de la deteccion de colisiones, de acuerdo con

[LaValle et Kuffner, 2001], “es practicamente constante”.

3. Calculo de visibilidad. En este proceso se determinan las cantidades de

voxeles visibles desde un estado/vista candidato, las cuales se utilizan en

5.2. ALGORITMO DE SIGUIENTE MEJOR ESTADO/VISTA 67

los siguientes filtros. El calculo se hace mediante un trazado de rayos en el

octree. Para reducir el tiempo de computo proponemos utilizar el trazado

de rayos jerarquico, definido en la seccion 4.3.

4. Filtro de registro. Aquı se evalua si una vista candidata satisface el factor

de registro, reg() de la funcion de utilidad. Las vistas que no lo satisfacen

son eliminadas.

5. Evaluar Superficie. En este proceso se evalua el factor sur() de la funcion

de utilidad. A cada candidato, se le asigna de forma temporal esta evalua-

cion. Despues del proceso de planificacion de movimientos se completa la

evaluacion con el calculo del factor de distancia.

6. Seleccionar Subconjunto de Candidatos. Hasta este punto el numero

de candidatos podrıa ser muy grande. Planificar una trayectoria para ca-

da candidato podrıa ser muy costoso. Ası que, en este paso se restringe el

numero de candidatos para los cuales se buscara una trayectoria. Existen

dos variantes para llevar a cabo este paso:

a) Subconjunto. Se selecciona un subconjunto de los mejores candidatos,

basandose en la evaluacion parcial que proporciona el factor sur(). El

numero de elementos que contiene este conjunto queda a decision del

usuario final. En los experimentos realizados se seleccionaron veinte

candidatos.

b) Primer candidato factible. Tratar de encontrar una trayectoria para un

subconjunto, aunque pequeno, podrıa todavıa tomar un tiempo consi-

derablemente largo, como se vera en la seccion 5.5. Una variante es solo

tomar el mejor candidato y buscar la trayectoria que lo conecte con el

estado actual. Hasta este punto se ha evaluado el factor sur() y falta

la evaluacion del factor de distancia, dist(), ası que proponemos apro-

ximar la distancia como una lınea recta en el espacio de estados/vista.

68 CAPITULO 5. PLANIFICACION DEL SIG. MEJOR ESTADO/VISTA

Con esta aproximacion se evalua la funcion de utilidad completa, se

ordenan los candidatos y se busca una trayectoria para el mejor candi-

dato. Si no se encuentra la trayectoria, se trata con el segundo mejor

candidato y ası sucesivamente.

7. Planificar Trayectoria. Aquı se utiliza una tecnica de planificacion de mo-

vimientos para encontrar una trayectoria factible a cada uno de los candida-

tos del subconjunto. Proponemos utilizar una variante del Rapidly-Exploring

Random Tree (RRT) para resolver el problema de planificacion de movimien-

tos. La seccion 5.3 explica en detalle la tecnica utilizada.

8. Evaluar utilidad. En caso de encontrar trayectorias factibles para mas de

un candidato se evalua la distancia a cada uno de ellos de acuerdo al factor

dist(). De esta forma, se completa la evaluacion de la funcion de utilidad y

se selecciona al mejor candidato.

5.3. Planificacion de Movimientos

El algoritmo de SMEV necesita encontrar una trayectoria a cada estado/vista

candidato. Para solucionar el problema utilizamos el algoritmo Rapidly-Exploring

Random Tree (RRT) [LaValle et Kuffner, 2001] en su variante ExtExt que se ex-

plica a continuacion.

El RRT original es un algoritmo y estructura de datos para explorar grandes

espacios de estados que no pueden ser explorados de forma exhaustiva debido a

restricciones espaciales (obstaculos) o restricciones diferenciales (debido a la no-

holonomıa del robot o a la dinamica del sistema) [LaValle et Kuffner, 2001]. La

idea del RRT es sesgar la exploracion hacia las areas del espacio de estados que

permanecen sin explorar.

La figura 5.3 ilustra el proceso de crecimiento del RRT. En dicho proceso

primero se genera un estado aleatorio, x. En seguida se busca el estado mas

5.3. PLANIFICACION DE MOVIMIENTOS 69

cercano a x, dada una cierta metrica. Una vez seleccionado el estado mas cercano,

llamado xnear, este se “extiende” hacia x, ejecutando un cierto control durante un

tiempo δ. Si el conjunto de controles posibles es discreto, el control ejecutado es

seleccionado de forma aleatoria o mediante una prueba exhaustiva de todos los

controles y verificando cual acerca mas al robot a x. Si el conjunto de controles es

infinito se puede utilizar una estrategia o un calculo analıtico para determinarlo.

El estado generado se denomina xnew y se agrega al arbol. En esta tesis se supone

un conjunto finito de controles. Del conjunto finito de controles se selecciona el que

mas se acerca a x de acuerdo a la distancia Euclidiana en el espacio de estados.

Figura 5.3: Extension del Rapidly-Exploring Random Tree (RRT). Figura tomadade [LaValle et Kuffner, 2000]. En la figura se muestra un arbol que ha crecidohasta una determinada iteracion. xinit es el estado inicial del arbol. En la iteracionactual el arbol se extiende desde xnear hacia x. En el texto se da mas detalle acercade como se realiza la extension.

La variante RRT-ExtExt crece dos arboles, uno de los arboles crece desde del

estado actual y el otro crece desde el estado/vista candidato. En cada iteracion

cada arbol es extendido y se verifica si se han conectado bajo cierta holgura.

De acuerdo a [LaValle et Kuffner, 2000] los arboles se conectan mas facilmente si

cada arbol crece, la mitad de las veces hacia estados aleatorios y la otra mitad

hacia el otro arbol.

La razon principal del por que se ha seleccionado la variante RRT-ExtExt como

70 CAPITULO 5. PLANIFICACION DEL SIG. MEJOR ESTADO/VISTA

planificador de movimientos es que es conocida como la mejor opcion en problemas

con restricciones no-holonomicas [LaValle et Kuffner, 2000]. No obstante, en esta

tesis se implementaron las variantes RRT-Simple, RRT-Biased, RRT-Bidirectional

y RRT-ExtExt. Para las primeras tres, el porcentaje de conexion fue casi nulo.

Siendo la cuarta, RRT-ExtExt, la que presento porcentajes de conexion de mas

del 90% para la escena de reconstruccion con el robot de ocho grados de libertad.

La seccion 7.1.1 da mas detalles acerca de la escena de reconstruccion utilizada.

5.4. Criterio de Paro

Establecer un criterio de paro adecuado para la reconstruccion es un problema

difıcil. Trabajos previos han propuesto distintos criterios basados en el modelo del

objeto. Torabi en [Torabi et Gupta, 2012] propone terminar el proceso cuando no

hay mas bordes en la nube de puntos acumulada. Kriegel en [Kriegel et al, 2012]

sugiere terminar cuando la malla triangular tiene un pequeno numero de “border

edges”. Sin embargo, esos criterios de paro no incorporan las restricciones que tiene

el robot para alcanzar un estado. Por ejemplo, podrıa no haber una trayectoria

para alcanzarlo, debido a que esta en colision o hay un obstaculo obstruyendo el

camino. En este trabajo el proceso de reconstruccion se finaliza cuando el factor de

superficie, sur(), es menor que un umbral, o no se ha encontrado una trayectoria

para ninguno de los estados candidatos.

5.5. Analisis

En esta seccion se analiza el algoritmo propuesto en terminos de su tiempo de

procesamiento, convergencia, eficiencia y optimalidad de las soluciones.

5.5. ANALISIS 71

Algoritmo 2: Calculo del Siguiente Mejor Estado

Entrada: xc, MOutput : x∗, τX ← Generar n estados candidatos;1

foreach x ∈ X do2

if pos(x) then3

CalcularVisibilidad(x,M);4

if reg(x) then5

x.evaluacion ← sur(x);6

else7

eliminar x;8

end9

else10

eliminar x;11

end12

end13

X ′ ← Ordenar y seleccionar m elementos de X ;14

foreach x ∈ X ′ do15

τx ← PlanificacionDeMovimientos(xc ,x,M);16

if τx 6= ∅ then17

x.evaluacion ← g(x);18

else19

eliminar x;20

end21

end22

Regresar la mejor vista de X ′ junto con su trayectoria;23

5.5.1. Tiempo de Procesamiento

A continuacion se analiza la complejidad del algoritmo de planificacion del

SMEV formalizado en el algoritmo 2. El primer paso, generar n candidatos, es

de complejidad O(n). Para cada uno de los n candidatos se realiza un lote de

operaciones constante (verificar si la lınea que representa al rayo director intersecta

la esfera que representa al objeto). En seguida, se ejecuta un ciclo que en el

peor de los casos repite n veces: i) la deteccion de colisiones, denotada con costo

kcolis, ii) el trazado de rayos, denotado por kvis, y iii) el calculo de la funcion de

utilidad (considerado como tiempo unitario). Por lo tanto, la complejidad de esta

72 CAPITULO 5. PLANIFICACION DEL SIG. MEJOR ESTADO/VISTA

parte esta acotada por (kcolis + kvis) · n. La complejidad es O(n) de nuevo. Sin

embargo, en este caso las constantes no pueden ser desechadas tan facilmente. Al

final de esta seccion se hablara de las constantes. Siguiendo con la ejecucion del

algoritmo, se seleccionan m candidatos, tal que m < n, y se ordenan de acuerdo

a su evaluacion. Ordenar los m candidatos tiene complejidad O(n · logn) en el

mejor caso o O(n2) en el peor de los casos, dado que se utiliza el algoritmo de

ordenamiento QuickSort. En la ultima parte del algoritmo, se trata de encontrar

una trayectoria para m metas y se evalua la funcion de utilidad (tomado como

tiempo unitario). Expresado en terminos de n tenemos m = np, donde p es la

proporcion con que se reduce el numero de candidatos. En esta tesis se utiliza

un RRT para encontrar la trayectoria requerida a cada uno de los m candidatos.

Un RRT es un algoritmo probabilısticamente completo. Con suficientes puntos el

RRT converge a la meta, si es que la meta es alcanzable. Sin embargo, no hay

forma de saber si una meta es o no alcanzable y el RRT puede crecer de forma

excesiva sin encontrar solucion. Aunque el crecimiento se limita a un numero de

iteraciones, el tiempo que le toma al RRT consumir el maximo de iteraciones

puede ser grande. En este caso el tiempo de procesamiento, denotado por krrt,

esta determinado por el maximo numero de nodos del RRT. En el peor de los

casos podrıa no encontrarse trayectoria para ningun candidato, y el tiempo de

procesamiento estarıa determinado por krrt ·m, reescrito en terminos de n, krrtp·

n. En resumen, la complejidad en el peor de los casos esta determinada por la

ecuacion siguiente:

n+ (kcolis + kvis) · n+ n2 +krrtp· n (5.6)

por la propiedad distributiva de la multiplicacion,

n2 + (1 + kcolis + kvis +krrtp

) · n (5.7)

El orden de complejidad con respecto al numero de muestras en el peor de

5.5. ANALISIS 73

los casos parece estar gobernado por n2. Sin embargo, son las constantes quienes

dictaminan el tiempo de procesamiento de la implementacion. como se vera en la

siguiente seccion.

Constantes y Tiempo de Ejecucion

Las constantes y el orden en que se ejecutan los filtros dictaminan el tiempo de

procesamiento real de la planificacion. Las constantes son kcolis, kvis, krrt. A con-

tinuacion se describe el tiempo consumido por cada constante haciendo evidente

el orden que se escogio para los filtros (del menos costoso al mas costoso).

Primero se ejecuta la deteccion de colisiones, constante kcolis. El algoritmo

de [Eric Larsen et Manocha, 2000], que realiza la deteccion de colisiones, tiene

complejidad casi constante de acuerdo a [LaValle et Kuffner, 2001], y en terminos

practicos tiene tiempo de ejecucion de milisegundos. Despues se ejecuta el calculo

de la visibilidad por medio de trazado de rayos, constante kvis, dicho algoritmo

tiene complejidad O(n3) [Glassner, 1989], donde n es el numero de voxeles por

lado del mapa, y en terminos practicos tiene tiempo de ejecucion en el orden de

segundos. Finalmente krrt tiene un tiempo de ejecucion en el orden de minutos

cuando no se encuentra trayectoria.

5.5.2. Convergencia

El algoritmo de siguiente mejor estado/vista que se propone es un algoritmo

de muestreo. “Establecer una tasa de convergencia para un algoritmo de muestreo

es muy difıcil, dado que depende de varias condiciones” [LaValle, 2006]. Es decir

no hay garantıa de encontrar el siguiente mejor estado/vista utilizando un metodo

de muestreo.

A continuacion solo indicamos las condiciones necesarias para encontrar el

SMEV: i) que el estado este dentro de los muestreados, ii) que el sensor obser-

ve area desconocida de acuerdo a las restricciones del sensor, iii) que el estado

74 CAPITULO 5. PLANIFICACION DEL SIG. MEJOR ESTADO/VISTA

este libre de colision y que la trayectoria desde el estado actual sea libre de co-

lision y iv) que la superficie observada tenga un mınimo traslape. Que todas las

condiciones anteriores sean ciertas es una condicion necesaria para encontrar el

siguiente mejor estado vista. Sin embargo, no son condiciones suficientes para que

el estado planificado sea eficaz. Dado que existen otros factores, como el material

de las superficies. Algunos no son visibles para cierto tipo de sensores.

5.5.3. Eficiencia contra Optimalidad

Por la naturaleza NP-Duro del problema, buscar una solucion optima es impracti-

co. Sin embargo, es posible tratar de acercarse al optimo a traves de incrementar el

numero de muestras (parametros n y m), con un incremento directo en el tiempo

de procesamiento. Por lo tanto, es necesario fijar un compromiso entre eficiencia

y optimalidad de la solucion. En nuestros experimentos hallamos que el SMEV

puede ser encontrado con un consumo de tiempo menor de 1 minuto.

5.6. Resumen

En este capıtulo se presento el algoritmo de siguiente mejor estado/vista. El

algoritmo genera un conjunto de candidatos y los evalua con una funcion de utili-

dad. La funcion de utilidad se implementa como una serie de filtros que descarta

y evalua los candidatos hasta quedarse con el mejor de ellos. A diferencia del tra-

bajo previo donde solo se determina la vista del sensor, este metodo determina

la vista del sensor, el estado del robot y la serie de controles que debe aplicar

el robot desde el estado actual para alcanzar el estado determinado. El meto-

do genera los candidatos directamente en el espacio de estados sin necesidad de

usar cinematica inversa. El algoritmo presentado en esta seccion se publico en el

IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)

2014, [Vasquez et al, 2014].

5.6. RESUMEN 75

En el capıtulo siguiente se proponen dos formas de complementar el metodo

y hacerlo robusto a los casos donde existe un posicionamiento impreciso. Mas

adelante en el capıtulo 7 se presentan los experimentos que validan la funcion de

utilidad propuesta y que tambien muestran que el metodo es rapido, con tiempos

de ejecucion en el orden de minutos.

76 CAPITULO 5. PLANIFICACION DEL SIG. MEJOR ESTADO/VISTA

Capıtulo 6

Planificacion bajo Incertidumbre

en el Posicionamiento

La planificacion de vistas tradicional no contempla el error que pudiera tener

el sistema de posicionamiento, dado que se utilizan brazos roboticos fijos, cuyo

error es cercano a cero. Sin embargo, el enfoque de esta tesis es la utilizacion

de robots moviles como sistemas de posicionamiento, en cuyo caso el error es

mucho mayor. Si no se toma en cuenta, el error de posicionamiento puede hacer

inutil el costoso proceso de planificacion de vistas. En este capıtulo se presenta

una de las contribuciones de la tesis, un metodo para planificar vistas robustas

al error de posicionamiento. El metodo es capaz de prever el error y seleccionar

un estado/vista de los posibles, tal que, la afectacion a la reconstruccion sea la

menor.

El capıtulo se organiza de la siguiente forma: primero se presenta el origen y

las consecuencias que tiene el error de posicionamiento. Despues se propone una

estrategia basada en la re-evaluacion de las vistas, para atacar el problema cuando

el error esta restringido al espacio de trabajo y no depende de la trayectoria, como

es el caso de un posicionador libre. En tercer lugar, se presenta una nueva forma

de evaluacion, basada en la utilidad esperada, para atacar el problema cuando

77

78 CAPITULO 6. PLANIF. BAJO INCERTIDUMBRE EN EL POS.

se utiliza un robot manipulador movil. En tal caso los errores se generan en el

espacio de controles y se acumulan conforme transcurre el tiempo.

6.1. Error de Posicionamiento

Es posible estimar el estado de un robot, sin embargo esta estimacion no es

exacta. Los brazos manipuladores fijos pueden estimar su estado a traves de los

sensores de posicion (encoders) de cada motor. La precision de la estimacion para

brazos fijos es muy fina; con errores en el orden de los micrometros. Un vehıculo

aereo teledirigido (UAV por sus siglas en ingles) puede localizarse usando sen-

sores GPS, giroscopos, etc. El error en un UAV puede estar en el orden de los

centımetros. Un robot manipulador movil puede estimar su posicion mediante el

odometro [Dudek et Jenkin, 2000]. Sin embargo, cada que se mueve existe pa-

tinaje entre sus ruedas y el piso, ocasionando que se acumule el error. Sin un

proceso de relocalizacion el error de posicionamiento puede llegar a las decenas

de centımetros.

Cuando la precision del sistema de posicionamiento es menor que las medicio-

nes del sensor, existe un error de posicionamiento que compromete negativamente

la percepcion de las superficies [Scott et al, 2004]. Los errores de posicion y orien-

tacion afectan la percepcion, en especial los errores de orientacion son daninos por

que se amplifican de forma proporcional a la distancia a la que esta el objeto. El

error tiene consecuencias negativas sobre el porcentaje de cobertura, la precision

de las mediciones y la densidad de muestreo. De acuerdo a [Scott et al, 2004] la

mayor afectacion se da sobre el porcentaje de cobertura.

Con un registro configurado adecuadamente es posible alinear las superficies

y recuperarse de errores de posicionamiento pequenos. Sin embargo, esta medida

es despues de haber hecho la percepcion. Para ese momento ya se esta trabajando

con superficies diferentes de las esperadas. Al cambiar las superficies y porcentajes

de cobertura esperados, incluso la etapa de registro puede fallar.

6.2. ERROR DE POSICIONAMIENTO EN EL ESPACIO DE TRABAJO 79

6.2. Error de Posicionamiento en el Espacio de

Trabajo

En esta seccion se aborda el problema de planificacion de la siguiente mejor

vista (SMV) cuando existe un error de posicionamiento residual en el espacio de

trabajo. Por ejemplo, el error que existe en la pose de un UAV. En este caso el

error no depende del camino que se siguio para alcanzar la vista.

6.2.1. Modelo del Error

Se considera el error de posicionamiento en el espacio de trabajo, denotado

como ǫ ∈ R3, como un proceso estocastico con distribucion Gaussiana y media

cero. Los errores en cada grado de libertad, x, y y z, se consideran independientes

entre sı. La desviacion estandar del error se denota como σi, donde i indica el eje.

6.2.2. Convolucion de la Utilidad

En esta seccion se presenta una tecnica para lidiar con la incertidumbre en la

posicion del sensor. Dicha tecnica es capaz de planificar vistas robustas a la incer-

tidumbre de posicion. Una siguiente vista es robusta cuando ademas de satisfacer

las restricciones de la siguiente mejor vista, su posicion es tal que aunque no se

llegue a la vista planificada, se tenga una alta probabilidad de caer en otra vista

que sea tambien util.

El metodo propuesto, llamado convolucion despues de evaluacion (CAE por

sus siglas en ingles)[Vasquez-Gomez et al, 2014], se basa en reevaluar las vistas

de acuerdo a la utilidad de las vistas que estan a su alrededor y la distribucion

del error. La caracterıstica de este metodo es que incrementa el valor de una vista

cuando sus vecinos son “buenos”, y reduce el valor cuando los vecinos son “malos”.

Ademas la re evaluacion depende de que tan probable es caer en un vecino. El

metodo CAE realiza una convolucion entre la funcion de utilidad y una funcion

80 CAPITULO 6. PLANIF. BAJO INCERTIDUMBRE EN EL POS.

(a) Valores de la funcion de utilidad para unconjunto de vistas alrededor del objeto de in-teres.

(b) Valores de utilidad despues de la convo-lucion. En la grafica se muestra que la SMVha cambiado a un lugar “mas seguro” entrevarias vistas con buena evaluacion. Note quelas regiones con vistas de buena utilidad in-crementan el valor de la vista central.

Figura 6.1: Grafica de la utilidad de las vistas candidatas antes y despues dela convolucion. Cada grafica muestra la utilidad de las vistas. Los ejes x y yrepresentan coordenadas de la vista y el eje z (arriba) representa la utilidad. Elexperimento coloca varias vistas en esferas concentricas alrededor del objeto (elobjeto esta en las coordenadas 0, 0), cada vista fue evaluada y despues se realizo laconvolucion.

del error. La funcion del error representa la distribucion del error sobre el espacio

de trabajo. El resultado es un promedio de la utilidad. A continuacion se formaliza

la convolucion.

Sean x y τ coordenadas cartesianas en R3, x representa la posicion de la

vista y τ el error, f una funcion Gaussiana multidimensional que representa la

distribucion del error, g la funcion de utilidad, entonces la convolucion esta dada

por la ecuacion (6.1).

[f ∗ g](x) =

f(τ)g(x− τ)dτ (6.1)

La funcion f se define por una funcion Gaussiana multidimensional de acuerdo

a la ecuacion (6.2).

f(µ,Σ, X) = A exp

[

−1

2(X − µ)TΣ−1(X − µ)

]

(6.2)

6.3. ERROR EN EL ESPACIO DE ESTADOS 81

donde X es la variable aleatoria, µ la media del error y Σ la matriz de covarianza.

Para simplicidad de los calculos se establece el parametro A = 1, esto mantiene

el maximo valor de la funcion igual a uno.

Despues de la convolucion, la siguiente mejor vista es la vista con la mayor

evaluacion. La figura 6.1 muestra un ejemplo de como la utilidad es modificada

por la convolucion. En el ejemplo podemos ver como la SMV se mueve a un lugar

mas “seguro”. Con este metodo, a pesar de que la SMV no se alcance, es muy

probable que el sensor termine en otra “buena” vista.

La ecuacion (6.1) calcula una convolucion continua. Sin embargo, para su

aplicacion en un robot, se ha implementado el metodo usando una convolucion

discreta definida por la ecuacion (6.3).

(f ∗ g)[v] =n3

i=1

f [ei]g[v − ei] (6.3)

donde n3 es la cardinalidad del conjunto de vistas candidatas, v = [x, y, z]T es

un elemento del conjunto de vistas candidatas y ei = [x, y, z]T es un elemento del

conjunto discreto de posibles errores, E. V se implementa seccionando el espacio

de forma uniforme, lo que genera una rejilla 3D de n×n×n elementos, el centroide

de cada celda de la rejilla se toma como una vista candidata que apunta al centro

del objeto. E se genera de la misma forma que V , con la particularidad que el

elemento central de E es la coordenada [0, 0, 0]T .

6.3. Error en el Espacio de Estados

En la seccion 6.2 se presento un algoritmo para lidiar con el error de posiciona-

miento en el espacio de trabajo, R3. Sin embargo, ese enfoque no es directamente

aplicable a muchos tipos de robots como manipuladores moviles. Debido a que en

los robots manipuladores moviles, el error se genera en el espacio de controles, y

la transformacion al espacio de trabajo no necesariamente genera una distribucion

82 CAPITULO 6. PLANIF. BAJO INCERTIDUMBRE EN EL POS.

Gaussiana.

En esta seccion se propone una forma de evaluar un estado/vista del robot de

tal forma que se tome en cuenta el posible error de posicionamiento. Esta forma

de evaluar incorporada al algoritmo de planificacion de movimientos presentado

en el capıtulo 5.2 da como resultado un algoritmo de planificacion de vistas robus-

to a errores de posicionamiento. La forma de evaluacion propuesta se denomina

utilidad esperada. La utilidad esperada indica la utilidad promedio que un estado

alcanzara en condiciones de incertidumbre en el posicionamiento.

Suponiendo que el error se genera en el espacio de controles y esta caracte-

rizado por una funcion de probabilidad conocida, la utilidad esperada se calcula

primero generando muestras en el espacio de controles, segundo se transforman

las muestras al espacio de utilidades, tercero se calcula la probabilidad de cada

muestra y finalmente calcular el valor esperado con las utilidades y las probabili-

dades de cada muestra. La serie de transformaciones desde el espacio de controles

al espacio de utilidades no son necesariamente lineales, dada la cinematica del

robot. La figura 6.2 ilustra el proceso de muestreo y transformacion al espacio de

utilidades.

6.3.1. Modelo del Error

Un manipulador movil, formado por brazo robotico montado sobre un robot

movil, tiene diferentes fuentes de error. La base movil se ve afectada principalmen-

te por la friccion que hay entre las ruedas y el piso. La odometrıa puede estimar

la posicion del robot movil [Dudek et Jenkin, 2000]. Sin embargo, sin un proceso

de relocalizacion el error es acumulativo y la incertidumbre del estado incremen-

ta. En el caso del brazo robotico las fuentes de error son una mala calibracion,

errores dinamicos y la posicion entre los eslabones [Lu, 1989]. Usualmente una co-

rrecta calibracion se realiza y unicamente errores residuales permanecen, es decir,

el error es casi nulo y la incertidumbre no crece. Dado que el sensor esta montado

6.3. ERROR EN EL ESPACIO DE ESTADOS 83

Esp

acio

de

cont

role

s (U

)

P(ε)

µ

−β

β

(a) Muestras en el espacio U

x = x0 + ∫ f(x,u) dt

Control u + ε

(b) Transformacx—ion al espacio X

Estado/vista x

g(x

)

(c) Transformacion al espacio de utilidades.

Figura 6.2: Transformacion de las muestras del espacio de controles, U , al espaciode utilidades, R.

84 CAPITULO 6. PLANIF. BAJO INCERTIDUMBRE EN EL POS.

en el efector final, y el brazo sobre la base, los errores de posicion y orientacion

de la base se transmiten al sensor, y el error incrementa de forma directamente

proporcional a la longitud de la trayectoria.

La pose del sensor alcanzada, es el resultado del movimiento de cada grado de

libertad del robot, y su precision depende del error introducido en cada grado de

libertad. El modelo de error que se utiliza, supone que los errores son introducidos

por la ejecucion de controles imperfectos. Vea la ecuacion (6.4).

u = u+ ǫσ (6.4)

donde u es el control real, u el control aplicado y ǫ un error estocastico con

distribucion normal, ǫ ∼ N , media µ y desviacion estandar σ. De tal forma que

el estado alcanzado se obtiene con la ecuacion: (6.5).

xt+1 = xt +

f(xt, u)dt (6.5)

Modelo de Error de un Manipulador Movil

Un manipulador movil esta formado por una base movil y un brazo robotico.

La base movil se controla por velocidades lineal y angular. Para modelar la imper-

feccion de las velocidades utilizamos variables aleatorias que perturban el control

original. De tal forma que las velocidades lineal y angular estan dadas por:

v = v + ǫσv(6.6)

w = w + ǫσw(6.7)

Para obtener instancias del error generamos una muestra aleatoria del error

dada una distribucion normal y los parametros correspondientes de media y des-

viacion estandar. La imperfeccion del movimiento del robot depende de los valores

σv y σω. Entre mas grande sea la desviacion estandar mas grande es el error en el

6.3. ERROR EN EL ESPACIO DE ESTADOS 85

robot.

v = v + sample(σv) (6.8)

ω = ω + sample(σω) (6.9)

donde la funcion sample() genera una muestra aleatoria dada una distribucion

normal y su desviacion estandar.

Para modelar los errores del brazo robotico se usa un enfoque similar. Con-

siderando que las velocidades angulares en cada articulacion del brazo no son

perfectas, entonces

ωi = ωi + sample(σωi) (6.10)

Usualmente, el movimiento del brazo es mas preciso que la base. Ası que σωies

mas pequeno que σω

6.3.2. Modelo de Movimiento

El modelo de movimiento describe la distribucion sobre los estados cuando un

control ut se ejecuta en un estado dado xt−1 [Thrun et al, 2005]. Es decir, modela

la probabilidad de transicion de estado:

p(xt|ut, xt−1) (6.11)

Donde xt y xt−1 pertenecen al conjunto de estados X .

La probabilidad de transicion de estado, ecuacion 6.11, esta determinada por:

p(xt|ut, xt−1) = p(ǫσv)p(ǫωb

)n∏

i=1

p(ǫωi) (6.12)

En general para alcanzar un nuevo estado se necesita mas de un control. Supo-

niendo independencia de los controles sobre el tiempo, la probabilidad p(xt|u0:t, x0:t−1)

86 CAPITULO 6. PLANIF. BAJO INCERTIDUMBRE EN EL POS.

esta determinada por:

p(xt|u1:t, x0:t−1) =

t∏

i=1

p(xi|ui, xi−1) (6.13)

Para evitar problemas numericos (underflow) durante el calculo de (6.13)

transformamos las probabilidades al dominio del logaritmo.

log (p(xt|u1:t, x0:t−1)) =

n∑

i=1

log(p(xi|ui, xi−1)) (6.14)

Muestreo

Es posible tambien, muestrear un estado a partir del modelo de movimiento

p(xt|ut, xt−1). En este caso, el estado previo xt−1 y el control ut son conocidos,

entonces se genera un estado aleatorio xt de acuerdo al modelo de movimiento.

Ver ecuacion 6.15

xt = sampleMotionModel(ut, xt−1) (6.15)

La funcion sampleMotionModel es basicamente una simulacion directa de la ci-

nematica, o dinamica si fuera el caso, pero en lugar de aplicar el control ut, se

aplica un control perturbado con un error estocastico.

En el caso del manipulador movil, utilizamos integracion por el metodo de

Euler sobre las variables del estado del robot (x, y, θb, θ1, θ2, θ3, θ4, θ5). La posicion

de la base esta definida por x, y, la orientacion de la base por θb y θ1, θ2, θ3, θ4, θ5

denotan la orientacion de cada segmento del brazo robotico.

xt = xt−1 + v cos(θb)t−1∆t

yt = yt−1 + v sin(θb)t−1∆t

θb = (θb)t−1 + ωb∆t

6.3. ERROR EN EL ESPACIO DE ESTADOS 87

θi = (θi)t−1 + ωi∆t

6.3.3. Utilidad Esperada

Para lidiar con la incertidumbre espacial, se propone evaluar un estado candi-

dato con la utilidad esperada en lugar de la utilidad determinista (propuesta en la

seccion 5.1 y llamada determinista para diferenciarla de la utilidad esperada). La

utilidad esperada denota la utilidad promedio de un estado candidato, x, cuando

una trayectoria entre el estado actual del robot y x se ejecuta. En otras palabras,

la utilidad promedio si el robot va al estado candidato en repetidas ocasiones.

Formalmente, sea la utilidad de un estado candidato, x, una variable aleatoria

Gx, con distribucion de probabilidad p(g). La utilidad esperada de x se define con

la ecuacion (6.16).

E(Gx) =

−∞

g · p(g)dg (6.16)

La utilidad, g, depende de la forma, la superficie, el tamano del objeto y demas

criterios descritos en la seccion 5.1, por lo tanto su calculo es muy costoso. Ademas,

la distribucion sobre el espacio de utilidades no es trivial de calcular, dado que el

error es modelado en el espacio de controles, y esa distribucion tiene que pasar a

traves de varias transformaciones no lineales, de U a X , de X a V y de V a G. Vea

como ejemplo la figura 6.2. Dada la complejidad para calcular ambas funciones,

se propone aproximar la ecuacion (6.16) con la ecuacion (6.17).

E(Gx) ≈k

i=1

gi · p(gi) (6.17)

donde k es un numero de muestras, gi la utilidad de la i-esima muestra y p(gi) la

probabilidad de alcanzar esa muestra.

Las muestras utilizadas para calcular la utilidad esperada son estados cercanos

al estado x que se generan mediante una simulacion estocastica de los controles

88 CAPITULO 6. PLANIF. BAJO INCERTIDUMBRE EN EL POS.

que llevan el robot a x. La figura 6.3 (a) muestra la generacion de una muestra a

partir de los controles que llevan a x. La probabilidad de alcanzar una muestra,

p(gi), se calcula como la probabilidad conjunta de los estados intermedios entre

el estado actual y la muestra. Es decir, su calculo se realiza mediante la ecuacion

(6.13).

A continuacion se describe el calculo de la utilidad esperada, resumida en el

algoritmo 3. La idea es calcular la utilidad esperada utilizando varias muestras

alrededor del estado candidato x. La distribucion de estas muestras dependera de

la serie de controles que se ejecuta. Ver figura 6.3 (b). El conjunto de muestras se

denota como S = {s1, s2...sk}, tal que S ⊂ X . Una vez generadas las muestras, se

determina la probabilidad de cada una y su utilidad, para finalmente calcular la

utilidad esperada.

x c

x

u

u

u

u

u +ε

u +ε

u +ε

u +ε

s

Xobs

1

2

3

m

1

2

3

m

1

2

3

m

(a) Generacion de una muestra (b) Proyeccion enW de un conjunto de mues-tras.

Figura 6.3: Ilustracion de muestras generadas para calcular la utilidad esperada.Para calcular la utilidad esperada de un estado candidato, x, un conjunto demuestras se genera basandose en el estado actual del robot, xc, y la serie decontroles aplicados, {u1, . . . , um}. La figura de la izquierda muestra la generacionde una muestra, s, que consiste en perturbar con un error estocastico cada controlaplicado. El proceso de generacion se repite hasta alcanzar k muestras. La figurade la derecha muestra las proyecciones sobreW de diversas muestras. La direccionde las flechas indica la orientacion del sensor. La flecha roja es la proyeccion delestado candidato x y las flechas verdes las muestras (la figura se aprecia mejor encolor).

En detalle, el algoritmo 3 genera las muestras y calcula la utilidad esperada. El

6.3. ERROR EN EL ESPACIO DE ESTADOS 89

algoritmo comienza comienza con el estado actual (linea 2), y simula la ejecucion

de cada control con el metodo de muestreo de velocidad (SampleMotionModel en

la lınea 4). El metodo de muestreo de velocidad, descrito en la seccion 6.3.2, es

una simulacion directa del movimiento del robot, con la diferencia que el control

aplicado es perturbado con un error estocastico. En seguida, el estado generado, xt,

es probado para detectar colisiones (linea 6), si esta en colision entonces el estado,

x, se denota como no factible (linea 7); de otra forma, la simulacion se repite

usando el siguiente control. La ultima configuracion generada es tomada como la

muestra (linea 10). A continuacion, la utilidad de la muestra se calcula usando la

ecuacion (5.1) (linea 11). Para determinar la probabilidad de ocurrencia de esa

muestra, suponemos independencia entre los errores sobre el tiempo, por lo tanto

la probabilidad de la muestra es calculada como el producto de las probabilidades

de ocurrencia de cada estado intermedio (linea 12). Finalmente, se normalizan las

probabilidades de las muestras y se calcula la utilidad esperada (lineas 14 y 15)

6.3.4. Analisis

Para generar un estado muestra, cada control se perturba con un error es-

tocastico, vea seccion 6.3.1. Muestrear ǫ usando todo el dominio de la distribucion,

(−∞,∞), podrıa generar una muestra, de muy poca probabilidad, muy lejana de

la media. Esta situacion es importante por que cualquier muestra que este en

colision hace que el candidato sea descartado (linea 7 del algoritmo 3). Para li-

diar con este posible problema, se restringen las muestras a un intervalo cerrado,

ǫ ∈ [−β, β], vea la figura 6.4 a. Considerando todos los posibles errores para un

control dado es posible formar un hiper volumen, R, en el espacio de estados

donde la muestra pueda caer. Vea Figura 6.4 b.

Es importante detectar posibles colisiones en R antes de enviar el robot, este

problema se relaciona con cuantas muestras son generadas. A continuacion, se

analiza que tan probable es detectar una colision conforme el numero de muestras,

90 CAPITULO 6. PLANIF. BAJO INCERTIDUMBRE EN EL POS.

Algoritmo 3: Utilidad Esperada. El algoritmo calcula la utilidad esperada,E(), de un estado candidato, x. Se requiere el estado candidato, x, el estadoactual, xc, la serie de controles {u1, ...um} que conecta xc con x y el numerode muestras, l.

Entrada: x, xc, τ , kSalida : E(x)for i← 1 to k do1

x0 ← xc;2

for t← 1 to m do3

xt ← SampleMotionModel(ut, xt−1) ;4

pt ← p(xt|ut, xt−1) ;5

if xt ∈ Xobs then6

regresar No Factible;7

end8

end9

si ← xm;10

gi ← g(si); // Utilidad de la muestra11

Pi ←∏m

t=1 pt; // Prob. de la muestra, p(gi) = p(xm|u1:m, x0:m−1)12

end13

η ← 1∑

k

i=1Pi

;14

regresar E(x)←∑k

i=1 gi · ηPi;15

k, incrementa. Sea O la region obstaculo que intersecta R. La probabilidad de que

una muestra no colisione con el obstaculo, denotado como evento A, es igual a la

probabilidad de caer dentro de R y no en O, es decir P (A) = P (O|R), usando la

definicion de probabilidad condicional:

P (A) =P (O ∩R)

P (R)(6.18)

dado que O particiona R, P (R) = P (O ∩R) +P (O ∩R), se reescribe la ecuacion

(6.18) como:

P (A) =P (R)− P (O ∩ R)

P (R)(6.19)

6.3. ERROR EN EL ESPACIO DE ESTADOS 91

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

p(ε)

−β βµ + ε

(a) Distribucion del error

0

R

(b) Regiones de muestreo

Figura 6.4: Volumen de muestreo. La figura a) muestra los lımites aplicados a ladistribucion del error durante el muestreo. La figura b) muestra el hiper volumenR donde las muestras pueden caer. La region R puede estar intersectado por elarea de obstaculo O, como se ilustra en la figura b). El tamano de R depende dela distribucion del error y los maximos valores del error, [−β, β].

por la propiedad distributiva,

P (A) = 1−P (O ∩ R)

P (R)(6.20)

dado que se conoce el intervalo de muestreo, [−β, β], se hace P (R) = P (−β ≤

ǫ ≤ β), tal probabilidad depende de la distribucion del error. En los experimentos

realizados, se supone una distribucion normal, y se muestrea ǫ dentro del intervalo

[−3σ, 3σ]. Ası que, de acuerdo a la “regla empırica” la probabilidad es P (−3σ ≤

ǫ ≤ 3σ) = 0.997. Una vez que se ha identificado como calcular P (R), se simplifica

la notacion definiendo η como:

η =1

P (R)(6.21)

Por otro lado, P (O ∩ R) debe calcularse como la probabilidad de que una

muestra ǫ pertenezca a [−β, β] y al mismo tiempo que ǫ pertenezca al intervalo

Eobs de tal forma que ǫ ∈ Eobs lleve a una colision con la region obstaculo. Sin

92 CAPITULO 6. PLANIF. BAJO INCERTIDUMBRE EN EL POS.

embargo, determinar ese intervalo no es trivial. Para propositos de analisis, se

define γ = P (O ∩R). Substituyendo η y γ, reescribimos la ecuacion (6.20) como:

P (A) = 1− ηγ (6.22)

Asumiendo que cada muestra se genera de forma independiente, la probabili-

dad de generar k muestras y que ninguna caiga en colision es:

P (Ak) = (1− ηγ)k (6.23)

Acotando (6.23) por un α, lleva a (1− ηγ)k ≤ α, entonces, resolviendo la ecuacion

para k:

k log(1− ηγ) ≤ logα

k ≥logα

log(1− ηγ)(6.24)

Ecuacion 6.24 indica que suponiendo cierta probabilidad de interseccion, γ, y

para k un suficientemente grande, podemos esperar con probabilidad (1 − α)

que el movimiento real sea libre de colision. Por ejemplo, suponiendo α = 0.01,

η = 1/0.997 y γ = 0.05 el numero de muestras debe ser mayor que 90 para estar

0.99 seguros que el movimiento es libre de colision.

6.4. Resumen

En este capıtulo se trata con la incertidumbre ocasionada por un sistema de

posicionamiento imperfecto. Se propusieron dos metodos que hacen robusta a la

planificacion del siguiente mejor estado/vista ante la incertidumbre en el posicio-

namiento. El primer metodo, convolucion despues de evaluacion (CAE por sus

siglas en ingles) reevalua la utilidad de una vista a traves de la convolucion de la

funcion de utilidad y la distribucion del error. El metodo CAE fue publicado en

[Vasquez et Sucar, 2011] y en [Vasquez-Gomez et al, 2014]. Este metodo esta di-

6.4. RESUMEN 93

senado para atacar errores residuales, es decir, que no dependen de la trayectoria

y errores que se generan en el espacio de trabajo. Ademas, el metodo CAE solo

esta disenado para funcionar en la planificacion de vistas y no de estados del ro-

bot. El segundo metodo, utilidad esperada, funciona cuando el error se modela en

el espacio de controles y este se acumula a medida que las trayectorias ejecutadas

se hacen mas largas. Este segundo metodo esta orientado a la planificacion de

estados del robot y no solo de las vistas del sensor. Para el segundo metodo se

realizo un analisis para estimar cuantas muestras se requerirıan dado un ambiente

y la probabilidad de colision del robot.

En el siguiente capıtulo se presentan los experimentos realizados en simulacion

y en un robot real. La secciones 7.2 y 7.3 describen los experimentos realizados con

los metodos propuestos en este capıtulo. En dichos experimentos se compara el

rendimiento del algoritmo de planificacion cuando se usa o no la utilidad esperada.

Siendo esta ultima la mejor alternativa en terminos de menor tasa de colision y

mayor porcentaje de reconstruccion.

94 CAPITULO 6. PLANIF. BAJO INCERTIDUMBRE EN EL POS.

Capıtulo 7

Experimentos y Resultados

En este capıtulo se describen los experimentos realizados para mostrar la efec-

tividad del algoritmo propuesto. Se presentan dos secciones, la primera agrupa los

experimentos realizados en simulacion, entre los que se incluye: validacion de la

funcion de utilidad, planificacion sin error de posicionamiento y planificacion bajo

error de posicionamiento. En la segunda seccion se presentan los experimentos

realizados con el robot manipulador movil, en ellos se realiza la reconstruccion de

objetos del mundo real.

7.1. Simulacion sin Error de Posicionamiento

En esta seccion se describen los experimentos realizados en simulacion y supo-

niendo un posicionamiento perfecto. Primero se describe la notacion utilizada y

la escena de reconstruccion. En seguida se describen los experimentos realizados.

7.1.1. Notacion y Escena de Reconstruccion Simulada

Una reconstruccion esta constituida por varias iteraciones en las que se observa

el objeto. Una iteracion del algoritmo consiste en los procesos de posicionamien-

to, percepcion registro y calculo del siguiente mejor estado/vista. Una serie de

95

96 CAPITULO 7. EXPERIMENTOS Y RESULTADOS

reconstrucciones de un objeto es la repeticion del proceso de reconstruccion para

un mismo objeto desde el mismo punto inicial.

El porcentaje de superficie cubierta, o cobertura, se calcula como:

Cobertura =Ncorrespondencia

Nreferencia

(7.1)

donde Nreferencia es el total de puntos en la nube de puntos del objeto de referencia

y Ncorrespondencia es el numero de puntos del modelo de referencia que tienen corres-

pondencia con el modelo reconstruido (nube de puntos del objeto reconstruido).

Un punto del modelo de referencia tiene correspondencia si existe un punto en el

modelo reconstruido a menos de una distancia lineal de 3 mm.

La cobertura se puede determinar por iteracion o por reconstruccion. Por itera-

cion es el acumulado hasta la iteracion i. Por reconstruccion es el acumulado hasta

alcanzarse el criterio de paro o hasta que se detuvo la reconstruccion, normalmente

despues de varias iteraciones. La cobertura promedio es el promedio de la superfi-

cie observada en una serie de reconstrucciones y se especifica como cobertura(µ).

La desviacion estandar de la cobertura se especifica como cobertura(σ). El volu-

men desconocido esta determinado por los metros cubicos de espacio desconocido

que permanece dentro del cubo encapsulador.

Los experimentos en simulacion se realizaron en una escena donde los objetos

estan colocados sobre una mesa. Ver figura 7.1. El robot se puede desplazar libre-

mente alrededor de la mesa, siempre y cuando no colisione con el objeto, la mesa o

con el mismo. El cubo encapsulador se encuentra sobre la mesa, el sensor simulado

es una camara de tiempo de vuelo. El robot tiene 8 grados de libertad, tres de la

base movil y cinco del brazo manipulador. Se probaron 3 objetos diferentes: dos de

ellos del repositorio de la Universidad de Stanford [Stanford University, 2009], el

Conejo y el Dragon, y el tercero del repositorio de modelos VMRL [Ocnus, 1997],

una Tetera. La figura 7.2 ilustra los objetos. Los parametros de configuracion del

sensor y de cada experimento se detallan en el apendice A. Los experimentos se

7.1. SIMULACION SIN ERROR DE POSICIONAMIENTO 97

realizaron en una computadora con procesador Intel Core i5 y 2GB de RAM.

Figura 7.1: Escena simulada de reconstruccion. En la figura se muestra al robotcolocado en la configuracion inicial. Suponemos que el robot siempre conoce suposicion exacta y que puede desplazarse libremente alrededor de la mesa.

(a) Conejo (b) Tetera (c) Dragon

Figura 7.2: Objetos sinteticos utilizados para simular diversas reconstrucciones.

7.1.2. Validacion de la Funcion de Utilidad

La funcion de utilidad propuesta en esta tesis verifica que se cumplan las res-

tricciones de posicionamiento y registro y asigna un valor numerico dependiendo

de la cantidad de superficie desconocida (cantidad de voxeles desconocidos) y

98 CAPITULO 7. EXPERIMENTOS Y RESULTADOS

la distancia desde la configuracion actual. A esta forma de evaluar la llamamos

utilidad combinada (UC). El factor de superficie desconocida es de particular

importancia por que estima que tanta superficie se puede descubrir en la nueva

percepcion. Existen otras propuestas para hacer la misma estimacion. Una pro-

puesta reciente es calcular la ganancia de informacion (IG por sus siglas en ingles)

[Kriegel et al, 2012].

En este experimento comparamos el uso de UC contra IG para estimar el

beneficio de una vista candidata. El objetivo es mostrar que nuestra funcion de

utilidad tiene un rendimiento comparable con las propuestas mas recientes. El

enfoque IG se implemento de acuerdo a [Kriegel et al, 2012] y se reemplazo por el

factor sur() en la funcion de utilidad 5.1. La comparacion se hizo reconstruyendo

el objeto Conejo 5 veces con cada enfoque.

Las figuras 7.3 y 7.4 muestran la cobertura y el volumen desconocido res-

pectivamente. Se puede observar que en las primeras iteraciones IG obtiene un

mayor cobertura que UC. Esto ocurre por que IG evalua el volumen completo. A

diferencia de UC que solo evalua la superficie desconocida. Despues de varias per-

cepciones ambos enfoques convergen la misma cobertura. Podemos deducir que,

despues de varias percepciones, la funcion de utilidad propuesta alcanza la mismo

cobertura que IG. Ademas, UC verifica que exista un traslape, que el estado este

libre de colision y contempla la distancia con respecto del estado actual del robot.

El tiempo de procesamiento para evaluar cada funcion de utilidad es similar.

En nuestra implementacion, evaluar UC para todos los candidatos toma en pro-

medio 428 seg., en contraste, IG toma 484 seg., esto es 13% mas que UC. Lo que

hace interesante a la UC es el hecho de que el tiempo de procesamiento puede

ser reducido significativamente utilizando el trazado de rayos jerarquico; como se

vera en la siguiente seccion, el tiempo se puede reducir hasta en 90%. Hasta el

momento, no se ha propuesto una tecnica para reducir el tiempo de computo del

calculo de IG.

7.1. SIMULACION SIN ERROR DE POSICIONAMIENTO 99

0 2 4 6 8 10 12 1430

40

50

60

70

80

90

100

Percepciones

% S

uper

ficie

Cub

iert

a

IGUC

Figura 7.3: Comparacion del la superficie cubierta usando los enfoques de Ganan-cia de Informacion (IG) y Utilidad Combinada (UC). Ambos metodos convergenal mismo porcentaje de cobertura. Note que la cobertura no alcanza el 100% dadoque la mesa no permite observar toda la superficie.

0 2 4 6 8 10 12 140.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

0.1

Percepciones

% V

olum

en d

esco

noci

do

IGUC

Figura 7.4: Comparacion de los volumenes desconocidos en el octree utilizando losenfoques de Ganancia de Informacion (IG) y Utilidad Combinada (UC). Ambosmetodos “escarban” el volumen desconocido de formas similares. IG lo hace lige-ramente mas rapido pero ambos metodos convergen al mismo resultado despuesde varias iteraciones.

100 CAPITULO 7. EXPERIMENTOS Y RESULTADOS

7.1.3. Tiempo de Procesamiento

El trazado de rayos propuesto en la seccion 4.3.4, reduce el tiempo de pro-

cesamiento de la visibilidad, de tal forma que la evaluacion de las vistas es mas

rapida. El objetivo de este experimento es medir la reduccion de tiempo que se

logra al utilizar el trazado de rayos jerarquico.

El experimento consistio en reconstruir el objeto conejo variando el nivel en el

que inicia el trazado de rayos, parametro dinit. Para cada valor de dinit se recons-

truyo el objeto 10 veces. Los tiempos de procesamiento promedio para evaluar

una vista se muestran en la tabla 7.1. La primer columna muestra el nivel de

profundidad en el que empieza el trazado de rayos, dinit; se muestra tambien el

maximo nivel de profundidad que tiene el octree(16). Cuando el nivel inicial es

igual al maximo se realiza un trazado de rayos uniforme. La segunda columna

muestra el tamano del voxel en la profundidad inicial del trazado. La tercera co-

lumna muestra el tiempo promedio de procesamiento para evaluar una vista que

apunta al objeto. El tiempo solo corresponde al trazado de rayos (visibilidad).

La cuarta columna muestra la cobertura despues de 12 percepciones del objeto

Conejo. De acuerdo a los resultados, se reduce el tiempo en un 60% iniciando el

trazado en el nivel de profundidad 15 de 16. Utilizando niveles iniciales menores a

15 hay mayor reduccion en tiempo de procesamiento, hasta el nivel 13 de 16. Para

niveles menores a 13 no hay mayor reduccion de tiempo, dado que el “overhead”

del trazado de rayos incrementa el tiempo de procesamiento.

El trazado de rayos jerarquico permite evaluar un amplio conjunto de vistas en

un tiempo corto. Una desventaja del trazado de rayos propuesto es que no se hace

trazado de rayos fino para los objetos fuera del cubo encapsulador. Por lo tanto,

la eficacia del metodo disminuye cuando el objeto a modelar tiene a su alrededor

objetos que lo ocluyen.

7.1. SIMULACION SIN ERROR DE POSICIONAMIENTO 101

Prof. inicial /Max. Prof.

Tamanodel Voxel

Tiempo Cubrimiento (µ)

16/16 0.02 m 0.185 s. 97.66%15/16 0.04 m 0.063 s. 96.35%14/16 0.16 m 0.035 s. 96.26%13/16 0.32 m 0.024 s. 96.25%

Tabla 7.1: Tiempo promedio de evaluacion de una vista utilizando trazado derayos jerarquico.

7.1.4. Reconstruccion de Objetos Complejos

El objetivo de esta seccion es mostrar experimentalmente que el algoritmo es

capaz de reconstruir un objeto, en un tiempo adecuado, sin importar la forma

del objeto. Para ello, se probo el algoritmo en la reconstruccion de los objetos

Conejo, Dragon y Tetera. La configuracion detallada del experimento se muestra

en la tabla A.4 del apendice.

La tabla 7.2 muestra los resultados promedio de la reconstruccion de cada obje-

to. La segunda columna, Percep., muestra el numero de percepciones. La segunda

columna, T. Vis (µ), muestra el tiempo para generar las vistas y calcular su vi-

sibilidad. La tercera columna, Tiempo de planificacion de movimientos (T.P.M.),

muestra el tiempo de procesamiento que se requiere para calcular la trayectoria a

los estados candidatos. La cuarta columna muestra la cobertura.

Objeto Percep. T. Vis. (µ) T.P.M. (µ) CubrimientoTetera 12 48.92 s 79.05 s 93.90%Conejo 12 33.81 s 114.07 s 95.51%Dragon 12 32.45 s 95.60 s 87.26%

Tabla 7.2: Resultados de la reconstruccion de cada uno de los objetos sinteticos.

Los resultados muestran que el metodo es capaz de planificar cada vista para

reconstruir los objetos de prueba. Cabe senalar que el metodo fue capaz de lidiar

con los 8 grados de libertad del robot y se alcanzo un alto porcentaje de cobertura;

mayor del 90% para los objetos Tetera y Conejo y casi del 90% para el objeto

dragon. En el caso del Dragon el porcentaje fue menor debido a que se trata de

102 CAPITULO 7. EXPERIMENTOS Y RESULTADOS

(a) Estado inicial del robot. (b) Primeras cinco percepciones.

Figura 7.5: Ilustracion de las diversas configuraciones del robot y sensor durantela reconstruccion del objeto Conejo.

un objeto complejo y no es posible observar entre espacios ocluidos, como es el

caso de las superficies que son ocluidas por la mesa o el dorso interior del objeto.

La figura 7.5 muestra diferentes etapas del proceso de reconstruccion del objeto

Conejo. La figura 7.6 muestra el octree en diferentes iteraciones. La figura 7.7

muestra las representacion final de los objetos reconstruidos.

7.1.5. Comparacion de Variantes

En este experimento se comparan las dos variantes del algoritmo de planifica-

cion de vistas, descritas en la seccion 5.2. Ambas difieren en cuantos candidatos se

le envıan al RRT y como se calcula la distancia de navegacion. La primer variante

le envıa multiples metas al RRT, y este ultimo busca una trayectoria para cada

uno de forma independiente. La segunda variante aproxima la distancia como una

lınea recta en el espacio de estados y le envıa al RRT solo el estado con mejor

evaluacion.

El objetivo del experimento es saber que estrategia es mejor para nuestros

propositos de determinar el siguiente estado en un tiempo adecuado para la tarea y

responder a la pregunta de ¿Como afecta el numero de elementos en el subconjunto

para el cual se busca una trayectoria a las variables de cobertura y distancia

7.1. SIMULACION SIN ERROR DE POSICIONAMIENTO 103

(a) Octree en una etapa de la reconstrucciondel objeto Conejo.

(b) Octree despues de integrar la siguienteimagen de rango.

Figura 7.6: Ilustracion del octree probabilista durante la reconstruccion del objetoConejo. La figura muestra la actualizacion del octree despues de integrar la ultimaimagen de rango tomada. Los voxeles desconocidos se muestran en color naranja,los voxeles ocupados que pertenecen al objeto se muestran en azul y los voxelesocupados que pertenecen al ambiente se muestran en gris.

Figura 7.7: Representacion final (nube de puntos) de los objetos reconstruidos.

104 CAPITULO 7. EXPERIMENTOS Y RESULTADOS

Estrategia T. Visibilidad T. Plan. de Mov. Cobertura Dist.Una meta 35.68 s 15.81 s 95.40% 72.265 metas 32.89 s 117.53 s 97.23% 72.3110 metas 35.90 s 182.87 s 96.32% 62.45

Tabla 7.3: Resultados de la reconstruccion para cada variante.

viajada.

La tabla 7.3 muestra los resultados promedio en la reconstruccion del objeto

Conejo para cada estrategia en terminos de: tiempo de procesamiento de la ge-

neracion de candidatos y del calculo de la visibilidad (T. Visibilidad), tiempo de

procesamiento de la planificacion de movimientos (T. Plan. Mov.), porcentaje de

cobertura (Cobertura) y distancia del camino para visitar todos los estados donde

se hace una percepcion. Las variantes comparadas son: candidato unico y multi-

ples candidatos. Todas las reconstrucciones se detuvieron en la doceava iteracion

para reducir las variables del experimento.

Los resultados muestran una relacion directa entre el tiempo de procesamiento

y el numero de candidatos a los cuales se les busca una trayectoria. No ası para

la cobertura y la distancia viajada, que se mantienen en valores similares. Es-

te experimento es limitado, y probablemente conjuntos mucho mas grandes de

candidatos (mayores a diez elementos) tengan beneficios en terminos de mayor

cobertura y menor distancia de navegacion. Sin embargo, para nuestro proposito

de determinar el SMEV en un tiempo razonable para la tarea, la estrategia de

un solo candidato parece ser la mejor en la relacion de cobertura y tiempo de

procesamiento.

7.2. Simulacion con Error de Posicionamiento

en el Espacio de Trabajo

El objetivo de este experimento es determinar si el metodo de convolucion

despues de evaluacion incrementa el porcentaje de cobertura con respecto del

7.2. SIMULACION CON ERROR DE POS. EN EL ESPACIO DE TRABAJO105

metodo estandar, en condiciones de error de posicionamiento del sensor. El error

de posicionamiento unicamente esta en la posicion del sensor y se simulo con una

distribucion normal de media cero. Los metodos comparados son:

Metodo estandar sin error. El metodo estandar consiste en evaluar un con-

junto de vistas y seleccionar como la siguiente mejor vista (SMV) la mejor

evaluada.

Metodo estandar con error de posicion. La SMV se determina con el metodo

estandar. La posicion a la que se mueve el sensor es perturbada con un error

estocastico de distribucion normal, media cero y desviacion estandar σ.

Convolucion despues de la evaluacion (CAE). En este caso despues de la

evaluacion se aplica el metodo CAE y se selecciona SMV como la mejor

evaluada. La posicion a la que se mueve el sensor se perturba con un error

estocastico, de igual forma que el segundo caso.

El rendimiento del metodo estandar con error de posicionamiento se toma como

el rendimiento base y deberıa ser mejorado por el metodo CAE. El rendimiento

ideal, sin error de posicionamiento, se toma como el tope. Esperamos que el metodo

CAE mejore el rendimiento base y se acerque al rendimiento tope.

Escena de Reconstruccion

Se simulo una escena de reconstruccion con objetos sinteticos, una camara de

rango simulada y un robot posicionador libre. Los objetos utilizados se muestran

en la figura 7.8(a). Esos objetos tienen diferentes formas y presentan diferente

dificultad para el proceso de reconstruccion: la esfera es un objeto convexo simple,

la taza es no convexa y tiene auto-oclusiones y el logotipo SGI tiene huecos y auto

oclusiones. La camara de rango utilizada tiene unas apertura horizontal de 92.5

grados y una apertura vertical de 72.32 grados; junto con una resolucion de 320 x

240 puntos. El posicionador libre tiene cinco grados de libertad (x, y, z, pan, tilt).

106 CAPITULO 7. EXPERIMENTOS Y RESULTADOS

(a) Objetos sinteticos (b) Objetos reconstruidos

Figura 7.8: Objetos tridimensionales del experimento con el metodo convoluciondespues de evaluacion (CAE). En el renglon superior se muestran los modelossinteticos usados para realizar los experimentos. En los renglones central e infe-rior se muestra los objetos reconstruidos. El renglon inferior muestra el objetoreconstruido con sus normales.

La escena de reconstruccion se configuro con el objeto suspendido en el aire y

espacio libre alrededor de el.

Para este experimento, se utilizaron un conjunto de vistas candidatas genera-

das en un cubo. El cubo se dividio en 17 celdas por dimension, dando un total

de 4,913 (173) vistas candidatas. Cada una de las vistas esta orientada hacia el

centro del objeto. Para propositos de acelerar el calculo de la siguiente mejor vis-

ta, solo consideramos vistas que estan entre un radio interior y un radio exterior.

Esta reduccion de vistas, elimina vistas inservibles como las que se encuentran en

colision con el objeto. El total de vistas evaluadas fue de 1,932.

En los experimentos solo se considero error de posicionamiento en los tres ejes

de posicion, (x, y, z). Suponemos las siguientes desviaciones estandares del error

con media cero: σx = 10 cm, σy = 10 cm, σz = 10 cm. Ademas suponemos

independencia condicional entre los errores de cada eje. La funcion de utilidad

utilizada es la propuesta en [Vasquez et al, 2009].

7.2. SIMULACION CON ERROR DE POS. EN EL ESPACIO DE TRABAJO107

1 2 3 4 5 6 730

40

50

60

70

80

90

100

Scans

Rec

onst

ruct

ion

%

σ0 = 0 cm

σ1 = 10 cm

Convolution σ = 10 cm

(a) Reconstruccion de la Esfera.

1 2 3 4 5 610

20

30

40

50

60

70

80

90

100

Scans

Rec

onst

ruct

ion

%

σ0 = 0 cm

σ1 = 10 cm

Convolution σ = 10 cm

(b) Reconstruccion de la Taza.

Figura 7.9: Reconstruccion de los objetos esfera y taza bajo error de posicio-namiento. Se comparan los porcentajes de reconstruccion utilizando el metodoestandar sin error (σ0 = 0 cm), con error de posicionamiento (σ1 = 10 cm) yla convolucion despues de evaluacion (CAE) con error (σ = 10 cm). Las grafi-cas muestran el porcentaje de cobertura contra el numero de percepciones. Paraambas reconstrucciones del metodo CAE se mantiene mas cerca del tope que elmetodo estandar.

Experimento

El experimento consistio en reconstruir tres veces cada uno de los objetos por

cada uno de los metodos. Primero revisaremos los resultados para la esfera y la

taza. Despues, se presenta una discusion mas detallada de los resultados para el

objeto SGI-Logo, dado que es el objeto de mayor dificultad.

Los resultados para la esfera y la taza se sintetizan en la figura 7.9. La re-

construccion de la esfera alcanza la misma cobertura para las tres variantes, dado

que es un objeto simple y no tiene auto oclusiones. Para la taza, la cobertura del

metodo CAE fue mayor que el metodo estandar. Para ambos objetos, el metodo

CAE se mantiene cerca del tope; el beneficio del metodo CAE es que converge

mas rapido que el metodo estandar cuando existe error de posicionamiento.

La reconstruccion del objeto SGI-Logo muestra de forma mas clara el beneficio

del metodo CAE. Los resultados se sintetizan en la Fig. 7.10; figura que muestra

108 CAPITULO 7. EXPERIMENTOS Y RESULTADOS

2 4 6 8 10 12 14 16 1840

50

60

70

80

90

100

IterationR

econ

stru

ctio

n %

σ0 = 0 cm

σ1 = 10 cm

Convolution, σ = 10 cm

Figura 7.10: Reconstruccion del objeto SGI-logo bajo error de posicionamiento.La figura muestra el porcentaje de cobertura promedio para cada percepcion. Secomparan los tres metodos: metodo estandar sin error (σ = 0% cm), metodoestandar con error de posicionamiento (σ1 = 10 cm) y el metodo con error deposicionamiento ((σ1 = 10 cm)).

el porcentaje de cobertura hasta alcanzar 99.5%. Es claro en este experimento

que el el metodo estandar requiere dos veces mas vistas para reconstruir el objeto

(18 vistas comparadas con 9), mientras el enfoque propuesto, CAE, lo reconstruye

con un numero de vistas cercano al ideal (12 comparadas con 9). Es importante

notar que la cobertura es mayor que el metodo estandar incluso para este objeto

complejo. El comportamiento muestra que el metodo CAE incrementa la cobertu-

ra y reduce el numero de vistas necesarias para reconstruir el objeto. En nuestra

implementacion se requieren alrededor de 20 minutos para calcular la siguiente

mejor vista en una computadora laptop Core i5.

Conclusiones del Experimento

Con base en estos experimentos, concluimos que el metodo Convolucion Des-

pues de Evaluacion (CAE) aumenta la cobertura y reduce el numero de vistas

requeridas cuando se reconstruyen objetos complejos. En el caso de objetos sim-

ples no hay ganancia con respecto del metodo estandar. Ademas usando el metodo

cae se pueden prevenir errores de registro, dado que el traslape se conserva con

7.3. SIMULACION CON ERROR DE POS. EN EL ESPACIO DE ESTADOS109

mas frecuencia, y en caso de que la reconstruccion se interrumpa (por ejemplo

por lımite de tiempo), el porcentaje de cobertura serıa mayor que con el metodo

estandar.

El metodo propuesto CAE es una solucion adecuada para robots que se mueven

sin restricciones en el espacio de trabajo, tales como cuadricoptero o maquinas

de de medicion cartesiana. Sin embargo, el metodo CAE es limitado y podrıa no

ser aplicable directamente a errores generados en el espacio de configuraciones de

robots humanoides o moviles. Otra limitante el metodo es que las vistas necesitan

estar distribuidas uniformemente en el espacio y es necesario evaluar todas antes

de realizar la convolucion, lo que requiere mayor tiempo de procesamiento.

7.3. Simulacion con Error de Posicionamiento

en el Espacio de Estados

El objetivo de este experimento es comparar la planificacion de vistas con

utilidad esperada contra la utilidad determinista, ambas en condiciones de incer-

tidumbre.

Las variantes comparadas son las siguientes:

Utilidad determinista con posicionamiento perfecto (UD). Consideramos el

comportamiento de esta variante como el objetivo a alcanzar.

Utilidad determinista con error de posicionamiento (UD-EP). Esperamos

mejorar significativamente el comportamiento de esta variante. El modelo de

error utilizado es el mismo que el descrito en la seccion 6.3.1. Los parametros

de la distribucion se encuentran en la tabla A.7 del apendice.

Utilidad esperada con error de posicionamiento (UE-EP). Se utilizo el mismo

modelo de error que el punto anterior.

110 CAPITULO 7. EXPERIMENTOS Y RESULTADOS

Las variables que se midieron son: el porcentaje de cobertura y la tasa de

colision, calculada como el numero de veces que el robot colisiona dividido entre

el total de veces que el robot ejecuta una trayectoria planificada.

Se reconstruyeron los objetos Conejo, Dragon y Tetera. La configuracion com-

pleta del experimento y los parametros del error se describen en las tablas A.6 y

A.7 del apendice A.

7.3.1. Tasa de Colision

El objetivo de este experimento es mostrar como afecta el numero de muestras

a la tasa de colision. En el experimento se vario el numero de muestras en la

reconstruccion del objeto conejo. Los resultados se muestran en la figura 7.11. En

la figura podemos observar que la utilidad esperada decrementa la tasa de colision

a cero conforme el numero de muestras (k) incrementa. La grafica sugiere que la

tasa de colision converge exponencialmente a cero conforme k incrementa, un

comportamiento esperado que concuerda con el analisis presentado en la seccion

6.3.4.

7.3.2. Reconstruccion de Objetos

El objetivo de este experimento es determinar como afecta el uso de la utilidad

esperada al porcentaje de cobertura y a la tasa de colision en la reconstruccion de

diversos objetos. La tabla 7.4 muestra la cobertura promedio para cada objeto.

Se realizo una serie de diez reconstrucciones por objeto. El numero de muestras

para calcular la utilidad esperada fue de 500 (determinado con el experimento

anterior). El experimento muestra que UE aumenta el porcentaje de cobertura

y disminuye la tasa de colision. Ademas, la cobertura de la utilidad esperada

se mantiene mas cerca de la ideal (sin error de posicionamiento). La figura 7.12

muestra la cobertura para los objetos Conejo y Tetera.

7.3. SIMULACION CON ERROR DE POS. EN EL ESPACIO DE ESTADOS111

0 50 100 150 200 250 300 350 400 450 5000

5

10

15

20

25

30

35

40

Numero de muestras k

Taz

a de

col

isio

n

USUS−EPUE−EP

Figura 7.11: Comportamiento de la tasa de colision conforme el numero de mues-tras, k, incrementa. Reconstruccion del objeto Conejo con el enfoque de utilidadesperada (UE-EP). Conforme el numero de muestras incrementa la tasa de colisiondecrementa. Cuando k fue mayor de 400 la tasa de colision fue cero (ninguna delas mas de 1000 trayectorias planificadas tuvo colision). UD y UD-EP se muestrancon propositos de comparacion; las tasas de colision de UD y UD-EP permanecenconstantes dado que el numero de muestras no interfiere con ellas.

0 2 4 6 8 10 1230

40

50

60

70

80

90

100

Iteracion

% S

uper

ficie

cub

iert

a

SUEU−PE

(a) Conejo

0 2 4 6 8 10 1230

40

50

60

70

80

90

100

Iteracion

% S

uper

ficie

cub

iert

a

SUEU−PE

(b) Tetera

Figura 7.12: Porcentajes de cobertura de los objetos Conejo y Tetera. El porcenta-je de cobertura de la utilidad esperada se mantiene cercano al caso ideal sin errorde posicionamiento. Al final, UE-EP esta a menos del 5% debajo de UD. UD-EP no se muestra dado que ni una sola de las reconstrucciones de dicho enfoquealcanzo las 12 percepciones.

112 CAPITULO 7. EXPERIMENTOS Y RESULTADOS

Objeto Utilidad Cobertura (µ) Cobertura Max. Tasa de Colision

Conejo UD 95.0 95.0 0%UD-EP 48.2 87.4 37%UE-EP 78.9 95.0 0%

Tetera UD 93.6 94.5 0%UD-EP 41.3 68.2 60%UE-EP 86.1 92.9 0%

Dragon UD 87.5 87.8 0%UD-EP 36.1 55.6 45%UE-EP 81.0 87.5 0%

Tabla 7.4: Cobertura para cada enfoque. UE-PE incrementa el porcentaje de co-bertura y decrementa la tasa de colision.

7.4. Reconstruccion en una Escena Real

Una de las principales contribuciones de esta tesis es la capacidad del metodo

propuesto para manejar la incertidumbre tanto en percepcion como en el posi-

cionamiento del robot. En esta seccion se muestra la efectividad del metodo ante

dicha incertidumbre. Los experimentos realizados abarcan una serie de reconstruc-

ciones de un objeto de oficina utilizando un robot manipulador movil que tiene

montado un sensor Kinect en el efector final.

7.4.1. Objetivo

El objetivo del experimento es verificar que la utilidad esperada reduce la tasa

de colision y aumenta el porcentaje de reconocimiento en una escena real. Ademas

de verificar la capacidad del metodo general de reconstruir un objeto real. Para

validar que la utilidad esperada muestra una mejora se comparan las siguientes

variantes:

Metodo con utilidad determinıstica. Descrito en el capıtulo 5

Metodo con utilidad esperada. Descrito en el capıtulo 6 seccion 6.3.

7.4. RECONSTRUCCION EN UNA ESCENA REAL 113

Figura 7.13: Escena de reconstruccion.

7.4.2. Escena de Reconstruccion

La escena de reconstruccion, mostrada en la figura 7.13, establece un objeto

de oficina en el centro de una habitacion que tiene que ser modelado por el robot

manipulador movil. El objeto a modelar es una silla de oficina. El sensor utilizado

es un Kinect de Microsoft. El robot manipulador movil esta formado por una base

movil (Patrol Bot de MobileRobots) y un brazo manipulador (Katana 180 6M)

empotrado en el movil. El Kinect esta colocado sobre el efector final del brazo

robotico.

Al robot previamente se le especifica el cubo encapsulador del objeto y los

lımites de la escena determinados por las paredes del cuarto. Cada objeto se

reconstruyo tres veces. La tabla B.1 del apendice detalla los parametros de confi-

guracion utilizados.

114 CAPITULO 7. EXPERIMENTOS Y RESULTADOS

7.4.3. Resultados

Los resultados de la reconstruccion se sintetizan en la tabla 7.5 y se describen

en los siguientes parrafos. La primer ventaja de la utilidad esperada es que el

robot colisiona menos y por tanto puede realizar las percepciones necesarias. A

diferencia de la utilidad determinıstica donde el robot colisiona y se detiene el

proceso. Como consecuencia, con la utilidad esperada el volumen desconocido

remanente es menor. La distancia recorrida en total fue mayor con la utilidad

esperada dado que esta correlacionada con el numero de percepciones.

Otra caracterıstica del uso de la utilidad esperada, es que, las trayectorias

seguidas por el robot son mas cortas. Esto se refleja en el numero de controles

aplicados en cada trayectoria. La tabla 7.5 muestra que en promedio el numero

de controles por trayectoria se reduce en un 20%.

La tasa de colision fue notablemente menor cuando se utilizo la utilidad es-

perada (2.04%), lo que cumple con el comportamiento deseado. A pesar de que

la tasa de colision es muy pequena, esta no llega a ser cero, como sucedio en

simulacion para el mismo numero de 500 muestras, debido a dos motivos: i) la

distribucion estimada del error no es totalmente igual a la real y ii) el robot al

iniciar parte de una configuracion estimada y no la real. La distribucion estimada

no es igual debido a que se calcularon los parametros de la distribucion sin con-

templar el efecto que tiene la posicion del brazo en la dinamica del sistema. Este

problema se puede aminorar haciendo una mejor estimacion de la distribucion del

error. En el segundo punto, el robot inicia su movimiento de una configuracion

estimada la cual tiene un error. Una posible solucion al problema es considerar la

posicion inicial como una distribucion.

El tiempo de procesamiento del metodo esta en el orden de segundos cuando no

se contempla la incertidumbre en el posicionamiento (ver tabla 7.5 en el apartado

de tiempo para la utilidad determinıstica). En el caso de la utilidad esperada, el

tiempo de procesamiento es mayor (en promedio 2.9 minutos) pero sigue siendo

7.4. RECONSTRUCCION EN UNA ESCENA REAL 115

adecuado para la tarea, dado que permite al robot la reconstruccion de un objeto

dentro de su tiempo de autonomıa.

Parametro Utilidad Utilidaddeterminıstica esperada

Numero de percepciones en promedio 4 14Volumen desconocido remanente 0.07 m3 0.018 m 3

Distancia viajada total 28.7 72.52Numero de controles por trayectoria 70.5 56.8Tasa de colision 15.38% 2.04%Tiempo de planificacion por iteracion 24.73 s 175.74 sTiempo de actualizacion del modelo 5.77 s 4.82 s

Tabla 7.5: Resultados de la reconstruccion de la silla de oficina. Se utilizo elmetodo normal, denominado como utilidad determinıstica, y el metodo calculandola utilidad esperada. En el texto se analiza cada resultado.

El metodo con utilidad esperada es capaz de reconstruir la mayor parte de

la superficie. La figura 7.14 muestra una comparacion del objeto real contra el

modelo reconstruido. Dado que no se cuenta con un modelo de referencia no es

posible dar un porcentaje preciso de reconstruccion. Suponiendo que el porcentaje

de reconstruccion es similar al alcanzado en simulacion deberıa ser cercano al 90%.

Una parte que quedo sin observar es la parte inferior del asiento, debido a que el

brazo no es capaz de colocar en sensor en una posicion suficientemente baja para

observar esa zona.

La figura 7.15 muestra algunas configuraciones en las que se coloca el robot

para realizar las percepciones. Las figuras B.1 y B.2 del apendice muestran un

conjunto completo de configuraciones del robot en la reconstruccion de la silla.

Al finalizar la reconstruccion, el octree del objeto queda etiquetado en su gran

mayorıa de forma correcta, con voxeles ocupados y libres. La figura 7.16 muestra

el octree final. Sin embargo, cabe senalar que permanecen voxeles desconocidos

en zonas que ya fueron exploradas, como el frente de la silla. Estos voxeles des-

conocidos remanentes son generados por la baja precision del sensor. Es decir, el

sensor Kinect introduce medidas erroneas que convierten voxeles ocupados en des-

116 CAPITULO 7. EXPERIMENTOS Y RESULTADOS

(a) Vista lateral (b) Vista lateral

(c) Vista frontal (d) Vista frontal

(e) Perspectiva derecha (f) Perspectiva derecha

Figura 7.14: Comparacion del modelo obtenido con respecto del objeto real.

7.4. RECONSTRUCCION EN UNA ESCENA REAL 117

(a) (b)

Figura 7.15: Ejemplos de las diferentes configuraciones que el robot toma paraobservar el objeto. En la imagen izquierda el robot coloca el sensor en la posicionmas baja para poder observar zonas desconocidas. En la imagen derecha el robotse encuentra en la zona mas estrecha del escenario, entre el objeto y una columna.Para poder colocar el sensor a una distancia desde la cual pueda percibir el objeto,el robot se orienta de forma contraria al objeto y voltea el sensor con el brazo.

conocidos al disminuir su probabilidad de ocupacion. El mensaje de este hecho es

que aunque se hiciera una gran cantidad de percepciones el octree no convergerıa

completamente a etiquetas libres u ocupadas. Por lo tanto, es necesario establecer

el criterio de paro de acuerdo a la incertidumbre generada por el sensor. En este

experimento el criterio de paro fue de 15 voxeles (numero determinado por un

usuario que verifica que el modelo este completo).

La figura 7.17 muestra un par de ejemplos en donde se grafica que tan certero

(a) Vista lateral (b) Vista frontal (c) Perspectiva derecha

Figura 7.16: Octree final de la reconstruccion.

118 CAPITULO 7. EXPERIMENTOS Y RESULTADOS

−0.5 0 0.5 1−1.6

−1.5

−1.4

−1.3

−1.2

−1.1

−1

−0.9

−0.8

−0.7

Coordenada x

Coo

rden

ada

y

Camino planificadoOdometro

*

Pose inicial

Pose corregida−1.65 −1.6 −1.55 −1.5 −1.45 −1.4 −1.35 −1.3 −1.25 −1.2

−1.3

−1.2

−1.1

−1

−0.9

−0.8

−0.7

−0.6

−0.5

−0.4

Coordenada x

Coo

rden

ada

y

Camino planificadoOdometro

Pose inicial

Pose corregida

(b)

Figura 7.17: Ejemplos del desplazamiento del robot. Las figuras muestran la pro-yeccion de i) el camino planificado, ii) las muestras utilizadas para calcular lautilidad esperada (en azul) iii) el camino registrado por el odometro (linea enrojo) y iv) la pose corregida despues del registro (asterisco en rojo). La figura seexplica ampliamente en el texto.

es el muestreo generado por la utilidad esperada. Ademas se grafica el camino

planificado y el estimado por el odometro. Como se puede observar en la figura, la

posicion final determinada por el odometro corresponde con el muestreo. Sin em-

bargo, una vez hecho el registro la pose corregida no corresponde completamente

al muestreo. Este error se debe a que cada vez que el robot se localiza usando la

transformacion determinada por el registro, esta transformacion esta ligeramente

distorsionada. La distorsion se debe a que la nube de puntos que se registra fue

percibida en una posicion diferente debido al error en uno de los motores del brazo

(el error hace que las cosas observadas esten trasladadas y rotadas por un cierto

angulo). Este error es un desplazamiento sistematico en el angulo de un motor,

dicho angulo esta acotado y es posible modelarlo analıticamente de tal forma que

se elimine. Dicho analisis del error no fue tratado en esta tesis. Cabe destacar que

a pesar del error en el brazo el metodo es capaz de completar la reconstruccion

del objeto.

El proceso de registro permite la union de las superficies percibidas. En el

metodo propuesto, la transformacion obtenida se utiliza tambien para localizar el

7.4. RECONSTRUCCION EN UNA ESCENA REAL 119

robot. La figura 7.18 muestra el ejemplo de un par de nubes de puntos antes y des-

pues de ser registradas. Si el registro falla, las superficies quedan mal alineadas y la

pose del robot cambia a una pose erronea (podrıa incluso ser peor que la estimada

con el odometro). Durante los experimentos se hizo una supervision manual del

exito del registro. Determinar de forma automatica si un registro es o no exitoso

no es un problema trivial. Dado que es posible que ICP converja y las superficies

queden mal alineadas, debido a mınimos locales o falta de caracterısticas 3D de

la superficies [Low, 2006]. El porcentaje de exito de la implementacion hecha fue

del 85% para la silla. Para calcular el porcentaje se contabilizo manualmente el

numero de veces que ICP registro bien las superficies contra el numero total de

registros. Consideramos que es posible aumentar este porcentaje de exito de dos

formas: i) utilizando variantes mas recientes de ICP (en [Salvi et al, 2007] se ha-

ce una revision de metodos mas recientes) o ii) incorporando a la planificacion

un filtro que evalue mas caracterısticas sobre la superficie, por ejemplo, el filtro

propuesto por [Low, 2006]. Sin embargo, cabe mencionar que aunque se hagan las

mejoras esto no garantiza un exito del 100%. La razon es la incertidumbre, tanto

en la percepcion como en el posicionamiento del robot. Por lo tanto, un problema

a resolver para lograr una reconstruccion completamente autonoma es agregar un

criterio que determine si el registro fue o no exitoso.

7.4.4. Discusion

El metodo propuesto es capaz de planificar cada una de las vistas para re-

construir un objeto con un alto porcentaje de cobertura. A diferencia de enfoques

previos es capaz de encontrar tambien la serie de controles que llevan al robot al

estado que empata con la vista planificada para el sensor. Una de las principales

ventajas es que el metodo es capaz de lidiar con las incertidumbres de percepcion

y de actuacion. El tiempo de computo esta en el orden de minutos y consideramos

que es razonable para la tarea debido a que permite la reconstruccion de un obje-

120 CAPITULO 7. EXPERIMENTOS Y RESULTADOS

Figura 7.18: Ejemplo del registro de dos nubes de puntos del objeto. A la izquierdase muestra el par de nubes de puntos a ser registradas. A la derecha se muestrael mismo par de nubes de puntos despues del registro.

to dentro del tiempo de autonomıa del robot. Aun ası podrıa reducirse el tiempo

mediante la paralelizacion de algunos procesos.

El metodo es capaz de planificar la serie de controles que se van a aplicar en un

lazo de control abierto, y localizarse solo con la informacion de las percepciones.

Sin embargo, si mas informacion esta disponible de forma continua, por ejemplo,

las lecturas del ambiente mediante un sensor laser, la localizacion se puede realizar

con otra tecnica, como Localizacion Monte Carlo [Thrun et al, 2005], la utilidad

determinıstica es suficiente para determinar el SMEV y el tiempo de computo se

reduce al orden de segundos.

Dado que el metodo recae en un muestreo uniforme del espacio de estados y el

numero de muestras es limitado, es posible que no se halle el SMEV, o que se vuelva

mas difıcil de encontrarlo conforme incrementa la reconstruccion (debido a que

en las iteraciones finales quedan menos voxeles desconocidos y en consecuencia el

espacio de vistas factibles se reduce). Una posible mejora al metodo es realizar un

sesgo del muestreo. El sesgo puede ser a ciertas configuraciones que sabemos que

son factibles, por ejemplo, las vistas desde las cuales se ha hecho una percepcion.

7.5. RECONSTRUCCION EN UNA ESCENA REAL CON OBSTACULOS121

7.5. Reconstruccion en una Escena Real con Obstacu-

los

El objetivo de este experimento es mostrar que el algoritmo propuesto para

la planificacion del SMEV es capaz de reconstruir un objeto real en un escenario

con obstaculos. La escena de reconstruccion, mostrada en la figura 7.19, contiene

el objeto a reconstruir en el centro y dos obstaculos al rededor de el. Uno de los

obstaculos es una columna, parte del laboratorio, y el otro obstaculo es una caja.

Ambos obstaculos reducen el espacio de trabajo libre de colision. Ademas, para

poder completar el objeto el robot tiene que pasar por uno de los dos pasajes

estrechos que se generan, uno entre el objeto y la columna y otro entre el objeto

y la caja. La tabla B.3 detalla los parametros usados en el experimento.

(a) Representacion del Escenario (b) Representacion del Escenario

Figura 7.19: Escena de reconstruccion con obstaculos.

El algoritmo fue capaz de planificar los estados del robot sin colisionar con

el ambiente. La tasa de colision del experimento fue cero. La reconstruccion ob-

servo la mayor parte de la superficie del objeto. La figura 7.20 muestra la nube

de puntos acumulada del objeto. La figura 7.21 muestra proyectados todos los

estados del robot desde donde se hizo una percepcion. La figura 7.22 muestra la

evasion de un obstaculo para alcanzar el estado planificado.

122 CAPITULO 7. EXPERIMENTOS Y RESULTADOS

(a) Vista Frontal (b) Vista Trasera

Figura 7.20: Nube de puntos acumulada del objeto.

Figura 7.21: Proyeccion de los estados del robot desde donde se hizo una percep-cion.

7.5. RECONSTRUCCION EN UNA ESCENA REAL CON OBSTACULOS123

(a) Estado actual y SMEV. (b) Camino recorrido por el robot.

Figura 7.22: Ejemplo de evasion de obstaculos. El robot se desplaza desde el estadoactual, xc, hasta el siguiente mejor estado vista (SMEV) evadiendo la caja parano colisionar con ella.

Parametro ValorNumero de percepciones 17Volumen desconocido remanente 0.021 m3

Distancia viajada total 67.89Tasa de colision 0.0Tiempo promedio de planificacion poriteracion

88.82 s

Tiempo de actualizacion del modelo 4.65 s

Tabla 7.6: Reconstruccion de objetos en un escenario con obstaculos.

124 CAPITULO 7. EXPERIMENTOS Y RESULTADOS

7.6. Resumen

En este capıtulo se presentaron los experimentos realizados para comparar el

rendimiento del metodo propuesto.

La primera seccion mostro los experimentos realizados en simulacion sin error

de posicionamiento. En ellos se comparo la funcion de utilidad propuesta contra la

funcion de utilidad por ganancia de informacion [Kriegel et al, 2012]. Los experi-

mentos mostraron que ambas funciones de utilidad convergen al mismo porcentaje

de cobertura. Si la funcion de utilidad propuesta se combina con el trazado de

rayos jerarquico existe una reduccion del tiempo de procesamiento hasta del 90%,

mientras se mantiene el porcentaje de cobertura. Ası mismo, se probo el algorit-

mo con diferentes objetos complejos. Los resultados muestran que el algoritmo es

capaz de alcanzar porcentajes de cobertura de mas del 90% y nos permite deducir

que el algoritmo puede alcanzar un alto porcentaje de cobertura sin importar la

forma del objeto. Al final de la primera seccion se experimento con el numero

de candidatos para los que se busca una trayectoria. De los resultados deducimos

que la variante mas eficiente (tiempo de procesamiento) es la que aproxima la dis-

tancia con una lınea recta en el espacio de estado y solo planifica una trayectoria

para el candidato con la mejor evaluacion.

La segunda seccion mostro los experimentos realizados en simulacion utilizan-

do un robot que tiene posicionamiento imperfecto. Los resultados mostraron que,

cuando se trata de objetos complejos, la convolucion despues de evaluacion reduce

el numero de percepciones y aumenta el porcentaje de cobertura cuando existe

un error de posicionamiento residual con una distribucion normal en el espacio de

trabajo. Cuando el error no puede ser modelado en el espacio de trabajo, debido

a que existen restricciones no holonomicas en el sistema o el error depende de la

trayectoria, el uso de la utilidad esperada como forma de evaluacion disminuyo el

numero de colisiones y aumento el porcentaje de cobertura (En la tercera seccion).

La cuarta seccion mostro los experimentos realizados en una escena real. Los

7.6. RESUMEN 125

resultados obtenidos mostraron que el metodo propuesto fue eficaz en la recons-

truccion de dos objetos de oficina con un robot de ocho grados de libertad y un

sensor ruidoso. El metodo fue capaz de lidiar con la incertidumbre del sensor y

del posicionamiento.

El metodo propuesto es uno de los primeros en lograr la reconstruccion de

objetos utilizando un sistema de posicionamiento movil, siendo que la mayorıa

del trabajo relacionado utiliza sistemas de posicionamiento fijo. A diferencia del

trabajo relacionado, el metodo planifica la vista del sensor, el estado del robot y la

trayectoria requerida. Cada vista planificada es robusta al error de posicionamien-

to, es decir, tiene una muy baja probabilidad de colisionar de acuerdo al analisis

presentado y logra porcentajes promedio de observacion similares al caso ideal sin

error de posicionamiento (La peor diferencia promedio con respecto del caso ideal

fue de 16.1%). Cuando no existe error de posicionamiento, los tiempos de pro-

cesamiento del metodo son similares a los metodos mas recientes, en el orden de

segundos. Cuando existe error de posicionamiento, los tiempos de procesamiento

estan en el orden de minutos; hasta el momento no se ha presentado otro metodo

de planificacion de vistas que trate con la incertidumbre en el posicionamiento del

sensor.

126 CAPITULO 7. EXPERIMENTOS Y RESULTADOS

Capıtulo 8

Conclusiones y Trabajo Futuro

8.1. Conclusiones

En esta tesis se presento un algoritmo para planificar el siguiente mejor es-

tado/vista (SMEV) para reconstruir tridimensionalmente un objeto. A diferencia

del trabajo previo el algoritmo propuesto planifica ademas de la vista del sensor,

el estado del robot y una trayectoria libre de colision para un robot manipulador

movil que tiene incertidumbre en su posicionamiento. Cada estado/vista planifica-

do observa superficie desconocida mientras satisface las restricciones de sensado,

posicionamiento, registro.

El algoritmo presentado fue disenado como una solucion practica para la pla-

nificacion del SMEV cuando se utiliza un robot movil como sistema de posicio-

namiento. Es decir, el algoritmo es capaz de determinar, en un tiempo adecuado

para la tarea, el siguiente estado/vista. Esto se logro mediante el paradigma de

busqueda, en el cual se genera un conjunto de candidatos y se hace una evalua-

cion de los mismos. La contribucion esta en la estrategia propuesta para realizar

la evaluacion. Dicha estrategia descompone la funcion de utilidad en una serie de

filtros que descartan y evaluan los candidatos. Dados los resultados obtenidos en

el robot real de 8 grados de libertad, consideramos que la eficacia y la eficiencia del

127

128 CAPITULO 8. CONCLUSIONES Y TRABAJO FUTURO

algoritmo es adecuada para implementarse en otros robots manipuladores moviles

con incertidumbre de posicionamiento y sensores imperfectos.

Una de las contribuciones del algoritmo es su capacidad para lidiar con la

incertidumbre que existe al utilizar un robot manipulador movil en un escenario

real. Incertidumbre tanto en la percepcion como en el posicionamiento. La incerti-

dumbre en la percepcion se controla mediante una representacion del espacio con

mapas de ocupacion probabilista (octree probabilista). Por otro lado, la incerti-

dumbre en posicionamiento se controla mediante la planificacion de estados/vistas

robustos a ella. Dichos estados/vista son planificadas mediante una de dos estra-

tegias propuestas. La primera estrategia, convolucion despues de evaluacion, es

capaz de determinar posiciones para el sensor desde donde es muy probable que

se hagan percepciones eficaces. La segunda estrategia determina estados del ro-

bot robustos al error mediante el calculo de la utilidad esperada que simula la

cinematica del sistema de acuerdo al modelo del error del robot. Con la segunda

estrategia, ademas de aumentar el porcentaje de cobertura, se disminuye de ma-

nera drastica la tasa de colision del robot. La utilidad esperada puede ajustar o

reemplazar el modelo de error de acuerdo a la dinamica del sistema y por tanto

se puede usar en cualquier robot que tenga posicionamiento imperfecto.

Otra de las contribuciones de la tesis es una tecnica que ayuda a reducir el

tiempo de evaluacion de las vistas mediante la aproximacion de la visibilidad con

un trazado de rayos jerarquico. El trazado de rayos jerarquico utiliza la capacidad

de un octree de representar la escena a diferentes resoluciones, de tal forma que

solo se utiliza la resolucion mas fina cuando es necesario.

Los resultados, tanto en simulacion como en un robot manipulador movil real

de ocho grados de libertad con un sensor Kinect, mostraron que al utilizarse el al-

goritmo propuesto es posible la reconstruccion de objetos automatica en ambientes

reales sin la necesidad de un sistema de posicionamiento perfecto. La importancia

de este hecho radica en que es uno de los primeros trabajos en determinar la vista

del sensor, el estado del robot y la serie de controles que se debe aplicar al robot;

8.2. TRABAJO FUTURO 129

comparado con el trabajo previo que solo determina las vistas del sensor. Ademas,

es uno de los primeros trabajos en funcionar en un manipulador movil real, que es

inherentemente impreciso; a diferencia de la mayorıa del trabajo relacionado que

utiliza robots fijos como brazos manipuladores o tornamesas.

En la siguiente seccion se describen las limitaciones del trabajo presentado

junto con las lıneas de investigacion que podrıan seguirse para solventar dichas

limitaciones.

8.2. Trabajo Futuro

Una limitacion del trabajo presentado es que las soluciones generadas rara-

mente seran optimas. En algunos de los casos el SMEV es unicamente el primer

candidato que logra satisfacer todas las restricciones, en otras palabras, el prime-

ro que logra pasar todos los filtros. Consideramos que una forma prometedora de

mejorar la calidad de las soluciones es mejorar el muestreo donde se generan los

estados candidatos. Una hipotesis es que, basandose en la informacion del primer

muestreo, es posible determinar regiones del espacio de estados prometedoras y

sesgar el muestreo a esas regiones. Otra hipotesis es que sesgar las muestras a

estados/vista generados con un metodo de sıntesis y cinematica inversa mejorarıa

la calidad del SMEV.

Uno de los problemas notados en la experimentacion real fue que en algunas

ocasiones no se logra hacer un registro exitoso. Una mejora podrıa ser incorporar

una restriccion de forma de las superficies observadas. Por ejemplo, que el SMEV

observe al menos ciertos puntos caracterısticos tridimensionales. Esto incrementa

las posibilidades de exito del algoritmo de registro. El metodo de evaluacion por

filtros puede incorporar esta restriccion u otras. Mas no consideramos que se logre

llegar a una tasa de exito del 100% dado que existe incertidumbre en el sensado

y en el posicionamiento.

El metodo propuesto se basa en que se conocen las dimensiones y posicion

130 CAPITULO 8. CONCLUSIONES Y TRABAJO FUTURO

aproximadas del objeto, de tal forma que es posible generar un cubo encapsu-

lador. Sin embargo, en un ambiente real no siempre es posible satisfacer estas

condiciones. Consideramos que en el trabajo futuro se debe encontrar una for-

ma mediante la cual el algoritmo determine de forma interactiva el espacio que

contiene al objeto.

El tiempo de procesamiento del algoritmo esta en el orden de minutos en el

peor de los casos. Esta cantidad de tiempo podrıa ser mucha para un robot que

tiene que trabajar en un ambiente dinamico. Una posible vıa para disminuir dicho

tiempo es mediante la paralelizacion de los procesos de muestreo involucrados.

Otra posible extension del algoritmo propuesto es considerar el estado actual

como un estado parcialmente observable. De tal forma que el siguiente mejor

estado/vista maximice su ganancia a partir de un estado incierto. Algunas alter-

nativas son extender el metodo actual considerando el estado actual como una

distribucion o considerar el problema como un partially observable Markov deci-

sion process, para lo cual consideramos que el reto esta en determinar de forma

eficiente la funcion de recompensa.

Apendice A

Parametros de Configuracion.

Parametro ValorTipo Tiempo de vuelo

Resolucion horizontal 176 puntosResolucion vertical 144 puntosApertura horizontal 44.11°

Apertura vertical 34.95°

Tabla A.1: Configuracion del sensor en los experimentos en simulacion.

131

132 APENDICE A. PARAMETROS DE CONFIGURACION.

Parametro ValorObjeto reconstruido ConejoRepeticiones por objeto 5Numero de muestras para generarlos candidatos (n)

10 000

Calculo de la visibilidad Trazado de rayos uniforme y ga-nancia de informacion

Resolucion del octree 2 cmProfundidad del octree 16Estrategia de planificacion de mo-vimientos

Aproxima la distancia como unalınea recta en el espacio de esta-dos y se queda con el primer can-didato factible

Algoritmo de planificacion de mo-vimientos

RRT ExtExt con 10 000 nodos

Porcentaje de traslape 50Computadora Laptop con procesador Intel i5 y

2 GB de RAM

Tabla A.2: Configuracion del experimento de la seccion 7.1. Validacion de la fun-cion de utilidad.

133

Parametro ValorObjeto reconstruido ConejoRepeticiones por objeto 10Numero de muestras para generarlos candidatos (n)

10 000

Calculo de la visibilidad Trazado de rayos jerarquico. En elexperimento se varıa el nivel ini-cial del trazado de rayos jerarqui-co.

Resolucion del octree 2 cmProfundidad del maxima del oc-tree

16

Estrategia de planificacion de mo-vimientos

Aproxima la distancia como unalınea recta en el espacio de esta-dos y se queda con el primer can-didato factible

Algoritmo de planificacion de mo-vimientos

RRT ExtExt con 10 000 nodos

Porcentaje de traslape 50Computadora Laptop con procesador Intel i5 y

2 GB de RAM

Tabla A.3: Configuracion del experimento sobre el tiempo de procesamiento y elcalculo de la visibilidad. Seccion 7.1.3

134 APENDICE A. PARAMETROS DE CONFIGURACION.

Parametro ValorObjeto reconstruido Conejo, tetera y dragonRepeticiones por objeto 10Numero de muestras para generarlos candidatos (n)

10 000

Calculo de la visibilidad Trazado de rayos jerarquico. Ni-vel inicial 14/16

Resolucion del octree 2 cmProfundidad del maxima del oc-tree

16

Estrategia de planificacion de mo-vimientos

Aproxima la distancia como unalınea recta en el espacio de esta-dos y se queda con el primer can-didato factible

Algoritmo de planificacion de mo-vimientos

RRT ExtExt con 10 000 nodos

Porcentaje de traslape 50Computadora Laptop con procesador Intel i5 y

2 GB de RAM

Tabla A.4: Configuracion del experimento de la reconstruccion de objetos diferen-tes. Seccion 7.1.4

Parametro ValorObjeto reconstruido ConejoRepeticiones por objeto 10Numero de muestras para generarlos candidatos (n)

10 000

Calculo de la visibilidad Trazado de rayos jerarquico. Ni-vel inicial 14/16.

Resolucion del octree 2 cmProfundidad del maxima del oc-tree

16

Estrategia de planificacion de mo-vimientos

En el experimento se varıa la es-trategia.

Algoritmo de planificacion de mo-vimientos

RRT ExtExt con 10 000 nodos

Porcentaje de traslape 50Computadora Laptop con procesador Intel i5 y

2 GB de RAM

Tabla A.5: Configuracion del experimento para probar las variantes del algoritmo.Seccion 7.1.5.

135

Parametro ValorObjeto Conejo, tetera y dragonRepeticiones por objeto 10Estados candidatos (n) 4000Resolucion del voxel 2 cmDistancia de correspondencia 3 mmNumero de candidatos a los quese le calcula la utilidad esperada

25

Algoritmo de planificacion de mo-vimientos

RRT ExtExt 10 000

Porcentaje de traslape 50

Tabla A.6: Parametros del experimento de planificacion del siguiente mejor esta-do/vista con error de posicionamiento.

Parametro Valorµ Traslacional -0.42 mmσ Traslacional 1.65 mmµ Rotacional -0.23 mm/sσ Rotacional 0.28 mm/s

Tabla A.7: Parametros de la distribucion del error usados en los experimentos ensimulacion. Los parametros fueron estimados mediante la recaudacion de datosestadısticos del robot. El numero de muestras fue de 70. Para el error traslacionalcada muestra se obtuvo aplicando una velocidad de 50 mm/s durante 2/s y semidio la distancia recorrida. Para el error rotacional al robot se le aplico unavelocidad de 5 grados/s durante 2 segundos y se midio el angulo recorrido.

136 APENDICE A. PARAMETROS DE CONFIGURACION.

Apendice B

Datos Adicionales del

Experimento con el Robot Real

Parametro ValorEstrategia Primer candidato factibleNumero de reconstruccionespor objeto

3

Numero de muestras poriteracion

40 000

Nodos RRT 10 000Muestras utilidad esperada 500Criterio de paro Menos de 30 voxeles en la

SMVTraslape mınimo 65%Trazado de rayos jerarquico Inicia en nivel 14/16computadora Laptop con procesador Intel

Core i5. 2GB de memoria

Tabla B.1: Configuracion de la planificacion de movimientos para la reconstruccionde la silla de oficina.

137

138APENDICE B. DATOS ADICIONALES DEL EXPERIMENTO CON EL ROBOT REAL

Parametro valorResolucion del voxel 3 cmTamano del cubo encapsulador 80 cm x 80 cm x 95 cmSensor Kinect de MicrosoftResolucion del sensor 640 x 480 puntosResolucion (espacial) del sensor 3 mm (A menos de 2 mts)

Tabla B.2: Parametros del sensor utilizado en el experimento en un ambiente real.

Parametro ValorEstrategia Primer candidato factibleNumero de muestras de Xpor iteracion

100 000

Nodos RRT 10 000Muestras utilidad esperada 500Criterio de paro Menos de 15 voxeles en el

SMEVTraslape mınimo 65%Trazado de rayos jerarquico Inicia en nivel 14 de 16Computadora Laptop con procesador Intel

Core i5 y 2GB de memoria

Tabla B.3: Configuracion del algoritmo de planificacion del siguiente mejor estadovista para reconstruccion tridimensional de objetos en un ambiente con obstaculos.

139

(a) Percepcion 1 (b) Percepcion 2

(c) Percepcion 3 (d) Percepcion 4

(e) Percepcion 5 (f) Percepcion 6

(g) Percepcion 7 (h) Percepcion 8

Figura B.1: Primera parte de las percepciones realizadas en una reconstrucciondel objeto real.

140APENDICE B. DATOS ADICIONALES DEL EXPERIMENTO CON EL ROBOT REAL

(a) Percepcion 9 (b) Percepcion 10

(c) Percepcion 11 (d) Percepcion 12

(e) Percepcion 13 (f) Percepcion 14

Figura B.2: Segunda parte de las percepciones realizadas en una reconstrucciondel objeto real.

Apendice C

Publicaciones

Derivadas de esta investigacion se realizaron la siguientes publicaciones:

J. I. Vasquez, L.Enrique Sucar, Next-Best-View Planning for 3D Object Re-

construction under Positioning Error, Mexican International Conference on Arti-

ficial Intelligence (MICAI), in LNAI 7094, Springer, pp. 429–442, 2011

J. Irving Vasquez, L. Enrique Sucar and Rafael Murrieta-Cid, Hierarchical

Ray Tracing for Fast Volumetric Next-Best-View Planning, Proceedings of Tenth

Conference on Computer and Robot Vision (CRV 2013). 2013.

J. Irving Vasquez, L. E. Sucar and Rafael Murrieta-Cid, View Planning for 3D

Object Reconstruction with a Mobile Manipulator Robot, Accepted to IEEE/RSJ

International Conference on Intelligent Robots and Systems 2014.

J. Irving Vasquez, L. E. Sucar and Rafael Murrieta-Cid, Efrain Lopez-Damian,

Volumetric Next-Best-View Planning for 3D Object Reconstruction with Psitio-

ning Error. Accepted to International Journal of Advanced Robotic Systems

141

142 APENDICE C. PUBLICACIONES

Bibliografıa

[Amanatides et Woo, 1987] Amanatides J. et Woo A. (1987). A fast voxel traver-

sal algorithm for ray tracing. En In Eurographics ’87, pp. 3–10.

[Banta et Abidi, 1996] Banta J. et Abidi M. (1996). Autonomous placement of

a range sensor for acquisition of optimal 3-D models. En Proceedings of the

IEEE 22nd International Conference on Industrial Electronics, Control and

Instrumentation (Taipei, Taiwan), volume 3, pp. 1583–1588.

[Banta et al, 2000] Banta J. E., Wong L. M., Dumont C., et Abidi M. A. (2000).

A Next-Best-View System for Autonomous 3-D Object Reconstruction. IEEE

Transactions on Systems, Man and Cybernetics, Part A: Systems and Humans,

30:589–598.

[Banta et al, 1995] Banta J. E., Zhien Y., Wang X. Z., Zhang G., Smith M. T., et

Abidi M. A. (1995). A best-next-view algorithm for three-dimensional scene re-

construction using range images. En XIV session of intel systems and advanced

manufacturing symposium, SPIE, pp. 418–29.

[Berg et al, 2010] Berg J. V. D., Abbeel P., et Goldberg K. (2010). Lqg-mp:

Optimized path planning for robots with motion uncertainty and imperfect

state information. En Proceedings of Robotics: Science and Systems, Zaragoza,

Spain.

143

144 BIBLIOGRAFIA

[Besl et McKay, 1992] Besl P. et McKay N. (1992). A method for registration of

3-d shapes. IEEE Transactions on Pattern Analysis and Machine Intelligence,

14:239–256.

[Blaer et Allen, 2006a] Blaer P. et Allen P. (2006a). Two Stage View Planning

for Large-Scale Site Modeling. En Third International Symposium on 3D Data

Processing, Visualization, and Transmission (3DPVT’06), pp. 814–821.

[Blaer et Allen, 2006b] Blaer P. et Allen P. (2006b). View Planning for Automa-

ted Site Modeling. En Proceedings of the IEEE International Conference on

Robotics and Automation, 2006. ICRA 2006 (Orlando, FL), pp. 2621–2626.

[Blaer et Allen, 2007] Blaer P. et Allen P. (2007). Data acquisition and view

planning for 3-D modeling tasks. En IEEE/RSJ International Conference on

Intelligent Robots and Systems, 2007. IROS 2007 (San Diego, CA.), pp. 417–

422.

[Connolly, 1985] Connolly C. (1985). The determination of next best views. En

IEEE International Conference on Robotics and Automation 1985, ICRA85,

volume 2, pp. 432–435.

[Craig, 2005] Craig J. J. (2005). Introduction to Robotics: Mechanics and Control.

Prentice Hall, 3 edition.

[Dudek et Jenkin, 2000] Dudek G. et Jenkin M. (2000). Computational Principles

of Mobile Robotics. Cambridge University Press, New York, NY, USA.

[Eric Larsen et Manocha, 2000] Eric Larsen Stefan Gottschalk M. C. L. et Ma-

nocha D. (2000). Fast proximity queries with swept sphere volumes. En Proc.

IEEE Int. Conf. Robot. Autom., pp. 3719–3726. Also available as tech. rep.

TR99-018, Dept. Comput. Sci., Univ. N. Carolina Chapel Hill, 1999.

[Foissotte et al, 2008] Foissotte T., Stasse O., Escande A., et Kheddar A. (2008).

A next-best-view algorithm for autonomous 3D object modeling by a humanoid

BIBLIOGRAFIA 145

robot. En Proc. of International Conference on Humanoid Robots, 2008., pp.

333–338.

[Foissotte et al, 2009] Foissotte T., Stasse O., Escande A., Wieber P.-B., et Khed-

dar A. (2009). A two-steps next-best-view algorithm for autonomous 3d object

modeling by a humanoid robot. En Proceedings of the 2009 IEEE international

conference on Robotics and Automation, ICRA’09, pp. 1078–1083, Piscataway,

NJ, USA. IEEE Press.

[Garcıa et Velazquez, 1998] Garcıa M. A. et Velazquez S. (1998). A two-stage

algorithm for planning the next view from range images. En Procceedings of

the 6th British Machine Vision Conference, pp. 720–729.

[Glassner, 1989] Glassner A. S. (1989). An introduction to ray tracing. Academic

Press Ltd., London, UK, UK.

[Gonzalez-Banos et al, 1995] Gonzalez-Banos H., Mao E., Latombe J., Murali

T. B., et Efrat A. (1995). Planning robot motion strategies for efficient model

construction. En Proceedings of the SPIE on Intelligent Robots and Computer

Vision 1995., volume 2588, pp. 418–429.

[Huang et Gupta, 2009] Huang Y. et Gupta K. (2009). Collision-probability cons-

trained prm for a manipulator with base pose uncertainty. En Intelligent Robots

and Systems, 2009. IROS 2009. IEEE/RSJ International Conference on, pp.

1426–1432.

[Kavraki et al, 1996] Kavraki L., Svestka P., Latombe J.-C., et Overmars M.

(1996). Probabilistic roadmaps for path planning in high-dimensional configu-

ration spaces. Robotics and Automation, IEEE Transactions on, 12(4):566–580.

[Kehoe et al, 2013] Kehoe B., Matsukawa A., Candido S., Kuffner J., et Gold-

berg K. (2013). Cloud-based robot grasping with the google object recognition

engine. En IEEE International Conference on Robotics and Automation.

146 BIBLIOGRAFIA

[Kewlani et al, 2009] Kewlani G., Ishigami G., et Iagnemma K. (2009). Stochastic

mobility-based path planning in uncertain environments. En Proceedings of the

2009 IEEE/RSJ International Conference on Intelligent Robots and Systems,

IROS’09, pp. 1183–1189, Piscataway, NJ, USA. IEEE Press.

[Krainin et al, 2011] Krainin M., Curless B., et Fox D. (2011). Autonomous ge-

neration of complete 3d object models using next best view manipulation plan-

ning. En ICRA, pp. 5031–5037.

[Kriegel et al, 2012] Kriegel S., Rink C., Bodenmuller T., Narr A., Suppa M., et

Hirzinger G. (2012). Next-best-scan planning for autonomous 3d modeling. En

Intelligent Robots and Systems (IROS), 2012 IEEE/RSJ International Confe-

rence on, pp. 2850–2856.

[LaValle, 2006] LaValle S. M. (2006). Planning Algorithms. Cambridge University

Press.

[LaValle et Kuffner, 2000] LaValle S. M. et Kuffner J. J. (2000). Rapidly-

exploring random trees: Progress and prospects. En Proceedings Workshop

on the Algorithmic Foundations of Robotics.

[LaValle et Kuffner, 2001] LaValle S. M. et Kuffner J. J. (2001). Randomi-

zed kinodynamic planning. The International Journal of Robotics Research,

20(5):378–400.

[Low, 2006] Low K.-L. (2006). View Planning for Range Acquisition of Indoor

Environments. Tesis doctoral, University of North Carolina at Chapel Hill.

[Low et Lastra, 2006] Low K.-L. et Lastra A. (2006). Efficient constraint evalua-

tion algorithms for hierarchical next-best-view planning. 3D Data Processing

Visualization and Transmission, International Symposium on, 0:830–837.

BIBLIOGRAFIA 147

[Low et Lastra, 2007] Low K.-L. et Lastra A. (2007). Predetermination of icp

registration errors and its application to view planning. En Proceedings of the

International Conference on 3D Digital Imaging and Modeling, pp. 73–80.

[Lozano et al, 2002] Lozano M. T., Devy M., et Sanchiz J. M. (2002). Perception

Planning for an Exploration Task of a 3d Environment. En Proceedings of the

16 th international conference on pattern recognition, ICPR’02, volume 3, pp.

704–707.

[Lu, 1989] Lu C. (1989). The Error Propagation in Robots. Tesis doctoral, Uni-

versity of Ottawa.

[Massios et Fisher, 1998] Massios N. A. et Fisher R. B. (1998). A Best Next View

Selection Algorithm Incorporating a Quality Criterion. En British Machine

Vision Conference, BMVC98, pp. 780–789.

[Maver et Bajcsy, 1993] Maver J. et Bajcsy R. (1993). Occlusions as a guide for

planning the next view. IEEE Transactions on Pattern Analysis and Machine

Intelligence, 15:417–433.

[Melchior et Simmons, 2007] Melchior N. et Simmons R. (2007). Particle rrt for

path planning with uncertainty. En Robotics and Automation, 2007 IEEE In-

ternational Conference on, pp. 1617–1624.

[Miller et Allen, 2004] Miller A. et Allen P. (2004). Graspit! a versatile simulator

for robotic grasping. IEEE Robotics & Automation Magazine, 11:110–122.

[Morooka et al, 1999] Morooka K., Zha H., et Hasegawa T. (1999). Computations

on a spherical view space for efficient planning of viewpoints in 3-d object

modeling. En Proceedings of the Second International Conference on 3-D Digital

Imaging and Modeling,, pp. 138–147.

[Ocnus, 1997] Ocnus (1997). Vrml models repository. online

http://www.ocnus.com/models/.

148 BIBLIOGRAFIA

[O’Rourke, 1987] O’Rourke J. (1987). Art Gallery Theorems and Algorithms.

Oxford University Press.

[Salvi et al, 2007] Salvi J., Matabosch C., Fofi D., et Forest J. (2007). A review

of recent range image registration methods with accuracy evaluation. Image

Vision Comput., 25:578–596.

[Sanchiz et Fisher, 1999] Sanchiz J. et Fisher R. (1999). A next-best-view algo-

rithm for 3d scene recovery with 5 degrees of freedom. En British Machine

Vision Conference 1999 (Nottingham, UK), pp. 163–172.

[Scott et al, 2003] Scott W. R., Roth G., et Rivest J.-F. (2003). View planning

for automated three-dimensional object reconstruction and inspection. ACM

Comput. Surv., 35:64–96.

[Scott et al, 2004] Scott W. R., Yz W. R. S., Roth G., et Rivest J.-F. (2004).

View planning with positioning system error. Reporte tecnico, NRC Institute

for Information Technology; National Research Council Canada.

[Stanford University, 2009] Stanford University (2009). The stanford 3d scanning

repository. online https://graphics.stanford.edu/data/3Dscanrep/.

[Stasse et al, 2007] Stasse O., Larlus D., Lagarde B., Escande A., Saidi F., Khed-

dar A., Yokoi K., et Jurie F. (2007). Towards autonomous object reconstruction

for visual search by the humanoid robot hrp-2. En IEEE RAS/RSJ Conference

on Humanoids Robot.

[Surmann et al, 2003] Surmann H., Nuchter A., et Hertzberg J. (2003). An auto-

nomous mobile robot with a 3d laser range finder for 3d exploration and digitali-

zation of indoor environments. Robotics and Autonomous Systems, 45(3-4):181

– 198.

BIBLIOGRAFIA 149

[Thrun et al, 2005] Thrun S., BurgardW., et Fox D. (2005). Probabilistic Robotics

(Intelligent Robotics and Autonomous Agents series). Intelligent robotics and

autonomous agents. The MIT Press.

[Torabi et Gupta, 2012] Torabi L. et Gupta K. (2012). An autonomous six-dof

eye-in-hand system for in situ 3d object modeling. The International Journal

of Robotics Research, 31(1):82–100.

[Tovar et al, 2006] Tovar B., Munoz-Gomez L., Murrieta-Cid R., Alencastre-

Miranda M., Monroy R., et Hutchinson S. (2006). Planning exploration stra-

tegies for simultaneous localization and mapping. Robotics and Autonomous

Systems, 54(4):314–331.

[Trummer et al, 2010] Trummer M., Munkelt C., et Denzler J. (2010). Onli-

ne next-best-view planning for accuracy optimization using an extended e-

criterion. En Proceedings of the 2010 20th International Conference on Pattern

Recognition, ICPR ’10, pp. 1642–1645, Washington, DC, USA. IEEE Computer

Society.

[Vasquez et al, 2009] Vasquez J. I., Lopez-Damian E., et Sucar L. E. (2009). View

Planning for 3D Object Reconstruction. En IEEE/RSJ International Confe-

rence on Intelligent Robots and Systems (IROS09), pp. 4015–4020.

[Vasquez et Sucar, 2011] Vasquez J. I. et Sucar L. (2011). Next-best-view plan-

ning for 3d object reconstruction under positioning error. En Springer editores,

Mexican International Conference on Artificial Intelligence (MICAI), pp. 429–

442.

[Vasquez et al, 2013] Vasquez J. I., Sucar L. E., et Murrieta-Cid R. (2013). Hie-

rarchical Ray Tracing for Fast Volumetric Next-Best-View Planning. En Tenth

Canadian Conference on Computer and Robot Vision 2013.

150 BIBLIOGRAFIA

[Vasquez et al, 2014] Vasquez J. I., Sucar L. E., et Murrieta-Cid R. (2014). View

planning for 3d object reconstruction with a mobile manipulator robot. En

IEEE/RSJ International Conference on Intelligent Robots and Systems.

[Vasquez-Gomez et al, 2014] Vasquez-Gomez J., Sucar L., Murrieta-Cid R., et

Lopez-Damian E. (2014). Volumetric next-best-view planning for 3d object

reconstruction with positioning error. Internat J Adv Robot Syst.

[Wenhardt et al, 2007] Wenhardt S., Deutsch B., Angelopoulou E., et Niemann

H. (2007). Active visual object reconstruction using d-, e-, and t-optimal next

best views. Computer Vision and Pattern Recognition, IEEE Computer Society

Conference on, 0:1–7.

[Wenhardt et al, 2006] Wenhardt S., Deutsch B., Hornegger J., Niemann H., et

Denzler J. (2006). An information theoretic approach for next best view plan-

ning in 3-d reconstruction. En Proceedings of the 18th International Conference

on Pattern Recognition - Volume 01, ICPR ’06, pp. 103–106, Washington, DC,

USA. IEEE Computer Society.

[Weyrich et al, 2004] Weyrich T., Pauly M., Keiser R., Heinzle S., Scandella S.,

et Gross M. (2004). Post-processing of scanned 3d surface data. En Proceedings

of the First Eurographics Conference on Point-Based Graphics, SPBG’04, pp.

85–94, Aire-la-Ville, Switzerland, Switzerland.

[Wong et al, 1999] Wong L. M., Dumont C., et Abidi M. A. (1999). Next Best

View system in a 3-d Object Modeling Task. En Proceedings of EEE Interna-

tional Symposium on Computational Intelligence in Robotics and Automation

1999. CIRA99., pp. 306–311.

[Wurm et al, 2010] Wurm K. M., Hornung A., Bennewitz M., Stachniss C., et

Burgard W. (2010). OctoMap: A probabilistic, flexible, and compact 3D map

representation for robotic systems. En Proc. of the ICRA 2010 Workshop on

BIBLIOGRAFIA 151

Best Practice in 3D Perception and Modeling for Mobile Manipulation, Ancho-

rage, AK, USA.

[Zhang et al, 2009] Zhang S., Yan G., et Sheng W. (2009). Viewpoint planning

for automated 3d digitization using a low-cost mobile platform. En IEEE/RSJ

international Conference on Intelligent Robots and Systems, pp. 4369–4374.

[Zhang et al, 2010] Zhang S., Yan G., et Sheng W. (2010.). An efficient planning

method for mobile robot based 3d digitization. En 8th World Congress on

Intelligent Control and Automation.