Or is the hardware in smartphones too inaccurate even with the extra information?
Or is the hardware in smartphones too inaccurate even with the extra information?
The thing that should help the most would probably be the hall sensor/magnetometer/compass. That should output decent dead reckoning.
Doing this just with the gyroscope will work very well for short movements, but it will be close to useless on long, gentle curves. Unfortunately, those MEMS gyroscopes drift quite a lot over tens of seconds. Not a problem if you can do sensor fusion with the magnetometer (reckoning) and the accelerometer (where is "down"), but the latter can't be used on a fast train, acceleration/deceleration of the vehicle and forces in curves make finding gravity challenging. No idea how well a compass works inside a subway tunnel.
But maybe I'm wrong, I just have experience trying an "artificial horizon" app on an aircraft - and here, the accelerometer is completely useless for "down". A single maneuver with some Gs and the horizon has no idea what the pitch angle is. Noisy magnetic environment, GPS off? It also doesn't know where it's going.
It says they use the accelerometer for detecting the user's current mode of transportation, not the distance.
It says they use the train schedules to figure out the current location of the train, based on when it started moving and how long it's been moving.
They don't mention anything like dead reckoning anywhere, unless I missed it?
So focus on speed not acceleration.