Вопросы по iNav
Чтобы получить правильный ответ - надо задать правильный вопрос.
Логика работы дизарма будет варьироваться от предназначения коптера (мелкий гоночный до 330, или блинчиком полетать и поснимать 450 и более) и личных предпочтений.
Уточняю, коптер 450 размера, видео, возможно далеко.
- Понял, что кновка в конфигураторе Failsafe Kill Switch должна быть выключена.
set failsafe_throttle_low_delay = 0
failsafe_off_delay=0
для последней проши не актуально
set small_angle = 180
set inav_reset_home = FIRST_ARM
это актуально для коптера? писали в самолетной ветке.
на что еще обратить внимание?
- Да
- Исходя из опыта - пусть будет (даже на последней 2.0.1)
- Эта команда позволяет армить в любом положении.
set small_angle = 180
Даже вверх ногами. Это параметр введен для безопасности. Чтобы, например, коптер с неправильно настроенным уровнем газа при арме под углом не покромсал оператора. Поэтому только вам решать, нужна она вам, или нет.
set inav_reset_home = FIRST_ARM
Запоминает дом по превому (после подачи питания) арму.
Если нужно точку дома переписать в другое место - настраиваете тумблер.
прошу не кидать помидоры
set failsafe_throttle_low_delay = 0
failsafe_off_delay=0
что то запутался с этими параметрами, почему они в 0 должны быть. Пропишите, плиз ,логику работы Inav.
Два варианта развития событий.
- Ловим Failsave, кнопка kill_switch=off в конфигураторе - коптер выполняет команду заданную в Конфигураторе(например, посадка)
- Случайно дизармим коптер сами. Насколько я понимаю, пока газ в 0 не опустить - арма не будет.
читал ранее про “БОМБУ” с CLI? цитирую:
А вот про failsafe_throttle_low_delay: If failsafe activated when throttle is low for this much time - bypass failsafe and disarm, in 10th of seconds. 0 = No timeout - Если фейлсейф включается когда уровень газа низкий в течение этого промежутка времени - отменить фейлсейф и дизармиться.
По умолчанию оба параметра должны быть выставлены в 0, что для самолетов, что для коптеров. И зарыты они в CLI, т.е это потенциальная бомба, заложенная под людей не очень хорошо знакомых с этим автопилотом.
Пример, который смог придумать.
Исходные данные:
Failsafe = RTH
kill_switch=off
failsafe_throttle_low_delay = 300
Остальное по умолчанию.
На удалении 1 км поднимается ветер и сносит коптер за высокий дом или гору.
Что просиходит дальше:
- Отваливается канал управления
- Начинается отработка failsafe.
failsafe редко возникает сразу и до упора. Обычно пара-тройка пакетов все же проходит.
Дальше надо срочно принимать решение:
А: Если вы приняли решение посадить/уронить модель, чтобы снизить радиус поиска - выставляете газ в 0.
Выполняется RTH. Коптер набирает высоту указанную в настройках RTH в течении 3-х секунд. Если в течении этого времени сигнал не восстановился, то принимает решение ронять модель.
B: Если вы приняли решение продолжать попытки возврата аппарата любой ценой - выставляете газ на положение выше среднего, и надеетесь на чудо.
Выполняется RTH. Коптер набирает высоту указанную в настройках RTH в течении 3-х секунд. Если в течении этого времени сигнал не восстановился, а последнее значение газа не было низким. то продолжаем выполнение RTH. Но радиус поиска увеличивается каждую секунду.
kill_switch=off
Меня еще вот эта настройка бесит. В FS же настраивается вариант Drop, чтобы аппарат просто упал. Зачем еще и kill_switch отдельный нужен?
В FS же настраивается вариант Drop, чтобы аппарат просто упал. Зачем еще и kill_switch отдельный нужен?
Это более общая настройка чем FS.
Что то я в документации не нашел kill_switch.
Возможно теперь его зовут disarm_kill_switch.
Disarms the motors independently of throttle value. Setting to OFF reverts to the old behaviour of disarming only when the throttle is low. Only applies when arming and disarming with an AUX channel.
Если disarm_kill_switch = ON значит дизармим немедленно.
Если disarm_kill_switch = OFF значит дизармим только при низком газе.
Очень похоже на защиту от случайного нажатия.
failsafe_throttle_low_delay = 300
не совсем тогда понимаю зачем рекомендуют ставить на этот параметр 0, тогда коптер сразу дизармит моторы и падает, я правильно понял?
kill_switch
это кнопка в конфигураторе, в разделе failsave, если я правильно понял предыдущего комрада
прикрутили тормоз для навигационных режимов
Говорят этот тормоз иногда вовсе не тормоз а отправляет аппарат без управления лететь куда камера смотрит)).
не совсем тогда понимаю зачем рекомендуют ставить на этот параметр 0, тогда коптер сразу дизармит моторы и падает, я правильно понял?
нет, если 0 - это значит бесконечность
теперь понятно
выставляете газ в 0
а как коптер это видит, если у нас Failsave и нет связи с приемником? или это про то, что проходит пару-тройку пакетов.
и тогда вторая ситуация - перестал приемник ВООБЩЕ принимать сигналы(сгорел, например), что тогда происходит?
не совсем тогда понимаю зачем рекомендуют ставить на этот параметр 0, тогда коптер сразу дизармит моторы и падает, я правильно понял?
Судя по документации - все правильно поняли.
а как коптер это видит, если у нас Failsave и нет связи с приемником? или это про то, что проходит пару-тройку пакетов.
Чудом прилетевший пакет раз в три секунды не позволит вам полноценно управлять коптером, а сообщить контроллеру о своем решении - запросто.
и тогда вторая ситуация - перестал приемник ВООБЩЕ принимать сигналы(сгорел, например), что тогда происходит?
Отрабатывается failsafe опираясь на последний полученный пакет с данными об уровне газа.
Гораздо хуже когда приемник повисает…
нет, если 0 - это значит бесконечность
If failsafe activated when throttle is low for this much time - bypass failsafe and disarm, in 10th of seconds. 0 = No timeout
Мне кажется 0 != бесконечность.
Мне кажется 0 != бесконечность.
Так ведь нет у программистов значка “бесконечность”.
0 = No timeout
Значит, что таймаут не будет проверяться вообще.
github.com/iNavFlight/inav/blob/…/Failsafe.md
failsafe_throttle_low_delay
Time throttle level must have been below ‘min_throttle’ to only disarm instead of full failsafe procedure. Set to zero to disable.
совсем запутался. Модулирую ситуацию.
Выключаю АППУ.
Потеря сигнала, фейл настроен на возврат домой. Что происходит? Он набирает необходимую высоту и летит домой. Правильно? Аппаратуру я не трогаю, от слова, ВООБЩЕ(регулирует ГАЗ самостоятельно ПК).
не совсем понятны тогда эти 2 пункта , к какой ситуации они относятся?
ЭТО ПРО СТИК ГАЗА?
А: Если вы приняли решение посадить/уронить модель, чтобы снизить радиус поиска - выставляете газ в 0.
Выполняется RTH. Коптер набирает высоту указанную в настройках RTH в течении 3-х секунд. Если в течении этого времени сигнал не восстановился, то принимает решение ронять модель.
B: Если вы приняли решение продолжать попытки возврата аппарата любой ценой - выставляете газ на положение выше среднего, и надеетесь на чудо. Выполняется RTH. Коптер набирает высоту указанную в настройках RTH в течении 3-х секунд. Если в течении этого времени сигнал не восстановился, а последнее значение газа не было низким. то продолжаем выполнение RTH. Но радиус поиска увеличивается каждую секунду.
Поправьте, это про то, что я МОГУ ВМЕШАТЬСЯ в работу RTH после фейлсейва? Правильно? Т.е. ПЕРЕХВАТИТЬ УПРАВЛЕНИЕ коптером при восстановлении сигнала или ТОЛЬКО принятие решения одно из двух.
так каким это значение должно быть здесь failsafe_throttle_low_delay = ?
0 - это все таки НЕ ДИЗАРМИТЬ ВООБЩЕ мотор при фейле или что то другое?
посадить/уронить модель, чтобы снизить радиус поиска - выставляете газ в 0.
уронить модель газ в 0 это понятно, а как посадить(каким должен быть газ? отличным от 0 или…)? или это про выбор в конфигураторе ронять или сажать речь идет?
Выключаю АППУ. Потеря сигнала, фейл настроен на возврат домой. Что происходит? Он набирает необходимую высоту и летит домой. Правильно? Аппаратуру я не трогаю, от слова, ВООБЩЕ(регулирует ГАЗ самостоятельно ПК).
С каким значением газа была выключена аппаратура, тот вариант и будет выполнятся.
Поправьте, это про то, что я МОГУ ВМЕШАТЬСЯ в работу RTH после фейлсейва? Правильно?
Нет. Не можете. У вас же аппаратура выключена (от слова, ВООБЩЕ).
Как только сигнал восстановится - failsafe выключается и управление возвращается оператору.
так каким это значение должно быть здесь failsafe_throttle_low_delay = ?
При потере связи он по любому начнет процедуру описанную в Failsafe.
Чтобы при потере связи совсем не дизармился:
failsafe_throttle_low_delay = 0
Чтобы при потере связи он задизармился, если связь не восстановилась в течении n секунд:
failsafe_throttle_low_delay = n*10
0 - это все таки НЕ ДИЗАРМИТЬ ВООБЩЕ мотор при фейле или что то другое?
Да. Я специально этот момент уточнил.
This feature can be disabled completely by setting failsafe_throttle_low_delay to zero
Спасибо rc468.
уронить модель газ в 0 это понятно, а как посадить(каким должен быть газ? отличным от 0 или…)? или это про выбор в конфигураторе ронять или сажать речь идет?
Есть выбор что делать:
- Уронить
- Задать определенный уровень газа (если задать газ ниже газа висения - он сядет)
- Вернуться домой
- Игнорировать
Можно выбрать только одно.
Как только сигнал восстановится - failsafe выключается и управление возвращается оператору.
Связь восстанавливается, но выход из FS происходит только тогда, когда оператор пошевелит стиками.
При этом на экране OSD выводится надпись !MOVE STICKS TO EXIT FS!
Хмм. Летаю без OSD, так что про такую надпись не знал 😃
Более того, когда аппарат возвращается ка- то сразу пытаешься перехватываешь управление, даже задержки большей чем failsafe_recovery_delay не замечал.
В документации по iNAV встречаются рекомендации, противоречащие друг другу. Вот, к примеру, я так до конца и не уверен, правильно ли настроил Failsafe в приемнике…
(коптер, арминг на тумблере)
Setting up Failsafe for RTH
. . . . .
Configuration of receiver
. . . . .
Option two
In Modes tab select a switch for “Failsafe”
Set your switches and sticks of your radio to the following conditions:
Throttle: approx. 0% (no throttl e)
Aileron: 50% (no input, stick center)
Rudder: 50% (no input, stick center)
Elevator: 50% (no input, stick center)
Failsafe mode:. activated
Arm switch: Disarmed (If you use stick arming you can skip this)
Configure failsafe on your receiver to the above conditions on link loss (consult manual for your receiver on how to do it)
При такой рекомендованной настройке, приемник в ситуации Failsafe выдаст на ПК команды - газ в ноль и ArmSwitch -> Disarmed.
В то же время, в описании режима Failsafe видим
RX configuration
In order to engage failsafe mode correctly, you must configure your receiver to do one of the following on signal loss:
Send no signal/pulses over the channels
Send an invalid signal over the channels (for example, send values lower than rx_min_usec)
Set an aux channel to engage FAILSAFE mode.
and
Ensure your receiver does not set any aux channel so that the craft would disarm.
Ну и как это выполнить?!
Извиняюсь за многа букаф, карочее не получилось…😉
как правильно настроить Failsafe в приемнике
no pulses
Мои приемники такого режима не поддерживают.
Какие у вас приемники?