Docs directory
Table of contents
MicoVIO 시각·관성 오도메트리 사용자 매뉴얼
제품 개요
MicoVIO는 MicoAir Tech가 설계하고 제조하는 단안 시각·관성 오도메트리 모듈입니다. 카메라, IMU, ToF 거리 측정을 결합하여 GPS를 사용할 수 없거나 위성 신호 수신이 제한되는 환경에서도 상대 위치, 속도, 자세를 실시간으로 출력합니다. 이를 통해 드론의 호버링, 위치 유지, 자율 항법에 필요한 신뢰성 높은 상태 정보를 제공합니다.
이 모듈은 넓은 다이내믹 레인지의 글로벌 셔터 이미지 센서, 대구경 광각 렌즈, 충분히 최적화된 시각 알고리즘을 사용합니다. 뛰어난 환경 적응성과 저조도 성능으로 실내외의 급격한 조명 변화, 시각적 특징이 부족한 표면, 반사되는 바닥 등 까다로운 조건에 대응합니다. 요 축을 중심으로 빠르게 회전하거나 기체를 기울여 선회하는 동안에도 안정적인 추적을 유지합니다.

크기는 29.5 × 29.5 × 15 mm에 불과하고 무게는 약 16 g으로, 소형 설계와 높은 성능을 함께 갖춰 다양한 크기의 프레임에 쉽게 통합할 수 있습니다. 직렬 인터페이스로 MAVLink 데이터를 출력하며 비행 컨트롤러에 연결해 사용할 수 있습니다. ArduPilot, PX4 등 오픈소스 자동 조종 펌웨어를 지원하여 GPS 없이 정밀한 호버링과 안정적인 비행을 구현하며, 일반 소비자용 항공 촬영 드론에 버금가는 조종 경험을 제공합니다.
구매
사양

위치 추정 및 추적
- 위치 추정 방식: 카메라와 IMU를 이용한 시각·관성 융합, 내장 ToF 거리 센서로 높이 정보 제공
- 출력 데이터: 상대 위치, 3축 속도, 자세, 지면까지의 거리, 위치 추정 품질 정보
- VIO 궤적 위치 추정 오차: 1% (일반값) [1]
- VIO 갱신율: 일반값 50 Hz. 보통 45–70 Hz이며 장면의 시각적 특징 복잡도에 따라 달라짐
- VIO 추적 속도: 지상 높이 2 m에서 일반적으로 최대 10 m/s. 작동 높이, 조명, 표면의 시각적 특징 및 움직임에 따라 달라짐
- VIO 최대 작동 높이: 30 m. 유효 높이는 장면의 시각적 특징, 조명 및 지면 반사율에 따라 달라짐
- 초기화에 필요한 최소 지면 간격: 1 cm [2]
- 최대 작동 기울기: 60°
- 최대 추적 각속도: 300°/s
- 로컬 루프 폐쇄: 기본 활성화. 영상을 다시 매칭하여 동적 비행 성능에 영향을 주지 않고 호버링과 위치 유지 정확도를 개선
- 시작 시간: 전원 인가 후 데이터 출력 시작까지 약 12초
영상 및 거리 측정
- 렌즈 시야각(FOV): 대각선 120°
- 주변 조도 요구 사항: >1 lux, 뛰어난 저조도 성능
- ToF 측정 거리: 0.02–12 m. 실내 또는 흐린 날의 실외에서 최대 12 m, 강한 햇빛 아래 실외에서는 약 8 m [3]
- ToF 갱신율: 43 Hz
통신 인터페이스 및 프로토콜
- 출력 프로토콜: MAVLink 2
- 오도메트리 메시지: ODOMETRY (메시지 ID: 331)
- 거리 측정 메시지: DISTANCE_SENSOR (메시지 ID: 132)
- 통신 인터페이스: 3.3 V LVTTL 직렬 통신
- 보드레이트: 921600, 데이터 8비트, 패리티 없음, 정지 1비트(8N1)
- 커넥터: GH1.25-4P
전기 및 기구 사양
- 공급 전압: 5 V
- 평균 작동 전류: 약 200 mA
- 일반 작동 전력: 약 1 W
- 모듈 크기: 29.5 × 29.5 × 15 mm
- 모듈 무게: 16 g
- 장착: 아래를 향하도록 지정된 방향으로 고정

