- RESCUE MODE В ПРОШИВКЕ BETAFLIGHT ver.4.1.1. ДЛЯ КВАДРОКОПТЕРА С РАМОЙ 250мм

RESCUE MODE В ПРОШИВКЕ BETAFLIGHT ver.4.1.1. ДЛЯ КВАДРОКОПТЕРА С РАМОЙ 250мм, ПОЛЕТНЫМ КОНТРОЛЛЕРОМ OMNIBUSF4V3

Практика для студентов. Мясищев А.А

В настоящее время все шире используется класс микрокоптеров с размерами рамы 160,220,250мм и весом не бодее 400грамм. Они, как правило используются для полетов от первого лица[1]. Их еще называют First Person View (сокр. FPV). В этом случае осуществляется не только управление квадрокоптером по радиоканалу с помощью системы радиоуправления, но и приём с него видео изображения по дополнительному видео-радиоканалу обычно на частоте 5.8ГГц в режиме реального времени. Пилот, управляющий квадрокоптером, видит изображение, получаемое с видеокамеры при помощи устройств отображения: мониторов, телевизоров, видео-очков, видео-шлемов. Развитие микроэлектроники позволило резко увеличить зону уверенного приема радиосигнала как управления коптером так и видеоизображения. С помощью бюджетных приемопередатчиков зона уверенной связи достигает 5-8км при полете в зоне прямой видимости, а бортового источника питания для таких микро коптеров хватает на полет со средней скоростью 60-70км/час на 14-16минут. Таким образом радиус действия таких летающих устройств составляет до 7-8км. Это позволяет их использовать в качестве эффективных средств для видеоразведки. На этих коптерах устанавливают кроме курсовой камеры еще пишущую видеокамеру с высоким разрешением, которая позволяет при возврате коптера просматривать маршрут полета с HD качеством. Однако при полете на дальние расстояния особенно через небольшие населенные пункты, где работают, например системы мобильной связи, возникают сильные помехи особенно по видеопередаче. Поэтому пилот во время таких помех может не сориентироваться на местности и потерять управление коптером, что приводить к его аварии. Для этого необходимо на таких видеоразведчиках использовать систему автоматического возврата в точку старта в случае потери связи. При появлении связи система должна быть способна вернуть пилоту ручное управление с помощью пульта. В работе рассматривается создание экспериментального коптера и его тестирование с размером рамы 250мм, весом не более 400гр, способным на бортовом аккумуляторе пролетать расстояние до 8км и автоматически возвращаться в случае потери радиосвязи с пилотом.

Сейчас уделяется большое внимание построению беспилотных летательных аппаратов роторного типа(квадрокоптеров)[1,4,15]. Для них созданы прошивки, которые обеспечивают не только их горизонтальную стабилизацию, но и полет по заданным точкам в автоматическом режиме, удержание позиции, автоматического возврата в точку старта[4,6,15]. Однако эти разработки ведутся для коптеров относительно большого размера (2-5кг)[15], на которых устанавливается относительно дорогое оборудование и которые летают с небольшими скоростями (20-35км/час). Для возврата в точку старта в качестве обязательной опции используется магнитометр, являющийся достаточно капризным устройством, который требует установки в вдалеке от моторов для уменьшения магнитного воздействия. Выше отмечено, что в настоящее время появился класс микрокоптеров малого веса с достаточно высокими скоростными характеристиками и дальностью полета. Поскольку в режиме FPV[1,8] для выполнения видеоразведки им достаточно иметь режим возврата в точку старта без обеспечения высокой точности. Она должна быть такой, которая обеспечила бы перехват автоматического возврата коптера пультом управления при восстановления видеосвязи. В связи с этим в работе рассматривается изготовление и настройка коптера на базе полетного контроллера OMNIBUSF4V3[7] с прошивкой Betaflight[2,3,9] и GPS[4] приемника, что обеспечит возврат коптера в зону радиосвязи в любых аварийных ситуациях. Эта работа связана с практическим исследованием возможности возврата коптера в режиме GPS Rescue[9,10,11,12,13,14] для прошивки Betaflight ver.4.1.1[2,3], которая является последней и стабильной на момент написания статьи.

