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

 
 
> Подробный спидометр для мобильного приложения
Альварез
сообщение Jan 16 2018, 07:26
Сообщение #1





Группа: Участник
Сообщений: 6
Регистрация: 21-05-10
Из: Москва
Пользователь №: 57 440



Добрый день,
во время разработки мобильного приложения возникла сложность со спидометром.
Приложение не автомобильное, скорости планируются небольшие, возможно использование в закрытых пространствах, крайне важно точно измерять разгон и торможение в реальном времени, и самое главное - смартфон не обязательно будет зафиксирован в одном положении, так как, возможно, будет лежать в кармане или в сумке, например, велосипедиста.
Сейчас спидометр работает только на показателях GPS, но это очень грубое представление, которое годится больше для автомобилистов, перемещающихся по относительно ровным дорогам на больших скоростях.
Нужно подключить акселерометр, но пока не получается, потому что для его корректной работы смартфон нужно четко фиксировать креплением в одном положении, чтобы не сбивались оси X, Y и Z, только тогда он будет работать корректно.
В нашем же случае предполагаются небольшие погрешности в положении в пространстве, которые будут эти оси постоянно сбивать, значит нужен алгоритм, который будет учитывать эти погрешности и выдавать честный результат.
Вдруг кто то сталкивался с подобной проблемой, подскажите пожалуйста как быть?
Заранее спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Rst7
сообщение Jan 16 2018, 07:57
Сообщение #2


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



QUOTE
Нужно подключить акселерометр, но пока не получается, потому что для его корректной работы смартфон нужно четко фиксировать креплением в одном положении, чтобы не сбивались оси X, Y и Z, только тогда он будет работать корректно.


Что-то мне подсказывает, что Вы еще даже не пробовали интегрировать данные с акселерометров даже лежащего на столе телефона. Иначе бы вопрос звучал совсем по другому.

В общем случае все выглядит примерно так. Интегрируя угловые скорости гироскопов получается матрицу преобразования координат из системы координат телефона в систему координат неподвижных звезд. Она же DCM (direct cosine matrix, это Вам ключевое слово для поиска будет). Потом вектор ускорения с акселерометров умножаете на эту матрицу перехода, и уже в системе неподвижных координат интегрируете. Не забывая что-то сделать с тем, что есть гравитация и сила реакции опоры (в том смысле, что гравитация есть, а ускорение равно 0, потому что пол мешает лететь человеку в тартарары) wink.gif

Только шум и дрейфы нулей у MEMS-акселерометров такие, что за десяток секунд человек может в космос улететь по данным такой ИНС. Вот потому я и говорю, что кажется мне, что Вы еще ничего не пробовали.

И да, интегрирование угловых скоростей всех этих MEMS-гироскопов тоже нифига не банальное суммирование. Надо компенсировать огромные дрейфы нулей. Ну некие решения там есть. Ну вот, например, чтение по теме для новичка - Прикрепленный файл  DCMDraft2.pdf ( 329.87 килобайт ) Кол-во скачиваний: 112



--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jan 16 2018, 09:04
Сообщение #3


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(Rst7 @ Jan 16 2018, 09:57) *
Ну вот, например, чтение по теме для новичка - Прикрепленный файл  DCMDraft2.pdf ( 329.87 килобайт ) Кол-во скачиваний: 112

Какое же это для новичка. Это туфта мягко говоря.

На самом деле все проще. Берем акселерометр и измеряем и все!
Ну или почти все. Надо из измерений вычесть вектор притяжения земли.
Для этого надо знать точную ориентацию микросхемы относительно земли.
Вот тут заваруха и начинается.
Есть три известных подхода к определению этой ориентации:
-Метод Махони ( про него в вышепереведенной ссылке). И он самый плохой, но да, его понимают даже ардуинщики.
-Метод Мадгвика. На мой взгляд лучший по ряду показателей.
-Метод Калмана. Вычислительно трудный, но самый правильный.
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jan 16 2018, 09:46
Сообщение #4


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



QUOTE (AlexandrY @ Jan 16 2018, 11:04) *
Какое же это для новичка. Это туфта мягко говоря.


Обоснуйте.

QUOTE
На самом деле все проще. Берем акселерометр и измеряем и все!
Ну или почти все. Надо из измерений вычесть вектор притяжения земли.


Ага-ага, "просто измеряем и вычитаем". Осталось только разобраться с переходами из одной системы отсчета в другую. Ну и это, про сигнал "контакт подъема" не забывать wink.gif

QUOTE
Для этого надо знать точную ориентацию микросхемы относительно земли.
Вот тут заваруха и начинается.
Есть три известных подхода к определению этой ориентации:
-Метод Махони ( про него в вышепереведенной ссылке). И он самый плохой, но да, его понимают даже ардуинщики.
-Метод Мадгвика. На мой взгляд лучший по ряду показателей.
-Метод Калмана. Вычислительно трудный, но самый правильный.


Та вопрос фильтрации и прочего для внесения коррекций нуля - это дело двадцать пятое. Более того, если кто-то считает, что замена простого интегрирования матрицы поворота на кватернионы ради выигрыша двух умножений - это прям показатель величия - ну ок.

И вообще, тут разговор об двойном интегрировании ускорения. Конкретно - в двойном интегрировании банальных MEMS-акселерометров. Никакой Калман там не поможет.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
a123-flex
сообщение Jan 27 2018, 16:28
Сообщение #5


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

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



Цитата(Rst7 @ Jan 16 2018, 13:46) *
Обоснуйте.

Ага-ага, "просто измеряем и вычитаем". Осталось только разобраться с переходами из одной системы отсчета в другую. Ну и это, про сигнал "контакт подъема" не забывать wink.gif

Та вопрос фильтрации и прочего для внесения коррекций нуля - это дело двадцать пятое. Более того, если кто-то считает, что замена простого интегрирования матрицы поворота на кватернионы ради выигрыша двух умножений - это прям показатель величия - ну ок.

И вообще, тут разговор об двойном интегрировании ускорения. Конкретно - в двойном интегрировании банальных MEMS-акселерометров. Никакой Калман там не поможет.
Калман как раз хорошо фильтрует шумы. Но вот о проблеме смены базовой системы координат я раньше не задумывался.
В проектах мозгов для БПЛА комплексные многоканальные ИНС используются, там все описанные проблемы решаются.

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

ТС-у: у Вас проблемы)


--------------------
Если хочешь узнать, что ждет тебя на дороге впереди, спроси у тех, кто возвращается по ней.
Go to the top of the page
 
+Quote Post



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

 


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


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