Simple Science

La science de pointe expliquée simplement

# Génie électrique et science des systèmes# Robotique# Systèmes et contrôle# Systèmes et contrôle

Aerostack2 : Un nouveau cadre pour la robotique aérienne

Aerostack2 propose une approche standardisée pour développer des robots aériens autonomes.

― 8 min lire


Aerostack2 : Cadre deAerostack2 : Cadre deRobotique Aérienneet la collaboration des robots aériens.Un nouveau cadre améliore les capacités
Table des matières

Ces dernières années, le domaine de la robotique a vu une montée en puissance des frameworks logiciels pour les robots terrestres et articulés. Des exemples incluent Navigation2 et MoveIt, qui ont été largement adoptés. Cependant, on ne retrouve pas le même niveau de collaboration et de normalisation dans la robotique aérienne. Chaque groupe de recherche a tendance à créer son propre framework, ce qui entraîne des efforts isolés difficiles à combiner.

Pour résoudre ce problème, un nouveau framework appelé Aerostack2 a été développé. Ce framework se concentre sur la construction de systèmes robotiques aériens autonomes et vise à apporter plus de standardisation dans le domaine. Basé sur le middleware ROS 2, Aerostack2 offre une configuration logicielle modulaire et efficace adaptée à diverses capacités robotiques. L'objectif est de fournir une méthode logique pour définir des missions, réutiliser des composants et développer des systèmes de contrôle complets. Des tests rigoureux ont été réalisés en simulations et en vols réels, assurant son efficacité.

Aperçu d'Aerostack2

Aerostack2 est une mise à jour d'un framework précédent connu sous le nom d'Aerostack, qui a été utilisé avec succès dans des projets de recherche et industriels pendant plus de six ans. Cette version mise à jour intègre de nombreuses améliorations pour créer des systèmes robotiques plus efficaces. Il fonctionne sur ROS 2, un framework logiciel populaire en robotique, fournissant des outils précieux pour créer des systèmes robotiques distribués.

Caractéristiques clés

  1. Indépendance de plateforme : Contrairement à d'autres frameworks dédiés à certains drones, Aerostack2 peut fonctionner avec différents types de plateformes aériennes, y compris celles utilisant des contrôleurs Pixhawk et des drones commerciaux.

  2. Polyvalence : Aerostack2 prend en charge une large gamme de capacités robotiques pour des opérations autonomes, couvrant des aspects tels que le contrôle de vol, la localisation spatiale et la communication entre les drones.

  3. Spécification facile des missions : Le framework permet aux développeurs de définir plus facilement des tâches pour les robots aériens. Il abstrait les détails complexes, rendant plus simple la définition des missions.

  4. Processus d'ingénierie simplifié : Aerostack2 propose des composants pré-fabriqués qui permettent une opération autonome, incorporant des algorithmes spécialisés pour des fonctions comme la vision par ordinateur et le contrôle de mouvement. Ces composants peuvent être réutilisés pour différentes applications de robots aériens.

  5. Open-source : Aerostack2 est libre d'accès et encourage les développeurs à utiliser et modifier le logiciel, favorisant une adoption plus large parmi les développeurs de drones.

Travaux connexes

Divers systèmes permettent aux drones de fonctionner, divisés principalement en systèmes de contrôle de bas niveau (contrôleurs de vol) et systèmes de contrôle de haut niveau (stacks aériens). Les systèmes de bas niveau incluent des contrôleurs open-source et commerciaux, tandis que les systèmes de haut niveau intègrent plusieurs algorithmes pour des tâches plus complexes.

De nombreux systèmes de contrôle de haut niveau ont émergé récemment, chacun ayant des caractéristiques uniques. Cependant, la plupart d'entre eux manquent de la structure modulaire et de la flexibilité offertes par Aerostack2.

Organisation de la pile logicielle

Le framework Aerostack2 organise ses composants en plusieurs couches, construisant une pile logicielle structurée. Chaque couche a une fonction spécifique :

  1. Middleware : À la base se trouvent le système d'exploitation et ROS, ainsi que les bibliothèques logicielles nécessaires.

  2. Communication inter-processus : Cette couche contient des composants qui permettent aux différents processus de communiquer. Elle inclut des structures de données communes à la robotique aérienne pour faciliter l'interopérabilité.

  3. Interfaces avec plateformes et capteurs : Les composants de cette couche connectent diverses plateformes aériennes et capteurs au framework. Cela facilite l'incorporation de systèmes physiques et simulés.

  4. Fonctions robotiques de base : Une collection de composants logiciels ici fournit des fonctions essentielles pour une opération autonome, comme le contrôle de mouvement et l'estimation d'état.

  5. Comportements : Cette couche comprend des composants pour des actions spécifiques des robots, comme décoller ou stationner.

  6. Contrôle de mission : Cette couche aide à définir et superviser les missions pour les drones autonomes.

  7. Applications : La couche supérieure est composée d'applications spécifiques construites à l'aide des composants des couches inférieures.

Cette organisation modulaire permet aux développeurs d'utiliser n'importe quelle partie du framework selon leurs besoins.

Communication interprocessus

Aerostack2 utilise un canal de données standard pour organiser l'architecture de contrôle. Ce canal partagé permet à divers processus de travailler ensemble de manière fluide. En suivant des normes établies pour les structures de données, le framework permet aux composants de communiquer efficacement.

