Docs directory
Table of contents
MicoVIO — Manual de usuario de odometría visual-inercial
Descripción del producto
MicoVIO es un módulo de odometría visual-inercial monocular diseñado y fabricado por MicoAir Tech. Combina una cámara, una IMU y medición de distancia ToF para proporcionar en tiempo real la posición relativa, la velocidad y la actitud en entornos sin GPS o con recepción limitada de señales de satélite. Así ofrece información de estado fiable para el vuelo estacionario, el mantenimiento de posición y la navegación autónoma de drones.
El módulo utiliza un sensor de imagen de obturador global y alto rango dinámico, un objetivo gran angular de gran apertura y algoritmos de visión ampliamente optimizados. Ofrece una gran capacidad de adaptación al entorno y un excelente rendimiento con poca luz, incluso en condiciones difíciles como cambios bruscos de iluminación entre interiores y exteriores, superficies con poca textura y suelos reflectantes. Mantiene un seguimiento fiable incluso durante giros rápidos sobre el eje de guiñada y maniobras de vuelo circular con alabeo.

Con unas dimensiones de solo 29.5 × 29.5 × 15 mm y un peso aproximado de 16 g, MicoVIO combina un formato compacto con un alto rendimiento, lo que facilita su integración en chasis de distintos tamaños. Transmite datos MAVLink mediante una interfaz serie y está listo para utilizarse al conectarlo a un controlador de vuelo. Es compatible con firmware de piloto automático de código abierto, como ArduPilot y PX4, y permite un vuelo estacionario preciso y un vuelo estable sin GPS, con una experiencia de control comparable a la de los drones de consumo para fotografía aérea.
Compra
Especificaciones

Posicionamiento y seguimiento
- Método de posicionamiento: fusión visual-inercial de la cámara y la IMU; el sensor ToF integrado proporciona información de altura
- Datos de salida: posición relativa, velocidad en tres ejes, actitud, distancia al suelo e información sobre la calidad del posicionamiento
- Error de posicionamiento de la trayectoria VIO: 1% (típico) [1]
- Frecuencia de actualización VIO: típicamente 50 Hz; normalmente 45–70 Hz, según la complejidad de las texturas de la escena
- Velocidad de seguimiento VIO: típicamente hasta 15 m/s a una altura de 2 m sobre el suelo; varía con la altura de funcionamiento, la iluminación, la textura y el movimiento
- Altura máxima de funcionamiento del VIO: 30 m; la altura efectiva depende de la textura de la escena, la iluminación y la reflectancia del suelo
- Distancia mínima al suelo para la inicialización: 1 cm [2]
- Ángulo máximo de inclinación en funcionamiento: 60°
- Velocidad angular máxima de seguimiento: 300°/s
- Cierre de bucle local: activado de forma predeterminada; mejora la precisión del vuelo estacionario y del mantenimiento de posición al volver a establecer correspondencias entre imágenes, sin afectar al rendimiento del vuelo dinámico
- Tiempo de arranque: aproximadamente 12 segundos desde el encendido hasta el inicio de la salida de datos
Visión y medición de distancia
- Campo de visión del objetivo (FOV): 120° en diagonal
- Iluminancia ambiental requerida: >1 lux, con buen rendimiento en condiciones de poca luz
- Rango de medición ToF: 0.02–12 m; hasta 12 m en interiores o en exteriores con cielo cubierto, y aproximadamente 8 m en exteriores con luz solar intensa [3]
- Frecuencia de actualización ToF: 43 Hz
Interfaz y protocolo de comunicación
- Protocolo de salida: MAVLink 2
- Mensaje de odometría: ODOMETRY (ID del mensaje: 331)
- Mensaje de distancia: DISTANCE_SENSOR (ID del mensaje: 132)
- Interfaz de comunicación: serie LVTTL de 3.3 V
- Velocidad en baudios: 921600; 8 bits de datos, sin paridad, 1 bit de parada (8N1)
- Conector: GH1.25-4P
Especificaciones eléctricas y mecánicas
- Tensión de alimentación: 5 V
- Corriente media de funcionamiento: aproximadamente 200 mA
- Potencia típica de funcionamiento: aproximadamente 1 W
- Dimensiones del módulo: 29.5 × 29.5 × 15 mm
- Peso del módulo: 16 g
- Montaje: orientado hacia abajo y fijado en la orientación especificada

