METHOD AND DEVICE FOR DETERMINING AN ANGULAR POSITION OF A REFLECTOR
TECHNICAL FIELD The invention relates to a method and a device for determining an angular position of a reflector in relation to an angular reference position including the step of arranging vertically extending reflectors in a working area. Automated guided vehicles are used in many industrial settings, for example in the form of trucks for transport of goods in factories and ware- houses.
PRIOR ART
According to a commonly used system, magnetic globs or similar de- vices are laid out along the transport paths of the trucks. As a result of high initial costs and difficulties in later modification of the route to be followed by the trucks in such systems, new systems including light reflectors have been developed.
In some prior art systems reflectors are used with identification, that is, the vehicles can determine, on the basis of the reflected signal, which unique reflector the signal is coming from. Such systems can be fast and effective, but the unique reflectors are relatively expensive. There are also limitations as regards to the distance at which the signal can be registered.
A navigation system with completely anonymous reflectors in the form of reflector strips is disclosed in US-A-4811228. The reflectors lack identity but are well defined with respect to their position. The position of each reflector is stored onboard a vehicle together with relevant coordinates for the transport area. A light source onboard the vehicle sends out a concentrated laser beam that sweeps over transport area. Reflections from the reflectors and other objects are registered in the vehicle and give bearings to a possible reflector.
The initial steps that are taken for defining an initial position of the vehicle are further developed in WO99/21026. Also in this case, a beam is transmitted from the vehicle over a search sector and reflected signals are received onboard the vehicle. The method disclosed in WO99/21026 also
includes steps for determining continuously the distances between reflectors and a reference point on the vehicle.
Use of a laser or other light source for producing a beam that is swept over a working area limits the design possibilities of the vehicle, because the light source should not be covered in any direction by objects onboard the vehicle. The laser device used in prior art systems normally require a complicated system of mirrors to sweep the beam around. A problem involved with the system of mirrors is that a lot of moving parts are used.
SUMMARY OF THE INVENTION
It is an object of the present invention to overcome the problems and drawbacks referred to above. According to the invention there is provided a method and a device for determining an angular position of a reflector in rela- tion to an angular reference position. Generally, the invention can be used for determining the position of a vehicle. More specifically the invention can be used in a system for navigating an automated guided vehicle.
According to the invention an image of a working area is obtained. A simple and fast algorithm is applied to the image to substantially limit the amount of data necessary for the evaluation of the image. Intensity values of pixels in vertical image slices are added into a set of column sums. A large sum indicates the presence of a reflector in an angular position corresponding to a specific slice or a set of adjacent slices. A very precise value of the angular direction to the reflector can be determined by calculating the gravity point of the adjacent slices relating to a reflector. By using a gravity point calculation it is possible to achieve an accuracy exceeding the width of a pixel. By using reflectors having a predetermined vertical extension it is possible also to calculate the distance from a reference position to the reflector. A method for calculating the distance includes the steps of calculating the number of consecutive pixels in a column, or vertical slice, having intensity values exceeding a predetermined threshold value. The number of such pixels corresponds, through a non-linear relation, to the vertical extension of the reflector.
The sums of intensity values from each vertical slice are preferably stored in a first vector. The number of elements in the first vector corresponds to the number of vertical image slices that can be obtained from an image sensor such as a CCD device. In a similar way the number of pixels having an intensity value exceeding a predetermined value are gathered in a second vector. Further calculations for determining the angular position of and the distance to a reflector are then performed on the basis of the content of said first and said second vector.
According to the invention it is possible to use a conventional CCD de- vice for obtaining an image of the working area where reflectors are mounted. Depending on angular working area of the CCD device it may be appropriate to mount a CCD device in each corner of a vehicle to cover a complete 360° circle around the vehicle.
Preferably, so called retro-reflectors are used. Such reflectors will re- fleet a large amount of incident light towards the source of light. Therefore, the light source is preferably mounted adjacent to the CCD-device.
Further features and advantages of the invention will be more apparent from the following detailed description and the accompanying claims and drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
A further understanding of the features and advantages of the present invention may be realised with reference to the description below and to the accompanying drawings, in which
Fig. 1 is a top view of an automated guided vehicle in accordance with one embodiment of the present invention, Fig. 2 is a side elevational view of the vehicle in Fig. 1, Fig. 3 is a schematic diagram showing one embodiment of a column adding section of the invention, Fig. 4 is a diagram showing the result of adding in Fig. 3 in a segment of the obtained image,
Fig. 5 is a schematic diagram showing one embodiment of a threshold and adding section of the invention, Fig. 6 is a diagram showing the result of adding in Fig. 5 in a segment of the obtained image, and Fig. 7 is a schematic diagram showing one embodiment of a hardware in accordance with the invention
DETAILED DESCRIPTION In the embodiment shown in Fig. 1 an automated guided vehicle (AGV)
10 comprises a driver unit 11 and a forklift 12. The driver unit 11 includes the electronic and hydraulic means necessary to operate the forklift 12. The driver unit 11 is rectangular and in each corner there is provided an image sensing means 13, such as a CCD camera. The view angle of the cameras 13 is approximately 90° as indicated by dotted lines. Each one of the cameras 13 is connected to an image processing means 14, which will be further described in connection with Figs. 3-6. The images processing means 14 is operatively connected to a computing means 15, such as a computer.
The AGV 10 is designed to operate in a working area. On walls 16 sur- rounding the working area and on other suitable objects within the working area there are provided a plurality of reflectors 17. The reflectors 17 are preferably so called retro-reflectors, that is they reflect light efficiently in the direction of a light source. The reflectors preferably have less extension horizontally than vertically, as shown in Fig. 2. The direction to a reflector 17 is defined in relation to a reference direction D of the vehicle. As shown in Fig. 1 an angle α is defined between the reference direction D and the direction to a reflector 17.
As shown in Fig. 2 the cameras 13 are mounted at a low vertical position. If the AGV 10 carries a load 18 as indicated by dot and dash lines a low position of the cameras will allow a free view of sight below the load. It is also possible to arrange the cameras 13 at another vertical position and also more closed together, so as to achieve a more complete sight angle.
Each reflector 17 has a well defined vertical extension or height, which can be used for determining the distance between the reflector and the AGV
10, as will be further described below. Each of the cameras 13 produces a video signal, which is an input to a circuitry shown in Fig. 3 and Fig. 5. The video signal is converted in an analog-digital converter 19 to produce a digital signal for further processing. It should be noted that also digital cameras could be used. In such cases the converter 19 can be left out. If a PAL video signal is used the video signal comprises 625 lines and each image is updated 25 times per second. In a NTSC video signal there are 525 lines which are updated 30 times per second. To obtain vertical slices of the image obtained by the video cameras 13 it is possible to use a frame grabber to pro- duce an image containing 512x512 pixels. One line of the video signal lasts for 52 μs. There is a need for 512 points of measuring over each line. Each measuring point over one line corresponds to a pixel.
The analog-digital converter 19 is operatively connected to an adder 20, which in turn is operatively connected to a first memory means 21. The intensity value in each position of the 512x512 pixels metrics is added to the corresponding intensity values of other lines in the image. Thus, a vector is formed, each element of the vector holding the sum of the intensity values of a vertical slice of the image. The full image information is condensed to a one-dimensional vector. Those positions in the one-dimensional vector that correspond to a vertical slice of the image of a reflector will have a higher column sum value CS than other vertical slices. Thus, a high column sum CS indicates the presence of a reflector in a direction corresponding to the position of the element in the vector.
Fig. 4 is a diagram showing the column sum CS of a segment of the image from pixel position (PP) 250 to pixel position 270. In approximately 10 pixel positions, from 253 to 263, there is a peak in the column sum. The peak indicates the presence of a reflector in an angular position corresponding to these pixel positions PP. The width of the peak illustrates that the width of a reflector exceeds the width of one pixel. This is of course related also to the distance between the reflector and the camera 13. By calculating the gravity point of the peak as shown in Fig. 4 it is possible to determine the angle to the reflector at a resolution exceeding the pixel resolution. Forming the reflectors in the shape of a parallel trapezoid with horizontal bases, as shown in
Fig. 2, and thus reducing the aliasing effect inherent in discrete pixel cameras, such as CCD-equipped cameras, may further increase the resolution. The pixel position, or rather the gravity point position, of the peak as shown in Fig. 4 corresponds to an angular position of a reflector in relation to the reference direction D of the vehicle. For cameras having an angle of site not adjoining the reference direction D an angular offset O can be used. The circuitry of Fig. 3 will produce a first vector. On the basis of said first vector the computing means 15 is able to calculate with high accuracy the angle between the reference direction D of the vehicle and the reflector. The circuitry of Fig. 5 also will produce a vector similar to the vector produced by the circuitry of Fig. 3. The video signal is converted in the analog-digital converter 19 and all further calculations are based on digital values of the image intensity in each pixel. A threshold value corresponding to an assumed intensity value from a reflector is stored in a threshold memory 22. Each intensity value in digital form of a pixel is compared in a comparing means 25 to the value stored in the threshold memory 22. If the incoming intensity value exceeds the threshold value the content of that vector element is incremented by one in a second adder 23. The new added value is stored in a second memory means 24. The result of the circuitry of Fig. 5 will proc- ess intensity values of a video signal to produce as a result a second vector. Each element of the vector holds the calculated number of pixels in a vertical column having an intensity value exceeding the threshold value stored in the threshold memory 22.
The diagram in Fig. 6 shows the content of a segment of the vector produced by the circuitry in Fig. 5. The segment of pixel positions PP from approximately 253 to approximately 263 indicates the presence of a reflector in the corresponding angular position. The diagram shows that number of pixels having intensity values exceeding the threshold value is 70. The number of such pixels is indicative of the distance to the reflector, because the number is indicative of the height of the reflector as seen from the camera 13.
The relationship between the number of pixels in the vector and the distance between the reflector and the camera can be expressed as in the equation below.
ph 7 = κ 7 * a ♦ tan (h l 2λ
where ph = height of reflector in number of pixels h = geometric height of reflector in meters x = distance between reflector and camera k = optical constant
In one example the optical constant k was determined to be 1180. The distance was calculated with an acceptable accuracy up to approximately 25 m when using a 0,75 m reflector. It should be possible to measure larger distances by improving the light conditions during measurement. Fig. 7 shows a more detailed diagram of the hardware that can be used in connection with the invention. The video signal from the cameras 13 is used as an input to the analog-digital converter 19 as described above. The video signal is also fed to a sync separator 26 for line and field synchronising signals. In the separator 26 both the line synchronising pulses and the field synchronising pulses are extracted from the video signal. The synchronising signals are used in different elements of the hardware for controlling the image processing. The video signal is used also to generate a clamping signal used by analog-digital coverter 19. A synchronising means 27 is used to synchronise the cameras and other parts of the hardware. The synchronis- ing means is operatively connected to the separator 26. The converter 19 converts the analog signal from the camera 13 to an eight bit digital word. At the start of each line the black level of the video signal is locked with a clamping signal.
The digital signal is fed to a comparing and adding means 28. In the comparing and adding means 28 the digital value of the intensity is compared to a threshold value. If the digital intensity value is larger, that is the measured pixel is lighter than the threshold, an accumulated threshold sum is in-
cremented by one in that vector position. The digital signal is fed also to an adding means 29 that adds up all the digital intensity values related to one vertical slice of the image.
The counted number of light pixels is fed to a first FIFO memory 30 through a first latch 31. The FIFO memory (First In First Out) do not require an address bus. Instead reading and writing in the memory is done by a pulse at a clock input. A FIFO memory is an appropriate type of memory in time critical application such as the present one.
In a corresponding way the result of the addition of intensity values in the adding means 29 is fed to a second FIFO memory 32 through a second latch 33. The first and second latches are used to retain the information so as to allow the next unit to read the information.
An output of the first FIFO memory 30 is connected to a third latch 34 and in a similar manner an output of the second FIFO memory 32 is con- nected to a fourth latch 35. Third and fourth latches are used also for a reset during the first line of the image where no accumulated value should be added.
Several elements of the hardware require a timer control signal. In the embodiment shown in Fig. 7 a finite state machine circuitry 36 is used. The timing can be divided into three sections. A first section relates to the actual line been processed, a second section relates to the position on the line, and a third section controls the generation of control signals. It should be noted that the video signal contains also redundant image information. The relevant information starts a few lines from the top of the image and the information at each line starts at some distance from the synchronising signal.
Two specific timing situations occur. During the first line of the image no information should be read from the first FIFO memory 30 and the second FIFO memory 32. In these cases incoming digital image data is added to zero and the result of the addition is stored in a FIFO memory pixel by pixel. A second problem is to handle the last line of the image. The complete vector is then fed into the first and second two port memory means 21, 24.
The computing means 15 comprises basically two elements. A first element is a microprocessor 37, which in a practical embodiment is a Mo-
torola chip 68332. The microprocessor 37 is operatively connected to first memory means 21 and second memory means 24 for processing the content of said memories. The microprocessor 37 is also operatively connected to the image processing means 14 to receive interrupt signals and status infor- mation, for instance from the finite state machine 36.
The first memory means 21 holds a first vector, each element thereof holding the number of pixels in each column that are brighter than a threshold value. The second memory means 24 hold a second vector, each element thereof holding the sum of the intensities in each column. On the basis of said vectors the microprocessor 37 is able to calculate relevant angular positions and distances to the reflectors.
An external control register 38 is operatively connected to the microprocessor 37. The external control register 38 generates control signals to different elements of the image processing means 14. One control signal may include the threshold value used in the comparing and adding means 28.
The detection of the retro-reflective reflectors 17 is facilitated if a light source is arranged in the vicinity of each of the cameras 13. It is desired not to disturb the environment and therefore the wavelengths of the light from the light source can be within or close to the infra red area where the human eye has a low sensitivity. The light source can be a stroboscope lamp or a plurality of infrared diodes connected in series. Normally the camera is provided with an electronic shutter that is opened during a short time interval (e.g. 1/1000 s). The short opening time of the shutter makes it possible to increase the current through the diodes during that short time interval.
The infrared light source is synchronised to the camera by using the field synchronising pulse from the camera. Preferably a separated signal is obtained from the separator 26.
Due to the relatively wide field of view required, most lenses introduce a distortion of the projected image. While the evaluation algorithms described above are still valid, the device should nevertheless be calibrated to compensate for any resulting angular error.