Fail-Safe - Режим работы полетного контроллера, предотвращающий БПЛА от аварий

Fail-Safe - Режим работы полетного контроллера, предотвращающий БПЛА от аварий для прошивки INAV

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

Видео тест

Нижеописанные настройки выполнялись для этого прямоугольного летающего крыла:

Безопасность - это состояние, в которое должен войти полетный контроллер в случае потери связи приемника управления с аппаратурой. Любое из перечисленных условий прошивки INAV должно вызвать failsafe:

1. Любой канал полета (тангаж, крен, газ или рыскание) не посылает импульсов от пульта управления

2. Любой канал находится вне допустимого диапазона, что можно проверить с помощью команд в вкладке cli:

get rx_min_usec; get rx_max_usec, или на вкладке failsafe

Рис.1. Настройка диапазона каналов

Согласно вкладке failsafe rx_min_usec=920; rx_max_usec=2115.

3. Режим FAILSAFE активирован с помощью переключателя на пульте управления.

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

get failsafe_procedure

Доступные параметры команды:

DROP: Выключить моторы и выполнить disarm (БПЛА будет поврежден).

SET-THR(Land): Ввести предварительно настроенный угол крена/тангажа/рыскания при снижении самолета и установить для дроссельной заслонки (газа) предварительно определенное значение для параметра failsafe_throttle в течение предварительно определенного времени, заданного параметром failsafe_off_delay(20сек по умолчанию). Это предназначено для совершения БПЛА относительно безопасной посадки. В этом случае используются гироскоп и акселерометр.

RTH: (Возврат к точке старта).Прошивка INAV позволяет автоматическое перемещение БПЛА обратно в исходное положение и выполнить его посадку или кружение над местом посадки для самолета. Для этого используется только приемник GPS.

NONE: Ничего не делать. Это предназначено для совершения полностью автоматизированного полета, например по путевым точкам вне радиодиапазона от пульта управления. Этот параметр очень небезопасен при ручном управлении БПЛА.

Эти параметры можно настроить в вкладках CLI и Failsafe

Рис.2. Настройка failsafe procedure

Из рисунка 2 видно, что failsafe_throttle=1000 и failsafe_off_delay=200. Первый параметр практически выключает мотор, а второй в течении 20 секунд держит значение первого параметра. После 20 секунд выполняется disarming.

Необходимо отметить следующее:

1. Failsafe выполнит disarming полетного контроллера для процедур DROP, SET-THR после параметра failsafe_off_delay и для RTH при установленном значении команды nav_disarm_on_landing в ON (по умолчанию при приземлении по RTH disarming не произойдет). Переход полетного контроллера в состояние arming будет заблокирован. Если сигнал с приемника будет восстановлен на 30 сек., а переключатель ARM на пульте будет в состоянии OFF, тогда можно вновь выполнить arming полетного контроллера. Однако лучше произвести переподключение БПЛА к источнику питания.

2. Перед запуском функции failsafe проверяется, было ли положение газа ниже параметра min_throttle в течение числа секунд, которые установлены в параметре failsafe_throttle_low_delay. Если это так, то функция failsafe должна запуститься. Если установить failsafe_throttle_low_delay в ноль, то failsafe не сработает. Это необходимо делать при запуске планеров при длительно не работающем моторе при планировании. Параметр min_throttle устанавливается в вкладе "Configuration"и по умолчанию равен 1150, а параметр failsafe_throttle_low_delay - во вкладке Failsafe и по умолчанию равен 100 (10 секунд).

3. Если БПЛА приземлился в режиме RTH failsafe, но не выполнил disarm, функция failsafe может вновь включить моторы, заставляя БПЛА взлететь. Поэтому параметр nav_disarm_on_landing целесообразно перевести в состояние ON.

4. Если во время возвращения домой GPS приемник становится недоступным, выполниться после короткого времени ожидания аварийная посадка, подобная SET-THR. Если какой-либо используемый во время полета датчик будет объявлен недоступным, сработает faisafe и будет выполнена аварийная посадка.

