реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Математика IMU, Поясните пожалуйста
alexPec
сообщение Aug 22 2013, 07:29
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



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

Прикрепленные файлы
Прикрепленный файл  An_efficient_orientation_filter_for_inertial_and_inertialmagnetic_sensor_arrays.pdf ( 1.47 мегабайт ) Кол-во скачиваний: 94
 
Go to the top of the page
 
+Quote Post
Parallax123
сообщение Sep 28 2013, 22:27
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 12-08-13
Пользователь №: 77 892



Цитата(alexPec @ Aug 22 2013, 11:29) *
Всем добрый день.
Есть такой алгоритм (картинка) взят из прикрепленного файла, стр.11. Так и не понял что ( и при каких допущениях) делает ветка акселерометра и обратной связи. Объясните дураку. Понял что корректируются значения углов гироскопа по акселерометру, но не понял, должен ли при этом объект НЕ испытывать ускорений или корректировка производится при любых условиях?
Если при любых условиях - то сразу вопрос: как? Хоть принципиально, за счет чего, если объект может ускоряться по любой оси (хотя сам в такое чудо не верю)?


Таким образом компенсируют влияние вектора линейного ускорения на значение вектора угловой скорости, который выдает система. Работат в постоянном режиме на основании начальной калибровки.
Go to the top of the page
 
+Quote Post
alexPec
сообщение Sep 30 2013, 03:55
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(Parallax123 @ Sep 29 2013, 02:27) *
Таким образом компенсируют влияние вектора линейного ускорения на значение вектора угловой скорости, который выдает система. Работат в постоянном режиме на основании начальной калибровки.


Неа, не вариант, там у каждого гироскопа характеристики зависимостей снимают а потом учитывают таблично. А это не то.
Go to the top of the page
 
+Quote Post
deeper_79
сообщение Sep 30 2013, 06:48
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 21
Регистрация: 3-04-12
Пользователь №: 71 154



Цитата(alexPec @ Aug 22 2013, 10:29) *
Всем добрый день.
Есть такой алгоритм (картинка) взят из прикрепленного файла, стр.11. Так и не понял что ( и при каких допущениях) делает ветка акселерометра и обратной связи. Объясните дураку. Понял что корректируются значения углов гироскопа по акселерометру, но не понял, должен ли при этом объект НЕ испытывать ускорений или корректировка производится при любых условиях?
Если при любых условиях - то сразу вопрос: как? Хоть принципиально, за счет чего, если объект может ускоряться по любой оси (хотя сам в такое чудо не верю)?


можно в любых условиях при наличие внешней информации о скоротси объекта (например спутник либо лаг), из интегралов акселерометров вычитаеться внешняя скорость и остаеться только скорость полученная от g
Go to the top of the page
 
+Quote Post
amaora
сообщение Sep 30 2013, 19:28
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 421
Регистрация: 2-01-08
Пользователь №: 33 778



Цитата(alexPec @ Aug 22 2013, 11:29) *
Если при любых условиях - то сразу вопрос: как? Хоть принципиально, за счет чего, если объект может ускоряться по любой оси (хотя сам в такое чудо не верю)?


Никак, система из двух неизвестно как себя ведущих величин не наблюдаема по сумме этих величин. В этой задаче обычно держаться за априорные предполежения о траекториях движения объекта, или дополнительные измерения.

Самое простое решение, предположить что на длительных временных отрезках среднее ускорение объекта равно нулю. Тогда средние измерения акселерометра в системе координат связанной с землей показывают гравитацию, с какой-то точностью. Имея измеряемый вектор находими его невязку с предполагаемым (полученным по ориентации из гироскопа как вы это называете) вектором, смотрим как применить невязку для обновления оценки ориентации. Можно фильтром Каламана, можно из геометрических соображений сформировать кватернион "доворота" и взять какой-то коэффициент смешивания для подавления шума.

Если есть возможность, можно учитывать известные ускорения.
Go to the top of the page
 
