Files
clover/docs/ru/optical_flow.md
2019-03-06 23:28:34 +03:00

4.6 KiB
Raw Blame History

Использование Optical Flow

Warning

Данная функция является экспериментальной и включена в образ с версии v0.11.4.

При использовании технологии Optical Flow возможен полет в режиме POSCTL и автономные полеты по камере, направленной вниз, за счет измерения сдвигов текстуры поверхности пола.

Включение

На данный момент для использования Optical Flow необходима кастомная прошивка PX4.

Необходимо использование дальномера. Подключите и настройте дальномер VL53L1X, используя инструкцию.

Включите Optical Flow в файле ~/catkin_ws/src/clever/clever/launch/clever.launch:

<arg name="optical_flow" default="true"/>

Info Для правильной работы модуль камеры должен быть корректно подключен и сконфигурирован.

Настройка полетного контроллера

При использовании EKF2 (параметр SYS_MC_EST_GROUP = ekf2):

  • EKF2_AID_MASK включен флажок use optical flow.
  • EKF2_OF_DELAY  0.
  • EKF2_OF_QMIN 15.
  • SENS_FLOW_ROT No rotation (отсутствие поворота).
  • Опционально: EKF2_HGT_MODE range sensor (см. конфигурирование дальномера).

При использовании LPE (параметр SYS_MC_EST_GROUP = local_position_estimator, attitude_estimator_q):

  • LPE_FUSION включены флажки fuse optical flow и flow gyro compensation.
  • EKF2_OF_DELAY  0.
  • LPE_FLW_QMIN 15.
  • LPE_FLW_SCALE 1.0.
  • SENS_FLOW_ROT No rotation (отсутствие поворота).
  • Опционально: LPE_FUSION – включен флажок pub agl as lpos down (см. конфигурирование дальномера.

Полет в POSCTL

Настройте POSCTL как один из полетных режимов PX4. Переведите в режим POSCTL.

Автономный полет

Автономный полет возможен с использованием модуля simple_offboard.

Пример взлета на высоту 1.5 м и удержание позиции:

navigate(z=1.5, frame_id='body', auto_arm=True)

Полет вперед на 1 м:

navigate(x=1.5, frame_id='body')

При использовании Optical Flow возможна также навигация по ArUco-маркерам.

Дополнительные настройки

Если коптер нестабильно удерживает позицию по VPE, попробуйте увеличить коэффициенты P PID-регулятора по скорости параметры MPC_XY_VEL_P и MPC_Z_VEL_P.

Если коптер нестабильно удерживает высоту, попробуйте увеличить коэффициент MPC_Z_VEL_P или лучше подобрать газ висения – MPC_THR_HOVER.

Если коптер сильно уплывает по рысканью, попробуйте:

  • перекалибровать гироскопы;
  • перекалибровать магнитометр;
  • попробовать разные значения параметра EKF2_MAG_TYPE, который определяет, каким образом данные с магнитометра используются в EKF2;
  • изменять значения параметров EKF2_MAG_NOISE, EKF2_GYR_NOISE, EKF2_GYR_B_NOISE.

Если коптер уплывает по высоте, попробуйте:

  • повысить значение коэффициента MPC_Z_VEL_P;
  • изменить значение параметра MPC_THR_HOVER;
  • выставить MPC_ALT_MODE = 2 (Terrain following).

Неисправности

При появлении в QGC ошибок типа EKF INTERNAL CHECKS попробуйте перезагрузить EKF2. Для этого наберите в MAVLink-консоли:

ekf2 stop
ekf2 start