Aplicaciones de la reconstrucción 3D: odometría visual e integración con la realidad virtual

Navarro Merino, Francisco (2017). Aplicaciones de la reconstrucción 3D: odometría visual e integración con la realidad virtual. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S.I. Industriales (UPM).

Descripción

Título: Aplicaciones de la reconstrucción 3D: odometría visual e integración con la realidad virtual
Autor/es:
  • Navarro Merino, Francisco
Director/es:
  • Barrientos Cruz, Antonio
  • Garzón Oviedo, Mario Andrei
Tipo de Documento: Proyecto Fin de Carrera/Grado
Grado: Grado en Ingeniería en Tecnologías Industriales
Fecha: Julio 2017
Materias:
Palabras Clave Informales: ROS, Gazebo, reconstrucción 3D, Kinect, IMU, RTAB-Map, odometría visual, SLAM, realidad virtual
Escuela: E.T.S.I. Industriales (UPM)
Departamento: Automática, Ingeniería Eléctrica y Electrónica e Informática Industrial
Licencias Creative Commons: Reconocimiento - Sin obra derivada - No comercial

Texto completo

[img]
Vista Previa
PDF (Document Portable Format) - Se necesita un visor de ficheros PDF, como GSview, Xpdf o Adobe Acrobat Reader
Descargar (4MB) | Vista Previa

Resumen

