Docs directory
Table of contents
MicoVIO — Manuel d’utilisation du module d’odométrie visuelle-inertielle
Présentation du produit
MicoVIO est un module d’odométrie visuelle-inertielle monoculaire conçu et fabriqué par MicoAir Tech. Il associe une caméra, une IMU et une mesure de distance ToF pour fournir en temps réel la position relative, la vitesse et l’attitude dans les environnements sans GPS ou à réception satellitaire limitée. Il fournit ainsi des informations d’état fiables pour le vol stationnaire, le maintien de position et la navigation autonome des drones.
Le module utilise un capteur d’image à obturateur global et à grande dynamique, un objectif grand-angle à grande ouverture et des algorithmes de vision soigneusement optimisés. Il offre une grande capacité d’adaptation à l’environnement et d’excellentes performances en faible luminosité, y compris dans des conditions difficiles : changements brusques d’éclairage entre intérieur et extérieur, surfaces peu texturées ou sols réfléchissants. Le suivi reste fiable même pendant les rotations rapides en lacet et les trajectoires circulaires avec inclinaison du drone.

Avec des dimensions de seulement 29.5 × 29.5 × 15 mm et un poids d’environ 16 g, MicoVIO allie compacité et performances élevées, ce qui facilite son intégration dans des châssis de différentes tailles. Il transmet les données MAVLink par une interface série et s’utilise une fois connecté à un contrôleur de vol. Il prend en charge les firmwares de pilotage automatique open source, notamment ArduPilot et PX4, pour un vol stationnaire précis et un vol stable sans GPS, avec une expérience de pilotage comparable à celle des drones grand public de prise de vue aérienne.
Achat
Caractéristiques techniques

Positionnement et suivi
- Méthode de positionnement : fusion visuelle-inertielle à partir de la caméra et de l’IMU ; le capteur de distance ToF intégré fournit l’information de hauteur
- Données de sortie : position relative, vitesse sur trois axes, attitude, distance au sol et qualité du positionnement
- Erreur de positionnement sur la trajectoire VIO : 1% (valeur typique) [1]
- Fréquence de mise à jour VIO : typiquement 50 Hz ; généralement 45–70 Hz, selon la complexité des textures de la scène
- Vitesse de suivi VIO : typiquement jusqu’à 10 m/s à une hauteur de 2 m au-dessus du sol ; varie selon la hauteur de fonctionnement, l’éclairage, les textures et les mouvements
- Hauteur de fonctionnement maximale du VIO : 30 m ; la hauteur effective dépend des textures, de l’éclairage et de la réflectance du sol
- Distance minimale au sol pour l’initialisation : 1 cm [2]
- Inclinaison maximale en fonctionnement : 60°
- Vitesse angulaire maximale de suivi : 300°/s
- Fermeture de boucle locale : activée par défaut ; améliore la précision du vol stationnaire et du maintien de position par réappariement des images, sans dégrader les performances en vol dynamique
- Temps de démarrage : environ 12 secondes entre la mise sous tension et le début de l’émission des données
Vision et mesure de distance
- Champ de vision de l’objectif (FOV) : 120° en diagonale
- Éclairement ambiant requis : >1 lux, avec de bonnes performances en faible luminosité
- Plage de mesure ToF : 0.02–12 m ; jusqu’à 12 m en intérieur ou en extérieur par ciel couvert, et environ 8 m en extérieur en plein soleil [3]
- Fréquence de mise à jour ToF : 43 Hz
Interface et protocole de communication
- Protocole de sortie : MAVLink 2
- Message d’odométrie : ODOMETRY (ID du message : 331)
- Message de distance : DISTANCE_SENSOR (ID du message : 132)
- Interface de communication : série LVTTL 3.3 V
- Débit en bauds : 921600 ; 8 bits de données, sans parité, 1 bit d’arrêt (8N1)
- Connecteur : GH1.25-4P
Caractéristiques électriques et mécaniques
- Tension d’alimentation : 5 V
- Courant moyen en fonctionnement : environ 200 mA
- Puissance typique en fonctionnement : environ 1 W
- Dimensions du module : 29.5 × 29.5 × 15 mm
- Poids du module : 16 g
- Montage : orienté vers le bas, fixé dans l’orientation spécifiée

