Contents — find the section you need
ArduPilot n'est pas une simple application de pilotage automatique pour drones. Compatible avec les aéronefs à voilure fixe (Plane), les multicoptères (Copter), les véhicules terrestres (Rover) et même les submersibles/bateaux (configurations hybrides), il s'agit d'une plateforme embarquée qui lit les données des capteurs, estime l'état du véhicule, envoie des commandes aux actionneurs et assure une transition vers un état sûr en cas de panne. Avant tout vol, il est essentiel de bien comprendre l'estimation, le contrôle, la communication, l'alimentation et la station au sol, considérés comme un élément fondamental de la sécurité.
Exemple d'aéronef autonomeImage : Skydio X2D inspectant un aéronef (Mauricio Campino, domaine public), Wikimedia Commons. Il ne s'agit pas d'un véhicule ArduPilot ; l'illustration porte sur l'ordinateur de bord et le contexte du vol autonome.
Résumé en 30 secondes
-
ArduPilot fusionne les données de l'IMU, du GNSS, du magnétomètre, du baromètre et du télémètre via un EKF pour estimer l'attitude, la vitesse, la position et le biais.
-
Le drone est axé sur la répartition de la poussée et le contrôle d'attitude, l'avion sur l'aérodynamique et la gestion de l'énergie, et le rover sur les roues, la direction et le suivi de trajectoire ; leurs paramètres diffèrent.
-
Une boucle interne de vitesse angulaire/attitude fonctionne à haute fréquence, tandis qu'une boucle externe de position/vitesse/mission génère les cibles. Vérifiez les signes et les unités des PID sur le véhicule réel.
-
MAVLink est le protocole de messagerie reliant le véhicule à la station au sol, aux ordinateurs de bord et aux périphériques. Les pertes de communication, les baisses de tension, les pertes GNSS et les franchissements de géorepérage sont gérés par des systèmes de sécurité.
-
Les tests se déroulent par étapes : SITL, relecture des journaux de vol, tests sur banc sans hélices, tests avec câble et tests à basse altitude. Même si la simulation réussit, les vibrations du véhicule réel, les interférences électromagnétiques et les chutes de tension constituent des problèmes distincts.
1. Architecture
Figure 1 — Les capteurs sont fusionnés par l'EKF ; la boucle de contrôle interne d'attitude/vitesse pilote un mélangeur qui alimente les moteurs et les servomoteurs. MAVLink assure l'interface avec la station au sol et les ordinateurs externes.
La boucle principale du véhicule traite l'acquisition, l'estimation, le contrôle, la sortie, la communication et l'enregistrement des données des capteurs selon un cycle fixe. Les données IMU à haute fréquence prédisent l'attitude, tandis que le GNSS, le magnétomètre, le baromètre et la vision externe fournissent des corrections à plus basse fréquence. Lorsque la qualité de l'estimation se dégrade, au lieu de continuer à poursuivre la cible, le contrôleur opte pour une action sûre : maintien, retour ou atterrissage.
2. Estimation d'état par EKF
Un exemple de vecteur d'état est : position p , vitesse v , attitude R , et biais du gyroscope/accéléromètre b_g,b_a . La prédiction provient de l'IMU et les mises à jour sont issues d'observations externes.
Ici, a_m,\omega_m représentent les valeurs mesurées, g la gravité et [\cdot]_{\times} la matrice de produit vectoriel. L'EKF propage la covariance P et rejette temporairement un capteur lorsque son résidu d'observation (innovation) sort de la plage attendue ; ce mécanisme permet de ne pas accepter aveuglément les interférences magnétiques ou les trajets multiples GNSS.
Les vibrations du véhicule ajoutent des composantes haute fréquence à l'accéléromètre, déstabilisant ainsi l'estimation et le contrôle. La rigidité du châssis, l'équilibrage de l'hélice, les amortisseurs et la latence du filtre doivent être optimisés tant au niveau mécanique que logiciel. La superposition du spectre de vibrations enregistré avec l'innovation du filtre de Kalman étendu (EKF) au même instant facilite l'identification de la cause.
3. Contrôle des drones, avions et rovers
Drone
Un multicoptère génère un couple d'attitude à partir de la poussée totale (T) et de la vitesse de rotation de chaque moteur. Approximativement,
où le mélangeur répartit les demandes de roulis, de tangage, de lacet et de poussée entre les moteurs. En dehors de la boucle d'attitude-angle se trouve une boucle vitesse/position, qui surveille la marge de poussée en fonction du vent et des variations de charge utile.
Avion
Un aéronef à voilure fixe vole grâce à la portance et la traînée de ses ailes, sa vitesse, son angle d'attaque et son état énergétique. Il tourne grâce à l'angle de roulis et ajuste sa vitesse/altitude grâce au tangage ; les gains du multicoptère ne sont donc pas directement réutilisables. L'atterrissage automatique nécessite des tests spécifiques prenant en compte le vent, la piste et la latence des capteurs.
Rover
Le rover combine la vitesse des roues, l'angle de braquage, le GNSS, le compas, le LiDAR et des capteurs similaires pour suivre des points de passage et des objectifs de vitesse. Le patinage des roues et les pentes perturbant la navigation à l'estime, la covariance et la relocalisation sont conçues de la même manière que l'odométrie décrite dans l'article robotics-dead-reckoning.
4. Missions et MAVLink
Une mission est une séquence de commandes : points de passage, vitesse, altitude, déclenchement de la caméra, atterrissage, etc. MAVLink est un petit protocole de messagerie binaire qui échange des signaux de présence (HEARTBEAT), la position, l'attitude, les paramètres, les données de mission et les accusés de réception des commandes. SITL et la station au sol communiquent via UDP ; sur du matériel réel, la latence, la bande passante, le chiffrement et l'authentification de la liaison radio doivent être évalués.
Lors de l'automatisation d'une mission, ne passez pas à la commande suivante sans avoir reçu d'accusé de réception. Définissez les mécanismes d'accusé de réception (ACK), de délai d'attente, de nouvelle tentative, d'annulation et de reprise du vol après une coupure de courant. La communication ne doit jamais constituer le seul point de défaillance du système de contrôle ; concevez-le de manière à ce que le véhicule puisse revenir et atterrir en toute sécurité même en cas de déconnexion de la station au sol.
5. Dispositifs de sécurité et tests de sécurité
Détectez les baisses de tension, les pertes de liaison radio, la dégradation de la qualité GNSS, les défauts du filtre de Kalman étendu (EKF), les franchissements de zone géographique et les pannes de moteur, et adaptez le comportement au type de véhicule. Le retour au point de départ n'est pas toujours la solution la plus sûre : par vent fort, à proximité d'obstacles ou en cas de position de départ non confirmée, l'atterrissage ou le maintien en vol peuvent être plus appropriés. Une fois les seuils définis, testez leur franchissement dans un environnement à faible risque.
Les tests doivent être effectués par étapes : SITL → simulation matérielle → hélices retirées → engin amarré → basse altitude → altitude opérationnelle. Effectuez des tests d'injection de pannes enregistrés : coupure brutale de l'alimentation, blindage de l'antenne GNSS, interruption des communications, retrait d'un capteur. L'autorisation de vol, la réglementation aérienne locale, le respect de la vie privée et la réglementation radio font partie intégrante des exigences techniques.
6. Ordre recommandé pour le réglage des paramètres
-
Vérifiez l'orientation, l'étalonnage, la synchronisation et la tension d'alimentation des capteurs.
-
Une fois l'engin immobilisé, mesurez le biais et les vibrations du gyroscope, de l'accéléromètre et du compas.
-
Optimisez la boucle d'attitude interne en commençant par de faibles gains, en surveillant la saturation et les oscillations.
-
Ajoutez les boucles de vitesse/position/altitude et évaluez le suivi en fonction du vent et de la charge utile.
-
Effectuez un test complet de bout en bout des missions, des procédures de sécurité, des redémarrages et de l'enregistrement des données.
Copier les valeurs de gain d'un autre véhicule ne garantit pas la stabilité si les hélices, le moment d'inertie, la marge de poussée ou la période d'échantillonnage diffèrent. Superposez la cible, la valeur mesurée, la saturation de la sortie et l'innovation dans le journal pour identifier la boucle responsable du retard.
7. Utilisations actuelles et recherches
ArduPilot est utilisé dans de nombreux domaines avec différents types de véhicules : pulvérisation agricole, topographie, évaluation des catastrophes, aéronefs à décollage et atterrissage verticaux (VTOL) de recherche, bateaux autonomes. Certaines configurations transmettent les cibles depuis un ordinateur embarqué via MAVLink et alimentent ROS 2 ou des estimations de vision par ordinateur comme observations auxiliaires. Les recherches progressent sur la navigation visuelle, le diagnostic de pannes multi-capteurs, l'estimation du vent par apprentissage automatique et la coordination multi-véhicules. Toutefois, il est toujours recommandé que la sortie finale soit soumise aux limites et aux mécanismes de sécurité existants.
Résumé
ArduPilot repose sur l'intégration de la fusion de capteurs, du contrôle hiérarchique, de l'exécution de mission, de la communication et des mécanismes de sécurité au sein d'un système embarqué unique. Avant d'écrire le code qui pilote le véhicule, spécifiez l'état estimé et les repères, la période de contrôle, les limites de sortie et les transitions en cas de panne. Utilisez les journaux d'activité et les tests de sécurité (SITL), et effectuez des tests de sécurité rigoureux sur le véhicule réel. Les logiciels libres permettent de mener un projet de la recherche à l'exploitation.
La saisie d'un itinéraire est-elle suffisante pour un vol autonome ?
La configuration du véhicule, l'estimation, le contrôle et les mécanismes de sécurité doivent fonctionner de concert.
Dissocier la planification d'itinéraire des conditions d'exécution des commandes. ## Références - [Documentation ArduPilot](https://ardupilot.org/) - [ArduPilot EKF3](https://ardupilot.org/dev/docs/extended-kalman-filter.html) - [Guide du développeur MAVLink](https://mavlink.io/en/) - [ArduPilot SITL](https://ardupilot.org/dev/docs/sitl-simulator-software-in-the-loop.html) - [Planificateur de mission](https://ardupilot.org/planner/)
Commentaires
Veuillez vous connecter.
Aucune entrée pour le moment.