А вот как наши автопилото стабиллизаторы отрабатывают внештатные ситуации?

type_2

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

dima043

Насколько я понял по опыту использования зимой фишек автопилоту страшнее всего резкое изменение температуры в полете. До какого то предела скорости дрейфа гир алгоритм сходится и горизонт пусть и медленно но приводится к некоему стабильному положению. Из за дрейфа акселей оно может не совпадать с реальностью но в целом алгоритм работает.
Но вот после некоторого порога дрейфа отображаемый горизонт начинает крутиться на ровно летящем в ручном режиме самолете или отображение горизонта совсем пропадает. Затем через какое то время что то видимо перезапускается и горизонт начинает работать нормально.

Нагрев происходит от собственного тепловыделения а охлаждение от холодного окружающего воздуха. Чем ниже температура тем быстрее происходит ее изменение. Теплоизоляция спасает от этого вида зимних проблем.

Павeл
AsMan:

А вот если аут оф ренж? Что происходит?

ЗЫ Я не спору ради. Понять хочется…

ИМХО, что все “ауты” и “дивижины” должны отлавливаться до продажи АП конечным пользователям, иначе результат будет примерно как при других неисправностях, таких как КЗ, обрыв, отказ сервы, т.е. как повезёт (типа как с фишкой).

KBV

Никогда не забуду тот прикол с потерей GPS спутников в полете 😃
Типа подлетел к радиовышке, потерял спутники, начал кружиться. Немного удалился, спутники снова поймались и АП решил что в этом месте и есть точка взлета, RTL теперь хотел лететь туда ))

что-то не могу найти оригинальное сообщение, примерно в середине лета было. Имя “главного героя” (название автопилота) тоже не помню.

X3_Shim

Какая интересная тема.

вот я меня последний глюк был (пару недель назад). Полет на высоте 100 метров. Проверка RTL. Вдруг барометр (после всех фильтров) сообщает что высота вдруг стала 9000 метров. Самолет начинает падать беспорядочно (переключился в ручной, самолет спас). Высота же прыгнув на 9000 потом плавно снизилась к нормальной (плавно скорее всего из-за фильтра). Формально такой выброс можно отфильтровать разными методами. Например смотреть дельту. Ну не может самолет за долю секунды набрать 9000 метров. Можно сравнить с показанием GPS, если сильно расходятся показания высоты, можно посмотреть кто сильно “прыгнул” и временно его отключить. На автопилот ничего такого не сделал.
Вот и интересно как разные АП такое обрабатывают.

msv

Давно выкинул все фильтры, которые стояли “на всякий случай”. Решил, что это самообман. Простейшие ФНЧ итп неэффективны, и только увеличивают транспортные задержки в контуре регулирования. Эвристические методы фильтрации, при весьма ограниченном наборе исходных данных, могут дать больше проблем, чем правильных решений в “нестандартных” ситуациях.
Естественно фильтры стоят там, где они необходимы для реализации алгоритмов.

AlexSneg:

В EKF на кватернионах нет ни разрывов ни особых точек в функциях. В DCM есть …

😃 Поподробнее пожалуйста, лучше пруфлинк…

AlexSneg
msv:

лучше пруфлинк

Когда 2 года назад я копал код ардупилота там была такая затычка

Vector3f
AP_DCM::renorm(Vector3f const &a, int &problem)
{
float renorm;

renorm = a * a;

if (renorm < 1.5625f && renorm > 0.64f) { // Check if we are OK to use Taylor expansion
renorm = 0.5 * (3 - renorm); // eq.21
} else if (renorm < 100.0f && renorm > 0.01f) {
renorm = 1.0 / sqrt(renorm);
renorm_sqrt_count++;
} else {
problem = 1;
renorm_blowup_count++;
}

return(a * renorm);
}

Я не знаю современное состояние кода. Но раньше при pitch = +/-90 градусов алгоритм входил в ступор и выходил из него с помощью костыля.

msv

