A State Estimation Final Project by Meredith Bloss and Ava Fascetti
Currently, most runners use GPS data to estimate where they ran. However, as seen in the image below, this tracking of distances can be inaccurate, especially around a smaller geographical footprint like a track. The track is a known shape and thus it is clear to see that the logged GPS running path is not consistent with the physical path that is known. While GPS data is generally accurate enough for recreational running, this accuracy drops sharply on trails and where there is a lot of turning. This makes track-based runs especially susceptible to path errors. In the picture below, the GPS data suggests that the runner went out beyond the outer lanes of the track when the subject was in the innermost lane for the duration of the run [Bloss, 2022].
This inaccuracy in current methods of path tracking is not desirable as it misrepresents how far people are actually running. This causes inaccuracies in comparing groups of runners and makes it harder to automatically track workout distances. This leads runners to default to manually adding up each interval (around a track) rather than using the supposedly easier method of using their tracking app, which is inconvenient when runs are time-based and thus the real distance is unknown. It also means that runners cannot use the automatic pace calculation on smartwatches because the GPS-based distance is inaccurate and thus the calculated speed will be inaccurate.
We seek to:
perform state estimation around a track that is more accurate than GPS data that popular running apps like Strava use
Input measurements:
x direction acceleration, heading velocity, GPS latitude and longitude
Where our input measurements come from:
iPhone accelerometer and gyroscope, running smartwatch
State variables being estimated:
x and y position, x and y velocity, heading
State variables we REALLY care about:
x and y position
Shown below is a figure detailing the definition of heading for this project. Heading is calculated as the arctan of the change in y position over the change in x position at every time step. Also included is the definition of where (0,0) is located on the track.