Reputation: 1163
I have been trying to develop a Pedestrian Dead Reckoning application for Android, and after taking care of the step detection and step length components, I have decided to tackle the orientation determination problem.
After stumbling on a couple of posts regarding coordinate transformation (and even chatting with a frequent answerer), I have been getting gradually better results, but the are still some things that bother me.
I walked forward Northward, turned back, and walked back Southward. Repeated the procedure towards West , then East.
I expected, while walking straight in several directions, to have values of the X and Y values oscillate with the footsteps, and have a relatively stable Z value throughout. Instead, the Y values behave this way, with the Z value having its expected behavior. How come? Does it have anything to do with me not using remapCoordinates()? (see Graph 1)
I expected the angle plots to jump around 180º and -180º, but why do they also do it around 35º? (see Graph 2)
World Reference Gravity Acceleration (blue is X, red is Y, green is Z)
World Reference Gravity Angles (blue is atan2(Y/X), red is atan2(Z/Y) and green is atan2(Z/X) )
Orientation Values (blue is azimuth, red is pitch and green is roll)
Upvotes: 0
Views: 475