# Infrared ranging

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.

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.

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.

• 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? Nov 25, 2011 at 12:29
• 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.
– ksk
Nov 25, 2011 at 12:38
• Just as I thought. Thank you very much for your help. Nov 25, 2011 at 14:04
• @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. Nov 25, 2011 at 15:19
• @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.
– ksk
Nov 25, 2011 at 17:07