Notes relatives aux caractéristiques
Note 1. L’erreur typique de positionnement sur la trajectoire de 1% correspond à la racine de l’erreur quadratique moyenne (RMSE) de l’erreur absolue de trajectoire (ATE) en trois dimensions, divisée par la longueur totale de la trajectoire de référence. Les performances réelles varient selon l’environnement et les mouvements.
Note 2. Il s’agit de la distance minimale au sol à laquelle l’initialisation est autorisée. Elle ne garantit pas la précision de la mesure ToF ni du positionnement à cette distance.
Note 3. Les performances réelles de mesure de distance dépendent de la lumière ambiante, de la réflectivité de la cible, de l’angle d’incidence et des conditions de montage.
Fonctionnalités
Faible coût et hautes performances
L’odométrie visuelle-inertielle (VIO) est une technologie essentielle au vol stable sans GPS, largement utilisée dans les drones grand public haut de gamme. Toutefois, le coût, l’encombrement, le poids et la complexité d’intégration restent des obstacles à l’adoption du positionnement visuel par la communauté des contrôleurs de vol open source, les passionnés de DIY et les utilisateurs industriels. Les solutions VIO open source traditionnelles reposent souvent sur des ordinateurs embarqués performants et des configurations de capteurs complexes, ce qui rend difficile l’association d’un faible coût et d’un format compact.
Fort de plusieurs années de recherche et développement sur les capteurs, MicoAir Tech a continuellement optimisé ses algorithmes de vision et conçu conjointement le matériel et le logiciel pour intégrer toutes les fonctions de positionnement visuel dans un module de seulement 29.5 × 29.5 × 15 mm, pesant environ 16 g. Grâce à son prix abordable, à sa compacité et à ses performances, MicoVIO rend le vol stationnaire, le maintien de position et la navigation autonome sans GPS accessibles à davantage de drones.
Excellentes performances en faible luminosité et grande adaptabilité
MicoVIO utilise un capteur d’image haut de gamme de grand format, à obturateur global et à grande dynamique. Ses excellentes performances en faible luminosité permettent de conserver un suivi efficace même dans les environnements peu éclairés. Il est soigneusement optimisé pour les changements brusques d’éclairage, la lumière intense, les surfaces peu texturées et les sols réfléchissants, afin de fonctionner de manière stable dans la grande majorité des situations réelles. Avec un éclairage d’appoint, il peut également fonctionner dans des lieux autrement totalement obscurs, comme les tunnels et les mines.
Suivi robuste et résistance à la divergence de l’estimation
La plupart des projets VIO open source sont très sujets à la divergence de l’estimation en utilisation réelle, ce qui complique leur mise en production. MicoVIO, en revanche, conserve un fonctionnement stable sans divergence lors de fortes variations d’éclairage, de chocs importants et de changements rapides d’attitude. Il maintient également un suivi visuel et un positionnement fiables pendant les rotations rapides en lacet et les trajectoires circulaires avec inclinaison du drone.
Fermeture de boucle locale
La fermeture de boucle est une fonction importante des systèmes SLAM visuels, mais elle exige beaucoup de ressources de calcul et n’est généralement pas disponible dans les systèmes VIO. Grâce à des algorithmes simplifiés et efficaces, MicoVIO réalise une fermeture de boucle locale sur une plateforme compacte et économique aux ressources de calcul limitées. En réappariant des images déjà acquises, il fournit des contraintes visuelles de position qui limitent la dérive accumulée et améliorent encore la précision du vol stationnaire et du maintien de position.
Estimation précise de la trajectoire
MicoVIO fournit en temps réel la position relative, la vitesse sur trois axes et l’attitude. Il répond aux exigences d’un vol stationnaire stable tout en fournissant une référence de position précise pour le suivi de trajectoire et la navigation autonome. Avec une erreur typique de positionnement sur la trajectoire de 1%, il offre une excellente reconstruction de trajectoire malgré sa petite taille et son faible coût. Cette estimation précise peut permettre un retour automatique au point de départ sans GPS, si le firmware de contrôle de vol prend en charge cette fonction.

