THE DEVELOPMENT OF A LASER BASED LOCAL POSITIONING SYSTEM

There is no cheap, accurate device available with which the position of a slow moving object , such as a lawnmower cutting lawn, can be determined. If such a positioning system were available it would be possible to develop numerous programmable moving machines that can be taught computer-wise to perform daily chores. In this paper a prototype local positioning system, which could possibly be applied to determine the absolute position in relation to a fixed point for slow moving objects, is discussed. Accuracy, shortcomings and possible improvements of a laser based prototype are discussed.


INTRODUCTION
It is possible to program a micro controller to control objects such as lawnrnowers, floor polishers, tennis court drying machines, golf ball collecting machines and many similar machines to follow a predetermined route.The simplest way to program such objects is to describe the route in terms of incremental data with no feedback of the actual position".In the case where the machine is interfered with by an object in its way or by slipping of the wheels.yit looses its sense of direction and carries on as if the correct movements had been carried out.
To overcome this problem, feedback is needed so that the micro controller can determine continuously whether the position, on an absolute basis, is correct.The Global Positioning System (GPS) is an example of such a positioning system with which the position of an object (like a motor car) can be determined in relation to a fixed known position.GpS 2 ,5) is a satellite based radio-navigational system developed and operated by the U.S. Department of Defense, which allows land, sea and airborne users to determine their three-dimensional position anywhere in the world.The GPS is accurate enough so that the position of a motor car can be determined, but not accurate enough to determine within centimetres, the position of a lawn mower.
There are several local positioning systems available but at prohibitively high costs.The wireless local positioning system developed by Pinl'oint" can locate objects within a building using tags that bounce radio signals back to controllers and is available at $10,000.An Inertial Guidance System" which monitors the orientation and acceleration of a device and is also known as a Dead Reckoning Method , is available at $20,000.
Castellanos and Tardo' S6) did research work on wheel-based mobile robots that navigate in human-made indoor environments.They describe the problem of the computation of an estimation for a mobile robot location when the vehicle is completely lost in the environment.They make use of very expensive multi exteroceptive sensors that are mounted on the robot.
Palmer" developed a local positioning system to find the position of plants in an agricultural environment and claimed an absolute accuracy of about 200 mm., which is accurate enough for agricultural applications, but not accurate enough to control an automatic lawnmower.
In this paper the development of a cheap laser based local positioning system is discussed.A small prototype was developed, built and tested for accuracy.

THEORETICAL BASIS
The prototype positioning system employs the same principle as a global positioning system by utilizing three beacons, in this case laser light sources, emitting signals that are picked up by receivers fitted on the moving object for which the position must be determined in relation to the beacons.
Searcy" used the same principle of triangulation with microwave beacons to determine the field location of a robot.It is not possible to use the same mathematical model as Searcy, due to the fact that the form of the laser beam and that of the microwave is totally different.
Three laser pointers are fitted each onto an identical step motor in such a way that the lasers can be rotated horizontally.The laser beacons can be placed roughly in a triangular format as shown in Figure 1.The object, of which the position must be determined, is fitted with three sensors in such a way that they are always in visible range of the three beacons.

1:
Layout of the beacons Figure 1 shows the position of the three beacons, how they can rotate as well as a possible position of the object.The dotted arrows represent the laser beams, which are completely synchronized to stay parallel as they rotate horizontally.In Figure 1, the beam from Beacon 1 points at the object.A Cartesian axis system is drawn for the layout.
For the prototype system the beacons were set to rotate at about 120 r.p .m. Every time the laser light shines on the receiver, fitted on the object, an interrupt starts a .. counter, which counts the number of pulses from activation until the next beacon activates the interrupt.In this way the number of pulses, in the time between activation of the counter by a beacon and activation by the next beacon, are directly in relation to the angle between beacon, object and next beacon.
Once the three angles between beacons and object are known the absolute position of the object can be calculated on the Cartesian axis system.Although it looks easy at first glance, it is not trivial to calculate this absolute position.
3. Furthermore, assume that line BA is the X-axis of the absolute Cartesian system with origin at B.

CALCULATION OF THE ABSOLUTE POSITION
Steps to calculate the angle OBA (LOBA) and the lengths BF and OF (BF and OF) for respectively the X and Y co-ordinate of the object.It is easy to change the above calculations in order to take into account the exceptions where the object moves outside the triangle fanned by the three beacons and for the cases where the object is on a connecting line between two beacons.

