Смарт-камера PX4FLOW
PX4FLOW – смарт-камера, реализующая алгоритм вычисления "оптического потока" (optical flow) и способная передать полученные данные в полётный контроллер. Optical flow часто применяется для полётов коптера в помещении.
Спецификации
Модуль PX4FLOW содержит:
- микропроцессор Cortex M4F (168 MHz, 128 + 64 KB RAM);
- светочувствительную матрицу MT9V034 (разрешение: 752x480 точек);
- трёхосевой гироскоп L3GD20.
Для светочувствительной матрицы используется объектив 16мм М12 с установленным ИК-фильтром.
Габариты модуля составляют 45.5x35x25 мм (в зависимости от настройки объектива).
Модуль использует питание 5 В и потребляет до 115 мА.
Интерфейсы:
- USB (разъём microUSB) – используется для программирования и первоначальной настройки;
- I2C (разъём Hirose DF13 4 pos) – используется для передачи данных на полётный контроллер;
- USART2, USART3 (разъёмы Hirose DF13 6 pos) – могут использоваться для подключения к полётному контроллеру и последовательного соединения нескольких модулей.
Использование Optical Flow требует наличия дальномера!
На некоторых моделях PX4FLOW может быть установлен сонар Maxbotix LZ-EZ4. В этом случае его показания будут пересылаться вместе с показаниями камеры.
Первоначальная настройка
Настройка камеры производится с помощью программы QGroundControl. Запустите её и подключите модуль PX4FLOW к компьютеру по USB. Откройте режим Vehicle setup
(иконка с шестерёнками); окно QGroundControl при этом будет выглядеть примерно так:
Если это первое включение камеры, то вам надо будет произвести обновление её прошивки по аналогии с перепрошивкой полётного контроллера.
При перепрошивке PX4FLOW следует выбрать прошивку
PX4 Pro
при использовании полётного контроллера на базеPX4
иArduPilot
при использовании полётного контроллера с прошивкойArduPilot
.
Фокусировка камеры
Для оптимальной работы модуля PX4FLOW следует настроить фокус его камеры на предполагаемое расстояние от пола, при котором будут осуществляться полёты. Это можно сделать в QGroundControl в режиме Vehicle setup
во вкладке PX4Flow
. Там вы сможете увидеть изображение с камеры:
Для калибровки камеры лучше использовать специальный режим
Video only
. Для его включения зайдите во вкладкуParameters
, найдите параметрVIDEO_ONLY
и установите его в значение1
Фокусировку следует проводить в хорошо освещённом месте, модуль камеры при этом следует закрепить. Для фокусировки рекомендуется использовать книгу или коробку с текстом. Расположите объект, на котором вы будете фокусироваться, на таком расстоянии, на котором вы предполагаете летать над полом.
В режиме калибровки камера будет выдавать изображение большего разрешения, чем при штатной работе, но с меньшей частотой кадров.
При работе в режиме калибровки рекомендуется развернуть окно QGroundControl на весь экран, чтобы лучше видеть изображение:
Изображение с камеры будет отражено по вертикальной оси. Это является нормальным поведением и не должно быть поводом для беспокойства.
Отпустите контргайку на объективе и медленно вращайте его, пока изображение не станет резким. После этого аккуратно закрепите объектив с помощью контргайки.
Остальные параметры в данный момент не сохраняются, поэтому настройка камеры ограничивается её фокусировкой.
Установка и подключение
По умолчанию предполагается, что модуль PX4FLOW будет расположен так, что направление оси y
будет совпадать со стрелкой на полётном контроллере:
Поворот модуля PX4FLOW относительно полётного контроллера указывается параметром
SENS_FLOW_ROT
в PX4. Его значение по умолчанию (Yaw 270°
) соответствует размещению на иллюстрации.
Подключение к Pixhawk
Подключите PX4FLOW с помощью поставляемых кабелей к разъёму I2C на Pixhawk:
Подключение к Pixracer
В полётном контроллере Pixracer используется совмещённый порт UART/I2C (помечен как GPS).
На более ранних версиях PX4FLOW разъём I2C может быть перевёрнут; ориентируйтесь на кабель, идущий в комплекте – на нём красным отмечен провод питания.
Для подключения PX4FLOW к Pixracer рекомендуется использовать GPS/I2C сплиттер
Настройка полётного контроллера
Для того, чтобы полётный контроллер использовал данные с PX4FLOW, следует установить соответствующие флаги в настройках estimator'а:
- Для LPE (
SYS_MC_EST_GROUP
=local_position_estimator
): вLPE_FUSION
включены флажкиfuse optical flow
иflow gyro compensation
. - Для EKF2 (
SYS_MC_EST_GROUP
=ekf2
): вEKF_AID_MASK
включен флажокuse optical flow
.
Остальные настройки PX4FLOW описаны в статье по Optical Flow. Значения по умолчанию должны обеспечить оптимальную работу PX4FLOW.