Ранее было отмечено, что режим GPS Rescue[11,12] предназначен для автономного возвращения беспилотного летательного аппарата, в нашем случае квадрокоптера к месту его запуска в случае возникновения чрезвычайной ситуации, например, при потери видеосигнала или радиосвязи. Однако разработчики прошивки betaflight начиная с версии 3.5 не гарантируют надежный возврат в точку запуска. В дальнейших версиях надежность возврата увеличивается, что требует экспериментальных запусков и настроек параметров для этого режима в обновленных версиях. В данной работе рассматривается тестирование GPS Rescue для версии 4.1.1. GPS Rescue не является полной функцией «Return to home» (RTH). Этот режим не предназначен для того, чтобы быть инструментом самостоятельного полета квадрокоптера, и его не стоит использовать для этих целей. У GPS Rescue нет способности к автоматической посадке, и он намеренно управляет «мягким падением коптера», когда тот приближается к исходной точке. Цель режима - вернуть коптер ближе к точке старта, чтобы пилот БПЛА мог возобновить управление в случае потери сигнала. Пилот должен возобновить контроль как можно скорее и не допустить, чтобы GPS Rescue выполнил приземление коптера, т.к. это может выполнить его поломку. Эта работа связана с постройкой квадрокоптера и его настройкой для тестирования указанного режима с целью заключения пригодности для надежного возврата в зону уверенной радиосвязи с последующим "мягким" приземлением коптера в ручном режиме.

Для реализации этого режима должны быть выполнены требования:

- наличие приемника GPS. Рекомендуются модели - варианты Ublox m8n u-blox - пример Beitian BN880. Данный приемник может работать одновременно с двумя или тремя из систем BeiDou, Galileo, GLONASS, GPS, что позволяет ему ловить для позиционирования большое количество спутником(14-18), увеличивая при этом точность позиционирования. В работе использован модуль NEO-6M-0-001[4], который поддерживает одновременную работу с одной из систем GNSS(спутниковая система навигации) и поэтому устанавливает связь с меньшим количеством спутников(6-11). В настоящее время реально глобально работающими являются две спутниковые навигационные системы: GLONASS и GPS.

- акселерометр должен быть включен, режиму спасения необходимо, чтобы квадрокоптер был выровнен.

- барометр для работы режима не является обязательным[9,11], но если он установлен на полетном контроллере то его целесообразно включить. Его также удобно использовать в случае вывода на экран монитора в режиме полета по FPV данных телеметрии. Например - более точного значения высоты полета и скорости подъема и снижения по сравнению с данными GPS приемника.

- этот режим не требует магнитометра, однако при его установке будет использоваться.

- если в прошивке включена функция 3D, то режим GPS Rescue будет отключен. 3D предусматривает полет коптера "вверх ногами" для выполнения пилотажных трюков при быстром прохождении сложных преград. В этом случае ориентация антенны GPS меняется и возможна потеря спутников, что приведет к отключению моторов и падению коптера.

В работе режим GPS Rescue установлен на конкретном экспериментальном коптере, который для полетов использует FPV камеру, видеопередатчик, GPS приемник, полетный контроллер с барометром и обязательно с микросхемой OSD, поддерживаемой прошивкой betaflight ver.4.1.1. На рис.1. показано фото этого квадрокоптера на раме ZMR250.

Рис.1. Фото экспериментального квадрокоптера

На рисунке 2 представлено схематическое взаимодействие основных элементов квадрокоптера на базе полетного контроллера OMNIBUSF4V3[7]. Необходимо отметить, что видеопередатчик с курсовой камерой должны быть подключены к аккумулятору через отдельный преобразователь напряжения, например на 5V. Это связано с большим током потребления во время работы видеопередатчика.

Рис.2. Взаимодействие основных элементов тестируемого квадрокоптера

Рассмотрим настройку установленных основных параметров электронных компонентов исследуемого квадрокоптера в конфигураторе betaflight ver. 10.6.0[3].

Во вкладке "Порты" необходимо настроить полетный контроллер для работы с GPS приемником по UART6. Так как приемник управления работает в режиме PPM в этой вкладке больше ничего не настраивается.

Далее представлены все необходимые вкладки.