+Quote Post
alexPec
сообщение Oct 1 2013, 06:27
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(amaora @ Sep 30 2013, 23:28) *
Никак, система из двух неизвестно как себя ведущих величин не наблюдаема по сумме этих величин. В этой задаче обычно держаться за априорные предполежения о траекториях движения объекта, или дополнительные измерения.

Самое простое решение, предположить что на длительных временных отрезках среднее ускорение объекта равно нулю. Тогда средние измерения акселерометра в системе координат связанной с землей показывают гравитацию, с какой-то точностью. Имея измеряемый вектор находими его невязку с предполагаемым (полученным по ориентации из гироскопа как вы это называете) вектором, смотрим как применить невязку для обновления оценки ориентации. Можно фильтром Каламана, можно из геометрических соображений сформировать кватернион "доворота" и взять какой-то коэффициент смешивания для подавления шума.

Если есть возможность, можно учитывать известные ускорения.


Поигрался с алгоритмом, похоже это он и делает. Крутишь гироскоп - угол нуля убегает, положишь обратно - за 3-5сек встает на место.
Go to the top of the page
 
+Quote Post
ibk66
сообщение Oct 6 2013, 11:50
Сообщение #7





Группа: Новичок
Сообщений: 5
Регистрация: 9-11-11
Пользователь №: 68 214



Цитата(alexPec @ Oct 1 2013, 10:27) *
Поигрался с алгоритмом, похоже это он и делает. Крутишь гироскоп - угол нуля убегает, положишь обратно - за 3-5сек встает на место.


Система будет работоспособна вне помещений при низкой динамике объектов. У меня получалось СКП азимута (в зависимости от динамики объекта и окружающей локальной магнитной обстановки) ~3-5Гр для "вращающегося" пешехода после предварительной выставки, наклоны лучше. Но, для низкодинамичного объекта, ИМХО, единственный способ.
Если не нужна привязка к истинному Северу (типа для манипуляторов в игрушках) но достаточно азимута относительно некоторого нуля, думаю будет получше, но такого не делал.
Go to the top of the page
 
+Quote Post
alexPec
сообщение Oct 7 2013, 04:22
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(ibk66 @ Oct 6 2013, 15:50) *
Система будет работоспособна вне помещений при низкой динамике объектов. У меня получалось СКП азимута (в зависимости от динамики объекта и окружающей локальной магнитной обстановки) ~3-5Гр для "вращающегося" пешехода после предварительной выставки, наклоны лучше. Но, для низкодинамичного объекта, ИМХО, единственный способ.
Если не нужна привязка к истинному Северу (типа для манипуляторов в игрушках) но достаточно азимута относительно некоторого нуля, думаю будет получше, но такого не делал.


А почему вне помещений ? Сила тяжести и магнитное поле земли оно везде одинаково, ну или почти. И что такое СКП? У Вас эти цифры именно для алгоритма, реализованного в Free IMU? Коэффициент бета какой задавали?
Go to the top of the page
 
+Quote Post
ibk66
сообщение Oct 7 2013, 06:07
Сообщение #9





Группа: Новичок
Сообщений: 5
Регистрация: 9-11-11
Пользователь №: 68 214



Цитата(alexPec @ Oct 7 2013, 08:22) *
А почему вне помещений ? Сила тяжести и магнитное поле земли оно везде одинаково, ну или почти. И что такое СКП? У Вас эти цифры именно для алгоритма, реализованного в Free IMU? Коэффициент бета какой задавали?