Con el objetivo de operar de manera eficiente, los robots requieren de cierto grado autonomía. Se definen los robots autónomos como aquellos que poseen un alto grado de autogestión, suficiente para operar por si mismos e independientemente del manejo o supervisión de personas. Esta cualidad los hace especialmente deseables y apropiados para tareas inadecuadas para los seres humanos como, por ejemplo, operaciones de rescate o reconocimiento de lugares desconocidos. Por ello, surge la necesidad de dotar al robot de autogestión, y desarrollar continuamente nuevas formas para conseguirlo. De las numerosas maneras de incrementar dicha autonomía, en este trabajo se aborda un sistema de navegación conocido como odometría visual. Esta técnica consiste en estimar la posición y orientación del robot, obteniendo una trayectoria de su recorrido, analizando diferentes imágenes capturadas con una cámara incorporada al robot. De estos fotogramas, se extraen características como pueden ser bordes, esquinas o manchas, y se observa como varían en imágenes siguientes, estimando cuánto se ha desplazado el robot. Para ello, será necesaria la creación de un mapa simultáneo al movimiento (SLAM). Teniendo en cuenta que un mapa 3D contiene más información que uno 2D, se opta, tras valorar las diferentes alternativas disponibles, por realizar una reconstrucción 3D con RTAB-Map con la Kinect para estimar la trayectoria de la cámara. Este dispositivo, presenta un sensor de profundidad que estima la distancia a la que se encuentran los pixeles de las imágenes capturadas por la cámara de color. Todo el software se integra y desarrolla en ROS Indigo en Ubuntu. De cara a evaluar la viabilidad de la propuesta anterior se realizan diferentes simulaciones en Gazebo, previas a la implantación del sistema en la realidad. Hay que tener en cuenta que, al tratarse de entornos simplificados, no se lidia con factores que sí se encuentran en la realidad como, por ejemplo, luces u objetos dinámicos. En dicho entorno de simulación se crean varios mundos y se lanza en su interior un modelo del robot Summit con la cámara Kinect incorporada. Seguidamente, se desplaza el robot en Gazebo de modo que todos los rincones se encuentren, al menos una vez, dentro del campo de visión de la Kinect simulada y simultáneamente se reconstruye el mundo utilizando RTAB-Map. A continuación, se presentan los resultados tras la reconstrucción, mundo simulado y reconstrucción. El resultado global obtenido se considera satisfactorio, ya que cumple las expectativas iniciales de la técnica. No obstante, presenta pequeños defectos locales que empañan ligeramente el resultado general asociados principalmente al loop closure. Este algoritmo evita reconstruir una zona ya visitada reconociendo características previamente identificadas en la primera pasada. Estos desperfectos se minimizarán en la etapa de la realidad. Una vez superadas las simulaciones y verificada la propuesta inicial, comienza la implantación física de la técnica en la realidad. Uno de los mayores inconvenientes que surgieron radicaba en la incapacidad de la cámara para operar en exteriores de manera fiable, debido a que no podía lidiar con la luz directa e intensa. Esto limitó su campo de investigación, ya que hubo que realizar todos los ensayos y pruebas en interiores prescindiendo de escenas al aire libre, como se pretendía en un principio. El primer paso consiste en la instalación y calibración de la Kinect para corregir la posible desviación que trae la lente de cámara de fábrica. Posteriormente se procede a realizar las primeras pruebas construyendo la realidad. De nuevo, aparecen los mismos tipos de defectos observados durante las simulaciones. Para paliar dichos errores se efectúa una etapa de post-procesado aplicando diferentes filtros, mejorando también la precisión de la odometría, intrínsecamente ligada a la reconstrucción. En la comparativa posterior, se denota la importancia del loop closure antes y después de aplicar el filtro. Aun tratándose de solo un ejemplo, dicha comparativa permite ejemplificar cómo se consiguen alinear los bordes evitando el solapamiento de características, obteniendo un resultado más nítido y fiel a la realidad. Aunque el post-procesado mejora notablemente el resultado, no deja de ser una etapa a posteriori incrementando el tiempo general de la técnica. Para incrementar la precisión a tiempo real se opta por la incorporación al proyecto de una IMU para obtener su orientación y, al ser solidaria a la cámara, la de la cámara. La premisa de esta idea recae en que al obtener información del entorno por dos fuentes diferentes, cámara e IMU, el resultado conjunto solo puede mejorar o mantenerse inalterado. Para conectar la IMU con ROS se desarrolla completamente un driver con el objetivo de publicar en un tópico de ROS la orientación expresada en cuaternios a partir de las lecturas del acelerómetro y giróscopo, ya que el magnetómetro perjudicaba la estabilidad de la orientación. Tras completar dicho driver se procede a la integración conjunta, cuya clave reside en definir correctamente una transformación entre los sistemas de referencia de ambos sensores. Está transformación permite convertir la información de la IMU al sistema de referencia de la cámara, el cual se encuentra desplazado 25mm y rotado 180 grados sobre su eje de profundidad. Por otro lado, no hay que olvidar que el objetivo último de la odometría visual recae en la estimación de la trayectoria del robot y no en la reconstrucción del entorno. No obstante, ambos procesos se encuentran ligados estrechamente y, por ello, se dedica tanto esfuerzo en mejorar el mapeado. Para evaluar la precisión de los sistemas desarrollados se realizan diferentes experimentos evaluando 2 parámetros, la IMU y el loop closure y sus múltiples combinaciones cuando proceda. Las pruebas se realizan en orden creciente de dificultad para establecer relaciones entre todos los experimentos. Para empezar, y ante trayectorias longitudinales, ambos sistemas cumplen con las expectativas iniciales resolviendo con errores inferiores al 5% (4.38 sin IMU y 1.67 con ella). Posteriormente, se introducen cambios de dirección en la trayectoria y se incrementa la longitud del recorrido. En esta situación, ambos sistemas comienzan adecuadamente el primer tramo, pero los giros desvían la reconstrucción, desviando la odometría asociada, es decir, sufren para seguir la trayectoria real y alcanzar el punto final. Aunque el error es de longitud total es de nuevo inferior al 5%, la forma de la trayectoria estimada se aleja de la real en puntos concretos del recorrido. Al recrear el mismo tipo de experimento variando la altura recorriendo dos plantas, se observa una clara mejoría con la IMU ya que se consigue situar una planta correctamente sobre la otra. La principal dificultad de esta prueba radica en procesar cómo cambia la altura al recorrer las escaleras y no desviarse. A modo de reflexión, se observa que la IMU mejora en cierta medida la cámara sola. No obstante, es evidente que los resultados de la cámara en solitario con loop closure no están tan alejados de los reales como se preveía. Por ello, el desembolso que precisa una IMU estable se encuentra sujeto al nivel de precisión que requiera la aplicación que le de uso. Asimismo, se demuestra que el loop closure, aplicable únicamente cuando se visita una zona previamente registrada, resulta indispensable para obtener resultados óptimos. Al margen de obtener la trayectoria, surge la oportunidad de dar otro uso a la reconstrucción 3D. Esta alternativa consiste en realizar una inmersión en la realidad virtual a través de Unity dentro de un mapeado obtenido con la cámara. Por lo que se refiere a dicha integración con Unity, es necesario realizar un mesh a partir de la reconstrucción 3D corregida tras el filtrado e incorporar texturas para una correcta visualización del color en la realidad virtual. Un mesh poligonal se trata de un modelo 3D que representa la forma de un objeto mediante numerosas caras y aristas. Debido a la dificultad que supone plasmar la realidad virtual en papel, se opta por representar el resultado de la inmersión utilizando la denominada visión esférica estereoscópica, la cual muestra por separado la vista que tendría cada ojo. Tras posicionarse en todos los rincones de la habitación, se concluye que el resultado es, tratándose de una primera aproximación, bastante preciso. Aunque algunas distancias son un poco más amplias, el error es del orden de centímetros, seguramente asociado de nuevo al proceso de mapeado. Por lo tanto, la inmersión conseguida se considera ilusionante de cara a una posible mejora y automatización del proceso.

Más información

ID de Registro: 47889
Identificador DC: http://oa.upm.es/47889/
Identificador OAI: oai:oa.upm.es:47889
Depositado por: Biblioteca ETSI Industriales
Depositado el: 28 Sep 2017 06:32
Ultima Modificación: 28 Sep 2017 06:32
  • Open Access
  • Open Access
  • Sherpa-Romeo
    Compruebe si la revista anglosajona en la que ha publicado un artículo permite también su publicación en abierto.
  • Dulcinea
    Compruebe si la revista española en la que ha publicado un artículo permite también su publicación en abierto.
  • Recolecta
  • e-ciencia
  • Observatorio I+D+i UPM
  • OpenCourseWare UPM