Beruflich Dokumente
Kultur Dokumente
Sede Manizales
Manizales, Colombia
2010
Planificador de trayectorias para un robot movil
orientado a la reconstruccion en 3D de entornos
desconocidos
por
Tesis
Sede Manizales
En cumplimiento
de los Requerimientos
para el Grado de
Magister en Ingeniera
1. Introduccion 5
2. Marco teorico 8
2.1. Trabajos previos . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.1.1. Etapas en la planificacion de trayectorias . . . . . . . . 12
3. Planificador de trayectorias 16
3.1. Clasificacion del espacio: Nodos vistos, no vistos y ocupados . 17
3.1.1. Clasificacion de nodos sin obstaculo presente en el cam-
po visual de la camara . . . . . . . . . . . . . . . . . . 18
3.1.2. Clasificacion de nodos con obstaculo presente en el
campo visual de la camara. . . . . . . . . . . . . . . . 19
3.1.3. Clasificacion de los nodos ocupados . . . . . . . . . . . 22
3.1.4. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.2. Trayectoria deseada . . . . . . . . . . . . . . . . . . . . . . . . 26
3.2.1. Adaptacion de la funcion gaussiana en la obtencion de
la trayectoria deseada . . . . . . . . . . . . . . . . . . . 28
3.2.2. Tratamiento del angulo inicial del movil . . . . . . . . 30
3.2.3. Replanteamiento de la trayectoria adecuada cuando el
obstaculo esta muy cerca del robot movil. . . . . . . . 34
3.3. Mejor vista siguiente . . . . . . . . . . . . . . . . . . . . . . . 37
3.4. Validacion de resultados . . . . . . . . . . . . . . . . . . . . . 42
4. Controlador 49
4.1. Controlador modelo cinematico . . . . . . . . . . . . . . . . . 49
4.1.1. Linealizacion por retroalimentacion dinamica . . . . . . 50
4.1.2. Linealizacion por retroalimentacion estatica . . . . . . 52
4.2. Controlador modelo dinamico . . . . . . . . . . . . . . . . . . 53
3
4.3. Filtracion de las velocidades y voltajes obtenidos de las ruedas
del robot movil . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.4. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.5. Validacion de resultados . . . . . . . . . . . . . . . . . . . . . 61
5. Voxelizacion 70
5.1. Voxelizacion basada en el algoritmo octree . . . . . . . . . . . 70
5.2. Puntos vistos por las camaras del robot movil y voxelizacion . 74
5.3. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.4. Validacion de resultados. . . . . . . . . . . . . . . . . . . . . . 78
6. Resultados 82
6.1. Validacion de resultados . . . . . . . . . . . . . . . . . . . . . 86
4
Captulo 1
Introduccion
5
ser llevada a cabo mediante el uso de camaras de video y reconstruccion
estereo, las camaras de video pueden ser camaras web, lo que influye de
una manera importante en una implementacion asequible a un presupuesto
relativamente bajo y a una facil consecucion, con lo cual se pueda obtener
resultados esperados segun la finalidad del robot. Ademas, existen trabajos
realizados por el grupo de investigacion PCI, en uno de ellos, se describe un
sistema estereo activo para la adquisicion de imagenes de rango de bajo costo
implementado sobre MATLAB
. R El sistema combina metodos de estimacion
de parametros para dos vistas (tanto calibradas como no calibradas) [1], lo
que constituye una buena base en el diseno del sistema estereo para la fase
de adquisicion del entorno desconocido.
El proceso de planificacion de trayectorias de robots moviles orientados
a la reconstruccion eficiente del entorno a partir de tecnicas de vision en
estereo, consta fundamentalmente de las siguientes etapas:
6
adquisicion de las imagenes de la escena se utilizan sensores de rango [2],[6],
imagenes de rango [5],[34],[35],[36], laser de rango [11],[15],[33],[40],[43], sen-
sores sonares [7],[23], vision monocular [24], vision estereo [31], etc. En la
reconstruccion de la escena se utiliza en su mayora voxeles (cubos) para
clasificar el espacio [2],[5],[6],[15],[16],[25],[32]. En cuanto a la posicion y orien-
tacion deseada, se distingue una tendencia de determinar las oclusiones de las
imagenes y de esta forma encontrar la posicion que entrega la mayor cantidad
de informacion desconocida.[44].
El problema en resumen es disenar un planificador de trayectorias para
un robot movil, el cual utilice como fuente de informacion la reconstruccion
incremental de un entorno desconocido de manera autonoma.
El contenido del documento es como sigue: en el Captulo 2, se presen-
tan trabajos previos y definiciones basicas, propias de la tematica de este
trabajo. En el Captulo 3, se aborda la metodologa propuesta para la obten-
cion del planificador de trayectorias, resaltando los algoritmos de clasificacion
del espacio, mejor vista siguiente y trayectorias deseadas. En el Captulo 4,
se describe el controlador utilizado en el movil, y ademas se detalla la re-
construccion en 3D del entorno virtual por medio de voxelizacion. En el
Captulo 5, se muestran los resultados obtenidos en la reconstruccion de am-
bientes virtuales desconocidos. finalmente en el Captulo 6 se presentan las
conclusiones y los trabajos futuros.
7
Captulo 2
Marco teorico
8
(voxel map), en las cuales se definen las celdas como ocupadas o no, depen-
diendo de la presencia del objeto en ellas. Adquirida la escena utilizan una
funcion de optimizacion para calcular la mejor vista siguiente, cuyos parame-
tros, entre otros, estan medidos por la cantidad de celdas ocultas en cada
vista candidata. En Sanchiz [4], se sigue la misma metodologa, cambiando
el procesamiento de la imagen adquirida de voxel map, a triangulacion de la
nube de puntos en 3D, metodo usado en la vision estereo, pero en este caso
utlizando sensores de rango.
Sappa en [5] usa nuevamente el voxel map, pero se ayuda de la nor-
mal de las celdas para hallar los bordes de los objetos, y de estas celdas se
escoge aquella que brinda mayor informacion. Para el proceso de adquisi-
cion utiliza un sensor de rango. Esta metodologa es usada por Banta en
[6], pero en ella se especifican unos pasos claros de como llegar a la mejor
vista siguiente, mostrando solo resultados experimentales. Utiliza informa-
cion monocular para formar la imagen de rango.
Por otro lado cabe resaltar los trabajos innovadores de busqueda y rescate
[25], [26],[27],[28],[29],[30], entre los mas innovvadores los realizados por CRASAR,
en el 2002 [7], bajo el marco de la tesis de Maestra de Mark Micire, en el
cual se da una amplia descripcion de la operacion de busqueda y rescate de
cada uno de los robots moviles usados en el desastre del World Trade Center
(9/11/2001). Son robots teleoperados, que en cuanto a vision, utilizan tecni-
cas de segmentacion de color para hallar vctimas. lamentablemente por la
cantidad de polvo en los escombros, les fue difcil diferenciar los actores de
la escena.
En publicaciones realizadas por CRASAR, no se tiene referencia del uso
de vision estereo, pero si ven la necesidad de profundizar en el tema debido a
que en las situaciones de busqueda y rescate es importante poder determinar
la distancia en que se hallan los objetos y el tamano de los mismos, la cali-
bracion de la posicion del movil en la escena de desastre, y la necesidad de
utilizar tecnicas de mapeo en 3D, ya que la escena de los desastres presentan
estructuras complejas.
En los ultimos anos los algoritmos relacionados con el planificador de
trayectorias orientado a la reconstruccion de ambientes en 3D, no varan de-
masiado en los parametros que miden la mejor vista siguiente, mientras que
la metodologa usada para llegar a esa posicion optima requerida y la recons-
9
truccion del entorno en 3D si varan, ante todo en el hardware. En cuanto a la
mejor vista siguiente, muchos trabajos se han enfocado a la obtencion de los
bordes de los objetos, por medio de diferentes metodologas [17],[41]. Andreas
Nuchter presenta en los artculos [8], [9],[33], [42] por medio de la transfor-
macion Hough, las lneas horizontales de la escena (bordes), dichas lneas
son candidatas a mejor vista siguiente y luego aplica en ellas una funcion de-
pendiente de la ganancia de nueva informacion, la candidata que maximice
dicha funcion es la mejor vista siguiente. La digitalizacion del entorno en 3D,
la realiza un algoritmo de emparejamiento basado en iterative closest points
(ICP) [37],[38],[39] el cual registra los escaneres en un sistema coordenado
comun. Al igual que en el trabajo anterior, existen multiples artculos [22],
en donde existen varias trayectorias o posiciones candidadatas, escogiendo
la que tenga la caracterstica de mayor prioridad, como Rosenblatt en [21],
el cual determina varias trayectorias como candidatas,y le da mayor prior-
idad a aquella que proteja el movil de cualquier posible colision. Siguiendo
esta misma metodologa, Landa, en [10] hace referencia a robots moviles co-
laboradores, cuyo algoritmo de mejor vista siguiente de manera individual,
tiene como tarea encontrar discontinuidades en la escena (bordes), por medio
de un sensor de rango, para luego aplicarle a los candidatos ubicados en la
vecindad de dichas discontinuidades una funcion de visibilidad. La candida-
ta que maximice dicha funcion sera la ganadora. El mapeo que realiza del
entorno es en 2D. Similar metodologa utiliza Burgard en [19], para robots
colaboradores, cuyo algoritmo de mejor vista siguiente de manera individual,
lo enfoca en la visibilidad y cercana de los voxeles que adquiere durante la
exploracion.
Joho en [11], ademas del parametro de visibilidad, le agrega a la busque-
da de la mejor vista siguiente el parametro de costo de traslado, penalizando
traslados muy grandes, buscando as que el planificador sea mas local. Para
la reconstruccion en 3D del entorno desconocido usaron el mapa de super-
ficies multi-nivel (MLS maps), en el cual las superficies de los elementos de
volumen (voxel) de la escena discretizada, son representados independiente-
mente por una funcion gaussiana, la cual esta regida por parametros como
rugosidad, pendiente y deteccion de obstaculos. La reconstruccion en 3D con
mapa multi-nivel, tambien es utilizado por Kummerle en [20]. Tovey en [18],
determina un mapa de grises, etiquetando vertices como visitados, no visi-
tados y no escaneados, y finalmente determinando el camino mas corto para
dirigir el movil hacia zonas inexploradas.
10
Newman en [12], define propiedades importantes para delinear global-
mente todas las consideraciones que debe tener un planificador para ser opti-
mo.
Pasar a otra area local inexplorada, solo cuando el area local este to-
talmente explorada.
11
2.1.1. Etapas en la planificacion de trayectorias
Voxel sin marcar: Voxel que aun no ha sido visto por el sensor.
12
Los voxeles ocupados seran aquellos en los cuales se encuentren puntos en
3D obtenidos por medio de vision estereo. Los voxeles se iran actualizando
a medida que se obtengan mas nubes de puntos de la escena durante el
recorrido realizado por el movil en el entorno virtual.
En la Figura 2.1 se muestra la voxelizacion de una escena en diferentes
resoluciones. Para lograr una mejor resolucion es necesario que los voxeles
utilizados tengan menores dimensiones, lo que implica un gasto computa-
cional mayor. Esta representacion es importante para el planificador, ya que
13
Calcular la posicion y orientacion que debe seguir el robot, para
ganar la mayor informacion del entorno, a partir de la primera
escena reconstruida.
14
Figura 2.2: Robot movil en el plano
(wd + wi )r cos
x = (2.1)
2
(wd + wi )r sin
y = (2.2)
2
(wd wi )r
= (2.3)
2l
15
Captulo 3
Planificador de trayectorias
16
3.1. Clasificacion del espacio: Nodos vistos,
no vistos y ocupados
17
En la Figura 3.2, se muestra un espacio limitado entre -150 y 150 cm
para los ejes (x, y) y un espacio entre 0 y 40 cm para el eje z. Y un delta de
distancia de 20 cm entre nodos para cada eje.
18
de la ubicacion cartesiana del nodo, si dicho angulo esta entre el angulo de las
proyecciones del alcance visual de la camara, son nodos vistos. Un ejemplo se
puede observar en la Figura 3.3, en donde los nodos de color rojo son nodos
vistos y los azules, nodos no vistos, y las semirectas rojas son las proyecciones
de dos camaras web de un alcance visual de 150 grados en total, y con un
angulo inicial del movil de 180 grados.
19
se etiqueta como primera proyeccion la de menor elevacion angular y como
la segunda proyeccion la de mayor elevacion angular. Tambien se muestran
2 proyecciones rojas de alcance visual, de las cuales la de menor elevacion
angular es etiquetada como primera proyeccion y la de mayor elevacion an-
gular como segunda proyeccion. En el caso de existir un obstaculo dentro
del campo visual de las camaras, los nodos califican como vistos, si cumple
alguna de las siguientes condiciones:
El angulo de elevacion del nodo debe estar entre los angulos de elevacion
de la primera proyeccion del alcance visual de las camaras y el angulo
de elevacion de la primera proyeccion hacia el obstaculo.
El angulo de elevacion del nodo debe estar entre los angulos de elevacion
de la segunda proyeccion del alcance visual de las camaras y el angulo
de elevacion de la segunda proyeccion hacia el obstaculo.
El angulo de elevacion del nodo debe estar entre los angulos de elevacion
de la primera y la segunda proyeccion hacia el obstaculo y ademas
la distancia euclidiana entre el movil y el nodo debe ser menor a la
distancia euclidiana entre el movil y el centro de la circunferencia que
representa el obstaculo.
20
Otro caso que se puede presentar ocurre cuando solo una parte del objeto
esta en el alcance visual de las camaras. Por esta razon solo una proyeccion
de las camaras hacia el objeto, esta contenida en el alcance visual de las
camaras, y a partir de dicha proyeccion se clasifican los nodos. Los nodos
vistos seran los nodos que cumplan las siguientes 2 condiciones:
El angulo de elevacion del nodo debe estar entre los angulos de elevacion
de la primera proyeccion del alcance visual de las camaras y el angulo
de elevacion de la proyeccion hacia el obstaculo que este presente en el
alcance visual de las camaras.
El angulo de elevacion del nodo debe estar entre los angulos de ele-
vacion de la primera proyeccion del alcance visual de las camaras y la
proyeccion hacia el objeto dentro del alcance visual de las camaras, y
ademas la distancia euclidiana entre el movil y el nodo debe ser menor
a la distancia euclidiana entre el movil y el centro de la circunferencia
que representa el obstaculo.
(a) Proyeccion 1 del objeto en alcance (b) Proyeccion 2 del objeto en alcance
visual visual
Figura 3.5: Nodos vistos y no vistos. Parte del objeto en alcance visual.
21
3.1.3. Clasificacion de los nodos ocupados
Bocx = [|(Xn (R) xx2 (1))| + |(Yn (R) yy2 (1))| + |(Zn (R) z(1))|] (3.1)
22
Para utilizar el mismo proceso se debe eliminar el nodo ocupado y el pun-
to o los puntos de la esfera contenidos en el punto ocupado, para evitar que el
mismo nodo gane la competencia de la distancia mnima y poder analizar los
demas nodos y puntos de la esfera. El ciclo de busqueda de nodos ocupado
acaba cuando el vector que guarda los puntos de la esfera se encuentra vaco.
En la Figura 3.6, se muestra en 2D el proceso de eliminacion paso a paso
de los puntos de la esfera y la etiqueta de los nodos ocupados y los nodos
analizados que no alcanzaron la etiqueta de ocupados.
23
(e) Paso 5.Nodos ocupados 4. Nodos
analizados 2.
3.1.4. Resultados
(a) Modificacion de la ubicacion del obs- (b) Cambio de orientacion del robot
taculo. movil.
24
dos en total a 100 grados, y en la Figura 3.8(b) se muestra el aumento del
diametro de la esfera de 15 a 25 cm, de tal manera que la cantidad de nodos
ocupados aumenta, como se puede observar en la figura aumento de 6 a 8
nodos ocupados.
(a) Reduccion del campo visual de las (b) Aumento del diametro de la circun-
camaras web. ferencia.
25
3.2. Trayectoria deseada
y y1 = m(x x1 ) (3.2)
(x a)2 + (y b)2 = r2 (3.3)
26