SPEED OF REACTION
The speed, at which the system can determine the absolute position of an object, can be controlled by the rotational speed of the beacons.For a rotational speed of 120 r.p.m. of the beacons, the position of the object can be determined every half second.This refresh rate is fast enough to guide, for example, a lawnmower cutting lawn or to guide a machine that polishes the floor of a supermarket but not fast enough to guide a missile.
This positioning system was developed as a low cost option to determine the position of objects moving at a relatively slow speed.

HARD",rARE
A prototype system was developed and built in order to test the mathematics, electronics and software.
Three laser pointers were mounted horizontally onto the vertical axes, respectively, of three step motors acting as beacons as shown in Figure 3.

A beacon with the accompanying step motor driver
The beacons were set at slightly different heights so that each beam can trigger.its own photo optical sensor, mounted at the same height as the laser, on the moving object.
The moving object could be a vehicle fitted with a micro controller, which can be programmed to activate the wheels of the vehicle in order to move it along a predetermined path.The sensors must be attached to the vehicle in such a way that they are always in direct sight of the beacons.The micro controller calculates the deviation from the absolute position of the vehicle to the programmed position and steers the vehicle along the shortest route to the desired destination.
To simplify the hardware of the moving object, the same results could be achieved by fitting the optical sensors onto the head of a normal X-Y plotter and use the step motors of the plotter to move the pen along the predetermined path.The step motors of the plotter were controlled through drivers with a micro controller in the same way as the vehicle would have been controlled.
Figure 4: Optical sensors on the head of the plotter Figure 4 shows the plotter , pen with sensors, one beacon in the light hand top corner and a driver for the X-axis step motor in the foreground.The paper pieces on the plotter were used to mark different positions on the programmed path of the pen .
In order to change the prototype system into a practical system the lens of the laser beam should be altered so that a vertical line is produced and not merely a dot.This change would make provision for changes in height of the object in order to keep the sensors in line of sight of the beacons.In real world applications the object would be free to rotate and turn the sensors away from the beam.With the sensors fitted on the pen of the plotter this was not possible and sensors with angles of 90 degrees sensing could be used in stead of omni-directional sensors.

ELECTRONIC CONTROL
6.1.Beacons A standard step motor driver was used to pulse and provide power to each of the bipolar step motors that rotates the beacons.In order to activate a step motor, the driver of the motor requires zero-one pulses and by varying this frequency the rotational speed of the step motor can be controlled.Instead of generating the driving pulses for the step motors by a micro controller, a single square pulse was generated with a LM555 integrated circuit and sent to the three drivers .This technique frees the micro controller to control the pen movements only.
The LMSSS was ideally suited to pulse the drivers of the beacons because all three were required to run at exactly the same speed to keep the beams parallel.In order to ensure a soft start for the step motors, a low-pass filter was linked to the voltage control input of the LM555.This forces the LM5SS to slowly speed up the step motors and prevents the motors from slipping pulses and losing their phase relationship with each other.The values of the electronic components depend on the output frequency and the time needed for acceleration.The resistors would typically be 10KQ with Cl 0.47/lF and C2 220/lF for 70 Hz frequency and 0,66 second acceleration time.

Sensors
The sensors used were of the type Toshiba TPS 608A.The following electronic circuit was constructed to amplify the signal from the sensor.r---'- -----\;:------1+ < Sensor and amplifier circuit needed for each detector 7.

SOFfWARE
For the prototype control system it was possible to control the plotter head directly from the parallel port of a personal computer (PC).In practice however, the moving object would normally be a vehicle not connected with wires to a computer but rather controlled by a micro controller fitted on the vehicle.To be as close as possible to the real problem, a Motorola 8051 micro controller controlled the plotter head.To check the correctness of the controlling software and the accompanying hardware, the micro controller was connected to a PC for on-screen results.The serial communication between PC and micro controller, as well as on-screen manipulation of data, were done in the programming language C.

7.1
Micro Controller Software In order to find the angles between beacon, sensor and next beacon a timing device had to be set to count pulses between activation of the sensor by a beacon and activation by the next beacon.Timer 1 of the Motorola 8051 was calibrated to count at a speed of 3600 for each revolution of the synchronized beacons.Each count corresponds to 0.1 of a degree.Every time a beacon activates the sensor on the object, the number of pulses is stored, the timer reset to zero, and immediately started again to count the number of pulses to the next beacon.
Once the angles LAOB , L BOC and LCOA of Figure 2 are determined, the absolute position of the object 0 can be calculated according to the formulas in 3.These formulas were incorporated in an ASSEMBLER program in the micro controller with the timer running parallel with this program.
A random path, consisting of consecutive points between the beacons, was programmed in ASSEMBLER and the plotter head forced to follow this path.Once the absolute position of the head was calculated, the distance to the programmed point was calculated and the step motors, driving the plotter head, activated to move to' the programmed point.The position of the head can be updated every revolution of the beacons.

