Demo IR homing beacon

xstamp

Senior Member
Whilst playing around with IR beam techniques I come up with the following demonstration of a robot homing beacon.

Two narrow angle (20 deg) IR diodes are used to produce parallel beams. The transmission pattern from each diode is of the normal lobe shape but there is a much narrower overlapping corridor at the centre. One beam called ‘left’) transmits pulses of about 1mS and the other beam (right) transmits pulses of about 2mS. Where the left and right beams overlap the transmission appears continues.

The inverted output from an IR receiver is fed to the input of a standard RC servo that could be used to steer a robot in the following way. If the receiver is in the left beam the servo steers to the right and if the receiver enters the right beam the servo steers to the left. When in the narrow centre corridor, no corrective steering action is taken.

For a short-range demonstration I connected each IR diode between the pwmout pin and output 1 of a PICAXE-08M, via 150-Ohm series resistors, to produce two 38KHz modulated beams. The following code gave useable pulse lengths.

setfreqm8
start:
pwm 2, 52, 105
high 1
pause 2
low 1
pause 3
goto start



 

jodicalhon

New Member
That's very clever of you, xstamp. Have you tried it on a mobile platform yet? I might have a muck around with this myself if I find some time over the Easter break.
 

xstamp

Senior Member
I have not tried it on a mobile platform yet and expect that some fine-tuning may be required to reduce hunting around the centre corridor. One important detail that I forgot to mention is that the two diodes must be connected opposite ways around between the pwmout and output1 pins (egg. anode to output1 on one diode, and cathode to output1 on the other diode). This is the simplest way to transmit the two beams alternately without adding inverters and gates. However, a practical system that used transistor drivers to increase range would require one additional logic chip.

I can see many possibilities for constructing short range IR navigation systems for robots, that would require some processing at the receiving end of the beams/grid


 

manuka

Senior Member
Bravo! What a clever IR idea, &amp; shades of 1940's &quot;Battle of the Beams&quot;! That WW2 Lorenz bomb aiming system <A href='http://en.wikipedia.org/wiki/Knickebein_%28navigation%29 ' Target=_Blank>External Web Link</a>of course used VHF radio. However I'd say you'll have trouble with IR bouncing off windows etc?
 

xstamp

Senior Member
Yes, there were some bounce problems until I reduced the viewing angle of the receiver. I used a TSOP4138 receiver (Farnell # 4913176) and two TSUS4300 IR emitter diodes (Farnell # 1045518). Talking about WW2 beam technology, how about an IR version of Consol or Sonne navigation networks?
 

wilf_nv

Senior Member
The delay between servo pulses is typically 20ms but in this case the delay between the 2ms pulses from the output of the 38kHz receiver is just 1ms. Does this cause problems?
 

wilf_nv

Senior Member
To change it to 20ms delay you could use this:

<code><pre><font size=2 face='Courier'>
setfreqm8
start:
pwm 2, 52, 105
high 1
pause 2
input 1
pause 20
low 1
pause 3
input 1
pause 20
goto start
</font></pre></code>



Edited by - wilf_nv on 04/04/2007 20:36:27
 

xstamp

Senior Member
The servo does hum a bit at this high update rate but my example still works OK. Not sure about adding those extra pause commands because you need a continouse carrier in the overlaping corridor between the beams.

 

BeanieBots

Moderator
I've tried a range of servos at frame rates below 2mS and not had any problems.
In fact, many of the cheaper brands actually perform better giving much higher torque than they do at a 20mS frame rate.
A recent project (walking triangle hexpod) did not have the strength to lift its legs until the frame rate was brought below 10mS using hitec HS-303 servos.
Hence, I'd not be too concerned about using the required frame rate to give a continuous carrier in the 'corridor'.
 

kranenborg

Senior Member
I don't know whether it is feasible, but I could imagine that the pwm signal of the beacon is modulated with repeated SIRC codes using infraout, so as to identify the particular beacon. Thus a set of beacons could be created each with different ID's, and thus robots with some added intelligence could interpret these beacons and act accordingly. The beacons could be powered and configured using for example my &quot;SerialPower&quot; two-wire network

/Jurjen
 

xstamp

Senior Member
I think there are certainly a number of more complex grid type approaches to robot navigation that could be implemented using rotating IR beams.

For example, an IR emitter could be placed on the shaft of a PICAXE driven servo (the pwmout IR beam could be modulated by taking one end of the diode to pwmout and the other to serout via a 150-Ohm resistor). The servo could be driven back and forth over its complete range and a unique code transmitted at each (say 10 deg) increment. This rotating beacon could be synchronised with at least one other beacon to provide a robot mounted IR receiver with positional information.

The basic approach could be evaluated using the above prototype and, if successful, the servo could then be replaced by a fixed array of multiplexed IR emitters.


 
Top