Если пойманы спутники, то во вкладке GPS появиться следующая картинка:

Рассмотрим настройку OSD для прошивки betaflight[8]. Betaflight OSD (On Screen Display, экранное меню) — это микросхема в полетном контроллере под управлением Betaflight, которая накладывает полетные данные(телеметрию) на видео, передаваемое с квадрокоптера (высота полета, скорость, расстояние от точка взлета, направление к точке взлета(стрелка), напряжение батареи, число подключенных спутников, режимы полета и т.д.). OSD можно использовать как меню для изменения настроек коптера: PID, рейты, переключать профилей и т.д. На исследуемом коптере установлен полетный контроллер OMNIBUSF4V3 с OSD микросхемой AT7456.

Для программной настройки OSD в конфигураторе betaflight необходимо войти во вкладку OSD и установить там необходимые параметры, которые должны отображаться на экране видеоприемника для FPV полетов (рис.4)

Рис. 4. Настройка OSD

Отображаемые параметры выбираются из таблицы слева. В работе выбрано отображение боковых панелей искусственного горизонта, высота полета, искусственный горизонт, стрелка направления домой(обязательна для режима GPS Rescue), напряжение батареи, процентное положение газовой заслонки, прицел полета, расстояние до точки взлета, общее пройденное расстояние, режим полета (Acro, Horizon), скорость изменения высоты, скорость по GPS, количество пойманных спутников, время работы батареи и полета, Disarmed. Изменение размещения выбранных параметров на экране выполняется перетаскиванием их с помощью мыши. Если параметров много, чтобы они не мешали видеопросмотру, их можно размещать в других профайлах, которые представлены в таблице слева как 1,2,3. В OSD Betaflight имеется возможность входа в встроенное меню для изменения, например, параметров PID регулятора. Для этого на аппаратуре управления необходимо правый стик отклонить до конца вверх, а левый кратковременно с средней позиции влево. После этого появляется новое меню для настоек, для входа в каждое вложенное подменю а также для изменению параметра. Для изменения параметра (например PID регулятора) необходимо кратковременно отклонять влево правый стик. Работа с меню OSD возможна лишь в режиме Disarm (не в полете). На рисунке 5 показаны примеры работы настроенного OSD. Первые два фото представлены с закрытым объективом камеры. Они отображают параметры во время полета и после приземления. Третье фото отображает параметры PID-регулятора после входа в встроенное меню для установки параметров. В последнем фото объектив камеры в открытом состоянии - параметры OSD наложены на видеоизображение.

Рис. 6. Активизация GPS Rescue

На рисунке 7 показана часть вкладки Failsafe для настроенных параметров режима GPS спасения(rescue)

Рис. 5. Пример результата работы настроенного OSD Рассмотрим настройку режима GPS Rescue.

Поскольку режим экспериментальный, то настраивается на только что установленной прошивке в соответствии с четко документированной последовательностью. Необходимо отметить, что в ранней версии betaflight 3.5, где этот режим только появился, использовался только командный режим установки параметров во вкладке cli (командная строка). В рассматриваемой версии betaflight 4.1.1 во вкладке failsafe доступен раздел для настройки GPS Rescue. Для активизации режима необходимо перейти на вкладку Betaflight Modes и добавить переключатель для режима GPS Rescue(рис.6). Этот режим будет активизирован, если правильно установлен приемник GPS во вкладке конфигурации(приемник подключен по PPM RX вход).

Рис. 7. Часть вкладки режима GPS rescue

Параметры устанавливаются во вкладке "командная строка" (cli).

set failsafe_procedure=GPS-RESCUE

Здесь устанавливается для failsafe процедура GPS Rescue.

set gps_rescue_initial_alt=[number] (default is 50)

Когда активирован Rescue Mode - например, переключателем AUX4 на пульте управления , квадрокоптер развернется передней частью в сторону запуска и попытается подняться на безопасную высоту относительно точки взлета. Эта высота будет либо параметром соответствующим number, либо максимальной высотой, зарегистрированной во время полета +15 м, в зависимости от того, что больше. На рис. 7 установлена высота 50 метров.

set gps_rescue_ground_speed=800 (default is 2000)

