Android акселерометр определить высоту? - PullRequest
4 голосов
/ 18 сентября 2011

Можно ли использовать акселерометр для определения высоты?Например, если я держу телефон на руке, а затем поднимаю руку после определения высоты?

Спасибо

Ответы [ 5 ]

5 голосов
/ 18 сентября 2011

Неточность акселерометра будет незначительной по сравнению с ошибкой, вызванной нестабильным акселерометром. Под этим я подразумеваю тот факт, что, перемещая телефон, вы не сможете удерживать акселерометр в идеальном положении, т. Е. Вы будете «естественно» вращать его вокруг продольной, боковой и азимутальной осей. Это означает, что вертикальное ускорение будет частично ощущаться по всем вышеуказанным осям и приведет к ошибке, если вы просто интегрируете двойное измерение вертикального ускорения.

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

Теоретически вы можете интегрировать выход акселерометра, но в реальном устройстве есть практические проблемы, которые вы должны преодолеть.

4 голосов
/ 18 сентября 2011

Предполагая, что вы хотите определить высоту, на которую телефон был поднят относительно начальной точки, да.Акселерометр Android измеряет силу, более подробную информацию о том, как ее использовать, можно найти здесь .Имейте в виду, что акселерометр не идеальное устройство, и поэтому ваши результаты будут приблизительными к тому, сколько телефон действительно был перемещен.

1 голос
/ 18 сентября 2011

Да, но вам нужно дважды интегрировать вывод и добавить две константы интегрирования - начальную скорость и смещение.

Rgds, Martin

0 голосов
/ 22 декабря 2016

Прежде всего, вы измеряете линейное ускорение и гравитацию вместе (также некоторый шум). Это значит, что при использовании акселерометра вы получите показания акселерометра = линейный акк.+ Gravity + Noise Здесь вам нужен только Linear Acc.но акселерометр читает все значения

...