Rollercoasters as a Data Source
I recorded three-axis accelerometer data for two different rollercoasters and graphed it in Excel. In theory one could reconstruct a coaster's path through space using this in conjunction with gyroscope information. Alas, my phone lacks a gyroscope so I was unable to capture rotation (i.e., roll, pitch, yaw). In practice the +/- 2g limit on accelerometer range makes it impossible to capture the full range of forces on a modern rollercoaster achieving 4g peak acceleration.
The green line represents the vertical axis (more or less, as the phone was in my pocket rather than a calibrated mounting bracket). By looking at these two graphs, you can probably guess which is a modern steel coaster and which is a bumpy wooden machine. Clicking on a graph will play a ride-along video of that coaster.
An existing open-source Android app was hacked a bit to customize its recording of sensor data to a CSV file. Modifications consisted primarily of making the app record even when the phone is locked (wake lock). Further development of the data-recording aspect of this project has been put on hold until the next time I have both an annual park pass and a phone with gyroscopes, but improvements to the visualization aspect are planned (see below).
The 2g range limit of the accelerometer used in my phone is apparently configured by the device driver, as the sensor itself supports multiple ranges up to 8g. Android probably uses the 2g range to get decent sensitivity in the normal working range. There was also a large amount of timing jitter in the data, likely due to background processing on the phone. Overcoming these limitations would be important for creating a more robust data-recording system.
Embedding multiple YouTube videos is easy, but getting them to show, play, hide, and pause the way I wanted was the only challenging part of this page. A planned enhancement will synchronize the graph with video playback to highlight the relevant events.