1) Сила тяжести действительно одинакова, а вот магнитное поле Земли сильно нет. Точнее, поле то Земли одинаковое (в смысле более-менее соответствует моделям зависимости от широты-долготы-высоты), а вот локальные добавки сильно разные, в помещении магнитный компас и градусов на 90 повернуть может. Вы сами можете это посмотреть, даже если нет датчиков, сейчас магнитометры доступны в любом смартфоне на Андроиде, их хватит.
2) Точности будут зависеть как от алгоритма, так и от характеристик датчиков. СКП (СК погрешность) это СКО (СК отклонение), мне СКП привычнее.
3) Насчет Free IMU. Нет, у меня свой алгоритм, но они все более-менее стандартные, что-то серьезно меняется при изменении набора и/или класса точности датчиков. Могу и Free IMU посмотреть. На прошлой неделе реализовал третий практически цельнотянутый с форума electronix алгоритм и дал себе зарок попытаться что-то ответить на форуме по одной-двум темам, если квалификации хватит sm.gif.
Go to the top of the page
 
+Quote Post
alexPec
сообщение Oct 7 2013, 09:58
Сообщение #10


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата
На прошлой неделе реализовал третий практически цельнотянутый с форума electronix алгоритм и дал себе зарок попытаться что-то ответить на форуме по одной-двум темам, если квалификации хватит sm.gif.


Так это, может поделитесь, если не жалко, просто сравнить интересно, у меня на базе free IMU. Можно и в личку если что...
Нуль плывет че-то очень хорошо у меня, без коррекции по гравитации и магнитному полю. Вот и охота сравнить - может что не так сделал.
Go to the top of the page
 
+Quote Post
ibk66
сообщение Oct 7 2013, 11:56
Сообщение #11





Группа: Новичок
Сообщений: 5
Регистрация: 9-11-11
Пользователь №: 68 214



Цитата(alexPec @ Oct 7 2013, 13:58) *
Так это, может поделитесь, если не жалко, просто сравнить интересно, у меня на базе free IMU. Можно и в личку если что...
Нуль плывет че-то очень хорошо у меня, без коррекции по гравитации и магнитному полю. Вот и охота сравнить - может что не так сделал.

Почитаю про математику free IMU, и, если запала хватит, отвечу допаолнительно. Но это дело несколько дней.
По первому взгляду, на что обратил внимание в Ваших сообщениях:
у меня к 9-ти (учитывая, что ориентацию описываем кватернионом, строго говоря, 10-ти, но там есть связь, так что чило степеней свободы все-равно 9) основным параметрам могло оцениваться 12 параметров гироскопов и акселерометров (по 2 на датчик: нули и к-ты пропорциональности) и 12 параметров для магнитометров (к-ты собственно магнитометров и параметры носителя по мягкому и твердому железу). Не все они всегда определялись: выбор обусловлен характеристиками движения, характеристиками платформы, характеристиками датчиков, требованиями задачи и т.п. Ну и чем больше определяемых параметров, тем больше шанс, что слежение развалится нахрен, так что выбирать нужно минимально необходимый набор. Если датчики нормальные, то можно обойтись параметрами железа носителя, но у МЕМСов обычно характеристики не очень. Как минимум им нужно выставить нули и к-ты пропорциональности "на столе". У Вас же о калибровке/выставке упоминаний совсем нет (или я не заметил).

Может кинете ссылку на описание математики free IMU, чтобы по всему сайту у них не искать.
Go to the top of the page
 
+Quote Post
alexPec
сообщение Oct 7 2013, 13:51
Сообщение #12


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(ibk66 @ Oct 7 2013, 15:56) *
Может кинете ссылку на описание математики free IMU, чтобы по всему сайту у них не искать.


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

Файл с математикой, на которую ссылаются в коде вот тут . В первом посте файл прицеплен.
Прикрепленные файлы
Прикрепленный файл  imu_v084.rar ( 94.71 килобайт ) Кол-во скачиваний: 41
 
Go to the top of the page
 
+Quote Post
ibk66
сообщение Oct 8 2013, 06:00
Сообщение #13





Группа: Новичок
Сообщений: 5
Регистрация: 9-11-11
Пользователь №: 68 214



Прочитал, но без вникания в каждую формулу.

Собственно, описана БИНС без коррекции по GNSS сигналам. При отсутствии магнитометров такая система может работать как гировертикаль, при наличии магнитометров как система ориентации с привязкой не к реальному Северу, а к локальному магнитному.