Это скорость, с которой квадрокоптер будет пытаться вернуться, в сантиметрах в секунду. Установлена скорость 8 м/с (около 30км в час - рис. 7).

set gps_rescue_angle=32 (default is 32)

Устанавливает максимально допустимый угол наклона квадрокоптера при возвращении в точку пуска. Этот параметр может помешать достижению полной скорости (8 м/с), если его значение будет слишком малым. Чем выше угол, тем сложнее для регулятора высоты сохранять стабильную высоту. Когда есть вероятность возвращения по встречному ветру, этот параметр можно увеличить до 45 градусов.

set gps_rescue_descent_dist =100 (default is 200)

Это расстояние в метрах, на котором квадрокоптер начнет снижаться от точки взлета с высоты, заданной командой set gps_rescue_initial_alt. Главное, чтобы в пределах этого расстояния не было помех для снижения (например деревья, возвышенности, здания).

set gps_rescue_min_dth = <meters> (default is 100)

Команда устанавливает минимальное расстояние в метрах от точки взлета, начиная с которого будет работать режим GPS Rescue. Если активизировать режим ближе чем это расстояние, коптер упадет. Значение меньше 100 метров ставить не рекомендуется, так как ближе 100 метров прошивка может не сработать.

set gps_rescue_ascend_rate = 300 (default is 500) (добавлено в betaflight 4.1)

Здесь устанавливается вертикальная скорость, с которой будет подниматься квадрокоптер при возврате в точку пуска, выраженная в сантиметрах за секунду (установлена 3 м/с).

set gps_rescue_descend_rate = 150 (default is 150) (добавлено в betaflight 4.1)

Это вертикальная скорость, с которой квадрокоптер будет опускаться в точку старта, начиная с расстояния по команде gps_rescue_descent_dist выраженная в сантиметрах за секунду.

Установка параметров дроссельной заслонки выполняется по командам

set gps_rescue_throttle_min=1100 и set gps_rescue_throttle_max=1600

Они относятся к версиям betaflight более старым чем 4.1. Например, первый параметр определял скорость вращения моторов при посадке, а второй - при максимальной скорости подъема и возврата в точку пуска. В версии 4.1 и более новых - это диапазон скоростей вращения моторов, который не превышается в режиме GPS Rescue, так как скорости подъема и посадки режима GPS Rescue заданы предыдущими параметрами. Однако разработчики рекомендуют и для этих параметров выполнять тестирование для вновь собранного коптера.

gps_rescue_alt_mode = [MAX_ALT, FIXED_ALT, CURRENT_ALT] (added in betaflight 4.1)

Эта команда с перечисленными параметрами позволяют установить высоту полета коптера в режиме GPS Rescue.

MAX_ALT - для этого параметра высота возврата будет соответствовать высоте, установленной командой set gps_rescue_initial_alt=50 (50м), либо максимальной высотой, зарегистрированной во время полета +15 м, в зависимости от того, что больше.

FIXED_ALT - здесь квадрокоптер будет возвращаться к точке взлета на высоте, установленной командой gps_rescue_initial_alt=50 (50м).

CURRENT_ALT - квадрокоптер будет возвращаться на высоте, которая была установлена во время активации режима спасения (GPS Rescue).

Для работы режима GPS Rescue необходимо установить минимальное количество спутников, с которыми должен установить связь приемник GPS:

set gps_rescue_min_sats=6 (default is 8)

С целью проверки работоспособности режима GPS Rescue, надежности его срабатывания, для построенного квадрокоптера с прошивкой версии 4.1.1. была выполнена последовательность процедур, представленных ниже.

Выполнен пролет на квадрокоптере на расстояние больше чем 100 метров от дистанции, которая указана в команде set gps_rescue_min_dth =100. Здесь начало срабатывания режима GPS спасения указано на расстоянии 100 м от точки старта. Поэтому пролетаем на расстояние примерно 150м. При полете по прямой линии стрелка home должна указывать в направлении точки пуска. На коптере предварительно настраивается OSD[8]. Если стрелка указывает другое направление, режим GPS Rescue не активизируется, например тумблером с пульта управления. После активизации GPS Rescue при правильной настройке коптер будет лететь в направлении стрелки. При подлете к точке старта и начале снижения с целью исключения падения коптера деактивизировался режим GPS Rescue выключателем на тумблере. Управление переходило в ручной режим, в котором производилась посадка квадрокоптера. При подлете часто коптеру трудно удержать стабильную высоту в случае, если показания высоты по GPS нестабильны, а контроллер коптера движет его к заданной цели - высоте. Однако в случае стабильной высоте по GPS, если коптер не стабилизируется по высоте в пределах десяти метров, проводилось регулирование параметров PID регулятора для дроссельной заслонки:

