Ultrasonic and Xbee object tracking


I was hoping someone could shed some light on a concept I was hoping to implement. I wanted to develop an object tracking system that would keep a camera pointed on a subject that was wearing a beacon.

My concept involves interfacing two Arduinos with Xbee. The 'beacon' Arduino would have an ultrasonic transmitter that would be activated by the 'base' Arduino which would be connected to two ultrasonic receivers spaced a known distance apart that would receive the signal. The location could be determined by knowing the time the Xbee signal was sent to the beacon and the time the ultrasonic signal was received (accounting for the speed of sound etc.). I know there would be a variable lag time for the Xbee signal, would this have much impact tracking?

What do you think? Is this feasible? I was hoping to be able to track up to about 15' if possible. Would this be too far for ultrasonic sensors?

Any input, help or criticism would be greatly appreciated.



The concept is based on this project:

I was thinking of using sensors like these:
What range would they have?

Thanks again!! :slight_smile:

The location could be determined by knowing the time the Xbee signal was sent to the beacon and the time the ultrasonic signal was received (accounting for the speed of sound etc.).

Have you figured out, for the maximum of 15' that you mention, what this difference in time is? Have you figured out, for that difference in time, whether the Arduino is capable of resolving time that accurately?

No I have not figured this out, how could I determine this, what hardware stats would I need to look into for the Arduino?

I imagine that the xbee would send/receive the signal as a linear function of distance since it is RF (if I'm correct). I was planning to include this in the code.

I'm fairly new to this so any help would be greatly appreciated!

Thanks :)

You don't need to know anything about the hardware to determine how long it takes for sound to travel a maximum of 15 feet and be reflected back. Figure that out first.

I saw that camera setup, that is pretty much what I was hoping to build although slightly more compact.

Distance is not terribly important, as long as I can get the range I need, no I am not attempting to focus or anything like that. Basically I just want to keep someone in camera view.

You say that typical systems use a beacon that simply outputs a signal and the receiver unit just listens. If this is the case could I simply set up an Arduino (or something similar) to activate an ultrasonic transmitter once a second (for example) and have a base Arduino that picks up this signal. Would the beacon and base need to be synced or calibrated when the systems starts, is there a way to do this?

What type of transmitter/receiver sensors would you recommend. Would something like these do the job: http://www.robot-electronics.co.uk/htm/srf01tech.htm

As far as speeds etc. go, it looks like the clock speed would be more than enough to pick up a decent resolution (0.000021m). Also since the speed of light is on an order of magnitude 6 times greater than the speed of sound the lag with various Xbee distances would likely be negligible (If I'll even need to use the Xbee).

Thanks again, I really appreciate the input!!

depending on the camera its theoretically possible to range find from the camera lens. just another avenue you may want to consider.

How about this solution:

With two Arduino boards, one is the beacon and has one ultrasonic transducer that emits a signal at a fixed interval (say 5 times a second for example), the second Arduino is the base and has two ultrasonic receivers that are a fixed distance apart. The two Arduinos are turned on and placed next to each other, once the base receives the first signal (with very little time lag since the beacon is very close) it uses that as t=0 and is synced with the beacon, from then on it can calculate the distance based on time delay (knowing the speed of sound) and the angle by comparing the signals of the two receivers.

Does this sound feasible? Any comments or suggestions or perhaps code of a similar project would be greatly appreciated!

I was thinking of using these transducers, what do you think: http://www.solarbotics.com/products/40305/