Notas sobre las especificaciones
Nota 1. El error típico de posicionamiento de la trayectoria del 1% se calcula dividiendo la raíz del error cuadrático medio (RMSE) del error absoluto de trayectoria (ATE) en tres dimensiones entre la longitud total de la trayectoria de referencia. El rendimiento real varía según las condiciones ambientales y de movimiento.
Nota 2. Esta es la distancia mínima al suelo a la que se permite la inicialización. No garantiza la precisión de la medición ToF ni del posicionamiento a esa distancia.
Nota 3. El rendimiento real de la medición depende de la luz ambiental, la reflectividad del objetivo, el ángulo de incidencia y las condiciones de montaje.
Características
Bajo coste y alto rendimiento
La odometría visual-inercial (VIO) es una tecnología clave para mantener un vuelo estable sin GPS y se utiliza ampliamente en drones de consumo de gama alta. Sin embargo, el coste, el tamaño, el peso y la complejidad de integración siguen siendo barreras para adoptar el posicionamiento visual en la comunidad de controladores de vuelo de código abierto, entre los aficionados al DIY y en aplicaciones industriales. Las soluciones VIO tradicionales de código abierto suelen depender de ordenadores de a bordo de alto rendimiento y de configuraciones complejas de sensores, lo que dificulta combinar un tamaño compacto con un coste reducido.
A partir de años de investigación y desarrollo de sensores, MicoAir Tech ha optimizado continuamente sus algoritmos de visión y ha diseñado de forma conjunta el hardware y el software para integrar todas las funciones de posicionamiento visual en un módulo de solo 29.5 × 29.5 × 15 mm y aproximadamente 16 g. Gracias a su precio asequible, tamaño compacto y excelente rendimiento, MicoVIO permite que más drones dispongan de vuelo estacionario, mantenimiento de posición y navegación autónoma sin GPS.
Excelente rendimiento con poca luz y adaptación al entorno
MicoVIO utiliza un sensor de imagen de alta calidad y gran formato, con obturador global, alto rango dinámico y excelentes prestaciones con poca luz, que mantiene un seguimiento eficaz incluso en entornos poco iluminados. Está ampliamente optimizado para condiciones difíciles, como cambios bruscos de iluminación, luz intensa, superficies con poca textura y suelos reflectantes, lo que permite un funcionamiento estable en la gran mayoría de situaciones reales. Con iluminación auxiliar, también puede funcionar en entornos que de otro modo estarían completamente oscuros, como túneles y minas.
Seguimiento robusto y resistencia a la divergencia de la estimación
La mayoría de los proyectos VIO de código abierto son muy propensos a la divergencia de la estimación en uso real, lo que dificulta su despliegue en entornos de producción. MicoVIO, en cambio, mantiene un funcionamiento estable sin divergencia ante grandes cambios de iluminación, impactos fuertes y variaciones rápidas de actitud. También conserva un seguimiento visual y un posicionamiento fiables durante giros rápidos sobre el eje de guiñada y maniobras de vuelo circular con alabeo.
Cierre de bucle local
El cierre de bucle es una función importante en los sistemas SLAM visuales, pero exige muchos recursos de cálculo y normalmente no está disponible en los sistemas VIO. Mediante algoritmos simplificados y eficientes, MicoVIO implementa el cierre de bucle local en una plataforma compacta y económica con recursos de procesamiento limitados. Al volver a establecer correspondencias con imágenes capturadas anteriormente, aporta restricciones visuales de posición que reducen la deriva acumulada y mejoran aún más la precisión del vuelo estacionario y del mantenimiento de posición.
Estimación precisa de la trayectoria
MicoVIO proporciona en tiempo real la posición relativa, la velocidad en tres ejes y la actitud. Cumple los requisitos para un vuelo estacionario estable y ofrece referencias precisas de posición para el seguimiento de trayectorias y la navegación autónoma. Con un error típico de posicionamiento de la trayectoria del 1%, ofrece una excelente reconstrucción de la trayectoria pese a su tamaño reducido y bajo coste. Esta estimación precisa puede permitir el retorno automático al punto de origen sin GPS, siempre que el firmware de control de vuelo admita esta función.

