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

 
 
> Удалить постояную составляющую, помогите тупому
inventor
сообщение Aug 4 2015, 12:12
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 524
Регистрация: 25-12-08
Из: Москва
Пользователь №: 42 748



К сожалению я плохо разбираюсь в математике, но школьну программу немного помню.
У меня задача с помощью акселерометра-компаса-гироскопа вычислить скорость/перемещение
к-л объекта.
Это вообще возможно?
Я пока не хочу буриться в кватернионы и прочие прелести (это на потом останеца когда буду все это понимать)
для меня сейчас интересна вот такая задача:
положим: я получил ускорения от акселерометра
получил значения магнитного поля, по этим данным я расчитал наклоны по осям X и Y
и поворот вокруг оси с помошью данных от акселерометра=магнетометра.
само собой акселерометр показывает мне ускорение G = 9.8 (на самом деле чуть больше - примерно 1006 G
но это вероятно зависит от калибровки)

Из курса школы помню что скорость - это интеграл от ускорения по времени (были в алгебре какие то "материальные точки"),
то есть в самом простом случае я могу суммировать с накоплением отсчеты акселеромера
по осям, ну а потом так же с помошью тригонометрии вычислить вектор этой скорости
ну а если взять еще один интеграл от скорости по времени - то получу пройденный путь.
У меня есть данные: отсчеты акселерометра, дискреты таймера - по готовности этого акселерометра - положим раз в секунду.
То есть если я тупо буду отсчитывать :
Vx += ax * dt
Vy += ay * dt
Vz += az * dt

То смогу получить скорость моего устройства
То же самое я могу проделать и для расстояния.
Но вот самая неприятная вешь - как мне убрать из показаний акселерометра
что бы он не показывал мне G.
Ну то есть чтобы я мог "вычесть" из значения по оси Z 9.8
ну и соответственно из других координат то,
что вектор свободного падения наплодил проекцией на эти оси
Как это правильно сделать?




Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
serjj
сообщение Aug 4 2015, 12:50
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 527
Регистрация: 4-06-14
Из: Санкт-Петербург
Пользователь №: 81 866



Почитайте вот эту тему.

Цитата
получил значения магнитного поля, по этим данным я расчитал наклоны по осям X и Y
и поворот вокруг оси с помошью данных от акселерометра=магнетометра.

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

Цитата
...
То смогу получить скорость моего устройства
То же самое я могу проделать и для расстояния.
...

Вы можете, найдя угловое положение твердого тела, оценить составляющую вектора ускорения в плоскости oXY Земной системы координат. Эта составляющая не содержит ускорения свободного падения, т.к. гравитация в системе координат Земли направлена всегда вниз. Таким же образом вы можете найти oZ компоненту вектора ускорения в Земной системе координат. Z составляющую линейного ускорения тела можно оценить, вычтя из этой проекции 9,8. Переход осуществляется либо через матрицу вращений либо через умножение вектора ускорения в связанной системе координат (то что намерял акселерометр) на сопряжённый кватернион вращений.. В приведённой выше ссылке вроде бы всё это есть. Но я вам подробнее рассказывать не стану (в формулах), т.к. это не будет работать. Алгоритм получается неустойчивым, значительные шумы акселерометра и его ненулевое смещение дадут при интегрировании большую ошибку вычисления скорости, которая даст в свою очередь ещё большую ошибку вычисления перемещения (ещё одно интегрирование очевидно). Для того, чтобы это работало вам нужен ещё один источник информации о положении тела, который не подразумевает интегрирования (например GPS). Всё тоже самое как и для нахождения углового положения. Собственно в теме под ссылкой в одном из сообщений приведена ссылка на статью, где предлагается использовать упрощенный фильтр Калмана для определения линейного перемещения объекта по данным от измерителя скорости (интегральная часть) и измерителя положения (пропорциональная часть).

Успехов.

Сообщение отредактировал serjj - Aug 4 2015, 12:53
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 23:51
Рейтинг@Mail.ru


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