Maîtriser les cieux : dévoiler le cœur logiciel des drones
De la réalisation de films aux livraisons en passant par l'aide en situation d'urgence, les drones sont de plus en plus populaires dans les tâches et activités quotidiennes. La demande d'appareils spécialisés augmente à mesure que le marché des UAV (véhicules aériens sans pilote) connaît une croissance exponentielle et trouve des applications diverses dans diverses industries. Et le besoin d'une interface homme-machine (HMI) intuitive et conviviale devient de plus en plus important. Examinons comment le logiciel du drone est conçu pour assurer une communication fluide entre l'appareil et un opérateur. Dans cet article, je présenterai les types d'applications de drones et les éléments essentiels nécessaires à la création d'un système de drone fonctionnel.
Qu'est-ce qu'une interface homme-machine dans un drone ?
Une interface homme-machine (IHM) est un système qui permet l'interaction entre un utilisateur et un appareil. Dans le contexte des drones, l'HMI joue un rôle crucial en faisant le lien entre les opérateurs humains et les systèmes complexes qui régissent le fonctionnement des drones.
L'IHM traduit les commandes de l'utilisateur en signaux que le contrôleur de vol du drone peut comprendre et exécuter, tout en présentant à l'utilisateur l'état du drone et les données des capteurs de manière compréhensible. L'importance des IHM dans les drones réside dans leur capacité à améliorer l'expérience utilisateur, à accroître la précision du contrôle et à contribuer à la sécurité et à l'efficacité opérationnelles globales. Mais pour y parvenir, il est essentiel de fournir tous les composants essentiels directement sur le drone et d'assurer la communication entre le drone et l'IHM.
Types de drones, leur objectif et leur utilisation dans diverses industries
Commençons par un bref aperçu des applications des drones dans différents secteurs.
• Drones grand public – principalement de petits appareils utilisés pour l'enregistrement vidéo, la photographie ou le vol de loisir.
• Drones commerciaux – drones de taille moyenne dotés de fonctionnalités avancées utilisés pour la réalisation de films, l'arpentage de propriétés (immobilier), la surveillance des cultures (agriculture), et autres.
• Drones industriels – appareils robustes et spécialisés pour un usage industriel, utilisés pour l'inspection des infrastructures (ponts, pipelines), la surveillance environnementale ou le levé de chantiers de construction.
• Drones militaires – allant des petits drones de reconnaissance aux grands drones armés utilisés pour des missions de surveillance ou de combat.
• Drones de livraison – drones agiles utilisés pour la livraison de nourriture ou de colis.
• Drones médicaux – conçus pour le transport de fournitures médicales, utilisés pour livrer rapidement des médicaments et du matériel médical dans des zones reculées ou inaccessibles.
• Drones de recherche et de sauvetage – drones équipés de capteurs et de caméras avancés pour localiser les personnes disparues ou inspecter les zones sinistrées.
Il convient de noter qu'il existe de nombreuses autres applications pour les drones au-delà de celles mentionnées ci-dessus. Cependant, la classification générale en différents types de drones nous permet d'apprécier leur polyvalence et le fait qu'ils partagent des fonctionnalités communes. Ces fonctionnalités incluent la planification d'itinéraires et de points de passage, la surveillance par caméra et l'accès à des informations de base telles que l'altitude ou la vitesse.
En outre, des fonctionnalités et applications plus avancées ne sont disponibles que sur des modèles de drones spécifiques. Par exemple, certains drones sont équipés d'une imagerie thermique, permettant l'observation dans des conditions de visibilité faible ou nulle. D'autres peuvent utiliser l'écholocalisation ou le LiDAR pour une mesure précise des distances et l'identification des objets.
En outre, certains modèles de drones permettent la livraison de colis, ce qui trouve une application dans la logistique. Il existe également des drones capables de saisir des objets, ce qui peut être utile, par exemple, dans les opérations de sauvetage.
>> si vous souhaitez explorer davantage l'utilisation des drones en entreprise, lisez cet article : Drones commerciaux : tendances, défis, solutions. Un entretien avec Marieta Weglicka et Piotr Wierzba
Un aperçu des composants essentiels d'un système de drone
Chacun de ces drones possède des fonctionnalités de base similaires. La manière dont elles doivent être implémentées pour fonctionner correctement est décrite plus loin dans cet article. Les HMI doivent être facilement configurables et gérer différents capteurs et caméras. Quant au contrôle du drone, il doit être piloté par l'utilisateur en temps réel, mais aussi disposer d'une option de pilote automatique implémentée.
Ci-dessous, j'ai décrit les éléments de construction d'un système de drone de base, avec la possibilité de poursuivre le développement du projet dans n'importe quelle direction.
Station de contrôle au sol (GCS)
Dans la technologie des drones, une interface homme-machine est souvent incarnée par une application qui fonctionne comme une station de contrôle au sol (GCS). Cette application peut être une application mobile ou un système fonctionnant sur du matériel dédié, servant de centre névralgique des opérations de drone.
Le GCS sert de hub pour la planification des itinéraires de vol et l'automatisation des opérations de drones. Il est essentiel pour superviser et gérer la mission du drone. Les utilisateurs peuvent préprogrammer des itinéraires, définir des points de passage et préciser les paramètres de mission, ce qui permet aux drones d'exécuter leurs tâches avec précision. Ce niveau d'automatisation améliore l'efficacité, en particulier dans les contextes industriels et professionnels.
Bien entendu, tout ne peut pas être planifié et automatisé, c'est pourquoi le contrôle manuel reste un aspect essentiel de l'exploitation des drones. Le GCS doit être parfaitement intégré aux contrôleurs périphériques ou intégrés, garantissant à l'opérateur la possibilité de prendre le contrôle manuel en cas de besoin. Le contrôleur lui-même peut prendre diverses formes. Il peut s'agir d'un joystick physique autonome ou d'un panneau de commande intégré à une application mobile, permettant aux utilisateurs de piloter le drone via une interface tactile. Il est également possible de contrôler un drone par gestes ou par mouvements du corps, une solution particulièrement populaire parmi les drones POV. Cette diversité répond aux différentes préférences des utilisateurs et exigences opérationnelles.
Le diagramme ci-dessous présente une architecture générale du système de drone de base qui n'inclut que les éléments mentionnés ci-dessus. Le diagramme sera étendu dans les prochaines parties de l'article.

