Ускорение до скорост до изместване

Работя върху приложение, което трябва да определи човешката дейност, използвайки акселерометър и жироскоп или едно от тези устройства.

Определям ускорението с помощта на сензори на моя телефон. След това използвам този тип интегриране, за да получа скоростта и изместването.:

Това означава, че вземам първата стойност на ускорението, умножавам по следващата стойност, разделям на 2 и умножавам по времето между измерванията. Така че получавам трапеца, който определя скоростта в момента от време. След това добавям целия трапец, за да получа скоростта. Същото и с Displacement, но този метод е ужасен. Но това не е всичко...

Акселерометърът прави непредсказуем резултат!

Телефонът се движи нагоре и надолу

въведете описание на изображението тук

Телефонът пада и се издига

въведете описание на изображението тук

Въпросите:

  1. Има ли някакъв начин да се избегне огромна грешка при интегриране?
  2. Има ли друг начин да се получи скорост от ускорение?
  3. Правилни ли са данните ми от акселерометъра (телефонът се повдига или пада, как мога да определя това)?
  4. Как мога да съм сигурен за изхода му (мога ли да го проверя по някакъв начин)?

person Animus    schedule 09.06.2014    source източник
comment
вместо да умножавате, не трябва ли да съберете тези две стойности?   -  person pskink    schedule 10.06.2014
comment
@pskink Това беше грешка в тази снимка, добавям тези стойности =)   -  person Animus    schedule 11.06.2014
comment
Това означава, че вземам първата стойност на ускорението, умножавам по следващата стойност, разделям на 2 и умножавам по времето между измерванията. също ли е грешка? изглежда, че вашата скорост винаги е положителна   -  person pskink    schedule 11.06.2014
comment
@pskink. Не, разбира се. Когато acc е отрицателен, имам: ((neg-neg2)/2)*Ts.   -  person Animus    schedule 11.06.2014


Отговори (1)


Можете да опитате филтриране на Калман. Вижте напр. http://en.wikipedia.org/wiki/Kalman_filter

person Courier    schedule 24.06.2014