inertial navigation on android
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Inertial navigation on android](https://reader035.vdocument.in/reader035/viewer/2022062302/5681658a550346895dd84fa5/html5/thumbnails/1.jpg)
INERTIAL NAVIGATION ON ANDROID
Industrial project - Qualcomm
Students: Gal Ferrera & Yam ZamirMasters: Constantine Elster & Dan Vardi
![Page 2: Inertial navigation on android](https://reader035.vdocument.in/reader035/viewer/2022062302/5681658a550346895dd84fa5/html5/thumbnails/2.jpg)
CONTENT Objective. Goals. Demo Methodology Implementation and
examples Conclusions.
![Page 3: Inertial navigation on android](https://reader035.vdocument.in/reader035/viewer/2022062302/5681658a550346895dd84fa5/html5/thumbnails/3.jpg)
OBJECTIVE
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 navigator that failed to capture movement while hand held.
![Page 4: Inertial navigation on android](https://reader035.vdocument.in/reader035/viewer/2022062302/5681658a550346895dd84fa5/html5/thumbnails/4.jpg)
GOALS Develop and validate an algorithm that tracks
handheld cellphone movement using only offline phone sensors (no GPS, internet).
Integration of the algorithm to an android application.
![Page 5: Inertial navigation on android](https://reader035.vdocument.in/reader035/viewer/2022062302/5681658a550346895dd84fa5/html5/thumbnails/5.jpg)
DEMO
![Page 6: Inertial navigation on android](https://reader035.vdocument.in/reader035/viewer/2022062302/5681658a550346895dd84fa5/html5/thumbnails/6.jpg)
METHODOLOGY 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
![Page 7: Inertial navigation on android](https://reader035.vdocument.in/reader035/viewer/2022062302/5681658a550346895dd84fa5/html5/thumbnails/7.jpg)
BRIEF EXPLANATION
![Page 8: Inertial navigation on android](https://reader035.vdocument.in/reader035/viewer/2022062302/5681658a550346895dd84fa5/html5/thumbnails/8.jpg)
TEST PLAN DESCRIPTION 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.
![Page 9: Inertial navigation on android](https://reader035.vdocument.in/reader035/viewer/2022062302/5681658a550346895dd84fa5/html5/thumbnails/9.jpg)
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)
![Page 10: Inertial navigation on android](https://reader035.vdocument.in/reader035/viewer/2022062302/5681658a550346895dd84fa5/html5/thumbnails/10.jpg)
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
![Page 11: Inertial navigation on android](https://reader035.vdocument.in/reader035/viewer/2022062302/5681658a550346895dd84fa5/html5/thumbnails/11.jpg)
PREVIOUS PROJECT - ORIGINAL
1750 1800 1850 1900 1950 2000 2050 2100
-5
0
5
10
15
20Yam, Hand Held, 33 StepsPrevious Project Step Detected Raw Data
Time
Sign
al
![Page 12: Inertial navigation on android](https://reader035.vdocument.in/reader035/viewer/2022062302/5681658a550346895dd84fa5/html5/thumbnails/12.jpg)
PREVIOUS PROJECT – REDUCED THRESHOLD
1750 1800 1850 1900 1950 2000 2050 2100
-5
0
5
10
15
20Yam, Hand Held, 33 Steps
Previous Project Step Detected, Corrected Raw Data
Time
Sign
al
![Page 13: Inertial navigation on android](https://reader035.vdocument.in/reader035/viewer/2022062302/5681658a550346895dd84fa5/html5/thumbnails/13.jpg)
ALTERNATIVE IMPLEMENTATION- BASIC ALGORITHM
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.)
![Page 14: Inertial navigation on android](https://reader035.vdocument.in/reader035/viewer/2022062302/5681658a550346895dd84fa5/html5/thumbnails/14.jpg)
ALTERNATIVE IMPLEMENTATION- FFT FLOW
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
![Page 15: Inertial navigation on android](https://reader035.vdocument.in/reader035/viewer/2022062302/5681658a550346895dd84fa5/html5/thumbnails/15.jpg)
ALTERNATIVE IMPLEMENTATION- FFT DETAILS
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.
![Page 16: Inertial navigation on android](https://reader035.vdocument.in/reader035/viewer/2022062302/5681658a550346895dd84fa5/html5/thumbnails/16.jpg)
ALTERNATIVE IMPLEMENTATION- FFT EXAMPLE
2700 2720 2740 2760 2780 2800 2820 2840
-5
0
5
10
15
20Gal, Hand Held, 29 Steps
Filtered FFT Unfiltered Step Detected
Time
Sign
al
![Page 17: Inertial navigation on android](https://reader035.vdocument.in/reader035/viewer/2022062302/5681658a550346895dd84fa5/html5/thumbnails/17.jpg)
ALTERNATIVE IMPLEMENTATION- KALMAN BACKGROUND
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
![Page 18: Inertial navigation on android](https://reader035.vdocument.in/reader035/viewer/2022062302/5681658a550346895dd84fa5/html5/thumbnails/18.jpg)
ALTERNATIVE IMPLEMENTATION- KALMAN FLOW
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)
![Page 19: Inertial navigation on android](https://reader035.vdocument.in/reader035/viewer/2022062302/5681658a550346895dd84fa5/html5/thumbnails/19.jpg)
ALTERNATIVE IMPLEMENTATION - KALMAN DETAILS
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
![Page 20: Inertial navigation on android](https://reader035.vdocument.in/reader035/viewer/2022062302/5681658a550346895dd84fa5/html5/thumbnails/20.jpg)
ALGORITHM DETAILS - KALMAN Filtering example:
2500 2520 2540 2560 2580 2600 2620 2640 2660 2680 2700
-5
0
5
10
15
20Yam, Hand Held, 33 Steps
Filtered Kalman Unfiltered Step Detected
Time
Sign
al
![Page 21: Inertial navigation on android](https://reader035.vdocument.in/reader035/viewer/2022062302/5681658a550346895dd84fa5/html5/thumbnails/21.jpg)
SUMMARIZED RESULTS Subject Holding
position Filter Steps made (doubles) Steps Detected Difference Distance
CalculatedDistance Difference(42)
1 Gal Hand Kalman 27 53 26 65 23
2 Gal Hand Kalman 30 55 28 65 23 3 Gal Hand FFT 27 28 1 36 64 Gal Hand FFT 30 30 0 36 6 5 Gal Waists Kalman 29 66 36 89 476 Gal Waists FFT 29 30 1 43 1 7 Yam Hand Kalman 32 57 25 67 258 Yam Hand Kalman 33 72 39 83 419 Yam Hand FFT 32 31 1 38 410 Yam Hand FFT 33 33 0 42 011 Yam Waists Kalman 30 98 68 129 8712 Yam Waists FFT 30 29 1 49 713 Gal Hand Previous proj. 27 11 16 14 28
14 Gal Hand Previous proj. 30 11 19 13 29
15 Gal Waists Previous proj. 29 57 28 78 78
16 Yam Hand Previous proj. 32 30 2 36 6
17 Yam Hand Previous proj. 33 24 9 29 13
18 Yam Waists Previous proj. 30 70 40 100 58
![Page 22: Inertial navigation on android](https://reader035.vdocument.in/reader035/viewer/2022062302/5681658a550346895dd84fa5/html5/thumbnails/22.jpg)
CONCLUSIONS 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
![Page 23: Inertial navigation on android](https://reader035.vdocument.in/reader035/viewer/2022062302/5681658a550346895dd84fa5/html5/thumbnails/23.jpg)
WHAT’S NEXT… Wavelet-Filter instead of FFT Add a minimal-progress-algorithm to step-
detection More testing on the step length algorithm
![Page 24: Inertial navigation on android](https://reader035.vdocument.in/reader035/viewer/2022062302/5681658a550346895dd84fa5/html5/thumbnails/24.jpg)
TO BE CONTINUE……
A divine app that navigates superbly indoor!!!1
![Page 25: Inertial navigation on android](https://reader035.vdocument.in/reader035/viewer/2022062302/5681658a550346895dd84fa5/html5/thumbnails/25.jpg)
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.