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

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/

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

alexmos

Project tango - проект для смартфонов. Да, он содержит достаточно серьезные сесноры, но все же оптимизирован для интерфейса с пользователем, дополненной реальности. Зачем мне батарея, корпус, экран? Для робототехники и других прикладных применений нужен голый сенсор, желательно компактный и мало кушающий.

oleg70
mahowik:

сканер трехмерного окружающего пространства

Интересен принцип указанного сканирования. стереокамеры ? (как расстояние до объекта определяется?)