Low cost Robot Localisation System (LRLS)

A simple concept to localize a robot within some few meters with help of some external references (mirror)

Similar projects worth following
Most of the autonomous moving robots makers build need knowing where they are. There are several methods to determine this for a robot, such as Lidar mapping, indoor positioning etc. But most of them are too expensive, too difficult to realize or simply too inaccurate. That leads to most maker robots ending up just with a simple revolution counter of the axis.
With a scope for an area of few meters (a lawn mower in my case), this low cost robot localisation system (LRLS) should be very cost effective and possible to build for an intermediate maker.

The basic principle

When someone is somewhere and try to figure out where he is, he start to look around and looks for some reference points. The LRLS does exactly the same: A Laser turns around and sees where a mirror (reference point) reflects his light. When he gets a reflection he has a reference. To determine the position ether a 2nd reference is required (triangulation) or the distance to the reference point need to be measured. Both are possible with the LRLS in theory.

When pointing with a laser pointer to a mirror, there is only one point in the room where the light comes exactly back to the transmitter. This can be avoided by using a mirror in the form of cylinder. But still with a cylindrical mirror the light comes only on one height level and only with an exact horizontal back to the transmitter. The utilisation of a line laser avoid this and provide a certain tolerance in height as a wildly immunity against tilt angles


A simple test arrangement with a cylinder mirror and a line laser confirm the reflection, if the laser is strong enough and more or less on the height of the mirror. The critical point of the system is the angle (2*β) under which light comes back to the receiver. The geometry (see picture) gives only a very narrow angle under which light comes back. This angle (2*β) depends on the distance (d) between laser and mirror, a bit on the diameter of the mirror (r) and the diameter of the sensor (2*x) (see formulas on the picture). With a distance of 5m this angle is only about 0.0001 degrees. As the laser is turning around its axis, it will always hit the angle under which it reflects the light to the sensor, but it will also result in a very short pulse. This requires a very fast reaction of the microprocessor calculating the position and a high bandwidth of the electronics.

In theory the distance between the laser and the mirror can be determined with the width of the light impulse. In reality this will not work due a lot of tolerances (e.g. laser line width) and as the relation of pulse length and distance is a hyperbolic function which can’t be expressed in a y=f(x) format (or at least I wasn’t able to find a solution)


The very narrow angle (2*β) leads to a very short impulse which gets shorter as bigger the distance between laser and mirror becomes. This requires either a very fast electronics or a low laser angular velocity. With the speed of 1 U/min the impulse length for an object in 5 meter distance is about 10µs (100kHz) which might be ok for “standard” electronics but means also that the object is sampled only once a minute. A higher sampling rate limits the distance or has a higher demand to the electronics. But anyway this is only the theory. In reality is the Laser beam by far larger than 2*β which leads to a longer Impulse anyway. The usage of two additional photo detectors would allow changing the direction whenever the laser beam passed the photo sensor. By doing this a higher sampling rate could be achieved even with a low angular velocity

The main limitation for the distance might be the amount of reflected light for large distances. A laser range finder makes with a similar principle about 40m. The LRLS has instead a line lases which provides less energy on a single spot which reduces the reach of course. But due the large angle of radiation of such a laser stronger laser can be used as the danger for the eyes is much less. In addition a mirror offers a much better reflection than a range finder does meets when pointing to any object. However the amplifier circuit requires a high pass characteristic in the range of about 400Hz (0.2m) to 100kHz (5m) this allows to eliminate any ambient light effect and make it really sensitive on received laser light.

In any case does the LRLS have very high angle accuracy even for very short distances as 10cm, 2*β is around 0.1 deg. so with all side effects a minimal resolution of...

Read more »

LRLS geometry.pdf

Geometrical base

