Создание собственной системы стабилизации

rual
ИльяПРо:

Не понял, простите, можно поподробнее?

Я о том, что говоря, что “такой-то проект использует ЕКФ для определения положения/ориентации”, мы не можем точно сказать как этот алгоритм выглядит. Ибо гораздо важнее понимать как в этом ЕКФ описан САМ ОБЪЕКТ, который в МАРГах описывается отдельными уравнениями, а не универсальной матричной формой. То есть в МАРГе описан ЧАСТНЫЙ случай матричной формы, без алго автоподбора коэффициентов эволюции модели. Как следствие из этих рассуждений делаем вывод, что само использование ЕКФ совершенно не гарантирует качества работы алго на его основе.

ИльяПРо

Нет, строение фильтра калмана отлично от марга и основывается на совсем других принципах, это вовсе не частный случай - это совсем иной подход к решению задачи, и я считаю, что он не так эффективен как фильтр калмана. Опять же повторюсь в марге все зависимости описываются явно - АНАЛИТИЧЕСКИ. В калмане - зависимости можно задать не явно, он использует СТАТИСТИЧЕСКИЙ метод.

oleg70
ИльяПРо:

Нет, строение фильтра калмана отлично от марга и основывается на совсем других принципах

В сети много демо-роликов где демонстрируются результаты работы KF, но боюсь что не все там так хорошо как пытаются показать… Оценка его эффективности должна (ИМХО) даваться для конкретного частного случая, а не в общем и везде…
(сама реализация может дать разные результаты).
Исходя из прочитанного - KF вещь чувствуется мощная и сложная, а значит капризная, а значит если уж с ним “связываться”, то должны быть неубиваемые аргументы по качеству работы в его пользу… поэтому только пробы пробы пробы…
(жаль что бюджет, на улетевшие в неизвестном направлении коптеры, ограничен )))

rual
ИльяПРо:

Какая именно? H? A(F)?

F из вот этого описания
Она статична, не меняется в процессе работы, и содержит как раз ту самую аналитическую часть матмодели.

ИльяПРо
rual:

F из вот этого описания
Она статична, не меняется в процессе работы, и содержит как раз ту самую аналитическую часть матмодели.

правильно. не рекомендую читать ту статью…

SergDoc
rual:

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

это просто “формула” нахождения ненаблюдаемых величин из наблюдаемых: угол из угловой скорости, скорость из ускорения, путь из скорости и т.д.
p.s. на ноуте давно стёрлись буковки, могу иногда натыкать не того - простите…

rual
ИльяПРо:

не рекомендую читать ту статью…

Так я и не читал, хотел другую найти, но не нашел …

SergDoc:

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

так это и есть матмодель. В другой статье ещё была какая-то матрица для связки датчиков (не дисперсионная) с состоянием системы.

SergDoc
rual:

так это и есть матмодель. В другой статье ещё была какая-то матрица для связки датчиков (не дисперсионная) с состоянием системы.

там плюс к мат модели ещё матрица управления которую обычно игнорируют…
ещё кое что игнарируют - матрицу Якоби, вместо которой тупо подставляют коэффициенты с потолка, или из пальца высосанные, или бабушка нашептала - короче постоянные имперические данные которые делают фильтр линейным…

rual
SergDoc:

там плюс к мат модели ещё матрица управления которую обычно игнорируют…

Нее… там другая… Н вроде

ИльяПРо

обе матрицы H и A(F) обычно заменяются нелинейными уравнениями f(x) и h(x), которые EKF линеаризует вычисляя Якобиан, UKF идет другим путем, пропуская пробные точки непосредственно через нелинейные уравнения. Кстати говоря в простом случае если вы просто хотите найти угловую ориентацию из акселя и гиры, вам нужно составить нелинейные уравнения f(x) и h(x) и тут простым линейным калманом не справится, только EKF либо UKF. Завтра я расскажу что это за уравнения, вы их уже сто раз видели, так что все там довольно просто…

kasmirov
oleg70:

Оценка его эффективности должна (ИМХО) даваться для конкретного частного случая, а не в общем и везде…

(жаль что бюджет, на улетевшие в неизвестном направлении коптеры, ограничен )))

Не обязательно тратить коптеры в большом количестве 😃
Я делал логгер гиры+акселя, который писал данные на флешку. Потом в спокойной обстановке анализировал данные за компом, применяя разные алгоритмы к одному и тому же набору данных.
Здесь можно почитать rcheliclub.ru/index.php?topic=14535.0

ИльяПРо

H - это оценка, чего мы ожидаем увидеть от датчика

rual
ИльяПРо:

