Автопилот iNav полёты с GPS

Plohish
Pilot737:

Сетап TBS Cross 2W

а ещё и Кросс крут! 😃
10 км и два ватта! = FS

schs
kasatka60:

А как напряжение влияет на energy landing?

В Inav не смотрел как реализовано, в Ardupilot по низкому порогу один эвент, по критическому другой.
Т.е. можно задать RTL по низкому и Land по критичному.
ardupilot.org/…/apms-failsafe-function.html

kasatka60

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

Pilot737
kasatka60:

Ребята, пересмотрите ролик: самолет развернулся и полетел домой. Расстояние уменьшалось, тоесть energy landing не должен был сработать. Спутники были 9-10 штук, вроде не пропадали. Причина в чем-то другом. Надо посмотреть условия срабатывания данного режима.
Или мы обсуждаем другое?

Антон, ещё помню точно, что в расширенных настройках было указано посадка только при FS ( кажется так называется). Может это как то повлияло? Хотя в предыдущих полетах ( 5 как минимум в том направлении и удалении) связь тоже терялась, но самолёт разворачивался, я восстанавливал связь и модель возвращалась в RTH.

Plohish:

а ещё и Кросс крут! 😃
10 км и два ватта! = FS

Там «крутые дворцы» начинаются и скорее всего мощные помехи, возможно даже ловушки для дронов. Все кто летает там, имеют проблемы с потерей связи. Но это не беда- RTH срабатывает. Если бы не EL, то связь ближе к дому восстановилась бы.

Serpent:

Появился INAV 3.0.0
INAV Configurator 3.0.0-RC1.
Пробуем? Смотрим?

Из интересного в новой версии (на первый взгляд):
local plus codes on osd - !!! многим захочется… 😃
vtx_smartaudio_early_akk_workaround - глюки с управлением АКК должно убрать
Fixed wing RTH Spiral Climb Option
Continuously trim servos on fixed wing
fw_autotune_rate_adjustment = auto

Да, набор по спирали при RTH-это хорошо для самолетов и крыльев! А вот автопосадку с заданным курсом ( например взлёта) не дождались, хотя иногда проскакивали обсуждения. А очень хочется….

karabasus
Pilot737:

Может это как то повлияло?

Нет, это не могло, оно сработает только по возврату в точку взлета. Например вот как здесь на видео (хотя и пока садился унесло на 2 мили) -

schs:

В Inav не смотрел как реализовано,

Никак, только моргание на осд.

kasatka60:

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

Условия всего 3 - одно уже осудили (унос ветром при работающем RTH за пределы установленного расстояния

Роман_С_А:

“РТХ аборт тресхолд” (см)

😃. Второе - одновременное пропадание радиоуправления и спутников, что на видео также не фиксируется (можно отключить (но чревато улетом) - set nav_position_timeout = 0). Третье - если не было 3d fix при арминге и в полете включился возврат домой (чего тоже на видео нет т.к сначала работал RTH нормально и точка дома определена).

Pilot737:

возможно даже ловушки для дронов. Все кто летает там, имеют проблемы с потерей связи. Но это не беда- RTH срабатывает.

Подмена координат/глушение гпс на секунду, в момент попадающий в таймаут определения положения (position_timeout) при потере связи и всё - включилась аварийная посадка, а вот выйдет ли из него при появлении валидных координат/восстановления сигнала со спутников гпс - уже большой вопрос. Возможно, что и нет, что у вас есть вероятность и произошло.

Pilot737
karabasus:

Условия всего 3.

Обратил внимание, что на первом видео при потере RС и FS выводилась информация, типа двиньте стики для восстановления связи и управления. А на втором видео ( где произошла EL), этой информации не видно на экране….
Вообщем тут остались только домыслы, почему и как. Логи остались вместе с моделью на острове. Вывод один- при полёте на дальняк, даже по проверенному маршруту, есть малый процент того, что модель может выполнить Emergency Landing при FS, когда вам меньше всего этого хочется.

karabasus
Pilot737:

двиньте стики для восстановления связи и управления

Появляется только тогда, когда при работающем возврате домой (по FS) связь восстановилась. А у вас на втором видео связь восстановилась, на пару секунд, только уже когда борт в режиме аварийной посадки. И может бы вы его вывели из этого режима если бы вращали стиками, а может и нет, досконально не лез я пока разбираться как работает emergency landing.

Pilot737
karabasus:

Появляется только тогда, когда при работающем возврате домой (по FS) связь восстановилась. А у вас на втором видео связь восстановилась, на пару секунд, только уже когда борт в режиме аварийной посадки. И может бы вы его вывели из этого режима если бы вращали стиками, а может и нет, досконально не лез я пока разбираться как работает emergency landing.

Понятно… Стиками вращал как мог))) но не достучался

