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

 
 
> Удалить постояную составляющую, помогите тупому
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 19 2015, 05:12
Сообщение #2


Знающий
****

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



Цитата
я немного по другому сделал - просто умножил вектор ускорений на матрицу поворота
осталось только на Z 9.8 - на X и Y остался только шум.

Всё так, но когда вы перейдёте от ускорения к скорости и от скорости к перемещению путём интегрирования, вы получите ошибку, растущую со временем. Как вы думаете её компенсировать?
Go to the top of the page
 
+Quote Post



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

 


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


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