💡 En 3 points clés
- Capteurs miniatures : caméras de quelques millimètres, IMU bas de gamme, pas de LiDAR.
- Calcul embarqué limité : souvent un microcontrôleur double cœur avec moins de 1 Mo de mémoire vive (520 kB de SRAM dans le cas de TinyCVIO).
- Dynamique élevée : mouvements rapides, vibrations, éclairage variable.
Le problème : estimer sa position avec presque rien
Les nanodrones — ces drones de quelques centimètres de côté — doivent naviguer avec une précision centimétrique, mais leur taille impose des contraintes drastiques :
Capteurs miniatures : caméras de quelques millimètres, IMU bas de gamme, pas de LiDAR.Calcul embarqué limité : souvent un microcontrôleur double cœur avec moins de 1 Mo de mémoire vive (520 kB de SRAM dans le cas de TinyCVIO).Dynamique élevée : mouvements rapides, vibrations, éclairage variable.Dans ce contexte, les méthodes classiques d’odométrie visuo-inertielle (VIO) — qui combinent images de caméra et données inertielles pour estimer le mouvement — échouent souvent. Leur complexité algorithmique dépasse les ressources disponibles, ou leur précision s’effondre en cas de textures pauvres ou de mouvements brusques.
La solution : des LEDs et une géométrie connue
TinyCVIO, développé par une équipe de recherche, contourne ces limites en imposant une géométrie connue à l’environnement. Au lieu de chercher des points d’intérêt naturels (comme des coins de meubles ou des motifs aléatoires), le système utilise des constellations de LEDs placées sur une surface plane (un plafond, une table, etc.).
Pourquoi des LEDs ?
Leur position relative est fixe et connue à l’avance.Leur détection est robuste : même en cas de flou de mouvement ou de faible éclairage, une LED reste identifiable.Leur géométrie simplifie le problème d’estimation : pas besoin de cartographier l’environnement, juste de suivre les LEDs.L’architecture : trois briques pour un système minimaliste
TinyCVIO repose sur trois composants clés, conçus pour fonctionner dans 520 kB de SRAM :
1. Un frontend visuel léger
Une caméra millimétrique (quelques millimètres de côté) capture des images à 29,2 FPS.Un algorithme de suivi d’objets simple détecte les LEDs et extrait leurs coordonnées dans l’image.Le traitement est optimisé pour éviter les allocations dynamiques de mémoire, critiques sur un microcontrôleur.2. Un modèle de mesure rigide
Contrairement aux approches classiques qui traitent chaque LED comme un point indépendant, TinyCVIO exploite les contraintes géométriques entre les LEDs.Par exemple, si trois LEDs forment un triangle équilatéral, leur disposition relative permet de corriger les erreurs de suivi individuel.Ce modèle réduit l’erreur de trajectoire de 27 % par rapport à une approche basée sur des points plans, selon les tests sur 19 jeux de données.3. Un filtre d’estimation optimisé
Un filtre de Kalman étendu (EKF) fusionne les données de la caméra et de l’IMU.La taille de l’état du filtre est bornée pour rester dans les limites de la mémoire disponible, même avec un nombre variable de LEDs détectées.Le système a été testé dans deux scénarios :
19 jeux de données en boucle fermée (simulation matérielle) : l’erreur moyenne de trajectoire (ATE) est réduite de 27 % grâce au modèle rigide.9 vols réels avec un Crazyflie : sur des trajectoires de 10 mètres, l’erreur moyenne est de 3,5 à 3,7 cm, avec une erreur relative de pose de 0,50 à 0,60 %. La latence moyenne des estimations est de 15,7 à 16,3 ms.Ces résultats placent TinyCVIO parmi les systèmes VIO les plus précis pour les nanodrones, malgré des ressources calculatoires extrêmement limitées.
Comparaison avec l’état de l’art
D’autres approches récentes visent à réduire la complexité des algorithmes VIO pour les systèmes embarqués :
LEVIO (2026) : utilise des méthodes de suivi de caractéristiques comme ORB ou SuperPoint, mais nécessite un SoC plus puissant (RISC-V parallèle).TIO-Former (2026) : remplace la caméra par des capteurs ToF (Time-of-Flight) pour réduire la charge calculatoire, mais au prix d’une précision moindre (0,118 m d’ATE).TinyDEVO (2026) : exploite des caméras événementielles et des réseaux de neurones légers, mais avec une erreur de trajectoire de 27 cm sur des jeux de données standard.TinyCVIO se distingue par sa simplicité : pas de réseaux de neurones, pas de capteurs exotiques, juste des LEDs et un microcontrôleur double cœur. Cette approche rappelle les systèmes de navigation par balises utilisées en robotique industrielle, mais adaptée à l’échelle nanométrique.
Limites et perspectives
Malgré ses performances, TinyCVIO repose sur un environnement contrôlé : les LEDs doivent être visibles et placées sur une surface plane. Son déploiement en extérieur ou dans des environnements non structurés reste un défi. Les auteurs suggèrent d’explorer des variantes où les LEDs sont remplacées par des motifs visuels plus complexes, ou où des techniques de SLAM léger sont intégrées pour réduire la dépendance à une géométrie prédéfinie.
En résumé
TinyCVIO démontre qu’il est possible d’atteindre une précision centimétrique en odométrie visuo-inertielle pour des nanodrones, sans sacrifier la légèreté ni la réactivité. En exploitant des constellations de LEDs et une modélisation géométrique rigide, le système réduit les besoins calculatoires tout en améliorant la robustesse. Une avancée qui pourrait accélérer le développement de swarms de nanodrones pour l’inspection, la logistique ou la recherche en essaims.
Source : [arxiv.org/abs/2609.30358](https://arxiv.org/abs/2609.30358)