Q: Capteurs de flux optique pour drones : Guide de positionnement intérieur

Updated 4 min read

Réponse rapide

Un capteur de flux optique suit le mouvement du sol à l'aide d'une caméra orientée vers le bas, permettant aux drones de maintenir leur position sans GPS. Il fonctionne à l'intérieur, dans les canyons urbains et partout où les signaux satellites ne sont pas fiables. Le capteur le plus courant est le PMW3901, associé à un télémètre ToF pour les données d'altitude. ArduPilot et PX4 prennent tous deux en charge le flux optique nativement.

Comment fonctionne le flux optique

Un capteur de flux optique est essentiellement un capteur de souris pointé vers le sol. Il capture des images séquentielles de la surface en dessous et compare les décalages de pixels entre les images. En mesurant la façon dont le sol se déplace par rapport au drone, le capteur calcule la vitesse sur deux axes (avant/arrière et gauche/droite).

La sortie brute est un débit de pixels, qui doit être converti en vitesse réelle au sol. Cela nécessite de connaître la distance au sol, c'est pourquoi les capteurs de flux optique sont presque toujours associés à un capteur de portée comme un module ToF (Time of Flight) ou un LiDAR.

Sans données d'altitude précises, les calculs de flux n'ont aucun sens. Le Holybro PMW3901 utilise une connexion UART et nécessite un télémètre séparé pour l'altitude. Le MicoAir MTF-01P combine à la fois le flux optique et un capteur de portée de 12 mètres sur une seule carte, ce qui simplifie le câblage.

Quand utiliser le flux optique au lieu du GPS

Le GPS est le système de positionnement par défaut pour les drones extérieurs, mais il a des limites. Le flux optique comble des lacunes spécifiques :

Situation GPS Flux optique
Vol extérieur ouvert Meilleur choix Non nécessaire
Entrepôts intérieurs Indisponible Fonctionne bien
Sous les ponts ou les tunnels Dégradé Maintient la position
Vol stationnaire intérieur à basse altitude Dérive Maintien stable
Canyon urbain avec mauvaise vue sur le ciel Imprécis Aide à compléter

Le flux optique ne remplace pas le GPS. Il fonctionne mieux à basse altitude (moins de 3 mètres) sur des surfaces texturées. Les sols lisses, l'eau et les surfaces sans caractéristiques confondent le capteur. Pour l'autonomie en extérieur où le GPS n'est pas fiable, un télémètre ToF combiné à un flux optique offre un positionnement raisonnable sans satellites.

Capteurs de flux optique clés

Capteur Technologie Portée Interface Idéal pour
Holybro PMW3901 Flux optique uniquement Nécessite un ToF externe UART Constructions ArduPilot/PX4
MicoAir MTF-01P Flux optique + LiDAR 12 m 0,03-12 m UART/CAN Positionnement tout-en-un

Le PMW3901 est l'option la plus largement prise en charge, avec des pilotes natifs dans ArduPilot et PX4. Le MTF-01P est plus récent et combine les deux capteurs sur une seule carte, réduisant la complexité du câblage. Les deux sont dans la collection de capteurs.

Configuration du flux optique dans ArduPilot

ArduPilot prend en charge le PMW3901 directement. Après avoir câblé le capteur à un port UART de votre contrôleur de vol :

  • Réglez SERIALx_PROTOCOL sur 9 (pour le flux optique MAVLink)
  • Réglez FLOW_TYPE sur 1 (pour le PMW3901 série)
  • Activez le télémètre et configurez RNGFNDx_TYPE pour votre capteur ToF
  • Réglez EK2_GPS_TYPE sur 3 ou plus pour autoriser les sources de navigation non-GPS
  • Réglez FLOW_ENABLE sur 1

Pour le maintien de position sans GPS, réglez ARMING_CHECK pour désactiver les exigences GPS, ou utilisez le fail-safe FS_GCS_ENABLE pour une utilisation en intérieur. La configuration de PX4 suit un modèle similaire avec le paramètre EKF2_AID_MASK qui contrôle les sources de capteurs utilisées.

Le processus de configuration est simple si vous êtes déjà familier avec la configuration d'ArduPilot. Le guide de configuration d'ArduPilot couvre la configuration initiale du FC, et les modules GPS pour drones expliquent les capteurs de positionnement dans un contexte plus large.

Ordinateurs embarqués et autonomie avancée

Pour une navigation intérieure plus avancée (cartographie, évitement d'obstacles, missions par points de cheminement), un capteur de flux optique seul ne suffit pas. Vous avez besoin d'un ordinateur embarqué exécutant un logiciel comme ROS ou un planificateur de mission personnalisé.

Le PX4 Vision V1.5 combine un ordinateur embarqué avec des capteurs dans un kit de développement, conçu pour les applications de drones autonomes. Alternativement, le Pixhawk RPi CM4 Carrier Board vous permet d'ajouter un module Raspberry Pi Compute à toute construction basée sur Pixhawk. La collection de fabricants propose plusieurs cartes et kits pour ce type de projets.

Limitations à garder à l'esprit

  • Plafond d'altitude. La précision du flux optique diminue au-dessus de 3 mètres. Le capteur a besoin d'une texture de sol visible pour fonctionner.
  • La texture de la surface compte. Les sols polis, les tapis avec des motifs répétitifs et l'eau entraînent un mauvais suivi. Le béton texturé ou l'asphalte fonctionnent mieux.
  • Conditions d'éclairage. Les environnements très sombres ou la lumière directe du soleil peuvent affecter le capteur. Un éclairage intérieur typique est suffisant.
  • Dérive avec le temps. Sans GPS pour corriger l'erreur accumulée, le positionnement par flux optique dérivera. Il est préférable pour les maintiens de courte durée et les atterrissages précis, et non pour les longues missions autonomes.