Principaux groupes d'informations

  1. Mesures de capteurs : Données directes des capteurs, telles que des images de caméras ou des données GPS.

  2. Commandes d'actionneurs : Instructions que le drone peut comprendre, comme des valeurs de poussée.

  3. Auto-localisation : Informations sur la position et la vitesse du robot dans l'environnement.

  4. Référence de mouvement : Valeurs cibles pour les contrôleurs de mouvement, y compris les positions et vitesses souhaitées.

  5. Autres messages : Ceux-ci peuvent inclure des messages de communication pour des configurations multi-robots ou des alertes pour les urgences.

Interfaces de plateformes et capteurs

Aerostack2 gère les connexions entre le framework et diverses plateformes en utilisant une classe spécialisée pour l'abstraction de la plateforme. Ce design facilite l'intégration de nouvelles plateformes dans le framework tout en assurant la cohérence de la communication.

L'interface de la plateforme recueille des données des capteurs de l'appareil et les transmet au framework. Ce design permet au framework de communiquer efficacement avec les drones physiques et simulés.

Fonctions robotiques de base

Aerostack2 propose des composants dédiés à l'exécution des fonctions robotiques fondamentales, cruciales pour une opération autonome. Les fonctions incluent :

  1. Contrôle de mouvement : Ce composant traduit les commandes de mouvement en signaux exploitables pour le drone.

  2. Estimateur d'état : Il combine les données des capteurs pour prédire l'état du drone, comme sa position et sa vitesse.

Ces fonctions sont conçues pour être flexibles et peuvent s'adapter à différentes situations en permettant aux développeurs de choisir parmi divers algorithmes.

Comportements des robots

Dans Aerostack2, les comportements des robots sont des modules spécialisés qui permettent au robot d'exécuter des tâches spécifiques. Chaque comportement aborde une compétence unique, comme suivre un chemin ou prendre une photo. Le framework permet aux utilisateurs de formuler des plans de mission plus facilement en activant divers comportements.

Types de comportements

  1. Comportements basés sur des objectifs : Définis pour atteindre un état final spécifique (par exemple, décoller).

  2. Comportements récurrents : Conçus pour maintenir un état spécifique dans le temps (par exemple, stationner).

Les comportements aident à affiner les tâches complexes en opérations gérables. Ils surveillent également leur exécution pour garantir un bon fonctionnement.

Contrôle et supervision des missions

Définir et superviser les plans de mission est crucial pour des opérations de drones réussies. Aerostack2 fournit aux utilisateurs des outils pour concevoir des plans de mission spécifiant les tâches à réaliser.

Outils de spécification de mission

  1. API Python : Les programmeurs peuvent écrire des plans de mission en utilisant cette interface, permettant des contrôles et des tâches complexes.

  2. Arbres de comportements : Une méthode graphique pour définir des plans de mission, offrant une structure et une meilleure surveillance.

Ces deux outils aident à coordonner l'exécution des tâches parmi les différents comportements.

Applications réelles

Aerostack2 a été utilisé dans divers scénarios réels, démontrant sa polyvalence. Quelques applications notables incluent :

  1. Inspection de turbines éoliennes : Des drones ont été utilisés pour surveiller des turbines éoliennes, combinant vol réel et données de simulation.

  2. Inspection de centrales photovoltaïques : Une essaim de drones a effectué des inspections en suivant des chemins pré-planifiés dans un environnement simulé.

  3. Défi de passage de portail : Des drones ont réussi à naviguer à travers des obstacles dans un cadre compétitif.

  4. Livraison de colis : Des drones ont été conçus pour livrer des colis de manière autonome en utilisant Aerostack2 pour la planification et l'implémentation.

  5. Opérations maritimes : Plusieurs drones ont coordonné des recherches d'objets spécifiques dans une vaste zone sans signaux GPS, montrant les capacités du framework dans des environnements difficiles.

Conclusion et futurs plans

Aerostack2 représente un pas en avant significatif vers la création d'un framework commun pour les systèmes de robots aériens. Ses caractéristiques notables, comme la modularité et l'indépendance des plateformes, ont été validées par des tests approfondis dans divers scénarios.

À l'avenir, le framework continuera d'évoluer, ajoutant de nouveaux comportements et améliorant ses fonctionnalités pour mieux servir la communauté de la robotique aérienne. La collaboration avec d'autres développeurs enrichira encore les capacités du framework, ouvrant la voie à des systèmes robotiques aériens plus efficaces et polyvalents.

Source originale

Titre: Aerostack2: A Software Framework for Developing Multi-robot Aerial Systems

Résumé: The development of autonomous aerial systems, particularly for multi-robot configurations, is a complex challenge requiring multidisciplinary expertise. Unlike ground robotics, aerial robotics has seen limited standardization, leading to fragmented development efforts. To address this gap, we introduce Aerostack2, a comprehensive, open-source ROS 2 based framework designed for creating versatile and robust multi-robot aerial systems. Aerostack2 features platform independence, a modular plugin architecture, and behavior-based mission control, enabling easy customization and integration across various platforms. In this paper, we detail the full architecture of Aerostack2, which has been tested with several platforms in both simulation and real flights. We demonstrate its effectiveness through multiple validation scenarios, highlighting its potential to accelerate innovation and enhance collaboration in the aerial robotics community.

Auteurs: Miguel Fernandez-Cortizas, Martin Molina, Pedro Arias-Perez, Rafael Perez-Segui, David Perez-Saura, Pascual Campoy

Dernière mise à jour: 2024-09-03 00:00:00

Langue: English

Source URL: https://arxiv.org/abs/2303.18237

Source PDF: https://arxiv.org/pdf/2303.18237

Licence: https://creativecommons.org/licenses/by/4.0/

Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.

Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.

Plus d'auteurs

Articles similaires