I've been taking a look at these swarm robots and am very impressed. There is, however, one aspect of the robots I'm confused about, which is the infrared ranging they use.

enter image description here

The robots have a wide angle infrared transceiver on their undersides, and bounce the beam off the table they stand on to communicate with other robots. This I can understand, but what I can't is the ranging part as stated above. Could someone shed some light on how these robots calculate their range from one another using this infrared method? A general explanation or links to an article would be most appreciated.


1 Answer 1


The answer is already present in the page whose link you posted:

From Technical Report TR-06-11, "B. Communication and Sensing", pg. 4

During any communication between robots, the receiving robot also measures the intensity of the incoming infrared light. This incoming light intensity is a monotonically de- creasing function of the distance between the transmitter and the receiver; therefore the distance to the transmitter can be calculated by the receiver. In practice, the incoming intensity of light is also affected by noise and manufacturing variances, which leads to sensing accuracy of ±2 mm, and precision under 1 mm.

(emphasis mine)

I suppose they experimentally found the relation between distance between Tx/Rx and received intensity (or have access to some characteristic graph from the manufacturer of the IR modules), and used that to base the distance calculations.

  • \$\begingroup\$ Thank you very much for finding that for me. I should have looked harder. Would I be correct in assuming the surface the IR reflects off plays a part in adding a zero-offset, creating the need for calibration? \$\endgroup\$
    – Bojangles
    Nov 25, 2011 at 12:29
  • \$\begingroup\$ Yes. The intensity of the received IR would also depend on the surface it reflects from. Also, the effect of ambient light (esp. sunlight) would need to be minimized as well. \$\endgroup\$
    – ksk
    Nov 25, 2011 at 12:38
  • \$\begingroup\$ Just as I thought. Thank you very much for your help. \$\endgroup\$
    – Bojangles
    Nov 25, 2011 at 14:04
  • 1
    \$\begingroup\$ @ksk the effect of ambient light can often be reduced by modulating the transmitted signal (it's data after all) and measuring only the modulation in the received signal, thus mostly rejecting sunlight and roomlight - that is, to the extent that the receiver is or can be linearized. \$\endgroup\$ Nov 25, 2011 at 15:19
  • \$\begingroup\$ @ChrisStratton: Wouldn't modulation suppress noise only for applications like proximity detection (preventing false triggering) or data communication (as you mentioned)? Would modulation still help if an intensity measurement needs to be taken? I was thinking along the lines of having two sensors (or measurements) -- one to sense the ambient light levels, and the other for intensity measurement/communication. The output of the ambient light sensor could then be used to define a threshold for the Rx sensor when it wants to measure the intensity. \$\endgroup\$
    – ksk
    Nov 25, 2011 at 17:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.