<< Volver atrás

Tesis:

A General Architecture for Autonomous Navigation of Unmanned Aerial Systems


  • Autor: SÁNCHEZ LÓPEZ, José Luis

  • Título: A General Architecture for Autonomous Navigation of Unmanned Aerial Systems

  • Fecha: 2017

  • Materia: Sin materia definida

  • Escuela: E.T.S. DE INGENIEROS INDUSTRIALES

  • Departamentos: AUTOMATICA, INGENIERIA ELECTRICA Y ELECTRONICA E INFORMATICA INDUSTRIAL

  • Acceso electrónico: http://oa.upm.es/46302/

  • Director/a 1º: CAMPOY CERVERA, Pascual
  • Director/a 2º: MOLINA GONZÁLEZ, Martín

  • Resumen: La navegación totalmente autónoma de una flota de robots aéreos realizando misiones dinámicas complejas en entornos desafiantes no estructurados, es necesaria para simplificar el uso de los vehículos aéreos y extender su utilización a un mayor número de aplicaciones, es necesaria. El desarrollo de un sistema inteligente multi-robot completamente autónomo sigue siendo un problema abierto con soluciones parciales e incompletas en robótica aérea, habiéndose sólo desarrollado algunas arquitectura abiertas para sistemas aéreos, las cuales presentan limitaciones en su nivel de autonomía y versatilidad. Esta tesis presenta una arquitectura de sistema versátil para robótica aérea que permite el funcionamiento totalmente autónomo de un sistema multi-robot aéreo, cumpliendo con los requisitos de ser agnóstico a nivel de misión, plataforma y entorno. Se ha caracterizado a nivel abstracto y general, definiendo sus siete subsistemas, sus funcionalidades, y sus interfaces a alto nivel, garantizándose la versatilidad y flexibilidad. Los siete subsistemas propuestos son: Sistema de Extracción de Características, Sistema Motriz, Sistema de Conciencia Situacional, Sistema Ejecutivo, Sistema de Planificación, Sistema de Supervisión y Sistema de Comunicación. Esta arquitectura de sistema proporciona a los diseñadores una arquitectura inicial de la que partir cuando desarrollan sus propios sistemas inteligentes totalmente autónomos multi-robots aéreo. La validación de la arquitectura propuesta del sistema es una tarea compleja ya que el rendimiento del sistema completo depende de la misión, el entorno, la configuración del hardware, los algoritmos empleados y su implementation software. Tres tipos de escenarios se utilizaron con éxito para proporcionar una evaluación global del sistema completo, validando el desempeño de la arquitectura de sistema propuesta: (1) competiciones internacionales de robótica aérea, (2) desafíos auto-propuestos y (3) demostraciones públicas. Además, la tesis presenta varios algoritmos que permiten un aumento del nivel de autonomía de los sistemas robóticos aéreos, desarrollados en el contexto de una aplicación particular. Estos algoritmos se pueden agrupar en: (1) percepción, (2) control, (3) planificación y ejecución de tareas, (4) inteligencia y cognición, y (5) comunicación e interacción. Todos estos componentes han sido evaluados individualmente, demostrando su desempeño. Sin embargo, su importancia aparece cuando se integran en el sistema completo. Los componentes propuestos más destacados, presentados con un alto nivel de detalle, son los siguientes: (1) detección y reconstrucción de helipuertos, (2) percepción basada en odometría y marcadores visuales con reconstrucción del entorno, (3) percepción basada en odometría y visión por computador para mapas con cuadrícula, (4) percepción basada en la fusión de múltiples sensores con reconstrucción del entorno, y (5) planificación de trayectorias libre de colisión para entornos dinámicos. La tesis presenta también un entorno de software de código abierto, llamado Aerostack, que facilita la implementation eficiente de la arquitectura de sistema y los algoritmos desarrollados por medio de componentes de software. Este software se organiza de forma modular mediante paquetes agrupados por su funcionalidad, sus dependencias y su ciclo de vida. El entorno de software propuesto se basa en el middleware ROS para la comunicación interprocesos y utiliza un paradigma asincrono multiproceso en el que cada funcionalidad elemental se implementa como un solo proceso, facilitando el desarrollo y permitiendo un procesamiento distribuido. El entorno de software propuesto ha demostrado ser versátil y escalable, siendo los desarrolladores capaces de reutilizar tantos módulos de software como sea necesario, y de modificar o desarrollar nuevos módulos sin necesidad de adaptar otros componentes. ABSTRACT Achieving a fully autonomous navigation of a fleet of aerial robots when performing complex dynamic missions in challenging unstructured environments is an essential requirement to simplify the use of micro aerial vehicles and to extend their utilization to a greater number of applications. The development of a multi-robot fully autonomous intelligent system is still an open problem with partial and incomplete solutions in aerial robotics, and only some open source architecture frameworks for aerial systems have been developed so far, which present limitations in their autonomy level and in their versatility. This thesis presents a versatile system architecture for aerial robotics that enables the fully autonomous operation of an aerial multi-robot system and fulfills the requirements of being mission, platform, and environment agnostic. It has been characterized in an abstract and general level, defining its seven subsystems, their functionalities, and their interfaces in a top-level way that guarantees the versatility and flexibility. The seven proposed subsystems are: Feature Extraction System, Motor System, Situation Awareness System, Executive System, Planning System, Supervision System, and Communication System. This system architecture provides system designers the initial architecture for developing their own fully autonomous intelligent aerial multi-robot systems. The validation of the proposed system architecture is a complex task since the performance of the complete system is highly dependent on the mission, the environment, the hardware setup, the employed algorithms, and their software implementation. Three kinds of scenarios were successfully used to provide a global evaluation of the complete system, validating the performance of the proposed system architecture: (1) international aerial robotics competitions, (2) self-proposed challenges, and (3) public demonstrations. In addition, this thesis presents several algorithms, with different level of detail, that yield to an increased level of autonomy of the aerial robotic systems, developed in the context of particular applications. These algorithms can be gathered in the following five groups: (1) perception, (2) control, (3) planning and task execution, (4) intelligence and cognition, and (5) communication and interaction. All these components have been evaluated isolatedly, demonstrating their individual performance. Nevertheless, their importance stands out when integrated into the complete system. The most important components presented in this thesis, analyzed with a high level of detail, are the following: (1) helipad detection and reconstruction for shipboard landing, (2) perception based on odometry and visual markers with environment reconstruction, (3) perception based on odometry and computer vision for gridded maps, (4) perception based on multi-sensor fusion with environment reconstruction, and (5) collision-free path planning for dynamic environments. This thesis presents as well, an open-source software framework, called Aerostack, that facilitates a cost and time effective implementation of the designed system architecture and the developed algorithms by means of software components. This framework is modularly organized in software packages gathered by their functionality, their dependencies, and their life state. The proposed software framework relies on the widely used ROS middleware for interprocess communication and uses an asynchronous multiprocess paradigm where every elementary functionality is implemented as a single process, easing the development and allowing a distributed processing. The proposed software framework has demonstrated to be versatile and scalable, being the developers capable of reusing its software modules as needed, and modifying or developing new modules without adaptations of any other components.