Real-time and efficient control for autonomous racing
Contrôle temps-réel et efficace pour la course autonome
Abstract
Recently, the autonomous driving domain has made tremendous advancements. By investigating the challenge of autonomous racing, a special form of autonomous driving, we seek to better understand how vehicles could be efficiently controlled in real-time settings for handling intricate dynamic situations. We develop an approach based on Nonlinear Model Predictive Control (NMPC), a cutting-edge control technique, that can attain the optimal progress time of the vehicle while accounting for nonlinear system dynamics and obstacle-related time-varying constraints. To deal with the presence of an opponent vehicle, we combine NMPC with Mixed Integer Programming (MIP) for encoding safe and efficient overtaking maneuvers. However, it is challenging to implement NMPC on embedded devices due to its high calculation complexity. One concern is ensuring real-time execution of the controller, which necessitates strict adherence to the time budget restriction and rigorous compliance with deadlines. Another problem is managing to make the control efficient, which calls for the maintenance of an adequate level of system performance. We propose a multi-step recomputation approach for the single-vehicle race mode, which is triggered based on specific events. One of the triggering conditions aims at ensuring that the real-time budget constraints are respected. The other triggering condition serves for reducing computational time while retaining quasi-optimal lap time performance. For head-to-head racing mode, we propose an algorithm as an online feasible alternative to MIP encoding. It efficiently aggregates overtaking decisions and schedules them at a deterministic control frequency to meet real-time requirements. In a generic system architecture, we also take into account other software components besides the controller, such as opponent detection and self-localization algorithms, which collectively constitute a Directed Acyclic Graph (DAG). To assign DAG components to available processors with varying degrees of parallelism, we propose a task execution model which decreases the latency, increases the control update rate, and eventually enhances the system performance. In summary, this thesis provides a set of mechanisms aimed at an efficient implementation of real-time control in autonomous systems.
Récemment, le domaine du véhicule autonome a connu d'énormes progrès. En étudiant le défi de la course autonome, une forme spéciale de conduite autonome, nous cherchons à mieux comprendre comment les véhicules peuvent être contrôlés efficacement en temps réel pour gérer des situations dynamiques et complexes. Nous développons une approche basée sur le contrôle prédictif de modèle non linéaire (NMPC), une technique de contrôle avancée, qui permet d'obtenir un temps de progrès optimal du véhicule tout en tenant compte de la dynamique non linéaire du système et des contraintes temporelles liées aux obstacles. Pour faire face à la présence d'un véhicule adverse, nous combinons le contrôle prédictif NMPC avec la programmation mixte en nombres entiers (MIP) afin d'effectuer des manœuvres de dépassement sûres et efficaces. Cependant, il est difficile de mettre en œuvre le contrôle prédictif NMPC sur des dispositifs embarqués en raison de sa complexité de calcul élevée. Une des difficultés consiste à assurer l'exécution en temps réel du contrôleur, ce qui nécessite un respect strict des budgets d'exécution et des échéances de temps. Une autre difficulté consiste à rendre le contrôle efficace, et donc à préserver les performances quasi-optimales du système. Pour le mode de course à véhicule unique, nous proposons une approche de recalcul sur un horizon de plusieurs pas, calcul qui est déclenché en fonction d'événements spécifiques. Une des conditions de déclenchement vise à s'assurer que les contraintes temps réel de budget temps seront respectées. L'autre condition de déclenchement sert à réduire le temps de calcul tout en maintenant des performances quasi-optimales en termes de temps de tour de circuit. Pour le mode de course à un-contre-un, nous proposons un algorithme compatible avec une exécution en ligne comme alternative à l'encodage MIP. Il regroupe efficacement des décisions de dépassement et les exécute à une fréquence de contrôle déterministe pour répondre aux exigences de temps réel. Au travers d'une architecture générique, nous prenons également en compte d'autres composants logiciels que le contrôleur, tels que les algorithmes de détection des adversaires et de localisation, qui constituent collectivement un graphique acyclique dirigé (DAG). Un modèle d'exécution des tâches est proposé pour affecter les composants du DAG aux processeurs disponibles avec différents degrés de parallélisme. Il réduit la latence, augmente le taux d'actualisation de la commande et, finalement, améliore la performance du système. En résumé, cette thèse fournit un ensemble de mécanismes visant à une mise en œuvre efficace d'un contrôle en temps réel dans des systèmes autonomes.
Origin | Version validated by the jury (STAR) |
---|