gps_rescue_throttle_P; gps_rescue_throttle_I; gps_rescue_throttle_D

Или параметров PID регулятора по приросту скорости навигации (версия 4.1.1):

gps_rescue_velocity_P = 80; gps_rescue_velocity_I = 20; gps_rescue_velocity_D = 15

Команда set failsafe_procedure = GPS-RESCUE (указанная ранее) активизирует режим GPS Rescue в случае потери связи с аппаратурой управления. В случае возвращения радиосвязи управление коптером будет возвращено пульту управления. Однако это не всегда удобно, так как коптер в этом случае может находиться за пределами видимости или видеосвязи. Поэтому дальнейший маршрут его полета может быть не определен. В случае обрыва связи при испытаниях на пульте управления тумблером включался режим GPS Rescue и в этом случае после установления радиосвязи с пультом коптер будет продолжал следовать к месту старта. После появления видеосвязи (полет по FPV) или визуального обнаружения коптера, тумблером выполнялось выключение режима GPS Rescue с последующей посадкой или продолжением полета(по курсовой камере) в ручном режиме.

При использовании GPS rescue была использована команда включения проверки работоспособности этого режима:

set gps_rescue_sanity_checks = RESCUE_SANITY_ON

Эта проверка гарантирует что имеет место:

- постоянное подключение GPS приемника к полетному контроллеру

- GPS-приемник отправляет действительное значение GPS Fix на полетный контроллер

- квадрокоптер не испытал сильных вибраций (например, удар о препятствие)

- количество спутников, с которыми установлена связь, равно или более gps_min_sats

- квадрокоптер приближается к точке взлета после достижения заданной высоты в режиме GPS Rescue

Если любое из этих условий не выполнилось, происходит отключение моторов (disarming). Последние два условия имеют небольшую задержку перед срабатыванием.

При запуске коптера учитывалось следующее. Arming коптера невозможен без GPS Fix, если настроен режим GPS Rescue(даже если он находится в выключенном состоянии на пульте управления). Для полета без GPS Fix в зоне с плохим покрытием спутниками выполняется деактивация режима GPS Rescue с помощью команды:

set gps_rescue_allow_arming_without_fix = ON

GPS Rescue будет недоступен во время полета и на экранном меню появится предупреждение (RESCUE OFF), при работе OSD. Если во время полета получено надлежащее количество спутников, для включения GPS Rescue выполняется приземление, процедуры disarming и arming.

Выводы

1. В процессе летных испытаний показано, что режим GPS Rescue позволяет вернуть БПЛА в зону запуска при условии соблюдения вышеописанных настроек на представленном в работе квадрокоптере.

2. Установлено, что при выполнении режима GPS Rescue важным условием является стабильная связь GPS приемника с количеством спутников не меньшим установленных в параметре gps_min_sats. Если количество спутников во время выполнения режима GPS Rescue становиться меньше установленного, то в течении нескольких секунд моторы выключаются и коптер упадет. Это режим целесообразно использовать в безоблачную погоду.

3. Для устойчивой работы режима GPS Rescue коптер при полете должен использовать режим стабилизации(Angle) с включенным акселерометром, выполнять полет с небольшими углами наклона. Установлено, что чем больше угол наклона копрера, тем меньшее число спутником ловит GPS приемник. Поэтому режим GPS Rescue не целесообразно использовать в режимах полета Acro, 3D, Horizon при совершении flip-ов.

4. При полете на дальние расстояния(4-8км) на небольшом коптере необходимо убедиться что стрелка в OSD показывает на направление старта. В противном случае режим GPS Rescue не сработает.