Так а в чем тут “затычка”? Я правда не стал изголяться с оптимизацией разложением в ряд Тейлора, но это личные предпочтения. Главное нормализировать вектор, а уж в лоб это делать или с оптимизацией, принципиально не важно.
Ну а неопределенные состояния в углах Эйлера к матрице отношение не имеют. Это свойство самих углов ( о каком крене можно говорить при тангаже 90 град)… В матрице всегда однозначно определена ориентация объекта без всяких разрывов и особых точек, как собственно и в кватернионах…

AlexSneg

Ну тогда будем считать, что я неправильно выразил свою мысль. Тебе лучше знать, есть там “затычки” или нет 😃

msv
X3_Shim:

Какая интересная тема.

Действительно интересно… Конечно деление на ноль должен исключить программер. И если это не сделано, означает что прошивка просто кривая.
А вот предусмотреть всевозможные комбинации отказов сразу нескольких подсистем ( RC, GPS, IMU итп) задачка не такая простая…
В моем представлении, если исправно управление необходима только сигнализация отказов, и пилот сам должен принимать решение.
А вот когда проблема с управлением и отказ подсистемы необходимой для отработки автовозврата, что делать не очень понятно…
При отказе GPS, можно пытаться какое-то время удерживать курсу по компасу, высоту по баро в надежде что GPS очухается. В остальных случаях- только самоликвидация… 😃

Olegfpv
KBV:

Никогда не забуду тот прикол с потерей GPS спутников в полете 😃
Типа подлетел к радиовышке, потерял спутники, начал кружиться. Немного удалился, спутники снова поймались и АП решил что в этом месте и есть точка взлета, RTL теперь хотел лететь туда ))

что-то не могу найти оригинальное сообщение, примерно в середине лета было. Имя “главного героя” (название автопилота) тоже не помню.

У меня на Fy41 пропадали спутники , сменился возвратный курс, но как только спутники поймались система показала путь домой, из памяти не вылетало, ведь питание не выключалось и в буфере остались координаты. Грешил на плохой GPS, позже сменил камеру курсовую ,вместо корпусной 500 линий на безкорпусную Сони600 супер хад и спутники не пропадали . А так же вместо 7-8 стало 9-11шт. Думаю камера с проводом по низкой частоте подглушивала Gps.

yaten

Грешил на плохой GPS, позже сменил камеру курсовую ,вместо корпусной 500 линий на безкорпусную Сони600 супер хад и спутники не пропадали . А так же вместо 7-8 стало 9-11шт. Думаю камера с проводом по низкой частоте подглушивала Gps.

Это импульсник в камере, уже обсуждалось, даже решение нашли путем припаивания кондера на несколько пикофарад в цепь импульсника (куда не помню). Поищите.

У меня ни один GPS вообще спутники не ловил на расстоянии метр от включеной камеры (c bevrc kx-181). Поставил кондер - 10-11 стало.

baychi
Olegfpv:

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

Да там просто АП рестартовал, очевидно же. Вот и база потерялась…

Cathay_Stray

А если рассматривать не условное деление на ноль, а реальные полётные ситуации?

Например, имевший место случай.

Данные:

АП/ОСД - Шторм
Радио - Фриска
Носитель - Бикслер
Размещение антенн - антенна передатчика вертикально, обе антенны приёмника тоже строго вертикально (что неправильно)
Включение RTH при потере сигнала - около 70 % газа и нейтральные положения остальных палок (70 % газа - это тоже очень неправильно, т.к. слишком много: ток 18-20 А и скорость при этом в районе 120 км/ч, крейсерские значения 3-4 А и 45-55 км/ч)

Развитие событий:

На малой высоте при дальнем заходе на посадку (ок 400 м) я делаю слишком сильный крен (ок 80+ градусов).
Вертикально установленные антенны приёмника теряют связь с передатчиком.
Шторм моментально врубает RTH, ток скачет до 20 А, естественно вместо завершения поворота и выхода из крена самолёт затягивает в бочку и он оказывается на спине.
Антенны снова находятся вертикально, сигнал восстанавливается, газ падает до нормального.
Я вручную переворачиваю самолёт на место и иду менять трусы.

