Programming two arduino's with GPS shields to interact with eachother

Hi everyone,

My engineering projects group is building a product where the parent will have one receiver and the kid will have the other receiver. We want these two receivers to essentially "talk" with each other and when the child's receiver gets out of range, the parents receiver will beep to let them know there child is to far away. I guess you could call it a "leash-less child leash". We decided to get on Arduino Fio processor with the XB attached, another Arduino processor, and 2 GPS shields in order to do this. We were wondering what the best way to program this was.

Thank you for your time!

"Arduino Fio processor with the XB attached, another Arduino processor"

So you only have one Ardiuino with wireless comm's capability?

We want these two receivers to essentially "talk" with each other and when the child's receiver gets out of range, the parents receiver will beep to let them know there child is to far away.

Define "out of range".

If is based on the GPS coordinates being too far apart, how will you handle the inherent inaccuracy of the GPS data, and the discrepancy between the data reported by two different GPS units right next to each other?

How will you deal with the fact that GPS doesn't work indoors?

If you are using some other criteria to define out of range, what are the GPSs for?

How will you define what the limit is for in-range vs. out-of-range?

The RSSI value that the XBees report is very non-linear, so do not plan on using that as a distance gauge.

Here are some recommendations for you based off what you are trying to accomplish and assuming this will take place outdoors:

  • to define the "range" you'll need a starting position. Assuming this position is variable (taking the kid to a park, etc) you could trigger an initial geo fence (radius around a position) when you get to your location. Example: when you get to the park send a command to set the radius to 50 meters around the child. If the child leaves the circle an alarms sounds.

  • One of the problems you will run into is errors in position. In a clear sky the GPS is only accurate to a few meters. When the child goes indoors (close to windows), or under some trees or other obstructions your positioning accuracy will decline relative to obstructions. You'll need to factor this in when deciding whether or not to trigger the alarm. You can monitor any of the DOP (dilution of precision) values from the GPS to help with this decision. As the positioning precision decreases you will see an increase in the reported DOP values.

  • If you really want to get fancy you could implement some type of FIFO buffer on board that will maintain the last 20 or so GPS coordinates (depending on your sampling rate) so if the child takes off into the woods you cold try and extrapolate a basic heading using the stored coordinates.

Just my two cents!

It sounds like GPS may not be the best way to go. However this seemed like one of the easier ways to go about this project. What other parts should we be looking at?

Thank you!

If you search this forum, especially the Project Guidance section, you will see that this is a frequent activity that people would like to perform, and you will see that there really are no cheap, satisfactory solutions.