5. Практически установлено, что режим GPS Rescue более целесообразно использовать в случае обрыва видео связи с курсовой камерой(FPV полеты) при сохранении связи с пультом управления. В этом случае теряется ориентация полета и коптер в автоматическом режиме необходимо вернуть в зону видеосвязи. Для этого на пульте управления устанавливается режим стабилизации (angle) и включается режим GPS Rescue. При установлении видеосвязи, определении местоположения, режим GPS Rescue отключается с пульта и коптер может продолжать полет по FPV.

6. При нарушении связи с пультом управления автоматически включается режим GPS Rescue. Коптер возвращается в точку старта и в случае восстановления радиосвязи коптер автоматически восстанавливает управление с пультом. Этот момент должен быть отслежен пилотом, в противном случае коптер может потерпеть аварию. Обычно в случае потери связи тумблер на пульте устанавливается в режим GPS Rescue и коптер автоматически возвращается в точку старта и может быть обнаружен визуально с последующим управлением с пульта.

7. Режим GPS Rescue применяется в FPV полетах с обязательной настройкой OSD. Для этого требуются полетные контроллеры с встроенной микросхемой OSD, которые поддерживаются программным обеспечением Betaflight.

ЛИТЕРАТУРА:

1.First Person View (FPV). [Electronic resource]. – 2019. – Mode of access: https://ru.wikipedia.org/wiki/First_Person_View_(FPV)

2.Maintenance Release Betaflight 4.1. [Electronic resource]. – 2019. – Mode of access: https://github.com/betaflight/betaflight/releases

3.Betaflight Configurator 10.6.0. [Electronic resource]. – 2019. – Mode of access: https://github.com/betaflight/betaflight-configurator/releases/tag/10.6.0

4. Мясищев А.А. Построение БПЛА на базе полетного контроллера APM 2.6. / ВІСНИК ХНУ. Технічні науки.-Хмельницький: ХНУ, 2016. - №5.-с. 225-230.

5. Мясищев А.А. ВОЗМОЖНОСТИ ПОЛЕТНОГО КОНТРОЛЛЕРА CC3D С ПРОШИВКОЙ INAV. / ВІСНИК ХНУ. Технічні науки.-Хмельницький: ХНУ, 2019. - №1.-с. 129-136.

6.INAV [Electronic resource]. – 2018. – Mode of access : https://github.com/iNavFlight/inav/wiki

7.OMNIBUS F4V3. [Electronic resource]. – 2017. – Mode of access : http://nic.vajn.icu/PDF/radio-controlled/OMNIBUS_F4_V3.pdf

8.BETAFLIGHT OSD SETUP. [Electronic resource]. – 2017. – Mode of access: https://oscarliang.com/betaflight-osd/

9.GPS Rescue Mode. [Electronic resource]. – 2020. – Mode of access: https://github.com/betaflight/betaflight/wiki/GPS-rescue-mode#arm-without-a-gps-fix

10.HOW TO SETUP GPS RESCUE MODE IN BETAFLIGHT. [Electronic resource]. – 2018. – Mode of access: https://oscarliang.com/setup-gps-rescue-mode-betaflight/

11. GPS-Rescue. Как это работает? BF 3.2.5. [Electronic resource]. – 2019. – Mode of access: https://www.youtube.com/watch?v=dsKz01WPppk&t=74s

12.Константинов Э. Betaflight, тесты режима GPS Rescue, Failsafe. [Electronic resource]. – 2019. – Mode of access: https://www.youtube.com/watch?v=PwAaC4EtI64

13.Betaflight GPS Rescue mode - what happens at the end? [Electronic resource]. – 2019. – Mode of access: https://www.youtube.com/watch?v=AZ5UDh7U7QU&t=28s

14.MICRO FPV BETAFLIGHT GPS RESCUE. Electronic resource]. – 2019. – Mode of access: https://www.youtube.com/watch?v=2lePVoK0t1c

15. Мясищев А.А. Использование платы ROBOTDYN MEGA2560 PRO для построения полетного контроллера гексакоптера / А.А. Мясищев // Вісник хмельницького національного університету. Технічні науки. – Хмельницький : ХНУ, 2018. – № 3. – С. 171–179.

Написано 26.02.2020г.