Опыта у меня на тот момент было совсем мало, отсюда неумное размещение антенн и запредельный газ на RTH (а также необходимость смены белья).

Но меня интересует, что делал бы Шторм, если бы я не выкрутил самолёт снова со спины на брюхо? Как бы он его выравнивал, и выравнивал ли бы вообще?
Высота была метров 60, не разгуляешься.

baychi

Возьмите модель, переверните ее вверх ногами с включенной стабилизацией или RTH и посмотрите на сервы. Нормальный АП сначала выводит модель в горизонт пузом книзу , а затем уже думает о рулении на базу. Шторм относится к нормальным АП.
Еще более умные АП не начинают разворот, пока не наберут заданную минимальную высоту.

PS: Ситуации подобные описанной Вами - абсолютно штатные и никаких сюрпризов здесь быть не должно.

Dacor

Ну как бы и срыв в штопор тоже ситуация вроде как почти штатная. Но АП шторм ничего не предпринимал в этом случае. Оно конечно может и не должен был (ну нет у него такого алгоритма), но в шторме есть такая штука - если углы крена или (и) тангажа меняются слишком быстро, то стабилизация не работает вообще (РТХ соответственно тоже) - моргающий значек самолетика. Тот же значек выскакивает при вибрациях. Есть видос в подтверждение. В этом плане Игл конечно комфортнее.

baychi
Dacor:

срыв в штопор тоже ситуация вроде как почти штатная. Но АП шторм ничего не предпринимал в этом случае.

Со штопором при высоте ниже целевой многие АП лажают. Нужно РВ на “вниз” ставить и элеронами компенсировать вращение, до прекращения, а если АП пытается одновременно вверх идти - из штопора можно не выйти.

Dacor:

если углы крена или (и) тангажа меняются слишком быстро, то стабилизация не работает вообще (РТХ соответственно тоже) - моргающий значек самолетика. Тот же значек выскакивает при вибрациях.

Это правильно. ЛУчше ничего не делать.

Cathay_Stray
Dacor:

в шторме есть такая штука - если углы крена или (и) тангажа меняются слишком быстро, то стабилизация не работает вообще (РТХ соответственно тоже) - моргающий значек самолетика. Тот же значек выскакивает при вибрации

Вот я как раз об этом. Самолёт на спине, а на экране этот самый значок.

baychi
Dacor:

если углы крена или (и) тангажа меняются слишком быстро, то стабилизация не работает вообще

Любопытно, какие это величины? У Smalltim 2 варината ограничений: до 500 градусов/сек и до 2000. Представить себе пенолет вращающийся быстрее 1.5 об/сек сложно, а быстрее 6 оборотов в секунду - нереально.

Dacor
baychi:

Со штопором при высоте ниже целевой многие АП лажают.

Тут то как раз на 5 км выше целевой высоты))).

Кстати говоря мой Х5 в штопоре наматывал примерно 2.9 оборота в секунду. )))

baychi:

Это правильно. ЛУчше ничего не делать.

Тут ведь еще вон что. Координаты показываются только когда РТХ активирован. А в моем случае он не включался и соответственно координат я тоже не видел 😦. Говорят, что в крайних прошивках это исправили - координаты всегда на экране. Но в тот день я на Шторм сильно обидился, несмотря на то, что все закончилось благополучно (и это не заслуга АП),

dima043

Чтобы повысить шансы не войти в штопор на режиме удержания высоты при автовозврате надо просто предусмотреть в алгоритме работы автопилота одно простое условие - выключить режим удержания высоты если ток двигателя меньше заранее заданного значения. Вместо этого просто удерживать предварительно заданный угол тангажа ну или хотя 0. Это позволит не задействовать датчик скорости.