По первому взгляду система нормально построена. При нормальных датчиках работать будет, для объектов с низкой динамикой. Основной недостаток схемы free IMU, на мой взгляд, отсутствие динамической корректировки параметров оборудования и собственного магнитного поля, не с любыми датчиками и носителями пойдет.

Немного по терминологии, базовым понятиям, ну и кое-какие предложения.

1)чтобы привязаться к реальному Северу нам нужно, как минимум, магнитное склонение. Но лучше знать вектор магнитного поля в точке работы.
Если не нужна особая точность (а при работе на МЕМСах и не нужна) достаточно использовать модели WMM2010, IGRF.

2)но если мы получаем азимут от магнитометров и наклоны от акселерометров, то зачем нам вообще гироскопы? дело в том, что в наклоны от акселерометров будет влазить ошибка от линейных ускорений, а магнитометры обладают приличной латентностью (я теорией погрешностей магнитометров не владею, но те что у меня были реально запаздывали, на сотни милисекунд). вот и появляются гироскопы (ДУС, датчики угловой скорости). По данным измерений ДУС прогнозируется значения углов ориентации (или кватерниона ориентации, что удобнее), по данным акселерометров и магнитометров значения корректируются. В такой схеме гироскопы "сглаживают" ориентацию от акселерометров/магнитометров, так что погрешности от линейных ускорений в акселерометрах, погрешности и запаздывание в магнитометрах идет просто как шум. Это и реализовано в free IMU.

3)почему эта схема может работать плохо? имхо, две основные причины: неточности датчиков и возмущения магнитного поля.

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

a)нули гироскопов: просто смотрим в статике, среднее секунд за 30. Если совпадает с фабричным нулем, то все хорошо и для этих датчиков нуль калибровать не нужно (или внутри датчика спрятана автокалибровка).

cool.gifк-т пропорциональности для гироскопов: для каждого датчика (оси) вращаем вокруг одной оси и интегрируем, т.е. sum((g_i-g_0)*dt_i), где g_i -- i-тое измерение от гироскопа, dt_i -- интервал времени от i-1 -го измерения, g_0 -- нуль гироскопа. Смотрим что получилось и получаем коэффициент, на который нужно домножать. Выполняем это несколько раз и усредняем. Опять же если получается 1, то все и так хорошо.

c)нули акселерометров: ориентируем акселерометр сначала вниз, потом вврех. Полусумма -- это и есть нуль.

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

Ну и нужно помнить, что коэффициенты плывут от времени и температуры. А может и не плывут, или не сильно плывут. От конкретных датчиков зависит.

5)магнитное поле и магнитометры -- это, имхо, здесь будет самое муторное. Прежде всего стоит проверить, а нужно ли все это. минимально -- повернуть Вашу плату на углы 0, 90, 180, 270 гр (для прямоугольной платы это не сложно) для нескольких начальных положений и посмотреть, к чему сходятся показания устройства. Если изменения углов будут похожи на 90, 180, 270, то все и так нормально, если нет, то придется помучиться. Если чуть сложнее -- рассчитать значение вектора магнитного поля по WMM/IGRFЕ для заданных координат на заданную дату (есть онлайн калькуляторы) и сравнить с тем, что выдают датчики.
Описание возможных алгоритмов коррекции показаний магнитометров оставим на следующую итерацию.

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

7)предлагаю Вам попробовать реализовать пункты 4 и 5, ну и посмотреть/сообщить результаты.

PS. Ну и желательно знать, а что и с какими характеристиками хочется получить? От этого многое зависит при выборе схемы решения задачи, в частности, подойдет ли Вам free Imu. Свой код предоставить не могу, он заказной. Но на вопросы, если смогу, отвечу, может что полезным будет.

Сообщение отредактировал ibk66 - Oct 8 2013, 06:02
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 5th July 2025 - 09:24
Рейтинг@Mail.ru


Страница сгенерированна за 0.01482 секунд с 7
ELECTRONIX ©2004-2016