Asked — Edited

Ic2 Gps For Robot

I have been thinking about adding on board navigation to my robot. I think a compass is the first step and there is a good tutorial and suggest part for that, but the other part of the equation is a GPS reciever and connecting one to the EZ-B seems to be an area of concern. I have run across some new parts parts that seem to make it possible to connect a GPS unit to the EZ-B through the I2C Bus. They apparently read the GPS data stream and put the GPS information into registers in an on board processor that can be read by the I2C bus. Anyone have any experience with these and could there someday be built in support for one in ARC.

The parts are coming out of the Quadcopter market. The name I am seeing alot is MULTIWII. Firmware for the onboard processor appears to be opensource.

Unit range form complete solutions such as:

http://www.flytron.com/sensors/180-i2c-gps-for-multiwii-and-others.html

To partial solution like:

http://dx.com/p/i2c-gps-nav-module-navigation-adapter-board-blue-149339?tc=USD&gclid=CMjR-fOY9rkCFeI-Mgod0hEAaA

I don't really want to put a PC onboard my robot if I can avoid it just to get navigation.

Sorry for the Error in the Title of the Question. It should be I2C not IC2.


ARC Pro

Upgrade to ARC Pro

Discover the limitless potential of robot programming with Synthiam ARC Pro – where innovation and creativity meet seamlessly.

#1  

I was initially thinking of something along these lines as an i2c gps module.

http://dsscircuits.com/i2c-gps-stick-new.html

The data sheet indicates it puts the gps data into registers that are readable from i2c.

http://dsscircuits.com/images/datasheets/I2C%20GPS%20Stick%20Datasheet%20(PRELIMINARY).pdf

I have also seen arduino shields that have the same setup.

I have no experience with i2c so I can't guess if this is a reasonable approach or not. I have seen some examples of ARC scripts which indicate that it could be scripted.

Thoughts anyone?

United Kingdom
#2  

Yes it could be scripted. I haven't even looked at the links but provided it's I2C then you can use the I2CRead command to pull the data, store it as a variable

i.e.

$gpsx = I2CRead(0, auto, 0xee, 1)
$gpsy = I2CRead(0, auto, 0xee, 2)
$gpsz = I2CRead(0, auto, 0xee, 3)

Loop that around and the GPS data is constantly refreshed and saved as the variables.