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
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
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
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
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.
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.
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.
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.
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.
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.
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.
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
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.