Pull to refresh

Comments 36

А где же ссылка на приложение, которое можно скачать и попробовать?
ну не все сразу, оно не готово еще
Тогда результаты хотябы, по комнате например походить, размер комнаты известен.
Это бы сильно улучшило статью.
А вот как раз по комнате походить не получится- невозможно настолько ровно держать телефон в руках. Надо мастерить телегу. Я на машине проверял, на ровных участках дорог. И сравнивал со спидометром
Вибрация машины? Результаты? Хотябы порядок погрешности.
Вибрация машины убирается усреднением. Хуже всего — изменение уклона дороги.
На некоторых участках погрешность — не заметна вообще, по сравнию со спидометром.
Во всех экспериментах погрешность не превышала 10% (но это очень много).
Прикручу GPS буду точнее сравнивать. Ну, для сравнения как раз прикручу:)

По комнате можно по одной оси попробовать
В руках когда несешь — погрешность большая. Малейшие изменения угла наклона телефона — уже на таких мелких скоростях — серьезная ошибка. Для комнатных условий этот метод не годится.
А вот для каких-нибудь метро, или ракет, или чего-от двигающегося прямолинейно — может и понадобится кому-нибудь.
А вот кстати, ест приложения для hud-display в авто (проекция на лобовое для нищебродов), работающие с GPS, но задержки адовы. По идее использую аккселерометр можно это в более реальном времени показывать всмысле скорости. Наверное
Скорость на GPS меряется в проекции, а скорость акселерометром будет мерятся реальная. Уточнять можно только по двум осям.

Но нафига вам скорость в проекции? Она совпадает с реальной скоростью только в горизонатльных участках. Ехать по ней не льзя, менты оштрафуют на раз.
потом попробую собрать, посмотреть на сколько это хорошо работает. Для велика пригодится. Пока в закладки добавил
Для велосипеда лучше купить нормальный спидометр, вычисляющий скорость в зависимости от размеров колеса и интенсивности оборотов, точность и трясоустойчивость значительно выше, чем с акселерометром, цена 250р за беспроводной вариант.
UFO just landed and posted this here
Ну, поэтому и пишу — что использование только акселерометра накладывает ограничения. Если задействовать магнитный компас и гироскоп — то да. Если гонять зигзагами — то будет добавляться цетрабежная сила, например.
Кстати, в SDK 2.3 есть такой виртуальный сенсор — TYPE_LINEAR_ACCELERATION, и он, вроде бы, должен делать то, что надо — с использованием гироскопаи магнитного компаса. Я три дня убил, пытаясь понять, что за ерунду он мне выдает — не смог. Что-то там не то гугловцы намутили, ерундна вместо данных.
Если интересно — вот линк на stackoverflow, где я недоумеваю по этому поводу:
Блин, линк не показывается, видать чего-то мне не хватает чтоб линки постить.
Android TYPE_LINEAR_ACCELERATION sensor — what does it show? тема называется там
Зачем же вы столько кода навставляли? Про алгоритм — вообще ни слова. Лучше бы в одном абзаце написали, как именно вы преобразовываете значение акселерометра в расстояние, а закодить — это уже дело техники.
Алгоритм прост:
v = v0 + at
S = v0t + at*t/2

Про код: часто людям удобней сделать копипаст кода, и чуток подправить его под себя, чем кодить по описанному алгоритму.
Мне проще алгоритм использовать. Я например пишу для контроллеров, а там с++ не используется.
Фу как некрасиво код оформлен. И в предыдущем комментарии правильно было подмечено, что нужно было просто рассказать, как с помощью измерения ускорения измерять скорость и пройденное расстояние. В принципе, это та же ИНС, просто на убогеньком акселерометре.
В рот мне ноги!!! Где же подсветка синтаксиса?!
Сделал, сделал!!! Меня смутила в редакторе кнопочка - наводит на мысль, что именно ей положено пользоваться.
На мой вгляд ценнее и интереснее было бы описание математики и блоксхемы программ, чем неявные куски кода. Акселерометры стоят везде и не все кодят на с++, а алогритм добавил бы универсальности!
ага, тем более, что тут java.
Ну вот. Что мешало рассказать подробнее?
Ну наконец-то лично промеряю все перегоны в метро.
Абсолютно бесполезная статья. То, что для измерения скорости надо дважды проинтегрировать ускорение, даже школьники знают. А почитать API и примеры можно и в SDK. Вы бы про самое главное написали, — про точность измерений, реальные примеры и как её улучшить. Хотелось бы увидеть ваши результаты.

Я когда решал подобную задачу, так и не добился более-менее приемлимой точности, даже зная точную ориентацию датчика по гироскопам. Дважды проинтегированный шум датчика с учетом постояно действующего огромного вектора 1G — это не шутка, знаете ли.
Спасибо на добром слове. Однако, точность датчика внушает уважение. В режиме покоя погрешность не превышает 0.05 м\с2, это довольно круто. Вообще, акселерометры — довольно совершенные приборы, в наше время.
Измерения, которые я проводил, ограничены неровностью дорог. Однако, на _почти_ идеальных траекториях скорость по программе совпадала со скоросьтю на спидометре.
Метод повышения точности — проецирование вектора на каждом участке на вектор среднего ускорения на всем пути, другого не придумал пока.
UFO just landed and posted this here
А можно хоть ознакомится с примером?
По заявкам трудящихся — вот график разгон аавтомобиля, два измерения: синенькая линия — данные с акселерометра, красненькая- с GPS. У GPS беда — лаги (хоть и пытаюсь их отслеживать, но пока не понял как это лучше делать, и неравномерносьт — то есть новая точка, то нет (хотя показания снимаются с максимальнйо частотой)). Черненькой полосочкой отмечена скорость, засеченная с помощью спидометра на момент окончания измерения.

Как видите, для анализа процесса разгона акселерометр интересней чем GPS.
image

А чем закончилось? Приложение появилось?
Скоро, очень скоро:)
Интересно как потребляет батарею акселерометр? Меньше чем GPS? В каких порядках…
Sign up to leave a comment.

Articles