Содержание
- Выбор Optical Flow сенсора
- Подключение PX4FLOW
- Подключение PMW3901 (UART)
- Подключение MTF-01 (Optical Flow + LiDAR)
- Подключение ARK Flow (CAN)
- Настройка параметров
- Калибровка и тестирование
- Использование в полёте
1. Выбор Optical Flow сенсора
| Модель | Интерфейс | Дальность | Разрешение | Применение |
|---|---|---|---|---|
| PX4FLOW | I2C | 0.8-15м | 752×480 | Indoor позиционирование, без GPS |
| PMW3901 | UART | 0.5-10м | 30×30 пикс | Indoor позиционирование, посадка |
| MTF-01 | UART | 0.3-12м + LiDAR | 30×30 пикс | Indoor позиционирование + высота |
| ARK Flow MR | CAN | 0.08-50м + LiDAR | PAA3905 | Профессиональное применение |
| HereFlow | CAN | 0.5-10м | 30×30 пикс | Indoor позиционирование |
2. Подключение PX4FLOW (I2C)

Схема подключения к Pixhawk:
| Пин PX4FLOW | Цвет | Pixhawk I2C |
|---|---|---|
| GND | Чёрный | GND |
| 5V | Красный | 5V |
| SDA | Белый | SDA |
| SCL | Жёлтый | SCL |
⚠️ Используется 4-пин I2C порт, Serial порт (6 пинов) не используется
Ориентация монтажа:

Параметры:
FLOW_TYPE = 1 # PX4FLOW
FLOW_POS_X = 0 # Смещение по X (м)
FLOW_POS_Y = 0 # Смещение по Y (м)
FLOW_POS_Z = 0.1 # Смещение по Z (м)
EK3_SRC1_POSXY = 3 # Optical Flow для позиции XY
EK3_SRC1_VELXY = 3 # Optical Flow для скорости XY
📖 Официальная документация PX4FLOW
3. Подключение PMW3901 (UART)


Схема подключения к SERIAL:
| Пин PMW3901 | Цвет | Pixhawk SERIAL |
|---|---|---|
| GND | Чёрный | GND |
| 5V | Красный | 5V |
| TX | Жёлтый | RX |
| RX | Синий | TX |
Параметры (для SERIAL5):
SERIAL5_PROTOCOL = 18 # Optical Flow
SERIAL5_BAUD = 115 # 115200 baud
FLOW_TYPE = 4 # PMW3901-Serial
FLOW_POS_X = 0 # Смещение по X (м)
FLOW_POS_Y = 0 # Смещение по Y (м)
FLOW_POS_Z = 0.1 # Смещение по Z (м)
EK3_SRC1_POSXY = 3 # Optical Flow для позиции
EK3_SRC1_VELXY = 3 # Optical Flow для скорости
4. Подключение MTF-01 (Optical Flow + LiDAR)


Схема подключения к UART:
| Пин MTF-01 | Цвет | Pixhawk SERIAL |
|---|---|---|
| GND | Чёрный | GND |
| 5V | Красный | 5V |
| Rx | Жёлтый | TX |
| Tx | Зелёный | RX |
Параметры (для SERIAL4):
SERIAL4_PROTOCOL = 10 # Optical Flow
SERIAL4_BAUD = 115 # 115200 baud
FLOW_TYPE = 10 # MTF-01
RNGFND1_TYPE = 20 # Benewake LiDAR (встроенный)
RNGFND1_MIN = 0.3 # Мин. дальность LiDAR
RNGFND1_MAX = 10 # Макс. дальность LiDAR
EK3_SRC1_POSXY = 3 # Optical Flow для позиции
EK3_SRC1_VELXY = 3 # Optical Flow для скорости
5. Подключение ARK Flow (CAN)

