I am trying to record tracks at a much finer scale than is possible with GPS, but hopefully using something simple and cheap, ideally an iPhone. The resolution for track data I am after is around 10-20cm.
The location of the track, and even the scale is not as important as the fine details of the shape of the track.
What I have in mind as the ideal solution is an iPhone app that uses the camera in conjunction with the other sensors to record a track in a similar way to an optical mouse detecting movement over a desk's surface.
So you would hold the phone with the camera facing down and walk the track. The app would trace the moving surface and infer where it is going, using the gyroscope and accelerometer to help correct for tilting the camera. It would also use the gyro and to a lesser extent the compass to help correct and detect the turns in the track. The height of the phone off the ground I don't think could be sensed or inferred but you could just enter that and hold it carefully at a consistent height. The LED could be on to aid detection through shadows.
If you happen to be walking in a track that finished where it started, you could mark that in some way to close the loop and it would try and correct it if the ends didn't meet up, and if you walked a long way, perhaps over 50 meters, it could also use GPS data to calibrate the scale of the track, but probably not really contribute much to the details of the track's geometry.
So does something like this even exist in any form for iPhone or otherwise? Is there anything which is simpler, e.g., it just uses the gyro/compass and a pedometer-style measurement method?