7.2
The C Program In order to set up communication between the micro controller and the PC the baud rate of the controller, which is set at 9600, must also be set in the C-program.The baud rate of the C-program is calculated with a reload value, which must be an integer.To get exactly 9600 baud, a reload value of 13,5 , which is not allowed, is required.To overcome this problem, the DART of the controller can be set in the C-program to high speed, which is double the speed, and then a reload value of 27 (13,5 *2), provides a baud rate of 9600.

ACCURACY
The formulas for the calculation of the absolute position of the object were tested in a separate program.By providing known values for the three angles that are to be measured by the beacons and sensors, the formulas were found to be hundred percent correct .Any inaccuracy in calculation of the absolute position is thus a function of the accuracy of the three angles, mentioned above.
By observing that the sum of the three angles must add up to 360 degrees, it is only necessary to measure two of the angles.At large distances where the diameter of the beam increases, the third angle can be used to compensate for the fact that the diameter of the beams could be different because of the relative distances from the beacons.For the short distances of the prototype system, the three angles were measured correctly.
With an object speed of 500 mm.per minute it can move approximately five millimetres during one revolution of the beacons.The program controlling the step motors of the object was set to have reached the programmed point, once the object is closer than three millimetres from the programmed point.This was necessary to prevent the object from oscillating around the programmed point.In practice it means that whenever the plotter head (object) is closer than three millimetres from a programmed point, it will move on to the next programmed point on the programmed path.By increasing the rotational speed of the beacons this inherent inaccuracy can be minimised.The fault will always be smaller than, or equal to half the distance the object can travel during one revolution of the beacons.

RESULTS
Various experiments were conducted with the prototype system.

1)
To test the accuracy of reaching a programmed point, the control was programmed to send the plotter pen over the first programmed point before approaching the next programmed point on the desired path.This was necessary to force the pen to actually reach a point and not turn to the next point when within three millimetres of the first point.Programmed in this way, all the points were reached each time to within an accuracy of the pen diameter (0,5 mm.) of the plotter.

2)
To eliminate any inaccuracies in calculating the speed ratio between the two drive step motors, the system was tested for movement parallel to the main axes as well as at an angle of 45 degrees when both step motors run at the same speed.
All tests resulted in straight line movement, which meant that the different angles were measured accurately by the system.

3)
For the tests where the drive step motors were forced to move simultaneously but at different speeds, small steps occurred along the plotter path due to coarseness of the programmed steps.
In order to allow for variation in the height of the sensors, the laser beam can be fitted with a lens producing a vertical line in stead of a dot, thus forming a revolving plane instead of a revolving beam.

2)
Reluctance motors that run in phase with the mains power grid can replace the step motors of the beacons.This will remove the need to have a clocking wire between the step motors of the beacons.This will also allow for much higher revolutions of the beacons, and thus increase the refresh rate.

3)
The prototype was fitted with three sensors, one for each beacon, and each one was fastened to the plotter head at the height the corresponding laser.With variation in height of the object tills layout would not be possible.It is recommended that an array of three sensors at the same height be used to make the detector omni-directional.This would necessitate the introduction of a selectable bandpass filter to differentiate between the three beacons.4) The concept was only tested on a small-scale prototype system, but to be put to practical use, it must be tested on a full-scale model.

CONCLUSIONS
The prototype positioning system showed that it is practically possible to use the laser based principle to accurately determine the position of a slow moving object on a small scale.The principle has the potential to be extended to full-scale application, in which case it opens the possibility for developing a whole range of new products applying the same principle.
If positioning accuracy of about 100 millirnetres over a distance of 100 metres is sufficient, then it would be possible to use very low cost laser pointers for the beacons and to manufacture such systems at a relatively low cost. 12.

Figure
Figure

Figure 2 :
Figure 2:The geometry to calculate the absolute position of the object at O.Assume the three beacons are at positions A, Band C and the object at position O. Furthermore, assume that line BA is the X-axis of the absolute Cartesian system with origin at B.
through A, 0 and B with circle centre at E. Draw a circle through B, 0 and C with circle centre at D. Draw line OF perpendicular to the X-axis.---AB , BC and CA are known because they represent the lengths between the three beacons.Calculate the radius DB of the second circle.Because LBOe stays the same on the circumference of the circle as long as BC is a chord of the circle, point 0 can be chosen (only for the purpose of calculating the radius DB) in such a way that the line DO halves the chord BC.From this configuration DB Be /(2sinLBDO

Figure 3 :
Figure 3: Figure 5: LM555 with low pass filter Figure 6:Sensor and amplifier circuit needed for each detector