Pruebas y configuración de parámetros
Conecte MicoVIO a un ordenador mediante el puerto USB del módulo y utilice MicoAssistant para realizar pruebas y configurar los parámetros.
MicoAssistant: https://micoair.com/assistant/
Normalmente no es necesario instalar un controlador. Seleccione el puerto correcto al conectar el módulo; en la conexión USB puede utilizarse cualquier velocidad en baudios.

Asignación de pines de la interfaz

Esquema de cableado del controlador de vuelo

Instalación
MicoVIO solo admite la instalación orientada hacia abajo y suele montarse en la parte inferior de la aeronave. La flecha del módulo debe apuntar hacia el morro. La orientación de montaje (Yaw) puede ajustarse en MicoAssistant en incrementos de 45° en sentido horario, mirando desde abajo.


Configuración del controlador de vuelo
Recomendamos MicoConfigurator para configurar el controlador de vuelo mediante una interfaz gráfica.
ArduPilot
Se requiere una versión del firmware ArduPilot >= 4.5.2.
Los controladores de vuelo basados en un MCU F405 (con menos de 2 MB de memoria flash) normalmente no admiten visión externa en su configuración predeterminada.
Configuración del puerto
SERIALn_BAUD = 921
SERIALn_OPTIONS 1024 (antes de la versión 4.7)
MAVn_OPTIONS = 2 (después de la versión 4.7)
SERIALn_PROTOCOL = 2
n depende del puerto del controlador de vuelo al que esté conectado MicoVIO. Consulte el manual del controlador de vuelo para conocer la correspondencia entre los puertos físicos y los números de puerto serie, o revise la página de configuración de puertos en MicoConfigurator.

Configuración del sensor de visión
VISO_TYPE = 3
VISO_YAW_M_NSE = 0.1
Mantenga los demás ajustes en sus valores predeterminados. Reinicie el controlador de vuelo para aplicar los cambios.

Configuración del sensor de distancia
RNGFND1_TYPE = 10
(n depende del puerto físico utilizado.)
Reinicie el controlador de vuelo o actualice los parámetros. Tenga en cuenta que la unidad cambia a m después de la versión 4.7.0.
RNGFND1_MAX_CM = 1200
RNGFND1_MIN_CM = 1
RNGFND1_ORIENT = 25

Configuración del 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
También puede establecer EK3_SRC1_YAW en 1: Compass, pero asegúrese de que VISO_TYPE = 3.

PX4
Configuración del puerto
MAV_1_CONFIG TELEM n
Reinicie el controlador de vuelo.
MAV_1_MODE = Onboard
MAV_1_FORWARD = Disabled
SER_TELn_BAUD 921600 8N1
n depende del puerto del controlador de vuelo al que esté conectado MicoVIO. Consulte el manual del controlador de vuelo para conocer la correspondencia entre los puertos físicos y los números de puerto serie, o revise la página de configuración de puertos en MicoConfigurator.

Configuración del EKF
EKF2_EV_CTRL = 9
EKF2_HGT_REF = 2: Range sensor

Parámetros de desplazamiento de montaje
Si el módulo MicoVIO no está instalado en el centro de rotación del dron, deben configurarse correctamente los desplazamientos de posición X/Y/Z en el controlador de vuelo.
Si los desplazamientos son incorrectos o no están configurados, pueden afectar a la estabilidad del vuelo y a la precisión del posicionamiento durante maniobras dinámicas. En particular, cuando el dron gira sobre sí mismo, puede derivar o describir un círculo alrededor del centro de rotación previsto, en lugar de mantener una posición estable.


