Neural learning for efficient quadrotor flight control
Amélioration de l'efficacité du contrôle du vol des quadrirotors par apprentissage neuronal
Résumé
The last couple of years have seen the interest in drones grow exponentially due to their ease of construction and high flight efficiency. This technology, as well as its applications, have been evolving ever since. The development of efficient autopilots is thus a very active source of research. Indeed, the drone must be able to be reactive to many possible sources of disturbances. With the recent success of artificial intelligence in many domains, the development of such flight algorithms takes a whole new dimension, allowing a better handling of these disturbances.The objective of this thesis is the development of intelligent autopilot algorithms for UAVs, in particular for quadrotors. The main idea of this work is to merge standard control approaches and learning methods to improve the efficiency and performance of quadrotor flights. This improvement is achieved by learning the different external or internal disturbances that the system experiences during flights. They are then estimated and compensated within the command. Moreover, the objective is to propose learning algorithms that can be easily implemented on standard controllers.The first proposed solution is based on the coupling of a deep neural network and a cascade PID architecture. The neural network aims at learning errors to a linear model. This linear model is used for tuning the desired tracking performance. Learned errors include effects not taken into account in the initial controller, the linearization errors, but also errors related to external disturbances. Once the learning is done and integrated in the flight controller, the quadrotor better fits the initially desired behavior.This approach is then improved to propose an online event-based solution. This second solution tries to correct two aspects of the previous one: the limited stability insurance and the offline learning of the deep neural network. It is based on performance and stability criteria of the closed-loop system. The proposed solution relies on a succession of in-flight data collection and learning, in order to continuously improve the quadrotor behavior. Finally, the case of unknown suspended payload transport is addressed. This task generates significant internal disturbances that are complex to handle. Thus, a linearization algorithm of the non-linear system, assisted by a windowed deep neural network, is proposed to achieve it. The algorithm allows an improved and less oscillating trajectory tracking while transporting the suspended payload.All the proposed controllers are validated in simulation and tested experimentally in the experimental motion capture platform of GIPSA-lab.
Ces dernières années ont vu l’attrait des drones croître exponentiellement grâce à leur facilité de construction et leur grande efficacité en vol. Cette technologie, ainsi que ses applications, ne cessent d’évoluer depuis. La réalisation d’autopilotes efficaces est ainsi une source de recherche très active. En effet, le drone doit être capable de réagir à de nombreuses sources de perturbations possibles. Avec les succès récents de l’intelligence artificielle dans de nombreux domaines, la réalisation de tels algorithmes de vol prend une toute nouvelle dimension, permettant ainsi une meilleure intégration de ces perturbations.L’objectif de cette thèse consiste en la réalisation d’algorithmes d’autopilote intelligent de drones, en particulier pour des quadrirotors. L’idée principale de ces travaux est de mixer les approches standards de contrôle et les méthodes d’apprentissages pour améliorer l'efficacité et la performance des vols de drone quadrirotors. Cette amélioration passe par l’apprentissage des différentes perturbations externes ou internes que le système subit en vol. Elles sont ensuite estimées et compensées dans la commande. Par ailleurs, l’objectif est de proposer des algorithmes d’apprentissage facilement implémentables sur des contrôleurs standard de drone.La première solution proposée est basée sur le couplage d’un réseau de neurones profond et d’une architecture de PID en cascade. Le réseau de neurones a pour objectif d’apprendre les erreurs à un modèle linéaire du quadrirotor. Ce modèle linéaire est utilisé pour l'établissement des performances désirées. Ces erreurs contiennent les effets non pris en compte dans le contrôleur initial, les erreurs de linéarisation, mais également les erreurs liées aux perturbations externes. Une fois l'apprentissage fait et intégré au contrôleur de vol, le comportement du quadrirotor se rapproche du comportement initialement désiré.Cette approche est ensuite améliorée afin de proposer une solution en ligne, basée sur événements. Elle tente d'améliorer deux aspects de la précédente : les conditions de stabilité limitées et l'apprentissage hors ligne du réseau de neurones. Elle repose sur des critères de performance et de stabilité du système en boucle fermée. La solution proposée se base sur une succession de collecte et d’apprentissage en vol, pour améliorer l'efficacité du vol en continu. Enfin, le cas du transport de charge suspendue inconnue est abordée. Cette tâche génère des perturbations internes importantes complexe à maîtriser. Ainsi, un algorithme de linéarisation du système non-linéaire, assisté par un réseau de neurones fenêtré, est proposé pour réaliser cette mission. L'algorithme proposé permet un suivi de trajectoire amélioré et moins oscillants lors du transport de la charge suspendue.Tous les contrôleurs proposés sont validés en simulation et testés expérimentalement dans la plateforme expérimentale de motion capture du GIPSA-lab.
Origine | Version validée par le jury (STAR) |
---|