|
Оценка линейного перемещения с помощью акселерометра, интегрирование данных акселерометра во время разгона |
|
|
|
Jun 25 2015, 10:12
|
Знающий
   
Группа: Участник
Сообщений: 527
Регистрация: 4-06-14
Из: Санкт-Петербург
Пользователь №: 81 866

|
Всем доброго. Есть идея определять вектор перемещения твердого тела, имеющего 6 степеней свободы с помощью акселеромета. Если точнее, то определять проекцию вектора на плоскость OXY (в инерциальной Земной системе координат) в период разгона объекта. Т.е. есть следующие условия: линейное ускорение порядка g, объект может поворачиваться или вращаться вокруг своих осей, время измерения - секунды (пока идёт разгон).
Моя идея была следующая. С помощью fusion фильтра получаю набор Эйлеровых параметров Q = [q0 q1 q2 q3], т.е. кватернион, который задаёт мгновенное радиальное положение объекта. Далее усреднённый вектор данных акселерометра, асс, измеренного в связанной системе координат, преобразую в вектор acci относительно Земной системы координат: acci = (Q * [0 acc]) *conj(Q), выкидываю acci(0) (переход от кватерниона к вектору) и acci(3) (z составляющая), а далее численное интегрирование два раза, чтобы получить искомое перемещение. Чтобы понять разгоняемся мы или нет, при интегрировании к модулю вектора ускорения применяется некоторый порог.
С получением acci особых проблем не возникло, но вот дальше пока не очень понятно. Проверял идею пока только "на столе", т.е. с STMовской отладкой, он что-то мереет, но это точно не то, что я ожидаю. При интегрировании за dt взял период сэмплирования акселерометра, ~10 мс (это же период обновления fusion фильтра). Скорость уверено уходит за 10 м/с. Есть предположение, что подход должен таки работать при длительном (относительно перида сэмплирования, т.е секунды) и резком разгоне (т.е. линейное ускорение порядка g). При первом рассмотрении гугл говорит, что таки да для малых движений (например смартфон в руках человека) алгоритм врёт и очень сильно. Плюс даже если он не врёт сначала, то обязательно начнёт врать потом (т.к. скорость уйдёт). Но вот как будет для обозначенных мною условий? Есть ли у кого какие прогнозы и может быть кто нибудь поделится опытом по оценке векторов линейных движений (с угловыми вроде бы разобрался)? Или может быть это все от лукавого и магнетометр + априорная скорость наше всё?
Зы: поставить дополнительно измеритель скорости не предлагать) для решения задачи есть два датчика от ST - гироскоп и акселерометр+магнетометр.
Зыы: еще заметил такую интересность, алгоритм как-то реагирует на разгон, но совершенно не хочет на торможение, т.е. не сбрасывает скорость после остановки.
|
|
|
|
|
 |
Ответов
|
Apr 14 2016, 14:10
|
Участник

Группа: Участник
Сообщений: 66
Регистрация: 15-01-05
Из: Москва
Пользователь №: 1 980