사양 참고 사항
참고 1. 일반적인 궤적 위치 추정 오차 1%는 3차원 절대 궤적 오차(ATE)의 평균 제곱근 오차(RMSE)를 전체 기준 궤적 길이로 나눈 값입니다. 실제 성능은 환경 및 움직임 조건에 따라 달라집니다.
참고 2. 초기화가 허용되는 최소 지면 간격입니다. 이 거리에서 ToF 거리 측정이나 위치 추정의 정확도를 보장하는 것은 아닙니다.
참고 3. 실제 거리 측정 성능은 주변광, 대상의 반사율, 입사각 및 장착 조건에 따라 달라집니다.
주요 특징
낮은 비용과 높은 성능
시각·관성 오도메트리(VIO)는 GPS를 사용할 수 없는 환경에서 안정적으로 비행하기 위한 핵심 기술로, 고급 소비자용 드론에 널리 사용됩니다. 그러나 비용, 크기, 무게, 통합의 복잡성은 오픈소스 비행 컨트롤러 커뮤니티, DIY 사용자 및 산업 분야에서 시각 기반 위치 추정 기술을 도입하는 데 여전히 장벽이 됩니다. 기존 오픈소스 VIO 솔루션은 고성능 기체 탑재 컴퓨터와 복잡한 센서 구성에 의존하는 경우가 많아 소형화와 저비용을 동시에 달성하기 어렵습니다.
MicoAir Tech는 다년간의 센서 연구 개발 경험을 바탕으로 시각 알고리즘을 지속적으로 최적화하고 하드웨어와 소프트웨어를 함께 설계해 왔습니다. 그 결과 29.5 × 29.5 × 15 mm, 약 16 g의 모듈에 완전한 시각 기반 위치 추정 기능을 통합했습니다. 합리적인 가격, 작은 크기, 뛰어난 성능을 갖춘 MicoVIO는 더 많은 드론에서 GPS 없이 호버링, 위치 유지 및 자율 항법을 구현할 수 있게 합니다.
뛰어난 저조도 성능과 환경 적응성
MicoVIO는 우수한 저조도 특성을 갖춘 고급 대형 글로벌 셔터 이미지 센서와 넓은 다이내믹 레인지를 바탕으로 어두운 환경에서도 효과적인 추적을 유지합니다. 급격한 조명 변화, 강한 빛, 시각적 특징이 부족한 표면, 반사되는 바닥 등 까다로운 조건에 맞춰 충분히 최적화되어 대부분의 실제 환경에서 안정적으로 작동합니다. 보조 조명을 사용하면 터널이나 광산처럼 조명이 없으면 완전히 어두운 환경에서도 사용할 수 있습니다.
견고한 추적 및 추정 발산 억제
대부분의 오픈소스 VIO 프로젝트는 실제 사용 시 추정값이 발산하기 쉬워 실용 시스템에 적용하기 어렵습니다. 반면 MicoVIO는 큰 조명 변화, 심한 충격, 빠른 자세 변화 등의 조건에서도 추정값이 발산하지 않고 안정적으로 작동합니다. 드론이 요 축을 중심으로 빠르게 회전하거나 기체를 기울여 선회할 때도 신뢰성 높은 시각 추적과 위치 추정을 유지합니다.
로컬 루프 폐쇄
루프 폐쇄는 시각 SLAM 시스템의 중요한 기능이지만 많은 연산 자원을 요구하므로 일반적인 VIO 시스템에서는 지원하지 않습니다. MicoVIO는 간결하고 효율적인 알고리즘 설계를 통해 연산 자원이 제한된 소형·저비용 플랫폼에서 로컬 루프 폐쇄를 구현합니다. 이전에 촬영한 영상을 다시 매칭하여 시각적 위치 제약을 제공함으로써 누적 드리프트를 억제하고 호버링 및 위치 유지 정확도를 더욱 높입니다.
정확한 궤적 추정
MicoVIO는 상대 위치, 3축 속도 및 자세를 실시간으로 출력하여 안정적인 호버링에 필요한 조건을 충족하고, 궤적 추종과 자율 항법에 정확한 위치 기준을 제공합니다. 일반적인 궤적 위치 추정 오차가 1%로, 작은 크기와 낮은 비용에도 우수한 궤적 재구성 성능을 제공합니다. 비행 제어 펌웨어에서 지원한다면 이러한 정밀 궤적 추정을 이용해 GPS 없이 자동 복귀 기능을 구현할 수 있습니다.