Selon les exigences, le GCS peut être mis à disposition sur un matériel dédié conçu uniquement pour l'interfaçage avec le drone. Cependant, une telle solution nécessite la conception d'un tel dispositif, et l'utilisateur doit y avoir un accès continu s'il souhaite piloter le drone. En cas de dommage, cela devient impossible.
Station de contrôle au sol en tant qu'application
Une bonne alternative consiste à implémenter une station de contrôle au sol sous forme d'application sur les systèmes d'exploitation mobiles populaires tels qu'Android ou iOS. Ces appareils sont omniprésents et les utilisateurs peuvent utiliser la GCS avec n'importe quel matériel pris en charge.
Des solutions prêtes à l'emploi sont déjà disponibles sur le marché et peuvent être modifiées pour prendre en charge des cas d'usage plus avancés. Un exemple est QGroundControl, développé en Qt. QGroundControl implémente le protocole de communication le plus populaire, MAVLink, et prend en charge des pilotes automatiques comme PX4.
Dans un tel scénario, il semble raisonnable de s'appuyer sur une solution existante et bien documentée, permettant une personnalisation selon des besoins spécifiques. Dans ce cas, le schéma se présenterait comme suit :

Mais certains éléments essentiels manquent encore. Nous devons assurer une communication en temps réel entre le GCS et le drone dans les deux sens. C'est ici que nous introduisons MAVLink.
Protocole MAVLink
Le protocole MAVLink assure une communication bidirectionnelle entre la station de contrôle au sol, le drone et les composants embarqués du drone. Le protocole adopte deux modèles de conception distincts pour la gestion des messages : publication-abonnement et point à point. Les messages sont définis à l'aide de fichiers XML, avec un ensemble standardisé disponible. Toutefois, les utilisateurs peuvent également définir un ensemble de messages personnalisé, appelé dialecte MAVLink. Pour les cas d'usage de base, l'ensemble de messages standard est généralement suffisant. La configuration MAVLink doit être identique du côté UAV et du côté GCS.
Bien entendu, nous devons fournir des modules de télémétrie à la fois sur le drone et sur le GCS afin de permettre la liaison de communication. Le matériel de télémétrie courant comprend des modules radio (par exemple, RFD900x) ou des modules Wi-Fi.

