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

 
 
> Определить положение устройства в пространстве, при помощи акселерометра и магнетометра
barabek
сообщение Oct 9 2011, 05:10
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 540
Регистрация: 16-08-07
Из: Владивосток
Пользователь №: 29 831



Имеется кит с установленным на нем трехосевым магниторезистивным датчиком HMC5843 и также трехосевым акселерометром. Задача - определить положение устройства в пространстве. С одним датчикомзадача не решаема, хотя бы потому что невозможно определить вращение вокруг вектора ускорения (направления магнитного поля). На первый взгляд простейшая задача меня повергла в полное уныние sm.gif. Всю голову сломал. Задачу решу, если определю три угла вращения (в матрице поворота, например, http://ru.wikipedia.org/wiki/Матрица_поворота). Только матрица поворота это прямая задача, а у меня обратная. Мои данные с датчиков можно представить как два вектора в трехмерном пространстве. Взяв за основу какое-то начальное положение нужно определить поворот плоскости (а не вектрора!), построенной на этих векторах, относительно начала координат. Но как это сделать? Определить сперва вращение одного вектора, а затем определить вращение второго относительно первого? И можно ли решить более сложную задачу - кроме положения определить направление и величину линейного ускорения устройства?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 6)
Guest_@Ark_*
сообщение Oct 9 2011, 10:40
Сообщение #2





Guests






Цитата
На первый взгляд простейшая задача меня повергла в полное уныние...

Кто Вам сказал, что это просто? sm.gif
Вот посмотрите обсуждение в чем-то похожей задачи:
http://electronix.ru/forum/index.php?s=&am...st&p=350416
Go to the top of the page
 
+Quote Post
faa
сообщение Oct 9 2011, 17:46
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 726
Регистрация: 14-09-06
Из: Москва
Пользователь №: 20 394



Цитата(barabek @ Oct 9 2011, 09:10) *
Имеется кит с установленным на нем трехосевым магниторезистивным датчиком HMC5843 и также трехосевым акселерометром. Задача - определить положение устройства в пространстве.

Вот тут посмотрите - определяют, датчики такие же. Схемы, исходники есть.
UPD: Вот прямая ссылка на их инерциалку.

Сообщение отредактировал faa - Oct 9 2011, 17:50
Go to the top of the page
 
+Quote Post
iiv
сообщение Oct 9 2011, 18:00
Сообщение #4


вопрошающий
*****

Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436



Пусть у вас система покоится (не ускоряется), положим, Вам надо получить обратную матрицу поворотов, запишем ее как H=(h_1, h_2, h_3), H \in \R^{3 \times 3}, h_i \in \R^3. Дополнительно потребуем, чтобы оси магнетометра и акселометра полностью совпадали. Положим, что Ваша система такова, что ось X направлена на север, Y - на восток, а Z - вверх. Тогда h_3=-m, h_1=a, где m - результат данных с магнетометра, a - результат данных с акселометра. Помня, что H - унитарная, и зная, что датчики безбожно врут, Вам надо будет перенормировать векторы h_3 и h_1, а, также возможно доортогонализовать их друг к другу, если есть ошибка измерения в датчиках (а она точно есть!!!) относительно положения осей магнетометра и акселометра. После того, как вы получите ортонормированные векторы h_3 и h_1, вычисление h_2 можно провести в виде векторного произведения h_3 и h_1. Сама же матрица поворота может быть вычислена из обратной H ее транспонированием.

К сожалению, все это красиво в теории, но на практике, Вы столкнетесь с большими ошибками измерений, перенастройкой систем координат между датчиками... Для устойчивого решения этой задачи я обычно использую несколько датчиков, по-разному развернутых друг относительно друга, но там уже совсем другая математика sad.gif
Go to the top of the page
 
+Quote Post
artkam
сообщение Oct 9 2011, 18:13
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 182
Регистрация: 14-09-10
Из: Уфа
Пользователь №: 59 479



Что-то мне подсказывает что в приложенных файлах Вы найдете то, что вас интересует. )))

Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение
Прикрепленное изображение

Прикрепленное изображение
Прикрепленное изображение


Сообщение отредактировал artkam - Oct 9 2011, 18:32
Go to the top of the page
 
+Quote Post
barabek
сообщение Oct 10 2011, 02:22
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 540
Регистрация: 16-08-07
Из: Владивосток
Пользователь №: 29 831



Спасибо всем, буду разбираться.
Go to the top of the page
 
+Quote Post
MrAlex
сообщение Oct 11 2011, 15:13
Сообщение #7


Частый гость
**

Группа: Свой
Сообщений: 197
Регистрация: 15-10-10
Из: г. Москва
Пользователь №: 60 179



Цитата(barabek @ Oct 10 2011, 06:22) *
Спасибо всем, буду разбираться.


Несколько полезных документов:
http://www.st.com/internet/com/TECHNICAL_R.../CD00269797.pdf
http://cache.freescale.com/files/sensors/d...T=Documentation
http://cache.freescale.com/files/sensors/d...T=Documentation
Go to the top of the page
 
+Quote Post

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

 


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


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