Монтаж:
- Разъёмы направлены к задней части дрона
- Подключение через CAN порт Pixhawk
- Можно подключить несколько сенсоров через второй CAN разъём
Параметры:
FLOW_TYPE = 6 # DroneCAN
CAN_P1_DRIVER = 1 # Включить DroneCAN
CAN_D1_PROTOCOL = 1 # DroneCAN протокол
RNGFND1_TYPE = 24 # DroneCAN LiDAR
RNGFND1_MAX = 30 # Макс. дальность 30м
FLOW_POS_X = 0.02 # Смещение вперёд 2см
FLOW_POS_Z = 0.05 # Смещение вниз 5см
EK3_SRC1_POSXY = 3 # Optical Flow для позиции
EK3_SRC1_VELXY = 3 # Optical Flow для скорости
6. Настройка параметров ArduPilot
Основные параметры Optical Flow
| Параметр | Значение | Описание |
|---|---|---|
FLOW_TYPE | 1/4/6/10 | Тип сенсора (PX4FLOW/PMW3901/DroneCAN/Serial) |
FLOW_POS_X | -0.5~0.5 | Смещение по X от центра (м) |
FLOW_POS_Y | -0.5~0.5 | Смещение по Y от центра (м) |
FLOW_POS_Z | 0.05~0.3 | Высота от центра вращения (м) |
FLOW_ORIENT_YAW | 0-3 | Ориентация (0=вперёд, 1=право, 2=назад, 3=влево) |
EK3_SRC1_POSXY | 3 | Источник позиции XY (3=Optical Flow) |
EK3_SRC1_VELXY | 3 | Источник скорости XY (3=Optical Flow) |
EK3_SRC1_YAW | 1 | Источник курса (1=компас) |
Параметры EKF3 для Indoor полётов
EK3_SRC1_POSXY = 3 # Optical Flow для позиции
EK3_SRC1_VELXY = 3 # Optical Flow для скорости
EK3_SRC1_POSZ = 1 # Барометр для высоты
EK3_SRC1_VELZ = 1 # Барометр для скорости Z
EK3_SRC1_YAW = 1 # Компас для курса
GPS_TYPE = 0 # Отключить GPS (для indoor)
Для совместной работы с LiDAR
RNGFND1_TYPE = 20/24 # LiDAR тип
RNGFND1_MIN = 0.3 # Мин. дальность
RNGFND1_MAX = 10 # Макс. дальность
RNGFND1_GNDCLR = 0.1 # Клиренс при посадке
📖 ArduPilot Optical Flow документация
7. Калибровка и тестирование
Включение Optical Flow в Mission Planner

- Initial Setup → Optional Hardware → Optical Flow
- Поставьте галочку Enable
- Нажмите Write Params
Проверка данных в реальном времени

В Mission Planner:
- Перейдите на вкладку FLIGHT DATA → Status
- Найдите параметры:
opt_m_x— скорость по Xopt_m_y— скорость по Yopt_qua— качество сигнала (0-255)opt_x,opt_y— позиция
⚠️ opt_qua должен быть > 50 для надёжной работы
Настройка Arming Check для Indoor

ARMING_CHECK = 1 # Включить проверки
# В Mission Planner: CONFIG/TUNING → Standard Params
# Снимите галочки: ALL и GPS (для indoor без GPS)
Графики для проверки калибровки
Проверка в логах:
flowY— данные оптического потокаbodyY— данные IMUGyrY— данные гироскопа
Линии должны совпадать при движении дрона
📖 Optical Flow тестирование и калибровка
8. Использование в полёте
Режимы полёта с Optical Flow
| Режим | Описание | Требуется |
|---|---|---|
| LOITER | Удержание позиции | Optical Flow + LiDAR/Baro |
| PosHold | Удержание позиции | Optical Flow + LiDAR/Baro |
| ALT_HOLD | Удержание высоты | Barometer |
| Stabilize | Ручной режим | Не требуется |
| FlowHold | Только Optical Flow | Optical Flow |
Рекомендуемые настройки для Indoor
# Режимы полёта (Channel 5)
FLTMODE1 = 6 # Stabilize
FLTMODE2 = 2 # AltHold
FLTMODE3 = 7 # Loiter
FLTMODE4 = 9 # PosHold
# Скорости
PILOT_VELZ_MAX = 2.5 # Макс. вертикальная скорость
PILOT_SPEED_XY = 5 # Макс. горизонтальная скорость
LAND_SPEED = 0.5 # Скорость посадки
# EKF настройки
EK3_POSNE_MNMSE = 0.1 # Мин. ошибка позиции
EK3_VELNE_MNMSE = 0.1 # Мин. ошибка скорости
Проверка перед полётом
Чеклист:
- ✅
opt_qua> 50 - ✅
opt_m_x,opt_m_yреагируют на движение - ✅ EKF статус зелёный (нет ошибок)
- ✅ LiDAR показывает корректную высоту
- ✅ Моторы заблокированы до арминга
⚠️ Важные замечания
| Питание 5V от отдельного BEC для стабильности |
| После изменения параметров — перезагрузка обязательна |
| Для UART: TX→RX, RX→TX (перекрёстное подключение) |
| Требуется хорошее освещение для работы сенсора |
| Избегайте однотонных поверхностей (нет текстуры) |
| Не размещайте рядом с моторами (вибрации) |
| Минимальная высота работы: 0.5-1м от поверхности |
Источники
| Документация | Ссылка |
|---|---|
| ArduPilot Optical Flow | ardupilot.org/copter/docs/common-opticalflow.html |
| ArduPilot PX4FLOW | ardupilot.org/copter/docs/common-px4flow.html |
| ArduPilot ARK Flow | ardupilot.org/copter/docs/common-arkflow.html |
| Holybro PMW3901 | docs.holybro.com |
| MicoAir MTF-01 | micoair.com/docs |
После настройки обязательно проведите наземные тесты перед первым полётом в помещении.