테스트 및 파라미터 설정
모듈의 USB 포트를 통해 MicoVIO를 컴퓨터에 연결한 후 MicoAssistant로 테스트와 파라미터 설정을 수행합니다.
MicoAssistant: https://micoair.com/assistant/
일반적으로 드라이버를 설치할 필요가 없습니다. 연결 시 올바른 포트를 선택하십시오. USB 연결에서는 보드레이트를 임의로 선택할 수 있습니다.

인터페이스 핀 배열

비행 컨트롤러 배선도

설치
MicoVIO는 아래를 향하는 설치만 지원하며 일반적으로 기체 하부에 장착합니다. 모듈의 화살표는 기수 방향을 향해야 합니다. 장착 방향(Yaw)은 MicoAssistant에서 아래에서 바라본 기준으로 시계 방향 45° 간격으로 조정할 수 있습니다.


비행 컨트롤러 설정
비행 컨트롤러를 그래픽 인터페이스로 설정하려면 MicoConfigurator 사용을 권장합니다.
ArduPilot
ArduPilot 펌웨어 버전 >= 4.5.2가 필요합니다.
F405 MCU 기반 비행 컨트롤러(플래시 메모리 2 MB 미만)는 일반적으로 기본 구성에서 외부 비전 기능을 지원하지 않습니다.
포트 설정
SERIALn_BAUD = 921
SERIALn_OPTIONS 1024 (버전 4.7 이전)
MAVn_OPTIONS = 2 (버전 4.7 이후)
SERIALn_PROTOCOL = 2
n은 MicoVIO를 연결한 비행 컨트롤러 포트에 따라 달라집니다. 물리적 포트와 직렬 포트 번호의 대응 관계는 비행 컨트롤러 매뉴얼을 참조하거나 MicoConfigurator의 포트 설정 페이지에서 확인하십시오.

비전 센서 설정
VISO_TYPE = 3
VISO_YAW_M_NSE = 0.1
나머지 설정은 모두 기본값으로 둡니다. 변경 사항을 적용하려면 비행 컨트롤러를 재시작하십시오.

거리 센서 설정
RNGFND1_TYPE = 10
(n은 사용하는 물리적 포트에 따라 달라집니다.)
비행 컨트롤러를 재시작하거나 파라미터를 새로 고치십시오. 버전 4.7.0 이후에는 단위가 m로 변경되는 점에 유의하십시오.
RNGFND1_MAX_CM = 1200
RNGFND1_MIN_CM = 1
RNGFND1_ORIENT = 25

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를 1: Compass로 설정할 수도 있지만 VISO_TYPE = 3인지 확인해야 합니다.

PX4
포트 설정
MAV_1_CONFIG TELEM n
비행 컨트롤러를 재시작하십시오.
MAV_1_MODE = Onboard
MAV_1_FORWARD = Disabled
SER_TELn_BAUD 921600 8N1
n은 MicoVIO를 연결한 비행 컨트롤러 포트에 따라 달라집니다. 물리적 포트와 직렬 포트 번호의 대응 관계는 비행 컨트롤러 매뉴얼을 참조하거나 MicoConfigurator의 포트 설정 페이지에서 확인하십시오.

EKF 설정
EKF2_EV_CTRL = 9
EKF2_HGT_REF = 2: Range sensor

장착 위치 오프셋 파라미터
MicoVIO 모듈을 드론의 회전 중심에 설치하지 않은 경우 비행 컨트롤러에서 X/Y/Z 위치 오프셋을 올바르게 설정해야 합니다.
오프셋이 잘못 설정되었거나 누락되면 기동 중 비행 안정성과 위치 추정 정확도에 영향을 줄 수 있습니다. 특히 드론이 제자리에서 회전할 때 일정한 위치를 유지하지 못하고 표류하거나 의도한 회전 중심 주위를 돌 수 있습니다.


