Digital compass
tiagotiago (Talk | contribs) (→Alternatives to a digital compass: GPS motion : "Ignores the orientation of the device (e.g. if you're walking backwards the map will be upside down)") |
(wikify slightly) |
||
Line 3: | Line 3: | ||
'' See also [[Orrery]], a night-sky viewer which also can be used as a digital compass'' | '' See also [[Orrery]], a night-sky viewer which also can be used as a digital compass'' | ||
- | = Why a compass is needed = | + | == Why a compass is needed == |
- | == Augmented Reality (AR) == | + | |
+ | === Augmented Reality (AR) === | ||
+ | |||
* GPS gives location of device; compass gives orientation | * GPS gives location of device; compass gives orientation | ||
* Allows pointing the device and getting information relevant to the pointed direction | * Allows pointing the device and getting information relevant to the pointed direction | ||
* E.g. Layar, Wikitude | * E.g. Layar, Wikitude | ||
- | == Navigation == | + | |
+ | === Navigation === | ||
+ | |||
* Car navigation | * Car navigation | ||
* On-foot navigation | * On-foot navigation | ||
** Map rotation | ** Map rotation | ||
- | = Connection options = | + | == Connection options == |
* Optical (use one of the cameras, plus image processing) | * Optical (use one of the cameras, plus image processing) | ||
Line 33: | Line 37: | ||
** There used to be some GPS:s on Flash-type expansion cards. How about a compass? | ** There used to be some GPS:s on Flash-type expansion cards. How about a compass? | ||
- | = Compass chips or sensors = | + | == Compass chips or sensors == |
+ | |||
* Honeywell HMC5843 | * Honeywell HMC5843 | ||
** I2C interface | ** I2C interface | ||
Line 39: | Line 44: | ||
* Dinsmore analog | * Dinsmore analog | ||
- | = Ready-built compass modules = | + | == Ready-built compass modules == |
+ | |||
* Ocean Server OS4000 | * Ocean Server OS4000 | ||
* Ocean Server OS5000 | * Ocean Server OS5000 | ||
** USB and RS232 interface | ** USB and RS232 interface | ||
- | = Microcontrollers = | + | == Microcontrollers == |
+ | |||
+ | == Converters == | ||
- | |||
* I2C to RS232 | * I2C to RS232 | ||
** http://www.gedanken.demon.co.uk/rs232-converters/i2c.html | ** http://www.gedanken.demon.co.uk/rs232-converters/i2c.html | ||
Line 57: | Line 64: | ||
** http://www.emv-electronics.com/de/intro/i2cbusadapter.htm (seems unavailable for purchase) | ** http://www.emv-electronics.com/de/intro/i2cbusadapter.htm (seems unavailable for purchase) | ||
- | = Designs = | + | == Designs == |
- | == Optical image processing of compass == | + | |
+ | === Optical image processing of compass === | ||
+ | |||
* Periscope-like mirror | * Periscope-like mirror | ||
- | == Ready-made RS232 compass modules with RS232-Bluetooth conversion == | + | |
- | == Custom board designs == | + | === Ready-made RS232 compass modules with RS232-Bluetooth conversion === |
+ | |||
+ | === Custom board designs === | ||
+ | |||
This MIT project from 2002 designs a custom bluetooth digital compass http://web.mit.edu/dtfg/www/research/compass/index.html | This MIT project from 2002 designs a custom bluetooth digital compass http://web.mit.edu/dtfg/www/research/compass/index.html | ||
- | == Attaching another compass and Bluetooth/WiFi capable phone == | + | |
+ | === Attaching another compass and Bluetooth/WiFi capable phone === | ||
+ | |||
Instead of spending money and time to buy all necessary parts and develop a custom solution, buy the cheapest used Android phone on eBay (G1/Dream, Tattoo?), attach it to the back of N900 with two elastic bands, but without covering the camera lens. Then create an App on the Android phone that just transmits compass coordinates via Bluetooth/WiFi. | Instead of spending money and time to buy all necessary parts and develop a custom solution, buy the cheapest used Android phone on eBay (G1/Dream, Tattoo?), attach it to the back of N900 with two elastic bands, but without covering the camera lens. Then create an App on the Android phone that just transmits compass coordinates via Bluetooth/WiFi. | ||
- | = Alternatives to a digital compass = | + | == Alternatives to a digital compass == |
+ | |||
* Use GPS motion to determine direction | * Use GPS motion to determine direction | ||
** Only useful for navigation, not AR | ** Only useful for navigation, not AR | ||
Line 80: | Line 95: | ||
** But for navigation or rotating maps, it could work: just glance at the optical compass, then drag the map icon to match the orientation. | ** 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: | * Combined GPS/optical compass for daytime use: | ||
- | ** Use GPS location and time info to calculate current sun location (The orrery app will do this, | + | ** Use GPS location and time info to calculate current sun location (The orrery app will do this, for the sun, moon, planets etc) |
- | for the sun, moon, planets etc) | + | |
** Let user optically align to visible sun | ** Let user optically align to visible sun | ||
[[Category:Brainstorm]] | [[Category:Brainstorm]] | ||
[[Category:N900 Additional Hardware]] | [[Category:N900 Additional Hardware]] |
Revision as of 10:36, 16 August 2010
All information pertains to the N900.
See also Orrery, a night-sky viewer which also can be used as a digital compass
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
- Both cameras cannot be used at the same time - and the front camera is lower quality.
- 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
- Possibly a Bluetooth stereo microphone (Sony ECMHW1) could send the Sin,Cos signals from an analog compass sensor (Sensor 1525, www.dinsmoresensors.com) to the N900. Direction would then be determined essentially by arctan2 and possibly low pass filtering for noise reduction.
- FM radio
- Requires headphones be connected
- Signal processing of audio in software
- MicroSD card
- There used to be some GPS:s on Flash-type expansion cards. How about a compass?
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
This MIT project from 2002 designs a custom bluetooth digital compass http://web.mit.edu/dtfg/www/research/compass/index.html
Attaching another compass and Bluetooth/WiFi capable phone
Instead of spending money and time to buy all necessary parts and develop a custom solution, buy the cheapest used Android phone on eBay (G1/Dream, Tattoo?), attach it to the back of N900 with two elastic bands, but without covering the camera lens. Then create an App on the Android phone that just transmits compass coordinates via Bluetooth/WiFi.
Alternatives to a digital compass
- Use GPS motion to determine direction
- Only useful for navigation, not AR
- Does not work if standing still
- Ignores the orientation of the device (e.g. if you're walking backwards the map will be upside down)
- 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 (The orrery app will do this, for the sun, moon, planets etc)
- Let user optically align to visible sun