Digital compass
(→Alternatives to a digital compass) |
|||
Line 64: | Line 64: | ||
** E.g. artoolkit | ** E.g. artoolkit | ||
** Still you cannot get absolute orientation of device | ** Still you cannot get absolute orientation of device | ||
- | * Initialized orientation + delta orientations | + | * Initialized orientation + delta orientations (dead reckoning) |
** Maybe you can initialize the device to a known orientation (e.g. straight north), then use optical flow and/or accelerometer data to extrapolate subsequent orientations | ** Maybe you can initialize the device to a known orientation (e.g. straight north), then use optical flow and/or accelerometer data to extrapolate subsequent orientations | ||
* Optical compass + manually dragging an on-screen compass to match | * Optical compass + manually dragging an on-screen compass to match |
Revision as of 09:25, 8 November 2009
All information pertains to the N900.
Contents |
Why a compass is needed
Augmented Reality (AR)
- GPS gives location of device; compass gives orientation
- Allows pointing the device and getting information relevant to the pointed direction
- E.g. Layar, Wikitude
Navigation
- Car navigation
- On-foot navigation
- Map rotation
Connection options
- Optical (use one of the cameras, plus image processing)
- Best to use user-facing camera, so the world-facing can be used for capturing the world image for AR
- USB
- Unknown if USB host possible.
- Unknown if power is available from USB.
- IrDA
- Is unsupported at this point. The device only has an CIR transmitter.
- Bluetooth
- Bluetooth data
- Bluetooth audio - sending analog signals via Bluetooth microphone for digital signal processing on the N900
- FM radio
- Requires headphones be connected
- Signal processing of audio in software
Compass chips or sensors
- Honeywell HMC5843
- I2C interface
- Magnetometer requires vector math on client side for interpretation, see OpenMoko i2c compass project for more info
- Dinsmore analog
Ready-built compass modules
- Ocean Server OS4000
- Ocean Server OS5000
- USB and RS232 interface
Microcontrollers
Converters
- I2C to RS232
- RS232 to Bluetooth
- Sparkfun BlueSmiRF Gold
- I2C to USB
- I2C to Bluetooth
- http://www.emv-electronics.com/de/intro/i2cbusadapter.htm (seems unavailable for purchase)
Designs
Optical image processing of compass
- Periscope-like mirror
Ready-made RS232 compass modules with RS232-Bluetooth conversion
Custom board designs
Alternatives to a digital compass
- Use GPS motion to determine direction
- Only useful for navigation, not AR
- Does not work if standing still
- Use image processing for AR
- E.g. artoolkit
- Still you cannot get absolute orientation of device
- Initialized orientation + delta orientations (dead reckoning)
- Maybe you can initialize the device to a known orientation (e.g. straight north), then use optical flow and/or accelerometer data to extrapolate subsequent orientations
- Optical compass + manually dragging an on-screen compass to match
- Not automatic so some AR apps like games might not work
- But for navigation or rotating maps, it could work: just glance at the optical compass, then drag the map icon to match the orientation.
- Combined GPS/optical compass for daytime use:
- Use GPS location and time info to calculate current sun location
- Let user optically align to visible sun