5. Процедура failsafe SET-THR управляет спуском по фиксированному значению газа в параметре failsafe_throttle. Для правильной установки газа необходимо предварительное испытание. Если самолет планирует, его можно установить в значение 1000, при котором пропеллер вращаться не будет. Если самолет выполнял акробатические трюки, мотор должен выровнять его. Поэтому двигатель должен некоторое время вращаться для выравнивания. Было указано выше, что время вращения определяется параметром failsafe_off_delay.

6. В случае восстановления сигнала от пульта, текущие положения стиков будут сразу же определены. Если питание пульта было выключено, а через некоторое время включено, то для перехода в режим управления достаточно немного переместить стик вправо, влево. После этого БПЛА выйдет из failsafe и вновь будет управляться с пульта.

Для правильного срабатывания режима failsafe необходимо настроить приемник на выполнение одного из следующих действий при потере сигнала:

1. Не посылать импульсы по каналам

2. Отправить значение импульса ниже, чем установлено в параметре rx_min_usec(можно установить в вкладке failsafe, рис.3). Для этого в приемник с пульта записывается значение импульса, которое выдаст приемник полетному контроллеру в случае потери связи. В этом примере на аппаратуре FlySky FS-i6 для приемника было настроено значение 900 по каналу throttle(газа) . При потере связи приемник на полетный контроллер выдаст значение 900, что меньше 920. Это приведет к процедуре failsafe через 10*0,1 секунды.

3. Включить тумблером на пульте режим FAILSAFE

Рис.3. Установка диапазона импульсов, например со стика газа при потери связи

Параметры процедуры failsafe.

Значения устанавливаются в вкладке CLI

Отказоустойчивые задержки настраиваются с точностью до 0,1 секунды. Расстояния в сантиметрах (1/100 метра).

failsafe_procedure

Выбирает процедуру failsafe. Допустимые процедуры: DROP, SET-THR, RTH и NONE.

failsafe_delay

Это период времени, в течение которого полетный контроллер ожидает, восстановления сигнала с пульта, до активации failsafe. Не применяется при активации режима тумблером FAILSAFE с пульта управления.

failsafe_recovery_delay

Время деактивации процедуры failsafe полетным контроллером после восстановления сигнала с пульта. Не применяется при активации режима тумблером FAILSAFE

failsafe_stick_threshold

Параметр определяет восстановление управлением с пульта после failsafe движением стиков. При установке на ноль процедура failsafe будет отключена при восстановлении связи с пультом и можно будет управлять самолетом сразу же с пульта. Для ненулевого значения параметра процедура failsafe не будет отменена сразу при восстановлении RC-связи. Для выхода из failsafe потребуется перемещение любого стика крена/тангажа/рыскания больше, чем это значение.

failsafe_throttle_low_delay

Если на пульте установить уровень газа меньше, чем заданный в параметре min_throttle (1150) на время, большее, чем задано в этом параметре, то произойдет disarm. По умолчанию это время равно 10 сек.(100 единиц). Значение параметра можно установить во вкладке Failsafe(рис. 3).

failsafe_min_distance

Минимальная дистанция в сантиметрах, начиная с которой срабатывает нормальная процедура failsafe. По умолчанию равно 0 и нормальная процедура failsafe срабатывает всегда. Если расстояние меньше, чем установленная в этом параметре, то будет срабатывать процедура, установленная в параметре failsafe_min_distance_procedure = DROP (по умолчанию) Эти параметры отсутствуют в ver.1.7.2

rx_min_usec

rx_max_usec

Допустимый диапазон импульсов, которые воспринимает полетный контроллер(рис.1). Если приемник выдает величины импульсов за пределами этого диапазона, начинается процедура failsafe.

Параметры, относящиеся к процедуре failsafe RTH

nav_min_rth_distance

Если БПЛА находится на расстоянии запуска ближе чем указано в этом параметре(в см. рис.4), то считается, что БПЛА достиг точки возврата домой. Например, квадрокоптер будет выполнять посадку. Самолет, вероятно, тоже будет выполнять посадку, кружась над точкой взлета?

nav_rth_climb_first

Если этот параметр установлен в ON, то перед возвратом в точку запуска БПЛА сначала поднимется на высоту, указанную в параметре nav_rth_altitude. Если этот параметр установлен в OFF, то БПЛА будет подниматься на высоту nav_rth_altitude по мере возврата в точку старта.

nav_rth_climb_ignore_emerg

Если эта опция выключена (равна OFF) то после получения команды RTH с пульта или при failsafe RTH самолет начнет аварийную посадку в случае, если не будет GPS-fix(проблема со спутниками). Если эта опция включена(ON) самолет попытается достичь заданной высоты, установленной для RTH до начала аварийного снижения. Это делается в случае плохого покрытия GPS. Например, связь со спутниками может быть установлена на большей высоте.

nav_rth_tail_first

Относиться только к мультикоптерам. Определяет, будет ли возвращаться квадрокоптер в точку старта передней(OFF) или задней частью (ON).

nav_rth_altitude

Высота, на которой БПЛА возвращается в точку старта

nav_rth_alt_mode

Определяет режим возврата в точку старта. Доступны следующие режимы:

- Current - возврат домой (в точку старта) выполняется на той же высоте на которой была потеряна связь с пультом управления или дана команда возврата.

- Extra - при возврате самолет с текущей высоты подниметься на высоту, указанную в параметре nav_rth_altitude.

- Fixed - при возврате, если самолет имеет высоту срабатывания возврата домой ниже nav_rth_altitude, то он поднимается на высоту возврата и далее на ней летит домой. Если самолет был выше высоты возврата, то по всей обратной траектории он медленно опускается до высоты возврата домой.

- Max - самолет возвращается в точку старта на максимальной высоте, которую он зафиксировал во время полета. В этом случае, если самолет перелетал гору, а потом снижался, он при обратном возврате не столкнется с горой.

- At least - возвращается в точку старта на высоте не меньше той, что указана в параметре nav_rth_altitude. Если высота самолета была меньше nav_rth_altitude при срабатывании RTH, то он поднимается на высоту возврата. Если больше, то возвращается на этой же высоте.

nav_rth_abort_threshold

Это параметр проверяет функцию работоспособности срабатывания режима RTH. Если при включении RTH БПЛА удалиться на расстояние большее, чем в этом параметре от точки срабатывания RTH(по умолчанию 500метров), полетный контроллер выполнит команду аварийной посадки. Это необходимо, например при сильном ветре. Например, аппарат интенсивно сносится ветром от точки старта.

nav_rth_allow_landing

Если параметр установлен в ON, БПЛА будет приземляться в районе старта. Если установлен в OFF, то для самолета будет дана команда описывать круги над точкой старта радиусом, заданным в параметре nav_fw_loiter_radius (50 метров по умолчанию).

nav_disarm_on_landing

Параметр выполняет disarm в случае посадки(ON).

Некоторые параметры, относящихся к процедуре failsafe RTH можно устанавливать во вкладке Advanced tuning(рис. 4)

Рис.4. Параметры вкладки Advanced tuning

Параметры, относящиеся к процедуре failsafe SRT-THR

failsafe_off_delay

Определяет задержку после процедуры failsafe выключения моторов (200 или 20 секунд по умолчанию). Это промежуток времени, когда действует параметр failsafe_throttle, позволяющий вращать моторы в заданном режиме для обеспечения посадки. При установке параметра в 0, параметр failsafe_throttle будет действовать бесконечно. Например, если моторы вращаются медленно, что обеспечит посадку, пропеллеры также будут вращаться и на земле. Параметр подбирается экспериментально.

failsafe_throttle

Уровень газа при посадке. Можно подобрать это значение экспериментально, при котором самолет снижается со скоростью около 1 м/с. По умолчанию установлено значение 1000, которое отключает газ и самолет должен приземлиться в режиме планера, если это возможно для данного самолета.

failsafe_fw_roll_angle

Угол крена, когда функция SET-THE активна на самолете. По умолчанию -200(-20градусов) Отрицательное значение соответствует левому крену.

failsafe_fw_pitch_angle

Определяет величину угла тангажа (в единицах 1/10 градуса) при выполнения режима failsafe SET-THR для самолета. Отрицательный угол соответствует подъему. По умолчанию +10град.

failsafe_fw_yaw_rate

Определяет скорость рыскания при выполнения режима failsafe SET-THR для самолета.

Написано 09.03.2020г.