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

 
 
 
Reply to this topicStart new topic
> Подробный спидометр для мобильного приложения
Альварез
сообщение 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
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
Альварез
сообщение Jan 16 2018, 08:46
Сообщение #3





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



Цитата(Rst7 @ Jan 16 2018, 10:57) *
Что-то мне подсказывает, что Вы еще даже не пробовали интегрировать данные с акселерометров даже лежащего на столе телефона. Иначе бы вопрос звучал совсем по другому.
Прикрепленный файл  DCMDraft2.pdf ( 329.87 килобайт ) Кол-во скачиваний: 112


пытались взяться, но программист сопротивлялся.
Спасибо за ответ!
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jan 16 2018, 09:04
Сообщение #4


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
Сообщение #5


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

Группа: Модераторы
Сообщений: 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
Doka
сообщение Jan 26 2018, 17:07
Сообщение #6


Electrical Engineer
******

Группа: СуперМодераторы
Сообщений: 2 163
Регистрация: 4-10-04
Пользователь №: 778



Цитата
Сейчас спидометр работает только на показателях GPS, но это очень грубое представление, которое годится больше для автомобилистов, перемещающихся по относительно ровным дорогам на больших скоростях.

видимо это ограничение конкретной модели смартфона (либо API к данным GNSS)
даже в старом-добром NMEA есть отдельное сообщение со скоростью движения антенны, высчитанную baseband-процессором.
какая точность нужна по условиям задачи?


--------------------
Блог iDoka.ru
CV linkedin.com/in/iDoka
Sources github.com/iDoka


Never stop thinking...........................
Go to the top of the page
 
+Quote Post
a123-flex
сообщение Jan 27 2018, 16:28
Сообщение #7


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

Группа: Свой
Сообщений: 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
Rst7
сообщение Jan 27 2018, 20:07
Сообщение #8


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

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



QUOTE
В проектах мозгов для БПЛА комплексные многоканальные компасы используются, там все описанные проблемы решаются.


Все, что я видел в интернетах не содержит попыток интегрирования данных акселерометров.

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


Компас - это компас. ИНС - это ИНС. У них задачи разные. Ну и не дает компас координат, только направление.

Ну пока что самый писк в самолетиках - это камера, смотрящая вниз, дальше считается optic flow, в пачке с GPS на выходе вполне уверенные координаты с хорошей динамикой.

А идеализировать Калмановский фильтр не надо. Всегда можно найти/придумать/сделать ситуацию, в которой он, например, станет неустойчивым. Я, естественно, про реальный объект типа самолетика, а не про упрощенные варианты из учебника.


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


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

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



Цитата(Rst7 @ Jan 28 2018, 00:07) *
Все, что я видел в интернетах не содержит попыток интегрирования данных акселерометров.
Точно не могу сейчас в архиве статейку найти. Но вот нашел конкретно по вашему вопросу: NASA-TM-74839 от 1977 года)
А вот что выпадает по поиску про NASA:
http://edge.rit.edu/edge/P07106/public/Doc...Kong_Thesis.pdf

Цитата(Rst7 @ Jan 28 2018, 00:07) *
Компас - это компас. ИНС - это ИНС. У них задачи разные. Ну и не дает компас координат, только направление.
Вы правы. Но ИНС трудное слово)

Цитата(Rst7 @ Jan 28 2018, 00:07) *
А идеализировать Калмановский фильтр не надо. Всегда можно найти/придумать/сделать ситуацию, в которой он, например, станет неустойчивым. Я, естественно, про реальный объект типа самолетика, а не про упрощенные варианты из учебника.
Всякий инструмент можно сломать неправильным использованием. Кальмановский фильтр сглаживает шумы основываясь на физической модели обьекта управления и процесса - сломайте модель или процесс, и разумеется, фильтр перестанет работать. Но в рамках заданных условий этот фильтр хорош.

Вопрос фильтрации совсем не двадцать пятый: шумы акселерометров действительно большие.


--------------------
Если хочешь узнать, что ждет тебя на дороге впереди, спроси у тех, кто возвращается по ней.
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jan 27 2018, 21:26
Сообщение #10


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

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



QUOTE
Вопрос фильтрации совсем не двадцать пятый: шумы акселерометров действительно большие.


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

QUOTE
А вот что выпадает по поиску про NASA:
http://edge.rit.edu/edge/P07106/public/Doc...Kong_Thesis.pdf


Там про то, что при помощи данных с IMU с невысокими параметрами интерполируется положение в пространстве между отсчетами GPS (раз в секунду). Так да, так работает, если раз в секунду корректировать. Только вот если перестать отсчеты от GPS получать, то очень скоро "улетит" все. Разве что более-менее будет известны крен и тангаж (курс - только если в IMU есть, скажем, магнитный компас, тогда еще можно как-то удержать дрейф гироскопа (-пов в случае ненулевых кренов/тангажа) по курсу).


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


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

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



Цитата(Rst7 @ Jan 28 2018, 01:26) *
Там про то, что при помощи данных с IMU с невысокими параметрами интерполируется положение в пространстве между отсчетами GPS (раз в секунду). Так да, так работает, если раз в секунду корректировать. Только вот если перестать отсчеты от GPS получать, то очень скоро "улетит" все. Разве что более-менее будет известны крен и тангаж (курс - только если в IMU есть, скажем, магнитный компас, тогда еще можно как-то удержать дрейф гироскопа (-пов в случае ненулевых кренов/тангажа) по курсу).
Именно так. Поэтому я и написал ТС-у, что у него проблемы)


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

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

 


RSS Текстовая версия Сейчас: 24th April 2024 - 06:10
Рейтинг@Mail.ru


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