tuskan
Pilot737:

Понятно… Стиками вращал как мог))) но не достучался

автоланч не был включен при взлете?

Pilot737
tuskan:

автоланч не был включен при взлете?

был, всегда с ним взлетаю

kasatka60
Pilot737:

Да, набор по спирали при RTH-это хорошо для самолетов и крыльев! А вот автопосадку с заданным курсом ( например взлёта) не дождались, хотя иногда проскакивали обсуждения. А очень хочется….

Что за спиралька при rth? Чем она отличается от набора высоты до заданной и разворота в сторону дома?

tuskan:

автоланч не был включен при взлете?

А он тут причем? Дизарма не было.

Serpent
kasatka60:

Что за спиралька при rth? Чем она отличается от набора высоты до заданной

В третьем айнаве самолёт набирает высоту перед возвратом домой по спирали.
Это иногда может спасти пепелац при потере связи на малой высоте - нынешняя версия работает с набором высоты в произвольном направлении и по прямой.
Если рядом по курсу оказываются высокие препятствия, то сами понимаете…

kasatka60

Тоесть одновременно подъем с разворотом?
На каждый случай разворот с подъемом может и спасет от здания, но может встретить дерево или другое строение

karabasus
Serpent:

В третьем айнаве самолёт набирает высоту перед возвратом домой по спирали.

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

kasatka60:

Тоесть одновременно подъем с разворотом?

Да.

Mistel

Чёт смотря на то как скачет количество спутников склоняюсь к версии что кратковременно параметр упал ниже gps_min_sats
К тому же обратите внимание на то что в первом полёте было 18 спутников когда все нормально отработало а во втором меньше 10

Plohish
Mistel:

склоняюсь к версии что кратковременно параметр упал ниже gps_min_sats

и заморгали координаты! ? 😃

Mistel
Plohish:

и заморгали координаты! ?

не понимаю о чём вы

Plohish

о том что при снижении ниже gps_min_sats, должны замигать координаты, не?

Mistel
Plohish:

о том что при снижении ниже gps_min_sats, должны замигать координаты, не?

Так он возможно снизился в моменте, осд не успело отобразить но для триггера аварийной посадки оказалось достаточно. Но сейчас пересмотрел, не думаю что версия состоятельная т.к. на момент срабатывания EL было аж 10 спутников.
Мне вот другое непонятно, судя по ОСД связь есть и причём неплохая. О каком FS идёт речь? И почему не возвращалось управление…

kasatka60

У меня было когда количество спутников упало ниже 6, но я тогда летел в круизе и автоматом переключило в режим angle. Может тут просто глич по координатам временно поймал? Айнав же должен был вывести сообщение и должны моргать спутники на осд?

Mistel:

И почему не возвращалось управление…

Так этот режим можно както отменить отменить?

Mistel

Вот что нашёл

#if defined(USE_NAV)
case FAILSAFE_RETURN_TO_HOME:
if (receivingRxDataAndNotFailsafeMode && sticksAreMoving) {
abortForcedRTH();
failsafeState.phase = FAILSAFE_RX_LOSS_RECOVERED;
reprocessState = true;
}
else {
if (armed) {
beeperMode = BEEPER_RX_LOST_LANDING;
}
bool rthLanded = false;
switch (getStateOfForcedRTH()) {
case RTH_IN_PROGRESS:
break;

case RTH_HAS_LANDED:
rthLanded = true;
break;

case RTH_IDLE:
default:
// This shouldn’t happen. If RTH was somehow aborted during failsafe - fallback to FAILSAFE_LANDING procedure
abortForcedRTH();
failsafeSetActiveProcedure(FAILSAFE_PROCEDURE_AUTO_LANDING);
failsafeActivate(FAILSAFE_LANDING);
reprocessState = true;
break;
}
if (rthLanded || !armed) {
failsafeState.receivingRxDataPeriodPreset = PERIOD_OF_30_SECONDS; // require 30 seconds of valid rxData
failsafeState.phase = FAILSAFE_LANDED;
reprocessState = true;
}
}
break;

собственно о чём это говорит:

  1. условие отключения
    if (receivingRxDataAndNotFailsafeMode && sticksAreMoving) {
    abortForcedRTH();

  2. Условие emergency landing
    else {
    if (armed) {
    beeperMode = BEEPER_RX_LOST_LANDING;
    }
    bool rthLanded = false;
    switch (getStateOfForcedRTH()) {
    case RTH_IN_PROGRESS:
    break;

case RTH_HAS_LANDED:
rthLanded = true;
break;

case RTH_IDLE:

Есть конечно догадки по этой логике но лучше если расшифрует тот кто хорошо умеет код читать 😃

вот ссылка на сам код