Adobe Portable Document Format - 300.06 kB - 03/23/2017 at 20:20


  • Drive and angle measurement considerations

    Stefan03/31/2017 at 20:11 1 comment

    The SRLS determine the position only based on an angle measurement. As further the robot is away as more demanding such a angle becomes. E.g. the robot is 5 meters apart from the SRLS one degree of error result in a 9cm positioning error. This isn’t a problem in respect of the theory as the angle under which reflection appears smaller gets as further the robot is away from the SRLS. But on the other hand it requires a high accurate measurement of the turning angle of the SRLS itself. The measurement of that angle is matter of the following considerations.

    In the basic sketch the drive for the SRLS is thought to be internal, in order to keep the entire device compact. The necessary gears are difficult to get but easy to print with a 3D printer (gears with m = 1 are very simple to print). But a printed gear leads of a fairly big clearance. That’s so far no problem but leads to an arrangement in which the angle is measured direct on the body which have a fix connection to the laser. The following principles could be applied:

    There are generally 3 principles come straight to my mind:

    High accuracy rotary encoder, forked light barrier and hall element

    For the magnetic and light measurement either magnets or slots can be made into the body of the SRLS. Let’s imagine a slot would be visible to detect with a width of 1mm and need to have a distance of 2mm to the next for appropriate 3D printing (the same would works with the Hall effect element if we can get 1mm magnets).

    In this case the SRLS diameter would become 34cm (!).

    To void such a big diameter three rows with 1mm displaced slots could be made. This would lead to a diameter of about 11cm. This is visible but still too big for my propose.

    A high accuracy 2 phase rotary encoder reaches easily a resolution of 1° Deg. but is also pretty expensive. The only way to make a fix connection to the body is to place it in the axis. According my the primary sketch is there the slip ring and to put it from the top is no alternative as a potential holder would block the laser beam at a certain place. Therefore this arrangement leaves only two alternatives: Either using a slip ring with a hole in the middle – An option which increase the costs enormous – or make the body not fully turn able and let it only swipe left and right.

    The pretty precise solution is to take a timing belt and move an external wheel. The arrangement works pretty much without clearance but makes the SRLS more bulky.

    When we assume the body diameter of about 76 mm would it be possible to make 120 teeth with a 2mm pitch into the drum. For the other side a 12 teeth pulley is easy to get for a GT-2 belt. But however for a proper operation a minimum of 60 mm distance between the center of the body and wheel should be made and a pulley with minimum 20 teeth should be used (otherwise not enough teeth are in mesh).

    Considering all this a slotted disc (slots for the light barrier) would require having a diameter of 57,3mm for a resolution of 1° Deg. This is quite bulky and lead even to a > 65mm distance pulley body. But here as well three discs with 1mm displaced slots can be used. Using this we can realize the measurement with 20mm discs at this place or the use of 40mm discs which leads to a resolution of 0.5° Deg and a all in all visible arrangement.

    Of course if this is the best solution, to put the drive external as well could be considered.

  • Bandwidth visibility considerations

    Stefan03/30/2017 at 19:54 1 comment

    In Log(1) I checked the impact of using retroreflectors. As the plots of the DSO were not really as expected I got some doubts about the possible signal quality can be achieved.

    The response of the receiver shows rather an “edge-something” than a proper signal which leads to questions about the potential bandwidth. I used for this test a Cds photoresistor these photoresistors have a good sensitivity but the datasheet says that they have with 20ms-30ms terrible rise and fall times. This explains the measurement pretty well but also proofs the impossibility to use them for such an application.

    I assume a photodiode would work much better for this purpose. As I hadn’t any I’d remembered that a LED in reverse operation should do the same function as the theory says. But that’s theory and I couldn’t make it happen, so back to the visibility proof on paper.

    Reaching high bandwidth with optical receivers is general no question as fiber optic receivers can operate with some GB/s. The question is whether and how this is reachable for a maker at low cost. An optical receiver in the communication uses often a TIA (transimpedance amplifier) to amplify the signal coming from a photodiode (PIN-Diode).

    Such a combination of TIA and PIN-Diode is available with the OPT 101 (a transparent integrated circuit) – which would be the easiest way. In such a configuration the “gain” is defined with the Rf as Vout = Rf * Iin. Therefore the OPT 101 has an integrated 1M resistor which can be connected in the feedback loop. With this default wiring, the arrangement would achieve a bandwidth of 14MHz which isn’t sufficient as the LRLS require a bandwidth of about 100-200MHz for a 5m distance (without retroreflectors). The Op-Amp theory allow to achieve a 10 time higher bandwidth, if the gain is reduced by the same factor (as long the Op-Amp can do it) - which means in this case to use RF=100k instead.

    This isn’t confirmed by the OPT101 datasheet. It predicts only a bandwidth of 44kHz in this case. But the limiting factor isn’t the Op-Amp, it’s the PIN-Diode as it has a high capacity of 1200pF.

    Back to square one we need a PIN-Diode with a fairly low capacity and a reasonable fast Op-Amp. To calculate the bandwidth in a close formula isn’t that simple but I found an estimation in one of TI’s application note. (GBWP = gain bandwidth product)

    If a fast Op-Amp is used (like e.g. the OP 37) the major impact comes from the PIN-Diode capacity and the gain bandwidth product of the OP-Amp. An example of an easy to get and cheap PIN-Diode is the BPW34 with a capacity of about 40pF. A TIA arrangement consisting of a BPW34, an OP 37 and an Rf = 1MΩ should provide a bandwidth of about 800kHz. This makes it visible to build an working receiver stage for about a dollar.

  • Investigation with retroreflector

    Stefan03/28/2017 at 19:50 0 comments

    Radomir came up with the great idea to use a retroreflector instead of the chrome cylinder I had in my basic concept. As Radomir mentioned you can get then as such a reflective stick e.g. for bicycles. Although I'm just in the concept phase and have whether the electronics nor the mechanics ready here is a very basic investigation:

    The setup is a line laser which rotates, a LDR and a DSO.

    Of course doesn't the setup works for high frequencies. In front the cylinder on one side with the sticker (which are fairly expensive!) and on the other side bare.

    The response with sticker:

    and the response without sticker:

    resp. the response without sticker with a lower time base:

    My setup isn't usable for high frequencies and my workbench scatter a lot of light back. That's why anything else than a proper pulse is shown on the DSO. But however it shows clearly that the pulse with the sticker becomes wider and it looks that the sticker reflects even a little bit more light. So great idea that really works. It adds a lot of visibility to the concept as reflectors with a far bigger radius can be used which lowers the frequency resp. increase the potential rotation speed .

View all 3 project logs

Enjoy this project?



Stefan wrote 03/28/2017 at 19:53 point

Radomir's idea is great and works well - See LOG 1 "Investigation with retroreflector"

  Are you sure? yes | no

deʃhipu wrote 03/24/2017 at 14:14 point

Instead of a cylinder, you could use a retroreflector:

  Are you sure? yes | no

Stefan wrote 03/24/2017 at 23:04 point

Fantastic idea. This brings potential to increase the distance and to get a longer distance independent impulse. It's also easy to get :

  Are you sure? yes | no

deʃhipu wrote 03/24/2017 at 23:07 point

Or you could just use the reflective stickers that they put on cars and traffic signs. That would also make it very easy to deploy them.

  Are you sure? yes | no

Simon Merrett wrote 05/25/2017 at 19:49 point

Perhaps clear glass or plastic spheres for retroreflection like cat's eyes?

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates