I'm trying to build a human tracking/following robot with the Arduino.
Is it possible to use the XBee radio module, in that regard?
Like, a person would wear a transmitter, and the XBee would pick up that signal. Not sure how it would sense relative position with that, though.
What alternatives would be feasible to this project?
One of the things that the XBees can report is signal strength. However, signal strength isn't linear, and the reported values are not terribly accurate.
They don't tell you anything about where the signal came from. To track another XBee, you'd need several receivers, situated on 4 sides of a square, with shielding between them. The radio picking up the best signal would then be the one that was either facing the XBee being tracked, or the one facing the best reflective surface. The robot would then head in that direction for some distance and then take another reading.
The XBees with the external antennas would be the best choice for this. With careful antenna design, it might be possible.
I would say a more feasible way is using IR ( infa red )
But what range are you trying to track someone ?
The tracking would be within 4-5 feet.
The robot would just be human following; but outside, with a possibility of a lot of other humans around.
How would an IR system work?
Also, what if, with the XBee and an external antenna, I made some kind of rotating parabolic dish, which looks for the signal that way?
IR would work the same way as stated by PaulS. You would need some sort of multi-directional reciever, whether it be some recievers situated at different angles, or by a rotating sensor. The human would then wear a beacon, just like they would with the XBee.
However, IR is line of sight. The beacon would have to be facing the robot, so you couldn't have a little box in your pocket or anything like that.
I like the idea about a little dish rotating on the robot. This would not be subject to line of sight restrictions, but you would have to deal with reflective signals. And I don't know if you are going to be able to get the resolution you need to actually do any tracking.
Easiest way to test it is build a little tin foil dish for the XBee, and walk around with a transmitter. See if get enough of a change in the signal strength to make you happy. If you pass in front of the dish and see a large enough jump in signal strength to program around, you may be alright.
Yep, I agree.
And, on that note, could I use something else, besides another XBee, as transmitter?
No. You need another XBee. The XBees are designed to transmit on specific frequencies, with channels on those frequencies, and PAN and node IDs to prevent interference and to ensure that messages get through.
You could have the human wear a XBee with a GPS chip sending positional data, and have the robot receive that data. The robot wouldn't even have to be close behind to follow the trail.
And that would require a GPS chip on the robot, right?
Well, yeah. It would need to know where it was relative to where the prey is.