Une fois la connexion établie, le drone doit répondre aux messages qu'il reçoit. À ce stade, nous pouvons aborder certains des éléments les plus importants à bord du drone.
Contrôleur de vol et ordinateur compagnon
Un contrôleur de vol est comparable au cerveau d'un drone. C'est le composant le plus crucial et le plus critique, qui interprète les commandes de l'utilisateur, traite les données des capteurs et génère des signaux de commande pour ajuster l'orientation, la vitesse et la position de l'appareil. Un contrôleur de vol (FC) constitue l'unité de calcul centrale chargée de gérer et de contrôler les différents aspects du vol d'un drone.
Les principales responsabilités de FC sont :
• contrôle de l'orientation/vitesse/position/odométrie du drone,
• suivi des vols et planification des trajectoires,
• fusion de capteurs,
• communication avec les périphériques,
• intégration de l'interface utilisateur,
• traitement en temps réel.
Dans le cas d'opérations plus avancées comme l'évitement d'obstacles, la prévention des collisions ou l'atterrissage sécurisé, il peut être nécessaire de déléguer une partie du travail à un autre ordinateur, appelé ordinateur compagnon (CC). Le CC peut effectuer des tâches nécessitant davantage de puissance de traitement, comme l'analyse de la sortie de la caméra pour, par exemple, arrêter le drone devant un obstacle. Le CC et le FC communiquent généralement à l'aide du protocole MAVLink.
Faire voler un drone sans FC est impossible, mais comment le drone peut-il voler en pilote automatique ? Les drones autonomes intègrent le pilote automatique standard tel que PX4 dans le contrôleur de vol.
Pilote automatique PX4
PX4 est un pilote automatique open-source robuste. Il est conçu pour être polyvalent et peut être utilisé dans divers types de véhicules, des multicoptères aux aéronefs à voilure fixe et même aux véhicules terrestres.
PX4 fournit une pile logicielle pour contrôler le matériel du véhicule, notamment les capteurs, les moteurs, etc. La pile de vol PX4 est contrôlée par un contrôleur de vol.

PX4 et ROS 1/ROS 2 communiquent via MAVLink, en utilisant le package MAVROS pour faire le pont entre les topics ROS et les messages MAVLink. L'approche recommandée dans la configuration ROS 2 consiste à communiquer via le pont PX4-ROS 2, une interface qui fournit un pont direct entre les messages uORB de PX4 et les messages/types DDS de ROS 2. Elle permet effectivement un accès direct aux composants internes de PX4 depuis les workflows et les nœuds ROS 2 en temps réel. Pour mettre en œuvre cette solution, le contrôleur de vol doit être mis à niveau au moins vers la version PX4 1.14.
En résumé
Ces composants (et bien d'autres) doivent fonctionner ensemble pour permettre à l'utilisateur d'interagir avec un drone. J'espère que cet article vous a présenté les éléments essentiels d'un drone afin que vous sachiez par où commencer et sur quelles pièces vous concentrer lorsque vous débutez votre aventure dans la construction de systèmes de dispositifs sans pilote.
Vous développez une solution de drone ? Nos experts en robotique et en interface homme-machine sont prêts à soutenir le développement de votre projet de drone. Découvrez nos services de robotique ici.
arrow_circle_rightContactez-nous
Transformez votre secteur grâce aux solutions de robotique
arrow_circle_right Nos articles