Friday, November 7, 2008

As a follow up, the Android platform turns out to be uniquely suited to our application. Other platforms (J2ME, the iPhone) have accelerometer support, but other issues would prevent us from working on those platforms. The iPhone has no compass, and although J2ME does support an accelerometer and a compass, we have found that its permission scheme is too restrictive. The Android platform supports an accelerometer and a compass while allowing full privileges to self-signed code.

The compass gives us two options for location tracking on the Android. Step counting is one option, and perhaps we could even reuse our FFT code when keeping track of step frequency. The second option would be a somewhat more straightforward sampling of the acceleration of the phone. We would keep track of the acceleration perpendicular to gravity, get a velocity from that value, and finally we would get a displacement from the velocity. Because accelerometers were not designed for our purposes, we might need to employ both step-counting and numeric integration to keep a somewhat accurate position. Further, it might be necessary to set up Braille 'check points' with simple codes inside buildings, where the user could enter their location manually.

No comments: