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

oleg70
SergDoc:

тоже хочу)))

Да, вещица наверно стоящая, особенно композитный видеовыход…

oleg70
SergDoc:

Развлекаемсо ))

Там смотрю все виброразвязку обсуждают…, а если вместо акселя магнитометр “подставить” ? (дурацкая мысль пришла), датчик то он тоже абсолютный,
смещение магнитного вектора можно легко убрать и сделать его вертикальным, а… ?
Да, и с выносным SPI ИМУ у меня проблемы возникли : - гира и аксель работают нормально а вот магнитометр требует задержки после сигнала <CS>, хотя физически они все в одном корпусе (BMX055)…

SergDoc

delay(105); // at 10 Hz ODR, new mag data is available every 100 ms

oleg70
SergDoc:

new mag data is available every 100 ms

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

SergDoc
oleg70:

именно задержка после выборки кристалла нужна

может “прижимается” плохо? медленно…

oleg70
SergDoc:

может “прижимается” плохо? медленно…

может… кстати как раз из за емкости монтажа… отдельные платки с ИМУ все I2C-ешные, а SPi-ных я че то не видел…

17 days later
oleg70
SergDoc:

может “прижимается” плохо? медленно…

Оказалось, что слишком быстро инициализация проходила (задержки на запись остались от stm103го), а верней - не проходила… и никакие ёмкости тут не причем… 😃 щас все пашет…
Сергей, что там с тестовыми полетами на “двойном” комплекте датчиков и, кажется, каком то мегакоде ?? (народ в ожидании результатов…)

SergDoc

Времени нет, свой дом - всё-таки свой дом, работы валом, Макс тоже пока занят… Чуть освободимся подтянем)))

Hyperion

Фильтр Маджвика. Не разбираюсь в этом но может разработчикам будет интересно почитать 😃

habrahabr.ru/post/255661/

rual
Hyperion:

Фильтр Маджвика. Не разбираюсь в этом но может разработчикам будет интересно почитать

Статья для доцентов, много математических выкладок и наукообразия. . Для тех кто хорошо знает высшую математику, но не знает куда её применить, типа “как рассчитать вероятность падения бутерброда на масло”. А так почитать интересно, спасибо.
Если выкинуть все излишние сопли, то есть годные моменты:

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

alexmos
rual:

Статья для доцентов, много математических выкладок и наукообразия. . Для тех кто хорошо знает высшую математику

Верно подмечено, тем кто математику изучал давно, будет сложно понять. Если разобрались, можете в двух словах описать в чем отличие от фильтра Махони, основанном на матрице поворота и комплиментарном фильтре? По моему, он на порядок проще.

rual
alexmos:

Если разобрались, можете в двух словах описать в чем отличие от фильтра Махони, основанном на матрице поворота и комплиментарном фильтре? По моему, он на порядок проще.

Нет, сравнить не смогу, ибо не знаю алгоритма Махони. Более того не знаю как описывается ориентация в пространстве матрицей поворота.
Однако описанный в алгоритм статье мне понятен, так как моя ИНС построена на тех же принципах - Ориентация из векторных наблюдений. Только мой алгоритм вывернут на изнанку, Маджавик наблюдает вектора относительно ориентации платформы, а у меня относительно предполагаемой мировой ориентации.
Чтоб не быть голословным могу предложить эксперимент. Могу выложить прошивку под Ф3Дискавери с Маджавиком и моим алго. После чего проверить реакцию алго на изменение магнитного поля, поднося магнит к магнитометру. По реакции на возмущение будет понятна разница.

oleg70
rual:

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

Этот “фильтр” уже давно свободно лежит в сети, и по моему, ничто иное как код “free_imu” от Фабио Варесано на кватернионах в двух реализациях (почти похожих) от Магвика и Махони…

rual:

Статья для доцентов, много математических выкладок и наукообразия

Теория красивая … но у меня на практике этот MARG так и заработал как надо из за магнитометра, который должен быть практически идеально откалиброван иначе вносил погрешности в крен и тангаж из-за “слияния” кватернионов… По факту нормально работает только гира+аксель…

rual
oleg70:

из за магнитометра, который должен быть практически идеально откалиброван иначе вносил погрешности в крен и тангаж из-за “слияния” кватернионов…

Вот как раз этот момент в моём алго исправлен, магнитометр на крен и тангаж никак не влияет. Коррекция выполняется синусами проекции вектора магнитометра на предполагаемую мировую плоскость Oxy. Плюс корректировка акселя по ГПС и и барику.

SergDoc
rual:

Однако описанный в алгоритм статье мне понятен, так как моя ИНС построена на тех же принципах - Ориентация из векторных наблюдений. Только мой алгоритм вывернут на изнанку, Маджавик наблюдает вектора относительно ориентации платформы, а у меня относительно предполагаемой мировой ориентации.

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

oleg70
rual:

Плюс корректировка акселя по ГПС и и барику

А вот это мне не понятно… имеется ввиду наверно вертикальное ускорение ? , но как можно скорректировать более точный датчик менее точными ? (шум баро полметра высоты а у ГПС и того больше)

SergDoc
oleg70:

но как можно скорректировать более точный датчик менее точными ?

всё зависит в каких пропорциях мешать 😃 может получиться спирт с водой, может вода со спиртом, а может и водка )))

oleg70
SergDoc:

всё зависит в каких пропорциях мешать может получиться спирт с водой, может вода со спиртом, а может и водка )))

Очень смахивает на алхимию… типа - взяли свинец, добавили немного гов**ца, получили золото… 😃

SergDoc

Хуже, коэффициенты влияния ещё нужно автоматически менять в зависимости от различных факторов, типа выход датчика из мат ожидания или например высоты аппарата над землёй…

rual
SergDoc:

ты берёшь локальные координаты (дус аксель ) и доворачиваешь до глобальных (компас…) - вот она матрица поворота, а где глубинный смысл глобальные координаты доворачивать до локальных?

Всё верно, так и делаю, только нет у меня матрицы поворотов, есть кватернион. А насчет докрутки до локальных, дык это мои догадки, но судя по описанному поведению некоторые платформы (читал про “немцев”) используют именно локальное представление.

SergDoc:

Хуже, коэффициенты влияния ещё нужно автоматически менять в зависимости от различных факторов, типа выход датчика из мат ожидания или например высоты аппарата над землёй…

Вот с этим проблемы, надеюсь пока 😃