260 likes | 520 Views
Inertial navigation on android. Industrial project - Qualcomm S tudents: Gal Ferrera & Yam Zamir Masters: Constantine Elster & Dan Vardi. Objective. Goals . Demo Methodology Implementation and examples Conclusions . content.
E N D
Inertial navigation on android Industrial project - QualcommStudents: Gal Ferrera & Yam ZamirMasters: Constantine Elster & Dan Vardi
Objective. • Goals. • Demo • Methodology • Implementation and examples • Conclusions. content
The need of a device that navigates indoor (in a mall, parking lot, etc..) is obvious. • Currently at the market, there is no good solution for indoor navigation. • The prior project designed a navigatorthat failed to capture movement while hand held. objective
Develop and validate an algorithm that tracks handheldcellphone movement using only offline phone sensors (no GPS, internet). • Integration of the algorithm to an android application. Goals
Read related articles • Research the full-inertial-navigation solution • Build a test plan • Analyze previous project solution • Detect failure points • Check possible solutions • Propose alternative implementation Methodology
Test recordings description: • four Hand Held measurements of two different individuals • two of Gal • two of Yam • two Waists Held measures of two different individuals • one of Gal • one of Yam. • All measurements was committed on the same platform • The movement was committed in a direct line on a flat platform • The distance was 42m. Test plan description
Previous Project - analysis • The basic workflow of the previous project: • Detect step and estimate it’s size • Find direction • Produce a vector using movement size and direction • Pedometer Implementation • Find vertical and forward axes • For every axis, detect the step pattern (there is a use of threshold on the average line)
Previous Project - analysis • Failure in step-detection during hand-held movement • there is an assumption that the acceleration amplitude is much higher then the noise amplitude • There is a use of two movement axis instead of a dominant one while step detecting • Suggested solutions • Use basic filters (moving average, median on every 5 samples) • reduce the average line threshold
Detect vertical acceleration axis • Filter the raw data (FFT, Kalman, Wavelet-meyer) • Detect the step pattern • Tenderize using known pattern properties (Time-duration, length, progress, etc.) Alternative implementation- Basic Algorithm
Filter flow: • Collect one second data in a buffer. • Run on the buffer. • Filter frequencies out of [1, 5]Hz. • Run on the results. • Commit floor to get round numbers Alternative implementation- fft Flow
Filter parameters: • Based on article research, there are 1-5 steps in a second while walking. • As a result, the FFT filters allow frequencies from 1Hz to 5Hz. • From the need to lower the filter delay, and still not to lose the low frequency steps, we set the time window to one second. • For our step pattern matching, we set the signal average to 0. Alternative implementation- fftdetails
Alternative implementation- KalmanBackground • Kalman filter finds the most optimum averaging factor for each consequent state. The equations: • - kalman gain • - axis sample • - previous estimation • There are a couple of parameters that need to be calibrated • A - The estimated factor to the current system. Influent the prediction calculation • Q – The estimated error covariance prediction noise. Influent the prediction calculation • R – The estimated environment noise. Influent the kalman-gain • C – The estimated ratio between the kalman estimation to the sample. Influent the kalman-gain
Alternative implementation- KalmanFlow • Filter the sample using kalman • Every 50 samples collect an average on the filtered samples (moving average) • If walking occurred (if the acceleration amplitude is “high enough”) • Search for the step pattern (using the filtered the data and the average line that was calculated in the previous section)
Alternative implementation - Kalmandetails • The implementation just on one axis (one dimension) • Average of every 50 sample was suggested in an article called“Full-Featured Pedometer Design Realized with 3-Axis Digital Accelerometer” • The parameters evaluation was decided according to test records results(the parameters that with them the results was the most accurate) • A = 0.9 • Q = 0.001 • R = 0.1 • C = 1 • During the implementation we encountered difficulties in detecting the average line
Filtering example: Algorithm details - Kalman
The step’s acceleration pattern still exist while hand-held • There is a dominant movement axis that less effected by noise • Using a suitable filter it is possible to remove most of the noise distortion • It is still necessary to verify the step-detection using some “progress-detection” component Conclusions
Wavelet-Filter instead of FFT • Add a minimal-progress-algorithm to step-detection • More testing on the step length algorithm What’s Next…
A divine app that navigates superbly indoor!!!1 To be continue……
Milestones • Week 4: record raw sensors data of 5 different paths of 15m and two different round paths. • Week 5 - 8: suggest a compatible algorithm test it (on the recorded data) and find the most suitable. • Week 9 - 11: test the algorithm on the android platform with real-time data • Week 12 - 13: integrate the algorithm to the android application.