Abstract:
A position sensing system calculates the X-Y-Z coordinates of a point in space using triangulation and determines the orientation of an object located at that point. The triangulation calculation is based on the coordinates of at least three retroreflective elements spaced apart from each other and the measured angles between the lines projected radially outward from the point to each of the retroreflective elements. The accuracy of the measured angles is achieved by using a rotating member supported by dedicated hardware and controlled by software. The member rotates with a beam of light generated by a light transmitting and detecting device positionable at the point. The light transmitting and detecting device receives the beam of light reflected back from the retroreflective elements and generates an output signal in response thereto. A computer processes the output signals for use in calculating the X-Y-Z coordinates of the point and the orientation of the light transmitting and detecting device when it is positioned at the point.

Description:
BACKGROUND OF THE INVENTION 
     This application is a continuation of U.S. patent application Ser. No. 554,287 filed Jul. 18, 1990, now abandoned, which is a continuation-in-part of U.S. patent application Ser. No. 522,745, filed May 14, 1990, now U.S. Pat. No. 5,076,690. 
     The present invention relates generally to laser-based systems useful in construction applications and, more particularly, to a laser-based system and method for measuring the X-Y-Z coordinate of a point and the angular orientation of an object positioned at that point in a continuously changing frame of reference. 
     In the construction industry, the level of automation and robotization is very low. One reason for this is the difficulty of properly positioning machines and tools. In the construction of commercial buildings, for example, various points of reference have to be established, such as placement of floors, ceilings, electrical wiring, plumbing, and heating and cooling ducts. Establishing reference point is time consuming and expensive, particularly as such work is often contracted out to companies which specialize in this work. Moreover, for many applications, the machine has to move toward the product. When the reference point is continuously changing, the difficulty of positioning the machine is compounded. 
     In prior laser-based systems, such as that disclosed in U.S. Pat. No. 3,588,249, for example, a reference plane is established throughout a work site by a transmitter which emits laser energy in the level reference plane. The laser beam is projected radially outward from the transmitter and rotated continuously through 360 degrees to sweep around the entire work site. One or more receivers may be employed throughout the work site to sense the location of this reference plane. Such receivers may be mounted on a surveyor&#39;s rod, as described in U.S. Pat. No. 4,030,832, or they may be employed as part of a control system for construction or agricultural equipment, as described in U.S. Pat. Nos. 3,813,171; 3,873,226; 3,997,071; and 4,034,490. 
     In order to track the movement of a reference point, prior art laser systems, such as the laser survey system disclosed in U.S. Pat. No. 4,830,489, have provided not only elevation information, but also position information in two other axes. The system includes a laser transmitter, located at a reference position at a work site, which sweeps a laser beam radially in a reference plane. The system includes a receiver, located on mobile earthmoving equipment operating at the work site. The receiver has a sensor that determines the relative elevation of the laser reference plane. The receiver also includes a pair of reflectors, each of which reflects laser energy back to the transmitter. The laser transmitter also has a sensor which receives the reflected laser energy, and, in response thereto, produces receiver position information for transmission to the receiver. 
     The laser transmitter is designed to rotate the laser beam continuously through 360 degrees at a substantially constant angular velocity and thus sweep the beam past the two reflectors of the receiver once during each revolution. During each revolution of the laser beam, the transmitter receives back two short bursts or pulses of laser energy from the two reflectors. Thus, since the laser beam sweeps at a substantially constant angular velocity and the distance between the reflectors is fixed, the time period between receipt of these two pulses provides an accurate basis for the calculation of the range or distance of the receiver from the transmitter. However, since the accuracy of the range calculation is dependent upon a uniform rotational velocity for the laser beam, any variability in the rotational velocity will decrease the accuracy of the range calculation. However, this and other three-dimensional laser based systems are generally complex and expensive. 
     It is seen then that there is a need for a positioning system and method wherein highly accurate X-Y-Z position coordinates and orientation of a point, which are insensitive to deviations in the rotational velocity of the rotating light beam, can be determined. 
     SUMMARY OF THE PRESENT INVENTION 
     This need is met by the three-dimensional position sensing system and method of the present invention wherein the X-Y-Z coordinates of a point can be calculated by triangulation. The triangulation calculation is based on the coordinates of at least three retroreflective elements spaced apart from each other, and the measured angles between the lines projected radially outward from a point located at an actual position of a light transmitting and detecting means to each of the retroreflective elements. One advantage of the present invention is that all of the active elements are in one location that is, at the light transmitting and detecting means, as the retroreflective elements are preferably passive elements. 
     In accordance with one aspect of the present invention, a system for determining the position of a point in space comprises: at least three stationary retroreflective elements spaced apart from each other and stationed at known coordinates, the retroreflective elements capable of reflecting light back toward a light source; light transmitting and detecting means, positionable at the point, for generating a rotating beam of light to illuminate the stationary retroreflective elements during rotation, and for detecting the beam of light when it is reflected from the stationary retroreflective elements and generating an output signal in response thereto; and computer means responsive to the output signal for computing, from the known coordinates of the retroreflective elements and from the angular orientation of the beam when the beam illuminates the retroreflective elements, the coordinates of the position of the point in space. 
     In a preferred embodiment of the system, the light transmitting and detecting means comprises: means for generating a beam of light; means for projecting the beam of light at a substantially constant rotating angular velocity toward the retroreflective elements; means for receiving the beam of light reflected from the retroreflective elements corresponding to the illumination of the retroreflective elements during rotation of the beam; and azimuth and zenith means, responsive to reflection of the beam of light from the retroreflective elements, for continuously transmitting angle signals indicative of an azimuth and zenith angle at which the means for receiving the beam of light is positioned with respect to each of the retroreflective elements. 
     In accordance with one aspect of the system for determining the position of a point, the stationary retroreflective elements have a distinctive retroreflective design, such as a slant target extending substantially diagonally from one top corner to the opposing bottom corner of the retroreflective elements in combination with a retroreflective bar code. In a structured environment, then, the computer means can designate a number for each retroreflective element in a rotation, and the number will remain the same for each rotation. 
     In a further aspect of the present invention, the light transmitting and detecting means includes a member rotating with the beam, the member having a periphery and further having a plurality of angularly positioned elements spaced around the periphery which divide a revolution of the member into a plurality of generally equal partial revolutions; and a means for detecting movement of each of the elements past a predetermined point as the member rotates. Preferably, the plurality of angularly positioned elements comprises a plurality of apertures and the means for detecting movement of each of the elements comprises a light source paired with a photodetector element. A further preferred embodiment includes means for registering a tilt position of one or more reflecting mirrors and means for calculating a zenith angle of the beam 16 based on the tilt of each of the mirrors. 
     The present invention also provides a method for determining the position of a point in space. The method comprises the steps of: locating at least three stationary retroreflective elements spaced apart from each other and stationed at known coordinates, the retroreflective elements capable of reflecting light back toward a light source; transmitting a rotating beam of light to illuminate the stationary retroreflective elements during rotation; calculating an angle between the direction of the beam of light when the beam illuminates each of the retroreflective elements; tracking scan behavior; using the scan behavior to calculate angular measurements; and determining the position of the point based on the angular measurements and the coordinates of the retroreflective elements. 
     In a preferred embodiment of the method for determining the position of the point, the step of tracking scan behavior further includes the steps of mounting a member on a rotating shaft, the member having a periphery and further having a plurality of apertures located at the periphery which divide a revolution of the member into a plurality of generally equal partial revolutions; and registering a time differential between each adjacent pair of the plurality of apertures as the member rotates. Also, the method includes the step of interpolating between corresponding angle measurements of an adjacent pair of the plurality of apertures to determine exact angles between each pair of apertures. 
     In a further embodiment, the step of tracking the scan behavior includes not only the determination of the X-Y position of the point, as described above, but also the determination of the Z position of the point. This can be accomplished by registering the tilt position of one or more reflecting mirrors and calculating the zenith angle of the exit beam based on the registered mirror Position. 
     Accordingly, it is an object of this invention to provide a position sensing system and method, wherein the X-Y-Z coordinates of a point can be calculated by triangulation. It is also an object of this invention to provide such a system and method wherein the orientation of the system when it is located at the point can be determined. It is a further object of this invention to provide such a system wherein the calculations are insensitive to deviations in the rotational velocity of the rotating light beam. Finally, it is an object of this invention to provide such a system which utilizes software to calibrate a code wheel or other member to improve the accuracy of the calculations. 
     Other objects and advantages of the invention will be apparent from the following description, the accompanying drawings and the appended claims. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is an isometric view of the position sensing system of the present invention located at a point within a structured environment defined by four intersecting walls; 
     FIG. 2 is a side view, with parts broken away, of a light transmitting and detecting means of the position sensing system of FIG. 1; 
     FIG. 3 is an exploded partial top view of a rotating member illustrated in FIG. 2; 
     FIG. 4 is a calibrating system which is used in conjunction with related software to calibrate the light transmitting and detecting means of FIG. 2 which includes the member of FIG. 3; 
     FIG. 5 is a schematic block diagram of a hardware interface, controlled by software, which supports the Position sensing system of the present invention, illustrating the interrelationship between the retroreflective elements shown in FIG. 1 and the light transmitting and detecting means shown in FIG. 2; and 
     FIGS. 6A and 6B illustrate a flow chart detailing the steps used in determining the Z-position of the point in space shown in FIG. 1. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     The three-dimensional position sensing system and method of the present invention is advantageously utilized in either a structured environment 10, as shown in FIG. 1, or an external environment, to generate constantly updated information on the exact location of a point 12. Typically, light transmitting and detecting means 14, best illustrated in FIG. 2, is positioned at the point 12 for transmitting a rotating beam of light 16, which is emitted by a light source such as laser 20 of FIG. 2, and reflected back to the light transmitting and detecting means 14 by a series of retroreflective elements 18. The position sensing system is also capable of determining the orientation of the light transmitting and detecting means 14 which is positioned at the point 12. The rotating beam of light 16 should be of a size appropriate to create discernible START signals and END signals from each of the retroreflective elements 18, which preferably consist of distinctive retroreflective bar code elements in the form of a diagonal slant target from a top corner of the retroreflective element 18 to the opposing bottom corner in combination with a retroreflective bar code, as illustrated in FIGS. 1 and 5. 
     The position sensing system has at least three stationary retroreflective elements 18, as typified by elements 18a, 18b, and 18c in FIG. 1. Preferably, the retroreflective elements 18a, 18b, and 18c are spaced apart from each other around the periphery of the frame of reference and stationed at known coordinates in the frame of reference 10. In a preferred embodiment of the present invention, the retroreflective elements 18 are passive sensors, although active sensors may be used as well. With the passive sensor elements 18, the beam of light 16 is reflected back to the light transmitting and detecting means 14. The beam 16 transmitted by the light transmitting and detecting means 14 has a varying zenith angle such that a dynamic scan pattern 17 of the beam 16 can scan the environment 10 at varying elevations to strike the retroreflective elements 18, regardless of the elevation of the elements 18. Azimuth and zenith means (not shown), responsive to the reflection of the beam of light 16 from the retroreflective elements 18, continuously transmit angle signals, indicative of an azimuth and zenith angle at which the light transmitting and detecting means for receiving the beam of light is positioned with respect to each of the retroreflective elements 18, to a computer 22 of FIG. 5. The computer 22 includes a microprocessor, such as a Motorola 68030, having memory means for providing storage of software and data. A listing of exemplary software for performing the angle measurements in accordance with the present invention is included following the detailed description. 
     Since the reflection from one passive element 18 looks the same as the reflection from each of the other passive elements 18, it cannot be determined from the reflection itself which element 18 is being illuminated. Therefore, according to one aspect of the present invention, any or all of the retroreflective elements 18a, 18b, and 18c can have a unique bar code in order to differentiate one element from the others. The moment of illumination of each retroreflective element 18 is registered extremely accurately since that moment is decisive for determining the angle within the angle of rotation of 360 degrees. By recognizing the retroreflective elements 18a, 18b, and 18c individually, it is possible to assign the proper coordinates to each element 18, which is necessary for the calculation of the position of the point and the determination of the orientation of the light transmitting and detecting means 14 located at the point 12. Assigning a unique bar code to each element 18 distinguishes each of the elements 18a, 18b, and 18c from the others. The computer 22 includes a microprocessor, such as a Motorola 68030, having memory means for providing storage of software and data. A listing of exemplary software for performing the bar code recognition of the present invention is included following the detailed description. 
     Using the angle measurements and the recognized bar code patterns, the X-Y coordinates of the point 12 can be calculated by triangulation, and the Z coordinate is determined in accord with the flow chart of FIGS. 6A and 6B. The computer 22 includes a microprocessor, such as a Motorola 68030, having memory means for providing storage of software and data. A listing of exemplary software for performing the triangulation calculations.,of the present invention is included following the detailed description. 
     Referring now to FIG. 2, a side view of a housing 24 for the light transmitting and detecting means 14 is shown. The light transmitting and detecting means 14 includes an electric motor 26 mounted to rotate shaft 28. A member 30, such as a code wheel, and a light diverting mirror 32 are mounted on the shaft 28. A mirror positioning means 33 provides movement or positioning of the mirror 32. The tilt of the mirror 32 is known for a current position of the member 30 such that the vertical height of the retroreflective elements 18 are always known with respect to any horizontal point. 
     In the present invention, the beam 16 has a variable zenith angle, which can be varied by changing the position of one or more mirrors 32, 35, and 37, shown in FIG. 2. For instance, the main mirror 32 can be tilted using spring 39 which cooperates with the mirror positioning means 33. Alternatively, mirror 35 can be tilted in two dimensions in order to properly project beam 16 onto mirror 32. Yet another means for varying the zenith angle of the beam 16 is to tilt mirror 37 independently or in conjunction with mirror 35. Mirror 37 is optional, however, as the laser 20 may direct beam 16 straight at mirror 35. 
     An index wheel 34 can also be included for providing a single reference pulse indicating each complete rotation of the shaft 28. A light source, such as solid state laser 20, directs the beam of light 16 onto the rotating mirror 32 so that a plane of rotation is created. In a preferred embodiment of the invention, a generally horizontal plane of rotation is created. However, any plane of rotation, including vertical, can be created. In addition, the beam 16 has a zenith angle which may be varied to produce a non-planar scan pattern. The retroreflective elements 18 are positioned in this plane or scan pattern. An advantage of the present invention is that a precisely horizontal or vertical plane or scan pattern is not essential for the three dimensional position calculation. As a result, the system may be used either by an operator as a handheld device as the operator moves about the environment of interest, or mounted on vehicles and other equipment as the equipment moves about a given area. 
     When the rotating laser beam 16 strikes the retroreflective elements 18 during each revolution of the shaft 28, the beam of light 16 is reflected back to the light transmitting and detecting means 14 and can be transformed into an analog signal by a suitable detector, such as photodetector 36, and transmitted to a signal processing means 38 of FIG. 5, which outputs two digital signals. 
     Theoretically, the moment in time that a retroreflective element 18 has been illuminated with respect to the complete time of rotation is related to its angle, depending on which retroreflective element 18 is being illuminated by the light beam 16, within a total angle of 360 degrees. However, this is only the case if the rotational speed of the beam 16 is extremely constant. Typically, the rotational speed of motor shaft 28 which causes the beam 16 to rotate is not perfectly constant and it is not possible to obtain a constant speed with the accuracy which is desired by the position sensing system of the present invention, especially in a mobile operation. Consequently, the position sensing system utilizes the motor 26 in conjunction with the member 30, supported by the dedicated hardware interface of FIG. 5 and controlled by software to achieve the desired accuracy. The computer 22, having a microprocessor such as a Motorola 68030, contains software for a main routine which controls the hardware interface of the position sensing system, an exemplary listing of which is included following the detailed description. 
     As shown in FIG. 3, the member or code wheel 30 has a plurality of angularly positioned elements, preferably apertures 42, spaced around its periphery which divide a revolution of the member 30 into a plurality of generally equal partial revolutions. The size and spacing of these apertures are greatly exaggerated in the drawing for clarity of illustration. For example, the code wheel 30 may divide a revolution into one thousand generally equal parts positioned approximately 0.36 degrees apart by spacing one thousand elements or apertures 42 around the periphery of the member 30. Although the distance between each adjacent pair of apertures 42 theoretically represents a movement of 0.36 degrees, misalignment of the member 30, misalignment of the center of the member 30 through which the shaft 28 extends, and manufacturing tolerances, cause deviations in the spacing of the elements 42. However, since these deviations remain constant once the light transmitting and detecting means 14 is assembled, the actual angular spacing between each element 42 in the member 30 can be determined extremely precisely by a software calibration table. 
     Calibration of the code wheel or member 30, preferably using software, improves accuracy by eliminating errors due to misalignments, deviations, and irregularities of the rotational speed of the motor 26. Any speed fluctuation of the motor 26 between two apertures 42, particularly when there are one thousand such apertures spaced around the periphery of the member 30, will be negligible. Consequently, it is possible to interpolate between an adjacent pair of apertures, such as 42a and 42b in FIG. 3, to determine an exact angle between the pair of apertures 42a and 42b, according to the equation: 
     
         Angle=∠42a+(Tm/Tcw) * (∠42b-∠42a) 
    
     where ∠42a is the measured angle of aperture 42a; ∠42b is the measured angle of aperture 42b; Tm is the time elapsed between passage of the previous aperture, here aperture 42a, and the moment M in time that the reflecting light strikes the sensor or photodetector 36; and Tcw is the time it takes the code wheel 30 to move between element 42a and element 42b. 
     One method of calibrating the code wheel or member 30 is illustrated in FIG. 4 as a calibration system 44. To calibrate the member 30, the light transmitting and detecting means 14 containing the code wheel 30, is placed on a device 46 having an angularly positioned rotating surface 48 such that the spin axis of shaft 28 containing code wheel 30 is concentric to surface 48 of device 46, with the member 30 arbitrarily positioned. The computer 22 of FIG. 5 controls a stepper motor 50 associated with the surface 48 and determines the number of steps between each pair of adjacent elements 42 as the member 30 rotates. For instance, if one revolution of the member is defined as 360,000 steps, and the member 30 contains 1000 generally equally spaced elements 42, then each step would theoretically be expected to be equal to 0.001 degree, and each element 42 would be 0.36 degrees or 360 steps from each adjacent element 42. However, in reality, there will be deviations in the spacing of the elements 42. Therefore, the actual spacing between each adjacent pair of elements 42 is measured and can be stored in a calibration table, which table will remain accurate as long as the position sensing system of the present invention remains assembled. 
     Initially, in calibrating the member 30, a first element 42 receives a signal from a reference retroreflective element, and this first element 42 becomes an index element for purposes of calibration of the member 30. The calibration system 44 determines when the index and following elements 42 are in position to commence or end the counting of the steps between elements 42 by employing the interpolation equation from above. For the index element 42, Tcw equals zero and Tm equals zero. As the member 30 rotates toward the next adjacent element 42, Tm approaches zero and Tcw approaches 1. The moment in time when Tm is equal to zero and Tcw is equal to one, then the element 42 is in position to end the counting of steps between the index element and the first adjacent element. This pattern continues until the number of steps and, thus, the distance in degrees between, each pair of adjacent elements 42 has been determined. The calibrating system 44 is associated with the computer 22 which includes a microprocessor, such as a Motorola 68030, having a memory means for providing storage of software and data. A listing of exemplary software for performing the calibration of the light transmitting and detecting means 14 which includes the member 30 of the present invention is included following the detailed description. 
     The position sensing system which combines the use of the code wheel 30 and the motor 26 is supported by a hardware interface 52, illustrated in FIG. 5. An event occurs every time an aperture 42 on the code wheel 30 passes, or a retroreflective element 18 commences or ends a reflection of the beam of light 16. Due to the high precision time measurements required between each adjacent pair of apertures 42, a reference clock 54 is used in keeping a record of an event. If an event occurred during this time, it is stored in a circuit 56, such as a 32 bit first-in-first-out circuit. The circuit 56 records the movement of the code wheel 30 at register 0. The actual element or aperture 42 which is currently passing is sensed at a member or code wheel pick up element 58 and counted by a member rotation counter 60. Each time the member 30 has completed a full rotation, an index pick up element 62 sends a signal to reset the member rotation counter 60. The member pick up element 58 and the index pick up element 62 comprise means for detecting movement of each of the elements 42 past a predetermined point as the member 30 rotates. In a preferred embodiment of the present invention, the pick up elements 58 and 62 comprise a light source paired with a photodetector element. 
     The light transmitting and detecting means 14 may include means for diverting and focusing the returning beam to the photodetector 36. The rotating mirror 32 diverts the light beam 16 toward a collimating lens 40, which lens 40 focuses the light beam 16 toward the photodetector 36. Signal processing means 38 detect when receiving optics 64, consisting of collimating lens 40 and photodetector 36, is either commencing receipt of the reflection of the light beam 16 or ending receipt of the reflection of the light beam 16 from the retroreflective elements 18 to the light transmitting and detecting means 14 of FIG. 2. Signal processing means 38 can transform the analog signal 41 from photodetector 36 into two digital signals which are received at register 1 of circuit 56. The first digital signal represents a START signal which indicates if the reflection from retroreflective element 18 is commencing the reflection of beam 16 from the retroreflective elements 18 to the light transmitting and detecting means 14, and the second digital signal is an END signal which indicates if the reflection is ending. Register 2 receives signals for measuring the time elapsing between the passage of the last aperture 42 and an event, which event may be the time Tm or the time Tcw shown in FIG. 3. A clock pulse counter 66 is reset at a clock pulse for counter 60 for each aperture 42, which counter 66 counts the time elapsing between the passage of each pair of adjacent elements 42. Information regarding the capacity of the circuit 56 is stored in register 3. 
     The circuit 56 stores the information received and provides an output signal 68 to the computer 22 which includes a microprocessor having memory means. The computer 22 is responsive to the output signal 68, to compute the coordinates of the position of the point 12 in the frame of reference 10. When the light transmitting and detecting means 14 is positioned at point 12, the computer 22 also computes the orientation of the light transmitting and detecting means 14 within the frame of reference 10. 
     FIG. 5 also illustrates the variable zenith angle of the beam which results from the tilt of any of the mirrors 32, 35, and 37 of FIG. 2. Varying the zenith angle of the beam 16 allows the position sensing system to scan an environment 10 and find all of the retroreflective elements 18 even when the elements 18 are not positioned at equal elevations. Referring back to FIG. 1, the dynamic scan pattern 17 can be tilted up or down as the beam 16 approaches a retroreflective element 18 to permit the beam 16 to strike the retroreflective element 18. 
     Referring now to FIGS. 6A and 6B, a flow chart illustrating the steps for positioning or tilting a mirror and providing feedback regarding the Z position of the point 12 of FIG. 1 is shown. Mirror 32 is used here by way of example and is not intended to be limiting, as any or all of the mirrors 32, 35, and 37 may be tilted to vary the zenith angle of the beam 16. This information is then used for computing the X-Y-Z coordinates of the point 12. The flow chart is triggered in FIG. 6A by the main routine software at step 70. Next, steps 72 and 74 require tilting the mirror 32 of FIG. 2 to its upper limit and acquiring data relating to the position of the mirror 32 as the shaft 28 rotates the mirror 32 through one rotation. At step 76, the program determines which, if any, reflectors were found during the rotation of the mirror 32 as the mirror 32 was tilted to its upper limit. The exemplary software for performing angle measurements and bar code recognition may be applied to the program at this point. 
     Continuing with FIG. 6A, decision block 78 determines whether the mirror has been tilted sufficiently to reach its lower limit of range. If not, the mirror 32 is tilted slightly at block 80. If the mirror 32 has been tilted through its full range, the current X-Y position of the point 12 is computed at block 82. The exemplary software for performing the triangulation calculations may be applied here before continuing to step 84 where the elevation of the beam 16 striking the retroreflective elements 18 is calculated. The elevation can be determined using the known retroreflective element locations and the dark/light ratio reflection from the distinctive slant targets extending substantially diagonally from one top corner to the opposing bottom corner of the retroreflective elements 18 in combination with a retroreflective bar code. 
     The program continues to step 86 where an equation for the plane which intersects the beam 16 is generated. At step 88, then, the program calculates the elevation of the plane at the current X-Y position computed at step 82. Using the elevation of the plane at the current X-Y position and the known tilt angle of the mirror 32 when the beam 16 strikes the retroreflective elements 18, a Z position is calculated at step 90. Then using the coordinates from previous rotations from steps 82 and 90, the mirror is tilted into the correct position for striking the next retroreflective element 18 at step 92. 
     At step 94, using the exemplary angle measurement software and bar code recognition software, the bar code and angle of the next retroreflective element to be struck by the beam 16 are read. Decision block 96 of FIG. 6B then determines if a full rotation has occurred since the last position calculation. If not, the program returns to step 92. If so, the program continues to decision block 98 to determine if at least three retroreflective elements 18 were found. If so, the program returns to step 82. If not, the program continues to block 100 to calculate the probable new coordinates of the point 12 and establishes directions to the missing retroreflective elements 18, using coordinates of the point 12 from previous rotations. 
     Once the directions to the missing retroreflective elements 18 have been calculated, the program continues to step 102 where the mirror 32 is tilted to scan slightly above the probable position of the missing retroreflective elements 18. Data is then acquired for one rotation of the mirror 32 at step 104, after which the program determines at step 106 which, if any, of the missing retroreflective elements 18 were found. If the missing retroreflective elements 18 were found, decision block 108 directs the program to step 82. If the missing retroreflective elements 18 were not found, the program continues to decision block 110 to determine if the mirror 32 was tilted to a position slightly below the missing retroreflective elements 18. If so, the program returns to step 72 and repeats. If not, the program continues to step 112 where the mirror 32 is tilted slightly before returning to step 104 and again acquiring data for one rotation of the mirror. Using the steps detailed in the flow chart of FIGS. 6A and 6B, the movement and position of the mirror 32 can be determined and applied to the X-Y-Z calculation of the point 12. 
     Having described the invention in detail and by way of reference to preferred embodiments thereof, it will be apparent that modifications and variations are possible without departing from the scope of the invention defined in the appended claims. ##SPC1##