Tests et configuration des paramètres
Connectez MicoVIO à un ordinateur via le port USB du module, puis utilisez MicoAssistant pour les tests et la configuration des paramètres.
MicoAssistant: https://micoair.com/assistant/
L’installation d’un pilote n’est généralement pas nécessaire. Sélectionnez le bon port lors de la connexion ; pour la connexion USB, le débit en bauds peut être choisi librement.

Brochage de l’interface

Schéma de câblage du contrôleur de vol

Installation
MicoVIO doit être installé orienté vers le bas, généralement sous le châssis. La flèche du module doit pointer vers l’avant du drone. L’orientation de montage (Yaw) peut être réglée dans MicoAssistant par incréments de 45° dans le sens horaire, en regardant le module par-dessous.


Configuration du contrôleur de vol
Nous recommandons MicoConfigurator pour configurer le contrôleur de vol à l’aide d’une interface graphique.
ArduPilot
Une version du firmware ArduPilot >= 4.5.2 est requise.
Les contrôleurs de vol équipés d’un microcontrôleur F405 (avec moins de 2 MB de mémoire flash) ne prennent généralement pas en charge la vision externe par défaut.
Configuration du port
SERIALn_BAUD = 921
SERIALn_OPTIONS 1024 (avant la version 4.7)
MAVn_OPTIONS = 2 (après la version 4.7)
SERIALn_PROTOCOL = 2
n dépend du port du contrôleur de vol auquel MicoVIO est connecté. Consultez le manuel du contrôleur de vol pour connaître la correspondance entre les ports physiques et les numéros de ports série, ou vérifiez la page de configuration des ports dans MicoConfigurator.

Configuration du capteur de vision
VISO_TYPE = 3
VISO_YAW_M_NSE = 0.1
Conservez les valeurs par défaut des autres paramètres. Redémarrez le contrôleur de vol pour appliquer les modifications.

Configuration du télémètre
RNGFND1_TYPE = 10
(n dépend du port physique utilisé.)
Redémarrez le contrôleur de vol ou actualisez les paramètres. Attention : après la version 4.7.0, l’unité devient le m.
RNGFND1_MAX_CM = 1200
RNGFND1_MIN_CM = 1
RNGFND1_ORIENT = 25

Configuration de l’EKF
EK3_SRC1_POSXY = 6: ExternalNav
EK3_SRC1_POSZ = 2: RangeFinder
EK3_SRC1_VELXY = 6: ExternalNav
EK3_SRC1_VELZ = 6: ExternalNav
EK3_SRC1_YAW = 6: ExternalNav
EK3_SRC1_YAW peut aussi être réglé sur 1: Compass, mais vérifiez que VISO_TYPE = 3.

PX4
Configuration du port
MAV_1_CONFIG TELEM n
Redémarrez le contrôleur de vol.
MAV_1_MODE = Onboard
MAV_1_FORWARD = Disabled
SER_TELn_BAUD 921600 8N1
n dépend du port du contrôleur de vol auquel MicoVIO est connecté. Consultez le manuel du contrôleur de vol pour connaître la correspondance entre les ports physiques et les numéros de ports série, ou vérifiez la page de configuration des ports dans MicoConfigurator.

Configuration de l’EKF
EKF2_EV_CTRL = 9
EKF2_HGT_REF = 2: Range sensor

Paramètres de décalage de montage
Si le module MicoVIO n’est pas installé au centre de rotation du drone, les décalages de position X/Y/Z doivent être correctement configurés dans le contrôleur de vol.
Des décalages incorrects ou non renseignés peuvent affecter la stabilité du vol et la précision du positionnement pendant les manœuvres dynamiques. En particulier, lorsque le drone tourne sur place, il peut dériver ou décrire un cercle autour du centre de rotation prévu au lieu de maintenir une position stable.