Кстати говоря в простом случае если вы просто хотите найти угловую ориентацию из акселя и гиры, вам нужно составить нелинейные уравнения f(x) и h(x) и тут простым линейным калманом не справится, только EKF либо UKF.

Не совсем понятно, где нелинейные уравнения. Все действия происходят в рамках линейной алгебры.

SergDoc:

это новые данные…

Чтоб подробно поразбираться надо бы взять какую-то опорную статью, иначе запутаемся в терминах и буквах матриц. Серег, есть годная статья на русском ?

ИльяПРо:

H - это оценка, чего мы ожидаем увидеть от датчика

Вот, это матрица связи состояния и датчика. Илья, дай ссылку на опорный материал. Только так можно предметно разговаривать.

ИльяПРо
rual:

Не совсем понятно, где нелинейные уравнения. Все действия происходят в рамках линейной алгебры.

Нелинейность заключается в том, что сами по себе данные с ДУСа участвуют только в моделе, то есть фишка в том, что в фильтре данные с ДУСа не являются данными с датчика(не участвуют в update), они используются только в той самой функции f(x). Плюс операция вычисления кватерниона из угловых скоростей нелинейна.

Если на русском, то вот:
habrahabr.ru/post/121904/ . В качестве обозначений норм, но плохо изложенная и с разбегу не понятно будет.

Если на английском, то :
BAYESIAN FILTERING AND
SMOOTHING
Simo Sarkka
users.aalto.fi/…/cup_book_online_20131111.pdf
начиная со страницы 56
конкретно про UKF со страницы 81
Вообще лучше если вы начнете именно с тех ссылок которые я давал страницу назад, там с примерами, от простого к сложному разобрано, только на английском. Особенно рекомендую курс на Udacity

oleg70
kasmirov:

Я делал логгер гиры+акселя, который писал данные на флешку.

Т.е. экспериментальный алгоритм не влиял на полет (отключен от моторов) и просто выдавал данные ?
Да, наверно выход, но всё ж некоторые моменты увидеть не получится, особенно связанные с динамическими процессами, в них должен присутствовать сам аппарат с его массой и инерцией…

ИльяПРо

Примерно простой UKF выглядит так:
вектор состояния = {q0, q1, q2, q3, gx_bias, gy_bias, gz_bias}, где q - кватернион, g_bias - биасы гиры
Уравнение f(x):
УГЛОВАЯ СКОРОСТЬ = УГЛОВАЯ СКОРОСТЬ С ДУСА + БИАС + ШУМ ДУСА
функция вращения кватерниона угловой скоростью
БИАС = БИАС + ШУМ БИАСА
Уравнение h(x):
получение виртуального вектора свободного падения из кватерниона
ВИРТУАЛЬНЫЙ ВЕКТОР = ВИРТУАЛЬНЫЙ ВЕКТОР + ШУМ ВИРТУАЛЬНОГО ВЕКТОРА

SergDoc
rual:

Серег, есть годная статья на русском ?

нету, есть тетрадка в клеточку, где я матрицы вручную ворочал и смотрел что в них происходит )))

mahowik
ИльяПРо:

В дальнейшем я бы хотел поработать с камерой, и сделать его основным датчиком положения и ориентации, я вижу в этом перспективу коптеростроения.

jShadow:

Я тоже. Велкам, как говорится. В INAV очень нужна поддержка Optical Flow и других методов навигации в локальных координатах.

вот интересная работа www.mdpi.com/1424-8220/16/3/372/htm

ну и вообще ресурс отличный www.mdpi.com/search?q=ekf+ukf&journal=sensors&volu…

upd: rcopen.com/forum/f134/topic224458/3947
upd2: rcopen.com/forum/f134/topic224458/3700

alexmos

SLAM перспективная вещь, но требует серьезных мощностей для вычисления в реальном времени. Жду с нетерпением, когда появятся оптические сенсоры адекватных размеров и энергопотребления, на выходе которых можно снимать хотя бы 3D координаты, а вместе с ними и 3D карту окружения. Тот кто первый сделает, сорвет банк 😃

mahowik

Ну вот хотя бы habrahabr.ru/article/304762/

В основе технологии – точное соединение данных от всех сенсоров и их быстрая обработка. Данные устройство получает от инфракрасных датчиков, нескольких фотокамер, точных акселерометров, гироскопов и барометров. Все вместе это позволяет создать точную трехмерную картину мира вокруг устройства, обновлять в режиме реального времени, определять положение внутри нее, передавать эти данные всем приложениям, и накладывать слои с информацией поверх. Можно сказать, что в одном смартфоне у вас совмещены сразу два подхода – сканер трехмерного окружающего пространства и пульт управления, отслеживающий движения в нем.