|
Не хочу убить энтузиазм автора, но вычислить координату двойным интегрированием показаний mems акселерометра никак нельзя. В космосе может быть, но не на Земле.
Мне показалось, что serjj не понимает, что его акселерометр измеряет не физическую величину Ускорение (которая при покоящемся акселе должна быть нулевая по всем осям), а силу, действующую на массу внутри датчика. Эта сила вызвана моментами инерции (то, что нам нужно) плюс собственный ВЕС этой массы. Поэтому если положить аксель на горизонтальную плоскость стола - он выдаст по 2м осям 0, а по одной 1g или 9.8 м\с^2. Собственно, его показания - это сумма векторов собственного ускорения и гравитации. Поэтому для вычисления координаты надо вычесть вектор гравитации, иначе акселерометр будет улетать, увеличивая свою скорость каждую секунду на 9.8 м\c.
Когда я делал нечто подобное - наибольшую ошибку в вычисления координаты вносила ошибка компенсации вектора гравитации. Но у меня кроме акселерометра был гироскоп и магнетометр.
Сообщение отредактировал quarz - Apr 15 2016, 12:42
|
|
|
|
Сообщений в этой теме
serjj Оценка линейного перемещения с помощью акселерометра Jun 25 2015, 10:12 TSerg Обычно сначала все это моделируется в какой-либо п... Jun 25 2015, 12:07 serjj Да? Сейчас всё заработает! Ну во первых, хо... Jun 25 2015, 12:45 TSerg Все очень просто:
- сначала моделируется идеальны... Jun 25 2015, 18:25 iDiode Цитата(serjj @ Jun 25 2015, 14:12) ...он ... Jun 25 2015, 23:01 serjj Цитатаhttp://academic.csuohio.edu/simond/courses/e... Jun 26 2015, 06:59 megajohn Цитата(serjj @ Jun 26 2015, 10:59) Спасиб... Jun 26 2015, 08:04 serjj Цитатав акселерометрах ничо не понимаю, но скоро п... Jun 26 2015, 08:34 MikleV Вопрос к топикстартеру и тем кто в теме. Имеется а... Jul 2 2015, 07:01 Aner QUOTE (MikleV @ Jul 2 2015, 11:01) Вопрос... Jul 2 2015, 07:33  TSerg Цитата(Aner @ Jul 2 2015, 10:33) нельзя, ... Jul 2 2015, 21:17   Aner QUOTE (TSerg @ Jul 3 2015, 01:17) И шо? Л... Jul 3 2015, 08:44 Игорььььь Цитата(MikleV @ Jul 2 2015, 12:01) Вопрос... Apr 25 2016, 21:42 MikleV Чисто теоретически есть 3-х осевой МЭМС аксель. С ... Jul 3 2015, 06:32 serjj Акселерометр даёт зашумлённую оценку поворота в пр... Jul 3 2015, 06:56 serjj Цитатав двух плоскостях Акселерометр + Гироскоп + ... Jul 3 2015, 10:01 Aner У меня крен начинало колбасить, если проц STM32F41... Jul 3 2015, 10:36 TSerg И как же это лодки, авианосцы, подводные аппараты,... Jul 3 2015, 11:26 Aner QUOTE (TSerg @ Jul 3 2015, 15:26) И как ж... Jul 3 2015, 11:47 serjj ЦитатаВектор ускорения затрагивает почти все, редк... Jul 3 2015, 12:16 MrAlex [quote name='serjj' date='Jul 3 2015, ... Aug 31 2015, 13:26 Aner У меня гироскоп только вертикалью и занимался, пок... Jul 3 2015, 13:38 VNS Цитата(Aner @ Jul 3 2015, 16:38) У меня г... Sep 18 2015, 09:04 Corner Одним акселерометром получается весьма неточно. А ... Mar 18 2016, 17:09 bbb Цитата(serjj @ Jun 25 2015, 13:12) Всем д... Mar 18 2016, 19:39 Aner QUOTE (bbb @ Mar 18 2016, 23:39) Из-за ди... Mar 19 2016, 12:41  bbb Цитата(Aner @ Mar 19 2016, 15:41) Это не ... Mar 19 2016, 12:57   Aner QUOTE (bbb @ Mar 19 2016, 16:57) Какими э... Mar 19 2016, 13:36    bbb Цитата(Aner @ Mar 19 2016, 16:36) Не пока... Mar 19 2016, 14:12     Aner QUOTE (bbb @ Mar 19 2016, 18:12) А тема н... Mar 19 2016, 14:19    Onkel Цитата(Aner @ Mar 19 2016, 16:36) Какими ... Mar 19 2016, 16:03    Corner Цитата(Aner @ Mar 19 2016, 16:36) Не пока... Apr 14 2016, 12:59     blackfin Цитата(Corner @ Apr 14 2016, 16:59) У все... Apr 14 2016, 13:24     Onkel Цитата(Corner @ Apr 14 2016, 15:59) ... Л... Apr 15 2016, 09:00 bbb Вы не знаете что перемещение - это двойной интегра... Mar 19 2016, 14:31 Aner QUOTE (bbb @ Mar 19 2016, 18:31) Вы не зн... Mar 19 2016, 17:17  Onkel Цитата(Aner @ Mar 19 2016, 20:17) пропуст... Mar 19 2016, 21:21 Rst7 Moderator: Господа, давайте-ка в конструктивном р... Mar 19 2016, 14:33 bbb Aner
Как видите к Вам много вопросов.
Начнем с наз... Mar 19 2016, 16:56 amaora Отвечая на исходный вопрос. Читайте литературу по ... Mar 19 2016, 19:23 bbb Цитата(amaora @ Mar 19 2016, 22:23) Если ... Mar 19 2016, 20:07 Corner Цитата(quarz @ Apr 14 2016, 17:10) Не хоч... Apr 15 2016, 18:20  quarz Цитата(Corner @ Apr 15 2016, 21:20) Все е... Apr 17 2016, 16:30
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|