Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
349 views
in Technique[技术] by (71.8m points)

calculating distances using accelerometer

After reading many researches and papers beside to many forums about how to measure the distance based on the acceleration data I found the double integration method, but the error related to this method is big and increases by time. In addition I found some people who suggested Kalman filter I read some references about it but it was not clear to me how to use it. also some were talking about the fusion sensors ... but after reading them I did not get any new ideas. so I am still confused and I did not find the right answer to follow .... sorry for this long introduction.


Question

Let us consider that I hold 9-axis sensor in my hand and I move my hand in some direction, how I can find the new position of my hand in the space? how to obtain motion vector from the initial point to the new point I mean how to know the passed distances on three axes?

If there is no direct answer ... some advises or references would be great or some algorithms that give an accurate answers and I can study and use it by myself. thank you very much

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

The short answer to your question is you can't do it.

The double integration method is really the only way to get the information you are looking for using only an accelerometer. You found the problem with this method. The error increases over time and generally doesn't give the accuracy many are looking for.

Kalman filtering usually requires 2 devices and basically takes the best of both devices and filters out the bad. See example below.

Kalman filtering is a really tough subject that I tried to dive into for senior design, but never found any meaningful results with my limited testing. A great place to start understanding this subject is with this youtube video series .

This is the guy that won the DARPA challenge with Stanford and explains the topic in an easy to understand way. The whole course is a 6 unit video series about programming robots to move and understand their location in an unknown environment. Worth a watch if you have the time and interest.

It sounds like you're trying to do something similar to what I did for senior design in give really specific relative location information.

Another great Kalman filtering read this (if this link doesn't work google Kalman filter balance bot and click the TKJ blog link). Basically this guy uses an accelerometer and gyroscope to track orientation in the real world.

Something else to look into wiki Real Time Kinematic. This goes on tractors and combines to provide really accurate location information. John Deere sells a system, but it's like $20,000. Here is the poor man's version using GPS and beagleboard


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...